From 84d689bf61b26a9874f2837c35ff9359e88ae0bf Mon Sep 17 00:00:00 2001 From: Matthias Kleine Date: Thu, 28 Mar 2024 10:30:59 +0100 Subject: [PATCH] chore: release v7.11.1 * (klein0r) Added exec result blockly block * (klein0r) Protect iobroker-data/files to avoid direct writes with node:fs * (klein0r) Escape single quotes in blockly obj attributes --- CHANGELOG_OLD.md | 5 ++ README.md | 7 +- admin/asset-manifest.json | 10 +-- admin/google-blockly/own/blocks_action.js | 83 +++++++++++++++++-- admin/google-blockly/own/blocks_object.js | 6 +- admin/google-blockly/own/blocks_words.js | 16 ++-- ...e977ad1.chunk.js => 864.2966b63e.chunk.js} | 4 +- ...chunk.js.map => 864.2966b63e.chunk.js.map} | 2 +- .../js/{main.01873cd9.js => main.12deb862.js} | 4 +- ...n.01873cd9.js.map => main.12deb862.js.map} | 2 +- admin/tab.html | 2 +- io-package.json | 28 +++---- package.json | 2 +- src/package.json | 2 +- 14 files changed, 119 insertions(+), 54 deletions(-) rename admin/static/js/{864.2e977ad1.chunk.js => 864.2966b63e.chunk.js} (99%) rename admin/static/js/{864.2e977ad1.chunk.js.map => 864.2966b63e.chunk.js.map} (99%) rename admin/static/js/{main.01873cd9.js => main.12deb862.js} (90%) rename admin/static/js/{main.01873cd9.js.map => main.12deb862.js.map} (99%) diff --git a/CHANGELOG_OLD.md b/CHANGELOG_OLD.md index 500af43e..6f0bfafa 100644 --- a/CHANGELOG_OLD.md +++ b/CHANGELOG_OLD.md @@ -1,4 +1,9 @@ The newest change log is in README.md +## 7.9.4 (2024-03-20) + +* (klein0r) Fixed urlencoding for basic auth in url (user:pass) +* (klein0r) Added warning icon if trigger is positioned inside of another trigger or loop + ## 7.9.3 (2024-03-19) * (klein0r) Added timeout option for http blocks diff --git a/README.md b/README.md index 5ea7c01c..17e9ba34 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ Since v5.5.0 of the JavaScript adapter the following locations (relative to the -### **WORK IN PROGRESS** +### 7.11.1 (2024-03-28) * (klein0r) Added exec result blockly block * (klein0r) Protect iobroker-data/files to avoid direct writes with node:fs @@ -73,11 +73,6 @@ Since v5.5.0 of the JavaScript adapter the following locations (relative to the * (klein0r) Copy date object in getAstroDate * (klein0r) Added object id as tooltip -### 7.9.4 (2024-03-20) - -* (klein0r) Fixed urlencoding for basic auth in url (user:pass) -* (klein0r) Added warning icon if trigger is positioned inside of another trigger or loop - ## License The MIT License (MIT) diff --git a/admin/asset-manifest.json b/admin/asset-manifest.json index bdccbe68..616138ef 100644 --- a/admin/asset-manifest.json +++ b/admin/asset-manifest.json @@ -1,8 +1,8 @@ { "files": { - "main.js": "/static/js/main.01873cd9.js", + "main.js": "/static/js/main.12deb862.js", "static/css/864.42bfc5f3.chunk.css": "/static/css/864.42bfc5f3.chunk.css", - "static/js/864.2e977ad1.chunk.js": "/static/js/864.2e977ad1.chunk.js", + "static/js/864.2966b63e.chunk.js": "/static/js/864.2966b63e.chunk.js", "static/js/805.7c367e53.chunk.js": "/static/js/805.7c367e53.chunk.js", "static/js/431.a62490cf.chunk.js": "/static/js/431.a62490cf.chunk.js", "static/js/702.1692c400.chunk.js": "/static/js/702.1692c400.chunk.js", @@ -160,9 +160,9 @@ "static/media/Garage Doors.svg": "/static/media/Garage Doors.0c2a1cfca7ad1ea59625.svg", "static/media/Outdoor Blinds.svg": "/static/media/Outdoor Blinds.37b85a9c060a4af48da9.svg", "static/media/Upstairs.svg": "/static/media/Upstairs.441813e54e0daca0882d.svg", - "main.01873cd9.js.map": "/static/js/main.01873cd9.js.map", + "main.12deb862.js.map": "/static/js/main.12deb862.js.map", "864.42bfc5f3.chunk.css.map": "/static/css/864.42bfc5f3.chunk.css.map", - "864.2e977ad1.chunk.js.map": "/static/js/864.2e977ad1.chunk.js.map", + "864.2966b63e.chunk.js.map": "/static/js/864.2966b63e.chunk.js.map", "805.7c367e53.chunk.js.map": "/static/js/805.7c367e53.chunk.js.map", "431.a62490cf.chunk.js.map": "/static/js/431.a62490cf.chunk.js.map", "702.1692c400.chunk.js.map": "/static/js/702.1692c400.chunk.js.map", @@ -195,6 +195,6 @@ "96.fe9915d5.chunk.js.map": "/static/js/96.fe9915d5.chunk.js.map" }, "entrypoints": [ - "static/js/main.01873cd9.js" + "static/js/main.12deb862.js" ] } \ No newline at end of file diff --git a/admin/google-blockly/own/blocks_action.js b/admin/google-blockly/own/blocks_action.js index 2c0fa37a..0e3faa21 100644 --- a/admin/google-blockly/own/blocks_action.js +++ b/admin/google-blockly/own/blocks_action.js @@ -20,7 +20,7 @@ Blockly.Action.blocks['exec'] = '' + ' ' + ' ' - + ' text' + + ' pwd' + ' ' + ' ' + ' ' @@ -33,7 +33,7 @@ Blockly.Action.blocks['exec'] = Blockly.Blocks['exec'] = { init: function() { this.appendDummyInput('TEXT') - .appendField(Blockly.Translate('exec')); + .appendField('» ' + Blockly.Translate('exec')); this.appendValueInput('COMMAND') .appendField(Blockly.Translate('exec_command')); @@ -96,7 +96,7 @@ Blockly.JavaScript['exec'] = function(block) { let logText; if (logLevel) { - logText = 'console.' + logLevel + '("exec: " + ' + value_command + ');\n' + logText = `console.${logLevel}('exec: ' + ${value_command});\n`; } else { logText = ''; } @@ -104,18 +104,83 @@ Blockly.JavaScript['exec'] = function(block) { if (withStatement === 'TRUE' || withStatement === 'true' || withStatement === true) { const statement = Blockly.JavaScript.statementToCode(block, 'STATEMENT'); if (statement) { - return 'exec(' + value_command + ', async (error, result, stderr) => {\n' + statement + '});\n' + - logText; + return `exec(${value_command}, async (error, result, stderr) => {\n` + + statement + + `});\n${logText}`; } else { - return 'exec(' + value_command + ');\n' + - logText; + return `exec(${value_command});\n${logText}`; } } else { - return 'exec(' + value_command + ');\n' + - logText; + return `exec(${value_command});\n${logText}`; } }; +// --- exec_result ----------------------------------------------------------- +Blockly.Action.blocks['exec_result'] = + '' + + ' ' + + ' ' + + ''; + +Blockly.Blocks['exec_result'] = { + /** + * Block for conditionally returning a value from a procedure. + * @this Blockly.Block + */ + init: function() { + this.appendDummyInput() + .appendField('»'); + + this.appendDummyInput('ATTR') + .appendField(new Blockly.FieldDropdown([ + [Blockly.Translate('exec_result_result'), 'result'], + [Blockly.Translate('exec_result_stderr'), 'stderr'], + [Blockly.Translate('exec_result_error'), 'error'], + ]), 'ATTR'); + + this.setInputsInline(true); + this.setOutput(true); + this.setColour(Blockly.Action.HUE); + this.setTooltip(Blockly.Translate('exec_result_tooltip')); + //this.setHelpUrl(getHelp('exec')); + }, + /** + * Called whenever anything on the workspace changes. + * Add warning if this flow block is not nested inside a loop. + * @param {!Blockly.Events.Abstract} e Change event. + * @this Blockly.Block + */ + onchange: function(e) { + let legal = false; + // Is the block nested in an exec? + let block = this; + do { + if (this.FUNCTION_TYPES.includes(block.type)) { + legal = true; + break; + } + block = block.getSurroundParent(); + } while (block); + + if (legal) { + this.setWarningText(null, this.id); + } else { + this.setWarningText(Blockly.Translate('exec_result_warning'), this.id); + } + }, + /** + * List of block types that are functions and thus do not need warnings. + * To add a new function type add this to your code: + * Blockly.Blocks['procedures_ifreturn'].FUNCTION_TYPES.push('custom_func'); + */ + FUNCTION_TYPES: ['exec'], +}; +Blockly.JavaScript['exec_result'] = function(block) { + const attr = block.getFieldValue('ATTR'); + + return [attr, Blockly.JavaScript.ORDER_ATOMIC]; +}; + // --- action http_get -------------------------------------------------- Blockly.Action.blocks['http_get'] = '' diff --git a/admin/google-blockly/own/blocks_object.js b/admin/google-blockly/own/blocks_object.js index 334a6cf4..6009c18e 100644 --- a/admin/google-blockly/own/blocks_object.js +++ b/admin/google-blockly/own/blocks_object.js @@ -229,7 +229,7 @@ Blockly.JavaScript['object_new'] = function(block) { for (let n = 0; n < block.itemCount_; n++) { const val = Blockly.JavaScript.valueToCode(block, 'ATTR_' + n, Blockly.JavaScript.ORDER_COMMA); if (val) { - attributes.push(`'${block.attributes_[n]}': ${val}`); + attributes.push(`'${String(block.attributes_[n]).replaceAll(`'`, `\\'`)}': ${val}`); } } @@ -282,7 +282,7 @@ Blockly.JavaScript['object_set_attr'] = function(block) { obj = '{}'; } - return `(() => { const obj = ${obj}; if (typeof obj === 'object') { obj['${attr}'] = ${value}; } })();\n`; + return `((obj) => { if (typeof obj === 'object') { obj['${attr}'] = ${value}; } })(${obj});\n`; }; // --- delete attribute -------------------------------------------------- @@ -321,7 +321,7 @@ Blockly.JavaScript['object_del_attr'] = function(block) { obj = '{}'; } - return `(() => { const obj = ${obj}; if (typeof obj === 'object') { delete obj['${attr}']; } })();\n`; + return `((obj) => { if (typeof obj === 'object') { delete obj['${attr}']; } })(${obj});\n`; }; // --- has attribute -------------------------------------------------- diff --git a/admin/google-blockly/own/blocks_words.js b/admin/google-blockly/own/blocks_words.js index 0fd2553f..d0f0687b 100644 --- a/admin/google-blockly/own/blocks_words.js +++ b/admin/google-blockly/own/blocks_words.js @@ -37,7 +37,6 @@ Blockly.Words['selector'] = {'en': 'IDs from Selecto Blockly.Words['exec'] = {'en': 'exec', 'de': 'exec', 'ru': 'exec', 'pt': 'exec', 'nl': 'exec', 'fr': 'exec', 'it': 'exec', 'es': 'ejecutivo', 'pl': 'exec', 'zh-cn': '执行指令', 'uk': 'викон'}; Blockly.Words['exec_statement'] = {'en': 'with results', 'de': 'mit Ergebnissen', 'ru': 'анализировать результаты', 'pt': 'com resultados', 'nl': 'met resultaten', 'fr': 'avec des résultats', 'it': 'con risultati', 'es': 'con resultados', 'pl': 'with results', 'zh-cn': '处理返回值', 'uk': 'з результатами'}; Blockly.Words['exec_command'] = {'en': 'command', 'de': 'Befehl', 'ru': 'команда', 'pt': 'comando', 'nl': 'opdracht', 'fr': 'commander', 'it': 'comando', 'es': 'mando', 'pl': 'command', 'zh-cn': '命令行指令', 'uk': 'команда'}; -Blockly.Words['exec_tooltip'] = {'en': 'Execute some command', 'de': 'Einen System-Befehl ausführen', 'ru': 'Выполнить системную команду', 'pt': 'Executar um comando do sistema', 'nl': 'Voer een commando uit', 'fr': 'Exécuter une commande', 'it': 'Esegui un comando', 'es': 'Ejecuta algún comando', 'pl': 'Execute some command', 'zh-cn': '执行一些指令', 'uk': 'Виконати якусь команду'}; Blockly.Words['exec_help'] = {'en': 'exec---execute-some-os-command-like-cp-file1-file2', 'de': 'exec---execute-some-os-command-like-cp-file1-file2', 'ru': 'exec---execute-some-os-command-like-cp-file1-file2', 'pt': 'exec---execute-some-os-command-like-cp-file1-file2', 'nl': 'exec---execute-some-os-command-like-cp-file1-file2', 'fr': 'exec---execute-some-os-command-like-cp-file1-file2', 'it': 'exec---execute-some-os-command-like-cp-file1-file2', 'es': 'exec---execute-some-os-command-like-cp-file1-file2', 'pl': 'exec---execute-some-os-command-like-cp-file1-file2', 'zh-cn': 'exec---execute-some-os-command-like-cp-file1-file2', 'uk': 'exec---execute-some-os-command-like-cp-file1-file2'}; Blockly.Words['exec_log'] = {'en': 'log level', 'de': 'Loglevel', 'ru': 'Протокол', 'pt': 'nível de log', 'nl': 'Log niveau', 'fr': 'niveau de journalisation', 'it': 'livello di registro', 'es': 'nivel de registro', 'pl': 'log level', 'zh-cn': '日志级别', 'uk': 'рівень журналу'}; Blockly.Words['exec_log_none'] = {'en': 'none', 'de': 'keins', 'ru': 'нет', 'pt': 'nenhum', 'nl': 'geen', 'fr': 'aucun', 'it': 'nessuna', 'es': 'ninguna', 'pl': 'none', 'zh-cn': '不输出', 'uk': 'немає'}; @@ -45,9 +44,16 @@ Blockly.Words['exec_log_info'] = {'en': 'info', Blockly.Words['exec_log_debug'] = {'en': 'debug', 'de': 'debug', 'ru': 'debug', 'pt': 'depurar', 'nl': 'debug', 'fr': 'déboguer', 'it': 'mettere a punto', 'es': 'depurar', 'pl': 'debug', 'zh-cn': '调试信息', 'uk': 'відлагоджувати'}; Blockly.Words['exec_log_warn'] = {'en': 'warning', 'de': 'warning', 'ru': 'warning', 'pt': 'atenção', 'nl': 'waarschuwing', 'fr': 'Attention', 'it': 'avvertimento', 'es': 'advertencia', 'pl': 'warning', 'zh-cn': '警告信息', 'uk': 'УВАГА'}; Blockly.Words['exec_log_error'] = {'en': 'error', 'de': 'error', 'ru': 'ошибка', 'pt': 'erro', 'nl': 'fout', 'fr': 'Erreur', 'it': 'errore', 'es': 'error', 'pl': 'error', 'zh-cn': '错误信息', 'uk': 'помилка'}; +Blockly.Words['exec_tooltip'] = {'en': 'Execute some command', 'de': 'Einen System-Befehl ausführen', 'ru': 'Выполнить системную команду', 'pt': 'Executar um comando do sistema', 'nl': 'Voer een commando uit', 'fr': 'Exécuter une commande', 'it': 'Esegui un comando', 'es': 'Ejecuta algún comando', 'pl': 'Execute some command', 'zh-cn': '执行一些指令', 'uk': 'Виконати якусь команду'}; -// --- action http -------------------------------------------------- +// --- action exec_result -------------------------------------------------- +Blockly.Words['exec_result_result'] = {'en': 'result (stdout)', 'de': 'result (stdout)', 'ru': 'result (stdout)', 'pt': 'result (stdout)', 'nl': 'result (stdout)', 'fr': 'result (stdout)', 'it': 'result (stdout)', 'es': 'result (stdout)', 'pl': 'result (stdout)', 'zh-cn': 'result (stdout)', 'uk': 'result (stdout)'}; +Blockly.Words['exec_result_stderr'] = {'en': 'error (stderr)', 'de': 'error (stderr)', 'ru': 'error (stderr)', 'pt': 'error (stderr)', 'nl': 'error (stderr)', 'fr': 'error (stderr)', 'it': 'error (stderr)', 'es': 'error (stderr)', 'pl': 'error (stderr)', 'zh-cn': 'error (stderr)', 'uk': 'error (stderr)'}; +Blockly.Words['exec_result_error'] = {'en': 'error', 'de': 'error', 'ru': 'ошибка', 'pt': 'erro', 'nl': 'fout', 'fr': 'Erreur', 'it': 'errore', 'es': 'error', 'pl': 'error', 'zh-cn': '错误信息', 'uk': 'помилка'}; +Blockly.Words['exec_result_warning'] = {'en': 'This block must be used inside of exec blocks', 'de': 'Dieser Block muss innerhalb von Exec-Blöcken verwendet werden', 'ru': 'Этот блок должен быть использован внутри блоков exec', 'pt': 'Este bloco deve ser usado dentro de blocos exec', 'nl': 'Dit blok moet worden gebruikt binnen exec blokken', 'fr': 'Ce bloc doit être utilisé à l\'intérieur des blocs exec', 'it': 'Questo blocco deve essere utilizzato all\'interno di blocchi exec', 'es': 'Este bloque debe ser utilizado dentro de bloques de exec', 'pl': 'Ten blok musi być używany wewnątrz bloków exec', 'zh-cn': '此块必须在执行块内使用', 'uk': 'Цей блок повинен бути використаний всередині блоків екз'}; +Blockly.Words['exec_result_tooltip'] = {'en': 'Results of command', 'de': 'Ergebnisse des Befehls', 'ru': 'Результаты команд', 'pt': 'Resultados do comando', 'nl': 'Resultaten van het commando', 'fr': 'Résultats de la commande', 'it': 'Risultati del comando', 'es': 'Resultados del comando', 'pl': 'Wyniki dowodzenia', 'zh-cn': '指挥结果', 'uk': 'Результати команди'}; +// --- action http -------------------------------------------------- Blockly.Words['http_timeout'] = {'en': 'timeout', 'de': 'Timeout', 'ru': 'timeout', 'pt': 'timeout', 'nl': 'timeout', 'fr': 'timeout', 'it': 'timeout', 'es': 'timeout', 'pl': 'timeout', 'zh-cn': 'timeout', 'uk': 'timeout'}; Blockly.Words['http_timeout_ms'] = {'en': 'ms', 'de': 'ms', 'ru': 'мс', 'pt': 'ms', 'nl': 'Mevrouw', 'fr': 'Mme', 'it': 'Signorina', 'es': 'Sra', 'pl': 'ms', 'zh-cn': '毫秒', 'uk': 'РС'}; Blockly.Words['http_timeout_sec'] = {'en': 'sec', 'de': 'Sek', 'ru': 'сек.', 'pt': 'seg', 'nl': 'sec', 'fr': 'seconde', 'it': 'secondo', 'es': 'segundo', 'pl': 'sec', 'zh-cn': '秒', 'uk': 'сек'}; @@ -56,27 +62,23 @@ Blockly.Words['http_type_text'] = {'en': 'text', Blockly.Words['http_type_arraybuffer'] = {'en': 'arraybuffer', 'de': 'Arraybuffer', 'ru': 'arraybuffer', 'pt': 'arraybuffer', 'nl': 'arraybuffer', 'fr': 'arraybuffer', 'it': 'arraybuffer', 'es': 'arraybuffer', 'pl': 'arraybuffer', 'zh-cn': 'arraybuffer', 'uk': 'arraybuffer'}; // --- action http_get -------------------------------------------------- - Blockly.Words['http_get'] = {'en': 'http (GET)', 'de': 'http (GET)', 'ru': 'http (GET)', 'pt': 'http (GET)', 'nl': 'http (GET)', 'fr': 'http (GET)', 'it': 'http (GET)', 'es': 'http (GET)', 'pl': 'http (GET)', 'zh-cn': 'http (GET)', 'uk': 'http (GET)'}; Blockly.Words['http_get_tooltip'] = {'en': 'Request ressources via http', 'de': 'Ressourcen anfordern via http', 'ru': 'Запрос ресурсов через http', 'pt': 'Solicitar recursos via http', 'nl': 'Resources aanvragen via http', 'fr': 'Demander des ressources via http', 'it': 'Richiesta di risorse via http', 'es': 'Solicitar ressources via http', 'pl': 'Wniosek o ponowne źródła informacji za pośrednictwem http', 'zh-cn': '通过 http 请求资源源', 'uk': 'Запит ресурсів через HTTP'}; Blockly.Words['http_get_help'] = {'en': 'httpGet', 'de': 'httpGet', 'ru': 'httpGet', 'pt': 'httpGet', 'nl': 'httpGet', 'fr': 'httpGet', 'it': 'httpGet', 'es': 'httpGet', 'pl': 'httpGet', 'zh-cn': 'httpGet', 'uk': 'httpGet'}; // --- action http_post -------------------------------------------------- - Blockly.Words['http_post'] = {'en': 'http (POST)', 'de': 'http (POST)', 'ru': 'http (POST)', 'pt': 'http (POST)', 'nl': 'http (POST)', 'fr': 'http (POST)', 'it': 'http (POST)', 'es': 'http (POST)', 'pl': 'http (POST)', 'zh-cn': 'http (POST)', 'uk': 'http (POST)'}; Blockly.Words['http_post_data'] = {'en': 'data', 'de': 'Daten', 'ru': 'данные', 'pt': 'dados', 'nl': 'data', 'fr': 'données', 'it': 'dati', 'es': 'datos', 'pl': 'dane', 'zh-cn': '数据', 'uk': 'даних'}; Blockly.Words['http_post_tooltip'] = {'en': 'Request ressources via http', 'de': 'Ressourcen anfordern via http', 'ru': 'Запрос ресурсов через http', 'pt': 'Solicitar recursos via http', 'nl': 'Resources aanvragen via http', 'fr': 'Demander des ressources via http', 'it': 'Richiesta di risorse via http', 'es': 'Solicitar ressources via http', 'pl': 'Wniosek o ponowne źródła informacji za pośrednictwem http', 'zh-cn': '通过 http 请求资源源', 'uk': 'Запит ресурсів через HTTP'}; Blockly.Words['http_post_help'] = {'en': 'httpPost', 'de': 'httpPost', 'ru': 'httpPost', 'pt': 'httpPost', 'nl': 'httpPost', 'fr': 'httpPost', 'it': 'httpPost', 'es': 'httpPost', 'pl': 'httpPost', 'zh-cn': 'httpPost', 'uk': 'httpPost'}; // --- action http_response -------------------------------------------------- - Blockly.Words['http_response_data'] = {'en': 'data', 'de': 'Data', 'ru': 'data', 'pt': 'data', 'nl': 'data', 'fr': 'data', 'it': 'data', 'es': 'data', 'pl': 'data', 'zh-cn': 'data', 'uk': 'data'}; Blockly.Words['http_response_statuscode'] = {'en': 'status code', 'de': 'Status code', 'ru': 'status code', 'pt': 'status code', 'nl': 'status code', 'fr': 'status code', 'it': 'status code', 'es': 'status code', 'pl': 'status code', 'zh-cn': 'status code', 'uk': 'status code'}; Blockly.Words['http_response_warning'] = {'en': 'This block must be used inside of http blocks', 'de': 'Dieser Block muss innerhalb von http-Blöcken verwendet werden', 'ru': 'Этот блок должен быть использован внутри блоков http', 'pt': 'Este bloco deve ser usado dentro de blocos http', 'nl': 'Dit blok moet worden gebruikt binnen http-blokken', 'fr': 'Ce bloc doit être utilisé à l\'intérieur des blocs http', 'it': 'Questo blocco deve essere utilizzato all\'interno dei blocchi http', 'es': 'Este bloque debe ser utilizado dentro de bloques http', 'pl': 'Ten blok musi być używany wewnątrz bloków http', 'zh-cn': '此块必须在 http 块内使用', 'uk': 'Цей блок повинен використовуватися всередині блоків'}; Blockly.Words['http_response_tooltip'] = {'en': 'Response information', 'de': 'Information aus der Antwort', 'ru': 'Информация о мерах реагирования', 'pt': 'InformaçÃμes de resposta', 'nl': 'Responsinformatie', 'fr': 'Réponse', 'it': 'Informazioni sulla risposta', 'es': 'Información sobre la respuesta', 'pl': 'Informacje o odpowiedzi', 'zh-cn': '答复信息', 'uk': 'Інформація про відповідь'}; // --- action file_write -------------------------------------------------- - Blockly.Words['file_write'] = {'en': 'file write', 'de': 'Datei schreiben', 'ru': 'Запись файла', 'pt': 'Escrever arquivo', 'nl': 'Bestand schrijven', 'fr': 'Écrire un fichier', 'it': 'Scrivere file', 'es': 'Libro', 'pl': 'Plik zapisu', 'zh-cn': '文件写入', 'uk': 'Ім\'я файла'}; Blockly.Words['file_write_filename'] = {'en': 'file name', 'de': 'Dateiname', 'ru': 'Имя файла', 'pt': 'Nome do arquivo', 'nl': 'Bestandnaam', 'fr': 'Nom du fichier', 'it': 'Nome del file', 'es': 'Nombre del archivo', 'pl': 'Nazwa pliku', 'zh-cn': '文件名', 'uk': 'Ім\'я файла'}; Blockly.Words['file_write_data'] = {'en': 'data', 'de': 'Daten', 'ru': 'данные', 'pt': 'dados', 'nl': 'data', 'fr': 'données', 'it': 'dati', 'es': 'datos', 'pl': 'dane', 'zh-cn': '数据', 'uk': 'даних'}; @@ -84,14 +86,12 @@ Blockly.Words['file_write_tooltip'] = {'en': 'Write data into Blockly.Words['file_write_help'] = {'en': 'writefile', 'de': 'writefile', 'ru': 'writefile', 'pt': 'writefile', 'nl': 'writefile', 'fr': 'writefile', 'it': 'writefile', 'es': 'writefile', 'pl': 'writefile', 'zh-cn': 'writefile', 'uk': 'writefile'}; // --- action file_read -------------------------------------------------- - Blockly.Words['file_read'] = {'en': 'file read', 'de': 'Datei lesen', 'ru': 'Файл:', 'pt': 'Leitura do arquivo', 'nl': 'Bestand gelezen', 'fr': 'Fichier lu', 'it': 'Informazioni sul file', 'es': 'Archivo leído', 'pl': 'Odczyt pliku', 'zh-cn': '文件已读取', 'uk': 'Файл читати'}; Blockly.Words['file_read_filename'] = {'en': 'file name', 'de': 'Dateiname', 'ru': 'Имя файла', 'pt': 'Nome do arquivo', 'nl': 'Bestandnaam', 'fr': 'Nom du fichier', 'it': 'Nome del file', 'es': 'Nombre del archivo', 'pl': 'Nazwa pliku', 'zh-cn': '文件名', 'uk': 'Ім\'я файла'}; Blockly.Words['file_read_tooltip'] = {'en': 'Read file from file system', 'de': 'Datei aus Dateisystem lesen', 'ru': 'Читать файл из файловой системы', 'pt': 'Leia o arquivo do sistema de arquivos', 'nl': 'Bestand uit bestandssysteem lezen', 'fr': 'Lire le fichier depuis le système de fichiers', 'it': 'Leggi file dal file system', 'es': 'Lea el archivo del sistema de archivos', 'pl': 'Odczyt pliku z systemu plików', 'zh-cn': '从文件系统读取文件', 'uk': 'Читати файл з файлової системи'}; Blockly.Words['file_read_help'] = {'en': 'readfile', 'de': 'readfile', 'ru': 'readfile', 'pt': 'readfile', 'nl': 'readfile', 'fr': 'readfile', 'it': 'readfile', 'es': 'readfile', 'pl': 'readfile', 'zh-cn': 'readfile', 'uk': 'readfile'}; // --- action file_data -------------------------------------------------- - Blockly.Words['file_data_data'] = {'en': 'data', 'de': 'Data', 'ru': 'data', 'pt': 'data', 'nl': 'data', 'fr': 'data', 'it': 'data', 'es': 'data', 'pl': 'data', 'zh-cn': 'data', 'uk': 'data'}; Blockly.Words['file_data_mimeType'] = {'en': 'mimeType', 'de': 'mimeType', 'ru': 'mimeType', 'pt': 'mimeType', 'nl': 'mimeType', 'fr': 'mimeType', 'it': 'mimeType', 'es': 'mimeType', 'pl': 'mimeType', 'zh-cn': 'mimeType', 'uk': 'mimeType'}; Blockly.Words['file_data_warning'] = {'en': 'This block must be used inside of file blocks', 'de': 'Dieser Block muss innerhalb von Dateiblöcken verwendet werden', 'ru': 'Этот блок должен быть использован внутри файловых блоков', 'pt': 'Este bloco deve ser usado dentro de blocos de arquivos', 'nl': 'Dit blok moet gebruikt worden binnen bestandsblokken', 'fr': 'Ce bloc doit être utilisé dans les blocs de fichiers', 'it': 'Questo blocco deve essere utilizzato all\'interno dei blocchi di file', 'es': 'Este bloque debe ser utilizado dentro de bloques de archivos', 'pl': 'Ten blok musi być użyty wewnątrz bloków plików', 'zh-cn': '此块必须在文件块内使用', 'uk': 'Цей блок необхідно використовувати всередині файлових блоків'}; diff --git a/admin/static/js/864.2e977ad1.chunk.js b/admin/static/js/864.2966b63e.chunk.js similarity index 99% rename from admin/static/js/864.2e977ad1.chunk.js rename to admin/static/js/864.2966b63e.chunk.js index 66080f35..2d9aa039 100644 --- a/admin/static/js/864.2e977ad1.chunk.js +++ b/admin/static/js/864.2966b63e.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkjs=self.webpackChunkjs||[]).push([[864],{63541:(e,t,s)=>{s.r(t);var a=s(4819),i=s.n(a),o=s(1250),n=s(11640),r=s(10937),l=s(58503),c=s(15854),d=s.n(c),u=s(55377),p=s(52721),h=s.n(p),m=(s(64630),s(43488)),g=s(10154),b=s.n(g),y=s(20889),v=s.n(y),f=s(75606),S=s(16856),x=s(88654),k=s(94721),w=s(43236),C=s(52411),j=s(57064),I=s(47055),T=s(49900),D=s(90977),A=s(52744),N=s(82626),E=s(4110),O=s(98422),_=s(1067),R=s(60090),M=s(46401),z=s(56355),P=s(80007),B=s(51637),F=s(82460);const L="data:image/png;base64,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",U="data:image/png;base64,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",Z="data:image/png;base64,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",W="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAdLaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwMiA3OS4xNjQ0NjAsIDIwMjAvMDUvMTItMTY6MDQ6MTcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMS0wMS0xMFQxMTowNDoxNiswMzowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjEtMDItMjVUMDk6MzM6NTMrMDM6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDItMjVUMDk6MzM6NTMrMDM6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0iQWRvYmUgUkdCICgxOTk4KSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowODYwNDk3ZS1kM2NmLTQ4NjktOTJkMy1lZDdhMWJhZjRjNDMiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphZGNhYzk5MC01NDk0LTMxNGEtOGUzOS0yMjM3MGIzYTc1NjEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ZGJiZjliOC1lOThkLTQ1YmQtOWZlMS00Njk4NjZkODdiYmUiPiA8cGhvdG9zaG9wOlRleHRMYXllcnM+IDxyZGY6QmFnPiA8cmRmOmxpIHBob3Rvc2hvcDpMYXllck5hbWU9IlJVTEVTIiBwaG90b3Nob3A6TGF5ZXJUZXh0PSJSVUxFUyIvPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOlRleHRMYXllcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N2RiYmY5YjgtZTk4ZC00NWJkLTlmZTEtNDY5ODY2ZDg3YmJlIiBzdEV2dDp3aGVuPSIyMDIxLTAxLTEwVDExOjA0OjE2KzAzOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5p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";var V=s(5849),J=s(65661),q=s(4899),H=s(77386),G=s(5574),Y=s(93006),K=s(45363),Q=s(84701),X=s(62861),$=s(86711),ee=s(872),te=s(80184);class se extends i().Component{constructor(e){super(e),this.handleCancel=()=>{this.props.onClose()},this.handleOk=()=>{this.props.onRename(this.oldId,this.state.id,this.state.name,this.state.instance),this.props.onClose()},this.handleChange=e=>{this.setState({name:e,id:this.getId(e)})},this.state={name:e.name,id:e.id,instance:e.instance||0},this.isShowInstance=!e.folder&&e.instances&&(e.instance||e.instances[0]||e.instances.length>1),this.prefix=this.getPrefix(e.id),this.oldId=e.id}getPrefix(e){const t=(e||"").split(".");return t.pop(),t.join(".")}getId(e){return e=(e||"").replace(/[\\/\][*,;'"`<>?\s]/g,"_"),this.prefix+"."+e}componentWillReceiveProps(e){e.name!==this.props.name&&this.setState({name:e.name}),e.id!==this.props.id&&(this.prefix=this.getPrefix(e.id),this.setState({id:e.id}))}render(){return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[(0,te.jsx)(J.Z,{id:"confirmation-dialog-title",children:f.I18n.t("Rename")}),(0,te.jsx)(q.Z,{children:(0,te.jsxs)("form",{noValidate:!0,autoComplete:"off",children:[(0,te.jsx)(Y.Z,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,label:f.I18n.t("Name"),value:this.state.name,onKeyPress:e=>{"Enter"===e.key&&(e.preventDefault(),setTimeout((()=>this.handleOk()),200))},onChange:e=>this.handleChange(e.target.value),margin:"normal"}),(0,te.jsx)(Y.Z,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:f.I18n.t("ID"),value:this.state.id,disabled:!0,margin:"normal"}),this.isShowInstance&&(0,te.jsxs)(K.Z,{variant:"standard",children:[(0,te.jsx)(X.Z,{htmlFor:"instance",children:f.I18n.t("Instance")}),(0,te.jsx)(Q.Z,{variant:"standard",value:this.state.instance,onChange:e=>this.setState({instance:parseInt(e.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:this.props.instances.map((e=>(0,te.jsx)(N.Z,{value:e,children:e||"0"},e)))})]})]})}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Ok")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Cancel")})]})]})}}const ae=se;class ie extends i().Component{constructor(e){super(e),this.handleCancel=()=>{this.props.onClose(null)},this.handleOk=()=>{this.props.onDelete(this.state.id),this.props.onClose(this.props.value)},this.state={name:e.name,id:e.id}}componentWillReceiveProps(e){e.name!==this.props.name&&this.setState({name:e.name}),e.id!==this.props.id&&this.setState({id:e.id})}render(){return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"md",open:!0,"aria-labelledby":"confirmation-dialog-title",children:[(0,te.jsx)(J.Z,{id:"confirmation-dialog-title",children:f.I18n.t("Are you sure?")}),(0,te.jsxs)(q.Z,{children:[(0,te.jsx)(S.ZkW,{}),(0,te.jsx)("span",{style:{fontSize:14,fontWeight:"bold"},children:f.I18n.t("Delete %s",this.state.name)})]}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Ok")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Cancel")})]})]})}}const oe=(0,u.Z)((e=>({})))(ie);var ne=s(88588),re=s(81374),le=s(77234),ce=s(22492),de=s(1867);const ue=s.p+"static/media/tileJS.8810e7b4835e61465c3a.png",pe=s.p+"static/media/tileTS.446265dff5dc550d46a5.png",he=s.p+"static/media/tileBlockly.42b0a9f0e66bc4e68f4b.png",me=s.p+"static/media/tileRules.7ed5885a66686cc288b1.png";class ge extends i().Component{constructor(){super(...arguments),this.handleCancel=()=>{this.props.onClose()},this.handleOk=e=>{this.props.onClose(e)}}openHtml(e){const t=f.I18n.getLanguage();e.includes("javascript.md")||"de"!==t&&"ru"!==t||(e=e.replace(/\/en\//,"/"+t+"/"));window.open(e,"_blank").focus()}getJSCard(){return(0,te.jsxs)(ne.Z,{className:this.props.classes.card,children:[(0,te.jsxs)(re.Z,{onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:[(0,te.jsx)(de.Z,{className:this.props.classes.media,image:ue,title:"JavaScript"}),(0,te.jsxs)(ce.Z,{children:[(0,te.jsx)("h2",{children:"JavaScript"}),(0,te.jsx)("div",{className:this.props.classes.complexity,children:f.I18n.t("for programmers")}),(0,te.jsx)("div",{className:this.props.classes.text,children:f.I18n.t("JS description")})]})]}),(0,te.jsxs)(le.Z,{children:[(0,te.jsx)(V.Z,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:f.I18n.t("Add")}),(0,te.jsx)(V.Z,{size:"small",color:"secondary",onClick:()=>this.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:f.I18n.t("Learn More")})]})]})}getTSCard(){return(0,te.jsxs)(ne.Z,{className:this.props.classes.card,children:[(0,te.jsxs)(re.Z,{onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:[(0,te.jsx)(de.Z,{className:this.props.classes.media,image:pe,title:"TypeScript"}),(0,te.jsxs)(ce.Z,{children:[(0,te.jsx)("h2",{children:"TypeScript"}),(0,te.jsx)("div",{className:this.props.classes.complexity,children:f.I18n.t("for professionals")}),(0,te.jsx)("div",{className:this.props.classes.text,children:f.I18n.t("TS description")})]})]}),(0,te.jsxs)(le.Z,{children:[(0,te.jsx)(V.Z,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:f.I18n.t("Add")}),(0,te.jsx)(V.Z,{size:"small",color:"secondary",onClick:()=>this.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:f.I18n.t("Learn More")})]})]})}getBlocklyCard(){return(0,te.jsxs)(ne.Z,{className:this.props.classes.card,children:[(0,te.jsxs)(re.Z,{onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:[(0,te.jsx)(de.Z,{className:this.props.classes.media,image:he,title:"Blockly"}),(0,te.jsxs)(ce.Z,{children:[(0,te.jsx)("h2",{children:"Blockly"}),(0,te.jsx)("div",{className:this.props.classes.complexity,children:f.I18n.t("normal")}),(0,te.jsx)("div",{className:this.props.classes.text,children:f.I18n.t("Blockly description")})]})]}),(0,te.jsxs)(le.Z,{children:[(0,te.jsx)(V.Z,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:f.I18n.t("Add")}),(0,te.jsx)(V.Z,{size:"small",color:"secondary",onClick:()=>this.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md"),children:f.I18n.t("Learn More")})]})]})}getRulesCard(){return(0,te.jsxs)(ne.Z,{className:this.props.classes.card,children:[(0,te.jsxs)(re.Z,{onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:[(0,te.jsx)(de.Z,{className:this.props.classes.media,image:me,title:"Rules"}),(0,te.jsxs)(ce.Z,{children:[(0,te.jsx)("h2",{children:"Rules"}),(0,te.jsx)("div",{className:this.props.classes.complexity,children:f.I18n.t("easy")}),(0,te.jsx)("div",{className:this.props.classes.text,children:f.I18n.t("Rules description")})]})]}),(0,te.jsxs)(le.Z,{children:[(0,te.jsx)(V.Z,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:f.I18n.t("Add")}),(0,te.jsx)(V.Z,{size:"small",color:"secondary",onClick:()=>this.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:f.I18n.t("Learn More")})]})]})}render(){return(0,te.jsxs)(G.Z,{onClose:()=>!1,maxWidth:"lg",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[(0,te.jsx)(J.Z,{id:"confirmation-dialog-title",children:f.I18n.t("Add new script")}),(0,te.jsxs)(q.Z,{style:{textAlign:"center"},children:[this.getRulesCard(),this.getBlocklyCard(),this.getJSCard(),this.getTSCard()]}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{color:"grey",onClick:this.handleCancel,startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Cancel")})})]})}}const be=(0,u.Z)((e=>({card:{maxWidth:345,minWidth:250,display:"inline-block",margin:"0 10px 0 10px"},media:{height:122},text:{maxWidth:218,minHeight:30},complexity:{fontWeight:"bold",fontStyle:"italic",marginBottom:e.spacing(1)}})))(ge);class ye extends i().Component{constructor(e){super(e),this.handleCancel=()=>{this.props.onClose()},this.handleOk=()=>{this.props.onAdd(this.getId(this.state.name),this.state.name,this.state.instance,this.props.type),this.props.onClose()},this.handleChange=e=>{const t=this.getId(e);e?this.props.existingItems&&-1!==this.props.existingItems.indexOf(t)?this.setState({name:e,id:t,error:f.I18n.t("Duplicate name")}):this.setState({name:e,id:t,error:""}):this.setState({name:e,id:t,error:f.I18n.t("Empty name is not allowed")})},this.state={name:e.name||"Script",instance:e.instance||0,parent:e.parent,error:""},this.isShowInstance=!e.folder&&e.instances&&(e.instance||e.instances[0]||e.instances.length>1)}getId(e){return e=(e=e||this.state.name||"").replace(/[\\/\][.*,;'"`<>?\s]/g,"_").trim().replace(/\.$/,"_"),(this.state?this.state.parent:this.props.parent)+"."+e}componentWillReceiveProps(e){e.name!==this.props.name&&this.setState({name:e.name})}render(){return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[(0,te.jsx)(J.Z,{id:"confirmation-dialog-title",children:this.props.title||f.I18n.t("Create new")}),(0,te.jsx)(q.Z,{children:(0,te.jsxs)("form",{noValidate:!0,autoComplete:"off",children:[(0,te.jsx)(Y.Z,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,error:!!this.state.error,label:f.I18n.t("Name"),value:this.state.name,helperText:this.state.error,onKeyPress:e=>{"Enter"===e.key&&(e.preventDefault(),setTimeout((()=>this.handleOk()),200))},onChange:e=>this.handleChange(e.target.value),margin:"normal"}),(0,te.jsxs)(K.Z,{variant:"standard",style:{width:"100%"},children:[(0,te.jsx)(X.Z,{htmlFor:"parent",children:f.I18n.t("Folder")}),(0,te.jsx)(Q.Z,{variant:"standard",style:{width:"100%"},value:this.state.parent,onChange:e=>this.setState({parent:e.target.value}),inputProps:{name:"parent",id:"parent"},children:this.props.parents.map((e=>{const t=e.id.split(".");t.splice(0,2);const s=[];let a="script.js";return t.forEach(((e,t)=>{a+="."+e;const i=this.props.parents.find((e=>e.id===a));i?s.push(i.name):s.push(e)})),s.length||s.push(e.name),(0,te.jsx)(N.Z,{value:e.id,children:s.join(" / ")},e.id)}))})]}),(0,te.jsx)(Y.Z,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:f.I18n.t("ID"),value:this.getId(),disabled:!0,margin:"normal"}),this.isShowInstance&&(0,te.jsxs)(K.Z,{variant:"standard",children:[(0,te.jsx)(X.Z,{htmlFor:"instance",children:f.I18n.t("Instance")}),(0,te.jsx)(Q.Z,{variant:"standard",value:this.state.instance,onChange:e=>this.setState({instance:parseInt(e.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:this.props.instances.map((e=>(0,te.jsx)(N.Z,{value:e,children:e||"0"},"instance"+e)))})]})]})}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",onClick:this.handleOk,disabled:!!this.state.error,color:"primary",startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Ok")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Cancel")})]})]})}}const ve=(0,u.Z)((e=>({})))(ye);var fe=s(31701);class Se extends i().Component{constructor(e){super(e),this.handleOk=()=>{this.props.onClose&&this.props.onClose()},console.log("Error created")}render(){return(0,te.jsxs)(G.Z,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,te.jsx)(J.Z,{className:this.props.classes.titleBackground,classes:{root:this.props.classes.titleColor},id:"alert-dialog-title",children:this.props.title||f.I18n.t("Error")}),(0,te.jsx)(q.Z,{children:(0,te.jsx)(fe.Z,{id:"alert-dialog-description",children:this.props.text||f.I18n.t("Unknown error!")})}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Ok")})})]})}}const xe=(0,u.Z)((e=>({titleBackground:{background:e.palette.error.main},titleColor:{color:e.palette.error.contrastText,"&>h2":{color:e.palette.error.contrastText}}})))(Se);var ke=s(81153),we=s(97808),Ce=s(29823);class je extends i().Component{constructor(e){super(e),this.handleOk=()=>{if(this.state.instances.find((e=>e.id===this.state.adapterToDebug)).enabled)return this.props.socket.getObject("system.adapter."+this.state.adapterToDebug).then((e=>{e.common.enabled=!1,this.props.socket.setObject(e._id,e).then((()=>this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)))}));this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)},this.state={instances:[],filter:window.localStorage.getItem("javascript.debug.filter")||"",showAskForStop:!1,jsInstance:window.localStorage.getItem("javascript.debug.instance")||"",jsInstanceHost:"",adapterToDebug:window.localStorage.getItem("javascript.debug.adapter")||""}}componentDidMount(){this.props.socket.getAdapterInstances().then((e=>{(e=e.filter((e=>{var t;return e&&!(null!==(t=e.common)&&void 0!==t&&t.onlyWWW)})).map((e=>{var t,s,a;const i=e._id.replace(/^system\.adapter\./,""),[o]=i.split(".");return{id:i,enabled:null===(t=e.common)||void 0===t?void 0:t.enabled,host:null===(s=e.common)||void 0===s?void 0:s.host,icon:null!==(a=e.common)&&void 0!==a&&a.icon?"../../adapter/".concat(o,"/").concat(e.common.icon):""}}))).sort(((e,t)=>e.id>t.id?1:e.ide.id===this.state.jsInstance));this.state.jsInstance&&a?t=a?a.host:"":(s=e.find((e=>e.id.startsWith("javascript."))),t=s?s.host:"",s=s?s.id:"");let i=this.state.adapterToDebug||"";i&&!e.find((e=>e.id===i))&&(i=""),this.setState({instances:e,jsInstance:s,adapterToDebug:i,jsInstanceHost:t})}))}renderJavascriptList(){const e=this.state.instances.filter((e=>e.id.startsWith("javascript.")));return e.length<2?null:(0,te.jsxs)(ke.ZP,{item:!0,children:[(0,te.jsx)("div",{className:this.props.classes.title,children:f.I18n.t("Host")}),(0,te.jsx)(w.Z,{component:"nav",children:e.map((e=>(0,te.jsxs)(C.ZP,{button:!0,selected:this.state.jsInstance===e.id,onClick:this.setState({jsInstance:e.id,jsInstanceHost:e.host}),children:[(0,te.jsx)(j.Z,{children:(0,te.jsx)("img",{src:e.icon,alt:e.id,className:this.props.classes.icon})}),(0,te.jsx)(T.Z,{primary:e.id})]})))})]})}renderInstances(){if(this.state.jsInstance){const e=this.state.instances.filter((e=>e.id!==this.state.jsInstance&&e.host===this.state.jsInstanceHost&&(!this.state.filter||e.id.includes(this.state.filter.toLowerCase()))));return(0,te.jsxs)(ke.ZP,{item:!0,children:[(0,te.jsx)("div",{className:this.props.classes.title,children:f.I18n.t("Instances")}),(0,te.jsx)(w.Z,{component:"nav",children:e.map((e=>(0,te.jsxs)(C.ZP,{button:!0,selected:this.state.adapterToDebug===e.id,onDoubleClick:()=>this.setState({adapterToDebug:e.id},(()=>this.handleOk())),onClick:()=>this.setState({adapterToDebug:e.id}),children:[(0,te.jsx)(j.Z,{children:(0,te.jsx)("img",{src:e.icon,alt:e.id,className:this.props.classes.icon})}),(0,te.jsx)(T.Z,{primary:e.id})]})))})]})}return(0,te.jsx)(ke.ZP,{item:!0})}render(){return(0,te.jsxs)(G.Z,{maxWidth:"md",fullWidth:!1,open:!0,onClose:(e,t)=>!1,"aria-labelledby":"confirmation-dialog-title",children:[(0,te.jsx)(J.Z,{id:"confirmation-dialog-title",children:this.props.title||f.I18n.t("Debug instance")}),(0,te.jsx)(q.Z,{children:(0,te.jsxs)(ke.ZP,{container:!0,direction:"column",children:[(0,te.jsx)(ke.ZP,{item:!0,children:(0,te.jsx)(E.Z,{classes:{root:this.props.classes.filterWithButton},value:this.state.filter,placeholder:f.I18n.t("Filter"),onChange:e=>{this.setState({filter:e.target.value}),window.localStorage.setItem("javascript.debug.filter",e.target.value)},endAdornment:(0,te.jsx)(we.Z,{position:"end",children:this.state.filter?(0,te.jsx)(D.Z,{size:"small","aria-label":"toggle password visibility",onClick:()=>this.setState({filter:""}),children:(0,te.jsx)(Ce.Z,{})}):""})})}),(0,te.jsx)(ke.ZP,{item:!0,children:(0,te.jsxs)(ke.ZP,{container:!0,children:[this.renderJavascriptList(),this.renderInstances()]})})]})}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",onClick:this.handleOk,disabled:!this.state.jsInstance||!this.state.adapterToDebug,color:"primary",startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Start")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:()=>this.props.onClose(),startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Close")})]})]})}}const Ie=(0,u.Z)((e=>({buttonIcon:{marginRight:e.spacing(1)},icon:{width:24,height:24},filter:{width:"100%"},filterWithButton:{width:"100%"},title:{fontWeight:"bold",marginTop:e.spacing(2)}})))(je),Te=P.Z[400],De=B.Z[400],Ae=F.Z[400],Ne="script.js",Ee=Ne+".common",Oe=Ne+".global",_e=350,Re={background:"#164477",color:"white"},Me={Blockly:U,"Javascript/js":L,def:L,Rules:W,"TypeScript/ts":Z},ze=(e,t,s)=>(s=s||f.I18n.getLanguage(),t&&t.common&&t.common.name?"object"===typeof t.common.name?(t.common.name[s]||t.common.name.en||e.replace(/^script\.js./,"")).toString():t.common.name.toString():e.replace(/^script\.js./,"")),Pe=e=>{const t=[{id:Ne,depth:0,index:0,parent:null,title:"root",type:"folder"}],s=Object.keys(e);for(let i=0;i1?o.join("."):null,instance:a.common.engine?parseInt(a.common.engine.split(".").pop(),10)||0:null})}let a;do{a=!1,t.forEach((e=>{if(e.parent){if(!t.find((t=>t.id===e.parent))){const s=e.parent.split(".");s.pop(),t.push({id:e.parent,title:e.parent.split(".").pop(),depth:s.length-1,type:"folder",parent:s.length>1?s.join("."):null}),a=!0}}}))}while(a);return t.sort(((e,t)=>{const s=e.id.toLowerCase(),a=t.id.toLowerCase();return"folder"===e.type&&"folder"!==t.type?-1:"folder"===t.type&&"folder"!==e.type||s>a?1:se.index=t)),t.forEach((e=>{if(e.parent){const s=t.find((t=>t.id===e.parent));s&&(e.parentIndex=s.index)}})),t},Be=e=>{const{onDrop:t}=e,[{isOver:s,isOverAny:a},i]=(0,O.L)({accept:["script"],drop:e=>s?t(e):void 0,collect:e=>({isOver:e.isOver({shallow:!0}),isOverAny:e.isOver()})});return(0,te.jsx)("div",{ref:i,className:f.Utils.clsx(s&&"js-folder-dragover",a&&"js-folder-dragging"),children:e.children})},Fe=e=>{const{name:t}=e,[{opacity:s},a]=(0,_.c)({type:"script",item:()=>({name:t}),collect:e=>({opacity:e.isDragging()?.3:1})});return(0,te.jsx)("div",{ref:a,style:{opacity:s,transform:"translate3d(0, 0, 0)"},children:e.children})};class Le extends i().Component{constructor(e){super(e);let t=window.localStorage?window.localStorage.getItem("SideMenu.expanded"):"[]";try{t=JSON.parse(t)||[]}catch(a){t=[]}this.inputRef=new(i().createRef),this.state={listItems:Pe(e.scripts||{}),expanded:t,problems:[],reorder:!1,themeName:this.props.themeName,selected:window.localStorage&&window.localStorage.getItem("SideMenu.selected")||null,creatingScript:!1,creatingFolder:!1,copingScript:"",renaming:null,deleting:null,choosingType:null,errorText:"",instances:e.instances||[],menuOpened:!1,menuAnchorEl:null,searchMode:!1,expertMode:this.props.expertMode,searchText:"",width:this.props.width||300,typeFilter:window.localStorage&&window.localStorage.getItem("SideMenu.typeFilter")||"",statusFilter:window.localStorage&&window.localStorage.getItem("SideMenu.statusFilter")||"",runningInstances:this.props.runningInstances||{},scriptsHash:e.scriptsHash,showAdapterDebug:!1};const s=this.ensureSelectedIsVisible();s&&(this.state.expanded=s),this.filterTimer=null,this.state.isAllZeroInstances=this.getIsAllZeroInstances(),this.problems=null,this.problemsTimer=null,this.onProblemUpdatedBound=this.onProblemUpdated.bind(this)}readProblems(e,t){if(t||(t=Object.keys(this.props.scripts)),t&&t.length){const s=t.shift();if(this.props.scripts[s]&&"script"===this.props.scripts[s].type&&this.props.scripts[s].common&&this.props.scripts[s].common.enabled&&!s.match(/^script\.js\.global\./)){const a=this.props.scripts[s].common.engine.split(".").pop(),i=this,o="javascript.".concat(a,".scriptProblem.").concat(s.substring(10));this.props.socket.getState(o,((s,a)=>{i.onProblemUpdated(o,a),setTimeout((()=>i.readProblems(e,t)),0)}))}else setTimeout((()=>this.readProblems(e,t)),0)}else e&&e()}componentDidMount(){this.readProblems((()=>{this.props.instances.forEach((e=>{this.props.socket.subscribeState("javascript.".concat(e,".scriptProblem.*"),this.onProblemUpdatedBound)}))}))}componentWillUnmount(){this.props.instances.forEach((e=>{this.props.socket.unsubscribeState("javascript.".concat(e,".scriptProblem.*"),this.onProblemUpdatedBound)}))}onProblemUpdated(e,t){if(!t||!e)return;e="".concat(Ne,".").concat(e.replace(/^javascript\.\d+\.scriptProblem\./,"")),this.problems||(this.problems=JSON.parse(JSON.stringify(this.state.problems)));let s=!1;if(t.val)-1===this.problems.indexOf(e)&&(this.problems.push(e),s=!0);else{const t=this.problems.indexOf(e);-1!==t&&(this.problems.splice(t,1),s=!0)}s&&!this.problemsTimer&&(this.problemsTimer=setTimeout((()=>{this.problemsTimer=null,this.setState({problems:this.problems}),this.problems=null}),300))}static filterListStatic(e,t,s,a,i){t=JSON.parse(JSON.stringify(t));let o=!1,n={listItems:t};if(!1!==e&&s&&a){const e=a.toLowerCase();if(t.forEach((t=>{const s=t.title.toLowerCase();t.filteredPartly=!1;let a=s.includes(e);if(!a&&i&&i[t.id]&&i[t.id].common&&i[t.id].common.source)if("Blockly"===i[t.id].common.engineType){const s=i[t.id].common.source.lastIndexOf("//");a=i[t.id].common.source.substring(0,s).toLowerCase().includes(e)}else a=i[t.id].common.source.toLowerCase().includes(e);a?t.filtered&&(t.filtered=!1,o=!0):t.filtered||(t.filtered=!0,o=!0)})),o)for(let s=t.length-1;s>=0;s--){const e=t[s];if(!e.filtered||e.filteredPartly){let s=e;do{s.parent&&t[s.parentIndex]&&(o=!0,t[s.parentIndex].filteredPartly=!0),s=s.parent&&t[s.parentIndex]?t[s.parentIndex]:null}while(s)}}}else t.forEach((e=>{(e.filtered||e.filteredPartly)&&(e.filtered=!1,e.filteredPartly=!1,o=!0)})),!1===e&&(n.searchText="",n.searchMode=!1,o=!0);return o?n:null}filterList(e,t){const s=Le.filterListStatic(e,this.state.listItems,this.state.searchMode,this.state.searchText,this.props.scripts);s?this.setState(s,(()=>t&&t())):t&&t()}static ensureSelectedIsVisibleStatic(e,t,s){t=JSON.parse(JSON.stringify(t));let a=!1,i="object"===typeof e?e:s.find((t=>t.id===e));do{i=i&&i.parent&&s.find((e=>e.id===i.parent)),i&&-1===t.indexOf(i.id)&&(t.push(i.id),a=!0)}while(i);return a&&t}ensureSelectedIsVisible(e,t){Le.ensureSelectedIsVisibleStatic(e||this.state.selected,t||this.state.expanded,this.state.listItems)}static getDerivedStateFromProps(e,t){const s={};let a=!1;if(t.expertMode!==e.expertMode&&(a=!0,s.expertMode=e.expertMode),t.scriptsHash!==e.scriptsHash&&e.scripts){const i=Pe(e.scripts||{});if(s.listItems=i,t.searchText){const a=Le.filterListStatic(!0,i,t.searchMode,t.searchText,e.scripts);a&&Object.assign(s,a)}const o=Le.getIsAllZeroInstancesStatic(i,e.instances||[]),n=Le.ensureSelectedIsVisibleStatic(t.selected,t.expanded,t.listItems);s.isAllZeroInstances=o,n&&(s.expanded=n),a=!0}if(t.width!==e.width&&(a=!0,s.width=e.width),t.themeName!==e.themeName&&(a=!0,s.themeName=e.themeName),e.selectId&&t.selected!==e.selectId){const i=t.listItems.find((t=>t.id===e.selectId));if(!t.reorder&&i){const e=Le.ensureSelectedIsVisibleStatic(i,t.expanded,t.listItems);s.selected=i.id,e&&(s.expanded=e),a=!0,window.localStorage&&window.localStorage.setItem("SideMenu.selected",i.id)}}return a?s:null}static getIsAllZeroInstancesStatic(e,t){let s=!t[0]&&t.length<=1;return s&&e.forEach((e=>{"folder"!==e.type&&0!==e.instance&&(s=!1)})),s}getIsAllZeroInstances(e,t){return e=e||this.state.listItems,t=t||this.state.instances,Le.getIsAllZeroInstancesStatic(e||this.state.listItems,t||this.state.instances)}saveExpanded(e){window.localStorage.setItem("SideMenu.expanded",JSON.stringify(e||this.state.expanded))}showError(e){this.setState({errorText:e})}onToggle(e,t){if(t&&t.stopPropagation(),e===Ne)return;const s=[...this.state.expanded],a={expanded:s},i=s.indexOf(e);-1!==i?(s.splice(i,1),this.state.selected&&this.state.selected.startsWith("".concat(e,"."))&&(a.selected=e,window.localStorage&&window.localStorage.setItem("SideMenu.selected",e))):(s.push(e),s.sort()),this.setState({expanded:s}),this.saveExpanded(s)}renderItemButtonsOnEnd(e,t){if(this.state.reorder)return null;if("folder"!==e.type){let t=e.enabled?Te:Ae;return e.enabled&&this.state.problems.includes(e.id)&&(t=De),[(0,te.jsx)(D.Z,{className:f.Utils.clsx(this.props.classes.iconButtons,this.props.debugMode&&this.props.classes.iconButtonsDisabled),onClick:t=>{t.stopPropagation(),this.props.onEnableDisable&&this.props.onEnableDisable(e.id,!e.enabled)},title:e.enabled?f.I18n.t("Pause script"):f.I18n.t("Run script"),disabled:this.props.debugMode,style:{color:t},size:"medium",children:e.enabled?(0,te.jsx)(S.hPq,{}):(0,te.jsx)(S.Nhx,{})},"startStop"),this.state.width>_e?(0,te.jsx)(D.Z,{className:f.Utils.clsx(this.props.debugMode&&this.props.classes.iconButtonsDisabled),title:f.I18n.t("Delete script"),disabled:e.id===Oe||e.id===Ee||this.props.debugMode,onClick:t=>this.onDelete(e,t),size:"medium",children:(0,te.jsx)(S.ZkW,{})},"delete"):null,(0,te.jsx)(D.Z,{className:f.Utils.clsx(this.props.debugMode&&this.props.classes.iconButtonsDisabled),disabled:this.props.debugMode,title:f.I18n.t("Edit script or just double click"),onClick:t=>this.onEdit(e,t),size:"medium",children:(0,te.jsx)(S.jzb,{})},"openInEdit")]}return this.state.width>_e?e.id===Ne||e.id===Ee||e.id===Oe||t&&t.length?null:(0,te.jsx)(D.Z,{className:f.Utils.clsx(this.props.debugMode&&this.props.classes.iconButtonsDisabled),title:f.I18n.t("Delete folder"),disabled:e.id===Oe||e.id===Ee||this.props.debugMode,onClick:t=>this.onDelete(e,t),size:"medium",children:(0,te.jsx)(S.ZkW,{})},"delete"):void 0}onDelete(e,t){return t&&t.stopPropagation(),new Promise((t=>{"object"!==typeof e?this.setState({deleting:e}):this.setState({deleting:e.id})}))}onEdit(e,t){this.onClick(e,t),this.props.onEdit&&this.props.onEdit(e.id)}getTextStyle(e){return this.state.reorder||"folder"===e.type?{whiteSpace:"nowrap",padding:"0 16px 0 0"}:{width:"calc(100% - ".concat(this.state.width>_e?185:137,"px)"),overflow:"hidden",whiteSpace:"nowrap",flex:"none",padding:"0 16px 0 0"}}onClick(e,t){if(t&&t.stopPropagation(),!this.state.reorder&&e){const t=this.ensureSelectedIsVisible(e),s={selected:e.id};t&&(s.expanded=t),this.setState(s),window.localStorage&&window.localStorage.setItem("SideMenu.selected",e.id)}}onDblClick(e,t){t&&t.stopPropagation(),this.state.reorder||("folder"===e.type?this.onToggle(e.id):this.onEdit(e))}isFilteredOut(e){return!(!e.filtered||e.filteredPartly)||(!(!this.state.typeFilter||"folder"===e.type||e.type===this.state.typeFilter)||(!(!this.state.statusFilter||"folder"===e.type||!("running"===this.state.statusFilter&&!e.enabled||"paused"===this.state.statusFilter&&e.enabled)&&("problems"!==this.state.statusFilter||e.enabled&&-1!==this.state.problems.indexOf(e.id)))||e.id===Oe&&!this.state.expertMode))}renderListItem(e,t,s){if(e.id===Ne&&!this.state.reorder)return null;const a=16*(this.state.reorder?e.depth:e.depth-1);let i=e.title;if(this.state.searchText){const e=i.toLowerCase().indexOf(this.state.searchText.toLowerCase());-1!==e&&(i=[(0,te.jsx)("span",{children:i.substring(0,e)},"first"),(0,te.jsx)("span",{style:{color:"orange"},children:i.substring(e,e+this.state.searchText.length)},"second"),(0,te.jsx)("span",{children:i.substring(e+this.state.searchText.length)},"third")])}this.state.isAllZeroInstances||"folder"===e.type||(i=[(0,te.jsxs)("span",{title:f.I18n.t("Instance"),className:this.props.classes.instances,children:["[",e.instance,"] "]},"instance"),(0,te.jsx)("span",{children:i},"title")]);const o=this.state.reorder&&!this.props.debugMode,n=Object.assign({marginLeft:a,cursor:"folder"===e.type&&o?"default":"inherit",width:"calc(100% - ".concat(a,"px)")},e.id!==this.state.selected||o?{}:Re);o||(n.opacity=e.filteredPartly?.5:1),e.id===Oe&&e.id!==this.state.selected&&(n.color="#00a200");let r=e.id===Ne;!r&&t&&(r=this.state.expanded.includes(e.id));let l,c={};e.id===Oe?c.color="#356956":e.id===Ee&&(c.color="#4899e1"),l="folder"===e.type?f.Utils.clsx(this.props.classes.folderIcon,o?this.props.classes.folderIconReorder:this.props.classes.folderIconNoReorder):f.Utils.clsx(this.props.classes.scriptIcon,o?this.props.classes.scriptIconReorder:this.props.classes.scriptIconNoReorder);let d=null;return(s&&s.length||t&&t.length)&&(d=(0,te.jsx)("span",{className:this.props.classes.childrenCount,children:s&&s.length!==t.length?"".concat(s.length,"(").concat(t.length,")"):t.length})),(0,te.jsxs)(C.ZP,{style:n,className:f.Utils.clsx("folder"===e.type?this.props.classes.folder:this.props.classes.script,o&&"folder"===e.type&&"folder-reorder",o&&"folder"!==e.type&&"script-reorder",o&&this.props.classes.reorder,o&&"folder"!==e.type&&this.props.classes.scriptReorder,o&&"folder"===e.type&&this.props.classes.folderReorder),onClick:t=>this.onClick(e,t),onDoubleClick:t=>this.onDblClick(e,t),children:[(0,te.jsx)(j.Z,{classes:{root:this.props.classes.listItemIcon},children:"folder"===e.type?o||r?(0,te.jsx)(z.MDs,{className:l,style:c,onClick:t=>!o&&this.onToggle(e.id,t)}):(0,te.jsx)(z.$nz,{className:l,style:c,onClick:t=>!o&&this.onToggle(e.id,t)}):(0,te.jsx)("img",{className:l,alt:e.type,src:Me[e.type]||Me.def})}),(0,te.jsx)(T.Z,{classes:{primary:e.id!==this.state.selected||o?void 0:this.props.classes.selected},style:this.getTextStyle(e),primary:(0,te.jsxs)("span",{children:[i,d]})}),(0,te.jsx)(I.Z,{children:this.renderItemButtonsOnEnd(e,t)})]},e.id)}onDragFinish(e,t){let s="".concat(t,".").concat(e.split(".").pop());s!==e&&(this.state.listItems.find((e=>e.id===s))&&(s+="_".concat(f.I18n.t("copy"))),this.props.onRename&&this.props.onRename(e,s))}renderOneItem(e,t){let s=(this.state.statusFilter||this.state.typeFilter)&&e.filter((e=>e.parent===t.id&&!this.isFilteredOut(e))),a=e.filter((e=>e.parent===t.id));if(this.isFilteredOut(t))return;if("folder"===t.type&&(this.state.statusFilter||this.state.typeFilter)&&!s.length)return;const i=this.state.reorder&&!this.props.debugMode,o=this.renderListItem(t,a,s),n=[];let r;return a&&(i||this.state.expanded.includes(t.id)||t.id===Ne)&&(r=a.map((t=>this.renderOneItem(e,t)))),i?"folder"===t.type?n.push((0,te.jsxs)(Be,{onDrop:e=>this.onDragFinish(e.name,t.id),children:[(0,te.jsx)(Fe,{name:t.id,children:o},"draggable_".concat(t.id)),r||null]},"droppable_".concat(t.id))):n.push((0,te.jsxs)(Fe,{name:t.id,children:[o,r||null]},"draggable_".concat(t.id))):(n.push(o),r&&r.forEach((e=>n.push(e)))),n}renderAllItems(e){const t=e.filter((e=>!e.parent)).map((t=>this.renderOneItem(e,t)));return(0,te.jsx)(w.Z,{dense:!0,disablePadding:!0,className:this.props.classes.mainList,children:t})}onAddNew(e){e&&e.stopPropagation();let t=this.state.listItems.find((e=>e.id===this.state.selected)),s=Ne;for(;t&&"folder"!==t.type;)t=this.state.listItems[t.parentIndex];t&&(s=t.id),this.parent=s,this.setState({choosingType:!0})}onCopy(e,t){e&&e.stopPropagation();let s=this.state.listItems.find((e=>e.id===t)),a=Ne;for(;s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({copingScript:t})}onAddNewFolder(e){e&&e.stopPropagation();let t=this.state.listItems.find((e=>e.id===this.state.selected)),s=Ne;for(;t&&"folder"!==t.type;)t=this.state.listItems[t.parentIndex];t&&(s=t.id),this.parent=s,this.setState({creatingFolder:!0})}onRename(e){e&&e.stopPropagation(),this.setState({renaming:this.state.selected})}getUniqueName(e){let t=1,s="".concat(f.I18n.t("Script")," ");if(e){let a=ze(e,this.props.scripts[e]);const i=a.match(/\d+$/);i?(s=a.replace(/\d+$/,""),t=parseInt(i[0],10)+1):s=a}for(;this.state.listItems.find((e=>e.id==="".concat(this.parent,".").concat(s.replace(/\.\s/g,"_")).concat(t)));)t++;return s+t}getUniqueFolderName(){let e=1;for(;this.state.listItems.find((t=>t.id==="".concat(this.parent,".").concat(f.I18n.t("Folder"),"_").concat(e)));)e++;return"".concat(f.I18n.t("Folder")," ").concat(e)}onCloseMenu(e){this.setState({menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null},e)}getFilterBadge(){return[!0===this.state.statusFilter&&(0,te.jsx)(S.Nhx,{className:this.props.classes.filterIcon,style:{color:Te}}),!1===this.state.statusFilter&&(0,te.jsx)(S.hPq,{className:this.props.classes.filterIcon,style:{color:Ae}}),"Blockly"===this.state.typeFilter&&"Bl","Javascript/js"===this.state.typeFilter&&"JS","TypeScript/ts"===this.state.typeFilter&&"TS"]}getMainMenu(e,t){return(0,te.jsxs)(A.Z,{id:"long-menu",anchorEl:this.state.menuAnchorEl,open:this.state.menuOpened,onClose:()=>this.setState({menuOpened:!1,menuAnchorEl:null}),PaperProps:{style:{maxHeight:360}},children:[this.state.width<=_e?(0,te.jsxs)(N.Z,{disabled:this.props.debugMode||!this.state.selected||this.state.selected===Oe||this.state.selected===Ee||e&&e.length,onClick:e=>{e.stopPropagation(),e.preventDefault(),this.state.listItems.find((e=>e.parent===this.state.selected))?this.showError(f.I18n.t("Cannot delete non empty item!")):this.setState({menuOpened:!1,menuAnchorEl:null},(()=>this.onDelete(this.state.selected).then((()=>{}))))},children:[(0,te.jsx)(S.ZkW,{className:this.props.classes.iconDropdownMenu,style:{color:"red"}}),f.I18n.t("Delete")]},"delete"):null,(0,te.jsxs)(N.Z,{disabled:this.props.debugMode,selected:this.state.expertMode,onClick:e=>{e.stopPropagation(),e.preventDefault(),this.onCloseMenu((()=>this.props.onExpertModeChange&&this.props.onExpertModeChange(!this.state.expertMode)))},children:[(0,te.jsx)(S.Bjz,{className:this.props.classes.iconDropdownMenu,style:{color:this.state.expertMode?"orange":"inherit"}}),f.I18n.t("Expert mode")]},"expertMode"),this.props.onExport&&(0,te.jsxs)(N.Z,{onClick:e=>{e.stopPropagation(),e.preventDefault(),this.onCloseMenu((()=>this.props.onExport()))},children:[(0,te.jsx)(z.u$v,{className:this.props.classes.iconDropdownMenu}),f.I18n.t("Export all scripts")]},"exportAll"),this.props.onImport&&(0,te.jsxs)(N.Z,{disabled:this.props.debugMode,onClick:e=>{e.stopPropagation(),e.preventDefault(),this.onCloseMenu((()=>this.props.onImport()))},children:[(0,te.jsx)(z.Xur,{className:this.props.classes.iconDropdownMenu}),f.I18n.t("Import scripts")]},"import"),this.props.onThemeChange&&(0,te.jsxs)(N.Z,{onClick:()=>this.onCloseMenu((()=>{const e="dark"===this.state.themeName?"blue":"blue"===this.state.themeName?"colored":"colored"===this.state.themeName?"light":"light"===this.state.themeName?"dark":"colored";this.props.onThemeChange(e)})),children:[(0,te.jsx)(S.Zox,{className:this.props.classes.iconDropdownMenu}),f.I18n.t('Change theme (actual "%s")',this.state.themeName)]},"dark"),this.props.onAddNew&&(0,te.jsxs)(N.Z,{disabled:!this.state.selected||!t||"folder"===t.type,onClick:e=>{const t=this.state.selected;this.onCloseMenu((()=>this.onCopy(e,t)))},children:[(0,te.jsx)(S.Fqs,{className:this.props.classes.iconDropdownMenu}),f.I18n.t("Copy script")]},"copy"),this.state.expertMode&&(0,te.jsxs)(N.Z,{disabled:this.props.debugMode,onClick:e=>{e.stopPropagation(),e.preventDefault(),this.onCloseMenu((()=>this.setState({showAdapterDebug:!0})))},children:[(0,te.jsx)(S.qXL,{className:this.props.classes.iconDropdownMenu}),f.I18n.t("Debug instance")]},"debugInstance")]},"menu")}getToolbarButtons(){const e=[],t=this.props.classes,s=this.state.reorder&&!this.props.debugMode;if(this.state.searchMode&&!this.props.debugMode)e.push((0,te.jsx)(E.Z,{value:this.state.searchText,className:t.toolbarSearch,ref:this.inputRef,autoFocus:!0,placeholder:f.I18n.t("Search..."),onChange:e=>{this.setState({searchText:e.target.value}),this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout((()=>{this.filterTimer=null,this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)}),400)}},"searchInput")),e.push((0,te.jsx)(D.Z,{className:t.toolbarButtons,style:{float:"right"},title:f.I18n.t("End search mode"),onClick:e=>{e.stopPropagation(),this.filterList(!1,(()=>this.props.onSearch&&this.props.onSearch(this.state.searchText)))},size:"medium",children:(0,te.jsx)(S.w7s,{})},"disableSearch")),this.state.searchText&&e.push((0,te.jsx)(D.Z,{mini:"true",title:f.I18n.t("Clear search input"),className:t.toolbarButtons,style:{marginTop:7,float:"right"},onClick:e=>{e.stopPropagation(),this.setState({searchText:""},(()=>{this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)}))},size:"medium",children:(0,te.jsx)(S.FU5,{fontSize:"small"})},"cleanSearch"));else{if(!s){e.push((0,te.jsx)(D.Z,{"aria-label":"More","aria-owns":this.state.menuOpened?"long-menu":void 0,title:f.I18n.t("Menu"),"aria-haspopup":"true",onClick:e=>{e.stopPropagation(),e.preventDefault(),this.setState({menuOpened:!0,menuAnchorEl:e.currentTarget})},size:"medium",children:(0,te.jsx)(S.rgS,{})},"menuButton"));const a=this.state.listItems.find((e=>e.id===this.state.selected));let i;a&&this.state.width<=_e&&"folder"===a.type&&(i=this.state.listItems.filter((e=>e.parent===this.state.selected))),e.push(this.getMainMenu(i,a)),e.push((0,te.jsx)(D.Z,{disabled:this.props.debugMode,title:f.I18n.t("Create new script"),className:f.Utils.clsx(t.toolbarButtons,this.props.debugMode&&t.iconButtonsDisabled),style:{color:s?"red":"inherit"},onClick:e=>this.onAddNew(e),size:"medium",children:(0,te.jsx)(S.x06,{})},"new-script")),e.push((0,te.jsx)(D.Z,{disabled:this.props.debugMode,title:f.I18n.t("Create new folder"),className:f.Utils.clsx(t.toolbarButtons,this.props.debugMode&&t.iconButtonsDisabled),style:{color:s?"red":"inherit"},onClick:()=>this.onAddNewFolder(),size:"medium",children:(0,te.jsx)(S.Db7,{})},"new-folder"))}e.push((0,te.jsx)(D.Z,{disabled:s||this.props.debugMode,className:f.Utils.clsx(t.toolbarButtons,this.props.debugMode&&t.iconButtonsDisabled),title:f.I18n.t("Search in scripts"),style:{float:"right",opacity:this.props.debugMode?.5:s?0:1},onClick:e=>{e.stopPropagation(),this.setState({searchMode:!0})},size:"medium",children:(0,te.jsx)(S.vU7,{})},"search")),e.push((0,te.jsx)(D.Z,{disabled:this.props.debugMode,title:f.I18n.t("Reorder scripts in folders"),className:f.Utils.clsx(t.toolbarButtons,this.props.debugMode&&t.iconButtonsDisabled),style:{color:s?"red":"inherit",float:"right"},onClick:e=>{e.stopPropagation(),this.setState({reorder:!this.state.reorder})},size:"medium",children:(0,te.jsx)(S.Llt,{})},"reorder")),!s&&this.state.selected&&this.state.selected!==Oe&&this.state.selected!==Ee&&e.push((0,te.jsx)(D.Z,{className:f.Utils.clsx(t.toolbarButtons,this.props.debugMode&&t.iconButtonsDisabled),disabled:this.props.debugMode,title:f.I18n.t("Rename"),onClick:e=>this.onRename(e),size:"medium",children:(0,te.jsx)(S.zmo,{})},"rename")),e.push((0,te.jsxs)("span",{style:{opacity:.5,fontSize:10},children:["v",this.props.version]},"version"))}return e}getFolders(){const e=[{id:Ne,name:f.I18n.t("Root folder")}];return this.state.listItems.forEach((t=>{"folder"===t.type&&t.id!==Ne&&(t.id.startsWith(Oe)&&!this.state.expertMode||e.push({id:t.id,name:t.title}))})),e}onCollapseAll(){this.setState({expanded:[]}),this.saveExpanded([])}onExpandAll(){const e=[];this.state.listItems.forEach((t=>this.state.listItems.find((e=>e.parent===t.id))&&e.push(t.id))),this.setState({expanded:e}),this.saveExpanded(e)}getBottomButtons(){return this.state.reorder||this.props.debugMode?null:[(0,te.jsx)(S.hPq,{className:this.props.classes.footerButtons,style:{color:Te,opacity:"running"===this.state.statusFilter?1:.3,background:"running"===this.state.statusFilter?"gray":"inherit"},title:f.I18n.t("Show only running scripts"),onClick:e=>{e.stopPropagation(),e.preventDefault();const t="running"===this.state.statusFilter?"":"running";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",t),this.setState({statusFilter:t})}},"filterByRunning"),(0,te.jsx)(S.Nhx,{title:f.I18n.t("Show only paused scripts"),className:this.props.classes.footerButtons,style:{color:Ae,opacity:"paused"===this.state.statusFilter?1:.3,background:"paused"===this.state.statusFilter?"gray":"inherit"},onClick:()=>{const e="paused"===this.state.statusFilter?"":"paused";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",e),this.setState({statusFilter:e})}},"filterByPaused"),(0,te.jsx)(S.hPq,{title:f.I18n.t("Show only scripts with problems"),className:this.props.classes.footerButtons,style:{color:De,opacity:"problems"===this.state.statusFilter?1:.3,background:"problems"===this.state.statusFilter?"gray":"inherit"},onClick:()=>{const e="problems"===this.state.statusFilter?"":"problems";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",e),this.setState({statusFilter:e})}},"filterByProblem"),(0,te.jsx)("img",{className:this.props.classes.footerButtons,alt:"Blockly",style:{opacity:"Blockly"===this.state.typeFilter?1:.3,background:"Blockly"===this.state.typeFilter?"gray":"inherit"},src:Me.Blockly||Me.def,onClick:()=>{const e="Blockly"===this.state.typeFilter?"":"Blockly";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",e),this.setState({typeFilter:e})}},"filterBlockly"),(0,te.jsx)("img",{className:this.props.classes.footerButtons,alt:"Javascript",style:{opacity:"Javascript/js"===this.state.typeFilter?1:.3,background:"Javascript/js"===this.state.typeFilter?"gray":"inherit"},src:Me["Javascript/js"]||Me.def,onClick:()=>{const e="Javascript/js"===this.state.typeFilter?"":"Javascript/js";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",e),this.setState({typeFilter:e})}},"filterJS"),(0,te.jsx)("img",{className:this.props.classes.footerButtons,alt:"TypeScript",style:{opacity:"TypeScript/ts"===this.state.typeFilter?1:.3,background:"TypeScript/ts"===this.state.typeFilter?"gray":"inherit"},src:Me["TypeScript/ts"]||Me.def,onClick:()=>{const e="TypeScript/ts"===this.state.typeFilter?"":"TypeScript/ts";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",e),this.setState({typeFilter:e})}},"filterTS"),(0,te.jsx)("img",{className:this.props.classes.footerButtons,alt:"Rules",style:{opacity:"Rules"===this.state.typeFilter?1:.3,background:"Rules"===this.state.typeFilter?"gray":"inherit"},src:Me.Rules||Me.def,onClick:e=>{const t="Rules"===this.state.typeFilter?"":"Rules";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",t),this.setState({typeFilter:t})}},"filterRules"),(0,te.jsx)(S.bPX,{className:"".concat(this.props.classes.footerButtons," ").concat(this.props.classes.footerButtonsRight),title:f.I18n.t("Expand all"),onClick:()=>this.onExpandAll()},"expandAll"),this.state.expanded.length?(0,te.jsx)(S.SPo,{className:"".concat(this.props.classes.footerButtons," ").concat(this.props.classes.footerButtonsRight),title:f.I18n.t("Collapse all"),onClick:()=>this.onCollapseAll()},"collapseAll"):null]}getAdapterDebugDialog(){if(this.state.showAdapterDebug)return(0,te.jsx)(Ie,{socket:this.props.socket,onClose:()=>this.setState({showAdapterDebug:!1}),onDebug:(e,t)=>this.setState({showAdapterDebug:!1},(()=>this.props.onDebugInstance({instance:e,adapter:t})))},"debug")}render(){const{classes:e}=this.props,t=this.state.renaming&&this.state.listItems.find((e=>e.id===this.state.renaming)),s=this.state.copingScript&&this.props.scripts[this.state.copingScript];return[(0,te.jsxs)(x.ZP,{variant:"permanent",className:e.menu,classes:{paper:e.drawerPaper},anchor:"left",onClick:()=>this.onClick({id:""}),children:[(0,te.jsx)("div",{className:e.toolbar,children:this.getToolbarButtons()}),(0,te.jsx)(k.Z,{}),(0,te.jsx)(R.W,{backend:M.PD,children:(0,te.jsx)("div",{className:e.innerMenu,children:this.renderAllItems(this.state.listItems)})}),(0,te.jsx)(k.Z,{}),(0,te.jsx)("div",{className:e.footer,children:this.getBottomButtons()})]},"drawer"),t?(0,te.jsx)(ae,{name:t.title,title:f.I18n.t("Rename"),id:this.state.renaming,folder:"folder"===t.type,instance:t.instance,instances:this.props.instances,onClose:()=>this.setState({renaming:!1}),onRename:(e,t,s,a)=>this.props.onRename&&this.props.onRename(e,t,s,a)},"dialog-rename"):null,this.state.deleting?(0,te.jsx)(oe,{name:this.state.listItems.find((e=>e.id===this.state.deleting)).title,id:this.state.deleting,onClose:()=>this.setState({deleting:!1}),onDelete:e=>this.props.onDelete&&this.props.onDelete(e)},"dialog-delete"):null,this.state.choosingType?(0,te.jsx)(be,{onClose:e=>{const t={choosingType:!1};e&&(t.creatingScript=e),this.setState(t)}},"dialog-script-type"):null,this.state.creatingScript?(0,te.jsx)(ve,{onClose:()=>this.setState({creatingScript:!1}),title:f.I18n.t("Create new script"),name:this.getUniqueName(),parents:this.getFolders(),folder:!1,existingItems:this.state.listItems.map((e=>e.id)),instance:this.props.instances[0]||0,instances:this.props.instances,type:this.state.creatingScript,parent:this.parent,onAdd:(e,t,s,a)=>this.props.onAddNew&&this.props.onAddNew(e,t,!1,s,a)},"dialog-new-script"):null,this.state.copingScript?(0,te.jsx)(ve,{onClose:()=>this.setState({copingScript:""}),title:f.I18n.t("Copy script"),name:this.getUniqueName(this.state.copingScript),parents:this.getFolders(),folder:!1,instance:parseInt(s&&s.common&&s.common.engine&&s.common.engine.split(".").pop()||0,10),instances:this.props.instances,type:s&&s.common&&s.common.engineType||"Javascript/js",parent:this.parent,onAdd:(e,t,s,a)=>{const i=this.state.copingScript&&this.props.scripts[this.state.copingScript];i&&i.common&&(i.common.enabled=!1),this.props.onAddNew&&this.props.onAddNew(e,t,!1,s,a,i&&i.common&&i.common.source)}},"dialog-copy-script"):null,this.state.creatingFolder?(0,te.jsx)(ve,{onClose:()=>this.setState({creatingFolder:!1}),title:f.I18n.t("Create new folder"),parents:this.getFolders(),name:this.getUniqueFolderName(),parent:this.parent,onAdd:(e,t)=>this.props.onAddNew&&this.props.onAddNew(e,t,!0)},"dialog-new-folder"):null,this.state.errorText?(0,te.jsx)(xe,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"error"):null,this.getAdapterDebugDialog()]}}const Ue=(0,u.Z)((e=>({drawerPaper:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},toolbar:{height:e.toolbar.height},toolbarButtons:{color:"dark"===e.palette.mode?"white !important":"black !important"},iconButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},toolbarSearch:{width:"calc(100% - 105px)",lineHeight:"34px",marginLeft:5},iconButtons:{width:32,height:32,padding:2},iconDropdownMenu:{paddingRight:5},iconOnTheRight:{position:"absolute",right:10,top:"calc(50% - 8px)"},menu:{width:"100%",height:"100%"},innerMenu:{width:"100%",height:"calc(100% - 76px)",overflowX:"hidden",overflowY:"auto"},listItemIcon:{minWidth:32},filterIcon:{width:18,height:18,borderRadius:2,marginRight:5},scriptIcon:{width:18,height:18,borderRadius:2,marginTop:4,marginBottom:4,marginLeft:8,marginRight:4},folder:{cursor:"pointer",padding:0,userSelect:"none"},folderReorder:{opacity:.3,transitionDuration:"0.5s",transitionProperty:"opacity"},folderIcon:{width:20,height:20},folderIconReorder:{paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},folderIconNoReorder:{cursor:"pointer",paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},script:{cursor:"pointer",padding:0,userSelect:"none"},scriptReorder:{opacity:1,transitionDuration:"0.5s",transitionProperty:"opacity"},reorder:{},expandButton:{width:37,height:37},selected:Re,instances:{color:"gray",fontSize:"smaller"},childrenCount:{float:"right",marginRight:5,fontSize:10,opacity:.4},footer:{height:24},footerButtons:{"&:hover":{backgroundColor:"#dbdbdb"},color:"dark"===e.palette.mode?"#ffffff":"#111111",cursor:"pointer",marginTop:1,marginRight:2,height:22,width:22},footerButtonsRight:{float:"right"},mainList:{"& .js-folder-dragover>div>li>.folder-reorder":{background:"#40adff"},"& .js-folder-dragging .folder-reorder":{opacity:1},"& .js-folder-dragging .script-reorder":{opacity:.3}}})))(Le);function Ze(e){let t,s=e.getHours();return s<10&&(s="0".concat(s.toString())),t="".concat(s,":"),s=e.getMinutes(),s<10&&(s="0".concat(s.toString())),t+="".concat(s,":"),s=e.getSeconds(),s<10&&(s="0".concat(s.toString())),t+="".concat(s,"."),s=e.getMilliseconds(),s<10?s="00".concat(s.toString()):s<100&&(s="0".concat(s.toString())),t+=s,t}let We={};class Ve extends i().Component{constructor(e){super(e),this.logHandler=e=>{let t=this.state.lines;const s=this.state.editing.filter((t=>e.message.includes(t)));let a;if(!s.length)return;1===s.length?a=s[0]:(s.sort(),a=s[s.length-1]);let i=t[a]||[],o=We[a]||[];i.push(this.generateLine(e));let n=e.severity;"info"!==n&&"warn"!==n||(n+=" ");const r=new Date(e.ts);var l;o.push("".concat(r.toLocaleString(),".").concat((l=r.getMilliseconds(),l<10?"00".concat(l):l<100?"0".concat(l):l),"\t[").concat(n,"]: ").concat(e.message)),i.length>300&&(i.splice(0,i.length-300),o.splice(0,i.length-300)),We[a]=o,t[a]=i,this.setState({lines:t})},this.state={lines:{},goBottom:!0,selected:null,editing:this.props.editing||[]},this.lastIndex=null,this.messagesEnd=i().createRef()}generateLine(e){return(0,te.jsxs)("tr",{className:this.props.classes[e.severity],children:[(0,te.jsx)("td",{className:this.props.classes.trTime,children:Ze(new Date(e.ts))},"tdTime"),(0,te.jsx)("td",{className:this.props.classes.trSeverity,children:e.severity},"tdSeverity"),(0,te.jsx)("td",{children:e.message},"tdMessage")]},"tr_".concat(e.ts,"_").concat(e.message.substr(-10)))}scrollToBottom(){this.messagesEnd&&this.messagesEnd.current&&this.messagesEnd.current.scrollIntoView({behavior:"smooth"})}componentDidMount(){this.props.socket.registerLogHandler(this.logHandler)}componentWillUnmount(){this.props.socket.unregisterLogHandler(this.logHandler)}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}static getDerivedStateFromProps(e,t){let s=!1,a={};if(e.selected!==t.selected){let i=e.selected,o=t.lines;o[i]=o[i]||[],We[i]=We[i]||[],a.selected=i,s=!0}if(JSON.stringify(e.editing)!==JSON.stringify(t.editing)){const i=JSON.parse(JSON.stringify(e.editing));s=!0;let o=t.lines;for(const e in We)We.hasOwnProperty(e)&&(i.includes(e)||(delete We[e],delete o[e]));a.editing=i}return s?a:null}onCopy(){f.Utils.copyToClipboard((We[this.state.selected]||[]).join("\n"))}clearLog(){let e=this.state.lines;e[this.state.selected]&&(e[this.state.selected]=[]),We[this.state.selected]&&(We[this.state.selected]=[]),this.setState({lines:e})}renderLogList(e){return this.state.selected&&e&&e.length?(0,te.jsxs)("div",{className:this.props.classes.logBoxInner,children:[(0,te.jsx)("table",{className:this.props.classes.table,children:(0,te.jsx)("tbody",{children:e})},"logTable"),(0,te.jsx)("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):(0,te.jsx)("div",{className:this.props.classes.logBoxInner,style:{paddingLeft:10},children:f.I18n.t("Log outputs")},"logList")}render(){const e=this.state.selected&&this.state.lines[this.state.selected];return(0,te.jsxs)("div",{className:this.props.classes.logBox,children:[(0,te.jsxs)("div",{className:this.props.classes.toolbox,children:[(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":"",size:"medium",children:(0,te.jsx)(S.G10,{})}),e&&e.length?(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.clearLog(),size:"medium",children:(0,te.jsx)(S.FH3,{})}):null,e&&e.length?(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:(0,te.jsx)(S.Fqs,{})}):null,this.props.onLayoutChange?(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.props.onLayoutChange(),title:f.I18n.t("Change layout"),size:"medium",children:(0,te.jsx)("img",{className:this.props.classes.layoutIcon,alt:"split",src:this.props.verticalLayout?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAACFJREFUeAFjAIJRwP////8PYIKWHCigNQdKj/pn1D+jAABTG16wVQqVpQAAAABJRU5ErkJggg==":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAABtJREFUeAFjAIJRwP8fCj7QkENn/4z6Z5QzCgBjbWaoyx1PqQAAAABJRU5ErkJggg=="})}):null,(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.props.onHideLog(),title:f.I18n.t("Hide logs"),size:"medium",children:(0,te.jsx)(S.wqE,{})})]},"toolbox"),this.renderLogList(e)]})}}const Je=(0,u.Z)((e=>({logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:{display:"inline-block",color:"dark"===e.palette.mode?"white":"black",width:"calc(100% - ".concat(34,"px)"),height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"},info:{background:"dark"===e.palette.mode?"darkgrey":"lightgrey",color:(e.palette.mode,"black")},error:{background:"#FF0000",color:"dark"===e.palette.mode?"black":"white"},warn:{background:"#FF8000",color:"dark"===e.palette.mode?"black":"white"},debug:{background:"gray",opacity:.8,color:"dark"===e.palette.mode?"black":"white"},silly:{background:"gray",opacity:.6,color:"dark"===e.palette.mode?"black":"white"},table:{fontFamily:"monospace",width:"100%"},toolbox:{width:34,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4},layoutIcon:{width:24,height:24,background:"dark"===e.palette.mode?"#9d9d9d":void 0,borderRadius:"dark"===e.palette.mode?30:void 0}})))(Ve);var qe=s(26223),He=s(29464),Ge=s(19523),Ye=s(61474),Ke=s(27029),Qe=s(34129),Xe=s(13034),$e=s(40986),et=s(15416),tt=s(62155),st=s(68745),at=s(55261),it=s(22041),ot=s(9195),nt=s(97639),rt=s(4841);var lt=s(94427);let ct=0;class dt extends i().Component{constructor(e){super(e),this.state={name:"current",isDark:e.isDark||!1,language:e.language||"javascript",readOnly:e.readOnly||!1,alive:!0,check:!1,searchText:this.props.searchText||"",typingsLoaded:!1},this.runningInstancesStr=JSON.stringify(this.props.runningInstances),this.monacoDiv=null,this.editor=null,this.monaco=window.monaco,this.insert="",this.originalCode=e.code||"",this.typings={},this.lastSearch=""}waitForMonaco(e){var t,s,a,i;let o=null===(t=this.monaco)||void 0===t||null===(s=t.languages)||void 0===s||null===(a=s.typescript)||void 0===a||null===(i=a.typescriptDefaults)||void 0===i?void 0:i.getCompilerOptions;if(o&&this.props.runningInstances)e&&e();else{var n,r,l,c;if(this.monaco=window.monaco,o=null===(n=this.monaco)||void 0===n||null===(r=n.languages)||void 0===r||null===(l=r.typescript)||void 0===l||null===(c=l.typescriptDefaults)||void 0===c?void 0:c.getCompilerOptions,this.monacoCounter=this.monacoCounter||0,this.monacoCounter++,!o&&this.monacoCounter<20)return console.log("wait for monaco loaded"),void setTimeout((()=>this.waitForMonaco(e)),200);this.monacoCounter>=20&&console.error("Cannot load monaco!")}}loadTypings(e){if(!this.editor)return;const t=(e=e||this.props.runningInstances)&&Object.keys(e).find((t=>e[t]));t&&this.props.socket.sendTo(t.replace("system.adapter.",""),"loadTypings",null).then((e=>{this.setState({alive:!0,check:!0,typingsLoaded:!0}),this.setTypeCheck(!0),e.typings?(this.typings=e.typings,this.setEditorTypings(this.state.name)):console.error("failed to load typings: ".concat(e.error))}))}componentDidMount(){var e,t,s,a;const i=null===(e=this.monaco)||void 0===e||null===(t=e.languages)||void 0===t||null===(s=t.typescript)||void 0===s||null===(a=s.typescriptDefaults)||void 0===a?void 0:a.getCompilerOptions;if((!i||!this.props.runningInstances)&&(this.monaco=window.monaco,!i))return console.log("wait for monaco loaded..."),void this.waitForMonaco((()=>this.componentDidMount()));if(!this.editor&&i){console.log("Init editor"),this.props.onRegisterSelect&&this.props.onRegisterSelect((()=>this.editor.getModel().getValueInRange(this.editor.getSelection())));const e=this.monaco.languages.typescript.typescriptDefaults.getCompilerOptions();e.target=this.monaco.languages.typescript.ScriptTarget.ES2015,e.allowJs=!0,e.checkJs=!1!==this.props.checkJs,e.noLib=!0,e.lib=[],e.useUnknownInCatchVariables=!1,e.moduleResolution=this.monaco.languages.typescript.ModuleResolutionKind.NodeJs,this.monaco.languages.typescript.typescriptDefaults.setCompilerOptions(e),this.setTypeCheck(!1),this.editor=this.monaco.editor.create(this.monacoDiv,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,glyphMargin:!!this.props.breakpoints}),this.editor.onDidChangeModelContent((()=>this.onChange(this.editor.getValue()))),this.loadTypings(),this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KEY_S,(()=>this.onForceSave())),setTimeout((()=>{this.highlightText(this.state.searchText),this.location=this.props.location,this.breakpoints=this.props.breakpoints,this.showDecorators()}))}const o={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(o),this.editor.focus(),this.editor.setValue(this.originalCode),this.props.onToggleBreakpoint?this.editor.onMouseDown((e=>{e.target.detail&&void 0!==e.target.detail.glyphMarginLeft&&this.props.onToggleBreakpoint(e.target.position.lineNumber-1)})):this.editor.onMouseDown((()=>{}))}setEditorOptions(e){e&&(e.language&&this.setEditorLanguage(e.language),void 0!==e.readOnly&&this.editor.updateOptions({readOnly:e.readOnly}),void 0!==e.lineWrap&&this.editor.updateOptions({wordWrap:e.lineWrap?"on":"off"}),void 0!==e.typeCheck&&this.setTypeCheck(e.typeCheck),void 0!==e.isDark&&this.monaco.editor.setTheme(e.isDark?"vs-dark":"vs"))}componentWillUnmount(){this.editor&&(this.props.onRegisterSelect&&this.props.onRegisterSelect(null),this.editor.dispose(),this.editor=null)}setEditorLanguage(e){const t=this.editor.getModel(),s=t.getValue(),a=t.uri.path,i="string"===typeof a&&a.includes(".")?a.substr(0,a.lastIndexOf(".")):"index",o="javascript"===e?"js":"typescript"===e?"ts":e;t.dispose();const n="javascript"===e||"typescript"===e?"typescript":e,r=this.monaco.editor.createModel(s,n,this.monaco.Uri.from({path:"".concat(i).concat(ct++,".").concat(o)}));this.editor.setModel(r)}setTypeCheck(e){const t={noSemanticValidation:!this.state.alive||!e,noSyntaxValidation:!this.state.alive};this.monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions(t)}setEditorTypings(){var e,t,s,a,i,o,n,r;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const c=/^script\.js\.global\./.test(l);const d="".concat(l,".d.ts"),u=[];for(const p of Object.keys(this.typings)){if(c){if("global.d.ts"===p)continue;if(p.startsWith("script.js.global")&&p!==d)continue}u.push({filePath:p,content:this.typings[p]})}if(null!==(e=this.monaco)&&void 0!==e&&null!==(t=e.languages)&&void 0!==t&&null!==(s=t.typescript)&&void 0!==s&&null!==(a=s.typescriptDefaults)&&void 0!==a&&a.setExtraLibs)this.monaco.languages.typescript.typescriptDefaults.setExtraLibs(u);else if(null!==(i=this.monaco)&&void 0!==i&&null!==(o=i.languages)&&void 0!==o&&null!==(n=o.typescript)&&void 0!==n&&null!==(r=n.typescriptDefaults)&&void 0!==r&&r.addExtraLib){const e=this.monaco.languages.typescript.typescriptDefaults.getExtraLibs();u.forEach((t=>{e[t.filePath]||this.monaco.languages.typescript.typescriptDefaults.addExtraLib(t,t.filePath)}))}}insertTextIntoEditor(e){const t=this.editor.getSelection(),s=new this.monaco.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);this.editor.executeEdits("",[{range:s,text:e,forceMoveMarkers:!0}]),this.editor.focus()}highlightText(e){const t=e&&this.editor.getModel().findMatches(e);if(t&&t.length)t.forEach((e=>this.editor.setSelection(e.range))),this.editor.revealLine(t[0].range.startLineNumber);else if(this.editor){const e=this.editor.getPosition().lineNumber,t=this.editor.getPosition().column;this.editor.setSelection(new this.monaco.Range(e,t,e,t))}}showDecorators(){this.decorations=this.decorations||[];const e=[];this.location&&(e.push({range:new this.monaco.Range(this.location.lineNumber+1,this.location.columnNumber+1,this.location.lineNumber+1,1e3),options:{isWholeLine:!1,className:this.props.isDark?"monacoCurrentLineDark":"monacoCurrentLine"}}),e.push({range:new this.monaco.Range(this.location.lineNumber+1,0,this.location.lineNumber+1,0),options:{isWholeLine:!0,className:this.props.isDark?"monacoCurrentFullLineDark":"monacoCurrentFullLine"}})),this.breakpoints&&this.breakpoints.forEach((t=>{e.push({range:new this.monaco.Range(t.location.lineNumber+1,0,t.location.lineNumber+1,100),options:{isWholeLine:!0,glyphMarginClassName:this.props.isDark?"monacoBreakPointDark":"monacoBreakPoint"}})})),this.editor&&(this.decorations=this.editor.deltaDecorations(this.decorations,e))}initNewScript(e,t){this.setState({name:e}),this.originalCode=t||"",this.editor&&this.editor.setValue(t),this.highlightText(this.lastSearch),this.showDecorators(),this.setEditorTypings(e)}scrollToLineIfNeeded(e){if(this.editor){const t=this.editor.getVisibleRanges();(!t||!t[0]||t[0].startLineNumber>e||e>t[0].endLineNumber)&&this.editor.revealLineInCenter(e)}}UNSAFE_componentWillReceiveProps(e){const t={};this.state.name!==e.name&&this.initNewScript(e.name,e.code),JSON.stringify(e.runningInstances)!==this.runningInstancesStr&&(this.runningInstancesStr=JSON.stringify(e.runningInstances),this.state.typingsLoaded||this.loadTypings(e.runningInstances)),!this.editor||e.changed||e.code===this.originalCode&&e.code===this.editor.getValue()||(this.originalCode=e.code,this.editor.setValue(this.originalCode),this.showDecorators(),this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),e.searchText!==this.lastSearch&&(this.lastSearch=e.searchText,this.highlightText(this.lastSearch)),JSON.stringify(e.location)!==JSON.stringify(this.location)&&JSON.stringify(e.breakpoints)!==JSON.stringify(this.breakpoints)?(this.location=e.location,this.breakpoints=e.breakpoints,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)):JSON.stringify(e.breakpoints)!==JSON.stringify(this.breakpoints)?(this.breakpoints=e.breakpoints,this.showDecorators()):JSON.stringify(e.location)!==JSON.stringify(this.location)&&(this.location=e.location,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),this.state.language!==(e.language||"javascript")?(this.setState({language:e.language||"javascript"}),t.language=e.language||"javascript"):this.state.readOnly!==(e.readOnly||!1)?(this.setState({readOnly:e.readOnly||!1}),t.readOnly=e.readOnly):this.state.isDark!==(e.isDark||!1)&&(this.setState({isDark:e.isDark||!1}),t.isDark=e.isDark),this.setEditorOptions(t),this.insert!==e.insert&&(this.insert=e.insert,this.insert&&(console.log("Insert text: ".concat(this.insert)),setTimeout((e=>{this.insertTextIntoEditor(e),setTimeout((()=>this.props.onInserted&&this.props.onInserted()),100)}),100,this.insert)))}onChange(e,t){this.props.readOnly||this.props.onChange&&this.props.onChange(this.editor.getValue())}render(){var e,t,s;return null!==(e=this.monaco)&&void 0!==e&&null!==(t=e.languages)&&void 0!==t&&null!==(s=t.typescript)&&void 0!==s&&s.typescriptDefaults&&this.props.runningInstances?(0,te.jsx)("div",{ref:e=>this.monacoDiv=e,style:{width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:!this.state.check&&(0,te.jsx)(lt.Fab,{size:"small",title:f.I18n.t("Check is not active, because javascript adapter is disabled"),style:{bottom:10,right:10,opacity:.5,position:"absolute",zIndex:1,background:"red",color:"white"},color:"secondary",children:(0,te.jsx)(S.vhT,{})})}):(setTimeout((()=>{this.monaco=window.monaco,this.forceUpdate()}),200),null)}}const ut=dt;var pt=s(49582),ht=s(60627),mt=s(56120);class gt extends i().Component{constructor(e){super(e),this.state={anchorEl:null,popper:""}}handleCancel(){this.props.onClose()}onCopy(e){f.Utils.copyToClipboard(this.props.text);const t=e.currentTarget;setTimeout((()=>{this.setState({popper:f.I18n.t("Copied"),anchorEl:t}),setTimeout((()=>this.setState({popper:"",anchorEl:null})),1e3)}),50)}render(){const e=this.props.classes,t=new Blob([this.props.text],{type:"application/xml"}),s=this.props.scriptId.substring(10)+".xml";return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"lg",classes:{paper:e.dialog},fullWidth:!0,open:this.props.open,"aria-labelledby":"export-dialog-title",children:[(0,te.jsx)(J.Z,{id:"export-dialog-title",children:f.I18n.t("Export selected blocks")}),(0,te.jsx)(q.Z,{classes:{root:e.overflowY},children:(0,te.jsx)("pre",{id:"export-text",className:"".concat(e.textArea," ").concat("dark"===this.props.themeType?"":e.textAreaLight),children:this.props.text})}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",color:"secondary",startIcon:(0,te.jsx)(z.u$v,{}),children:(0,te.jsx)("a",{download:s,target:"_blank",rel:"noreferrer",href:URL.createObjectURL(t),style:{textDecoration:"inherit",color:"inherit"},children:f.I18n.t("Download as file")})}),(0,te.jsx)(V.Z,{variant:"contained",onClick:e=>this.onCopy(e),color:"secondary",startIcon:(0,te.jsx)(mt.Z,{}),children:f.I18n.t("Copy to clipboard")}),(0,te.jsx)(V.Z,{variant:"contained",onClick:()=>this.handleCancel(),color:"primary",startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Close")}),(0,te.jsx)(pt.Z,{id:"popper",style:{zIndex:1e4},open:!!this.state.popper,placement:"top",anchorEl:this.state.anchorEl,transition:!0,children:t=>{let{TransitionProps:s}=t;return(0,te.jsx)(ht.Z,{...s,timeout:350,children:(0,te.jsx)(rt.Z,{children:(0,te.jsx)("p",{className:e.typography,children:this.state.popper})})})}}),(0,te.jsx)("textarea",{id:"copy_input",readOnly:!0,style:{position:"absolute",left:-9999},tabIndex:-1,"aria-hidden":!0,value:this.props.text})]})]},"export-dialog")}}gt.defaultProps={open:!0};const bt=(0,u.Z)((e=>({textArea:{width:"100%",height:"100%",overflow:"auto"},textAreaLight:{background:"lightgray"},dialog:{height:"95%"},typography:{padding:e.spacing(2)},overflowY:{overflowY:"hidden"}})))(gt);var yt=s(18267);class vt extends i().Component{constructor(e){super(e),this.state={text:""}}componentDidMount(){setTimeout((()=>{try{window.document.getElementById("import-text-area").focus()}catch(e){}}),100)}static readFileDataUrl(e,t){const s=new FileReader;s.onload=()=>{t(null,{data:s.result,name:e.name})},s.onabort=()=>{console.error("file reading was aborted"),t(f.I18n.t("file reading was aborted"))},s.onerror=e=>{console.error("file reading has failed"),t(f.I18n.t("file reading has failed: %s",e))},s.readAsText(e)}handleDropFile(e){if(e&&e.hasOwnProperty("target")&&(e=e.target.files),!e&&!e.length)return;const t=e[e.length-1];t&&vt.readFileDataUrl(t,((e,t)=>{e?this.setState({error:e}):this.setState({text:t.data})}))}handleCancel(){this.props.onClose()}handleOk(){this.props.onClose(this.state.text)}onChange(e){this.setState({text:e.target.value})}render(){const e=this.props.classes,t=e.dropzone+" "+("accepted"===this.state.imageStatus?e.dropzoneAccepted:"rejected"===this.state.imageStatus?e.dropzoneRejected:"");return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"lg",classes:{paper:e.dialog},fullWidth:!0,open:this.props.open,"aria-labelledby":"import-dialog-title",children:[(0,te.jsx)(J.Z,{id:"import-dialog-title",children:f.I18n.t("Import blocks")}),(0,te.jsxs)(q.Z,{className:e.fullHeight,children:[(0,te.jsx)("textarea",{autoFocus:!0,id:"import-text-area",className:e.textArea,onChange:e=>this.onChange(e),value:this.state.text}),(0,te.jsx)(yt.default,{maxSize:5e7,acceptClassName:e.dropzoneAccepted,rejectClassName:e.dropzoneRejected,onDrop:e=>this.handleDropFile(e),multiple:!1,accept:"text/plain,text/xml,application/xml",className:t,children:e=>{let{getRootProps:t,getInputProps:s,isDragActive:a,isDragReject:i}=e;return i?("rejected"!==this.state.imageStatus&&this.setState({imageStatus:"rejected"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("Some files will be rejected")},"text"),(0,te.jsx)(S.B4e,{className:this.props.classes.icon+" "+this.props.classes.iconError},"icon")]})):a?("accepted"!==this.state.imageStatus&&this.setState({imageStatus:"accepted"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("All files will be accepted")},"text"),(0,te.jsx)(S.hjC,{className:this.props.classes.icon+" "+this.props.classes.iconOk},"icon")]})):("wait"!==this.state.imageStatus&&this.setState({imageStatus:"wait"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("Drop some files here or click...")},"text"),(0,te.jsx)(S.s_P,{className:this.props.classes.icon},"icon")]}))}},"image-drop")]}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",disabled:!this.state.text,onClick:e=>this.handleOk(),color:"primary",startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Import")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Close")})]})]})}}vt.defaultProps={open:!0};const ft=(0,u.Z)((e=>({textArea:{width:"calc(100% - 10px)",height:"80%",resize:"none",fontFamily:"monospace",fontSize:"1em"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"20%",position:"relative"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"30%",width:"30%",color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"}})))(vt);let St,xt=!1,kt=!1,wt=null,Ct=[];function jt(e,t,s,a){if(a=a||[],"BLOCK"!==e.tagName&&"block"!==e.tagName||(s=e.id),"FIELD"===e.tagName||"field"===e.tagName)for(let i=0;ijt(e,t,s,a))),a}class It extends i().Component{constructor(e){super(e),this.blockly=null,this.blocklyWorkspace=null,this.toolbox=null,this.Blockly=window.Blockly,this.state={languageOwnLoaded:kt,languageBlocklyLoaded:xt,changed:!1,message:"",error:"",themeType:this.props.themeType,exportText:"",importText:!1,searchText:this.props.searchText||""},this.originalCode=e.code||"",this.someSelected=null,this.changeTimer=null,this.onResizeBind=this.onResize.bind(this),this.lastCommand="",this.lastSearch=this.props.searchText||"",this.blinkBlock=null,this.loadLanguages()}static loadJS(e,t,s){const a=document.createElement("script");try{a.src=e,a.onload=t,a.onreadystatechange=t,a.onerror=t,(s||window.document.body).appendChild(a)}catch(i){console.error("Cannot load ".concat(e,": ").concat(i)),t&&t()}}static loadScripts(e,t){if(!e||!e.length)return t&&t();const s=e.pop();Ct.includes(s)?setTimeout((()=>It.loadScripts(e,t)),0):(Ct.push(s),It.loadJS("../../adapter/".concat(s,"/blockly.js"),(()=>setTimeout((()=>It.loadScripts(e,t)),0))))}static loadCustomBlockly(e,t){const s=[];for(const a in e)e.hasOwnProperty(a)&&e[a]&&a.match(/^system\.adapter\./)&&"adapter"===e[a].type&&e[a].common&&e[a].common.blockly&&(console.log("Detected custom blockly: ".concat(e[a].common.name)),s.push(e[a].common.name));It.loadScripts(s,t)}static loadXMLDoc(e){let t;return t=window.DOMParser?e=>(new window.DOMParser).parseFromString(e,"text/xml"):"undefined"!==typeof window.ActiveXObject&&new window.ActiveXObject("Microsoft.XMLDOM")?e=>{const t=new window.ActiveXObject("Microsoft.XMLDOM");return t.async="false",t.loadXML(e),t}:()=>null,t(e)}searchBlocks(e){if(this.blocklyWorkspace){const t=jt(this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),e.toLowerCase());return console.log('Search "'.concat(e,'" found blocks: ').concat(t.length?JSON.stringify(t):"none")),t}return[]}searchId(){const e=this.lastSearch&&this.searchBlocks(this.lastSearch);e&&e.length?(this.someSelected=e,this.someSelected.forEach((e=>this.blocklyWorkspace.highlightBlock(e,!0))),this.someSelectedTime=Date.now()):this.someSelected&&(this.someSelected.forEach((e=>this.blocklyWorkspace.highlightBlock(e,!1))),this.someSelected=null)}UNSAFE_componentWillReceiveProps(e){e.command&&this.lastCommand!==e.command&&(this.lastCommand=e.command,setTimeout((()=>this.lastCommand=""),300),"check"===this.lastCommand?this.blocklyCheckBlocks(((e,t)=>{e?(t&&this.blocklyBlinkBlock(t),this.setState({error:{text:f.I18n.t(e),title:f.I18n.t("Error was found")}}),this.blinkBlock=t):this.setState({message:f.I18n.t("Ok")})})):"export"===this.lastCommand?this.exportBlocks():"import"===this.lastCommand&&this.importBlocks()),e.searchText!==this.lastSearch&&(this.lastSearch=e.searchText,this.searchId()),this.state.themeType!==e.themeType&&this.setState({themeType:e.themeType},(()=>this.updateBackground())),this.originalCode!==e.code&&(this.originalCode=e.code||"",this.loadCode(),this.searchId())}loadLanguages(){if(!xt){const e=window.document.createElement("script");e.setAttribute("type","text/javascript"),e.setAttribute("src","google-blockly/msg/js/".concat(f.I18n.getLanguage(),".js")),e.onload=()=>{xt=!0,this.setState({languageBlocklyLoaded:xt})},e.onreadystatechange=()=>{"complete"===this.readyState&&(xt=!0,this.setState({languageBlocklyLoaded:xt}))},window.document.getElementsByTagName("head")[0].appendChild(e)}if(!kt){const e=window.document.createElement("script");e.setAttribute("type","text/javascript"),e.setAttribute("src","google-blockly/own/msg/".concat(f.I18n.getLanguage(),".js")),e.onload=()=>{kt=!0,this.setState({languageOwnLoaded:kt})},e.onreadystatechange=()=>{"complete"===this.readyState&&(kt=!0,this.setState({languageOwnLoaded:kt}))},window.document.getElementsByTagName("head")[0].appendChild(e)}}onResize(){this.Blockly.svgResize(this.blocklyWorkspace)}jsCode2Blockly(e){const t=(e=e||"").split(/[\r\n]+|\r|\n/g);let s,a="";for(let o=t.length-1;o>=0;o--)if("//"===t[o].substring(0,2)){a=t[o].substring(2);break}if("e.select()),t),setTimeout((()=>e.unselect()),t+150)}blocklyRemoveOrphanedShadows(){if(this.blocklyWorkspace){const e=this.blocklyWorkspace.getAllBlocks();let t;for(let s=0;t=e[s];s++)if(t.isShadow()){const e=t.getConnections_(!0);let s;for(let a=0;s=e[a];a++)if(!s.targetConnection){t.dispose();break}}}}blocklyCheckBlocks(e){let t;if(!this.blocklyWorkspace||0===this.blocklyWorkspace.getAllBlocks().length)return void(e&&e("no blocks found"));let s=this.blocklyGetUnconnectedBlock();return s?t="not properly connected":(s=this.blocklyGetBlockWithWarning(),s&&(t="warning on this block")),s?(e?e(t,s):this.blocklyBlinkBlock(s),!1):(e(),!0)}blocklyGetUnconnectedBlock(){const e=this.blocklyWorkspace.getAllBlocks();let t;for(let s=0;t=e[s];s++){const e=t.getConnections_(!0);let s;for(let a=0;s=e[a];a++)if(!s.sourceBlock_||(s.type===this.Blockly.INPUT_VALUE||s.type===this.Blockly.OUTPUT_VALUE)&&!s.targetConnection&&!s._optional)return t}return null}blocklyGetBlockWithWarning(){const e=this.blocklyWorkspace.getAllBlocks();let t;for(let s=0;t=e[s];s++)if(t.warning)return t;return null}blocklyCode2JSCode(e){let t=this.Blockly.JavaScript.workspaceToCode(this.blocklyWorkspace);if(!e){t+="\n";const e=this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),s=this.Blockly.Xml.domToText(e);t+="//".concat(btoa(encodeURIComponent(s)))}return t}exportBlocks(){let e;const t=this.Blockly.getSelected();if(t){const s=this.Blockly.Xml.blockToDom(t);this.Blockly.dragMode_!==this.Blockly.DRAG_FREE&&this.Blockly.Xml.deleteNext(s);const a=t.getRelativeToSurfaceXY();s.setAttribute("x",t.RTL?-a.x:a.x),s.setAttribute("y",a.y),e=this.Blockly.Xml.domToPrettyText(s)}else{const t=this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);e=this.Blockly.Xml.domToPrettyText(t)}this.setState({exportText:e})}importBlocks(){this.setState({importText:!0})}onImportBlocks(e){if(e=(e||"").trim())try{e.startsWith("'+e+"");const t=e.replace(/[\n\r]/g,"").match(/(.*)<\/variables>/);if(t){const e=this.Blockly.utils.xml.textToDomDocument(""+t[1]+"");if(e){const t=e.childNodes&&e.childNodes[0]&&e.childNodes[0].childNodes;if(t)for(let e=0;e.*<\/variables>/g,""),window.scripts.loading=!0;const s=this.Blockly.utils.xml.textToDom(e);if("xml"===s.nodeName)for(let e=0;e';window.scripts.loading=!0;const t=this.Blockly.utils.xml.textToDom(e);this.Blockly.Xml.domToWorkspace(t,this.blocklyWorkspace),window.scripts.loading=!1}catch(e){console.error(e),setTimeout((()=>this.setState({error:f.I18n.t("Cannot extract Blockly code!")})))}setTimeout((()=>this.ignoreChanges=!1),100)}}onBlocklyChanged(){this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange()}async componentDidUpdate(){if(!this.blockly)return;if(this.didUpdate&&(clearTimeout(this.didUpdate),this.didUpdate=null),this.blocklyWorkspace)return;window.addEventListener("resize",this.onResizeBind,!1),wt=wt||await this.getToolbox(),St=St||this.Blockly.utils.xml.textToDom(wt),this.blocklyWorkspace=this.Blockly.inject(this.blockly,{media:"google-blockly/media/",toolbox:St,zoom:{controls:!0,wheel:!1,startScale:1,maxScale:3,minScale:.3,scaleSpeed:1.2},move:{scrollbars:!0,drag:!0,wheel:!0},trashcan:!0,grid:{spacing:25,length:3,colour:"#ccc",snap:!0},sounds:!1}),window.scripts={blocklyWorkspace:this.blocklyWorkspace},this.blocklyWorkspace.registerToolboxCategoryCallback("PROCEDURE",this.Blockly.Procedures.flyoutCategoryNew),this.blocklyWorkspace.addChangeListener((e=>{if(this.someSelected&&Date.now()-this.someSelectedTime>500){const e=this.blocklyWorkspace.getAllBlocks();this.someSelected=null,e.forEach((e=>e.removeSelect()))}[this.Blockly.Events.UI,this.Blockly.Events.CREATE,this.Blockly.Events.VIEWPORT_CHANGE].includes(e.type)||this.ignoreChanges||(this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=setTimeout((()=>{this.changeTimer=null,this.onBlocklyChanged()}),200))})),this.loadCode(),this.onResize();const e=document.getElementsByClassName("blocklyToolboxDiv")[0];this.blockly.appendChild(e),this.updateBackground(),setTimeout((()=>this.searchId()),200)}updateBackground(){const e=document.getElementsByClassName("blocklyMainBackground")[0];"dark"===this.state.themeType?(e._originalStyle||(e._originalStyle={stroke:e.style.stroke,fill:e.style.fill}),e.style.stroke="#3a3a3a",e.style.fill="#515151"):e._originalStyle&&(e.style.stroke=e._originalStyle.stroke,e.style.fill=e._originalStyle.fill)}componentWillUnmount(){this.blocklyWorkspace&&(this.blocklyWorkspace.dispose(),this.blocklyWorkspace=null,this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=null,window.removeEventListener("resize",this.onResizeBind))}onChange(){this.originalCode=this.blocklyCode2JSCode(),this.props.onChange&&this.props.onChange(this.originalCode)}async getToolbox(e){const t=window.document.getElementById("toolbox");let s=t&&t.outerHTML;if(!s)return e?(console.error("Cannot load blocks!"),""):new Promise((e=>{setTimeout((()=>e(this.getToolbox(!0))),500)}));if(s=s.replace(/{(\w+)}/g,((e,t)=>window.MSG[t])),this.Blockly.CustomBlocks){let e="";const t=f.I18n.getLanguage();for(let s=0;s');for(const t in this.Blockly[a].blocks)Object.prototype.hasOwnProperty.call(this.Blockly[a].blocks,t)&&(e+=this.Blockly[a].blocks[t]);e+=""}s=s.replace("%%CUSTOM_BLOCKS%%",e)}return s}renderMessageDialog(){return this.state.message?(0,te.jsx)(b(),{text:"object"===typeof this.state.message?this.state.message.text:this.state.message,title:"object"===typeof this.state.message?this.state.message.title:"",onClose:()=>this.setState({message:""})},"dialogMessage"):null}renderErrorDialog(){return this.state.error?(0,te.jsx)(xe,{text:"object"===typeof this.state.error?this.state.error.text.toString():this.state.error,title:"object"===typeof this.state.error?this.state.error.title:"",onClose:()=>{this.blinkBlock&&(this.blocklyBlinkBlock(this.blinkBlock),this.blinkBlock=null),this.setState({error:""})}},"dialogError"):null}renderExportDialog(){return this.state.exportText?(0,te.jsx)(bt,{theme:this.state.themeType,onClose:()=>this.setState({exportText:""}),text:this.state.exportText,scriptId:this.props.scriptId},"dialogExport"):null}renderImportDialog(){return this.state.importText?(0,te.jsx)(ft,{onClose:e=>{this.setState({importText:!1}),this.onImportBlocks(e)}},"dialogImport"):null}render(){return this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout((()=>{this.didUpdate=null,this.componentDidUpdate()}),100),[(0,te.jsx)("div",{ref:e=>this.blockly=e,style:{width:"100%",height:"100%",position:"relative"}},"blocklyDOM"),this.renderMessageDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderImportDialog()]):null}}const Tt=It;var Dt=s(53329);class At extends i().Component{constructor(e){super(e),this.state={changed:!1,source:this.props.source},!this.state.source&&this.props.isReturn&&(this.state.source="\nreturn false")}componentDidMount(){setTimeout((()=>{try{window.document.getElementById("source-text-area").focus()}catch(e){}}),100)}handleCancel(){this.props.onClose(!1)}handleOk(){this.props.isReturn&&!this.state.source.includes("return ")||this.props.onClose(this.state.source)}onChange(e){this.setState({changed:!0,source:e})}render(){const e=this.props.classes;return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"lg",classes:{paper:e.dialog},fullWidth:!0,open:!0,"aria-labelledby":"source-dialog-title",children:[(0,te.jsx)(J.Z,{id:"source-dialog-title",children:f.I18n.t("Function editor")}),(0,te.jsxs)(q.Z,{className:e.fullHeight,children:[this.props.args&&(0,te.jsxs)("div",{className:e.args,children:[(0,te.jsx)("span",{className:e.argsTitle,children:f.I18n.t("function (")}),this.props.args,(0,te.jsx)("span",{className:e.argsTitle,children:")"})]},"arguments"),(0,te.jsx)(ut,{adapterName:this.props.adapterName,runningInstances:this.props.runningInstances,className:e.textArea,style:{height:this.props.args?"calc(100% - 30px)":"100%"},name:"blockly",socket:this.props.socket,readOnly:!1,checkJs:!1,changed:this.state.changed,code:this.state.source,isDark:"dark"===this.props.themeType,onChange:e=>this.onChange(e),language:"javascript"},"scriptEditor")]}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:(0,te.jsx)(Dt.Z,{}),children:f.I18n.t("Save")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Cancel")})]})]})}}const Nt=(0,u.Z)((e=>({textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:{color:"dark"===e.palette.mode?"white":"black",height:30,width:"100%",fontSize:16},argsTitle:{color:"dark"===e.palette.mode?"white":"black",fontWeight:"bold"}})))(At),Et="style_wrapperRules__Js-Pp",Ot="style_rootWrapper__0Dpqp",_t="style_addClass__ry424";var Rt=s(32449);const Mt="style_switchesItem__RBQz7",zt="style_switchesItemActive__FU8S9",Pt="style_iconTheme__inJLE";var Bt=s(28675);const Ft={},Lt=e=>{let{iconName:t,className:s,adapter:i,socket:o,onClick:n}=e,[r,l]=(0,a.useState)("");if((0,a.useEffect)((()=>{i&&o&&(Ft[i]=Ft[i]||o.getObject("system.adapter.".concat(i)),Ft[i].then((e=>{var t;return(null===e||void 0===e||null===(t=e.common)||void 0===t?void 0:t.icon)&&l("../../adapter/".concat(i,"/").concat(e.common.icon))})))}),[i,o]),i)return(0,te.jsx)("img",{onClick:e=>n&&n(e),src:r||"",className:s,alt:""});{const e=Bt[t||"Help"];return(0,te.jsx)(e,{className:s,onClick:e=>n&&n(e)})}};Lt.defaultProps={className:null,iconName:"Help"};const Ut=Lt,Zt=e=>{let{name:t,id:s,active:a,icon:i,adapter:o,socket:n,onDoubleClick:r,title:l,onTouchMove:c}=e;return(0,te.jsxs)("div",{onDoubleClick:r,onTouchMove:c,title:f.I18n.t(l),className:f.Utils.clsx(Mt,a&&zt,"block-"+s),children:[(0,te.jsx)(Ut,{iconName:i,className:Pt,adapter:o,socket:n}),(0,te.jsx)("span",{children:t?f.I18n.t(t):""})]},s)};Zt.defaultProps={name:"",active:!1,id:"",onDoubleClick:()=>{}};const Wt=Zt,Vt="style_cardStyle__5c+lG",Jt="style_cardStyleActive__n6Nq8",qt="style_controlMenu__J0sIm",Ht="style_closeBtn__TzVMw",Gt="style_isDelete__0Sa6U",Yt="style_drag_mobile__RVp7B";function Kt(e,t,s){let a;return"actions"===e?(a={...t,[e]:{...t[e],[s]:[...t[e][s]]}},a):(a={...t,[e]:[...t[e]]},a)}function Qt(e,t,s,a){switch(e){case"actions":case"conditions":return t[e][s]=t[e][s].filter((e=>e._id!==a)),t;default:return t[e]=t[e].filter((e=>e._id!==a)),t}}const Xt={cardStyle:"style_cardStyle__A9pAJ",nameCard:"style_nameCard__m2nJe",cardStyleActive:"style_cardStyleActive__sMSgj",iconThemCard:"style_iconThemCard__wx6Kq",iconThemCardSelectable:"style_iconThemCardSelectable__H9okn",iconHelp:"style_iconHelp__iIi1g",inputCard:"style_inputCard__qf8Q+",blockName:"style_blockName__CqwBy",controlMenu:"style_controlMenu__8kQnd",closeBtn:"style_closeBtn__LcbOd",controlMenuTop:"style_controlMenuTop__AkzEp",debugInfo:"style_debugInfo__wPdyv",fadeIn:"style_fadeIn__zKsCh",tagCard:"style_tagCard__CEY-X",displayFlex:"style_displayFlex__5sr+i",blockMarginTop:"style_blockMarginTop__Qn7Lh",nameBlock:"style_nameBlock__MZ53S",frontText:"style_frontText__3cVcg",backText:"style_backText__sF8Y-",iconTag:"style_iconTag__2cpM6",displayItalic:"style_displayItalic__9KtQw"};var $t=s(95857),es=s(31238),ts=s.n(es),ss=s(32548),as=s.n(ss),is=s(70810);const os="style_root__h6PjP",ns="style_square__ahzCN",rs="style_icon__jwNl0",ls=e=>{let{fullWidth:t,size:s,onClick:a,style:i,className:o,value:n,square:r,icon:l}=e;return(0,te.jsx)(lt.Button,{variant:"outlined",color:"primary",onClick:a,fullWidth:t,style:i,className:f.Utils.clsx(os,o,r?ns:""),margin:"normal",size:s,children:l?(0,te.jsx)(f.Icon,{className:rs,src:l}):n})};ls.defaultProps={value:"",className:null,variant:"standard",size:"medium",fullWidth:!1,square:!1};const cs=ls,ds="style_root__8DT4l",us=e=>{let{size:t,value:s,style:i,title:o,onChange:n,className:r,customValue:l,disabled:c}=e;const[d,u]=(0,a.useState)(!1);return(0,te.jsxs)(te.Fragment,{children:[(0,te.jsx)(lt.Checkbox,{disabled:c,checked:Boolean(l?s:d),className:f.Utils.clsx(ds,r),onChange:e=>{l&&u(e.target.checked),n(e.target.checked)},size:t}),o||null]})};us.defaultProps={value:!1,disabled:!1,type:null,error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,onChange:()=>{},fullWidth:!1,autoComplete:"",customValue:!1,label:"all"};const ps=(0,a.memo)(us),hs={root:"style_root__WINKv"},ms=e=>{let{autoFocus:t,fullWidth:s,disabled:i,multiline:o,rows:n,autoComplete:r,label:l,error:c,size:d,variant:u,value:p,type:h,style:m,onChange:g,className:b,customValue:y,icon:v}=e;const[S,x]=(0,a.useState)("");return(0,te.jsx)(lt.TextField,{error:!!c,autoFocus:t,fullWidth:s,label:l,disabled:i,variant:u,multiline:o,rows:n,value:y?p:S,type:h,helperText:c,style:m,className:f.Utils.clsx(hs.root,b),autoComplete:r,onChange:e=>{!y&&x(e.target.value),g(e.target.value)},InputProps:{endAdornment:v?(0,te.jsx)(we.Z,{position:"end",children:(0,te.jsx)(f.Icon,{className:hs.icon,src:v})}):null},margin:"normal",size:d})};ms.defaultProps={value:"",type:"text",error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,onChange:()=>{},fullWidth:!1,autoComplete:"",customValue:!1,autoFocus:!1,rows:1};const gs=ms,bs=(0,u.Z)({root:{margin:"10px 0","& .MuiFormControl-marginNormal":{marginTop:0,marginBottom:0},"& > *":{color:"#2d0440 !important"},"& .MuiSelect-icon":{color:"#81688c"},"& label.Mui-focused":{color:"#81688c"},"& .MuiInput-underline:after":{borderBottomColor:"#510573"},"& .MuiInput-underline:before":{borderBottomColor:"#81688c"},"& .MuiInput-underline:hover:before":{borderBottomColor:"#81688c"}}})(lt.FormControl),ys=e=>{let{multiple:t,value:s,customValue:i,socket:o,title:n,attr:r,adapter:l,style:c,onChange:d,className:u,onInstanceHide:p}=e;const[h,m]=(0,a.useState)(s||"test1"),[g,b]=(0,a.useState)([]);return(0,a.useEffect)((()=>{o&&o.getAdapterInstances(l).then((e=>{const t=e.map((e=>({value:e._id.replace("system.adapter.",""),title:e._id.replace("system.adapter.","")})));1===t.length?p(t[0].value):t.unshift({value:l,title:f.I18n.t("All")}),b(t)}))}),[o,l,p]),(0,te.jsxs)(bs,{className:u,fullWidth:!0,style:c,children:[(0,te.jsx)(lt.Select,{variant:"standard",value:(i?s:h)||"_",fullWidth:!0,multiple:t,renderValue:e=>t&&e.join?e.join(", "):e,onChange:e=>{!i&&m(e.target.value),d(e.target.value)},input:r?(0,te.jsx)(lt.Input,{name:r,id:r+"-helper"}):(0,te.jsx)(lt.Input,{name:r}),children:g.map((e=>(0,te.jsxs)(lt.MenuItem,{style:{placeContent:"space-between"},value:e.value||"_",children:[f.I18n.t(e.title),e.title2&&(0,te.jsx)("div",{children:e.title2})]},"key-"+e.value)))}),(0,te.jsx)(lt.FormHelperText,{children:f.I18n.t(n)})]})};ys.defaultProps={value:"",className:null,table:!1,customValue:!1};const vs=ys,fs="style_modalWrapper__VUeGq",Ss="style_modalDialog__MI8Ka";var xs=s(18181);const ks=e=>{let{open:t,onClose:s,children:i,titleButtonApply:o,titleButtonClose:n,onApply:r,className:l,textInput:c,defaultValue:d}=e,[u,p]=(0,a.useState)(d);return(0,te.jsxs)(lt.Dialog,{open:t,maxWidth:"md",disableEscapeKeyDown:!1,onClose:s,classes:{paper:Ss},className:fs,children:[(0,te.jsxs)(lt.DialogContent,{children:[c&&(0,te.jsx)(gs,{className:l,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"medium",rows:10,multiline:!0,value:u,onChange:p,customValue:!0}),!c&&i]}),(0,te.jsxs)(lt.DialogActions,{children:[(0,te.jsx)(V.Z,{onClick:()=>r(c?u:null),variant:"contained",color:"primary",children:xs.default.t(o)}),(0,te.jsx)(V.Z,{color:"grey",onClick:s,variant:"contained",children:xs.default.t(n)})]})]})};ks.defaultProps={open:!1,onApply:()=>{},onClose:()=>{},titleButtonClose:"Cancel",titleButtonApply:"Ok"};const ws=ks,Cs="style_root__AZ3ER",js=e=>{let{multiple:t,value:s,customValue:i,title:o,attr:n,options:r,style:l,onChange:c,className:d,doNotTranslate:u,doNotTranslate2:p}=e;const[h,m]=(0,a.useState)(void 0===s?r[0].value:s),g=i?s:h,b=""===g||null===g||void 0===g?"_":g;return(0,te.jsxs)(lt.FormControl,{variant:"standard",className:f.Utils.clsx(Cs,d),fullWidth:!0,style:l,children:[(0,te.jsxs)(lt.Select,{variant:"standard",value:b,fullWidth:!0,multiple:t,renderValue:e=>{if(t&&e.join){e.sort();let t=e.indexOf("0");-1!==t&&(e.splice(t,1),e.push("0")),t=e.indexOf("_"),-1!==t&&(e.splice(t,1),e.unshift("_"));const s=r.find((e=>e.only));if(e.includes(s.value))return s.titleShort?u?s.titleShort:f.I18n.t(s.titleShort):u?s.title:f.I18n.t(s.title);return e.map((e=>r.find((t=>t.value===e||"_"===e&&""===t.value))||e)).map((e=>"object"===typeof e?e.titleShort?u?e.titleShort:f.I18n.t(e.titleShort):u?e.title:f.I18n.t(e.title):u?e:f.I18n.t(e))).join(", ")}{const t=r?r.find((t=>t.value===e||"_"===e&&""===t.value)):null;return null!==t&&void 0!==t&&t.title?u?null===t||void 0===t?void 0:t.title:f.I18n.t(null===t||void 0===t?void 0:t.title):e}},onChange:e=>{if(!i&&m(e.target.value),t){const t=r.find((e=>e.only));if(t){const s=t.value;if(e.target.value.length===r.length-1&&e.target.value.includes(s))return c(e.target.value.filter((e=>e!==s)),n);if(e.target.value.includes(s))return c(r.map((e=>e.value)),n)}}c(e.target.value,n)},input:n?(0,te.jsx)(lt.Input,{name:n,id:"".concat(n,"-helper")}):(0,te.jsx)(lt.Input,{name:n}),children:[!t&&r&&r.map((e=>(0,te.jsxs)(lt.MenuItem,{style:{placeContent:"space-between"},value:""===e.value||null===e.value||void 0===e.value?"_":e.value,children:[u?e.title:f.I18n.t(e.title),e.title2&&(0,te.jsx)("div",{children:p?e.title2:f.I18n.t(e.title2)})]},"key-".concat(e.value)))),t&&r&&r.map((e=>(0,te.jsxs)(lt.MenuItem,{style:{placeContent:"space-between"},value:e.value||"_",children:[u?e.title:f.I18n.t(e.title)," ",(0,te.jsx)(ps,{customValue:!0,value:s.includes(e.value)})]},"key-".concat(e.value))))]}),o?(0,te.jsx)(lt.FormHelperText,{children:f.I18n.t(o)}):null]})};js.defaultProps={value:"",className:null,table:!1,customValue:!1,multiple:!1};const Is=js,Ts="style_root__BGOBc",Ds="style_mark__MLqoT",As=e=>{let{fullWidth:t,autoComplete:s,label:i,error:o,size:n,variant:r,value:l,type:c,style:d,onChange:u,className:p,customValue:h,min:m,max:g,step:b,unit:y}=e;const[v,S]=(0,a.useState)(0);m=void 0!==m?m:0,g=void 0!==g?g:0,b=void 0!==b?b:(g-m)/100;const x=[{value:m,label:m+(y||"")},{value:g,label:g+(y||"")}];return(0,te.jsx)(lt.Slider,{defaultValue:h?l:v,"aria-labelledby":"discrete-slider",valueLabelDisplay:"auto",classes:{mark:Ds},marks:x,step:b,min:m,max:g,error:o||"",label:i,variant:r,value:h?l:v,type:c,style:d,className:f.Utils.clsx(Ts,p),autoComplete:s,onChange:(e,t)=>{!h&&S(t),u(t)},margin:"normal",size:n})};As.defaultProps={value:"",type:"text",error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,onChange:()=>{},fullWidth:!1,autoComplete:"",customValue:!1};const Ns=As,Es="style_root__anA9+",Os=e=>{let{label:t,size:s,value:i,style:o,onChange:n,className:r,customValue:l}=e;const[c,d]=(0,a.useState)(!1);return(0,te.jsx)(lt.FormControlLabel,{className:Es,control:(0,te.jsx)(lt.Switch,{checked:l?i:c,style:o,className:r,onChange:e=>{l||d(e.target.checked),n(e.target.checked)},size:s}),label:t})};Os.defaultProps={value:!1,type:"text",error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,onChange:()=>{},fullWidth:!1,autoComplete:"",customValue:!1,label:"all"};const _s=(0,a.memo)(Os),Rs="style_root__xyxno",Ms=e=>{let{value:t,style:s,onChange:a,className:i}=e;return(0,te.jsx)(lt.TextField,{variant:"standard",id:"time",type:"time",onChange:e=>a(e.currentTarget.value),value:t,className:f.Utils.clsx(Rs,i),fullWidth:!0,style:s,InputLabelProps:{shrink:!0},inputProps:{step:300}})};Ms.defaultProps={value:"",className:null,table:!1};const zs=Ms,Ps="style_root__FwemI",Bs=[31,29,31,30,31,30,31,31,30,31,30,31],Fs=e=>{let{value:t,onChange:s,className:a,title:i,style:o}=e,[n,r]=(t||"01.01").toString().split(".");r=parseInt(r,10)||0,n=parseInt(n,10)||0,n>12?n=12:n<0&&(n=0),r>Bs[n]?r=Bs[n]:r<0&&(r=0);let l=[];for(let c=0;cs("".concat(e.target.value.toString().padStart(2,"0"),".").concat(r.toString().padStart(2,"0"))),value:n,children:[(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:0,children:f.I18n.t("Any month")},0),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:1,children:f.I18n.t("January")},1),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:2,children:f.I18n.t("February")},2),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:3,children:f.I18n.t("March")},3),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:4,children:f.I18n.t("April")},4),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:5,children:f.I18n.t("May")},5),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:6,children:f.I18n.t("June")},6),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:7,children:f.I18n.t("July")},7),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:8,children:f.I18n.t("August")},8),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:9,children:f.I18n.t("September")},9),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:10,children:f.I18n.t("October")},10),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:11,children:f.I18n.t("November")},11),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:12,children:f.I18n.t("December")},12)]})}),(0,te.jsx)(lt.FormControl,{variant:"standard",className:f.Utils.clsx(Ps,a),style:o,children:(0,te.jsxs)(lt.Select,{variant:"standard",className:f.Utils.clsx(Ps,a),margin:"dense",label:f.I18n.t("Date"),onChange:e=>s("".concat(n.toString().padStart(2,"0"),".").concat(e.target.value.toString().padStart(2,"0"))),value:r,children:[(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:0,children:f.I18n.t("Any")},"A"),l.map((e=>(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:e,children:e},e)))]})})]})};Fs.defaultProps={value:"",className:null};const Ls=Fs;let Us;const Zs={getName:e=>(Us=Us||f.I18n.getLanguage(),"object"===typeof e?e[Us]||e.en:e)},Ws=0,Vs=1,Js=2,qs=3,Hs=4,Gs=5,Ys=6,Ks=7,Qs=8,Xs=[{selector:".blocks-triggers",content:"Select triggers"},{selector:".block-TriggerScheduleBlock",content:"Double click to add the block"},{selector:".tag-card",content:"Open drop down menu"},{selector:".tag-card-interval",content:"Select interval"},{selector:".blocks-actions",content:"Select action blocks"},{selector:".block-ActionPrintText",content:"Double click to add the block"},{selector:".button-js-code",content:"Check the script"},{selector:".button-js-code",content:"Switch back to rules"},{selector:".button-save",content:"Save the script"}];class $s extends a.PureComponent{constructor(e,t){super(e),this.renderText=(e,t,s)=>{const{className:i}=this.props,{attr:o,frontText:n,backText:r,nameBlock:l,name:c,doNotTranslate:d,doNotTranslateBack:u}=e;return(0,te.jsxs)(a.Fragment,{children:[(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[n&&(0,te.jsx)("div",{className:Xt.frontText,children:d?n:f.I18n.t(n)}),(0,te.jsx)(gs,{className:i,autoComplete:"off",label:Zs.getName(c),variant:"outlined",size:"small",fullWidth:!0,value:t,onChange:s,customValue:!0}),r&&(0,te.jsx)("div",{className:Xt.backText,children:u?r:f.I18n.t(r)})]}),l&&(0,te.jsx)("div",{className:Xt.nameBlock,children:f.I18n.t(l)})]},o)},this.renderSwitch=(e,t,s)=>{const{className:a}=this.props,{attr:i,frontText:o,backText:n,nameBlock:r,doNotTranslate:l,doNotTranslateBack:c}=e;return(0,te.jsxs)("div",{children:[(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[o&&(0,te.jsx)("div",{className:Xt.frontText,children:l?o:f.I18n.t(o)}),(0,te.jsx)(_s,{className:a,label:"",customValue:!0,value:t,onChange:s}),n&&(0,te.jsx)("div",{className:Xt.backText,children:c?n:f.I18n.t(n)})]}),r&&(0,te.jsx)("div",{className:Xt.nameBlock,children:f.I18n.t(r)})]},i)},this.renderNameText=(e,t)=>{let{attr:s,signature:a,doNotTranslate:i,defaultValue:o}=e;return(0,te.jsx)("div",{className:f.Utils.clsx(a?Xt.displayItalic:Xt.displayFlex,Xt.blockMarginTop),children:t?i?t:f.I18n.t(t):i?o:f.I18n.t(o)},s)},this.renderNumber=(e,t,s)=>{const{className:a}=this.props,{settings:i}=this.state,{attr:o,backText:n,frontText:r,openCheckbox:l,doNotTranslate:c,doNotTranslateBack:d}=e;let u=!0;return l&&(u="boolean"!==typeof i.offset||i.offset),u?(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[r&&(0,te.jsx)("div",{className:Xt.frontText,children:c?r:f.I18n.t(r)}),(0,te.jsx)(gs,{className:f.Utils.clsx(a,e.className),fullWidth:!0,autoComplete:"off",label:e.noHelperText?"":"number",variant:"outlined",size:"small",type:"number",value:t,onChange:s,customValue:!0}),n&&(0,te.jsx)("div",{className:Xt.backText,children:d?n:f.I18n.t(n)})]},o):null},this.renderColor=(e,t,s)=>{const{className:a}=this.props,{attr:i,backText:o,frontText:n,doNotTranslate:r,doNotTranslateBack:l}=e;return(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[n&&(0,te.jsx)("div",{className:Xt.frontText,children:r?n:f.I18n.t(n)}),(0,te.jsx)(gs,{className:a,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",type:"color",value:t,onChange:s}),o&&(0,te.jsx)("div",{className:Xt.backText,children:l?o:f.I18n.t(o)})]},i)},this.renderCheckbox=(e,t,s)=>{const{className:a}=this.props,{settings:i}=this.state,{attr:o,backText:n,frontText:r,defaultValue:l,doNotTranslate:c,doNotTranslateBack:d}=e;return(0,te.jsxs)("div",{className:Xt.displayFlex,children:[r&&(0,te.jsx)("div",{className:Xt.frontText,children:c?r:f.I18n.t(r)}),(0,te.jsx)(ps,{className:a,size:"small",style:{marginRight:5},value:"boolean"===typeof i[o]?i[o]:l,customValue:!0,onChange:s}),n&&(0,te.jsx)("div",{onClick:()=>s("boolean"===typeof i[o]?!i[o]:!l),className:Xt.backText,children:d?n:f.I18n.t(n)})]},o)},this.renderSlider=(e,t,s)=>{const{className:a}=this.props,{attr:i,frontText:o,backText:n,nameBlock:r,min:l,max:c,step:d,unit:u,doNotTranslate:p,doNotTranslateBack:h}=e;return(0,te.jsxs)("div",{children:[(0,te.jsxs)("div",{className:Xt.displayFlex,style:{marginRight:20},children:[o&&(0,te.jsx)("div",{className:Xt.frontText,children:p?o:f.I18n.t(o)}),(0,te.jsx)(Ns,{customValue:!0,min:l,max:c,step:d,unit:u,className:a,autoComplete:"off",label:"number",variant:"outlined",size:"small",value:t,onChange:e=>{console.log(e),s(e)}}),n&&(0,te.jsx)("div",{style:{marginLeft:20},className:Xt.backText,children:h?n:f.I18n.t(n)})]}),r&&(0,te.jsx)("div",{className:Xt.nameBlock,children:f.I18n.t(r)})]},i)},this.renderButton=(e,t,s)=>{const{className:a}=this.props,{attr:i,frontText:o,backText:n,buttonText:r,doNotTranslate:l,doNotTranslateBack:c}=e;return(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[o&&(0,te.jsx)("div",{className:Xt.frontText,children:l?o:f.I18n.t(o)}),(0,te.jsx)(cs,{label:r,fullWidth:!0,value:t,className:a,onClick:s}),n&&(0,te.jsx)("div",{className:Xt.backText,children:c?n:f.I18n.t(n)})]},i)},this.findIcon=e=>{var t;if(!e)return Promise.resolve(null);if(null!==(t=e.common)&&void 0!==t&&t.icon)return Promise.resolve((0,is.getSelectIdIcon)(e,"../.."));if("state"===e.type||"channel"===e.type){const t=e._id.split(".");t.pop();const s=t.join(".");return this.props.socket.getObject(s).then((e=>this.findIcon(e))).catch((()=>null))}},this.renderObjectID=(e,t,s)=>{const{attr:a,openCheckbox:i,checkReadOnly:o}=e,{settings:n}=this.state,r=this.state["showSelectId".concat(a)],{className:l,socket:c}=this.props;let d=!0;return i&&(d="boolean"!==typeof n.offset||n.offset),n[a]&&!this.state[n[a]]&&setTimeout((()=>{c.getObject(t).then((e=>{this.findIcon(e).then((t=>{var s;return this.setState({[n[a]]:e,["".concat(n[a],"___icon")]:t,error:o&&this.lastObjectIdChange&&Date.now()-this.lastObjectIdChange<1e3&&!1===(null===e||void 0===e||null===(s=e.common)||void 0===s?void 0:s.write)?f.I18n.t("Read only ID selected: %s",n[a]):""})}))}))}),0),d?(0,te.jsxs)("div",{className:Xt.blockMarginTop,children:[(0,te.jsxs)("div",{className:Xt.displayFlex,children:[e.title?(0,te.jsx)("div",{children:f.I18n.t(e.title)}):null,(0,te.jsx)(gs,{className:l,autoComplete:"off",fullWidth:!0,disabled:!0,variant:"outlined",size:"small",value:t,customValue:!0}),(0,te.jsx)(cs,{icon:this.state["".concat(this.state.settings[e.attr],"___icon")],square:!0,style:{marginLeft:7},value:"...",className:l,onClick:()=>{const e={};e["showSelectId".concat(a)]=!0,this.setState(e)}})]}),this.state[this.state.settings[e.attr]]&&(0,te.jsx)("div",{className:f.Utils.clsx(Xt.nameBlock,Xt.displayItalic),children:f.Utils.getObjectNameFromObj(this.state[n[a]],f.I18n.getLanguage())}),r?(0,te.jsx)(ts(),{imagePrefix:"../..",dialogName:"javascript",themeType:f.Utils.getThemeName(),socket:c,statesOnly:!0,selected:t,onClose:()=>{const e={};e["showSelectId".concat(a)]=!1,this.setState(e)},onOk:(e,t,i)=>{const o={};o["showSelectId".concat(a)]=!1,this.setState(o,(()=>c.getObject(e).then((t=>{this.lastObjectIdChange=Date.now(),s({[a]:e,["".concat(a,"Role")]:t.common.role,["".concat(a,"Type")]:t.common.type,["".concat(a,"Unit")]:t.common.unit,["".concat(a,"States")]:t.common.states,["".concat(a,"Min")]:t.common.min,["".concat(a,"Max")]:t.common.max,["".concat(a,"Step")]:t.common.step,["".concat(a,"Def")]:t.common.def,["".concat(a,"Write")]:t.common.write,["".concat(a,"Read")]:t.common.read},null,(()=>this.props.setOnUpdate&&this.props.setOnUpdate(!0)))}))))}}):null]},a):null},this.renderIconTag=()=>(0,te.jsx)("div",{className:Xt.iconTag,onClick:e=>{this.state.settings.tagCard&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:e.currentTarget}))},children:this.state.settings.tagCard}),this.renderTime=(e,t,s)=>{const{attr:a,backText:i,frontText:o,doNotTranslate:n,doNotTranslateBack:r}=e;return(0,te.jsxs)("div",{className:Xt.displayFlex,style:{whiteSpace:"nowrap"},children:[o&&(0,te.jsx)("div",{className:Xt.frontText,children:n?o:f.I18n.t(o)}),(0,te.jsx)(zs,{value:t,onChange:s}),i&&(0,te.jsx)("div",{className:Xt.backText,children:r?i:f.I18n.t(i)})]},a)},this.renderSelect=(e,t,s)=>{const{className:a}=this.props,{name:i,options:o,frontText:n,backText:r,attr:l,multiple:c,doNotTranslate:d,doNotTranslate2:u,doNotTranslateBack:p}=e;return(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),style:{whiteSpace:"nowrap"},children:[n&&(0,te.jsx)("div",{className:Xt.frontText,children:f.I18n.t(n)}),(0,te.jsx)(Is,{attr:l,doNotTranslate:d,doNotTranslate2:u,title:i,className:a,options:o,value:t,onChange:s,multiple:c,customValue:!0}),r&&(0,te.jsx)("div",{className:Xt.backText,children:p?r:f.I18n.t(r)})]},l)},this.renderInstance=(e,t,s)=>{const{className:a,socket:i}=this.props,{name:o,options:n,frontText:r,backText:l,attr:c,adapter:d,doNotTranslate:u,doNotTranslateBack:p}=e;return this.state.hideAttributes.includes(c)?null:(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),style:{whiteSpace:"nowrap"},children:[r&&(0,te.jsx)("div",{className:Xt.frontText,children:u?r:f.I18n.t(r)}),(0,te.jsx)(vs,{attr:c,socket:i,adapter:d,title:o,className:a,options:n,value:t,onChange:s,customValue:!0,onInstanceHide:e=>this.setState({hideAttributes:[...this.state.hideAttributes,c]},(()=>s(e)))}),l&&(0,te.jsx)("div",{className:Xt.backText,children:p?l:f.I18n.t(l)})]},c)},this.renderDialog=(e,t,s)=>{const{onShowDialog:a,frontText:i,backText:o,attr:n,icon:r,doNotTranslate:l,doNotTranslateBack:c}=e;return(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),style:{whiteSpace:"nowrap"},children:[i&&(0,te.jsx)("div",{className:Xt.frontText,children:l?i:f.I18n.t(i)}),(0,te.jsx)(Ut,{iconName:r,className:f.Utils.clsx(Xt.iconDialog),onClick:e=>a&&a()}),o&&(0,te.jsx)("div",{className:Xt.backText,children:c?o:f.I18n.t(o)})]},n)},this.renderModalInput=(e,t,s)=>{const{openModal:a}=this.state,{className:i}=this.props,{attr:o,nameBlock:n,frontText:r,backText:l,noTextEdit:c,doNotTranslate:d,doNotTranslateBack:u}=e;return(0,te.jsxs)("div",{children:[(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[r&&(0,te.jsx)("div",{className:Xt.frontText,children:d?r:f.I18n.t(r)}),(0,te.jsx)(gs,{disabled:!!c,className:i,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",value:t,onChange:s,customValue:!0}),(0,te.jsx)(cs,{square:!0,style:{marginLeft:5},value:"...",className:i,onClick:()=>this.setState({openModal:!0})}),l&&(0,te.jsx)("div",{className:Xt.backText,children:u?l:f.I18n.t(l)})]}),a?(0,te.jsx)(ws,{open:!0,onApply:e=>this.setState({openModal:!1},(()=>null!==e&&void 0!==e&&s(e))),onClose:()=>this.setState({openModal:!1}),defaultValue:t,textInput:!0}):null,n&&(0,te.jsx)("div",{className:Xt.nameBlock,children:f.I18n.t(n)})]},o)},this.renderDate=(e,t,s)=>{const{attr:a,backText:i,frontText:o,doNotTranslate:n,doNotTranslateBack:r}=e;return(0,te.jsxs)("div",{className:Xt.displayFlex,style:{whiteSpace:"nowrap"},children:[o&&(0,te.jsx)("div",{className:Xt.frontText,children:n?o:f.I18n.t(o)}),(0,te.jsx)(Ls,{value:t,onChange:s}),i&&(0,te.jsx)("div",{className:Xt.backText,children:r?i:f.I18n.t(i)})]},a)},this.renderTags=()=>{let{tagCardArray:e,openTagMenu:t}=this.state,{tagCard:s}=this.state.settings,a="="!==s&&"<>"!==s&&">="!==s&&"()"!==s&&"."!==s&&"<="!==s&&"<"!==s&&">"!==s?f.I18n.t(s):s;return e.length>=3&&(a=(0,te.jsxs)("div",{children:[(0,te.jsx)("div",{"aria-controls":"simple-menu","aria-haspopup":"true",onClick:e=>{this.setState({openTagMenu:e.currentTarget},(()=>{this.props.isTourOpen&&this.props.tourStep===Js&&setTimeout((()=>this.props.setTourStep(qs)),300)}))},children:a}),(0,te.jsx)(lt.Menu,{id:"simple-menu",anchorEl:t,keepMounted:!0,open:Boolean(t),onClose:()=>this.setState({openTagMenu:null}),children:e.map((e=>{let t=e;return"string"!==typeof e&&(t=e.title),(0,te.jsxs)(lt.MenuItem,{selected:t===s,className:"tag-card-"+t,style:{placeContent:"space-between"},onClick:()=>{const e={...this.state.settings,tagCard:t};this.setState({openTagMenu:null,settings:e},(()=>{this.props.onChange(e),this.onTagChange(t)})),this.props.isTourOpen&&(this.props.tourStep===Js||this.props.tourStep===qs)&&"interval"===t&&setTimeout((()=>this.props.setTourStep(Hs)),500)},children:[-1!==t.search(/>|<|<>|<=|>=|=/)?t:f.I18n.t(t),"string"!==typeof e&&e.title2&&(0,te.jsx)("div",{style:{marginLeft:4},children:f.I18n.t(e.title2)})]},t)}))})]})),a},this.onChangeTag=()=>{const{tagCardArray:e,settings:t,settings:{tagCard:s}}=this.state;let a=[...e];if("string"!==typeof a[0]&&(a=a.map((e=>e.title))),s&&a.length<3){const e={...t},i=a[(a.indexOf(s)+1)%a.length];e.tagCard=i,this.setState({settings:e},(()=>{this.props.onChange(e),this.onTagChange(i)}))}},this.componentDidMount=()=>{this.onTagChange()},this.componentDidUpdate=e=>{"triggers"!==this.props.acceptedBy&&this.props.onUpdate&&setTimeout((()=>this.onUpdate()),0)},this.onChangeInput=e=>(t,s,a)=>{const i=JSON.parse(JSON.stringify(this.state.settings));"object"!==typeof t||s&&"function"!==typeof s?i[s||e]=t:Object.keys(t).forEach((e=>i[e]=t[e])),i.id=this.getData().id,i._id=this.props._id,this.setState({settings:i},(()=>{this.onValueChanged(t,s||e),this.props.onChange(i),a&&a()}))},this.render=()=>{const{inputs:e,name:t,icon:s,iconTag:i,settings:o,adapter:n,settings:{tagCard:r},helpDialog:l}=this.state,{socket:c,notFound:d}=this.props;return(0,te.jsxs)(a.Fragment,{children:[i?this.renderIconTag():(0,te.jsx)(Ut,{iconName:s,className:f.Utils.clsx(Xt.iconThemCard,r&&this.state.tagCardArray.length&&Xt.iconThemCardSelectable),adapter:n,socket:c,onClick:e=>{r&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:e.currentTarget}))}}),(0,te.jsxs)("div",{className:Xt.blockName,children:[(0,te.jsxs)("span",{className:Xt.nameCard,children:[f.I18n.t(t),d?f.I18n.t("%s not found",o.id):"",l?(0,te.jsx)(D.Z,{className:Xt.iconHelp,size:"small",onClick:()=>this.setState({helpText:f.I18n.t(l)}),children:(0,te.jsx)($t.Z,{})}):null]}),e.filter((e=>{let{nameRender:t}=e;return this[t]})).map((e=>{const{nameRender:t,defaultValue:s,attr:a,options:i}=e;return this[t](e,void 0!==o[a]?o[a]:s,this.onChangeInput(a),i||[])}))]}),r&&(0,te.jsx)("div",{className:Xt.controlMenuTop,style:{opacity:1,height:22,top:-22},children:(0,te.jsx)("div",{onClick:()=>this.onChangeTag(),className:f.Utils.clsx(Xt.tagCard,"tag-card"),children:this.renderTags()})}),this.renderDebugInfo(),this.state.error?(0,te.jsx)(as(),{title:f.I18n.t("Warning"),text:this.state.error,onClose:()=>this.setState({error:""})}):null,this.state.helpText?(0,te.jsx)(b(),{title:f.I18n.t("Instructions"),text:this.state.helpText,onClose:()=>this.setState({helpText:""})}):null,this.renderSpecific()]})},t=t||{};let s=e.settings||{tagCard:t.tagCardArray?"string"!==typeof t.tagCardArray[0]?t.tagCardArray[0].title:t.tagCardArray[0]:""};!s.tagCard&&t.tagCardArray&&(s.tagCard="string"!==typeof t.tagCardArray[0]?t.tagCardArray[0].title:t.tagCardArray[0]),this.state={inputs:t.inputs||e.inputs||[],name:t.name||e.name||"",icon:t.icon||e.icon||"",adapter:t.adapter||e.adapter||"",helpDialog:t.helpDialog||e.helpDialog||"",tagCardArray:t.tagCardArray||[],openTagMenu:!1,openModal:!1,iconTag:!1,error:"",helpText:"",oid:{},instanceSelectionOptions:[],instanceSelectionDef:"",hideAttributes:[],settings:s,debugMessage:null,enableSimulation:this.props.enableSimulation},this.debugHideTimeout=null}UNSAFE_componentWillReceiveProps(e){if(!e||!e.settings)return void console.log(JSON.stringify(e));const t=JSON.parse(JSON.stringify(e.settings));!t.tagCard&&this.state.tagCardArray&&this.state.tagCardArray.length&&(t.tagCard="string"!==typeof this.state.tagCardArray[0]?this.state.tagCardArray[0].title:this.state.tagCardArray[0]);let s=null;e.onDebugMessage&&e.onDebugMessage.blockId===this.props._id&&(s={},s.debugMessage=JSON.parse(JSON.stringify(e.onDebugMessage)),this.debugHideTimeout&&clearTimeout(this.debugHideTimeout),this.debugHideTimeout=setTimeout((()=>this.setState({debugMessage:null})),e.onDebugMessage.hideTimeout||5e3)),JSON.stringify(t)!==JSON.stringify(this.state.settings)&&(s=s||{},s.settings=t),this.state.enableSimulation!==e.enableSimulation&&(s=s||{},s.enableSimulation=e.enableSimulation),s&&this.setState(s)}componentWillUnmount(){this.debugHideTimeout&&clearTimeout(this.debugHideTimeout),this.debugHideTimeout=null}onTagChange(e,t){let s=!1,a=JSON.parse(JSON.stringify(this.state.settings));this.state.inputs.forEach((e=>{e.attr&&void 0!==e.defaultValue&&void 0===a[e.attr]&&(s=!0,a[e.attr]=e.defaultValue)})),s?(this.setState({settings:a},(()=>t&&t())),this.props.onChange(a)):t&&t()}onUpdate(){}onValueChanged(e,t){}static getReplacesInText(e){var t;let s="";return null!==(t=e.trigger)&&void 0!==t&&t.oidType?s=".replace(/%s/g, obj.state.val).replace(/%id/g, obj.id).replace(/%name/g, obj.common && obj.common.name).replace(/%old/g, obj.oldState.val)":e.conditionsStates.length&&(s=".replace(/%s/g, ".concat(e.conditionsStates[0].name,').replace(/%id/g, "').concat(e.conditionsStates[0].id,'")')),s}renderSpecific(){return null}renderDebugInfo(){return this.state.debugMessage?(0,te.jsx)("div",{className:Xt.debugInfo,style:{opacity:1,height:22,bottom:-22},children:this.renderDebug?this.renderDebug(this.state.debugMessage):f.I18n.t("executed")},this.state.debugMessage.ts):null}}const ea=$s,ta={en:{name:"Google - English",engine:"google",params:[]},de:{name:"Google - Deutsch",engine:"google",params:[]},ru:{name:"Google - \u0420\u0443\u0441\u0441\u043a\u0438\u0439",engine:"google",params:[]},it:{name:"Google - Italiano",engine:"google",params:[]},es:{name:"Google - Espaniol",engine:"google",params:[]},fr:{name:"Google - Fran\xe7ais",engine:"google",params:[]},ru_YA:{name:"Yandex - \u0420\u0443\u0441\u0441\u043a\u0438\u0439",engine:"yandex",params:["key","voice","emotion","ill","drunk","robot"],voice:["jane","zahar"],emotion:["none","good","neutral","evil","mixed"]},ru_YA_CLOUD:{name:"Yandex Cloud - \u0420\u0443\u0441\u0441\u043a\u0438\u0439",engine:"yandexCloud",params:["key","folderID","voice","emotion"],voice:["alyss","oksana","jane","zahar"],emotion:["good","neutral","evil"]},"en-US":{name:"PicoTTS - Englisch US",engine:"PicoTTS",params:[]},"en-GB":{name:"PicoTTS - Englisch GB",engine:"PicoTTS",params:[]},"de-DE":{name:"PicoTTS - Deutsch",engine:"PicoTTS",params:[]},"it-IT":{name:"PicoTTS - Italiano",engine:"PicoTTS",params:[]},"es-ES":{name:"PicoTTS - Espaniol",engine:"PicoTTS",params:[]},"fr-FR":{name:"PicoTTS - Fran\xe7ais",engine:"PicoTTS",params:[]},"ru-RU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"Cloud - \u0420\u0443\u0441\u0441\u043a\u0438\u0439 - \u0422\u0430\u0442\u044c\u044f\u043d\u0430"},"ru-RU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"Cloud - \u0420\u0443\u0441\u0441\u043a\u0438\u0439 - \u041c\u0430\u043a\u0441\u0438\u043c"},"de-DE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Marlene",ssml:!0,name:"Cloud - Deutsch - Marlene"},"de-DE_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Hans",ssml:!0,name:"Cloud - Deutsch - Hans"},"en-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Salli",ssml:!0,name:"Cloud - en-US - Female - Salli"},"en-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Joey",ssml:!0,name:"Cloud - en-US - Male - Joey"},"da-DK_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Naja",ssml:!0,name:"Cloud - da-DK - Female - Naja"},"da-DK_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Mads",ssml:!0,name:"Cloud - da-DK - Male - Mads"},"en-AU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Nicole",ssml:!0,name:"Cloud - en-AU - Female - Nicole"},"en-AU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Russell",ssml:!0,name:"Cloud - en-AU - Male - Russell"},"en-GB_CLOUD_Female_Amy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Amy",ssml:!0,name:"Cloud - en-GB - Female - Amy"},"en-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Brian",ssml:!0,name:"Cloud - en-GB - Male - Brian"},"en-GB_CLOUD_Female_Emma":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Emma",ssml:!0,name:"Cloud - en-GB - Female - Emma"},"en-GB-WLS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"Cloud - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"Cloud - en-GB-WLS - Male - Geraint"},"cy-GB_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"Cloud - cy-GB - Female - Gwyneth"},"cy-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"Cloud - cy-GB - Male - Geraint"},"en-IN_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-IN",ename:"Raveena",ssml:!0,name:"Cloud - en-IN - Female - Raveena"},"en-US_CLOUD_Male_Chipmunk":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"Cloud - en-US - Male - Chipmunk"},"en-US_CLOUD_Male_Eric":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Eric",ssml:!0,name:"Cloud - en-US - Male - Eric"},"en-US_CLOUD_Female_Ivy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Ivy",ssml:!0,name:"Cloud - en-US - Female - Ivy"},"en-US_CLOUD_Female_Jennifer":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Jennifer",ssml:!0,name:"Cloud - en-US - Female - Jennifer"},"en-US_CLOUD_Male_Justin":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Justin",ssml:!0,name:"Cloud - en-US - Male - Justin"},"en-US_CLOUD_Female_Kendra":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kendra",ssml:!0,name:"Cloud - en-US - Female - Kendra"},"en-US_CLOUD_Female_Kimberly":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kimberly",ssml:!0,name:"Cloud - en-US - Female - Kimberly"},"es-ES_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Conchita",ssml:!0,name:"Cloud - es-ES - Female - Conchita"},"es-ES_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Enrique",ssml:!0,name:"Cloud - es-ES - Male - Enrique"},"es-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-US",ename:"Penelope",ssml:!0,name:"Cloud - es-US - Female - Penelope"},"es-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-US",ename:"Miguel",ssml:!0,name:"Cloud - es-US - Male - Miguel"},"fr-CA_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"Cloud - fr-CA - Female - Chantal"},"fr-FR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Celine",ssml:!0,name:"Cloud - fr-FR - Female - Celine"},"fr-FR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"Cloud - fr-FR - Male - Mathieu"},"is-IS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Dora",ssml:!0,name:"Cloud - is-IS - Female - Dora"},"is-IS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Karl",ssml:!0,name:"Cloud - is-IS - Male - Karl"},"it-IT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Carla",ssml:!0,name:"Cloud - it-IT - Female - Carla"},"it-IT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"Cloud - it-IT - Male - Giorgio"},"nb-NO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nb-NO",ename:"Liv",ssml:!0,name:"Cloud - nb-NO - Female - Liv"},"nl-NL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"Cloud - nl-NL - Female - Lotte"},"nl-NL_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"Cloud - nl-NL - Male - Ruben"},"pl-PL_CLOUD_Female_Agnieszka":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"Cloud - pl-PL - Female - Agnieszka"},"pl-PL_CLOUD_Male_Jacek":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"Cloud - pl-PL - Male - Jacek"},"pl-PL_CLOUD_Female_Ewa":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"Cloud - pl-PL - Female - Ewa"},"pl-PL_CLOUD_Male_Jan":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jan",ssml:!0,name:"Cloud - pl-PL - Male - Jan"},"pl-PL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Maja",ssml:!0,name:"Cloud - pl-PL - Female - Maja"},"pt-BR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"Cloud - pt-BR - Female - Vitoria"},"pt-BR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"Cloud - pt-BR - Male - Ricardo"},"pt-PT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"Cloud - pt-PT - Male - Cristiano"},"pt-PT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Ines",ssml:!0,name:"Cloud - pt-PT - Female - Ines"},"ro-RO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"Cloud - ro-RO - Female - Carmen"},"sv-SE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"Cloud - sv-SE - Female - Astrid"},"tr-TR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"Cloud - tr-TR - Female - Filiz"},"ru-RU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"AWS Polly - \u0420\u0443\u0441\u0441\u043a\u0438\u0439 - \u0422\u0430\u0442\u044c\u044f\u043d\u0430"},"ru-RU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"AWS Polly - \u0420\u0443\u0441\u0441\u043a\u0438\u0439 - \u041c\u0430\u043a\u0441\u0438\u043c"},"de-DE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Marlene",ssml:!0,name:"AWS Polly - Deutsch - Marlene"},"de-DE_AP_Female_Vicky":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Vicky",ssml:!0,name:"AWS Polly - Deutsch - Vicky"},"de-DE_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Hans",ssml:!0,name:"AWS Polly - Deutsch - Hans"},"en-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Salli",ssml:!0,name:"AWS Polly - en-US - Female - Salli"},"en-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Joey",ssml:!0,name:"AWS Polly - en-US - Male - Joey"},"da-DK_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Naja",ssml:!0,name:"AWS Polly - da-DK - Female - Naja"},"da-DK_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Mads",ssml:!0,name:"AWS Polly - da-DK - Male - Mads"},"en-AU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Nicole",ssml:!0,name:"AWS Polly - en-AU - Female - Nicole"},"en-AU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Russell",ssml:!0,name:"AWS Polly - en-AU - Male - Russell"},"en-GB_AP_Female_Amy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Amy",ssml:!0,name:"AWS Polly - en-GB - Female - Amy"},"en-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Brian",ssml:!0,name:"AWS Polly - en-GB - Male - Brian"},"en-GB_AP_Female_Emma":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Emma",ssml:!0,name:"AWS Polly - en-GB - Female - Emma"},"en-GB-WLS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"AWS Polly - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"AWS Polly - en-GB-WLS - Male - Geraint"},"cy-GB_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"AWS Polly - cy-GB - Female - Gwyneth"},"cy-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"AWS Polly - cy-GB - Male - Geraint"},"en-IN_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-IN",ename:"Raveena",ssml:!0,name:"AWS Polly - en-IN - Female - Raveena"},"en-US_AP_Male_Chipmunk":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"AWS Polly - en-US - Male - Chipmunk"},"en-US_AP_Male_Eric":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Eric",ssml:!0,name:"AWS Polly - en-US - Male - Eric"},"en-US_AP_Female_Ivy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Ivy",ssml:!0,name:"AWS Polly - en-US - Female - Ivy"},"en-US_AP_Female_Jennifer":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Jennifer",ssml:!0,name:"AWS Polly - en-US - Female - Jennifer"},"en-US_AP_Male_Justin":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Justin",ssml:!0,name:"AWS Polly - en-US - Male - Justin"},"en-US_AP_Female_Kendra":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kendra",ssml:!0,name:"AWS Polly - en-US - Female - Kendra"},"en-US_AP_Female_Kimberly":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kimberly",ssml:!0,name:"AWS Polly - en-US - Female - Kimberly"},"es-ES_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Conchita",ssml:!0,name:"AWS Polly - es-ES - Female - Conchita"},"es-ES_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Enrique",ssml:!0,name:"AWS Polly - es-ES - Male - Enrique"},"es-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Penelope",ssml:!0,name:"AWS Polly - es-US - Female - Penelope"},"es-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Miguel",ssml:!0,name:"AWS Polly - es-US - Male - Miguel"},"fr-CA_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"AWS Polly - fr-CA - Female - Chantal"},"fr-FR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Celine",ssml:!0,name:"AWS Polly - fr-FR - Female - Celine"},"fr-FR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"AWS Polly - fr-FR - Male - Mathieu"},"is-IS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Dora",ssml:!0,name:"AWS Polly - is-IS - Female - Dora"},"is-IS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Karl",ssml:!0,name:"AWS Polly - is-IS - Male - Karl"},"it-IT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Carla",ssml:!0,name:"AWS Polly - it-IT - Female - Carla"},"it-IT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"AWS Polly - it-IT - Male - Giorgio"},"nb-NO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nb-NO",ename:"Liv",ssml:!0,name:"AWS Polly - nb-NO - Female - Liv"},"nl-NL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"AWS Polly - nl-NL - Female - Lotte"},"nl-NL_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"AWS Polly - nl-NL - Male - Ruben"},"pl-PL_AP_Female_Agnieszka":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"AWS Polly - pl-PL - Female - Agnieszka"},"pl-PL_AP_Male_Jacek":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"AWS Polly - pl-PL - Male - Jacek"},"pl-PL_AP_Female_Ewa":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"AWS Polly - pl-PL - Female - Ewa"},"pl-PL_AP_Male_Jan":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jan",ssml:!0,name:"AWS Polly - pl-PL - Male - Jan"},"pl-PL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Maja",ssml:!0,name:"AWS Polly - pl-PL - Female - Maja"},"pt-BR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"AWS Polly - pt-BR - Female - Vitoria"},"pt-BR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"AWS Polly - pt-BR - Male - Ricardo"},"pt-PT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"AWS Polly - pt-PT - Male - Cristiano"},"pt-PT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Ines",ssml:!0,name:"AWS Polly - pt-PT - Female - Ines"},"ro-RO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"AWS Polly - ro-RO - Female - Carmen"},"sv-SE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"AWS Polly - sv-SE - Female - Astrid"},"tr-TR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"AWS Polly - tr-TR - Female - Filiz"}};class sa extends ea{constructor(e){super(e,sa.getStaticData())}static compile(e,t){return e.text?"// Sayit ".concat(e.text||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat(e.language&&"_"!==e.language?"".concat(e.language,";"):"").concat(e.volume?"".concat(e.volume,";"):"").concat((e.text||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'});\n\t\tawait setStateAsync("').concat(e.instance,'.tts.text", subActionVar').concat(e._id,");"):"// no text defined\n_sendToFrontEnd(".concat(e._id,", {text: 'No text defined'});")}renderDebug(e){return"".concat(f.I18n.t("Say:")," ").concat(e.data.text)}onTagChange(e){const t=f.I18n.getLanguage(),s=Object.keys(ta).filter((e=>e.startsWith(t))).map((e=>({title:ta[e].name,value:e})));s.unshift({title:"Default",value:"_"}),this.setState({inputs:[{attr:"instance",nameRender:"renderInstance",adapter:"sayit",defaultValue:"sayit.0",frontText:"Instance:"},{nameRender:"renderSelect",frontText:"Language:",options:s,defaultValue:"_",attr:"language"},{nameRender:"renderNameText",defaultValue:"Volume",attr:"textVol"},{nameRender:"renderSlider",attr:"volume",defaultValue:100,min:0,max:100},{attr:"text",nameRender:"renderModalInput",defaultValue:"Hallo",nameBlock:"",frontText:"Text:"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"Say It",id:"ActionSayText",adapter:"sayit",title:"Say some text via sayit adapter",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return sa.getStaticData()}}const aa=sa;class ia extends ea{constructor(e){super(e,ia.getStaticData())}static compile(e,t){return e.recipients?"// Send Email ".concat(e.text||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat((e.text||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'});\n\t\tsendTo("').concat(e.instance||"email.0",'", {\n\t\t to: "').concat(e.recipients||"",'",\n\t\t subject: "').concat((e.subject||"ioBroker").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),",\n\t\t text: subActionVar").concat(e._id,"\n\t\t});"):"// no recipients defined'\n_sendToFrontEnd(".concat(e._id,", {text: 'No recipients defined'});")}renderDebug(e){return"".concat(f.I18n.t("Sent:")," ").concat(e.data.text)}onTagChange(e){this.setState({inputs:[{attr:"instance",nameRender:"renderInstance",defaultValue:"email.0",frontText:"Instance:",adapter:"email"},{attr:"recipients",nameRender:"renderText",defaultValue:"user@mail.ru",frontText:"To:"},{attr:"subject",nameRender:"renderText",defaultValue:"Email from iobroker",nameBlock:"",frontText:"Subject:"},{attr:"text",nameRender:"renderModalInput",defaultValue:"Email from iobroker",nameBlock:"",frontText:"Body:"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"Send email",id:"ActionSendEmail",adapter:"email",title:"Sends an email",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return ia.getStaticData()}}const oa=ia;class na extends ea{constructor(e){super(e,na.getStaticData()),this.cachePromises={}}static compile(e,t){let s=(e.text||"").replace(/"/g,'\\"');return s?"// Telegram ".concat(s||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat((s||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'});\n\t\tsendTo("').concat(e.instance,'", "send", ').concat(e.user&&"_"!==e.user?'{user: "'.concat((e.user||"").replace(/"/g,'\\"'),'", text: subActionVar').concat(e._id,"}"):"subActionVar".concat(e._id),");"):"// no text defined\n_sendToFrontEnd(".concat(e._id,", {text: 'No text defined'});")}renderDebug(e){return"".concat(f.I18n.t("Sent:")," ").concat(e.data.text)}onValueChanged(e,t){"instance"===t&&this._setUsers(e)}_setUsers(e){if(e=e||this.state.settings.instance||"telegram.0",this.cachePromises[e]=this.cachePromises[e]||this.props.socket.getState("".concat(e,".communicate.users")),!this.state.settings._id)return this.setState({inputs:[{nameRender:"renderSelect",adapter:"telegram",frontText:"Instance:",defaultValue:"telegram.0",attr:"instance"},{nameRender:"renderSelect",attr:"user",options:[{title:"telegram.0",value:"telegram.0"}],defaultValue:"",frontText:"User:"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hallo",nameBlock:"",frontText:"Text:"}]},(()=>super.onTagChange()));this.cachePromises[e].then((e=>{try{var t;(e=(e=(e=null!==(t=e)&&void 0!==t&&t.val?JSON.parse(e.val):null)&&Object.keys(e).map((t=>({title:e[t].userName||e[t].firstName,value:t}))))||[]).unshift({title:"all",value:""})}catch(s){e=[{title:"all",value:""}]}this.setState({inputs:[{nameRender:"renderInstance",adapter:"telegram",frontText:"Instance:",defaultValue:"telegram.0",attr:"instance"},{nameRender:"renderSelect",attr:"user",options:e,defaultValue:"_",frontText:"User:"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hallo",nameBlock:"",frontText:"Text:"}]},(()=>super.onTagChange()))}))}onTagChange(e){this._setUsers()}static getStaticData(){return{acceptedBy:"actions",name:"Telegram",id:"ActionTelegram",adapter:"telegram",title:"Sends message via telegram",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return na.getStaticData()}}const ra=na;class la extends ea{constructor(e){super(e,la.getStaticData()),this.cachePromises={}}static compile(e,t){let s=(e.text||"").replace(/"/g,'\\"');return s?"// Pushover ".concat(e.text||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat(s,'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'}); \n\t\tsendTo("').concat(e.instance,'", "send", {\n\t\t message: subActionVar').concat(e._id,',\n\t\t title: "').concat((e.title||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),',\n\t\t sound: "').concat(e.sound,'",\n\t\t priority: ').concat(e.priority,"\n\t\t});"):"// no text defined\n_sendToFrontEnd(".concat(e._id,", {text: 'No text defined'});")}renderDebug(e){return"Sent: ".concat(e.data.text)}onTagChange(e){this.setState({inputs:[{nameRender:"renderInstance",adapter:"pushover",frontText:"Instance:",defaultValue:"pushover.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"title",defaultValue:"ioBroker",frontText:"Title:"},{nameRender:"renderSelect",attr:"sound",defaultValue:"magic",frontText:"Sound:",doNotTranslate:!0,options:[{value:"pushover",title:"pushover"},{value:"bike",title:"bike"},{value:"bugle",title:"bugle"},{value:"cashregister",title:"cashregister"},{value:"classical",title:"classical"},{value:"cosmic",title:"cosmic"},{value:"falling",title:"falling"},{value:"gamelan",title:"gamelan"},{value:"incoming",title:"incoming"},{value:"intermission",title:"intermission"},{value:"magic",title:"magic"},{value:"mechanical",title:"mechanical"},{value:"pianobar",title:"pianobar"},{value:"siren",title:"siren"},{value:"spacealarm",title:"spacealarm"},{value:"tugboat",title:"tugboat"},{value:"alien",title:"alien"},{value:"climb",title:"climb"},{value:"persistent",title:"persistent"},{value:"echo",title:"echo"},{value:"updown",title:"updown"},{value:"none",title:"none"}]},{nameRender:"renderSelect",attr:"priority",defaultValue:-1,frontText:"Priority:",options:[{value:-1,title:"quiet"},{value:0,title:"normal"},{value:1,title:"high-priority"},{value:2,title:"acknowledgment"}]}]},(()=>super.onTagChange()))}static getStaticData(){return{acceptedBy:"actions",name:"Pushover",id:"ActionPushover",adapter:"pushover",title:"Sends message via pushover",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return la.getStaticData()}}const ca=la;class da extends ea{constructor(e){super(e,da.getStaticData()),this.cachePromises={}}static compile(e,t){let s=(e.text||"").replace(/"/g,'\\"');return s?"// whatsapp ".concat(s||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat((s||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'});\n\t\tsendTo("').concat(e.instance,'", "send", {text: subActionVar').concat(e._id).concat(e.phone?', phone: "'.concat(e.phone.replace(/"/g,'\\"'),'"'):"","});"):"// no text defined\n_sendToFrontEnd(".concat(e._id,", {text: 'No text defined'});")}renderDebug(e){return"".concat(f.I18n.t("Sent:")," ").concat(e.data.text)}onTagChange(e){this.setState({inputs:[{nameRender:"renderInstance",adapter:"whatsapp-cmb",frontText:"Instance:",defaultValue:"whatsapp-cmb.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"phone",defaultValue:"",frontText:"Phone:",backText:"(optional)"}]},(()=>super.onTagChange()))}static getStaticData(){return{acceptedBy:"actions",name:"Whatsapp-cmb",id:"ActionWhatsappcmb",adapter:"whatsapp-cmb",title:"Sends message via whatsapp-cmb",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return da.getStaticData()}}const ua=da;class pa extends ea{constructor(e){super(e,pa.getStaticData()),this.cachePromises={}}static compile(e,t){let s=(e.text||"").replace(/"/g,'\\"');return s?"// Pushsafer ".concat(e.text||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat(s,'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'}); \n\t\tsendTo("').concat(e.instance,'", "send", {\n\t\t message: subActionVar').concat(e._id,',\n\t\t title: "').concat((e.title||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),",\n\t\t ").concat(e.device?'device: "'.concat(e.device,'",'):"","\n\t\t ").concat(e.sound&&"_"!==e.sound?'sound: "'.concat(e.sound,'",'):"","\n\t\t priority: ").concat(e.priority,",\n\t\t ").concat(e.vibration&&"_"!==e.vibration?"vibration: ".concat(e.vibration,","):"","\n\t\t});"):"// no text defined\n_sendToFrontEnd(".concat(e._id,", {text: 'No text defined'});")}renderDebug(e){return"Sent: ".concat(e.data.text)}onTagChange(e){this.setState({inputs:[{nameRender:"renderInstance",adapter:"pushsafer",frontText:"Instance:",defaultValue:"pushsafer.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"title",defaultValue:"ioBroker",frontText:"Title:"},{nameRender:"renderSelect",attr:"sound",defaultValue:"magic",frontText:"Sound:",doNotTranslate:!0,options:[{value:"_",title:"Device Default"},{value:"0",title:"Silent"},{value:"1",title:"Ahem (IM)"},{value:"2",title:"Applause (Mail)"},{value:"3",title:"Arrow (Reminder)"},{value:"4",title:"Baby (SMS)"},{value:"5",title:"Bell (Alarm)"},{value:"6",title:"Bicycle (Alarm2)"},{value:"7",title:"Boing (Alarm3)"},{value:"8",title:"Buzzer (Alarm4)"},{value:"9",title:"Camera (Alarm5)"},{value:"10",title:"Car Horn (Alarm6)"},{value:"11",title:"Cash Register (Alarm7)"},{value:"12",title:"Chime (Alarm8)"},{value:"13",title:"Creaky Door (Alarm9)"},{value:"14",title:"Cuckoo Clock (Alarm10)"},{value:"15",title:"Disconnect (Call)"},{value:"16",title:"Dog (Call2)"},{value:"17",title:"Doorbell (Call3)"},{value:"18",title:"Fanfare (Call4)"},{value:"19",title:"Gun Shot (Call5)"},{value:"20",title:"Honk (Call6)"},{value:"21",title:"Jaw Harp (Call7)"},{value:"22",title:"Morse (Call8)"},{value:"23",title:"Electricity (Call9)"},{value:"24",title:"Radio Tuner (Call10)"},{value:"25",title:"Sirens"},{value:"26",title:"Military Trumpets"},{value:"27",title:"Ufo"},{value:"28",title:"Whah Whah Whah"},{value:"29",title:"Man Saying Goodbye"},{value:"30",title:"Man Saying Hello"},{value:"31",title:"Man Saying No"},{value:"32",title:"Man Saying Ok"},{value:"33",title:"Man Saying Ooohhhweee"},{value:"34",title:"Man Saying Warning"},{value:"35",title:"Man Saying Welcome"},{value:"36",title:"Man Saying Yeah"},{value:"37",title:"Man Saying Yes"},{value:"38",title:"Beep short"},{value:"39",title:"Weeeee short"},{value:"40",title:"Cut in and out short"},{value:"41",title:"Finger flicking glas short"},{value:"42",title:"Wa Wa Waaaa short"},{value:"43",title:"Laser short"},{value:"44",title:"Wind Chime short"},{value:"45",title:"Echo short"},{value:"46",title:"Zipper short"},{value:"47",title:"HiHat short"},{value:"48",title:"Beep 2 short"},{value:"49",title:"Beep 3 short"},{value:"50",title:"Beep 4 short"},{value:"51",title:"The Alarm is armed"},{value:"52",title:"The Alarm is disarmed"},{value:"53",title:"The Backup is ready"},{value:"54",title:"The Door is closed"},{value:"55",title:"The Door is opend"},{value:"56",title:"The Window is closed"},{value:"57",title:"The Window is open"},{value:"58",title:"The Light is off"},{value:"59",title:"The Light is on"},{value:"60",title:"The Doorbell rings"},{value:"61",title:"Pager short"},{value:"62",title:"Pager long"}]},{nameRender:"renderSelect",attr:"priority",defaultValue:0,frontText:"Priority:",options:[{value:-2,title:"lowest priority"},{value:-1,title:"lower priority"},{value:0,title:"normal priority"},{value:1,title:"high priority"},{value:2,title:"highest priority"}]},{nameRender:"renderSelect",attr:"vibration",defaultValue:0,frontText:"Vibration:",options:[{value:"_",title:"default"},{value:1,title:"1"},{value:2,title:"2"},{value:3,title:"3"}]}]},(()=>super.onTagChange()))}static getStaticData(){return{acceptedBy:"actions",name:"Pushsafer",id:"ActionPushsafer",adapter:"pushsafer",title:"Sends message via Pushsafer",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return pa.getStaticData()}}const ha=pa,ma={triggers:[],conditions:[[]],justCheck:!1,actions:{then:[],else:[]}};function ga(e,t,s){const a=[];let i=e.triggers;i.length||(i=[{id:"TriggerScriptSave"}]);const o=[];let n=[],r=e.conditions.find((e=>e.find((e=>"()"===e.tagCard))));i.forEach(((t,i)=>{const l=ba(t.id,s);if(l){const c={trigger:t,condition:{},justCheck:!r&&(e.justCheck||!e.conditions.length||!e.conditions[0].length),conditionsDebug:[],conditionsVars:[],conditionsStates:[]},d=l.compile(t,c),u=function(e,t,s){let a=[],i=0;return e&&e.forEach((e=>{if(e.hasOwnProperty("length")&&e.length){const o=[];o&&e.forEach((e=>{const a=ba(e.id,s);a&&(t.condition.index=i++,o.push(a.compile(e,t)))})),a.push("(".concat(o.join(") &&\n ("),")"))}else{const o=ba(e.id,s);o&&(t.condition.index=i++,a.push(o.compile(e,t)))}})),a.length?1===a.length?a[0]||"true":"(".concat(a.join(") || ("),")"):"true"}(e.conditions,c,s),p=ya(e.actions.then,c,s),h=ya(e.actions.else,c,s);o.push("cond".concat(i)),c.prelines&&c.prelines.length&&c.prelines.forEach((e=>n.push(e))),d.includes(" __%%CONDITIONS_VARS%%__")&&(c.conditionsVars=c.conditionsVars.map(((e,t)=>t?" ".concat(e):e)),c.conditionsDebug=c.conditionsDebug.map(((e,t)=>t?" ".concat(e):e))),a.push(d.replace("__%%CONDITIONS_VARS%%__",c.conditionsVars.join("\n")).replace('"__%%DEBUG_CONDITIONS%%__";',c.conditionsDebug.join("\n")).replace("__%%CONDITION%%__",u).replace("__%%THEN%%__",p||"// ignore").replace("__%%ELSE%%__",h||"// ignore").replace(/__%%STATE%%__/g,"cond"+i))}}));let l=a.join("\n\n");return e.justCheck&&!r||(l="".concat(o.map((e=>"let ".concat(e," = false;"))).join("\n"),"\n\n").concat(l)),n&&(l="".concat(n.join("\n"),"\n\n").concat(l)),l}function ba(e,t){return t.find((t=>t.getStaticData&&t.getStaticData().id===e))}function ya(e,t,s){let a=[];return e&&e.forEach((e=>{const i=ba(e.id,s);i&&a.push(i.compile(e,t))})),"\t\t".concat(a.join("\n\n\t\t"))||0}function va(e,t){return ga(e,0,t)}const fa={code2json:function(e){if(!e)return ma;{const s=e.split("\n");try{let e=s.pop().replace(/^\/\//,"");return e=JSON.parse(e),e.triggers||(e=ma),e}catch(t){return ma}}},json2code:function(e,t){let s="";return s+=va(e,t),s+="\n/*\nconst demo = ".concat(JSON.stringify(e,null,2).replace(/\*\//g,"* /"),";\n*/\n"),"".concat(s,"\n//").concat(JSON.stringify(e))},compile:va,STANDARD_FUNCTION:'async function () {\n "__%%DEBUG_TRIGGER%%__";\n __%%CONDITIONS_VARS%%__\n const _cond = __%%CONDITION%%__;\n \n "__%%DEBUG_CONDITIONS%%__";\n \n if (_cond) {\n__%%THEN%%__\n } else {\n__%%ELSE%%__\n }\n}',STANDARD_FUNCTION_ONCHANGE:'async function () {\n "__%%DEBUG_TRIGGER%%__";\n __%%CONDITIONS_VARS%%__\n const _cond = __%%CONDITION%%__;\n \n "__%%DEBUG_CONDITIONS%%__";\n \n if (__%%STATE%%__ === false && _cond) {\n __%%STATE%%__ = true; \n__%%THEN%%__\n } else if (__%%STATE%%__ === true && !_cond) {\n __%%STATE%%__ = false; \n__%%ELSE%%__\n }\n}',STANDARD_FUNCTION_STATE:'async function (obj) {\n "__%%DEBUG_TRIGGER%%__";\n __%%CONDITIONS_VARS%%__\n const _cond = __%%CONDITION%%__;\n \n "__%%DEBUG_CONDITIONS%%__";\n \n if (_cond) {\n__%%THEN%%__\n } else {\n__%%ELSE%%__\n }\n}',STANDARD_FUNCTION_STATE_ONCHANGE:'async function (obj) {\n "__%%DEBUG_TRIGGER%%__";\n __%%CONDITIONS_VARS%%__\n const _cond = __%%CONDITION%%__;\n \n "__%%DEBUG_CONDITIONS%%__";\n \n if (__%%STATE%%__ === false && _cond) {\n __%%STATE%%__ = true; \n__%%THEN%%__\n } else if (__%%STATE%%__ === true && !_cond) {\n __%%STATE%%__ = false; \n__%%ELSE%%__\n }\n}',NO_FUNCTION:'"__%%DEBUG_TRIGGER%%__";\n__%%CONDITIONS_VARS%%__\nconst _cond = __%%CONDITION%%__;\n\n"__%%DEBUG_CONDITIONS%%__";\n\nif (_cond) {\n__%%THEN%%__\n} else {\n__%%ELSE%%__\n}'};class Sa extends ea{constructor(e){super(e,Sa.getStaticData())}static compile(e){return fa.NO_FUNCTION.replace('"__%%DEBUG_TRIGGER%%__"',"_sendToFrontEnd(".concat(e._id,", {trigger: true})"))}renderDebug(){return xs.default.t("Triggered")}onTagChange(e){this.setState({inputs:[{nameRender:"renderNameText",defaultValue:"On script save or adapter start",attr:"script"}]},(()=>super.onTagChange()))}static getStaticData(){return{acceptedBy:"triggers",name:"Start script",id:"TriggerScriptSave",icon:"PlayArrow",title:"Triggers the on script saving or the javascript instance restart"}}getData(){return Sa.getStaticData()}}const xa=Sa;var ka=s(75801),wa=s.n(ka),Ca=s(22772),ja=s(64101),Ia=s.n(ja),Ta=s(96404);class Da extends ea{constructor(e){super(e,Da.getStaticData()),this.coordinates=null}static compile(e,t){let s="",a=t.justCheck?fa.STANDARD_FUNCTION_STATE:fa.STANDARD_FUNCTION_STATE_ONCHANGE;if(a=a.replace('"__%%DEBUG_TRIGGER%%__"',"_sendToFrontEnd(".concat(e._id,", {trigger: true})")),"interval"===e.tagCard)s="setInterval(".concat(a,", ").concat(e.interval||1," * ").concat("s"===e.unit?1e3:"m"===e.unit?6e4:36e5,");");else if("cron"===e.tagCard)s='schedule("'.concat(e.cron,'", ').concat(a,");");else if("at"===e.tagCard){var i;const[t,o]=(e.at||"").split(":");let n="*";if(null!==e&&void 0!==e&&null!==(i=e.dow)&&void 0!==i&&i.length&&!e.dow.includes("_")){const t=[...e.dow].map((e=>parseInt(e,10)));t.sort();let s=[],a=t[0],i=1;for(;i1?(a===t[i-1]?s.push(a):t[i-1]-a===1?s.push(a+","+t[i-1]):s.push(a+"-"+t[i-1]),a=t[i]):i===t.length-1&&(a===t[i-1]||t[i]-a===1?s.push(a+","+t[i]):s.push(a+"-"+t[i]));n=s.join(",")}s='schedule("'.concat(o||"0"," ").concat(t||"0"," * * ").concat(n,'", ').concat(a,");")}else"astro"===e.tagCard?s='schedule({astro: "'.concat(e.astro,'", shift: ').concat(e.offset?e.offsetValue:0,"}, ").concat(a,");"):"wizard"===e.tagCard&&(s="schedule('".concat(e.wizard,"', ").concat(a,");"));return s}static _time2String(e){return e?"".concat(e.getHours().toString().padStart(2,"0"),":").concat(e.getMinutes().toString().padStart(2,"0")):"--:--"}async _setAstro(e,t,s){e=e||this.state.settings.astro||"solarNoon",t=void 0===t?this.state.settings.offset:t,s=void 0===s?this.state.settings.offsetValue:s,s=parseInt(s,10)||0,this.coordinates||await this.props.socket.getObject("system.adapter.javascript.0").then((e=>{let{native:{latitude:t,longitude:s}}=e;if(!t&&!s)return this.props.socket.getObject("system.config").then((e=>{e&&(e.common.latitude||e.common.longitude)?this.coordinates={latitude:e.common.latitude,longitude:e.common.longitude}:this.coordinates=null}));this.coordinates={latitude:t,longitude:s}}));const a=this.coordinates&&wa().getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude),i=a?Object.keys(a).map((e=>({value:e,title:e,title2:"[".concat(Da._time2String(a[e]),"]"),order:a?Da._time2String(a[e]):"??:??"}))):[];i.sort(((e,t)=>e.order>t.order?1:e.ordersuper.onTagChange()))}async _setInterval(e){let t;t=1===(e=parseInt(e||this.state.settings.interval,10)||30)?[{value:"s",title:"second"},{value:"m",title:"minute"},{value:"h",title:"hour"}]:[{value:"s",title:"seconds"},{value:"m",title:"minutes"},{value:"h",title:"hours"}],this.setState({inputs:[{nameRender:"renderNumber",prefix:{en:"every"},attr:"interval",frontText:"every",defaultValue:30,className:"block-input-interval"},{nameRender:"renderSelect",attr:"unit",defaultValue:"s",options:t}]},(()=>super.onTagChange()))}renderDebug(e){return f.I18n.t("Triggered")}onValueChanged(e,t){"astro"===this.state.settings.tagCard?"astro"===t?this._setAstro(e):"offset"===t?this._setAstro(void 0,e):"offsetValue"===t&&this._setAstro(void 0,void 0,e):"interval"===this.state.settings.tagCard&&"interval"===t&&this._setInterval(e)}renderCron(e,t,s){const{className:a}=this.props;let i="";const{settings:o}=this.state,{attr:n}=e;return(0,te.jsxs)("div",{children:[(0,te.jsxs)("div",{style:{display:"flex",alignItems:"baseline"},children:[(0,te.jsx)("div",{style:{width:"100%"},children:this.renderText({attr:n,defaultValue:t},o[n]?o[n]:t,s)}),(0,te.jsx)(cs,{square:!0,style:{marginLeft:7},value:"...",className:a,onClick:()=>this.setState({openDialog:!0})})]}),(0,te.jsx)(ws,{open:this.state.openDialog,onApply:async()=>{await s(i,n),await s((0,Ta.default)(i,f.I18n.getLanguage()),"addText"),this.setState({openDialog:!1})},onClose:()=>this.setState({openDialog:!1}),children:(0,te.jsx)(Ca.default,{cronExpression:o[n]?o[n]:"",onChange:e=>i=e,language:f.I18n.getLanguage()})}),this.renderNameText({defaultValue:f.I18n.t("every hour at 0 minutes"),attr:"addText",signature:!0,doNotTranslate:!0},o.addText?o.addText:f.I18n.t("every hour at 0 minutes"),s)]},n)}renderWizard(e,t,s){const{className:a}=this.props,{attr:i}=e;let o="",n=null;return(0,te.jsxs)("div",{children:[(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",marginTop:7},children:[(0,te.jsx)(gs,{className:a,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",multiline:!0,rows:2,value:this.state.settings["".concat(i,"Text")],onChange:e=>s(e),customValue:!0}),(0,te.jsx)(cs,{square:!0,style:{marginLeft:7},value:"...",className:a,onClick:()=>this.setState({openDialog:!0})})]}),(0,te.jsx)(ws,{open:this.state.openDialog,onApply:()=>this.setState({openDialog:!1},(()=>s({["".concat(i,"Text")]:o,[i]:n}))),onClose:()=>this.setState({openDialog:!1}),children:(0,te.jsx)(Ia(),{onChange:(e,t)=>{o=t,n="object"===typeof e?JSON.parse(JSON.stringify(e)):JSON.parse(e),n.valid=n.valid||{},n.valid.from=n.valid.from||Ia().now2string(),n=JSON.stringify(n)}})})]},i)}onTagChange(e){switch(e=e||this.state.settings.tagCard){case"interval":this._setInterval();break;case"cron":this.setState({inputs:[{nameRender:"renderCron",attr:"cron",defaultValue:"0 * * * *"}]},(()=>super.onTagChange()));break;case"wizard":const e=JSON.parse('{"time":{"start":"00:00","end":"24:00","mode":"hours","interval":1},"period":{"days":1}}');e.valid=e.valid||{},e.valid.from=e.valid.from||Ia().now2string(),this.setState({inputs:[{nameRender:"renderWizard",attr:"wizard",defaultValue:JSON.stringify(e)}]},(()=>super.onTagChange(null,(()=>{const t=Ia().state2text(this.state.settings.wizard||e);if(this.state.settings.wizardText!==t){const e=JSON.parse(JSON.stringify(this.state.settings));e.wizardText=t,this.setState({settings:e}),this.props.onChange(e)}}))));break;case"at":this.setState({inputs:[{nameRender:"renderTime",prefix:"at",attr:"at",defaultValue:"07:30"},{nameRender:"renderSelect",attr:"dow",default:"",multiple:!0,defaultValue:["_","1","2","3","4","5","6","0"],options:[{value:"_",title:"Every day",only:!0},{value:"1",title:"Monday",titleShort:"Mo"},{value:"2",title:"Tuesday",titleShort:"Tu"},{value:"3",title:"Wednesday",titleShort:"We"},{value:"4",title:"Thursday",titleShort:"Th"},{value:"5",title:"Friday",titleShort:"Fr"},{value:"6",title:"Saturday",titleShort:"Sa"},{value:"0",title:"Sunday",titleShort:"Su"}]}]},(()=>super.onTagChange()));break;case"astro":this._setAstro()}}static getStaticData(){return{acceptedBy:"triggers",name:"Schedule",id:"TriggerScheduleBlock",icon:"AccessTime",tagCardArray:["cron","wizard","interval","at","astro"],title:"Triggers the rule periodically or on some specific time"}}getData(){return Da.getStaticData()}}const Aa=Da;var Na=s(89891),Ea=s(55931),Oa=s(25801);const _a=i().forwardRef(((e,t)=>(0,te.jsx)(Ea.Z,{direction:"up",ref:t,...e})));class Ra extends ea{constructor(e){super(e,Ra.getStaticData()),this.inputRef=i().createRef()}static compile(e,t){let s=t.justCheck?fa.STANDARD_FUNCTION_STATE:fa.STANDARD_FUNCTION_STATE_ONCHANGE;return s=s.replace('"__%%DEBUG_TRIGGER%%__"',"_sendToFrontEnd(".concat(e._id,", {val: obj.state.val, ack: obj.state.ack, valOld: obj.oldState && obj.oldState.val, ackOld: obj.oldState && obj.oldState.ack})")),'on({id: "'.concat(e.oid||"",'", change: "').concat("on update"===e.tagCard?"any":"ne",'"}, ').concat(s,");")}static renderValue(e){return null===e?"null":void 0===e?"undefined":Array.isArray(e)?e.join(", "):"object"===typeof e?JSON.stringify(e):e.toString()}renderDebug(e){return void 0!==e.data.valOld?(0,te.jsxs)("span",{children:[f.I18n.t("Triggered")," ",(0,te.jsx)("span",{className:e.data.ackOld?this.props.classes.valueAck:this.props.classes.valueNotAck,children:Ra.renderValue(e.data.valOld)})," \u2192 ",(0,te.jsx)("span",{className:e.data.ack?this.props.classes.valueAck:this.props.classes.valueNotAck,children:Ra.renderValue(e.data.val)})]}):(0,te.jsxs)("span",{children:[f.I18n.t("Triggered")," ",(0,te.jsx)("span",{className:e.data.ack?this.props.classes.valueAck:this.props.classes.valueNotAck,children:Ra.renderValue(e.data.val)})]})}onWriteValue(){this.setState({openSimulate:!1});let e=this.state.simulateValue;window.localStorage.setItem("javascript.app.".concat(this.state.settings.oid,"_ack"),this.state.simulateAck),"boolean"===this.state.settings.oidType?e=!0===e||"true"===e||"1"===e:"number"===this.state.settings.oidType&&(e=parseFloat(e)||0),window.localStorage.setItem("javascript.app.".concat(this.state.settings.oid),e),this.props.socket.setState(this.state.settings.oid,{val:e,ack:!!this.state.simulateAck})}renderWriteState(){return(0,te.jsxs)(te.Fragment,{children:[(0,te.jsx)(V.Z,{disabled:!this.state.settings.oid||!this.state.enableSimulation,variant:"contained",color:"primary",onClick:()=>{this.setState({openSimulate:!0,simulateValue:"boolean"===this.state.settings.oidType?"true"===window.localStorage.getItem("javascript.app.".concat(this.state.settings.oid)):window.localStorage.getItem("javascript.app.".concat(this.state.settings.oid))||"",simulateAck:"true"===window.localStorage.getItem("javascript.app.".concat(this.state.settings.oid,"_ack"))}),setTimeout((()=>{var e;return null===(e=this.inputRef.current)||void 0===e?void 0:e.focus()}),200)},children:f.I18n.t("Simulate")}),(0,te.jsxs)(G.Z,{open:!!this.state.openSimulate,TransitionComponent:_a,keepMounted:!0,onClose:()=>this.setState({openSimulate:!1}),"aria-labelledby":"simulate-dialog-slide-title","aria-describedby":"simulate-dialog-slide-description",children:[(0,te.jsx)(J.Z,{id:"simulate-dialog-slide-title",children:f.I18n.t("Trigger with value")}),(0,te.jsxs)(q.Z,{children:["boolean"===this.state.settings.oidType?(0,te.jsx)(Oa.Z,{control:(0,te.jsx)(Na.Z,{inputRef:this.inputRef,onKeyUp:e=>13===e.keyCode&&this.onWriteValue(),value:!!this.state.simulateValue,onChange:e=>this.setState({simulateValue:e.target.checked})}),label:f.I18n.t("Value")}):(0,te.jsx)(Y.Z,{variant:"standard",inputRef:this.inputRef,label:f.I18n.t("Value"),fullWidth:!0,onKeyUp:e=>13===e.keyCode&&this.onWriteValue(),value:this.state.simulateValue,onChange:e=>this.setState({simulateValue:e.target.value})}),(0,te.jsx)("br",{}),(0,te.jsx)(Oa.Z,{control:(0,te.jsx)(Xe.Z,{checked:!!this.state.simulateAck,onChange:e=>this.setState({simulateAck:e.target.checked}),color:"primary"}),label:f.I18n.t("Ack")})]}),(0,te.jsxs)(H.Z,{children:[(0,te.jsxs)(V.Z,{variant:"contained",onClick:()=>this.onWriteValue(),color:"primary",children:[(0,te.jsx)(S.HhX,{}),f.I18n.t("Write")]}),(0,te.jsxs)(V.Z,{color:"grey",variant:"contained",onClick:()=>this.setState({openSimulate:!1}),children:[(0,te.jsx)(S.B4e,{}),f.I18n.t("Close")]})]})]})]})}onTagChange(e){this.setState({inputs:[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},{nameRender:"renderWriteState"}]},(()=>{super.onTagChange()}))}static getStaticData(){return{acceptedBy:"triggers",name:"State",id:"TriggerState",icon:"FlashOn",tagCardArray:["on change","on update"],title:"Triggers the rule on update or change of some state"}}getData(){return Ra.getStaticData()}}const Ma=(0,u.Z)((e=>({valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}})))(Ra),za=s.p+"static/media/hysteresis.04ebd02c6062432f891d.png",Pa="function __hysteresis(val, limit, state, hist, comp) {\n let cond1, cond2;\n if (comp === '>') {\n cond1 = val > limit + hist;\n cond2 = val <= limit - hist;\n } else if (comp === '<') {\n cond1 = val < limit - hist;\n cond2 = val >= limit + hist;\n } else if (comp === '>=') {\n cond1 = val >= limit + hist;\n cond2 = val < limit - hist;\n } else if (comp === '<=') {\n cond1 = val <= limit - hist;\n cond2 = val > limit + hist;\n } else if (comp === '=') {\n cond1 = val <= limit + hist && val > limit - hist;\n cond2 = val > limit + hist || val <= limit - hist;\n } else if (comp === '<>') {\n cond1 = val > limit + hist || val <= limit - hist;\n cond2 = val <= limit + hist && val > limit - hist;\n }\n \n if (!state && cond1) {\n return true;\n } else if (state && cond2) {\n return false;\n } else {\n return state;\n }\n}";class Ba extends ea{constructor(e){super(e,Ba.getStaticData()),this.onShowHelp=()=>this.setState({showHysteresisHelp:!0})}isAllTriggersOnState(){var e,t,s,a;return(null===(e=this.props.userRules)||void 0===e||null===(t=e.triggers)||void 0===t?void 0:t.find((e=>"TriggerState"===e.id)))&&!(null!==(s=this.props.userRules)&&void 0!==s&&null!==(a=s.triggers)&&void 0!==a&&a.find((e=>"TriggerState"!==e.id)))}static compile(e,t){let s=e.value;null!==s&&void 0!==s||(s=!1);let a,i="";if("()"===e.tagCard)t.prelines=t.prelines||[],!t.prelines.find((e=>e!==Pa))&&t.prelines.push(Pa),e.useTrigger?(i="obj.state.val",""===s&&(s=0),a="__hysteresis(subCondVar".concat(e._id,", ").concat(s,", __%%STATE%%__, ").concat(e.hist,', "').concat(e.histComp,'")')):(i='(await getStateAsync("'.concat(e.oid,'")).val'),""===s&&(s=0),"string"===typeof s&&parseFloat(s.trim()).toString()!==s.trim()&&(s='"'.concat(s,'"')),a="__hysteresis(subCondVar".concat(e._id,", ").concat(s,", __%%STATE%%__, ").concat(e.hist,', "').concat(e.histComp,'")'));else if("includes"!==e.tagCard){const n="="===e.tagCard?"==":"<>"===e.tagCard?"!=":e.tagCard;var o;if(e.useTrigger)i="obj.state.val","string"===(null===t||void 0===t||null===(o=t.trigger)||void 0===o?void 0:o.oidType)?(s=s.replace(/"/g,'\\"'),a="subCondVar".concat(e._id," ").concat(n,' "').concat(s,'"')):(""===s&&(s=0),"string"===typeof s&&parseFloat(s.trim()).toString()!==s.trim()&&(s='"'.concat(s,'"')),a="subCondVar".concat(e._id," ").concat(n," ").concat(s));else i='(await getStateAsync("'.concat(e.oid,'")).val'),"string"===e.oidType?(s=s.replace(/"/g,'\\"'),a="subCondVar".concat(e._id," ").concat(n,' "').concat(s,'"')):(""===s&&(s=0),"string"===typeof s&&parseFloat(s.trim()).toString()!==s.trim()&&(s='"'.concat(s,'"')),a="subCondVar".concat(e._id," ").concat(n," ").concat(s))}else{var n;if(e.useTrigger)i="obj.state.val","string"===(null===t||void 0===t||null===(n=t.trigger)||void 0===n?void 0:n.oidType)?(s=s.replace(/"/g,'\\"'),a='obj.state.val.includes("'.concat(s,'")')):a="false";else i='(await getStateAsync("'.concat(e.oid,'")).val'),"string"===e.oidType?(s=s.replace(/"/g,'\\"'),a="subCondVar".concat(e._id,'.includes("').concat(s,'")')):a="false"}return t.conditionsStates.push({name:"subCondVar".concat(e._id),id:e.oid}),t.conditionsVars.push("const subCondVar".concat(e._id," = ").concat(i,";")),t.conditionsVars.push("const subCond".concat(e._id," = ").concat(a,";")),t.conditionsDebug.push("_sendToFrontEnd(".concat(e._id,", {result: subCond").concat(e._id,", value: subCondVar").concat(e._id,', compareWith: "').concat(s,'"});')),"subCond".concat(e._id)}renderDebug(e){const t=this.state.settings.tagCard;return"()"!==t?"".concat(e.data.result.toString().toUpperCase()," [").concat(e.data.value," ").concat(t," ").concat(e.data.compareWith,"]"):f.I18n.t("Triggered")}_setInputs(e,t,s,a,i){var o,n;const r=this.isAllTriggersOnState();t=t||this.state.settings.tagCard,s=s||this.state.settings.oidType,a=a||this.state.settings.oidUnit,i=i||this.state.settings.oidStates,r&&e&&1===(null===(o=this.props.userRules)||void 0===o||null===(n=o.triggers)||void 0===n?void 0:n.length)&&(s=this.props.userRules.triggers[0].oidType,a=this.props.userRules.triggers[0].oidUnit,i=this.props.userRules.triggers[0].oidStates);const l=Ba.getStaticData().tagCardArray.find((e=>e.title===t));let c,d=null;"number"===s?(c=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],i&&(d=Object.keys(i).map((e=>({value:e,title:i[e]}))))):"boolean"===s?(c=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}],d=[{title:"false",value:!1},{title:"true",value:!0}]):(c=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"}],i&&(d=Object.keys(i).map((e=>({value:e,title:i[e]})))));let u,p=null;c.find((e=>e.title===t))||(t=c[0].title,p=p||{...this.state.settings},p.tagCard=t);let h={nameRender:"renderText",defaultValue:"",attr:"value",frontText:"()"===t?"Limit":(null===l||void 0===l?void 0:l.text)||"compare with",doNotTranslateBack:!0,backText:a};d&&(h={nameRender:"renderSelect",defaultValue:d[0].value,options:d,attr:"value",frontText:(null===l||void 0===l?void 0:l.text)||"compare with",doNotTranslateBack:!0,backText:a},d.find((e=>e.value===this.state.settings.value))||(p=p||{...this.state.settings},p.value=d[0].value),d.length<=2&&(c=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}])),u=r&&e?[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1},h]:r?[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"},{nameRender:"renderObjectID",attr:"oid",defaultValue:""},h]:[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},h],"()"===t&&(u.splice(1,0,{nameRender:"renderDialog",icon:"HelpOutline",frontText:"Explanation",onShowDialog:this.onShowHelp}),u.splice(2,0,{nameRender:"renderSelect",attr:"histComp",defaultValue:">",frontText:"Condition",doNotTranslate:!0,options:[{title:">",value:">"},{title:">=",value:">="},{title:"<",value:"<"},{title:"<=",value:"<="},{title:"=",value:"="},{title:"<>",value:"<>"}]}),u.push({frontText:"\u0394",doNotTranslate:!0,nameRender:"renderNumber",noHelperText:!0,attr:"hist",defaultValue:1,doNotTranslateBack:!0,backText:a}));const m={iconTag:!0,tagCardArray:c,inputs:u};this.setState(m,(()=>super.onTagChange(null,(()=>{p&&(this.setState({settings:p}),this.props.onChange(p))}))))}onValueChanged(e,t,s){"object"===typeof e?this._setInputs(e.useTrigger,e.tagCard,e.oidType,e.states):"useTrigger"===t?this._setInputs(e):"oidType"===t?this._setInputs(e,void 0,e):"oidUnit"===t?this._setInputs(e,void 0,void 0,e):"oidStates"===t&&this._setInputs(e,void 0,void 0,void 0,e)}onUpdate(){this._setInputs(this.state.settings.useTrigger)}onTagChange(e){this._setInputs(this.state.settings.useTrigger,e)}static getStaticData(){return{acceptedBy:"conditions",name:"State condition",id:"ConditionState",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],title:"Compares the state value with user defined value"}}getData(){return Ba.getStaticData()}renderSpecific(){return this.state.showHysteresisHelp?(0,te.jsxs)(G.Z,{open:!0,maxWidth:"md",onClose:()=>this.setState({showHysteresisHelp:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,te.jsx)(q.Z,{children:(0,te.jsx)(fe.Z,{id:"alert-dialog-description",children:(0,te.jsx)("img",{src:za,alt:"Hysteresis"})})}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{onClick:()=>this.setState({showHysteresisHelp:!1}),color:"primary",autoFocus:!0,children:f.I18n.t("OK")})})]}):null}}const Fa=Ba,La=[31,29,31,30,31,30,31,31,30,31,30,31];class Ua extends ea{constructor(e){super(e,Ua.getStaticData())}static compile(e,t){const s="="===e.tagCard?"===":"<>"===e.tagCard?"!==":e.tagCard;let a;if(e.withDate){let[t,i]=(e.date||"01.01").toString().split(".");i=parseInt(i,10)||0,t=parseInt(t,10)||0,t>12?t=12:t<0&&(t=0),i>La[t]?i=La[t]:i<0&&(i=0),a=i&&t?"formatDate(Date.now(), 'MM.DD-hh:mm') ".concat(s,' "').concat(e.date,"-").concat(e.time,'"'):0===i&&t?"formatDate(Date.now(), 'MM-hh:mm') ".concat(s,' "').concat(t.toString().padStart(2,"0"),"-").concat(e.time,'"'):0===t&&i?"formatDate(Date.now(), 'DD-hh:mm') ".concat(s,' "').concat(i.toString().padStart(2,"0"),"-").concat(e.time,'"'):"formatDate(Date.now(), 'hh:mm') ".concat(s,' "').concat(e.time,'"')}else a="formatDate(Date.now(), 'hh:mm') ".concat(s,' "').concat(e.time,'"');return t.conditionsVars.push("const subCond".concat(e._id," = ").concat(a,";")),t.conditionsDebug.push("_sendToFrontEnd(".concat(e._id,", {result: subCond").concat(e._id,"});")),"subCond".concat(e._id)}_setInputs(e,t){t=void 0===t?this.state.settings.withDate:t,e=e||this.state.settings.tagCard;const s=Ua.getStaticData().tagCardArray.find((t=>t.title===e)),a=[{nameRender:"renderNameText",attr:"interval",defaultValue:"Actual time of day"},{frontText:(null===s||void 0===s?void 0:s.text)||e,nameRender:"renderTime",attr:"time",defaultValue:"12:00"},{frontText:"with date",nameRender:"renderCheckbox",attr:"withDate",defaultValue:!1}];t&&a.push({nameRender:"renderDate",attr:"date",defaultValue:"01.01"}),this.setState({inputs:a,iconTag:!0},(()=>super.onTagChange()))}onValueChanged(e,t){"withDate"===t&&this._setInputs(void 0,e)}onTagChange(e){this._setInputs(e)}static getStaticData(){return{acceptedBy:"conditions",name:"Time condition",id:"ConditionTime",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with the user specific time"}}getData(){return Ua.getStaticData()}}const Za=Ua;class Wa extends ea{constructor(e){super(e,Wa.getStaticData()),this.coordinates=null}static compile(e,t){const s="="===e.tagCard?"===":"<>"===e.tagCard?"!==":e.tagCard;let a;e.offset&&(a=parseInt(e.offsetValue,10)||0);const i="formatDate(Date.now(), 'hh:mm') ".concat(s,' formatDate(getAstroDate("').concat(e.astro,'"').concat(a?", undefined, ".concat(a):"","), 'hh:mm')");return t.conditionsVars.push("const subCond".concat(e._id," = ").concat(i,";")),t.conditionsDebug.push("_sendToFrontEnd(".concat(e._id,", {result: ").concat(i,"});")),i}static _time2String(e){return e?"".concat(e.getHours().toString().padStart(2,"0"),":").concat(e.getMinutes().toString().padStart(2,"0")):"--:--"}onValueChanged(e,t){"astro"===t?this._setAstro(e):"offset"===t?this._setAstro(void 0,e):"offsetValue"===t&&this._setAstro(void 0,void 0,e)}async _setAstro(e,t,s){e=e||this.state.settings.astro||"solarNoon",t=void 0===t?this.state.settings.offset:t,s=void 0===s?this.state.settings.offsetValue:s,s=parseInt(s,10)||0,this.coordinates||await this.props.socket.getObject("system.adapter.javascript.0").then((e=>{let{native:{latitude:t,longitude:s}}=e;if(!t&&!s)return this.props.socket.getObject("system.config").then((e=>{e&&(e.common.latitude||e.common.longitude)?this.coordinates={latitude:e.common.latitude,longitude:e.common.longitude}:this.coordinates=null}));this.coordinates={latitude:t,longitude:s}}));const a=this.coordinates&&wa().getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude),i=a?Object.keys(a).map((e=>({value:e,title:e,title2:"[".concat(Wa._time2String(a[e]),"]"),order:Wa._time2String(a[e])}))):[];i.sort(((e,t)=>e.order>t.order?1:e.ordere.title===this.state.settings.tagCard));let n,r="--:--";if(e&&a&&a[e]){const i=new Date(a[e]);t&&i.setMinutes(i.getMinutes()+parseInt(s,10)),r="(".concat(f.I18n.t(o.text)," ").concat(Wa._time2String(i),")")}n=t?[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:o.text,attr:"astro",nameRender:"renderSelect",options:i,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{backText:1===s?"minute":"minutes",frontText:"offset",nameRender:"renderNumber",defaultValue:0,attr:"offsetValue",noHelperText:!0},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:r}]:[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:o.text,attr:"astro",nameRender:"renderSelect",options:i,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:r}],this.setState({inputs:n},(()=>super.onTagChange()))}onTagChange(e){this._setAstro()}static getStaticData(){return{acceptedBy:"conditions",name:"Astronomical",id:"ConditionAstronomical",icon:"Brightness3",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal to"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal to"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with astronomical event"}}getData(){return Wa.getStaticData()}}const Va=Wa;class Ja extends ea{constructor(e){super(e,Ja.getStaticData())}isAllTriggersOnState(){var e,t,s,a;return(null===(e=this.props.userRules)||void 0===e||null===(t=e.triggers)||void 0===t?void 0:t.find((e=>"TriggerState"===e.id)))&&!(null!==(s=this.props.userRules)&&void 0!==s&&null!==(a=s.triggers)&&void 0!==a&&a.find((e=>"TriggerState"!==e.id)))}static compile(e,t){let s,a=e.value;return e.useTrigger?a=e.toggle?"!obj.state.val":"obj.state.val":(void 0!==a&&null!==a||(a=""),"string"===typeof e.value&&parseFloat(e.value).toString()!==e.value&&"true"!==e.value&&"false"!==e.value&&(a='"'.concat(a.replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t)))),s=e.toggle&&!e.useTrigger?"const subActionVar".concat(e._id,' = !(await getStateAsync("').concat(e.oid,'")).val'):"const subActionVar".concat(e._id," = ").concat(a),"// set state ".concat(e.oid," to ").concat(e.toggle&&!e.useTrigger?"toggle":a," \n\t\t").concat(s,";\n\t\t_sendToFrontEnd(").concat(e._id,", {val: subActionVar").concat(e._id,", ack: ").concat("update"===e.tagCard,'});\n\t\tawait setStateAsync("').concat(e.oid,'", subActionVar').concat(e._id,", ").concat("update"===e.tagCard,");")}static renderValue(e){return null===e?"null":void 0===e?"undefined":Array.isArray(e)?e.join(", "):"object"===typeof e?JSON.stringify(e):e.toString()}renderDebug(e){return(0,te.jsxs)("span",{children:[f.I18n.t("Set:")," ",(0,te.jsx)("span",{className:e.data.ack?this.props.classes.valueAck:this.props.classes.valueNotAck,children:Ja.renderValue(e.data.val)})]})}_setInputs(e,t){const s=this.isAllTriggersOnState();t=void 0===t?this.state.settings.toggle:t,e=void 0===e?this.state.settings.useTrigger:e;let a,i="";const{oidType:o,oidUnit:n,oidStates:r,oidMax:l,oidMin:c,oidRole:d,oidWrite:u,oidStep:p}=this.state.settings;let h,m;if(o&&("number"===o?(i="number",void 0!==l&&void 0!==c&&(i="slider")):"boolean"===o?(i="boolean",d&&d.includes("button")&&u&&(i="button")):(i="",d&&d.includes("color")&&(i="color")),r&&(a=Object.keys(r).map((e=>({value:e,title:r[e]}))),i="select")),s&&e)m=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1}],"boolean"===i&&m.push({backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1});else{switch(i){case"number":m=[{backText:n||"",frontText:"with",nameRender:"renderNumber",defaultValue:void 0===l?0:l,attr:"value"}],void 0!==this.state.settings.value&&isNaN(parseFloat(this.state.settings.value))&&(h={value:void 0===l?0:l});break;case"slider":m=[{nameRender:"renderSlider",defaultValue:l,min:c,max:l,unit:n,step:p,attr:"value"}];const e=parseFloat(this.state.settings.value);void 0!==this.state.settings.value&&(isNaN(e)||el)&&(h={value:l});break;case"select":m=[{nameRender:"renderSelect",frontText:"with",options:a,defaultValue:a[0].value,attr:"value"}],void 0===this.state.settings.value||a.find((e=>e.value===this.state.settings.value))||(h={value:a[0].value});break;case"boolean":m=[{backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1}],t||m.push({backText:"true",frontText:"false",nameRender:"renderSwitch",defaultValue:!1,attr:"value"}),void 0!==this.state.settings.value&&!1!==this.state.settings.value&&!0!==this.state.settings.value&&(h={value:!1});break;case"button":m=[{nameRender:"renderButton",defaultValue:!0,attr:"value"}],void 0!==this.state.settings.value&&!0!==this.state.settings.value&&(h={value:!0});break;case"color":m=[{nameRender:"renderColor",frontText:"with",defaultValue:"#FFFFFF",attr:"value"}],void 0===this.state.settings.value||"string"===typeof this.state.settings.value&&(this.state.settings.value.startsWith("#"),this.state.settings.value.startsWith("rgb"),0)||(h={value:"#FFFFFF"});break;default:m=[{backText:n||"",frontText:"with",nameRender:"renderText",defaultValue:"",attr:"value"}]}s&&m.unshift({backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"})}return{inputs:m,newSettings:h}}onTagChange(e,t,s,a,i){i=void 0===i?this.state.settings.useTrigger:i;const{inputs:o,newSettings:n}=this._setInputs(i,a);o.unshift({nameRender:"renderObjectID",attr:"oid",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:o},(()=>super.onTagChange(null,(()=>{if(n){const e=JSON.parse(JSON.stringify(this.state.settings));Object.assign(e,n),this.setState(e),this.props.onChange(e)}}))))}onValueChanged(e,t,s){this.onTagChange(void 0,void 0,void 0,"toggle"===t?e:void 0,"useTrigger"===t?e:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Set state action",id:"ActionSetState",icon:"PlayForWork",tagCardArray:["control","update"],title:"Control or update some state",helpDialog:"You can use %s in the value to use the current trigger value or %id to display the triggered object ID"}}getData(){return Ja.getStaticData()}}const qa=(0,u.Z)((e=>({valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}})))(Ja);class Ha extends ea{constructor(e){super(e,Ha.getStaticData())}static compile(e,t){return'// exec "'.concat(e.exec,'"\n\t\tconst subActionVar').concat(e._id,' = "').concat((e.exec||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {exec: subActionVar").concat(e._id,"});\n\t\tconsole.log(subActionVar").concat(e._id,");")}renderDebug(e){return"Exec: ".concat(e.data.exec)}onTagChange(e){this.setState({inputs:[{nameRender:"renderModalInput",attr:"exec",defaultValue:"ls /opt/iobroker",nameBlock:"Shell command"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"Exec",id:"ActionExec",icon:"Apps",title:"Executes some shell command",helpDialog:"You can use %s in the command to use current trigger value or %id to use the triggered object ID"}}getData(){return Ha.getStaticData()}}const Ga=Ha;class Ya extends ea{constructor(e){super(e,Ya.getStaticData())}static compile(e,t){return"// HTTP request ".concat(e.url,"\n\t\tconst subActionVar").concat(e._id,' = "').concat((e.url||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {url: subActionVar").concat(e._id,"});\n\t\trequest(subActionVar").concat(e._id,");")}renderDebug(e){return"URL: ".concat(e.data.url)}onTagChange(e){this.setState({inputs:[{nameRender:"renderModalInput",attr:"url",defaultValue:"http://mydevice.com?...",nameBlock:"URL"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"HTTP Call",id:"ActionHTTPCall",icon:"Language",title:"Make a HTTP get request",helpDialog:"You can use %s in the URL to use current trigger value or %id to use the triggered object ID"}}getData(){return Ya.getStaticData()}}const Ka=Ya;class Qa extends ea{constructor(e){super(e,Qa.getStaticData())}static compile(e,t){return"// Log ".concat(e.text,"\n\t\tconst subActionVar").concat(e._id,' = "').concat((e.text||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,"});\n\t\tconsole.log(subActionVar").concat(e._id,");")}renderDebug(e){return f.I18n.t("Log: %s",e.data.text)}onTagChange(e){this.setState({inputs:[{nameRender:"renderModalInput",attr:"text",defaultValue:"My device triggered",nameBlock:"Log text"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"Log text",id:"ActionPrintText",icon:"Subject",title:"Print some text in log",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return Qa.getStaticData()}}const Xa=Qa;class $a extends ea{constructor(e){super(e,$a.getStaticData())}static compile(e,t){const s="ms"===e.unit?1:"s"===e.unit?1e3:"m"===e.unit?6e4:36e5;return"// pause for ".concat(s,"ms\n\t\t_sendToFrontEnd(").concat(e._id,", {paused: true});\n\n\t\tawait wait(").concat(e.pause," * ").concat(s,");\n\n\t\t_sendToFrontEnd(").concat(e._id,", {paused: false});")}renderDebug(e){return xs.default.t("Paused: %s",e.data.paused)}_getOptions(e){return 1===(e=void 0===e?this.state.settings.pause:e)||"1"===e?[{value:"ms",title:"millisecond"},{value:"s",title:"second"},{value:"m",title:"minute"},{value:"h",title:"hour"}]:[{value:"ms",title:"milliseconds"},{value:"s",title:"seconds"},{value:"m",title:"minutes"},{value:"h",title:"hours"}]}_setInputs(e){this.setState({inputs:[{nameRender:"renderNumber",attr:"pause",defaultValue:100,noHelperText:!0},{nameRender:"renderSelect",attr:"unit",defaultValue:"ms",options:this._getOptions(e)}]},(()=>super.onTagChange()))}onValueChanged(e,t){"pause"===t&&this._setInputs(e)}onTagChange(e){this._setInputs()}static getStaticData(){return{acceptedBy:"actions",name:"Pause",id:"ActionPause",icon:"Pause",title:"Make a pause between actions"}}getData(){return $a.getStaticData()}}const ei=$a;class ti extends ea{constructor(e){super(e,ti.getStaticData())}static compile(e,t){const s=(e.func||"").split("\n").map(((e,t)=>" ".concat(e)));return s.unshift("\t\t_sendToFrontEnd(".concat(e._id,", {func: 'executed'});")),s.unshift("// user function"),s.join("\n")}renderDebug(e){return f.I18n.t("Function: executed")}onTagChange(e){this.setState({inputs:[{nameRender:"renderModalInput",attr:"func",noTextEdit:!0,defaultValue:'console.log("Test")',nameBlock:"Function"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"User function",id:"ActionFunction",icon:"Functions",title:"Write your own code",helpDialog:"This is advances option. You can write your own code here and it will be executed on trigger"}}getData(){return ti.getStaticData()}}const si=ti;class ai extends ea{constructor(e){super(e,ai.getStaticData())}isAllTriggersOnState(){var e,t,s,a;return(null===(e=this.props.userRules)||void 0===e||null===(t=e.triggers)||void 0===t?void 0:t.find((e=>"TriggerState"===e.id)))&&!(null!==(s=this.props.userRules)&&void 0!==s&&null!==(a=s.triggers)&&void 0!==a&&a.find((e=>"TriggerState"!==e.id)))}static compile(e,t){let s,a=e.value;return e.useTrigger?a=e.toggle?"!obj.state.val":"obj.state.val":(void 0!==a&&null!==a||(a=""),"string"===typeof e.value&&parseFloat(e.value).toString()!==e.value&&"true"!==e.value&&"false"!==e.value&&(a='"'.concat(a.replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t)))),s=e.toggle&&!e.useTrigger?"const subActionVar".concat(e._id,' = !(await getStateAsync("').concat(e.oid,'")).val'):"const subActionVar".concat(e._id," = ").concat(a),"// set delayed state ".concat(e.oid," to ").concat(e.toggle&&!e.useTrigger?"toggle":a," with delay of ").concat(e.delay,"ms\n\t\t").concat(s,";\n\t\t_sendToFrontEnd(").concat(e._id,", {val: subActionVar").concat(e._id,", ack: ").concat("update"===e.tagCard,'});\n\t\tsetStateDelayed("').concat(e.oid,'", subActionVar').concat(e._id,", ").concat("update"===e.tagCard,", ").concat(parseInt(e.delay,10),", ").concat(e.clearRunning?"true":"false",");")}static renderValue(e){return null===e?"null":void 0===e?"undefined":Array.isArray(e)?e.join(", "):"object"===typeof e?JSON.stringify(e):e.toString()}renderDebug(e){return(0,te.jsxs)("span",{children:[f.I18n.t("Set:")," ",(0,te.jsx)("span",{className:e.data.ack?this.props.classes.valueAck:this.props.classes.valueNotAck,children:ai.renderValue(e.data.val)})]})}_setInputs(e,t){const s=this.isAllTriggersOnState();t=void 0===t?this.state.settings.toggle:t,e=void 0===e?this.state.settings.useTrigger:e;let a,i="";const{oidType:o,oidUnit:n,oidStates:r,oidMax:l,oidMin:c,oidRole:d,oidWrite:u,oidStep:p}=this.state.settings;let h,m;if(o&&("number"===o?(i="number",void 0!==l&&void 0!==c&&(i="slider")):"boolean"===o?(i="boolean",d&&d.includes("button")&&u&&(i="button")):(i="",d&&d.includes("color")&&(i="color")),r&&(a=Object.keys(r).map((e=>({value:e,title:r[e]}))),i="select")),s&&e)m=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1}],"boolean"===i&&m.push({backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1});else{switch(i){case"number":m=[{backText:n||"",frontText:"with",nameRender:"renderNumber",defaultValue:void 0===l?0:l,attr:"value"}],void 0!==this.state.settings.value&&isNaN(parseFloat(this.state.settings.value))&&(h={value:void 0===l?0:l});break;case"slider":m=[{nameRender:"renderSlider",defaultValue:l,min:c,max:l,unit:n,step:p,attr:"value"}];const e=parseFloat(this.state.settings.value);void 0!==this.state.settings.value&&(isNaN(e)||el)&&(h={value:l});break;case"select":m=[{nameRender:"renderSelect",frontText:"with",options:a,defaultValue:a[0].value,attr:"value"}],void 0===this.state.settings.value||a.find((e=>e.value===this.state.settings.value))||(h={value:a[0].value});break;case"boolean":m=[{backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1}],t||m.push({backText:"true",frontText:"false",nameRender:"renderSwitch",defaultValue:!1,attr:"value"}),void 0!==this.state.settings.value&&!1!==this.state.settings.value&&!0!==this.state.settings.value&&(h={value:!1});break;case"button":m=[{nameRender:"renderButton",defaultValue:!0,attr:"value"}],void 0!==this.state.settings.value&&!0!==this.state.settings.value&&(h={value:!0});break;case"color":m=[{nameRender:"renderColor",frontText:"with",defaultValue:"#FFFFFF",attr:"value"}],void 0===this.state.settings.value||"string"===typeof this.state.settings.value&&(this.state.settings.value.startsWith("#"),this.state.settings.value.startsWith("rgb"),0)||(h={value:"#FFFFFF"});break;default:m=[{backText:n||"",frontText:"with",nameRender:"renderText",defaultValue:"",attr:"value"}]}s&&m.unshift({backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"})}return m.push({backText:"ms",frontText:"Delay",nameRender:"renderNumber",defaultValue:"1000",noHelperText:!0,attr:"delay"}),m.push({backText:"clear running",nameRender:"renderCheckbox",defaultValue:!0,attr:"clearRunning"}),{inputs:m,newSettings:h}}onTagChange(e,t,s,a,i){i=void 0===i?this.state.settings.useTrigger:i;const{inputs:o,newSettings:n}=this._setInputs(i,a);o.unshift({nameRender:"renderObjectID",attr:"oid",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:o},(()=>super.onTagChange(null,(()=>{if(n){const e=JSON.parse(JSON.stringify(this.state.settings));Object.assign(e,n),this.setState(e),this.props.onChange(e)}}))))}onValueChanged(e,t,s){this.onTagChange(void 0,void 0,void 0,"toggle"===t?e:void 0,"useTrigger"===t?e:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Set with delay",id:"ActionSetStateDelayed",icon:"PlayForWork",tagCardArray:["control","update"],title:"Control or update some state with delay",helpDialog:"You can use %s in the value to use the current trigger value or %id to display the triggered object ID"}}getData(){return ai.getStaticData()}}const ii=ai;class oi extends ea{constructor(e){super(e,oi.getStaticData())}isAllTriggersOnState(){var e,t,s,a;return(null===(e=this.props.userRules)||void 0===e||null===(t=e.triggers)||void 0===t?void 0:t.find((e=>"TriggerState"===e.id)))&&!(null!==(s=this.props.userRules)&&void 0!==s&&null!==(a=s.triggers)&&void 0!==a&&a.find((e=>"TriggerState"!==e.id)))}static compile(e,t){let s="const val2_".concat(e._id,' = (await getStateAsync("').concat(e.oid1,'")).val;'),a="const val1_".concat(e._id,' = (await getStateAsync("').concat(e.oid2,'")).val;');return"// ".concat(e.oid1," ").concat(e.operation," ").concat(e.oid2," => ").concat(e.oidResult,"\n\t\t ").concat(s,"\n\t\t ").concat(a,"\n\t\t_sendToFrontEnd(").concat(e._id,", {val: val1_").concat(e._id," ").concat(e.operation," val2_").concat(e._id,", ack: ").concat("update"===e.tagCard,'});\n\t\tawait setStateAsync("').concat(e.oidResult,'", val1_').concat(e._id," ").concat(e.operation," val2_").concat(e._id,", ").concat("update"===e.tagCard,");")}static renderValue(e){return null===e?"null":void 0===e?"undefined":Array.isArray(e)?e.join(", "):"object"===typeof e?JSON.stringify(e):e.toString()}renderDebug(e){return(0,te.jsxs)("span",{children:[f.I18n.t("Set:")," ",(0,te.jsx)("span",{className:e.data.ack?this.props.classes.valueAck:this.props.classes.valueNotAck,children:oi.renderValue(e.data.val)})]})}onTagChange(e,t,s,a,i){const o=[];o.push({nameRender:"renderObjectID",title:"ID1",attr:"oid1",defaultValue:"",checkReadOnly:!1}),o.push({nameRender:"renderSelect",options:[{value:"+",title:"+"},{value:"-",title:"-"},{value:"*",title:"*"},{value:"/",title:"/"}],doNotTranslate:!0,defaultValue:"+",attr:"operation"}),o.push({nameRender:"renderObjectID",title:"ID2",attr:"oid2",defaultValue:"",checkReadOnly:!1}),o.push({nameRender:"renderNameText",defaultValue:"store in",attr:"textEqual"}),o.push({nameRender:"renderObjectID",attr:"oidResult",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:o},(()=>super.onTagChange(null,(()=>{const e=JSON.parse(JSON.stringify(this.state.settings));this.props.onChange(e)}))))}onValueChanged(e,t,s){this.onTagChange(void 0,void 0,void 0,"toggle"===t?e:void 0,"useTrigger"===t?e:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Operate two states",id:"ActionOperateStates",icon:"AddBox",tagCardArray:["control","update"],title:"Operations with two states"}}getData(){return oi.getStaticData()}}const ni=[Aa,xa,Ma,Fa,Za,Va,qa,Ga,Ka,Xa,ei,si,ii,oi],ri={telegram:ra,email:oa,sayit:aa,pushover:ca,"whatsapp-cmb":ua,pushsafer:ha},li=(0,a.createContext)(),ci=(e,t,a,i)=>async()=>{await function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return new Promise(((i,o)=>{if(window[e])i();else{const n=document.querySelector('[data-webpack="'.concat(e,'"]')),r=async()=>{if(!window[e])return o('Cannot load Remote "'.concat(e,'" to inject'));window[e].__initialized||(await window[e].init(s.S[t]),window[e].__initialized=!0),i()};if(n)n.onload=r,n.onerror=o;else if(a){const t=document,s=t.createElement("script");s.type="text/javascript",s.setAttribute("data-webpack","".concat(e)),s.async=!0,s.onerror=o,s.onload=r,s.src=a,t.getElementsByTagName("head")[0].appendChild(s)}else o("Cannot Find Remote ".concat(e," to inject"))}}))}(e,t,i);const o=window[e];return(await o.get(a))()},di=e=>{let{children:t,socket:s}=e;const[i,o]=(0,a.useState)(null),[n,r]=(0,a.useState)(!1),[l,c]=(0,a.useState)(!1),[d,u]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{n&&r(!1)}),[n]),(0,a.useEffect)((()=>{(async()=>{const e=await s.getAdapterInstances(),t=Object.keys(ri).filter((t=>e.find((e=>{var s;return(null===e||void 0===e||null===(s=e.common)||void 0===s?void 0:s.name)===t})))),a=[],i=e.filter((e=>e.common.javascriptRules)),n=[];for(let s in i){const e=i[s];if(n.includes(e.common.name))continue;let t;if(t=e.common.javascriptRules.url.startsWith("http:")||e.common.javascriptRules.url.startsWith("https:")?e.common.javascriptRules.url:e.common.javascriptRules.url.startsWith("./")?"".concat(window.location.protocol,"//").concat(window.location.host).concat(e.common.javascriptRules.url.replace(/^\./,"")):"".concat(window.location.protocol,"//").concat(window.location.host,"/adapter/").concat(e.common.name,"/").concat(e.common.javascriptRules.url),!0===e.common.javascriptRules.i18n){const e=t.lastIndexOf("/");let s;s=-1!==e?t.substring(0,e):t;const a=f.I18n.getLanguage(),i="".concat(s,"/i18n/").concat(a,".json");await fetch(i).then((e=>e.json())).then((e=>f.I18n.extendTranslations(e,a))).catch((e=>{if("en"!==a)return fetch("".concat(s,"/i18n/en.json")).then((e=>e.json())).then((e=>f.I18n.extendTranslations(e,a))).catch((e=>console.error('Cannot load i18n "'.concat(i,'": ').concat(e))));console.log('Cannot load i18n "'.concat(i,'": ').concat(e))}))}else if(e.common.javascriptRules.i18n&&"object"===typeof e.common.javascriptRules.i18n)try{f.I18n.extendTranslations(e.common.javascriptRules.i18n)}catch(l){console.error('Cannot import i18n for "'.concat(e.common.javascriptRules.name,'": ').concat(l))}try{const s=(await ci(e.common.javascriptRules.name,"default","./".concat(e.common.javascriptRules.name),t)()).default;s&&(a.push(s),n.push(e.common.name),ri[e.common.name]=null)}catch(c){console.error('Cannot load component "'.concat(e.common.javascriptRules.name,'": ').concat(c))}}const r=t.filter((e=>ri[e])).map((e=>ri[e]));o([...ni,...r,...a])})()}),[]),(0,te.jsx)(li.Provider,{value:{blocks:i,socket:s,onUpdate:n,setOnUpdate:r,onDebugMessage:l,setOnDebugMessage:c,enableSimulation:d,setEnableSimulation:u},children:t})};const ui=(0,a.memo)((e=>{const{setUserRules:t,userRules:s,_id:i,id:o,blockValue:n,active:r,acceptedBy:l,isTourOpen:c,setTourStep:d,tourStep:u}=e,[p,h]=(0,a.useState)(null),{blocks:m,socket:g,onUpdate:b,setOnUpdate:y,onDebugMessage:v,enableSimulation:f}=(0,a.useContext)(li);(0,a.useEffect)((()=>{console.log("New message !!"+JSON.stringify(v))}),[v]);const S=(0,a.useCallback)((e=>m.find((t=>t.getStaticData().id===e))),[m]),x=(0,a.useCallback)((e=>{let a=function(e,t,s){const{_id:a,acceptedBy:i}=e;let o;if(!i||!t[i])return console.warn("Cannot find "+i),t;switch(i){case"actions":case"conditions":return o=t[i][s].find((e=>e._id===a)),o?t[i][s][t[i][s].indexOf(o)]=e:console.warn("Cannot find "+a),t;default:return o=t[i].find((e=>e._id===a)),o?t[i][t[i].indexOf(o)]=e:console.warn("Cannot find "+a),t}}(e,s,n);a&&t(a)}),[s]),k=e=>e.currentTarget!==p&&h(e.currentTarget),w=(0,a.useMemo)((()=>{const t=S(o)||ea;return(0,te.jsx)(t,{isTourOpen:c,setTourStep:d,tourStep:u,notFound:!S(o),...e,onUpdate:b,setOnUpdate:y,enableSimulation:f,onDebugMessage:v,onChange:x,className:null,socket:g})}),[s,b,v,f]),[C,j]=(0,a.useState)(!1);return(0,te.jsxs)("div",{onMouseMove:k,onMouseEnter:k,onMouseLeave:()=>h(null),onMouseDown:e=>{if(e.ctrlKey){let e,a=Kt(l,s,n);e="triggers"!==n?a[l][n].find((e=>e._id===i)):a[l].find((e=>e._id===i)),"triggers"!==n?a[l][n].splice(a[l][n].indexOf(e),0,{...e,_id:Date.now()}):a[l].splice(a[l].indexOf(e),0,{...e,_id:Date.now()}),t(a)}},id:"height",style:r?{width:document.getElementById("width").clientWidth-70}:null,className:"".concat(Vt," ").concat(r?Jt:null," ").concat(C?Gt:null),children:[(0,te.jsx)("div",{className:Yt}),w,t&&(0,te.jsx)("div",{className:qt,style:Boolean(p)?{opacity:1}:{opacity:0},children:(0,te.jsx)("div",{onClick:e=>{let a=Kt(l,s,n);a=Qt(l,a,n,i),j(!0),setTimeout((()=>{"triggers"===l&&y(!0),t(a)}),300)},className:Ht})})]})}));ui.defaultProps={active:!1};const pi=ui,hi={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"},mi=(e,t,s)=>{if(!e||!t)return{display:"none"};let{x:a,y:i}=t;s&&(a-=e.x,i-=e.y,[a,i]=((e,t)=>[32*Math.round(e/32),32*Math.round(t/32)])(a,i),a+=e.x,i+=e.y);const o="translate(".concat(a,"px, ").concat(i,"px)");return{transform:o,WebkitTransform:o}},gi=e=>{const{itemType:t,isDragging:s,item:a,initialOffset:i,currentOffset:o,targetIds:n}=(0,Rt.f)((e=>({item:e.getItem(),itemType:e.getItemType(),initialOffset:e.getInitialSourceClientOffset(),currentOffset:e.getSourceClientOffset(),isDragging:e.isDragging(),targetIds:e.getTargetIds()})));return s?(0,te.jsx)("div",{style:hi,children:(0,te.jsx)("div",{style:mi(i,o),children:"box"===t?n.length?(0,te.jsx)(pi,{active:!0,...a,allBlocks:e.allBlocks}):(0,te.jsx)(Wt,{active:!0,...a,socket:e.socket}):null})}):null},bi={border:"style_border__Zz9Km",emptyBlockStyle:"style_emptyBlockStyle__sE5FO",emptyBlock:"style_emptyBlock__dMBHS",marginTop:"style_marginTop__uK9O+",selectOnChange:"style_selectOnChange__6r-uo",selectOnChangeHelp:"style_selectOnChangeHelp__nP0g8",selectOnChangeHelpIcon:"style_selectOnChangeHelpIcon__r7G9x",emptyBlockNone:"style_emptyBlockNone__DS6GG",mainBlockItemRules:"style_mainBlockItemRules__JYCaQ",nameBlockItems:"style_nameBlockItems__sNeEH",contentBlockItem:"style_contentBlockItem__SQejW",wrapperMargin:"style_wrapperMargin__v8PwE",contentHeightOn:"style_contentHeightOn__T3ZZ-",heightBlock:"style_heightBlock__B96p1",contentHeightOff:"style_contentHeightOff__eaSlV",cardAdd:"style_cardAdd__SNY3P",blockCardAdd:"style_blockCardAdd__xHdXK",addClassOverflow:"style_addClassOverflow__bcVva",addClassHeight:"style_addClassHeight__GJALi"};function yi(e,t){const[s,i]=a.useState(localStorage.getItem(t)?JSON.parse(localStorage.getItem(t)):e);return[s,e=>{localStorage.setItem(t,JSON.stringify(e)),i(e)},!!localStorage.getItem(t)]}var vi=s(60953),fi=s(763),Si=s.n(fi);const xi=Si().throttle(((e,t)=>e(t)),0),ki=(e,t,s,a,i,o,n,r,l)=>{const{card:c,index:d}=wi(e,s);if(!(dt&&r>l)&&c&&d!==t){const e=Si().clone(s);e.splice(d,1),e.splice(t,0,c);const r=Si().clone(i);switch(o){case"actions":case"conditions":return r[o][n]=e,void xi(a,r);default:return r[o]=e,void xi(a,r)}}},wi=(e,t)=>{const s=t.find((t=>t._id===e));return{card:s,index:t.indexOf(s)}},Ci="style_drag__Gq61w",ji="style_root__nSnEB",Ii=e=>{let{typeBlocks:t,allProperties:s,id:i,isActive:o,setUserRules:n,userRules:r,children:l,_id:c,blockValue:d}=e;const{setOnUpdate:u}=(0,a.useContext)(li),[{opacity:p},h,m]=(0,_.c)({type:"box",item:()=>({...s,id:i,isActive:o,_id:c}),end:(e,t)=>{let s,{acceptedBy:a}=e,i=t.getDropResult();if(!i)return"number"!==typeof c||t.getTargetIds().length||(s=Kt(a,r,d),s=Qt(a,s,d,c),n(s)),null;if(i.blockValue!==d){let t="number"===typeof c?c:Date.now();s=Kt(a,r,i.blockValue);const o={id:e.id,acceptedBy:e.acceptedBy};switch(a){case"actions":return d&&(s=Qt(a,s,d,c)),s=Qt(a,s,i.blockValue,c),s[a][i.blockValue].push({...o,_id:t}),n(s);case"conditions":return"number"===typeof d&&(s=Qt(a,s,d,c)),s=Qt(a,s,i.blockValue,c),s[a][i.blockValue].push({...o,_id:t}),n(s);default:return u(!0),s=Qt(a,s,i.blockValue,c),s[a].push({...o,_id:t}),n(s)}}},collect:e=>({opacity:e.isDragging()?.4:1,isDragging:e.isDragging()})}),g=(0,a.useRef)(null),[,b]=(0,O.L)({accept:"box",canDrop:()=>!1,hover(e,s){var a;let{_id:i,acceptedBy:o}=e;if(!g.current)return;if(t!==o)return;const l=null===(a=g.current)||void 0===a?void 0:a.getBoundingClientRect(),u=(l.bottom-l.top)/2,p=s.getClientOffset().y-l.top;if(c&&i!==c)switch(o){case"actions":if("then"===d||"else"===d){const{index:e}=wi(c,r[o][d]);e!==i&&ki(i,e,r[o][d],n,r,o,d,p,u)}return;case"conditions":if("number"===typeof d){const{index:e}=wi(c,r[o][d]);e!==i&&ki(i,e,r[o][d],n,r,o,d,p,u)}return;default:const{index:e}=wi(c,r[o]);return void(e!==i&&ki(i,e,r[o],n,r,o,null,p,u))}}});(0,a.useEffect)((()=>{m((0,vi.r)(),{captureDraggingState:!0})}),[]),h(b(g));const y=window.innerWidth<600;return(0,te.jsxs)("div",{ref:y&&c?null:g,className:ji,style:{opacity:p},children:[(0,te.jsx)("div",{className:c?Ci:null,ref:c&&y?g:null}),l]})};Ii.defaultProps={name:"",active:!1,id:"",_id:null};const Ti=Ii,Di=e=>{let{onClose:t,open:s}=e;return(0,te.jsxs)(G.Z,{open:s,onClose:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,te.jsx)(q.Z,{children:(0,te.jsxs)("div",{style:{fontSize:"1rem",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif',fontWeight:400,lineHeight:1.5,letterSpacing:"0.00938em"},children:[(0,te.jsx)("h3",{children:f.I18n.t("On condition change")}),(0,te.jsx)("div",{children:f.I18n.t("help_on_change")}),(0,te.jsx)("h3",{children:f.I18n.t("Just check")}),(0,te.jsx)("div",{children:f.I18n.t("help_just_check")})]})}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{onClick:t,color:"primary",autoFocus:!0,startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("OK")})})]})};Di.defaultProps={open:!1,onClose:()=>{}};const Ai=Di,Ni=e=>{let{onClose:t,open:s}=e;return(0,te.jsxs)(G.Z,{open:s,onClose:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,te.jsx)(q.Z,{children:(0,te.jsxs)(fe.Z,{id:"alert-dialog-description",children:[(0,te.jsx)("h3",{children:f.I18n.t("On condition change")}),(0,te.jsx)("div",{children:f.I18n.t("help_on_change")}),(0,te.jsx)("h3",{children:f.I18n.t("Just check")}),(0,te.jsx)("div",{children:f.I18n.t("help_just_check")})]})}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{onClick:t,color:"primary",autoFocus:!0,children:f.I18n.t("OK")})})]})};Ni.defaultProps={open:!1,onClose:()=>{}};const Ei=Ni,Oi=e=>{var t;let{size:s,itemsSwitchesRender:i,blockValue:o,boolean:n,typeBlock:r,userRules:l,setUserRules:c,animation:d,setTourStep:u,tourStep:p,isTourOpen:h}=e;const[m,g]=(0,a.useState)(!1),[b,y]=(0,a.useState)(!1),[v,S]=(0,a.useState)(!1),[x,k]=(0,a.useState)(""),w=(0,O.L)({accept:"box",drop:()=>({blockValue:o}),hover:(e,t)=>{let{acceptedBy:s,_id:a}=e;g(s===r),S(!!a),k(t.getHandlerId())},canDrop:(e,t)=>{let{acceptedBy:s}=e;return y(s===r),s===r},collect:e=>{var t;return{isOver:e.isOver(),canDrop:(null===(t=e.getItem())||void 0===t?void 0:t.acceptedBy)===r,offset:e.getClientOffset(),targetId:e.targetId}}}),[{canDrop:C,isOver:j,offset:I,targetId:T},D]=w;(0,a.useEffect)((()=>{k("")}),[I]);const A=C&&j;let N="";return A?N=m?"#00fb003d":"#fb00002e":C?N=b?"#00fb003d":"#fb00002e":I&&(N=T===x?"#fb00002e":""),(0,te.jsx)("div",{ref:D,style:{backgroundColor:N},className:"".concat(f.Utils.clsx(bi.contentBlockItem,s&&bi.addClassHeight)," ").concat(n?d?bi.contentHeightOn:null:bi.contentHeightOff),children:(0,te.jsxs)("div",{className:bi.wrapperMargin,children:[null===(t=i[o])||void 0===t?void 0:t.map((e=>(0,te.jsx)(Ti,{typeBlocks:r,...e,blockValue:o,allProperties:e,userRules:l,setUserRules:c,children:(0,te.jsx)(pi,{...e,isTourOpen:h,setTourStep:u,tourStep:p,settings:e,blockValue:o,userRules:l,setUserRules:c})},e._id))),(0,te.jsx)("div",{style:A&&m&&!v?{height:document.getElementById("height")?document.getElementById("height").clientHeight:200}:null,className:"".concat(bi.emptyBlockStyle," ").concat(A&&m&&!v?bi.emptyBlock:bi.emptyBlockNone)})]})})};Oi.defaultProps={children:null,boolean:!0,animation:!1};const _i=e=>{let{size:t,typeBlock:s,name:i,nameAdditionally:o,additionally:n,border:r,userRules:l,setUserRules:c,iconName:d,adapter:u,socket:p,setTourStep:h,tourStep:m,isTourOpen:g}=e;const[b,y,v]=yi("actions"!==s&&[],"additionallyClickItems_".concat(s)),[S,x]=(0,a.useState)(!1),[k,w]=(0,a.useState)(!1);(0,a.useEffect)((()=>{if("conditions"===s&&b.length!==l.conditions.length-1){let e=[];l.conditions.forEach(((t,s)=>{s>0&&e.push({_id:Date.now(),open:!0})})),y([...b,...e])}"actions"===s&&!v&&l.actions.else.length&&y(!0)}),[]);const[C,j]=(0,a.useState)(!1);return(0,te.jsxs)("div",{className:"".concat(f.Utils.clsx(bi.mainBlockItemRules,t&&bi.addClassOverflow)," ").concat(r&&!t?bi.border:null),children:[(0,te.jsxs)("span",{id:"width",className:bi.nameBlockItems,children:[(0,te.jsx)(Ut,{iconName:d,className:bi.iconThemCard,adapter:u,socket:p}),i]}),"conditions"===s?(0,te.jsxs)("div",{style:{width:"100%"},children:[(0,te.jsxs)(Q.Z,{variant:"standard",className:bi.selectOnChange,value:l.justCheck||!1,onChange:e=>{const t=Kt("conditions",l);t.justCheck=e.target.value,c(t)},children:[(0,te.jsx)(N.Z,{value:!1,children:f.I18n.t("on condition change")}),(0,te.jsx)(N.Z,{value:!0,children:f.I18n.t("just check")})]}),(0,te.jsx)(D.Z,{size:"small",title:f.I18n.t("Explanation"),className:bi.selectOnChangeHelp,onClick:()=>x(!0),children:(0,te.jsx)($t.Z,{className:bi.selectOnChangeHelpIcon})})]}):null,(0,te.jsx)(Oi,{setTourStep:h,tourStep:m,isTourOpen:g,blockValue:"actions"===s?"then":"conditions"===s?0:s,typeBlock:s,setUserRules:c,userRules:l,size:t,itemsSwitchesRender:"actions"===s?l.actions:"conditions"===s?l.conditions:l}),n&&[...Array("actions"===s?1:l.conditions.length-1)].map(((e,i)=>{const n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;return Boolean("actions"===s?b:b.find(((t,s)=>s===e&&t.open)))};return(0,te.jsxs)(a.Fragment,{children:[(0,te.jsxs)("div",{onClick:()=>{if("actions"===s)return y(!b),null;let e=JSON.parse(JSON.stringify(b));if(l.conditions[i+1].length)return e[i].open=!e[i].open,y(e),null;e=e.filter(((e,t)=>t!==i)),y(e),j("actions"===s||i),setTimeout((()=>{j(!1),c({...l,conditions:[...l.conditions.filter(((e,t)=>t!==i+1))]})}),250)},className:bi.blockCardAdd,children:[n()?"-":"+",(0,te.jsx)("div",{className:bi.cardAdd,children:o})]},i),(0,te.jsx)(Oi,{blockValue:"actions"===s?"else":"conditions"===s?i+1:s,typeBlock:s,setUserRules:c,itemsSwitchesRender:"actions"===s?l.actions:"conditions"===s?l.conditions:l,userRules:l,boolean:n(),animation:Boolean(C===i),size:t})]},"".concat(i,"_block_").concat(s))})),n&&"conditions"===s&&(0,te.jsxs)("div",{onClick:()=>{y([...b,{_id:Date.now(),open:!0}]),c({...l,conditions:[...l.conditions,[]]}),j("actions"===s||l.conditions.length-1),setTimeout((()=>j(!1)),1e3)},className:bi.blockCardAdd,children:["+",(0,te.jsx)("div",{className:bi.cardAdd,children:o})]}),(0,te.jsx)(Ai,{open:S,onClose:()=>x(!1)}),(0,te.jsx)(Ei,{open:k,onClose:()=>w(!1)})]})};_i.defaultProps={children:null,name:"",nameAdditionally:"",additionally:!1,border:!1,typeBlock:""};const Ri=_i,Mi="style_menuRules__NRFrw",zi="style_switchesRenderWrapper__MHBpo",Pi="style_menuOff__GV8BN",Bi="style_menuTitle__bnI7K",Fi="style_marginAuto__h3I6J",Li="style_inputWidth__Hkd3w",Ui="style_menuWrapper__16zE-",Zi="style_hamburgerWrapper__+AsNg",Wi="style_hamburgerOff__Tmmok",Vi="style_nothingFound__hm0xN",Ji="style_resetSearch__oA8LS",qi="style_controlPanel__ojI7Z",Hi="style_controlPanelAppBar__fjB3Y",Gi="style_addClassMenu__3n58b",Yi="style_addClassBackground__j1FHK",Ki="style_addClassPosition__YL+W4",Qi=e=>{const{allProperties:t,allProperties:{acceptedBy:s,id:a},setUserRules:i,userRules:o,setTourStep:n,tourStep:r,isTourOpen:l,onTouchMove:c}=e;return(0,te.jsx)(Ti,{...e,...t,children:(0,te.jsx)(Wt,{onTouchMove:c,onDoubleClick:()=>{l&&r===Vs&&"TriggerScheduleBlock"===a&&n(Js),l&&r===Gs&&"ActionPrintText"===a&&n(Ys);let e,t=Date.now();switch(s){case"actions":e="then";break;case"conditions":e=o[s].length-1}let c=Kt(s,o,e);const d={id:a,_id:t,acceptedBy:s};void 0!==e?c[s][e].push({...d}):c[s].push({...d}),i(c)},onDoubl:!0,...e,...t})})},Xi="hamburgerMenu_hamburgerMenu__zKaBW",$i="hamburgerMenu_animate__CjZxq",eo=e=>{let{boolean:t}=e;return(0,te.jsx)("div",{className:"".concat(Xi," ").concat(t?$i:"")})};eo.defaultProps={boolean:!1};const to=eo,so=e=>{let{addClass:t,setAllBlocks:s,allBlocks:i,userRules:o,onChangeBlocks:n,setTourStep:r,tourStep:l,isTourOpen:c}=e;const{blocks:d,socket:u}=(0,a.useContext)(li),[p,h]=yi(!1,"hamburgerOnOff"),[m,g]=yi({text:"",type:"triggers",index:0},"filterControlPanel"),b=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m.text,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m.type;if(!d)return;let a=[...d];a=a.filter((t=>{if(!e)return!0;const{name:s}=t.getStaticData();return s&&f.I18n.t(s).toLowerCase().includes(e.toLowerCase())})),a=a.filter((e=>t===e.getStaticData().acceptedBy)),s(a)},y=e=>({id:"scrollable-force-tab-".concat(e),"aria-controls":"scrollable-force-tabpanel-".concat(e)});return(0,a.useEffect)((()=>{b()}),[d]),(0,te.jsx)(lt.ClickAwayListener,{mouseEvent:!1,touchEvent:"onTouchStart",onClickAway:()=>h(!0),children:(0,te.jsxs)("div",{className:f.Utils.clsx(Ui,t[1035]&&Gi),children:[(0,te.jsx)("div",{className:"".concat(Zi," ").concat(p?Wi:null),onClick:()=>h(!p),children:(0,te.jsx)(to,{boolean:!p})}),(0,te.jsxs)("div",{className:"".concat(f.Utils.clsx(Mi,t[1035]&&Yi,t[835]&&Ki)," ").concat(p?Pi:null),children:[(0,te.jsx)("div",{className:qi,children:(0,te.jsx)(lt.AppBar,{className:Hi,position:"static",children:(0,te.jsxs)(lt.Tabs,{value:m.index,onChange:(e,t)=>{c&&0===t&&l===Ws&&r(Vs),c&&2===t&&l===Hs&&r(Gs),g({...m,index:t,type:["triggers","conditions","actions"][t]}),b(m.text,["triggers","conditions","actions"][t])},children:[(0,te.jsx)(lt.Tab,{className:"blocks-triggers",title:f.I18n.t("Triggers"),icon:(0,te.jsx)(Ut,{iconName:"FlashOn"}),...y(0)}),(0,te.jsx)(lt.Tab,{title:f.I18n.t("Conditions"),className:"blocks-conditions",icon:(0,te.jsx)(Ut,{iconName:"Help"}),...y(1)}),(0,te.jsx)(lt.Tab,{title:f.I18n.t("Actions"),className:"blocks-actions",icon:(0,te.jsx)(Ut,{iconName:"PlayForWork"}),...y(2)})]})})}),(0,te.jsx)("div",{className:zi,children:(0,te.jsxs)("span",{children:[i.map((e=>{const{name:t,id:s,icon:i,adapter:d}=e.getStaticData();return(0,te.jsx)(a.Fragment,{children:(0,te.jsx)(Qi,{onTouchMove:()=>h(!0),setTourStep:r,tourStep:l,isTourOpen:c,allProperties:e.getStaticData(),name:t,icon:i,adapter:d,socket:u,userRules:o,setUserRules:n,isActive:!1,id:s})},s)})),0===i.length&&(0,te.jsxs)("div",{className:Vi,children:[f.I18n.t("Nothing found"),"...",(0,te.jsx)("div",{className:Ji,onClick:()=>{g({...m,text:""}),b("")},children:f.I18n.t("reset search")})]})]})}),(0,te.jsx)("div",{className:f.Utils.clsx(Bi,Fi)}),(0,te.jsx)(gs,{className:Li,fullWidth:!0,customValue:!0,value:m.text,size:"small",autoComplete:"off",label:f.I18n.t("search"),variant:"outlined",onChange:e=>{g({...m,text:e}),b(e)}})]})]})})},ao=e=>{let{code:t,onChange:s,themeName:i,setTourStep:o,tourStep:n,isTourOpen:r,command:l,scriptId:c,changed:d,running:u}=e;const{blocks:p,socket:h,setOnUpdate:m,setOnDebugMessage:g,setEnableSimulation:b}=(0,a.useContext)(li),[y,v]=(0,a.useState)([]),[S,x]=(0,a.useState)(fa.code2json(t)),[k,w]=(0,a.useState)(""),[C,j]=(0,a.useState)(!1);(0,a.useEffect)((()=>{let e,t;const s=(a,i)=>{var o,n;a===e+".alive"?t!==(null===i||void 0===i?void 0:i.val)&&(t=null===i||void 0===i?void 0:i.val,t&&h.sendTo(e.replace(/^system\.adapter\./,""),"rulesOn",c)):e!==(null===i||void 0===i||null===(o=i.common)||void 0===o?void 0:o.engine)&&(e&&h.unsubscribeState("".concat(e,".alive"),s),t&&h.sendTo(e.replace(/^system\.adapter\./,""),"rulesOn",c),e=null===i||void 0===i||null===(n=i.common)||void 0===n?void 0:n.engine,e&&h.subscribeState("".concat(e,".alive"),s))},a=(e,t)=>{if(t)try{let e=JSON.parse(t.val);e.ruleId===c&&Date.now()-e.ts<1e3&&g({blockId:e.blockId,data:e.data,ts:e.ts})}catch(s){console.error("Cannot parse: "+t.val)}};return h.getObject(c).then((t=>{var i;e=null===t||void 0===t||null===(i=t.common)||void 0===i?void 0:i.engine,h.subscribeObject(c,s),e&&h.subscribeState("".concat(e,".alive"),s),e&&h.subscribeState(e.replace(/^system\.adapter\./,"")+".debug.rules",a)})),function(){e&&h.unsubscribeObject("".concat(e,".alive"),s),h.unsubscribeState(c,s),t&&e&&h.sendTo(e.replace(/^system\.adapter\./,""),"rulesOff",c),e&&h.unsubscribeState(e.replace(/^system\.adapter\./,"")+".debug.rules",a)}}),[]),(0,a.useEffect)((()=>{b(!d&&u)}),[d,u,b]),(0,a.useEffect)((()=>{l&&(w(l),C||j(!0))}),[l]),(0,a.useEffect)((()=>{const e=fa.code2json(t);JSON.stringify(e)!==JSON.stringify(S)&&(x(e),m(!0))}),[t]),(0,a.useEffect)((()=>{document.getElementsByTagName("HTML")[0].className=i||"blue"}),[i]);const I=(0,a.useCallback)((e=>{x(e),s(fa.json2code(e,p))}),[p,s]),T=(0,a.useRef)({clientWidth:0}),[D,A]=(0,a.useState)({835:!1,1035:!1});return(0,a.useEffect)((()=>{T.current&&(T.current.clientWidth<=1035&&A({835:!1,1035:!0}),T.current.clientWidth<=835&&A({1035:!0,835:!0}),T.current.clientWidth>1035&&A({835:!1,1035:!1}))}),[T.current.clientWidth]),p?(0,te.jsxs)("div",{className:Et,ref:T,children:[(0,te.jsx)(gi,{allBlocks:y,socket:h}),"export"===k?(0,te.jsx)(bt,{onClose:()=>j(!1),open:C,text:JSON.stringify(S,null,2)},"dialogExport"):(0,te.jsx)(ft,{open:C,onClose:e=>{j(!1),e&&I(JSON.parse(e))}},"dialogImport"),(0,te.jsxs)("div",{className:f.Utils.clsx(Ot,D[835]&&_t),children:[(0,te.jsx)(so,{setAllBlocks:v,allBlocks:y,userRules:S,onChangeBlocks:I,setTourStep:o,tourStep:n,addClass:D,isTourOpen:r}),(0,te.jsx)(Ri,{setUserRules:I,userRules:S,isTourOpen:r,setTourStep:o,tourStep:n,name:"".concat(f.I18n.t("when"),"..."),typeBlock:"triggers",iconName:"FlashOn",size:D[835]}),(0,te.jsx)(Ri,{setUserRules:I,isTourOpen:r,setTourStep:o,tourStep:n,userRules:S,name:"...".concat(f.I18n.t("and"),"..."),typeBlock:"conditions",iconName:"Help",nameAdditionally:f.I18n.t("or"),additionally:!0,border:!0,size:D[835]}),(0,te.jsx)(Ri,{setUserRules:I,isTourOpen:r,setTourStep:o,tourStep:n,userRules:S,name:"...".concat(f.I18n.t("then")),typeBlock:"actions",iconName:"PlayForWork",nameAdditionally:f.I18n.t("else"),additionally:!0,size:D[835]})]})]},"rulesEditor"):null};var io=s(76278);class oo extends i().Component{constructor(e){super(e),this.state={lines:(this.props.script||"").split(/\r\n|\n/)}}editorDidMount(e,t){this.monaco=t,this.editor=e,e.focus()}render(){return(0,te.jsx)("div",{className:this.props.classes.editorDiv,children:(0,te.jsx)(ut,{name:this.props.scriptName,adapterName:this.props.adapterName,readOnly:!0,code:this.props.script||"",isDark:"dark"===this.props.themeType,socket:this.props.socket,runningInstances:this.props.runningInstances,language:"javascript",breakpoints:this.props.breakpoints,location:this.props.paused?this.props.location:null,onToggleBreakpoint:e=>this.props.onToggleBreakpoint(e)},"scriptEditor2")},"scriptEditorDiv2")}}const no=(0,u.Z)((e=>({editorDiv:{height:"100%",width:"100%",overflow:"hidden",position:"relative"},editor:{width:"100%",height:"100%",overflow:"auto"},line:{width:"100%",whiteSpace:"nowrap"},lineNumber:{width:40,whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",fontFamily:"Lucida Console, Courier, monospace",textAlign:"right",fontSize:14,marginRight:1,borderRight:"1px solid #555",cursor:"pointer"},lineBreakpoint:{background:"#330000",color:"white"},lineCode:{display:"inline-block",fontFamily:"Lucida Console, Courier, monospace",fontSize:14,margin:0,whiteSpace:"pre"},lineCurrentCode:{background:"red",color:"white"},lineCurrent:{background:"#880000",color:"white"}})))(oo);function ro(e){let t,s=e.getHours();return s<10&&(s="0"+s.toString()),t=s+":",s=e.getMinutes(),s<10&&(s="0"+s.toString()),t+=s+":",s=e.getSeconds(),s<10&&(s="0"+s.toString()),t+=s+".",s=e.getMilliseconds(),s<10?s="00"+s.toString():s<100&&(s="0"+s.toString()),t+=s,t}class lo extends i().Component{constructor(e){super(e),this.state={lines:{},goBottom:!0},this.messagesEnd=i().createRef()}generateLine(e){return(0,te.jsxs)("tr",{className:this.props.classes[e.severity],children:[(0,te.jsx)("td",{className:this.props.classes.trTime,children:ro(new Date(e.ts))},"tdTime"),(0,te.jsx)("td",{className:this.props.classes.trSeverity,children:e.severity},"tdSeverity"),(0,te.jsx)("td",{children:e.text},"tdMessage")]},"tr_".concat(e.ts,"_").concat(e.text.substr(-10)))}renderLogList(e){return e&&e.length?(0,te.jsxs)("div",{className:this.props.classes.logBoxInner,children:[(0,te.jsx)("table",{className:this.props.classes.table,children:(0,te.jsx)("tbody",{children:e.map(((e,t)=>this.generateLine(e)))})},"logTable"),(0,te.jsx)("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):(0,te.jsx)("div",{className:this.props.classes.logBoxInner,style:{paddingLeft:10},children:f.I18n.t("Log outputs")},"logList")}onCopy(){f.Utils.copyToClipboard(this.props.console.join("\n"))}scrollToBottom(){this.messagesEnd&&this.messagesEnd.current&&this.messagesEnd.current.scrollIntoView({behavior:"smooth"})}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}render(){const e=this.props.console;return(0,te.jsxs)("div",{className:this.props.classes.logBox,children:[(0,te.jsxs)("div",{className:this.props.classes.toolbox,children:[(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":"",size:"medium",children:(0,te.jsx)(S.G10,{})}),e&&e.length?(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.props.onClearAllLogs(),size:"medium",children:(0,te.jsx)(S.FH3,{})}):null,e&&e.length?(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:(0,te.jsx)(S.Fqs,{})}):null]},"toolbox"),this.renderLogList(e)]})}}const co=(0,u.Z)((e=>({consoleLine:{fontSize:14,color:"dark"===e.palette.mode?"#EEE":"#222"},console_log:{},console_warn:{backgroundColor:"dark"===e.palette.mode?"#885900":"#ffa500"},console_error:{backgroundColor:"dark"===e.palette.mode?"#7a0000":"#FF0000"},console_debug:{opacity:.6},consoleSeverity:{verticalAlign:"top",width:50,textTransform:"uppercase"},consoleTime:{whiteSpace:"nowrap",verticalAlign:"top",width:170},consoleText:{fontFamily:"Lucida Console, Courier, monospace",paddingTop:4,"&>pre":{margin:0}},logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:{display:"inline-block",color:"dark"===e.palette.mode?"white":"black",width:"calc(100% - ".concat(34,"px)"),height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"},info:{background:"dark"===e.palette.mode?"darkgrey":"lightgrey",color:(e.palette.mode,"black")},error:{background:"#FF0000",color:"dark"===e.palette.mode?"black":"white"},warn:{background:"#FF8000",color:"dark"===e.palette.mode?"black":"white"},debug:{background:"gray",opacity:.8,color:"dark"===e.palette.mode?"black":"white"},silly:{background:"gray",opacity:.6,color:"dark"===e.palette.mode?"black":"white"},table:{fontFamily:"monospace",width:"100%"},toolbox:{width:34,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4}})))(lo);var uo=s(71939),po=s.n(uo);class ho extends i().Component{constructor(e){super(e),this.framesSize=parseFloat(window.localStorage.getItem("App.framesSize"))||300,this.state={editValue:null,callFrames:this.props.callFrames},this.editRef=i().createRef()}onExpressionNameUpdate(){this.props.onExpressionNameUpdate(this.state.editValue.index,this.scopeValue,(()=>{this.setState({editValue:null}),this.scopeValue=null}))}renderExpression(e,t){const s=this.state.editValue&&"expression"===this.state.editValue.type&&this.state.editValue.index===t?(0,te.jsx)(E.Z,{inputRef:this.editRef,fullWidth:!0,margin:"dense",onBlur:()=>this.state.editValue&&this.setState({editValue:null}),defaultValue:e.name,onKeyUp:e=>{13===e.keyCode?this.onExpressionNameUpdate():27===e.keyCode&&this.setState({editValue:null})},onChange:e=>this.scopeValue=e.target.value,endAdornment:(0,te.jsx)(we.Z,{position:"end",children:(0,te.jsx)(D.Z,{onClick:()=>this.onExpressionNameUpdate(),size:"medium",children:(0,te.jsx)(S.HhX,{})})})}):[(0,te.jsx)("div",{className:this.props.classes.scopeNameName,title:f.I18n.t("Double click to edit expression"),children:e.name},"name"),(0,te.jsx)("div",{className:this.props.classes.scopeNameEqual,children:" = "},"="),(0,te.jsx)("div",{className:this.props.classes.scopeNameValue,children:this.formatValue(e.value)},"val")];return(0,te.jsxs)("tr",{children:[(0,te.jsx)("td",{className:f.Utils.clsx(this.props.classes.scopeType,this.props.classes.scopeType_user),children:"user"}),(0,te.jsx)("td",{className:this.props.classes.scopeName,onDoubleClick:()=>{this.scopeValue=e.name||"",this.setState({editValue:{type:"expression",valueType:"string",index:t,name:e.name,value:e.name||""}})},children:s}),(0,te.jsx)(D.Z,{className:this.props.classes.scopeButtonDel,size:"small",disabled:!!this.state.editValue,onClick:()=>this.props.onExpressionDelete(t),children:(0,te.jsx)(S.ZkW,{})})]},"user_".concat(t).concat(e.name))}renderExpressions(){return this.props.expressions.map(((e,t)=>this.renderExpression(e,t)))}renderOneFrameTitle(e,t){if(this.props.mainScriptId===this.props.currentScriptId&&e.location.scriptId!==this.props.mainScriptId)return null;const s=e.url.split("/").pop().replace(/^script\.js\./,"");return(0,te.jsx)(io.Z,{onClick:()=>this.props.onChangeCurrentFrame(t),dense:!0,selected:this.props.currentFrame===t,classes:{root:this.props.classes.frameRoot},children:(0,te.jsx)(T.Z,{classes:{root:this.props.classes.frameTextRoot,primary:this.props.classes.frameTextPrimary,secondary:this.props.classes.frameTextSecondary},title:e.url,primary:e.functionName||"anonymous",secondary:"".concat(s," (").concat(e.location.lineNumber,":").concat(e.location.columnNumber,")")})},e.id)}formatValue(e,t){if(e){if("function"===e.type){const s=e.description?e.description.length>100?e.description.substring(0,100)+"...":e.description:"function";return t?s:(0,te.jsx)("span",{className:this.props.classes.valueFunc,title:e.description,children:s})}if(void 0===e.value)return t?"undefined":(0,te.jsx)("span",{className:this.props.classes.valueUndefined,children:"undefined"});if(null===e.value)return t?"null":(0,te.jsx)("span",{className:this.props.classes.valueNull,children:"null"});if("string"===e.type){if(t)return e.value;{const t=e.value?e.value.length>100?e.value.substring(0,100)+"...":e.value:"";return(0,te.jsxs)("span",{className:this.props.classes.valueString,title:t,children:['"',t,'"']})}}return"boolean"===e.type?t?e.value.toString():(0,te.jsx)("span",{className:this.props.classes.valueBoolean,children:e.value.toString()}):"object"===e.type?t?JSON.stringify(e.value):(0,te.jsx)(po(),{enableClipboard:!1,style:{backgroundColor:"inherit",marginTop:3},src:e.value,collapsed:!0,theme:"dark"===this.props.themeType?"brewer":"rjv-default",displayDataTypes:!1}):e.value.toString()}return t?"none":(0,te.jsx)("span",{className:this.props.classes.valueNone,children:"none"})}onWriteScopeValue(){"true"===this.scopeValue?this.scopeValue=!0:"false"===this.scopeValue?this.scopeValue=!1:"null"===this.scopeValue?this.scopeValue=null:"undefined"===this.scopeValue?this.scopeValue=void 0:parseFloat(this.scopeValue).toString()===this.scopeValue&&(this.scopeValue=parseFloat(this.scopeValue)),this.props.onWriteScopeValue({variableName:this.state.editValue.name,scopeNumber:0,newValue:{value:this.scopeValue,valueType:typeof this.scopeValue},callFrameId:this.props.callFrames[this.props.currentFrame].callFrameId}),this.setState({editValue:null}),this.scopeValue=null}componentDidUpdate(){var e;null===(e=this.editRef.current)||void 0===e||e.focus()}renderScope(e,t,s){var a,i;const o=!this.props.currentFrame&&t.value&&("undefined"===t.value.type||"string"===t.value.type||"number"===t.value.type||"boolean"===t.value.type||null===(null===(a=t.value)||void 0===a?void 0:a.value)||void 0===(null===(i=t.value)||void 0===i?void 0:i.value)),n=this.state.editValue&&this.state.editValue.type===s&&this.state.editValue.name===t.name?[(0,te.jsx)("div",{className:this.props.classes.scopeNameName,children:t.name},"name"),(0,te.jsx)("div",{className:this.props.classes.scopeNameEqual,children:" = "},"="),(0,te.jsx)(E.Z,{inputRef:this.editRef,margin:"dense",onBlur:()=>this.state.editValue&&this.setState({editValue:null}),defaultValue:this.formatValue(t.value,!0),onKeyUp:e=>{13===e.keyCode?this.onWriteScopeValue():27===e.keyCode&&this.setState({editValue:null})},onChange:e=>this.scopeValue=e.target.value,endAdornment:(0,te.jsx)(we.Z,{position:"end",children:(0,te.jsx)(D.Z,{onClick:()=>this.onWriteScopeValue(),size:"medium",children:(0,te.jsx)(S.HhX,{})})})})]:[(0,te.jsx)("div",{className:this.props.classes.scopeNameName,title:f.I18n.t("Double click to write value"),children:t.name},"name"),(0,te.jsx)("div",{className:this.props.classes.scopeNameEqual,children:" = "},"="),(0,te.jsxs)("div",{className:this.props.classes.scopeNameValue,children:[this.formatValue(t.value)," (",t.value.type,")"]},"val")];return(0,te.jsxs)("tr",{children:[(0,te.jsx)("td",{className:f.Utils.clsx(this.props.classes.scopeType,this.props.classes["scopeType_"+s]),children:s}),(0,te.jsx)("td",{className:f.Utils.clsx(this.props.classes.scopeName,!this.props.currentFrame&&o&&this.props.classes.scopeValueEditable),onDoubleClick:()=>{o&&(this.scopeValue=t.value.value,this.setState({editValue:{scopeId:e,type:s,valueType:t.value.type,name:t.name,value:t.value.value}}))},children:n})]},"".concat(s,"_").concat(e,"_").concat(t.name))}renderScopes(e){if(e){var t,s,a,i,o,n;let e=this.renderExpressions(),r=null===(t=this.props.scopes)||void 0===t||null===(s=t.local)||void 0===s||null===(a=s.properties)||void 0===a?void 0:a.result.map((e=>this.renderScope(this.props.scopes.id,e,"local")));return r&&r.forEach((t=>e.push(t))),r=null===(i=this.props.scopes)||void 0===i||null===(o=i.closure)||void 0===o||null===(n=o.properties)||void 0===n?void 0:n.result.map((e=>this.renderScope(this.props.scopes.id,e,"closure"))),r&&r.forEach((t=>e.push(t))),(0,te.jsx)("table",{style:{width:"100%"},children:(0,te.jsx)("tbody",{children:e})})}return null}render(){return(0,te.jsxs)(h(),{customClassName:this.props.classes.splitter,primaryIndex:1,secondaryMinSize:200,primaryMinSize:200,vertical:!1,secondaryInitialSize:this.framesSize,onSecondaryPaneSizeChange:e=>this.framesSize=parseFloat(e),onDragEnd:()=>window.localStorage.setItem("App.framesSize",this.framesSize.toString()),children:[(0,te.jsx)("div",{style:{width:"100%",height:"100%",overflow:"auto"},children:(0,te.jsx)(w.Z,{classes:{root:this.props.classes.listRoot},children:this.props.callFrames?this.props.callFrames.map(((e,t)=>this.renderOneFrameTitle(e,t))):null})}),(0,te.jsxs)("div",{style:{width:"100%",height:"100%",overflow:"auto"},children:[(0,te.jsx)("div",{className:this.props.classes.toolbarScopes,children:(0,te.jsx)(D.Z,{size:"small",onClick:()=>this.props.onExpressionAdd(((e,t)=>{this.scopeValue=t.name||"",this.setState({editValue:{type:"expression",valueType:"string",index:e,name:t.name,value:t.name||""}})})),children:(0,te.jsx)(S.x06,{})})}),(0,te.jsx)("div",{className:this.props.classes.scopesAfterToolbar,children:this.props.callFrames&&this.props.callFrames.length&&this.renderScopes(this.props.callFrames[this.props.currentFrame])})]})]})}}const mo=(0,u.Z)((e=>({frameRoot:{paddingTop:0,paddingBottom:0},frameTextRoot:{margin:0},frameTextPrimary:{color:"dark"===e.palette.mode?"#CCC":"#333"},frameTextSecondary:{fontStyle:"italic",fontSize:12,opacity:.6,paddingLeft:e.spacing(1)},listRoot:{padding:0},scopeType:{verticalAlign:"top",textTransform:"uppercase",width:50},scopeType_local:{color:"#53a944"},scopeType_closure:{color:"#365b80"},scopeType_user:{color:"#a48a15"},scopeName:{color:"#bc5b5b",width:"calc(100% - 82px)",whiteSpace:"nowrap",textOverflow:"ellipsis"},scopeButton:{width:32},scopeValueEditable:{cursor:"pointer"},selectedFrame:{backgroundColor:"#777",color:"white"},splitter:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden",fontSize:12},toolbarScopes:{width:24,display:"inline-block",height:"100%",background:"dark"===e.palette.mode?"#222":"#EEE",verticalAlign:"top"},scopesAfterToolbar:{width:"calc(100% - 24px)",display:"inline-block",height:"100%",verticalAlign:"top"},scopeNameName:{fontWeight:"bold",display:"inline-block",verticalAlign:"top"},scopeNameEqual:{display:"inline-block",color:"dark"===e.palette.mode?"#EEE":"#222",verticalAlign:"top"},scopeNameValue:{verticalAlign:"top",display:"inline-block",color:"#3b709f",whiteSpace:"nowrap"},scopeButtonDel:{padding:0,float:"right"},valueNull:{color:"#a44a24"},valueUndefined:{color:"#a44a24"},valueString:{color:"#1e8816"},valueNumber:{color:"#163c88"},valueBoolean:{color:"#a44a24"},valueObject:{color:"#721b70"},valueNone:{color:"#8a8a8a"},valueFunc:{color:"#ac4343"}})))(ho);class go extends i().Component{constructor(e){super(e),this.fromInstance=(e,t)=>{try{const e=JSON.parse(t.val);if("subscribed"===e.cmd)this.props.socket.sendTo(this.state.instance,"debug",this.props.debugInstance||{scriptName:this.props.src});else if("readyToDebug"===e.cmd){var s;this.mainScriptId=e.scriptId,this.scripts[e.scriptId]=e.script,e.script.startsWith("(async () => {debugger;\n")?this.scripts[e.scriptId]="(async () => {\n".concat(e.script.substring(24)):e.script.startsWith("debugger;")&&(this.scripts[e.scriptId]=e.script.substring(9));const t=JSON.parse(JSON.stringify(this.state.tabs));t[e.scriptId]=this.props.debugInstance?e.url:this.props.src.replace("script.js.","");const a="".concat(Date.now(),".").concat(1e4*Math.random());(null===(s=e.context)||void 0===s?void 0:s.callFrames)&&e.context.callFrames.forEach(((e,t)=>e.id=a+t)),this.setState({starting:!1,finished:!1,selected:this.mainScriptId,script:this.scripts[e.scriptId],tabs:t,currentFrame:0,started:!0,paused:!0,location:this.getLocation(e.context),context:e.context},(()=>this.reinitBreakpoints((()=>{this.readCurrentScope(),this.readExpressions()}))))}else if("paused"===e.cmd){var a,i;const t="".concat(Date.now(),".").concat(1e4*Math.random());(null===(a=e.context)||void 0===a?void 0:a.callFrames)&&e.context.callFrames.forEach(((e,s)=>e.id=t+s));const s=this.getLocation(e.context),o=JSON.parse(JSON.stringify(this.state.tabs)),n=e.context.callFrames[0].url.split("iobroker.javascript");o[s.scriptId]=(n[1]||n[0]).replace("script.js.","");const r={tabs:o,paused:!0,location:s,currentFrame:0,context:e.context,scope:{id:(null===(i=e.context)||void 0===i?void 0:i.callFrames)&&e.context.callFrames[0]&&e.context.callFrames[0].id||0}};r.script=void 0===this.scripts[s.scriptId]?f.I18n.t("loading..."):this.scripts[s.scriptId],r.selected=s.scriptId,this.setState(r,(()=>{this.readCurrentScope(),this.readExpressions(),this.scripts[s.scriptId]||this.sendToInstance({cmd:"source",scriptId:s.scriptId})}))}else if("script"===e.cmd)this.scripts[e.scriptId]=e.text,this.state.selected===e.scriptId&&this.setState({script:this.scripts[e.scriptId]});else if("resumed"===e.cmd)this.setState({paused:!1});else if("log"===e.cmd)if("console"===this.state.toolsTab){this.console=null;const t=[...this.state.console];t.push({text:e.text,severity:e.severity,ts:e.ts}),this.setState({console:t})}else"error"===e.severity?this.setState({logErrors:this.state.logErrors+1}):"warn"===e.severity?this.setState({logWarnings:this.state.logWarnings+1}):this.setState({logs:this.state.logs+1}),this.console=this.console||[...this.state.console],this.console.push({text:e.text,severity:e.severity,ts:e.ts});else if("error"===e.cmd)this.setState({error:e.error});else if("finished"===e.cmd||"debugStopped"===e.cmd)this.setState({finished:!0,starting:!1,started:!0});else if("sb"===e.cmd){const t=JSON.parse(JSON.stringify(this.state.breakpoints));let s=!1;e.breakpoints.filter((e=>e)).forEach((e=>{t.find((t=>t.location.scriptId===e.location.scriptId&&t.location.lineNumber===e.location.lineNumber))||(s=!0,t.push(e))})),s&&window.localStorage.setItem("javascript.tools.bp."+this.props.src,JSON.stringify(t)),s&&this.setState({breakpoints:t})}else if("cb"===e.cmd){const t=JSON.parse(JSON.stringify(this.state.breakpoints));let s=!1;e.breakpoints.filter((e=>void 0!==e&&null!==e)).forEach((e=>{const a=t.find((t=>t.id===e));if(a){const e=t.indexOf(a);t.splice(e,1),s=!0}})),s&&window.localStorage.setItem("javascript.tools.bp."+this.props.src,JSON.stringify(t)),s&&this.setState({breakpoints:t})}else if("scope"===e.cmd){const t=e.scopes.find((e=>"local"===e.type))||null,s=e.scopes.find((e=>"closure"===e.type))||null;console.log(JSON.stringify(s)),this.setState({scopes:{local:t,closure:s,id:"".concat(this.state.scope.id,"_").concat(this.state.currentFrame)}})}else if("setValue"===e.cmd){const t=JSON.parse(JSON.stringify(this.state.scopes));let s;s=0===e.scopeNumber?t.local&&t.local.properties&&t.local.properties.result&&t.local.properties.result.find((t=>t.name===e.variableName)):t.closure&&t.closure.properties&&t.closure.properties.result&&t.closure.properties.result&&t.closure.properties.result.find((t=>t.name===e.variableName)),s&&(s.value.value=e.newValue.value,this.setState({scopes:t}))}else if("expressions"===e.cmd){let t=JSON.parse(JSON.stringify(this.state.expressions)),s=!1;e.expressions.forEach((e=>{const a=t.find((t=>t.name===e.name));a&&(s=!0,a.value=e.result)})),s&&this.setState({expressions:t}),console.log("expressions: "+JSON.stringify(e))}else if("getPossibleBreakpoints"===e.cmd){var o,n,r,l;1===(null===(o=e.breakpoints)||void 0===o||null===(n=o.locations)||void 0===n?void 0:n.length)?this.sendToInstance({breakpoints:e.breakpoints.locations,cmd:"sb"}):null!==(r=e.breakpoints)&&void 0!==r&&null!==(l=r.locations)&&void 0!==l&&l.length?this.setState({queryBreakpoints:e.breakpoints.locations}):window.alert("cannot set")}else console.error("Unknown command: ".concat(JSON.stringify(e)))}catch(c){}};let t=window.localStorage.getItem("javascript.tools.bp."+this.props.src);try{t=t?JSON.parse(t):[]}catch(a){t=[]}let s=window.localStorage.getItem("javascript.tools.exps."+this.props.src);try{s=s?JSON.parse(s):[],s=s.map((e=>({name:e})))}catch(a){s=[]}this.toolSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.toolSize"))||150,this.state={starting:!0,selected:null,tabs:{},script:"",breakpoints:t,expressions:s,running:!1,error:"",started:!1,paused:!0,location:null,toolsTab:window.localStorage.getItem("javascript.tools.tab")||"console",stopOnException:"true"===window.localStorage.getItem("javascript.tools.stopOnException"),console:[],finished:!1,currentFrame:0,scopes:{},queryBreakpoints:null,logErrors:0,logWarnings:0,logs:0},this.scripts={},this.mainScriptId=null}componentDidMount(){new Promise((e=>{this.props.debugInstance?e(this.props.debugInstance.instance):this.props.socket.getObject(this.props.src).then((t=>{var s,a;return e(null===t||void 0===t||null===(s=t.common)||void 0===s||null===(a=s.engine)||void 0===a?void 0:a.replace("system.adapter.",""))}))})).then((e=>this.setState({instance:e},(()=>{this.state.instance?(this.props.socket.setState("".concat(this.state.instance,".debug.from"),{val:'{"cmd": "subscribed"}',ack:!0}),setTimeout((()=>this.props.socket.subscribeState("".concat(this.state.instance,".debug.from"),this.fromInstance)),200)):this.setState({error:"Unknown instance"})}))))}componentWillUnmount(){this.state.instance&&(this.props.socket.unsubscribeState("".concat(this.state.instance,".debug.from"),this.fromInstance),this.props.socket.sendTo(this.state.instance,"debugStop"))}sendToInstance(e){this.props.socket.setState("".concat(this.state.instance,".debug.to"),{val:JSON.stringify(e),ack:!1})}reinitBreakpoints(e){if(this.state.breakpoints.length){let t=JSON.parse(JSON.stringify(this.state.breakpoints));t=t.map((e=>e.location)),this.setState({breakpoints:[]},(()=>{this.sendToInstance({breakpoints:t,cmd:"sb"}),this.state.stopOnException&&this.sendToInstance({cmd:"stopOnException",state:!0}),e&&e()}))}else this.state.stopOnException?(this.sendToInstance({cmd:"stopOnException",state:!0}),e&&e()):e&&e()}getLocation(e){if(e.callFrames){return e.callFrames[0].location}}readCurrentScope(){var e;const t=(null===(e=this.state.context)||void 0===e?void 0:e.callFrames)&&this.state.context.callFrames[this.state.currentFrame];if(t){const e=t.scopeChain.filter((e=>"global"!==e.type));e.length?this.sendToInstance({cmd:"scope",scopes:e}):(this.state.scopes.global||this.state.scopes.local||this.state.scopes.closure)&&this.setState({scopes:{}})}}readExpressions(e){var t;this.state.expressions.length&&null!==(t=this.state.context)&&void 0!==t&&t.callFrames&&this.state.context.callFrames[this.state.currentFrame]&&(void 0!==e?this.sendToInstance({cmd:"expressions",expressions:[this.state.expressions[e]],callFrameId:this.state.context.callFrames[this.state.currentFrame].callFrameId}):this.sendToInstance({cmd:"expressions",expressions:this.state.expressions,callFrameId:this.state.context.callFrames[this.state.currentFrame].callFrameId}))}getTextAtLocation(e){let t=this.state.script.split(/\r\n|\n/)[e.lineNumber],s="";return e.columnNumber>=10?(t=t.substring(e.columnNumber-10,e.columnNumber+20),s="".padStart(10," ")+"\u2191"):(t=t.substring(0,30-e.columnNumber),s="".padStart(e.columnNumber," ")+"\u2191"),[(0,te.jsx)("div",{className:this.props.classes.monospace,children:t},"line"),(0,te.jsx)("div",{className:f.Utils.clsx(this.props.classes.monospace,this.props.classes.arrow),children:s},"arrow")]}renderQueryBreakpoints(){return this.state.queryBreakpoints?(0,te.jsxs)(G.Z,{onClose:()=>this.setState({queryBreakpoints:null}),"aria-labelledby":"bp-dialog-title",open:!0,children:[(0,te.jsx)(J.Z,{id:"bp-dialog-title",children:f.I18n.t("Select breakpoint")}),(0,te.jsx)(w.Z,{children:this.state.queryBreakpoints.map(((e,t)=>(0,te.jsx)(io.Z,{classes:{root:this.props.classes.bpListItem},dense:!0,onClick:()=>{this.sendToInstance({breakpoints:[e],cmd:"sb"}),this.setState({queryBreakpoints:null})},children:(0,te.jsx)(T.Z,{classes:{primary:this.props.classes.bpListPrimary,secondary:this.props.classes.bpListSecondary},primary:this.getTextAtLocation(e)})},t)))})]}):null}renderError(){return this.state.error?(0,te.jsx)(xe,{onClose:()=>this.setState({error:""}),text:this.state.error},"dialogError"):null}closeTab(e,t){t&&t.stopPropagation();const s=JSON.parse(JSON.stringify(this.state.tabs));delete s[e];const a={tabs:s,script:this.scripts[this.mainScriptId],selected:this.mainScriptId};this.state.location&&this.state.location.scriptId!==this.mainScriptId&&(a.location=null),this.setState(a)}renderTabs(){const e=!this.state.tabs||!this.state.started;return(0,te.jsx)(Ge.Z,{component:"div",indicatorColor:"primary",style:{position:"relative",width:"calc(100% - 300px)",display:"inline-block"},value:this.state.selected,onChange:(e,t)=>{this.scripts[t]?this.setState({selected:t,script:this.scripts[t]}):this.setState({selected:t,script:"loading..."},(()=>this.sendToInstance({cmd:"source",scriptId:t})))},scrollButtons:"auto",children:Object.keys(this.state.tabs||[]).map((t=>{let s=t,a=this.state.tabs[t]||"";return this.state.tabs[t]&&(s=this.state.tabs[t].split("/").pop()),s=[(0,te.jsx)("div",{className:f.Utils.clsx(this.props.classes.tabText),children:s},"text"),t!==this.mainScriptId&&(0,te.jsx)("span",{className:this.props.classes.closeButton,children:(0,te.jsx)(S.FU5,{onClick:e=>this.closeTab(t,e),fontSize:"small"},"close")},"icon")],(0,te.jsx)(Ye.Z,{disabled:e,classes:{root:this.props.classes.tabFile},label:s,title:a,value:t},t)}))})}onResume(){this.sendToInstance({cmd:"cont"})}onPause(){this.sendToInstance({cmd:"pause"})}onNext(){this.sendToInstance({cmd:"next"})}onStepIn(){this.sendToInstance({cmd:"step"})}onStepOut(){this.sendToInstance({cmd:"out"})}onRestart(){this.setState({started:!1,starting:!0},(()=>this.props.socket.sendTo(this.state.instance,"debug",this.props.debugInstance||{scriptName:this.props.src})))}onToggleException(){const e=!this.state.stopOnException;window.localStorage.setItem("javascript.tools.stopOnException",e?"true":"false"),this.setState({stopOnException:e},(()=>this.sendToInstance({cmd:"stopOnException",state:e})))}renderToolbar(){const e=!this.state.started;return(0,te.jsxs)(He.Z,{variant:"dense",className:this.props.classes.toolbar,children:[(0,te.jsx)(D.Z,{className:this.props.classes.buttonRestart,disabled:e,onClick:()=>this.onRestart(),title:f.I18n.t("Restart"),size:"medium",children:(0,te.jsx)(S.la_,{})}),!this.state.finished&&this.state.paused?(0,te.jsx)(D.Z,{className:this.props.classes.buttonRun,disabled:e,onClick:()=>this.onResume(),title:f.I18n.t("Resume execution"),size:"medium",children:(0,te.jsx)(S.Nhx,{})}):!this.state.finished&&(0,te.jsx)(D.Z,{disabled:e,className:this.props.classes.buttonPause,onClick:()=>this.onPause(),title:f.I18n.t("Pause execution"),size:"medium",children:(0,te.jsx)(S.hPq,{})}),!this.state.finished&&(0,te.jsx)(D.Z,{className:this.props.classes.buttonNext,disabled:e||!this.state.paused,onClick:()=>this.onNext(),title:f.I18n.t("Go to next line"),size:"medium",children:(0,te.jsx)(S.hdK,{})}),!this.state.finished&&(0,te.jsx)(D.Z,{className:this.props.classes.buttonStep,disabled:e||!this.state.paused,onClick:()=>this.onStepIn(),title:f.I18n.t("Step into function"),size:"medium",children:(0,te.jsx)(S.t9$,{})}),!this.state.finished&&(0,te.jsx)(D.Z,{className:this.props.classes.buttonOut,disabled:e||!this.state.paused,onClick:()=>this.onStepOut(),title:f.I18n.t("Step out from function"),size:"medium",children:(0,te.jsx)(S.InZ,{})}),!this.state.finished&&(0,te.jsx)(D.Z,{className:this.props.classes.buttonException,color:this.state.stopOnException?"primary":"default",disabled:e||!this.state.paused,onClick:()=>this.onToggleException(),title:f.I18n.t("Stop on exception"),size:"medium",children:(0,te.jsx)(S.YTL,{})}),this.renderTabs()]},"toolbar1")}getPossibleBreakpoints(e){const t={...e,columnNumber:1e3};this.sendToInstance({cmd:"getPossibleBreakpoints",start:e,end:t})}toggleBreakpoint(e){let t=this.state.breakpoints.find((t=>t.location.scriptId===this.state.selected&&t.location.lineNumber===e));if(t){const e=JSON.parse(JSON.stringify(this.state.breakpoints));this.setState({breakpoints:e},(()=>this.sendToInstance({breakpoints:[t.id],cmd:"cb"})))}else t={scriptId:this.state.selected,lineNumber:e,columnNumber:0},this.getPossibleBreakpoints(t)}renderCode(){if(this.state.script&&this.state.started){const e=this.state.breakpoints.filter((e=>e.location.scriptId===this.state.selected));return(0,te.jsx)(no,{runningInstances:this.props.runningInstances,socket:this.props.socket,adapterName:this.props.adapterName,scriptName:this.state.tabs[this.state.selected],sourceId:this.state.selected,script:this.state.script,paused:this.state.paused,breakpoints:e,location:this.state.location,themeType:this.props.themeType,themeName:this.props.themeName,onToggleBreakpoint:e=>this.toggleBreakpoint(e)})}}renderFrames(){var e;return this.state.paused?(0,te.jsx)(mo,{currentScriptId:this.state.selected,scopes:this.state.scopes,expressions:this.state.expressions,themeType:this.props.themeType,callFrames:null===(e=this.state.context)||void 0===e?void 0:e.callFrames,currentFrame:this.state.currentFrame,onChangeCurrentFrame:e=>{this.setState({currentFrame:e,scopes:{}},(()=>{this.readCurrentScope(),this.readExpressions()}))},onWriteScopeValue:e=>{this.sendToInstance({cmd:"setValue",variableName:e.variableName,scopeNumber:e.scopeNumber,newValue:e.newValue,callFrameId:e.callFrameId})},onExpressionDelete:e=>{const t=JSON.parse(JSON.stringify(this.state.expressions));t.splice(e,1),this.setState({expressions:t}),window.localStorage.setItem("javascript.tools.exps."+this.props.src,JSON.stringify(t.map((e=>e.name))))},onExpressionAdd:e=>{const t=JSON.parse(JSON.stringify(this.state.expressions));t.push({name:"",value:{value:""}}),this.setState({expressions:t},(()=>e&&e(t.length-1,this.state.expressions[t.length-1])))},onExpressionNameUpdate:(e,t,s)=>{const a=JSON.parse(JSON.stringify(this.state.expressions));if(t){if(a.find((e=>e.name===t)))return s&&s(!1);a[e].name=t}else a.splice(e,1);this.setState({expressions:a},(()=>{t&&this.readExpressions(e),s&&s()})),window.localStorage.setItem("javascript.tools.exps."+this.props.src,JSON.stringify(a.map((e=>e.name))))}}):null}renderConsole(){return(0,te.jsx)(co,{theme:this.props.theme,console:this.state.console,onClearAllLogs:()=>this.setState({console:[],logErrors:0,logWarning:0,logs:0})})}renderTools(){const e=!this.state.tabs||!this.state.started;let t;return t=this.state.logErrors?(0,te.jsx)(Ke.Z,{badgeContent:this.state.logErrors,color:"error",children:(0,te.jsx)("span",{children:f.I18n.t("Console")})}):this.state.logWarnings?(0,te.jsx)(Ke.Z,{badgeContent:this.state.logWarnings,color:"secondary",children:(0,te.jsx)("span",{children:f.I18n.t("Console")})}):this.state.logs?(0,te.jsx)(Ke.Z,{badgeContent:this.state.logs,color:"default",children:(0,te.jsx)("span",{children:f.I18n.t("Console")})}):f.I18n.t("Console"),(0,te.jsxs)("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:[(0,te.jsxs)(Ge.Z,{classes:{root:this.props.classes.tabsRoot},component:"div",indicatorColor:"primary",style:{position:"relative",width:"100%"},value:this.state.toolsTab,onChange:(e,t)=>{const s={toolsTab:t};this.console&&"console"===t&&(s.console=this.console,this.console=null,s.logs=0,s.logWarnings=0,s.logErrors=0),window.localStorage.setItem("javascript.tools.tab",t),this.setState(s)},scrollButtons:"auto",children:[(0,te.jsx)(Ye.Z,{classes:{root:this.props.classes.tabRoot},disabled:e,label:f.I18n.t("Stack"),value:"stack"}),(0,te.jsx)(Ye.Z,{classes:{root:this.props.classes.tabRoot},disabled:e,label:t,value:"console"})]}),(0,te.jsxs)("div",{style:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden"},children:["stack"!==this.state.toolsTab||e?null:this.renderFrames(),"console"!==this.state.toolsTab||e?null:this.renderConsole()]})]})}render(){return(0,te.jsxs)("div",{style:this.props.style,className:f.Utils.clsx(this.props.classes.root,this.props.className),children:[this.state.starting?(0,te.jsx)($e.Z,{}):null,this.renderToolbar(),(0,te.jsxs)(h(),{customClassName:this.props.classes.splitter,primaryMinSize:100,vertical:!0,secondaryInitialSize:this.toolSize,onSecondaryPaneSizeChange:e=>this.toolSize=parseFloat(e),onDragEnd:()=>window.localStorage.setItem("App.toolSize",this.toolSize.toString()),children:[(0,te.jsxs)("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:[this.renderCode(),this.renderQueryBreakpoints()]}),(0,te.jsx)("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:this.renderTools()})]}),this.renderError()]},"debugger")}}const bo=(0,u.Z)((e=>({root:{width:"100%",height:"calc(100% - ".concat(e.toolbar.height+38+5,"px)"),overflow:"hidden",position:"relative"},toolbar:{minHeight:38,boxShadow:"0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)"},buttonRun:{color:"green"},buttonPause:{color:"orange"},buttonRestart:{color:"darkgreen"},buttonStop:{color:"red"},buttonNext:{color:"blue"},buttonStep:{color:"blue"},buttonOut:{color:"blue"},buttonException:{},tabFile:{textTransform:"inherit",color:"dark"===e.palette.mode?"#DDD":"inherit"},tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},closeButton:{position:"absolute",top:8,right:0,zIndex:10,padding:8,cursor:"pointer"},tabsRoot:{minHeight:24,background:"dark"===e.palette.mode?"#333":"#e6e6e6",color:"dark"===e.palette.mode?"white":"inherit"},tabRoot:{minHeight:24},bpListItem:{borderTop:"1px dashed #bfbfbf44"},monospace:{fontFamily:"Courier New, monospace",whiteSpace:"pre",fontSize:12},arrow:{color:"#fffa4f"},splitter:{height:"calc(100% - 52px)","& .layout-pane":{overflow:"hidden",height:"100%"}}})))(go);var yo=s(99982),vo=s(59665),fo=s(57046);const So=s.p+"static/media/docs.1f96bec81cf08933d921.md";let xo=null;const ko=(e,t)=>e&&"object"===typeof e?e[t]||e.en:e||"",wo=async e=>{const t=f.I18n.getLanguage(),s=await(async e=>{if(xo)return xo;const t=await e.getObjectView("","\u9999","state"),s=await e.getObjectView("","\u9999","channel"),a=await e.getObjectView("","\u9999","device"),i=await e.getObjectView("","\u9999","folder"),o=await e.getObjectView("","\u9999","enum");return xo=Object.values(t).concat(Object.values(s)).concat(Object.values(a)).concat(Object.values(i)).concat(Object.values(o)).reduce(((e,t)=>(e[t._id]=t,e)),{}),xo})(e),a=Object.keys(s).sort(),i=new fo.ZP,o=[],n=[],r=[],l=[];a.forEach((e=>{var t,a,i;"enum"===(null===(t=s[e])||void 0===t?void 0:t.type)?o.push(e):null!==(a=s[e])&&void 0!==a&&null!==(i=a.common)&&void 0!==i&&i.smartName&&l.push(e)})),o.forEach((e=>{e.startsWith("enum.rooms.")?n.push(e):e.startsWith("enum.functions.")&&r.push(e);const t=s[e].common.members;t&&t.length&&t.forEach((e=>{s[e]&&(l.includes(e)||l.push(e))}))}));const c={objects:s,_keysOptional:a,_usedIdsOptional:[],ignoreIndicators:["UNREACH_STICKY"],excludedTypes:["info"]},d=[];l.forEach((e=>{c.id=e;const a=i.detect(c);a&&a.forEach((e=>{const a=e.states.find((e=>e.id)).id;if(d.find((e=>e.id===a)))return;const i={id:a,name:ko(s[a].common.name,t),role:s[a].type,deviceType:e.type,states:e.states.filter((e=>e.id)).map((e=>({id:e.id,name:e.name,role:e.defaultRole,type:s[e.id].common.type,unit:s[e.id].common.unit,read:void 0===s[e.id].common.read||s[e.id].common.read,write:void 0===s[e.id].common.write||s[e.id].common.write})))},o=a.split(".");let l,c;"channel"!==s[a].type&&"state"!==s[a].type||(o.pop(),l=o.join("."),!s[l]||"channel"!==s[l].type&&"folder"!==s[a].type?l=null:(o.pop(),c=o.join("."),(!s[c]||"device"!==s[c].type&&"folder"!==s[a].type)&&(c=null)));const u=n.find((e=>!!s[e].common.members.includes(a)||(!(!l||!s[e].common.members.includes(l))||c&&s[e].common.members.includes(c))));u&&(i.room=ko(s[u].common.name,t));const p=r.find((e=>!!s[e].common.members.includes(a)||(!(!l||!s[e].common.members.includes(l))||c&&s[e].common.members.includes(c))));p&&(i.function=ko(s[p].common.name,t)),d.push(i)}))}));for(const g in d){const e=d[g];if("state"===e.type||"channel"===e.type){const a=e._id.split(".");a.pop();const i=s[a.join(".")];if(!i||"channel"!==i.type&&"device"!==i.type&&"folder"!==i.type){var u;e.common.name=ko((null===i||void 0===i||null===(u=i.common)||void 0===u?void 0:u.name)||e.common.name,t)}else{var p,h;e.common.name=ko((null===(p=i.common)||void 0===p?void 0:p.name)||e.common.name,t),a.pop();const o=s[a.join(".")];var m;if("device"===(null===o||void 0===o?void 0:o.type)&&null!==(h=o.common)&&void 0!==h&&h.icon)e.common.name=ko((null===(m=o.common)||void 0===m?void 0:m.name)||e.common.name,t)}}}return d},Co={ru:"Russian",en:"English",de:"German",es:"Spanish",fr:"French",it:"Italian",pl:"Polish",nl:"Dutch",pt:"Portuguese",uk:"Ukrainian","zh-cn":"Chinese"},jo=()=>(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 2406 2406",children:[(0,te.jsx)("path",{d:"M1 578.4C1 259.5 259.5 1 578.4 1h1249.1c319 0 577.5 258.5 577.5 577.4V2406H578.4C259.5 2406 1 2147.5 1 1828.6V578.4z",fill:"#74aa9c"}),(0,te.jsx)("path",{d:"M1107.3 299.1c-198 0-373.9 127.3-435.2 315.3C544.8 640.6 434.9 720.2 370.5 833c-99.3 171.4-76.6 386.9 56.4 533.8-41.1 123.1-27 257.7 38.6 369.2 98.7 172 297.3 260.2 491.6 219.2 86.1 97 209.8 152.3 339.6 151.8 198 0 373.9-127.3 435.3-315.3 127.5-26.3 237.2-105.9 301-218.5 99.9-171.4 77.2-386.9-55.8-533.9v-.6c41.1-123.1 27-257.8-38.6-369.8-98.7-171.4-297.3-259.6-491-218.6-86.6-96.8-210.5-151.8-340.3-151.2zm0 117.5-.6.6c79.7 0 156.3 27.5 217.6 78.4-2.5 1.2-7.4 4.3-11 6.1L952.8 709.3c-18.4 10.4-29.4 30-29.4 51.4V1248l-155.1-89.4V755.8c-.1-187.1 151.6-338.9 339-339.2zm434.2 141.9c121.6-.2 234 64.5 294.7 169.8 39.2 68.6 53.9 148.8 40.4 226.5-2.5-1.8-7.3-4.3-10.4-6.1l-360.4-208.2c-18.4-10.4-41-10.4-59.4 0L1024 984.2V805.4L1372.7 604c51.3-29.7 109.5-45.4 168.8-45.5zM650 743.5v427.9c0 21.4 11 40.4 29.4 51.4l421.7 243-155.7 90L597.2 1355c-162-93.8-217.4-300.9-123.8-462.8C513.1 823.6 575.5 771 650 743.5zm807.9 106 348.8 200.8c162.5 93.7 217.6 300.6 123.8 462.8l.6.6c-39.8 68.6-102.4 121.2-176.5 148.2v-428c0-21.4-11-41-29.4-51.4l-422.3-243.7 155-89.3zM1201.7 997l177.8 102.8v205.1l-177.8 102.8-177.8-102.8v-205.1L1201.7 997zm279.5 161.6 155.1 89.4v402.2c0 187.3-152 339.2-339 339.2v-.6c-79.1 0-156.3-27.6-217-78.4 2.5-1.2 8-4.3 11-6.1l360.4-207.5c18.4-10.4 30-30 29.4-51.4l.1-486.8zM1380 1421.9v178.8l-348.8 200.8c-162.5 93.1-369.6 38-463.4-123.7h.6c-39.8-68-54-148.8-40.5-226.5 2.5 1.8 7.4 4.3 10.4 6.1l360.4 208.2c18.4 10.4 41 10.4 59.4 0l421.9-243.7z",fill:"white"})]}),Io=e=>{const[t,s]=(0,a.useState)(window.localStorage.getItem("openai-question")||""),[i,o]=(0,a.useState)(""),[n,r]=(0,a.useState)(!1),[l,c]=(0,a.useState)(!1),[d,u]=(0,a.useState)(!1),[p,h]=(0,a.useState)(!1),m=(0,a.useRef)(null),g=(0,a.useRef)(null),b=(0,a.useRef)(null),y=(0,a.useCallback)((async()=>{let s,a,i;if(m.current?s=m.current:(s=await wo(e.socket),m.current=s,console.log("devices: ".concat(JSON.stringify(s,2,null)))),g.current)a=g.current;else{const t=Object.keys(e.runningInstances);for(let s=0;s(await fetch(So)).text())(),b.current=i),a){c(!0),u(!1);try{const e=new yo.ZP({apiKey:a,dangerouslyAllowBrowser:!0}),n=(await e.chat.completions.create({model:"gpt-3.5-turbo-16k",messages:[{role:"system",content:"You are programmer. Here is a documentation:\n\n".concat(i)},{role:"system",content:"Here is list of devices:\n\n".concat(JSON.stringify(s,null,2))},{role:"user",content:"Write code that do:\n\n".concat(t,"\nReturn only code.\nWrite comments in ").concat(Co[f.I18n.getLanguage()]||"English",".\nYou can call async function directly in the code without encapsulate them in async function as this code will be already executed in async function.\nDo not import any libraries as all functions are already imported.")}]})).choices[0].message,r=n.content.match(/```(javascript|js|typescript)\n?(.*)```(.*)/ms);let l;if(r){if(l=r[2],r[3]){const e=r[3].split("\n").map((e=>e.trim()));for(;""===e[0];)e.shift();l="".concat(e.map((e=>"// ".concat(e))).join("\n"),"\n").concat(l)}}else l=n.content,l.startsWith("`")&&(l=l.substring(1)),l.endsWith("`")&&(l=l.substring(0,l.length-1));console.log(n),o(l)}catch(d){var n,r,l;if(d.response)u(null===(r=d.response.data)||void 0===r||null===(l=r.error)||void 0===l?void 0:l.message);console.error("Cannot request: ".concat(d,", ").concat(JSON.stringify((null===d||void 0===d||null===(n=d.response)||void 0===n?void 0:n.data)||d,null,2)))}c(!1)}else h(!0)}),[t]);return(0,te.jsxs)(te.Fragment,{children:[(0,te.jsx)(lt.IconButton,{"aria-label":"AI",title:f.I18n.t("AI code generator"),className:e.classes.toolbarButtons,size:"medium",onClick:()=>r(!0),children:(0,te.jsx)(jo,{})},"ai"),p&&(0,te.jsxs)(lt.Dialog,{maxWidth:"lg",open:!0,onClose:()=>h(!1),fullWidth:!0,children:[(0,te.jsx)(lt.DialogTitle,{children:f.I18n.t("No Chat GPT Key found")}),(0,te.jsxs)(lt.DialogContent,{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,te.jsx)("div",{children:f.I18n.t("You have to enter OpenAI API key in the configuration of javascript adapter.")}),(0,te.jsx)(lt.Button,{variant:"contained",onClick:()=>{const t=Object.keys(e.runningInstances);window.open("../../#tab-instances/config/".concat(t[0]||"system.adapter.javascript.0"),"_blank"),h(!1)},children:f.I18n.t("Open configuration")})]}),(0,te.jsx)(lt.DialogActions,{children:(0,te.jsx)(lt.Button,{variant:"contained",startIcon:(0,te.jsx)(vo.Close,{}),onClick:()=>h(!1),children:f.I18n.t("Close")})})]}),n&&(0,te.jsxs)(lt.Dialog,{maxWidth:"lg",classes:{paper:e.classes.fullHeightDialog},open:!0,onClose:()=>r(!1),fullWidth:!0,children:[(0,te.jsx)(lt.DialogTitle,{children:f.I18n.t("AI code generator")}),(0,te.jsxs)(lt.DialogContent,{style:{display:"flex",flexDirection:"column",gap:8,height:"100%"},children:[(0,te.jsx)("div",{children:(0,te.jsx)(lt.TextField,{variant:"standard",multiline:!0,autoFocus:!0,disabled:l,fullWidth:!0,onKeyUp:e=>{"Enter"===e.key&&e.ctrlKey&&y()},label:f.I18n.t("Enter your question"),helperText:f.I18n.t("Press Ctrl+Enter to get the answer"),value:t,onChange:e=>{window.localStorage.setItem("openai-question",e.target.value),s(e.target.value)}})}),(0,te.jsx)("div",{children:(0,te.jsx)(lt.Button,{variant:"contained",disabled:l||!t,startIcon:(0,te.jsx)(vo.QuestionMark,{}),onClick:async()=>y(),children:l?(0,te.jsx)(lt.CircularProgress,{size:24}):f.I18n.t("Ask")})}),(0,te.jsx)("div",{children:f.I18n.t("Result")}),(0,te.jsx)("div",{style:{height:"calc(100% - 155px)"},children:d?(0,te.jsx)("div",{style:{color:"#bb0000"},children:d}):(0,te.jsx)(ut,{adapterName:e.adapterName,runningInstances:e.runningInstances,style:{height:"100%",width:"100%",resize:"none"},name:"ai",socket:e.socket,readOnly:!0,checkJs:!0,code:i,isDark:"dark"===e.themeType,language:e.language})})]}),(0,te.jsxs)(lt.DialogActions,{children:[(0,te.jsx)(lt.Button,{color:"grey",variant:"outlined",disabled:!i,startIcon:(0,te.jsx)(vo.FileCopy,{}),onClick:()=>{f.Utils.copyToClipboard(i),window.alert(f.I18n.t("Copied"))},children:f.I18n.t("Copy to clipboard")}),(0,te.jsx)(lt.Button,{color:"primary",variant:"contained",disabled:!i||d,startIcon:(0,te.jsx)(vo.Check,{}),onClick:()=>{e.onAddCode(i),r(!1)},children:f.I18n.t("Use generated code")}),(0,te.jsx)(lt.Button,{color:"grey",variant:"contained",startIcon:(0,te.jsx)(vo.Close,{}),onClick:()=>r(!1),children:f.I18n.t("Close")})]})]})]})},To={Blockly:U,"Javascript/js":L,Rules:W,def:L,"TypeScript/ts":Z},Do="#02a102",Ao="#70aae9",No=P.Z[400],Eo=F.Z[400];class Oo extends i().Component{constructor(e){super(e),this.onInstanceChanged=(e,t)=>{if(e)if(!t&&window.main.instances.includes[e]){delete window.main.objects[e];const t=window.main.instances.indexOf(e);window.main.instances.splice(t,1)}else t&&"instance"===t.type&&(window.main.instances.includes(e)||(window.main.instances.push(e),window.main.instances.sort()),window.main.objects[e]=t)},this.onBrowserClose=e=>{const t=Object.keys(this.scripts).find((e=>JSON.stringify(this.scripts[e])!==JSON.stringify(this.props.objects[e].common)));if(t){console.log("Script "+JSON.stringify(this.scripts[t]));const s=f.I18n.t("Configuration not saved.");return(e=e||window.event)&&(e.returnValue=s),s}},this.setTourStep=e=>this.setState({tourStep:e});const t=window.localStorage.getItem("Editor.selected")||"";let s=window.localStorage.getItem("Editor.editing")||"[]";try{s=JSON.parse(s)}catch(a){s=[]}t&&!s.includes(t)&&s.push(t),this.tabsRef=i().createRef(),this.state={selected:t,editing:s,changed:{},blockly:null,rules:null,debugEnabled:!1,verboseEnabled:!1,showCompiledCode:!1,showSelectId:!1,showCron:!1,showScript:!1,showAstro:!1,astroEvents:null,insert:"",searchText:"",themeType:this.props.themeType,visible:e.visible,cmdToBlockly:"",cmdToRules:"",menuOpened:!!this.props.menuOpened,menuTabsOpened:!1,menuTabsAnchorEl:null,runningInstances:this.props.runningInstances||{},showDebugMenu:!1,toast:"",instancesLoaded:!1,isTourOpen:"true"!==window.localStorage.getItem("tour"),tourStep:Ws,showAdapterDebug:!1},this.setChangedInAdmin(),this.selectId={initValue:null,callback:null},this.cron={initValue:null,callback:null},this.scriptDialog={initValue:null,callback:null,args:null,isReturn:!1},window.systemLang=f.I18n.getLanguage(),window.main={objects:{},getObject:(e,t)=>this.props.socket.getObject(e).then((e=>t&&t(null,e))).catch((e=>t&&t(e))),instances:[],selectIdDialog:(e,t,s)=>{"function"===typeof t&&(s=t,t=null),this.selectId.callback=s,this.selectId.initValue=e,this.selectId.type=t,this.setState({showSelectId:!0})},cronDialog:(e,t)=>{this.cron.callback=t,this.cron.initValue=e,this.setState({showCron:!0})},showScriptDialog:(e,t,s,a)=>{this.scriptDialog.callback=a,this.scriptDialog.initValue=e,this.scriptDialog.args=t,this.scriptDialog.isReturn=s||!1,this.setState({showScript:!0})}},this.objects=e.objects,this.scripts={},!this.state.selected&&this.state.editing.length&&(this.state.selected=this.state.editing[0]),this.getAllAdapterInstances().then((()=>{this.props.onSelectedChange&&this.state.selected&&setTimeout((()=>this.props.onSelectedChange(this.state.selected,this.state.editing)),100)}))}getAllAdapterInstances(){return this.props.socket.getAdapterInstances(!0).then((e=>{const t={},s=e.map((e=>(t[e._id]=e,e._id)));window.main.objects=t,window.main.instances=s,this.setState({instancesLoaded:!0})}))}setChangedInAdmin(){const e=Object.keys(this.state.changed).find((e=>this.state.changed[e]));"undefined"!==typeof window.parent&&window.parent&&(window.parent.configNotSaved=!!e)}componentDidMount(){window.addEventListener("beforeunload",this.onBrowserClose,!1),this.props.socket.subscribeObject("system.adapter.*",this.onInstanceChanged)}componentWillUnmount(){window.removeEventListener("beforeunload",this.onBrowserClose),this.props.socket.unsubscribeObject("system.adapter.*",this.onInstanceChanged)}removeNonExistingScripts(e,t){e=e||this.props,t=t||{};let s=!1;if(this.state.editing){if(this.state.editing.find((t=>!e.objects[t]))){const e=JSON.parse(JSON.stringify(this.state.editing));for(let t=e.length-1;t>=0;t--)this.objects[e[t]]||(s=!0,e.splice(t,1));s&&(t.editing=e),this.state.selected&&!this.objects[this.state.selected]&&(s=!0,t.selected=e[0]||"",this.scripts[t.selected]&&(this.state.blockly!==("Blockly"===this.scripts[t.selected].engineType)&&(t.blockly="Blockly"===this.scripts[t.selected].engineType,s=!0),this.state.rules!==("Rules"===this.scripts[t.selected].engineType)&&(t.rules="Rules"===this.scripts[t.selected].engineType,s=!0),this.state.verboseEnabled!==this.scripts[t.selected].verbose&&(t.verboseEnabled=this.scripts[t.selected].verbose,s=!0),this.state.debugEnabled!==this.scripts[t.selected].debug&&(t.debugEnabled=this.scripts[t.selected].debug,s=!0)))}}return s}UNSAFE_componentWillReceiveProps(e){const t={};let s=!1;if(JSON.stringify(e.runningInstances)!==JSON.stringify(this.state.runningInstances)&&(s=!0,t.runningInstances=e.runningInstances),this.state.menuOpened!==e.menuOpened&&(t.menuOpened=e.menuOpened,s=!0),this.state.themeType!==e.themeType&&(t.themeType=e.themeType,s=!0),this.removeNonExistingScripts(e,t)&&(s=!0),this.state.searchText!==e.searchText&&(t.searchText=e.searchText,s=!0),this.objects!==e.objects){this.objects=e.objects,window.main.objects=e.objects,Object.keys(this.scripts).forEach((e=>{const t=this.scripts[e].source;this.scripts[e]=JSON.parse(JSON.stringify(this.objects[e].common)),this.scripts[e].source=t})),this.state.selected&&this.objects[this.state.selected]&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.objects[this.state.selected].common)),this.state.blockly!==("Blockly"===this.scripts[this.state.selected].engineType)&&(t.blockly="Blockly"===this.scripts[this.state.selected].engineType,s=!0),this.state.rules!==("Rules"===this.scripts[this.state.selected].engineType)&&(t.rules="Rules"===this.scripts[this.state.selected].engineType,s=!0),this.state.verboseEnabled!==this.scripts[this.state.selected].verbose&&(t.verboseEnabled=this.scripts[this.state.selected].verbose,s=!0),this.state.debugEnabled!==this.scripts[this.state.selected].debug&&(t.debugEnabled=this.scripts[this.state.selected].debug,s=!0));const a=JSON.parse(JSON.stringify(this.state.editing));for(let e=a.length-1;e>=0;e--)this.objects[a[e]]||(s=!0,a.splice(e,1),void 0!==this.state.changed[a[e]]&&(t.changed=t.changed||JSON.parse(JSON.stringify(this.state.changed)),delete t.changed[a[e]]));this.state.selected&&!this.objects[this.state.selected]&&(t.selected=a[0]||""),s&&(t.editing=a)}else for(const a in this.scripts)if(this.scripts.hasOwnProperty(a))if(this.objects[a]&&this.objects[a].common){const e=this.scripts[a].source,i=JSON.parse(JSON.stringify(this.scripts[a]));i.source=this.objects[a].common.source,JSON.stringify(i)!==JSON.stringify(this.objects[a].common)&&(this.scripts[a]=JSON.parse(JSON.stringify(this.objects[a].common)),this.scripts[a].source=e),e!==this.objects[a].common.source?this.state.changed[a]?this.objects[a].from&&this.objects[a].from.startsWith("system.adapter.javascript.")&&(this.objects[a].from="system.adapter.admin.0",this.setState({toast:f.I18n.t("Script %s was modified on disk.",a.split(".").pop())})):this.scripts[a].source=this.objects[a].common.source:this.state.changed[a]&&(t.changed=t.changed||JSON.parse(JSON.stringify(this.state.changed)),t.changed[a]=!1,s=!0)}else if(delete this.scripts[a],this.state.selected===a){if(-1!==this.state.editing.indexOf(a)){const e=JSON.parse(JSON.stringify(this.state.editing)),i=e.indexOf(a);-1!==i&&(e.splice(i,1),t.editing=e,s=!0)}t.selected=this.state.editing[0]||"",s=!0}if(this.state.selected!==e.selected&&e.selected){e.selected&&(this.scripts[e.selected]=this.scripts[e.selected]||JSON.parse(JSON.stringify(this.props.objects[e.selected].common)));const a=this.props.objects[e.selected]&&this.props.objects[e.selected].common,i=a&&JSON.stringify(this.scripts[e.selected])!==JSON.stringify(a),o=JSON.parse(JSON.stringify(this.state.editing));e.selected&&-1===o.indexOf(e.selected)&&(o.push(e.selected),this.props.onSelectedChange(e.selected,o),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(o))),s=!0,t.changed=t.changed||JSON.parse(JSON.stringify(this.state.changed)),t.changed[e.selected]=i,t.editing=o,t.selected=e.selected,t.blockly="Blockly"===this.scripts[e.selected].engineType,t.rules="Rules"===this.scripts[e.selected].engineType,t.verboseEnabled=this.scripts[e.selected].verbose,t.debugEnabled=this.scripts[e.selected].debug,t.showCompiledCode=!1}this.state.visible!==e.visible&&(s=!0,t.visible=e.visible),s&&this.setState(t,(()=>this.setChangedInAdmin()))}onRestart(){this.props.onRestart&&this.props.onRestart(this.state.selected)}onStartStop(){const e=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));e.enabled=!e.enabled,this.props.onChange&&this.props.onChange(this.state.selected,e)}onSave(){if(this.state.isTourOpen&&this.state.tourStep===Qs&&(this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true")),this.state.changed[this.state.selected]){const e=JSON.parse(JSON.stringify(this.state.changed));e[this.state.selected]=!1,this.setState({changed:e},(()=>{this.setChangedInAdmin(),this.props.onChange&&this.props.onChange(this.state.selected,this.scripts[this.state.selected])}))}}onSaveAll(){const e=JSON.parse(JSON.stringify(this.state.changed));Object.keys(e).forEach((t=>{e[t]&&(e[t]=!1,this.props.onChange&&this.props.onChange(t,this.scripts[t]))})),this.setState({changed:e},(()=>this.setChangedInAdmin()))}onCancel(){this.scripts[this.state.selected]=JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));const e=JSON.parse(JSON.stringify(this.state.changed));e[this.state.selected]=!1,this.setState({changed:e},(()=>this.setChangedInAdmin()))}onRegisterSelect(e){this.getSelect=e}onConvertBlockly2JS(){this.showConfirmDialog(f.I18n.t("It will not be possible to revert this operation."),(e=>{if(e){this.scripts[this.state.selected].engineType="Javascript/js";const e=this.scripts[this.state.selected].source.split("\n");e.pop(),this.scripts[this.state.selected].source=e.join("\n");const t=this.state.selected,s=JSON.parse(JSON.stringify(this.state.changed));s[this.state.selected]=!0,this.setState({changed:s,blockly:!1,selected:""},(()=>{this.setChangedInAdmin(),setTimeout((()=>this.setState({selected:t})),100)}))}}))}onChange(e){void 0!==(e=e||{}).script&&(this.scripts[this.state.selected].source=e.script),void 0!==e.debug&&(this.scripts[this.state.selected].debug=e.debug),void 0!==e.verbose&&(this.scripts[this.state.selected].verbose=e.verbose);const t=JSON.stringify(this.scripts[this.state.selected])!==JSON.stringify(this.props.objects[this.state.selected].common);if(t!==(this.state.changed[this.state.selected]||!1)){const e=JSON.parse(JSON.stringify(this.state.changed));e[this.state.selected]=t,this.objects[this.state.selected].from="system.adapter.admin.0",this.setState({changed:e},(()=>this.setChangedInAdmin()))}}onTabChange(e,t){if(this.props.debugMode)return;window.localStorage&&window.localStorage.setItem("Editor.selected",t);const s=this.scripts[t]||this.props.objects[t]&&this.props.objects[t].common;this.setState({selected:t,rules:"Rules"===s.engineType,blockly:"Blockly"===s.engineType,showCompiledCode:!1,verboseEnabled:s.verbose,debugEnabled:s.debug}),this.props.onSelectedChange&&this.props.onSelectedChange(t,this.state.editing)}isScriptChanged(e){return this.scripts[e]&&this.props.objects[e]&&JSON.stringify(this.scripts[e])!==JSON.stringify(this.props.objects[e].common)}onTabClose(e,t){t&&t.stopPropagation();const s=this.state.editing.indexOf(e);if(this.state.editing.includes(e))if(this.isScriptChanged(e))this.showConfirmDialog(f.I18n.t("Discard changes for %s",this.props.objects[e].common.name),(t=>{t&&(delete this.scripts[e],this.onTabClose(e))}));else{const t=JSON.parse(JSON.stringify(this.state.editing));t.splice(s,1);const a={editing:t};if(e===this.state.selected?t.length?0===s||1===t.length?a.selected=t[0]:a.selected=t[s-1]:a.selected="":this.state.selected&&!t.length&&(a.selected=""),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(t)),void 0!==a.selected){a.changed=a.changed||JSON.parse(JSON.stringify(this.state.changed)),a.changed[a.selected]=this.isScriptChanged(a.selected);const e=a.selected&&(this.scripts[a.selected]||this.props.objects[a.selected]&&this.props.objects[a.selected].common);a.blockly=!!e&&"Blockly"===e.engineType,a.rules=!!e&&"Rules"===e.engineType,a.verboseEnabled=!!e&&e.verbose,a.debugEnabled=!!e&&e.debug,a.showCompiledCode=!1}this.setState(a,(()=>{this.setChangedInAdmin(),void 0!==a.selected?(this.props.onSelectedChange&&this.props.onSelectedChange(a.selected,this.state.editing),window.localStorage&&window.localStorage.setItem("Editor.selected",a.selected)):this.props.onSelectedChange&&this.props.onSelectedChange(this.state.selected,this.state.editing)}))}}showConfirmDialog(e,t){this.confirmCallback=t,this.setState({confirm:e})}sendCommandToBlockly(e){this.setState({cmdToBlockly:e},(()=>setTimeout((()=>this.setState({cmdToBlockly:""})),200)))}sendCommandToRules(e){this.setState({cmdToRules:e},(()=>setTimeout((()=>this.setState({cmdToRules:""})),200)))}static getText(e){return"object"===typeof e?e[f.I18n.getLanguage()]||e.en:e}getScriptFullName(e){const t=e.split(".");t.shift(),t.shift();const s=[];let a="script.js";for(let i=0;ithis.onTabChange(e,t),indicatorColor:"primary",style:{position:"relative",marginLeft:10,width:this.state.editing.length>1?"calc(100% - 50px)":"100%",display:"inline-block"},textColor:"primary",variant:"scrollable",scrollButtons:"auto",children:[this.state.editing.map((e=>{if(this.props.objects[e]){let t=Oo.getText(this.props.objects[e].common.name)||"",s=this.getScriptFullName(e);t.length>18&&(t="".concat(t.substring(0,15),"..."));const a=this.props.objects[e].common&&this.scripts[e]&&this.props.objects[e].common.source!==this.scripts[e].source,i=[(0,te.jsx)("div",{className:f.Utils.clsx(this.props.classes.tabText,this.isScriptChanged(e)&&this.props.classes.tabChanged),children:t},"text"),a?(0,te.jsx)("span",{className:this.props.classes.tabChangedIcon,children:"\u25a3"},"changedSign"):null,!this.props.debugInstance&&(!this.props.debugMode||this.state.selected!==e)&&(0,te.jsx)(D.Z,{onClick:t=>this.onTabClose(e,t),className:this.props.classes.closeButton,size:"small",component:"span",children:(0,te.jsx)(S.FU5,{})},"icon")];return(0,te.jsx)(Ye.Z,{disabled:this.props.debugInstance||this.state.selected!==e&&this.props.debugMode,wrapped:!0,component:"div",iconPosition:"start",icon:(0,te.jsx)("img",{alt:"",src:To[this.props.objects[e].common.engineType]||To.def,className:this.props.classes.tabIcon},"icon"),href:"#".concat(e),label:i,className:this.props.classes.tabButton,value:e,title:s,classes:{wrapper:this.props.classes.tabButtonWrapper}},e)}{const t=[(0,te.jsx)("div",{className:f.Utils.clsx(this.props.classes.tabText,this.isScriptChanged(e)&&this.props.classes.tabChanged),children:e.split(".").pop()},"text"),(0,te.jsx)(D.Z,{onClick:t=>this.onTabClose(e,t),className:this.props.classes.closeButton,size:"small",component:"span",children:(0,te.jsx)(S.FU5,{})},"icon")];return(0,te.jsx)(Ye.Z,{wrapped:!0,component:"div",href:"#"+e,label:t,value:e,classes:{wrapper:this.props.classes.tabButtonWrapper}},e)}})),this.props.debugInstance?(0,te.jsx)(Ye.Z,{disabled:!1,wrapped:!0,component:"div",href:"#".concat(this.props.debugInstance.adapter),label:this.props.debugInstance.adapter,className:this.props.classes.tabButton,value:this.props.debugInstance.adapter,title:this.props.debugInstance.adapter,classes:{wrapper:this.props.classes.tabButtonWrapper}},this.props.debugInstance.adapter):""]},"tabs1"),this.state.editing.length>1?(0,te.jsx)(D.Z,{href:"#","aria-label":"Close all but current",className:this.props.classes.tabMenuButton,title:f.I18n.t("Close all but current"),"aria-haspopup":"false",onClick:e=>{const t=[this.state.selected];Object.keys(this.scripts).forEach((e=>e!==this.state.selected&&JSON.stringify(this.scripts[e])!==JSON.stringify(this.props.objects[e].common)&&t.push(e))),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(t)),this.setState({menuTabsOpened:!1,menuTabsAnchorEl:null,editing:t})},size:"medium",children:(0,te.jsx)(S.ULn,{})},"menuButton"):null]:(0,te.jsx)("div",{className:this.props.classes.toolbar,children:(0,te.jsxs)(V.Z,{color:"grey",disabled:!0,className:this.props.classes.hintButton,href:"",children:[(0,te.jsx)("span",{children:f.I18n.t("Click on this icon")},"select2"),(0,te.jsx)(S.jzb,{className:this.props.classes.hintIcon},"select3"),(0,te.jsx)("span",{children:f.I18n.t("for edit or create script")},"select4")]},"select1")},"tabs2")}getDebugMenu(){return this.state.showDebugMenu?(0,te.jsxs)(A.Z,{id:"menu-debug",anchorEl:this.state.menuDebugAnchorEl,open:this.state.showDebugMenu,onClose:()=>this.setState({showDebugMenu:!1,menuDebugAnchorEl:null}),PaperProps:{style:{maxHeight:360}},children:[(0,te.jsxs)(N.Z,{title:f.I18n.t("debug_help"),onClick:e=>{e.stopPropagation(),e.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,debugEnabled:!this.state.debugEnabled},(()=>this.onChange({debug:this.state.debugEnabled})))},children:[(0,te.jsx)(Xe.Z,{checked:this.state.debugEnabled}),(0,te.jsx)(S.qXL,{className:this.props.classes.menuIcon,style:{color:Do}}),f.I18n.t("debug_label")]},"debugEnabled"),(0,te.jsxs)(N.Z,{title:f.I18n.t("verbose_help"),onClick:e=>{e.stopPropagation(),e.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,verboseEnabled:!this.state.verboseEnabled},(()=>this.onChange({verbose:this.state.verboseEnabled})))},children:[(0,te.jsx)(Xe.Z,{checked:this.state.verboseEnabled}),(0,te.jsx)(S.Yo8,{className:this.props.classes.menuIcon,style:{color:Ao}}),f.I18n.t("verbose_label")]},"verboseEnabled")]},"menuDebug"):null}getDebugBadge(){return[this.state.debugEnabled&&this.state.verboseEnabled&&(0,te.jsx)(S.qXL,{className:this.props.classes.menuIcon,style:{color:Ao}},"DebugVerbose"),this.state.debugEnabled&&!this.state.verboseEnabled&&(0,te.jsx)(S.qXL,{className:this.props.classes.menuIcon,style:{color:Do}},"DebugNoVerbose"),!this.state.debugEnabled&&this.state.verboseEnabled&&(0,te.jsx)(S.Yo8,{className:this.props.classes.menuIcon,style:{color:Ao}},"noDebugVerbose")]}getAskAboutDebug(){return this.state.askAboutDebug?(0,te.jsx)(f.Confirm,{onClose:()=>{this.setState({askAboutDebug:!1},(()=>this.props.onDebugModeChange(!0)))},ok:f.I18n.t("Yes"),cancel:f.I18n.t("Cancel"),text:f.I18n.t("The script will be stopped and must be activated manually after debugging. Continue?")}):null}getToolbar(){const e=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine],t=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].enabled;if(this.state.selected){const s=Object.keys(this.state.changed).filter((e=>this.state.changed[e])).length,a=this.state.changed[this.state.selected];return(0,te.jsxs)(He.Z,{variant:"dense",className:this.props.classes.toolbar,children:[!this.props.debugInstance&&this.state.menuOpened&&this.props.onLocate&&(0,te.jsx)(D.Z,{className:this.props.classes.toolbarButtons,title:f.I18n.t("Locate file"),onClick:()=>this.props.onLocate(this.state.selected),size:"medium",children:(0,te.jsx)(S.A_X,{})},"locate"),!this.props.debugInstance&&!a&&e&&(0,te.jsx)(D.Z,{disabled:this.props.debugMode,variant:"contained",className:this.props.classes.toolbarButtons,onClick:()=>this.onRestart(),title:f.I18n.t("Restart"),size:"medium",children:(0,te.jsx)(S.la_,{})},"restart"),!this.props.debugInstance&&!a&&(0,te.jsx)(D.Z,{disabled:this.props.debugMode,variant:"contained",className:this.props.classes.toolbarButtons,onClick:()=>this.onStartStop(),title:t?f.I18n.t("Pause script"):f.I18n.t("Run script"),size:"medium",style:{color:t?No:Eo},children:t?(0,te.jsx)(S.hPq,{}):(0,te.jsx)(S.Nhx,{})},"start-stop"),!this.props.debugInstance&&!a&&!t&&(0,te.jsx)("span",{className:this.props.classes.notRunning,children:f.I18n.t("Script is not running")}),!a&&t&&!e&&(0,te.jsx)("span",{className:this.props.classes.notRunning,children:f.I18n.t("Instance is disabled")}),a&&(0,te.jsxs)(V.Z,{color:"grey",variant:"contained",className:f.Utils.clsx(this.props.classes.textButton,this.props.classes.saveButton,"button-save"),onClick:()=>this.onSave(),children:[f.I18n.t("Save"),(0,te.jsx)(S.tfk,{className:this.props.classes.textIcon})]},"save"),(s>1||1===s&&!a)&&(0,te.jsxs)(V.Z,{color:"grey",variant:"contained",className:this.props.classes.textButton,onClick:()=>this.onSaveAll(),children:[f.I18n.t("Save all"),(0,te.jsx)(S.tfk,{className:this.props.classes.textIcon})]},"saveall"),a&&(0,te.jsxs)(V.Z,{color:"grey",variant:"contained",className:this.props.classes.textButton,onClick:()=>this.onCancel(),children:[f.I18n.t("Cancel"),(0,te.jsx)(S.B4e,{className:this.props.classes.textIcon})]},"cancel"),(0,te.jsx)("div",{style:{flex:2}}),this.state.blockly&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"Export Blocks",title:f.I18n.t("Export blocks"),className:this.props.classes.toolbarButtons,onClick:()=>this.sendCommandToBlockly("export"),size:"medium",children:(0,te.jsx)(z.u$v,{})},"export"),this.state.blockly&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"Import Blocks",title:f.I18n.t("Import blocks"),className:this.props.classes.toolbarButtons,onClick:()=>this.sendCommandToBlockly("import"),size:"medium",children:(0,te.jsx)(z.Xur,{})},"import"),this.state.blockly&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"Check code",title:f.I18n.t("Check blocks"),className:this.props.classes.toolbarButtons,onClick:()=>this.sendCommandToBlockly("check"),size:"medium",children:(0,te.jsx)(z.gHv,{})},"check"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"create CRON",title:f.I18n.t("Create or edit CRON or time wizard"),className:this.props.classes.toolbarButtons,onClick:()=>this.setState({showCron:!0}),size:"medium",children:(0,te.jsx)(z.qyc,{})},"select-cron"),this.scripts[this.state.selected]&&"Blockly"!==this.scripts[this.state.selected].engineType&&"Rules"!==this.scripts[this.state.selected].engineType?(0,te.jsx)(Io,{adapterName:this.props.adapterName,socket:this.props.socket,runningInstances:this.state.runningInstances,classes:this.props.classes,themeType:this.state.themeType,language:"TypeScript/ts"===this.scripts[this.state.selected].engineType?"typescript":"javascript",onAddCode:e=>this.setState({insert:e})}):null,(0,te.jsx)(D.Z,{"aria-label":"Show astronomical events",title:f.I18n.t("Show astronomical events"),className:this.props.classes.toolbarButtons,disabled:!e,onClick:()=>{this.setState({showAstro:!0,astroEvents:null}),this.props.socket.sendTo(this.scripts[this.state.selected].engine.replace("system.adapter.",""),"calcAstroAll",{}).then((e=>this.setState({astroEvents:e})))},size:"medium",children:(0,te.jsx)(S.Gd0,{})},"show-astro"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"select ID",title:f.I18n.t("Insert object ID"),className:this.props.classes.toolbarButtons,onClick:()=>this.setState({showSelectId:!0}),size:"medium",children:(0,te.jsx)(z.W95,{})},"select-id"),this.state.blockly&&!this.state.rules&&this.state.showCompiledCode&&(0,te.jsx)(V.Z,{color:"grey","aria-label":"convert to javascript",title:f.I18n.t("Convert blockly to javascript for ever."),onClick:()=>this.onConvertBlockly2JS(),children:"Blockly=>JS"},"convert2js"),this.state.rules&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"Export Blocks",title:f.I18n.t("Export blocks"),className:this.props.classes.toolbarButtons,onClick:()=>this.sendCommandToRules("export"),size:"medium",children:(0,te.jsx)(z.u$v,{})},"export"),this.state.rules&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"Import Blocks",title:f.I18n.t("Import blocks"),className:this.props.classes.toolbarButtons,onClick:()=>this.sendCommandToRules("import"),size:"medium",children:(0,te.jsx)(z.Xur,{})},"import"),this.props.expertMode&&!a&&(this.props.debugMode||!this.state.blockly&&!this.state.rules||(this.state.blockly||this.state.rules)&&this.state.showCompiledCode)&&(0,te.jsx)(D.Z,{className:this.props.classes.toolbarButtons,color:this.props.debugMode?"primary":"default",disabled:!this.props.debugMode&&!e,onClick:()=>{!this.props.debugMode&&t?this.setState({askAboutDebug:!0}):this.props.onDebugModeChange(!this.props.debugMode)},size:"medium",children:(0,te.jsx)(S.qXL,{style:{fontSize:32}})}),(this.state.blockly||this.state.rules)&&(0,te.jsx)(V.Z,{"aria-label":"blockly",title:f.I18n.t("Show javascript code"),className:f.Utils.clsx(this.props.classes.toolbarButtons,"button-js-code",this.props.debugMode&&this.props.classes.toolbarButtonsDisabled),color:this.state.showCompiledCode?"secondary":"inherit",disabled:this.props.debugMode,style:{padding:"0 5px"},onClick:()=>{this.props.debugMode||(this.setState({showCompiledCode:!this.state.showCompiledCode}),this.state.isTourOpen&&this.state.tourStep===Ys&&this.setState({tourStep:Ks}),this.state.isTourOpen&&this.state.tourStep===Ks&&this.setState({tourStep:Qs}))},children:(0,te.jsx)("img",{alt:this.state.blockly?"blockly2js":"rules2js",src:this.state.blockly?"data:image/png;base64,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":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAeCAYAAADXRcu0AAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAfpaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwMiA3OS4xNjQ0NjAsIDIwMjAvMDUvMTItMTY6MDQ6MTcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMS0wMS0zMFQwOTo0Njo0MCswMzowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjEtMDItMjVUMDk6NTA6MzIrMDM6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDItMjVUMDk6NTA6MzIrMDM6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0iQWRvYmUgUkdCICgxOTk4KSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NTUwYTA2OS0wNjQ3LTQxM2ItOWI5MC02MjYxMjBjNDg1MzMiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkYTliOGE0YS01MzMzLTc1NDgtYjUxZi01YTI2NWU4NDU3ZjUiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplNzdmMTM3Ni0xYWRiLTQ5ZTktYmM2NS1hOTQxMjExMGQ0YzAiPiA8cGhvdG9zaG9wOlRleHRMYXllcnM+IDxyZGY6QmFnPiA8cmRmOmxpIHBob3Rvc2hvcDpMYXllck5hbWU9IlJVTEVTIiBwaG90b3Nob3A6TGF5ZXJUZXh0PSJSVUxFUyIvPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOlRleHRMYXllcnM+IDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDxyZGY6QmFnPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMjg5NDQwYi1hMjJlLWMxNGEtOGRhMy1jMmI4NTA1YjJhMjA8L3JkZjpsaT4gPC9yZGY6QmFnPiA8L3Bob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplNzdmMTM3Ni0xYWRiLTQ5ZTktYmM2NS1hOTQx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"})},"blockly-code"),(0,te.jsx)(D.Z,{disabled:this.props.debugMode,"aria-label":"Debug menu",title:f.I18n.t("Debug options"),className:this.props.classes.toolbarButtons,onClick:e=>this.setState({showDebugMenu:!0,menuDebugAnchorEl:e.currentTarget}),size:"medium",children:(0,te.jsx)(Ke.Z,{className:this.props.classes.badgeMargin,badgeContent:this.getDebugBadge(),children:(0,te.jsx)(S._u1,{})})},"debug")]},"toolbar1")}return null}getScriptEditor(){return this.props.debugMode||!this.state.selected||!this.props.objects[this.state.selected]||null===this.state.blockly||this.state.blockly&&!this.state.showCompiledCode||this.state.rules&&!this.state.showCompiledCode?null:(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),(0,te.jsx)("div",{className:this.props.classes.editorDiv,children:(0,te.jsx)(ut,{name:this.state.selected,adapterName:this.props.adapterName,insert:this.state.insert,onInserted:()=>this.setState({insert:""}),onForceSave:()=>this.onSave(),searchText:this.state.searchText,onRegisterSelect:e=>this.onRegisterSelect(e),readOnly:this.state.showCompiledCode,changed:this.state.changed[this.state.selected],code:this.scripts[this.state.selected].source||"",isDark:"dark"===this.state.themeType,socket:this.props.socket,runningInstances:this.state.runningInstances,onChange:e=>this.onChange({script:e}),language:"TypeScript/ts"===this.scripts[this.state.selected].engineType?"typescript":"javascript"},"scriptEditor1")},"scriptEditorDiv"))}getBlocklyEditor(){return!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly&&!this.state.showCompiledCode&&this.state.visible?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),(0,te.jsx)("div",{className:this.props.classes.editorDiv,children:(0,te.jsx)(Tt,{command:this.state.cmdToBlockly,themeType:this.state.themeType,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",scriptId:this.state.selected,onChange:e=>this.onChange({script:e})},"BlocklyEditor")},"blocklyEditorDiv")):null}getRulesEditor(){if(!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.rules&&!this.state.showCompiledCode&&this.state.visible){this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));const e=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine],t=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].enabled;return(0,te.jsx)("div",{className:f.Utils.clsx(this.props.classes.editorDiv),children:(0,te.jsx)(ao,{scriptId:this.state.selected,setTourStep:this.setTourStep,tourStep:this.state.tourStep,isTourOpen:this.state.isTourOpen,changed:this.state.changed[this.state.selected],running:e&&t,command:this.state.cmdToRules,themeType:this.state.themeType,themeName:this.props.themeName,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",onChange:e=>this.onChange({script:e})},"flowEditor")},"flowEditorDiv")}return null}getConfirmDialog(){return this.state.confirm?(0,te.jsx)(f.Confirm,{text:this.state.confirm,onClose:e=>{if(this.confirmCallback){const t=this.confirmCallback;this.confirmCallback=null,t(e)}this.setState({confirm:""})}},"dialogConfirm1"):null}getSelectIdDialog(){if(this.state.showSelectId){var e;const t=["state","channel","device","adapter","instance","enum","host","config","script","user","group"];let s=this.selectId.callback?this.selectId.initValue||"":this.getSelect?this.getSelect():"",a=s.indexOf("/*");-1!==a&&(s=s.substring(0,a)),a=s.indexOf("//"),-1!==a&&(s=s.substring(0,a));let i=s.match(/"([^"]+)"/);return i&&(s=i[1]),i=s.match(/'([^']+)'/),i&&(s=i[1]),(0,te.jsx)(f.SelectID,{imagePrefix:"../..",themeName:this.props.themeName,themeType:this.state.themeType,socket:this.props.socket,selected:s,expertMode:"script"===this.selectId.type||void 0,types:"all"===(null===(e=this.selectId)||void 0===e?void 0:e.type)?t:[this.selectId.type||"state"],onClose:()=>{this.setState({showSelectId:!1}),this.selectId.callback&&(this.selectId.callback=null)},onOk:(e,t)=>{this.selectId.initValue=null,this.selectId.callback?(this.selectId.callback(e),this.selectId.callback=null):this.setState({insert:"'".concat(e,"'/*").concat(t,"*/")})}},"dialogSelectID1")}return null}getCronDialog(){return this.state.showCron?(0,te.jsx)(f.Cron,{cron:this.cron.callback?this.cron.initValue||"":this.getSelect?this.getSelect():"* * * * *",onClose:()=>this.setState({showCron:!1}),onOk:e=>{this.cron.initValue=null,this.cron.callback?(this.cron.callback(e),this.cron.callback=null):this.setState({insert:"'".concat(e,"'")})}},"dialogCron1"):null}getAstroDialog(){return this.state.showAstro?(0,te.jsxs)(G.Z,{open:!0,onClose:()=>this.setState({showAstro:!1}),children:[(0,te.jsx)(J.Z,{children:f.I18n.t("Astronomical events today")}),(0,te.jsx)(q.Z,{children:this.state.astroEvents?(0,te.jsx)(at.Z,{component:rt.Z,children:(0,te.jsxs)(et.Z,{size:"small",children:[(0,te.jsx)(it.Z,{children:(0,te.jsxs)(ot.Z,{children:[(0,te.jsx)(st.Z,{children:f.I18n.t("Name")}),(0,te.jsx)(st.Z,{children:f.I18n.t("Server time")}),(0,te.jsx)(st.Z,{children:f.I18n.t("Description")})]})}),(0,te.jsx)(tt.Z,{children:Object.keys(this.state.astroEvents).map((e=>(0,te.jsxs)(ot.Z,{children:[(0,te.jsx)(st.Z,{component:"th",scope:"row",children:e.startsWith("next")?"":e}),(0,te.jsx)(nt.Z,{title:f.I18n.t("Local time")+": "+new Date(this.state.astroEvents[e].date).toLocaleTimeString(),children:(0,te.jsx)(st.Z,{align:"right",children:this.state.astroEvents[e].serverTime})}),(0,te.jsx)(st.Z,{children:f.I18n.t(e)})]},e)))})]})}):(0,te.jsx)($e.Z,{})}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{variant:"contained",onClick:()=>this.setState({showAstro:!1}),color:"primary",startIcon:(0,te.jsx)(S.FU5,{}),children:f.I18n.t("Close")})})]},"dialogAstro"):null}getEditorDialog(){return this.state.showScript?(0,te.jsx)(Nt,{adapterName:this.props.adapterName,source:this.scriptDialog.initValue,args:this.scriptDialog.args?this.scriptDialog.args.join(", "):"",isReturn:this.scriptDialog.isReturn,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:e=>{this.scriptDialog.initValue=null,this.scriptDialog.callback&&(!1!==e&&this.scriptDialog.callback(e||""),this.scriptDialog.callback=null),this.setState({showScript:!1})}},"scriptEditorDialog"):null}getToast(){return(0,te.jsx)(Qe.Z,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!!this.state.toast,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:(0,te.jsx)("span",{id:"message-id",children:this.state.toast}),action:[(0,te.jsx)(D.Z,{"aria-label":"close",color:"inherit",className:this.props.classes.closeToast,onClick:()=>this.setState({toast:""}),size:"medium",children:(0,te.jsx)(S.FU5,{})},"close")]},"toast")}getTour(){if(this.state.instancesLoaded&&this.state.selected&&1===this.props.isAnyRulesExists&&this.props.objects[this.state.selected]&&this.state.rules&&this.state.visible)return(0,te.jsx)(qe.ZP,{steps:Xs,isOpen:this.state.isTourOpen,onRequestClose:()=>{this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true"),this.props.socket.setState("javascript.0.variables.rulesTour",{val:!0,ack:!0})},goToStep:this.state.tourStep},"tour")}getDebug(){if(this.props.debugMode){return this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine]?(0,te.jsx)(bo,{runningInstances:this.state.runningInstances,adapterName:this.props.adapterName,socket:this.props.socket,theme:this.props.theme,themeName:this.props.themeName,themeType:this.props.themeType,src:this.props.debugInstance?this.props.debugInstance.adapter:this.state.selected,debugInstance:this.props.debugInstance},"debugger"):(setTimeout((()=>this.props.onDebugModeChange(!1))),null)}return null}render(){return this.state.selected&&this.props.objects[this.state.selected]&&null===this.state.blockly&&null===this.state.rules&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),setTimeout((()=>{const e={blockly:"Blockly"===this.scripts[this.state.selected].engineType,rules:"Rules"===this.scripts[this.state.selected].engineType,showCompiledCode:!1,debugEnabled:this.scripts[this.state.selected].debug,verboseEnabled:this.scripts[this.state.selected].verbose};this.removeNonExistingScripts(null,e),this.setState(e)}),100)),[this.getTabs(),this.getToolbar(),this.getScriptEditor(),this.getAskAboutDebug(),this.getBlocklyEditor(),this.getRulesEditor(),this.getDebug(),this.getConfirmDialog(),this.getSelectIdDialog(),this.getCronDialog(),this.getEditorDialog(),this.getAstroDialog(),this.getDebugMenu(),this.getToast(),this.getTour()]}}const _o=(0,u.Z)((e=>({toolbar:{minHeight:38,boxShadow:"0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)"},toolbarButtons:{padding:4,marginLeft:4},toolbarButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},editorDiv:{height:"calc(100% - ".concat(e.toolbar.height+38+10,"px)"),width:"100%",overflow:"hidden",position:"relative"},textButton:{marginRight:10,minHeight:24,padding:"6px 16px"},saveButton:{background:"#ff9900"},textIcon:{marginLeft:e.spacing(1)},tabIcon:{width:24,height:24,verticalAlign:"middle",marginBottom:2,marginRight:2,borderRadius:3},hintIcon:{padding:"0 8px 0 8px"},hintText:{},hintButton:{marginTop:8,marginLeft:20},tabMenuButton:{position:"absolute",top:0,right:0},tabChanged:{color:e.palette.secondary.main},tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},tabChangedIcon:{color:"#FF0000",fontSize:16,marginLeft:5},closeButton:{marginLeft:5},notRunning:{color:"#ffbc00",marginRight:e.spacing(1),marginLeft:e.spacing(1)},tabButton:{minHeight:48},tabButtonWrapper:{display:"inline-block"},menuIcon:{width:18,height:18,borderRadius:2,marginRight:5},fullHeightDialog:{height:"calc(100% - 100px)"}})))(Oo);class Ro extends i().Component{constructor(e){super(e),this.state={error:"",imageStatus:""}}componentDidMount(){setTimeout((()=>{try{window.document.getElementById("import-text-area").focus()}catch(e){}}),100)}handleCancel(){this.props.onClose()}onChange(e){this.setState({text:e.target.value})}static readFileDataUrl(e,t){const s=new FileReader;s.onload=()=>{t(null,{data:s.result,name:e.name})},s.onabort=()=>{console.error("file reading was aborted"),t(f.I18n.t("file reading was aborted"))},s.onerror=e=>{console.error("file reading has failed"),t(f.I18n.t("file reading has failed: %s",e))},s.readAsDataURL(e)}handleDropFile(e){if(e&&e.hasOwnProperty("target")&&(e=e.target.files),!e&&!e.length)return;const t=e[e.length-1];t&&Ro.readFileDataUrl(t,((e,t)=>{e?this.setState({error:e}):this.props.onClose(t&&t.data)}))}render(){const e=this.props.classes,t=e.dropzone+" "+("accepted"===this.state.imageStatus?e.dropzoneAccepted:"rejected"===this.state.imageStatus?e.dropzoneRejected:"");return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"lg",classes:{paper:e.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title",children:[(0,te.jsx)(J.Z,{id:"import-dialog-title",children:f.I18n.t("Import scripts")}),(0,te.jsxs)(q.Z,{className:e.fullHeight,children:[(0,te.jsx)(yt.default,{maxSize:5e7,acceptClassName:e.dropzoneAccepted,rejectClassName:e.dropzoneRejected,onDrop:e=>this.handleDropFile(e),multiple:!1,accept:"application/zip,application/x-zip-compressed",className:t,children:e=>{let{getRootProps:t,getInputProps:s,isDragActive:a,isDragReject:i}=e;return i?("rejected"!==this.state.imageStatus&&this.setState({imageStatus:"rejected"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("Some files will be rejected")},"text"),(0,te.jsx)(S.B4e,{className:this.props.classes.icon+" "+this.props.classes.iconError},"icon")]})):a?("accepted"!==this.state.imageStatus&&this.setState({imageStatus:"accepted"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("All files will be accepted")},"text"),(0,te.jsx)(S.hjC,{className:this.props.classes.icon+" "+this.props.classes.iconOk},"icon")]})):("wait"!==this.state.imageStatus&&this.setState({imageStatus:"wait"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("Drop some files here or click...")},"text"),(0,te.jsx)(S.s_P,{className:this.props.classes.icon},"icon")]}))}},"image-drop"),this.state.error?(0,te.jsx)(xe,{text:this.state.error,onClose:()=>this.setState({error:""})}):null]}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Close")})})]})}}const Mo=(0,u.Z)((e=>({dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"100%"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"30%",width:"30%",color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1}})))(Ro);class zo extends m.Z{constructor(e){super(e,{Connection:f.AdminConnection,translations:{en:s(86443),de:s(19837),es:s(55117),fr:s(86115),it:s(79399),nl:s(43573),pl:s(28130),pt:s(65909),ru:s(50482),uk:s(17138),"zh-cn":s(58246)},bottomButtons:!1,socket:{autoSubscribeLog:!0},sentryDSN:window.sentryDSN}),this.onScriptsChanged=(e,t)=>{if(!e)return;let s=!1;const a={};e.startsWith("script.js.")&&(t?JSON.stringify(this.scripts[e])!==JSON.stringify(t)&&(this.scripts[e]=t,s=!0,a.scriptsHash=this.state.scriptsHash+1):this.scripts[e]&&(delete this.scripts[e],s=!0,a.scriptsHash=this.state.scriptsHash+1)),s&&this.setState(a)},this.onInstanceChanged=(e,t)=>{if(!e)return;let s=!1;const a={};if(e.match(/^system\.adapter\.[-_\w\d]+\$/)){if(e.startsWith("system.adapter.".concat(this.adapterName,".")))if(t&&"instance"===t.type)this.state.instances.includes(e)||(a.instances=[...this.state.instances],a.instances.push(e),a.instances.sort(),s=!0,this.socket.subscribeState("".concat(t._id,".alive"),this.onInstanceAliveChange));else if(!t&&this.state.instances.includes(e)){this.socket.unsubscribeState("".concat(e,".alive"),this.onInstanceAliveChange),a.instances=[...this.state.instances];const t=a.instances.indexOf(e);a.instances.splice(t,1),s=!0}t&&t[e].common&&t[e].common.blockly&&(this.confirmCallback=e=>e&&window.location.reload(),a.confirm=f.I18n.t("Some blocks were updated. Reload admin?"),s=!0)}s&&this.setState(a)},this.onHostChanged=(e,t)=>{if(!e)return;if(e.startsWith("system.host."))if(t&&"host"===t.type)this.hosts.includes(e)||(this.hosts.push(e),this.hosts.sort());else if(!t&&this.hosts.includes(e)){const t=this.hosts.indexOf(e);this.hosts.splice(t,1)}},this.onInstanceAliveChange=(e,t)=>{if(e&&(e=e&&e.substring(0,e.length-6),this.state.runningInstances[e]!==(!!t&&t.val))){const s=JSON.parse(JSON.stringify(this.state.runningInstances));s[e]=!!t&&t.val,this.setState({runningInstances:s})}},this.logSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.logSize"))||150,this.menuSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.menuSize"))||500,this.hosts=[],this.importFile=null,this.scripts={},window.alert=e=>{console.error(e),this.showError(e.toString())}}onConnectionReady(){window.systemLang=this.socket.systemLang,this.setState({ready:!1,updateScripts:0,scriptsHash:0,instances:[],updating:!1,resizing:!1,selected:null,logMessage:{},editing:[],menuOpened:"false"!==window.localStorage.getItem("App.menuOpened"),menuSelectId:"",expertMode:"true"===window.localStorage.getItem("App.expertMode"),logHorzLayout:"true"===window.localStorage.getItem("App.logHorzLayout"),runningInstances:{},confirm:"",importFile:!1,message:"",searchText:"",hideLog:"true"===window.localStorage.getItem("App.hideLog"),debugMode:!1,debugInstance:null});const e={};this.subscribeOnInstances().then((t=>(e.instances=t.instances,e.runningInstances=t.runningInstances,this.readAdaptersWithBlockly()))).then((()=>this.socket.getHosts())).then((e=>(this.hosts=e.map((e=>e._id)),this.readAllScripts()))).then((t=>{window.localStorage&&"true"!==window.localStorage.getItem("App.expertMode")&&"false"!==window.localStorage.getItem("App.expertMode")&&Object.keys(t).find((e=>e.startsWith("script.js.global.")&&"script"===t.type))&&(e.expertMode=!0),this.scripts=t;let s=this.state.scriptsHash;this.compareScripts(t)&&s++,e.scriptsHash=s,e.ready=!0,this.socket.subscribeObject("script.*",this.onScriptsChanged),this.socket.subscribeObject("system.adapter.*",this.onInstanceChanged),this.socket.subscribeObject("system.host.*",this.onHostChanged),this.setState(e)}))}subscribeOnInstances(){return this.socket.getAdapterInstances(this.adapterName).then((e=>{const t=e.map((e=>parseInt(e._id.split(".").pop()))).sort(),s={};t.forEach((e=>s["system.adapter.".concat(this.adapterName,".").concat(e)]=!1));const a=[];return t.forEach((e=>{const t="system.adapter.".concat(this.adapterName,".").concat(e),i="".concat(t,".alive");a.push(this.socket.getState(i).then((e=>{s[t]=!!e&&e.val,this.socket.subscribeState(i,this.onInstanceAliveChange)})))})),Promise.all(a).then((()=>({instances:t,runningInstances:s})))}))}readAllScripts(){return this.socket.getObjectView("script.js.","script.js.\u9999","channel").then((e=>this.socket.getObjectView("script.js.","script.js.\u9999","script").then((t=>(Object.keys(t).forEach((s=>e[s]=t[s])),e)))))}readAdaptersWithBlockly(){return this.socket.getObjectView("system.adapter.","system.adapter.\u9999","adapter").then((e=>new Promise((t=>Tt.loadCustomBlockly(e,(()=>t()))))))}onToggleExpertMode(e){this.onExpertModeChange(e)}compareScripts(e){const t=Object.keys(this.scripts),s=Object.keys(e);if(t.length!==s.length)return this.scripts=this.newScripts,!0;if(JSON.stringify(t)!==JSON.stringify(s))return this.scripts=this.newScripts,!0;for(let a=0;a ").concat(t)),this.setState({updating:!0}),this.scripts[e]&&"script"===this.scripts[e].type){const o=JSON.parse(JSON.stringify(this.scripts[e].common));o.name=s||o.name,void 0!==a&&(o.engine="system.adapter.javascript.".concat(a));const n=t.split(".");n.pop();const r=n.join(".");this.scripts[r]&&"script"===this.scripts[r].type&&(n.pop(),t="".concat(n.join("."),".").concat(t.split(".").pop())),i=this.updateScript(e,t,o)}else i=this.renameGroup(e,t,s);i.then((()=>this.setState({updating:!1}))).catch((e=>"canceled"!==e&&this.showError(e)))}renameGroup(e,t,s,a){if(a){if(a.length){let i=a.pop();return this.socket.getObject(i).then((o=>this.socket.delObject(i).catch((()=>{})).then((()=>(i=t+i.substring(e.length),o._id=i,o.common=o.common||{},o.common.expert=!0,this.socket.setObject(i,o)))).then((()=>this.renameGroup(e,t,s,a)))))}return Promise.resolve()}return a=[],a=Object.keys(this.scripts).filter((t=>t.startsWith("".concat(e,".")))),this.socket.getObject(e).then((i=>{(i=i||{common:{}}).common.name=s||i.common.name||e.split(".").pop(),i._id=t,this.socket.delObject(e).catch((()=>{})).then((()=>this.socket.setObject(t,i))).then((()=>this.renameGroup(e,t,s,a))).catch((e=>console.log(e)))})).catch((i=>{console.log(i);const o={_id:t,type:"channel",common:{name:s||e.split(".").pop(),expert:!0},native:{}};return this.socket.setObject(t,o).then((()=>this.renameGroup(e,t,s,a)))}))}onUpdateScript(e,t){this.scripts[e]&&"script"===this.scripts[e].type&&this.updateScript(e,e,t).then((()=>{})).catch((e=>"canceled"!==e&&this.showError(e)))}onSelect(e){this.scripts[e]&&this.scripts[e].common&&"script"===this.scripts[e].type&&this.setState({selected:e,menuSelectId:e},(()=>setTimeout((()=>this.setState({menuSelectId:""})))),300)}onExpertModeChange(e){this.state.expertMode!==e&&(window.localStorage&&window.localStorage.setItem("App.expertMode",e?"true":"false"),this.setState({expertMode:e}))}showError(e){this.setState({errorText:e?e.toString():""})}showMessage(e){this.setState({message:e?e.toString():""})}onDelete(e){this.socket.delObject(e).then((()=>{})).catch((e=>this.showError(e)))}onEdit(e){this.state.selected!==e&&this.setState({selected:e})}onAddNew(e,t,s,a,i,o){const n=new RegExp("^".concat(e,"\\."));if(Object.keys(this.scripts).find((t=>e===t||n.test(e))))return this.showError(f.I18n.t("Yet exists!"));s?this.socket.setObject(e,{common:{name:t,expert:!0},type:"channel"}).then((()=>setTimeout((()=>this.setState({menuSelectId:e},(()=>setTimeout((()=>this.setState({menuSelectId:""})))),300)),1e3))).catch((e=>this.showError(e))):this.socket.setObject(e,{common:{name:t,expert:!0,engineType:i,engine:"system.adapter.javascript.".concat(a||0),source:o||"",debug:!1,verbose:!1},type:"script"}).then((()=>setTimeout((()=>this.onSelect(e)),1e3))).catch((e=>this.showError(e)))}updateScript(e,t,s){return this.socket.getObject(e).then((a=>{const i={common:{}};return void 0!==s.engine&&(i.common.engine=s.engine),void 0!==s.enabled&&(i.common.enabled=s.enabled),void 0!==s.source&&(i.common.source=s.source),void 0!==s.debug&&(i.common.debug=s.debug),void 0!==s.verbose&&(i.common.verbose=s.verbose),i.from="system.adapter.admin.0",e===t&&a&&a.common&&s.name===a.common.name?(s.engineType&&s.engineType===a.common.engineType||void 0!==s.engineType&&(i.common.engineType=s.engineType||"Javascript/js"),i.type="script",this.socket.extendObject(e,i)):a&&a.common?(a.common.engineType=s.engineType||a.common.engineType||"Javascript/js",this.socket.delObject(e).then((()=>{void 0!==i.common.engine&&(a.common.engine=i.common.engine),void 0!==i.common.enabled&&(a.common.enabled=i.common.enabled),void 0!==i.common.source&&(a.common.source=i.common.source),void 0!==i.common.name&&(a.common.name=i.common.name),void 0!==i.common.debug&&(a.common.debug=i.common.debug),void 0!==i.common.verbose&&(a.common.verbose=i.common.verbose),delete a._rev,a.common.name=s.name,a.common.expert=!0,a.type="script",a._id=t,this.socket.setObject(t,a)}))):((a=i).common.name=s.name,a.common.expert=!0,a.type="script",a._id=t,this.socket.setObject(t,a))}))}onEnableDisable(e,t){if(this.scripts[e]&&"script"===this.scripts[e].type){const s=this.scripts[e].common;s.enabled=t,s.expert=!0,this.updateScript(e,e,s).catch((e=>"canceled"!==e&&this.showError(e)))}}getLiveHost(e,t){if(t||(t=this.hosts?[...this.hosts]:[]),t.length){const s=t.shift();this.socket.getState("".concat(s,".alive")).then((a=>{a&&a.val?e(s):setTimeout((()=>this.getLiveHost(e,t)))}))}else e()}onExport(){this.getLiveHost((e=>{if(!e)return this.showError(f.I18n.t("No active host found"));const t=new Date;let s=t.getFullYear(),a=t.getMonth()+1;a<10&&(a="0".concat(a)),s+="-".concat(a),a=t.getDate(),a<10&&(a="0".concat(a)),s+="-".concat(a,"-"),this.socket.getRawSocket().emit("sendToHost",e,"readObjectsAsZip",{adapter:"javascript",id:"script.js",link:"".concat(s,"scripts.zip"),fileStorageNamespace:"admin.".concat(this.instance)},(e=>{if("string"===typeof e){const t=document.createElement("a");if(e.startsWith("admin."))t.href="../../files/".concat(e);else{const s=e.split(".zip.");t.href="./zip/".concat(s[0],"/").concat(s[1])}document.body.appendChild(t),t.click(),t.remove()}else if(e.error&&this.showError(e.error),e.data){const t=document.createElement("a");t.href="data: application/zip;base64,".concat(e.data),t.download="".concat(s,"scripts.zip"),document.body.appendChild(t),t.click(),t.remove()}}))}))}onImport(e){this.importFile=e,e?(this.confirmCallback=this.onImportConfirmed.bind(this),this.setState({importFile:!1,confirm:f.I18n.t("Existing scripts will be overwritten.")})):this.setState({importFile:!1})}onImportConfirmed(e){let t=this.importFile;this.importFile=null,e&&t&&(t=t.split(",")[1],this.getLiveHost((e=>{e?this.socket.getRawSocket().emit("sendToHost",e,"writeObjectsAsZip",{data:t,adapter:"javascript",id:"script.js"},(e=>{"permissionError"===e?this.showError(f.I18n.t(e)):!e||e.error?this.showError(e?f.I18n.t(e.error):f.I18n.t("Unknown error")):this.showMessage(f.I18n.t("Done"))})):this.showError(f.I18n.t("No active host found"))})))}toggleLogLayout(){window.localStorage&&window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}renderEditor(){const e=Object.keys(this.scripts).reduce(((e,t)=>e+("Rules"===this.scripts[t].common.engineType?1:0)),0);return(0,te.jsx)(_o,{debugMode:this.state.debugMode,onDebugModeChange:e=>{e?this.setState({debugMode:!0}):this.setState({debugMode:!1,debugInstance:null})},visible:!this.state.resizing,socket:this.socket,adapterName:this.adapterName,onLocate:e=>this.setState({menuSelectId:e}),runningInstances:this.state.runningInstances,menuOpened:this.state.menuOpened,searchText:this.state.searchText,themeType:this.state.themeType,themeName:this.state.themeName,theme:this.state.theme,expertMode:this.state.expertMode,onChange:(e,t)=>this.onUpdateScript(e,t),isAnyRulesExists:e,debugInstance:this.state.debugInstance,onSelectedChange:(e,t)=>{const s={};let a=!1;e!==this.state.selected&&(a=!0,s.selected=e),JSON.stringify(t)!==JSON.stringify(this.state.editing)&&(a=!0,s.editing=JSON.parse(JSON.stringify(t))),a&&this.setState(s)},onRestart:e=>this.socket.extendObject(e,{common:{enabled:!0}}),selected:this.state.selected&&this.scripts[this.state.selected]&&"script"===this.scripts[this.state.selected].type?this.state.selected:"",objects:this.scripts,instances:this.state.instances},"editor")}showLogButton(){return(0,te.jsx)("div",{title:f.I18n.t("Show logs"),className:this.props.classes.showLogButton,onClick:()=>{window.localStorage.setItem("App.hideLog","false"),this.setState({hideLog:!1,resizing:!0}),setTimeout((()=>this.setState({resizing:!1})),300)},children:(0,te.jsx)(S.t2l,{})},"showLog")}renderErrorDialog(){return this.state.errorText?(0,te.jsx)(xe,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"dialogError"):null}renderMain(){const{classes:e}=this.props;return[this.state.message?(0,te.jsx)(b(),{onClose:()=>this.setState({message:""}),text:this.state.message},"dialogMessage"):null,this.renderErrorDialog(),this.state.importFile?(0,te.jsx)(Mo,{onClose:e=>this.onImport(e)},"dialogImportFile"):null,this.state.confirm?(0,te.jsx)(v(),{onClose:e=>{this.state.confirm&&this.setState({confirm:""}),this.confirmCallback&&this.confirmCallback(e),this.confirmCallback=null},text:this.state.confirm},"dialogConfirm"):null,(0,te.jsxs)("div",{className:e.content+" iobVerticalSplitter",children:[(0,te.jsx)("div",{className:e.menuOpenCloseButton,onClick:()=>{window.localStorage.setItem("App.menuOpened",this.state.menuOpened?"false":"true"),this.setState({menuOpened:!this.state.menuOpened,resizing:!0}),setTimeout((()=>this.setState({resizing:!1})),300)},children:this.state.menuOpened?(0,te.jsx)(S.KYK,{}):(0,te.jsx)(S.xXU,{})},"closeMenu"),(0,te.jsxs)(h(),{vertical:!this.state.logHorzLayout,primaryMinSize:100,secondaryInitialSize:this.state.hideLog?0:this.logSize,onDragStart:()=>this.setState({resizing:!0}),onSecondaryPaneSizeChange:e=>this.state.hideLog?0:this.logSize=parseFloat(e),onDragEnd:()=>{this.setState({resizing:!1}),window.localStorage.setItem("App.logSize",this.logSize.toString())},children:[(0,te.jsxs)(te.Fragment,{children:[this.renderEditor(),!this.state.debugMode&&this.state.hideLog&&this.showLogButton()]}),!this.state.debugMode&&!this.state.hideLog&&(0,te.jsx)(Je,{verticalLayout:!this.state.logHorzLayout,onLayoutChange:()=>this.toggleLogLayout(),editing:this.state.editing,socket:this.socket,selected:this.state.selected,onHideLog:()=>{window.localStorage.setItem("App.hideLog","true"),this.setState({hideLog:!0,resizing:!0}),setTimeout((()=>this.setState({resizing:!1})),300)}},"log")]},"splitterLayout")]},"main")]}render(){const{classes:e}=this.props;return this.state.ready?(0,te.jsx)("div",{className:e.root,children:(0,te.jsx)(di,{socket:this.socket,children:(0,te.jsxs)(h(),{vertical:!1,primaryMinSize:300,primaryIndex:1,secondaryMinSize:300,secondaryInitialSize:this.menuSize,customClassName:"".concat(e.splitterDivs," ").concat(this.state.menuOpened?"":e.menuDivWithoutMenu),onDragStart:()=>this.setState({resizing:!0}),onSecondaryPaneSizeChange:e=>this.menuSize=parseFloat(e),onDragEnd:()=>{this.setState({resizing:!1}),window.localStorage.setItem("App.menuSize",this.menuSize.toString())},children:[(0,te.jsx)("div",{className:e.mainDiv,children:(0,te.jsx)(Ue,{debugMode:this.state.debugMode,onDebugInstance:e=>{this.setState({debugInstance:e,debugMode:!!e})},scripts:this.scripts,scriptsHash:this.state.scriptsHash,instances:this.state.instances,update:this.state.updateScripts,onRename:this.onRename.bind(this),onSelect:this.onSelect.bind(this),socket:this.socket,selectId:this.state.menuSelectId,onEdit:this.onEdit.bind(this),expertMode:this.state.expertMode,themeType:this.state.themeType,themeName:this.state.themeName,onThemeChange:e=>{f.Utils.setThemeName(e);const t=f.Utils.getThemeType(e);this.setState({themeName:e,themeType:t},(()=>this.props.onThemeChange(e)))},runningInstances:this.state.runningInstances,onExpertModeChange:this.onExpertModeChange.bind(this),onDelete:this.onDelete.bind(this),onAddNew:this.onAddNew.bind(this),onEnableDisable:this.onEnableDisable.bind(this),onExport:this.onExport.bind(this),width:this.menuSize,onImport:()=>this.setState({importFile:!0}),onSearch:e=>this.setState({searchText:e}),version:this.props.version},"sidemenu")},"menu"),this.renderMain()]},"menuSplitter")})}):(0,te.jsx)(f.Loader,{theme:this.state.themeType})}}zo.propTypes={version:d().string,onThemeChange:d().func};const Po=(0,u.Z)((e=>({root:{flexGrow:1,display:"flex",width:"100%",height:"100%"},menuDiv:{overflow:"hidden"},splitterDivs:{"&>div":{overflow:"hidden",width:"100%",height:"100%"},"& .layout-splitter":{background:"dark"===e.palette.mode?"#595858":"#ccc;"}},mainDiv:{width:"100%",height:"100%",overflow:"hidden"},content:{width:"100%",height:"100%",backgroundColor:e.palette.background&&e.palette.background.default,position:"relative"},splitterDivWithMenu:{width:"calc(100% - 300px)",height:"100%"},menuDivWithoutMenu:{"&>div:first-child":{display:"none"},"&>.layout-splitter":{display:"none"}},progress:{margin:100},menuOpenCloseButton:{position:"absolute",left:0,borderRadius:"0 5px 5px 0",top:6,paddingTop:8,cursor:"pointer",zIndex:1,height:25,width:20,background:e.palette.secondary.main,color:e.palette.primary.main,paddingLeft:3,"&:hover":{color:"white"}},showLogButton:{position:"absolute",right:3,borderRadius:"5px 5px 0 0",bottom:0,paddingTop:3,cursor:"pointer",zIndex:10,height:20,width:25,background:e.palette.secondary.main,color:e.palette.primary.main,paddingLeft:8,"&:hover":{color:"white"}}})))(zo);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));const Bo="7.11.0";var Fo=s(37674),Lo=s(19509);window.GenericBlock=ea,window.adapterName="javascript",window.sentryDSN="https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56";let Uo=f.Utils.getThemeName();console.log("iobroker.".concat(window.adapterName,"@").concat(Bo,' using theme "').concat(Uo,'"'));const Zo=(0,l.createGenerateClassName)({productionPrefix:"iob"});!function e(){const t=window.innerWidth<600,s=document.getElementById("root");return(0,o.s)(s).render((0,te.jsx)(l.StylesProvider,{generateClassName:Zo,children:(0,te.jsx)(n.Z,{injectFirst:!0,children:(0,te.jsx)(r.Z,{theme:(0,Fo.default)(Uo),children:(0,te.jsx)(R.W,{backend:t?Lo.zr:M.PD,children:(0,te.jsx)(Po,{version:Bo,onThemeChange:t=>{Uo=t,e()}})})})})}))}(),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((e=>{e.unregister()}));const Wo=window.loadDynamicScript;Wo&&Wo("3000"===window.location.port?window.location.protocol+"//"+window.location.hostname+":8081/lib/js/socket.io.js":"./../../lib/js/socket.io.js",(function(){Wo("vs/loader.js",(function(){Wo("vs/configure.js",(function(){"function"===typeof window.socketLoadedHandler&&window.socketLoadedHandler()}))}))}))},19837:e=>{e.exports=JSON.parse('{"-":"-","Add":"Hinzuf\xfcgen","Add new script":"Neues Skript hinzuf\xfcgen","All files will be accepted":"Alle Dateien werden akzeptiert","April":"April","Are you sure?":"Wirklich sicher?","August":"August","Blockly description":"Erstellen von Regeln durch Grafikbl\xf6cke","Cancel":"Abbrechen","Cannot delete non empty item!":"Kann nicht gel\xf6scht werden, weil noch einige Elementen darin sind!","Change layout":"Layout \xe4ndern","Check blocks":"Bl\xf6cke pr\xfcfen","Check is not active, because javascript adapter is disabled":"Syntax-Check ist nicht aktiv, weil der Javascript Adapter nicht aktiv ist.","Clear search input":"Sucheingabe l\xf6schen","Click on this icon":"Auf dieses Symbol klicken","Close":"Schlie\xdfen","Close all but current":"Alle anderen au\xdfer dem Aktiven schlie\xdfen","Collapse all":"Alles einklappen","Configuration not saved.":"Die Konfiguration ist nicht gespeichert.","Convert blockly to javascript for ever.":"Blockly dauerhaft in Javascript konvertieren.","Copy script":"Skript kopieren","Copy to clipboard":"In die Zwischenablage kopieren","Download as file":"Download als Datei","Create new":"Neu erstellen","Create new folder":"Neuen Ordner erstellen","Create new script":"Neues Skript erstellen","Create or edit CRON or time wizard":"CRON- oder Zeit-Assistenten erstellen oder bearbeiten","Dark Theme":"Dunkles Thema","Dark style":"Dunkler Stil","Debug options":"Debug-Optionen","December":"Dezember","Define cron...":"Cron definieren ...","Define schedule...":"Zeitplan definieren ...","Delete":"L\xf6schen","Delete %s":"L\xf6schen %s...","Delete folder":"Ordner l\xf6schen","Delete script":"Skript l\xf6schen","Deselect all":"Alles abw\xe4hlen","Discard changes for %s":"\xc4nderungen f\xfcr %s verwerfen","Done":"Fertig","Drop some files here or click...":"Dateien hier ablegen oder klicken ...","Edit script or just double click":"Skript bearbeiten oder einfach doppelklicken","End search mode":"Suchmodus beenden","Error":"Fehler","Error was found":"Fehler wurde gefunden","Existing scripts will be overwritten.":"Vorhandene Skripte werden \xfcberschrieben.","Expand all":"Alle erweitern","Expert mode":"Expertenmodus","Export":"Export","Export all scripts":"Alle Skripte exportieren","Export blocks":"Bl\xf6cke exportieren","Export selected blocks":"Ausgew\xe4hlte Bl\xf6cke exportieren","February":"Februar","Folder":"Ordner","Friday":"Freitag","Function editor":"Funktions-Editor","ID":"ID","Import":"Import","Import blocks":"Bl\xf6cke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripte importieren","Insert object ID":"Objekt-ID einf\xfcgen","Instance":"Instanz","Instance is disabled":"Instanz ist deaktiviert","Invalid CRON":"Ung\xfcltiger CRON","It will not be possible to revert this operation.":"Dieser Vorgang kann nicht r\xfcckg\xe4ngig gemacht werden.","JS description":"Regeln erstellen mit JavaScript","January":"Januar","July":"Juli","June":"Juni","Learn More":"Mehr erfahren","Light style":"Heller Stil","Locate file":"Datei zeigen","Log outputs":"Protokoll","March":"M\xe4rz","May":"Mai","Menu":"Men\xfc","Message":"Nachricht","Monday":"Montag","Name":"Name","No active host found":"Kein aktiver Host gefunden","November":"November","October":"Oktober","Ok":"Ok","On weekdays":"An Wochentagen","Pause script":"Skript anhalten","Please select object ID...":"Objekt-ID ausw\xe4hlen ...","Rename":"Umbenennen","Reorder scripts in folders":"Skripte in Ordnern neu ordnen","Repeat":"Wiederholen","Restart":"Neustart","Root folder":"Root-Verzeichnis","Run script":"Skript ausf\xfchren","Saturday":"Samstag","Save":"Speichern","Script":"Skript","Script %s was modified on disk":"Skript \\"%s\\" wurde auf der Festplatte ge\xe4ndert","Script is not running":"Skript l\xe4uft nicht","Search in scripts":"Suche in Skripten","Search...":"Suche...","Select all":"Alles ausw\xe4hlen","September":"September","Show javascript code":"Javascript-Code zeigen","Show only paused scripts":"Nur angehaltene Skripte zeigen","Show only running scripts":"Nur laufende Skripte zeigen","Show only scripts with problems":"Nur Skripte mit Problemen zeigen","Some files will be rejected":"Einige Dateien werden abgelehnt","Sunday":"Sonntag","TS description":"Regeln erstellen mit TypeScript","Thursday":"Donnerstag","Tuesday":"Dienstag","Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","Wednesday":"Mittwoch","Yet exists!":"Existiert schon!","copy":"Kopie","file reading has failed: %s":"Das Lesen der Datei ist fehlgeschlagen: %s","file reading was aborted":"Das Lesen der Datei wurde abgebrochen","filter_func":"Funktion","filter_id":"ID","filter_name":"Name","filter_role":"Rolle","filter_room":"Raum","for edit or create script":"zum Bearbeiten oder zum Erstellen eines neues Skripts","no blocks found":"Keine Bl\xf6cke gefunden","no group":"KEINE GRUPPE","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.","tooltip_ack":"Best\xe4tigen","tooltip_from":"Von","tooltip_lc":"Zuletzt ge\xe4ndert","tooltip_quality":"Qualit\xe4t","tooltip_ts":"Zeitstempel","tooltip_user":"Benutzer","tooltip_value":"Wert","use seconds":"Sekunden verwenden","Save all":"Alle speichern","Change theme (actual \\"%s\\")":"Thema \xe4ndern (jetzt - \\"%s\\")","Hide logs":"Protokoll ausblenden","Show logs":"Protokoll anzeigen","Rules description":"Regeln erstellen mit WENN-, DANN- und SONST-Bl\xf6cken","help_on_change":"Der Code wird nur ausgef\xfchrt, wenn sich das Ergebnis der Bedingung \xe4ndert. z.B. wenn sich der Temperatur wert \xe4ndert und die Bedingung \\"Wenn die Temperatur gr\xf6\xdfer als 20\xb0C ist\\" lautet, werden die \\"Dann\\" -Aktionen einmal ausgef\xfchrt, wenn die Temperatur \xfcber 20\xb0C liegt. Das n\xe4chste Mal werden die \\"Dann\\" -Aktionen ausgef\xfchrt, wenn die Temperatur unter 20\xb0C gefallen ist und dann wieder \xfcber 20\xb0C ansteigt.","help_just_check":"Der Code wird jedes Mal ausgef\xfchrt, wenn die Bedingung erf\xfcllt ist. z.B. wenn der Temperatur wert sich \xe4ndert und die Bedingung \\"Wenn die Temperatur gr\xf6\xdfer als 20\xb0C ist\\" lautet, werden die \\"Dann\\" -Aktionen jedes Mal ausgef\xfchrt, wenn der Sensor die Temperatur sendet und diese \xfcber 20\xb0C liegt. Bei 21\xb0C, bei 22\xb0C und so weiter.","On condition change":"Bei \xc4nderung des Ergebnis der Bedingung","Just check":"Einfach \xfcberpr\xfcfen","when":"falls","and":"und","then":"dann","or":"oder","else":"sonst","Nothing found":"Nichts gefunden","reset search":"Suche zur\xfccksetzen","Read only ID selected: %s":"Schreibgesch\xfctzte ID ausgew\xe4hlt: %s","OK":"OK","Triggers":"L\xf6st aus","cron":"CRON","wizard":"Assistent","interval":"Intervall","at":"beim","astro":"Astro","on condition change":"bei Zustands\xe4nderung","just check":"einfach pr\xfcfen","Explanation":"Erl\xe4uterung","seconds":"Sekunden","minutes":"Minuten","hours":"Stunden","Every day":"T\xe4glich","milliseconds":"Millisekunden","Copied":"Kopiert","nadir":"Nadir","nightEnd":"astronomische Morgend\xe4mmerung","nauticalDawn":"nautische Morgend\xe4mmerung","dawn":"Morgend\xe4mmerung","sunrise":"Sonnenaufgang","sunriseEnd":"Goldene Morgenstunde","goldenHourEnd":"Vormittag","solarNoon":"(Nach-)Mittag","goldenHour":"Goldene Abendstunde","sunsetStart":"Sonnenuntergang (Anfang)","sunset":"Abendd\xe4mmerung","dusk":"nautische Abendd\xe4mmerung","nauticalDusk":"astronomische Abendd\xe4mmerung","night":"Nacht","one":"einer","two":"zwei","true":"wahr","false":"falsch","search":"Suche","Actions":"Aktionen","Conditions":"Bedingungen","Schedule":"Zeitplan","Start script":"Skript starten","State":"Zustand","State condition":"Zustandsbedingung","Time condition":"Zeitbedingung","Set state action":"Zustand setzten","Exec":"Exec shell","HTTP Call":"HTTP-Aufruf","Log text":"Protokolltext","Pause":"Pause","on change":"bei \xc4nderung","control":"Steuerung","Say It":"Say It","every hour at 0 minutes":"jede Stunde bei 0 Minuten","On script save or adapter start":"Beim Speichern des Skripts oder beim Starten des Adapters","equal to":"gleich","Actual time of day":"Tats\xe4chliche Tageszeit","with":"mit","Shell command":"Shell-Befehl","URL":"URL","Instance:":"Instanz:","Language:":"Sprache:","Volume":"Volumen","Text:":"Text:","undefined":"nicht definiert","Default":"Standard","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Sie k\xf6nnen %s im Text verwenden, um den aktuellen Triggerwert anzuzeigen, %id, um die ausgel\xf6ste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgel\xf6sten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","Instructions":"Anleitung","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Sie k\xf6nnen %s in der URL verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgel\xf6ste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgel\xf6sten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Sie k\xf6nnen %s im Wert verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ID des ausgel\xf6sten Objekts zu verwenden, %name, um den ID-Namen des ausgel\xf6sten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Sie k\xf6nnen %s im Befehl verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgel\xf6ste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgel\xf6sten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","every":"jeder","with offset":"mit Versatz","on update":"beim Aktualisieren","update":"Aktualisieren","Triggers the rule periodically or on some specific time":"L\xf6st periodisch oder zu einem bestimmten Zeitpunkt aus","Triggers the on script saving or the javascript instance restart":"L\xf6st das Speichern des Skripts oder den Neustart der Javascript-Instanz aus","Triggers the rule on update or change of some state":"L\xf6st die Regel beim Aktualisieren oder \xc4ndern eines Zustands aus","Compares the state value with user defined value":"Vergleicht den Zustandswert mit dem benutzerdefinierten Wert","Compares current time with the user specific time":"Vergleicht die aktuelle Zeit mit der benutzerspezifischen Zeit","Control or update some state":"Zustand steuern oder aktualisieren","Executes some shell command":"F\xfchrt einen Shell-Befehl aus","Make a HTTP get request":"Stellen Sie eine HTTP-Abrufanforderung","Print some text in log":"Drucken Sie einen Text im Protokoll","Make a pause between actions":"Machen Sie eine Pause zwischen den Aktionen","Say some text via sayit adapter":"Sagen Sie einen Text \xfcber den Sayit-Adapter","Telegram":"Telegram","User:":"Benutzer:","all":"alle","Sends message via telegram":"Sendet eine Nachricht per telegram","Sends an email":"Sendet eine E-Mail","Send email":"E-Mail senden","Sends message via pushover":"Sendet eine Nachricht per Pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Sendet eine Nachricht \xfcber WhatsApp-Cmb","Whatsapp-cmb":"WhatsApp-cmb","Sends message via Pushsafer":"Sendet eine Nachricht \xfcber Pushsafer","Pushsafer":"Pushsafer","To:":"Zu:","Subject:":"Gegenstand:","Body:":"K\xf6rper:","Title:":"Titel:","Sound:":"Klang:","Priority:":"Priorit\xe4t:","magic":"Magie","quiet":"ruhig","normal":"Normal","high-priority":"hohe Priorit\xe4t","acknowledgment":"Wissen","Phone:":"Telefon:","(optional)":"(optional)","Vibration:":"Vibration:","lowest priority":"niedrigste Priorit\xe4t","lower priority":"geringere Priorit\xe4t","normal priority":"normale Priorit\xe4t","high priority":"hohe Priorit\xe4t","highest priority":"h\xf6chste Priorit\xe4t","default":"Standard","All":"Alle","Write your own code":"Eigenen Code schreiben","User function":"Benutzerfunktion","This is advances option. You can write your own code here and it will be executed on trigger":"Dies ist eine erweiterte Option. Sie k\xf6nnen hier Ihren eigenen Code schreiben, der beim Ausl\xf6sen ausgef\xfchrt wird","greater than":"gr\xf6\xdfer als","offset":"Versatz","Function":"Funktion","greater or equal to":"gr\xf6\xdfer oder gleich","less or equal to":"kleiner oder gleich","less than":"kleiner als","not equal to":"ungleich","[equal]":"[gleich]","[greater or equal]":"[gr\xf6\xdfer oder gleich]","[greater]":"[gr\xf6\xdfer]","[less or equal]":"[kleiner oder gleich]","[less]":"[kleiner]","[not equal]":"[ungleich]","[includes]":"[enth\xe4lt]","[hysteresis]":"[Hysterese]","greater or equal":"gr\xf6\xdfer oder gleich","less or equal":"kleiner oder gleich","includes":"beinhaltet",".":".","()":"()","Mo":"Mo","Tu":"Di","We":"Mi","Th":"Do","Fr":"Fr","Sa":"Sa","Su":"So","Control or update some state with delay":"Zustand mit Verz\xf6gerung steuern oder aktualisieren","Delay":"Verz\xf6gerung","ms":"ms","Set with delay":"Setzen mit Verz\xf6gerung","clear running":"laufende abbrechen","toggle value":"Wert umschalten","Any month":"Jeden Monat","Any":"Egal","with date":"mit Datum","Date":"Datum","Month":"Monat","Januar":"Januar","Februar":"Februar","March ":"M\xe4rz ","Condition":"Bedingung","Limit":"Grenze","The script will be stopped and must be activated manually after debugging. Continue?":"Das Skript wird gestoppt und muss nach dem Debuggen manuell aktiviert werden. Fortsetzen?","Yes":"Ja","Debug instance":"Debug-Instanz","Resume execution":"Ausf\xfchrung fortsetzen","Go to next line":"Gehe zur n\xe4chsten Zeile","Step into function":"Schritt in die Funktion","Step out from function":"Raus aus der Funktion","Stop on exception":"Bei Ausnahme anhalten","Console":"Konsole","Stack":"Stack","Pause execution":"Ausf\xfchrung pausieren","Simulate":"Simulieren","Trigger with value":"Trigger mit Wert","Value":"Wert","Write":"Schreiben","Ack":"Best\xe4tigt","Start":"Start","Filter":"Filter","Instances":"Instanzen","Triggered":"Ausgel\xf6st","Function: executed":"Funktion: ausgef\xfchrt","Operate two states":"Zwei Zust\xe4nde operieren","store in":"speichern in","ID1":"ID1","ID2":"ID2","Operations with two states":"Operationen mit zwei Zust\xe4nden","debug_label":"Debuggen","debug_help":"Dies ist ein spezieller Modus, in dem sich Zust\xe4nde und Objekte nicht \xe4ndern. Im Protokoll werden jedoch nur Informationen zu jeder geplanten \xc4nderung angezeigt.","verbose_label":"Ausf\xfchrliche Protokollausgaben","verbose_help":"F\xfcgt Debug-Ausgaben f\xfcr viele Systembefehle zum Protokoll hinzu","easy":"einfach","for programmers":"f\xfcr Programmierer","for professionals":"f\xfcr Profis","Duplicate name":"Doppelter Name","Empty name is not allowed":"Leerer Name ist nicht zul\xe4ssig","Time":"Zeit","Server time":"Server-Zeit","Local time":"Lokale Zeit","Description":"Beschreibung","nextSunrise":"N\xe4chster Sonnenaufgang","nextSunset":"N\xe4chster Sonnenuntergang","Astronomical events today":"Astronomische Ereignisse heute","Compares current time with astronomical event":"Vergleicht die aktuelle Zeit mit einem astronomischen Ereignis","Show astronomical events":"Astronomische Ereignisse anzeigen","Astronomical":"Astronomisch","Enter your question":"Anfrage eingeben","Press Ctrl+Enter to get the answer":"Dr\xfccken Sie Strg+Eingabetaste, um die Antwort zu erhalten","Ask":"Fragen","Result":"Ergebnis","Use generated code":"Code verwenden","No Chat GPT Key found":"Kein Chat-GPT-Schl\xfcssel gefunden","You have to enter OpenAI API key in the configuration of javascript adapter.":"Sie m\xfcssen den OpenAI-API-Schl\xfcssel in der Konfiguration des Javascript-Adapters eingeben.","Open configuration":"Konfiguration \xf6ffnen"}')},86443:e=>{e.exports=JSON.parse('{"-":"-","Add":"Add","Add new script":"Add new script","All files will be accepted":"All files will be accepted","April":"April","Are you sure?":"Are you sure?","August":"August","Blockly description":"Creating rules by graphic blocks","Cancel":"Cancel","Cannot delete non empty item!":"Cannot delete non empty item!","Change layout":"Change layout","Check blocks":"Check blocks","Check is not active, because javascript adapter is disabled":"Check is not active, because Javascript adapter is disabled","Clear search input":"Clear search input","Click on this icon":"Click on this icon","Close":"Close","Close all but current":"Close all but current","Collapse all":"Collapse all","Configuration not saved.":"Configuration not saved.","Convert blockly to javascript for ever.":"Permanently convert Blockly to Javascript.","Copy script":"Copy script","Copy to clipboard":"Copy to clipboard","Download as file":"Download as file","Create new":"Create new","Create new folder":"Create new folder","Create new script":"Create new script","Create or edit CRON or time wizard":"Create or edit CRON or time wizard","Dark Theme":"Dark theme","Dark style":"Dark style","Debug options":"Debug options","December":"December","Define cron...":"Define cron...","Define schedule...":"Define schedule...","Delete":"Delete","Delete %s":"Delete %s...","Delete folder":"Delete folder","Delete script":"Delete script","Deselect all":"Deselect all","Discard changes for %s":"Discard changes for %s","Done":"Done","Drop some files here or click...":"Drop some files here or click...","Edit script or just double click":"Edit script or just double click","End search mode":"End search mode","Error":"Error","Error was found":"Error was found","Existing scripts will be overwritten.":"Existing scripts will be overwritten.","Expand all":"Expand all","Expert mode":"Expert mode","Export":"Export","Export all scripts":"Export all scripts","Export blocks":"Export blocks","Export selected blocks":"Export selected blocks","February":"February","Folder":"Folder","Friday":"Friday","Function editor":"Function editor","ID":"ID","Import":"Import","Import blocks":"Import blocks","Import error":"Import error","Import scripts":"Import scripts","Insert object ID":"Insert object ID","Instance":"Instance","Instance is disabled":"Instance is disabled","Invalid CRON":"Invalid CRON","It will not be possible to revert this operation.":"It will not be possible to revert this operation.","JS description":"Creating rules by writing Javascript","January":"January","July":"July","June":"June","Learn More":"Learn More","Light style":"Light style","Locate file":"Locate file","Log outputs":"Log outputs","March":"March","May":"May","Menu":"Menu","Message":"Message","Monday":"Monday","Name":"Name","No active host found":"No active host found","November":"November","October":"October","Ok":"Ok","On weekdays":"On weekdays","Pause script":"Pause script","Please select object ID...":"Please select object ID...","Rename":"Rename","Reorder scripts in folders":"Reorder scripts in folders","Repeat":"Repeat","Restart":"Restart","Root folder":"Root folder","Run script":"Run script","Saturday":"Saturday","Save":"Save","Script":"Script","Script %s was modified on disk":"Script %s was modified on disk","Script is not running":"Script is not running","Search in scripts":"Search in scripts","Search...":"Search...","Select all":"Select all","September":"September","Show javascript code":"Show Javascript code","Show only paused scripts":"Show only paused scripts","Show only running scripts":"Show only running scripts","Show only scripts with problems":"Show only scripts with problems","Some files will be rejected":"Some files will be rejected","Sunday":"Sunday","TS description":"Creating rules by writing Typescript","Thursday":"Thursday","Tuesday":"Tuesday","Unknown error":"Unknown error","Unknown error!":"Unknown error!","Wednesday":"Wednesday","Yet exists!":"Yet exists!","copy":"copy","file reading has failed: %s":"file reading has failed: %s","file reading was aborted":"file reading was aborted","filter_func":"Function","filter_id":"ID","filter_name":"Name","filter_role":"Role","filter_room":"Room","for edit or create script":"for edit or create a new script","no blocks found":"No blocks found","no group":"NO GROUP","not properly connected":"This block is not properly connected to other blocks.","tooltip_ack":"Acknowledge","tooltip_from":"From","tooltip_lc":"Last changed","tooltip_quality":"Quality","tooltip_ts":"Timestamp","tooltip_user":"User","tooltip_value":"Value","use seconds":"use seconds","Save all":"Save all","Change theme (actual \\"%s\\")":"Change theme (now - \\"%s\\")","Hide logs":"Hide logs","Show logs":"Show logs","Rules description":"Create rules with IF, THEN, ELSE blocks","help_on_change":"The code will be executed only if the condition result changes. E.g. if triggering on the temperature sensor value and the condition is \\"if temperature is greater than 20\xb0C\\", the \\"then\\" actions will be executed once when temperature is over 20. Next time the \\"then\\" actions will be executed when the temperature fails under 20 and then rises over 20 again.","help_just_check":"The code will be executed only every time when condition is true. E.g. if triggering on the temperature sensor value and the condition is \\"if temperature is greater than 20\xb0C\\", the \\"then\\" actions will be executed every time when sensor sends the temperature and it is over 20\xb0C. By 21\xb0C, by 22\xb0C and so on.","On condition change":"On condition result change","Just check":"Just check","when":"when","and":"and","then":"then","or":"or","else":"else","Nothing found":"Nothing found","reset search":"reset search","Read only ID selected: %s":"Read only ID selected: %s","OK":"OK","Triggers":"Triggers","cron":"CRON","wizard":"Wizard","interval":"interval","at":"at","astro":"Astro","on condition change":"on condition change","just check":"just check","Explanation":"Explanation","seconds":"seconds","minutes":"minutes","hours":"hours","Every day":"Every day","milliseconds":"milliseconds","Copied":"Copied","nadir":"Nadir","nightEnd":"Night end","nauticalDawn":"Nautical dawn","dawn":"Dawn","sunrise":"sunrise","sunriseEnd":"Sunrise end","goldenHourEnd":"End of golden hour","solarNoon":"Solar noon","goldenHour":"Golden hour","sunsetStart":"Sunset start","sunset":"Sunset","dusk":"Dusk","nauticalDusk":"Nautical dusk","night":"Night","one":"one","two":"two","true":"true","false":"false","search":"search","Actions":"Actions","Conditions":"Conditions","Schedule":"Schedule","Start script":"Start script","State":"State","State condition":"State condition","Time condition":"Time condition","Set state action":"Set state action","Exec":"Exec shell","HTTP Call":"HTTP Call","Log text":"Log text","Pause":"Pause","on change":"on change","control":"control","Say It":"Say It","every hour at 0 minutes":"every hour at 0 minutes","On script save or adapter start":"On script save or adapter start","equal to":"equal to","Actual time of day":"Actual time of day","with":"with","Shell command":"Shell command","URL":"URL","Instance:":"Instance:","Language:":"Language:","Volume":"Volume","Text:":"Text:","undefined":"undefined","Default":"Default","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"You can use %s in the text to display current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","Instructions":"Instructions","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"You can use %s in the URL to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"You can use %s in the value to use the current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"You can use %s in the command to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","every":"every","with offset":"with offset","on update":"on update","update":"update","Triggers the rule periodically or on some specific time":"Triggers the rule periodically or on some specific time","Triggers the on script saving or the javascript instance restart":"Triggers the on script saving or the javascript instance restart","Triggers the rule on update or change of some state":"Triggers the rule on update or change of some state","Compares the state value with user defined value":"Compares the state value with user defined value","Compares current time with the user specific time":"Compares current time with the user specific time","Control or update some state":"Control or update some state","Executes some shell command":"Executes some shell command","Make a HTTP get request":"Make a HTTP get request","Print some text in log":"Print some text in log","Make a pause between actions":"Make a pause between actions","Say some text via sayit adapter":"Say some text via sayit adapter","Telegram":"Telegram","User:":"User:","all":"all","Sends message via telegram":"Sends message via telegram","Sends an email":"Sends an email","Send email":"Send email","Sends message via pushover":"Sends message via pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Sends message via whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Sends message via Pushsafer","Pushsafer":"Pushsafer","To:":"To:","Subject:":"Subject:","Body:":"Body:","Title:":"Title:","Sound:":"Sound:","Priority:":"Priority:","magic":"magic","quiet":"quiet","normal":"normal","high-priority":"high-priority","acknowledgment":"acknowledgment","Phone:":"Phone:","(optional)":"(optional)","Vibration:":"Vibration:","lowest priority":"lowest priority","lower priority":"lower priority","normal priority":"normal priority","high priority":"high priority","highest priority":"highest priority","default":"default","All":"All","Write your own code":"Write your own code","User function":"User function","This is advances option. You can write your own code here and it will be executed on trigger":"This is advances option. You can write your own code here and it will be executed on trigger","greater than":"greater than","offset":"offset","Function":"Function","greater or equal to":"greater or equal to","less or equal to":"less or equal to","less than":"less than","not equal to":"not equal to","[equal]":"[equal]","[greater or equal]":"[greater or equal]","[greater]":"[greater]","[less or equal]":"[less or equal]","[less]":"[less]","[not equal]":"[not equal]","[includes]":"[includes]","[hysteresis]":"[hysteresis]","greater or equal":"greater or equal","less or equal":"less or equal","includes":"includes",".":".","()":"()","Mo":"Mo","Tu":"Tu","We":"We","Th":"Th","Fr":"Fr","Sa":"Sa","Su":"Su","Control or update some state with delay":"Control or update some state with delay","Delay":"Delay","ms":"ms","Set with delay":"Set with delay","clear running":"clear running","toggle value":"toggle value","Any month":"Any month","Any":"Any","with date":"with date","Date":"Date","Month":"Month","Januar":"Januar","Februar":"Februar","March ":"March ","Condition":"Condition","Limit":"Limit","The script will be stopped and must be activated manually after debugging. Continue?":"The script will be stopped and must be activated manually after debugging. Continue?","Yes":"Yes","Debug instance":"Debug instance","Resume execution":"Resume execution","Go to next line":"Go to next line","Step into function":"Step into function","Step out from function":"Step out from function","Stop on exception":"Stop on exception","Console":"Console","Stack":"Stack","Pause execution":"Pause execution","Simulate":"Simulate","Trigger with value":"Trigger with value","Value":"Value","Write":"Write","Ack":"Acknowledged","Start":"Start","Filter":"Filter","Instances":"Instances","Triggered":"Triggered","Function: executed":"Function: executed","Operate two states":"Operate two states","store in":"store in","ID1":"ID1","ID2":"ID2","Operations with two states":"Operations with two states","debug_label":"Debug","debug_help":"This is a special mode in which states and objects will not change. But only information about each planned change will be displayed in the protocol.","verbose_label":"Verbose log outputs","verbose_help":"Adds debug output to the log for many system commands","easy":"easy","for programmers":"for programmers","for professionals":"for professionals","Duplicate name":"Duplicate name","Empty name is not allowed":"Empty name is not allowed","Time":"Time","Server time":"Server time","Local time":"Local time","Description":"Description","nextSunrise":"Next Sunrise","nextSunset":"Next sunset","Astronomical events today":"Astronomical events today","Compares current time with astronomical event":"Compares current time with astronomical event","Show astronomical events":"Show astronomical events","Astronomical":"Astronomical","Enter your question":"Enter your request","Press Ctrl+Enter to get the answer":"Press Ctrl+Enter to get the answer","Ask":"Ask","Result":"Result","Use generated code":"Use generated code","No Chat GPT Key found":"No Chat GPT Key found","You have to enter OpenAI API key in the configuration of javascript adapter.":"You have to enter OpenAI API key in the configuration of javascript adapter.","Open configuration":"Open configuration"}')},55117:e=>{e.exports=JSON.parse('{"-":"-","Add":"A\xf1adir","Add new script":"Agregar nuevo script","All files will be accepted":"Todos los archivos ser\xe1n aceptados.","April":"abril","Are you sure?":"\xbfEst\xe1s seguro?","August":"agosto","Blockly description":"Crear reglas por bloques gr\xe1ficos","Cancel":"Cancelar","Cannot delete non empty item!":"\xa1No se puede eliminar un elemento no vac\xedo!","Change layout":"Cambia el dise\xf1o","Check blocks":"Comprobar bloques","Check is not active, because javascript adapter is disabled":"La comprobaci\xf3n no est\xe1 activa porque el adaptador Javascript est\xe1 desactivado","Clear search input":"Borrar entrada de b\xfasqueda","Click on this icon":"Haga clic en este \xedcono","Close":"Cerrar","Close all but current":"Cerrar todo menos el actual","Collapse all":"Desplegar todo","Configuration not saved.":"Configuraci\xf3n no guardada.","Convert blockly to javascript for ever.":"Convierta instant\xe1neamente en bloque a Javascript.","Copy script":"Copiar guion","Copy to clipboard":"Copiar al portapapeles","Download as file":"Descargar como archivo","Create new":"Crear nuevo","Create new folder":"Crear nueva carpeta","Create new script":"Crear nuevo script","Create or edit CRON or time wizard":"Crear o editar CRON o asistente de tiempo","Dark Theme":"Tema oscuro","Dark style":"Estilo oscuro","Debug options":"Opciones de depuraci\xf3n","December":"diciembre","Define cron...":"Definir cron ...","Define schedule...":"Definir horario ...","Delete":"Eliminar","Delete %s":"Eliminar %s ...","Delete folder":"Eliminar carpeta","Delete script":"Eliminar gui\xf3n","Deselect all":"Deseleccionar todo","Discard changes for %s":"Descartar cambios para %s","Done":"Hecho","Drop some files here or click...":"Suelta algunos archivos aqu\xed o haz clic ...","Edit script or just double click":"Editar gui\xf3n o simplemente hacer doble clic","End search mode":"Fin del modo de b\xfasqueda","Error":"Error","Error was found":"Error encontrado","Existing scripts will be overwritten.":"Los guiones existentes se sobrescribir\xe1n.","Expand all":"Expandir todo","Expert mode":"Modo experto","Export":"Exportar","Export all scripts":"Exportar todos los scripts","Export blocks":"Exportar bloques","Export selected blocks":"Exportar bloques seleccionados","February":"febrero","Folder":"Carpeta","Friday":"viernes","Function editor":"Editor de funciones","ID":"CARN\xc9 DE IDENTIDAD","Import":"Importar","Import blocks":"Importar bloques","Import error":"Error de importaci\xf3n","Import scripts":"Importar guiones","Insert object ID":"Insertar ID de objeto","Instance":"Ejemplo","Instance is disabled":"La instancia est\xe1 deshabilitada","Invalid CRON":"CRON inv\xe1lido","It will not be possible to revert this operation.":"No ser\xe1 posible revertir esta operaci\xf3n.","JS description":"Crear reglas escribiendo Javascript","January":"enero","July":"julio","June":"junio","Learn More":"Aprende m\xe1s","Light style":"Estilo ligero","Locate file":"Localizar el archivo","Log outputs":"Salidas de registro","March":"marzo","May":"Mayo","Menu":"Men\xfa","Message":"Mensaje","Monday":"lunes","Name":"Nombre","No active host found":"No se encontr\xf3 un host activo","November":"noviembre","October":"octubre","Ok":"Okay","On weekdays":"De lunes a viernes","Pause script":"Pausar guion","Please select object ID...":"Por favor, seleccione la ID del objeto ...","Rename":"Rebautizar","Reorder scripts in folders":"Reordenar guiones en carpetas","Repeat":"Repetir","Restart":"Reiniciar","Root folder":"Carpeta ra\xedz","Run script":"Ejecutar gui\xf3n","Saturday":"s\xe1bado","Save":"Salvar","Script":"Gui\xf3n","Script %s was modified on disk":"El script %s fue modificado en el disco","Script is not running":"El script no se est\xe1 ejecutando","Search in scripts":"Buscar en guiones","Search...":"Buscar...","Select all":"Seleccionar todo","September":"septiembre","Show javascript code":"Mostrar c\xf3digo Javascript","Show only paused scripts":"Mostrar solo secuencias de comandos pausadas","Show only running scripts":"Mostrar solo scripts en ejecuci\xf3n","Show only scripts with problems":"Mostrar solo guiones con problemas","Some files will be rejected":"Algunos archivos ser\xe1n rechazados","Sunday":"domingo","TS description":"Crear reglas escribiendo el mecanografiado","Thursday":"jueves","Tuesday":"martes","Unknown error":"Error desconocido","Unknown error!":"\xa1Error desconocido!","Wednesday":"mi\xe9rcoles","Yet exists!":"\xa1Sin embargo existe!","copy":"Copiar","file reading has failed: %s":"la lectura del archivo ha fallado: %s","file reading was aborted":"la lectura del archivo fue abortada","filter_func":"Funci\xf3n","filter_id":"CARN\xc9 DE IDENTIDAD","filter_name":"Nombre","filter_role":"Papel","filter_room":"Habitaci\xf3n","for edit or create script":"para editar o crear un nuevo script","no blocks found":"No se encontraron bloques","no group":"NO GRUPO","not properly connected":"Este bloque no est\xe1 conectado correctamente a otros bloques.","tooltip_ack":"Reconocer","tooltip_from":"De","tooltip_lc":"\xdaltimo cambio","tooltip_quality":"Calidad","tooltip_ts":"Marca de tiempo","tooltip_user":"Usuario","tooltip_value":"Valor","use seconds":"usar segundos","Save all":"Salvar a todos","Change theme (actual \\"%s\\")":"Cambiar tema (ahora - \\"%s\\")","Hide logs":"Ocultar registros","Show logs":"Mostrar registros","Rules description":"Crea reglas con bloques IF, THEN, ELSE","help_on_change":"El c\xf3digo se ejecutar\xe1 solo si cambia el resultado de la condici\xf3n. P.ej. si se activa en el valor del sensor de temperatura y la condici\xf3n es \\"si la temperatura es superior a 20 \xb0 C\\", las acciones \\"entonces\\" se ejecutar\xe1n una vez cuando la temperatura sea superior a 20. La pr\xf3xima vez, las acciones \\"entonces\\" se ejecutar\xe1n cuando la temperatura falla por debajo de 20 y luego sube por encima de 20 nuevamente.","help_just_check":"El c\xf3digo se ejecutar\xe1 solo cada vez que la condici\xf3n sea verdadera. P.ej. si se activa en el valor del sensor de temperatura y la condici\xf3n es \\"si la temperatura es superior a 20 \xb0 C\\", las acciones \\"entonces\\" se ejecutar\xe1n cada vez que el sensor env\xede la temperatura y supere los 20 \xb0 C. Por 21 \xb0 C, por 22 \xb0 C y as\xed sucesivamente.","On condition change":"En condici\xf3n de cambio","Just check":"S\xf3lo revisa","when":"cuando","and":"y","then":"entonces","or":"o","else":"dem\xe1s","Nothing found":"Nada Encontrado","reset search":"restablecer la b\xfasqueda","Read only ID selected: %s":"ID de solo lectura seleccionado: %s","OK":"OK","Triggers":"Disparadores","cron":"CRON","wizard":"Wizard","interval":"intervalo","at":"a","astro":"astro","on condition change":"con cambio de condici\xf3n","just check":"S\xf3lo revisa","Explanation":"Explicaci\xf3n","seconds":"segundos","minutes":"minutos","hours":"horas","Every day":"Diario","milliseconds":"milisegundos","Copied":"Copiado","nadir":"nadir","nightEnd":"Fin de la noche","nauticalDawn":"Amanecer n\xe1utico","dawn":"Amanecer","sunrise":"amanecer","sunriseEnd":"Final del amanecer","goldenHourEnd":"Fin de la hora dorada","solarNoon":"Mediod\xeda solar","goldenHour":"hora dorada","sunsetStart":"Inicio al atardecer","sunset":"puesta de sol","dusk":"Oscuridad","nauticalDusk":"Atardecer n\xe1utico","night":"Noche","one":"uno","two":"dos","true":"cierto","false":"falso","search":"buscar","Actions":"Comportamiento","Conditions":"Condiciones","Schedule":"Calendario","Start script":"Iniciar guion","State":"Expresar","State condition":"Condici\xf3n del estado","Time condition":"Condici\xf3n de tiempo","Set state action":"Establecer acci\xf3n estatal","Exec":"Ejecutivo shell","HTTP Call":"Llamada HTTP","Log text":"Texto de registro","Pause":"Pausa","on change":"en el cambio","control":"control","Say It":"Say It","every hour at 0 minutes":"cada hora a los 0 minutos","On script save or adapter start":"Al guardar el script o al iniciar el adaptador","equal to":"igual a","Actual time of day":"Hora real del d\xeda","with":"con","Shell command":"Comando de Shell","URL":"URL","Instance:":"Ejemplo:","Language:":"Idioma:","Volume":"Volumen","Text:":"Texto:","undefined":"indefinido","Default":"Defecto","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Puede usar %s en el texto para mostrar el valor de activaci\xf3n actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activaci\xf3n antiguo","Instructions":"Instrucciones","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Puede usar %s en la URL para usar el valor de activaci\xf3n actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activaci\xf3n antiguo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Puede usar %s en el valor para usar el valor de activaci\xf3n actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activaci\xf3n antiguo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Puede usar %s en el comando para usar el valor de activaci\xf3n actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activaci\xf3n anterior","every":"cada","with offset":"con desplazamiento","on update":"en actualizaci\xf3n","update":"actualizar","Triggers the rule periodically or on some specific time":"Activa la regla peri\xf3dicamente o en un momento espec\xedfico","Triggers the on script saving or the javascript instance restart":"Activa el guardado de la secuencia de comandos o el reinicio de la instancia de JavaScript","Triggers the rule on update or change of some state":"Activa la regla de actualizaci\xf3n o cambio de alg\xfan estado","Compares the state value with user defined value":"Compara el valor del estado con el valor definido por el usuario","Compares current time with the user specific time":"Compara la hora actual con la hora espec\xedfica del usuario","Control or update some state":"Controlar o actualizar alg\xfan estado","Executes some shell command":"Ejecuta alg\xfan comando de shell","Make a HTTP get request":"Realizar una solicitud de obtenci\xf3n HTTP","Print some text in log":"Imprime texto en el registro","Make a pause between actions":"Hacer una pausa entre acciones","Say some text via sayit adapter":"Di un mensaje de texto a trav\xe9s del adaptador sayit","Telegram":"Telegrama","User:":"Usuario:","all":"todos","Sends message via telegram":"Env\xeda mensaje por telegrama","Sends an email":"Env\xeda un correo electr\xf3nico","Send email":"Enviar correo electr\xf3nico","Sends message via pushover":"Env\xeda un mensaje a trav\xe9s de un pushover","Pushover":"Persona f\xe1cil de convencer","Sends message via whatsapp-cmb":"Env\xeda mensaje v\xeda whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Env\xeda mensaje a trav\xe9s de Pushsafer","Pushsafer":"Pushsafer","To:":"A:","Subject:":"Sujeto:","Body:":"Cuerpo:","Title:":"T\xedtulo:","Sound:":"Sonido:","Priority:":"Prioridad:","magic":"magia","quiet":"tranquilo","normal":"normal","high-priority":"alta prioridad","acknowledgment":"Reconocimiento","Phone:":"Tel\xe9fono:","(optional)":"(Opcional)","Vibration:":"Vibraci\xf3n:","lowest priority":"prioridad m\xe1s baja","lower priority":"prioridad m\xe1s baja","normal priority":"prioridad normal","high priority":"alta prioridad","highest priority":"m\xe1s alta prioridad","default":"defecto","All":"Todos","Write your own code":"Escribe tu propio c\xf3digo","User function":"Funci\xf3n de usuario","This is advances option. You can write your own code here and it will be executed on trigger":"Esta es la opci\xf3n de avances. Puede escribir su propio c\xf3digo aqu\xed y se ejecutar\xe1 en el disparador","greater than":"mas grande que","offset":"compensar","Function":"Funci\xf3n","greater or equal to":"mayor o igual a","less or equal to":"menor o igual a","less than":"menos que","not equal to":"no igual a","[equal]":"[igual]","[greater or equal]":"[mayor o igual]","[greater]":"[mayor que]","[less or equal]":"[menor o igual]","[less]":"[menos]","[not equal]":"[no es igual]","[includes]":"[incluye]","[hysteresis]":"[hist\xe9resis]","greater or equal":"mayor o igual","less or equal":"menor o igual","includes":"incluye",".":".","()":"()","Mo":"Mes","Tu":"Tu","We":"3","Th":"4","Fr":"P.","Sa":"Sa","Su":"Su","Control or update some state with delay":"Controlar o actualizar alg\xfan estado con retraso","Delay":"Demora","ms":"ms","Set with delay":"Establecer con retraso","clear running":"carrera clara","toggle value":"alternar valor","Any month":"Cualquier mes","Any":"Alguna","with date":"con fecha","Date":"Fecha","Month":"Mes","Januar":"Enero","Februar":"Februar","March ":"marzo","Condition":"Condici\xf3n","Limit":"L\xedmite","The script will be stopped and must be activated manually after debugging. Continue?":"El script se detendr\xe1 y deber\xe1 activarse manualmente despu\xe9s de la depuraci\xf3n. \xbfContinuar?","Yes":"s\xed","Debug instance":"Instancia de depuraci\xf3n","Resume execution":"Reanudar ejecuci\xf3n","Go to next line":"Ir a la siguiente l\xednea","Step into function":"Entra en funci\xf3n","Step out from function":"Sal de la funci\xf3n","Stop on exception":"Det\xe9ngase en excepci\xf3n","Console":"Consola","Stack":"Stack","Pause execution":"Pausar ejecuci\xf3n","Simulate":"Simular","Trigger with value":"Activar con valor","Value":"Valor","Write":"Escribir","Ack":"Admitido","Start":"Comienzo","Filter":"Filtrar","Instances":"Instancias","Triggered":"Motivado","Function: executed":"Funci\xf3n: ejecutada","Operate two states":"Operar dos estados","store in":"almacenar en","ID1":"ID1","ID2":"ID2","Operations with two states":"Operaciones con dos estados","debug_label":"Depurar","debug_help":"Este es un modo especial en el que los estados y los objetos no cambiar\xe1n. Pero solo se mostrar\xe1 informaci\xf3n sobre cada cambio planificado en el protocolo.","verbose_label":"Salidas de registro detalladas","verbose_help":"Agrega salida de depuraci\xf3n al registro para muchos comandos del sistema","easy":"f\xe1cil","for programmers":"para programadores","for professionals":"para profesionales","Duplicate name":"Nombre duplicado","Empty name is not allowed":"No se permite el nombre vac\xedo","Time":"Tiempo","Server time":"Tiempo del servidor","Local time":"Hora local","Description":"Descripci\xf3n","nextSunrise":"pr\xf3ximo amanecer","nextSunset":"Pr\xf3xima puesta de sol","Astronomical events today":"Eventos astron\xf3micos hoy","Compares current time with astronomical event":"Compara la hora actual con un evento astron\xf3mico","Show astronomical events":"Mostrar eventos astron\xf3micos","Astronomical":"Astron\xf3mico","Enter your question":"Ingrese su solicitud","Press Ctrl+Enter to get the answer":"Presiona Ctrl+Enter para obtener la respuesta","Ask":"Preguntar","Result":"Resultado","Use generated code":"Usar c\xf3digo generado","No Chat GPT Key found":"No se ha encontrado ninguna clave GPT de chat","You have to enter OpenAI API key in the configuration of javascript adapter.":"Debe ingresar la clave API de OpenAI en la configuraci\xf3n del adaptador de JavaScript.","Open configuration":"Configuraci\xf3n abierta"}')},86115:e=>{e.exports=JSON.parse('{"-":"-","Add":"Ajouter","Add new script":"Ajouter un nouveau script","All files will be accepted":"Tous les fichiers seront accept\xe9s","April":"avril","Are you sure?":"\xcates-vous s\xfbr?","August":"ao\xfbt","Blockly description":"Cr\xe9ation de r\xe8gles par blocs graphiques","Cancel":"Annuler","Cannot delete non empty item!":"Impossible de supprimer un \xe9l\xe9ment non vide!","Change layout":"Changer la disposition","Check blocks":"V\xe9rifier les blocs","Check is not active, because javascript adapter is disabled":"La v\xe9rification n\'est pas active, car l\'adaptateur Javascript est d\xe9sactiv\xe9","Clear search input":"Effacer la recherche","Click on this icon":"Cliquez sur cette ic\xf4ne","Close":"proche","Close all but current":"Ferme tout sauf courant","Collapse all":"R\xe9duire tout","Configuration not saved.":"Configuration non enregistr\xe9e.","Convert blockly to javascript for ever.":"Convertissez instantan\xe9ment en Javascript.","Copy script":"Copier le script","Copy to clipboard":"Copier dans le presse-papier","Download as file":"T\xe9l\xe9charger le fichier","Create new":"Cr\xe9er un nouveau","Create new folder":"Cr\xe9er un nouveau dossier","Create new script":"Cr\xe9er un nouveau script","Create or edit CRON or time wizard":"Cr\xe9er ou \xe9diter CRON ou un assistant de temps","Dark Theme":"Th\xe8me sombre","Dark style":"Style sombre","Debug options":"Options de d\xe9bogage","December":"d\xe9cembre","Define cron...":"D\xe9finir le cron ...","Define schedule...":"D\xe9finir le calendrier ...","Delete":"Effacer","Delete %s":"Supprimer %s ...","Delete folder":"Supprimer le dossier","Delete script":"Supprimer le script","Deselect all":"Tout d\xe9selectionner","Discard changes for %s":"Ignorer les modifications pour %s","Done":"Termin\xe9","Drop some files here or click...":"D\xe9poser des fichiers ici ou cliquez sur ...","Edit script or just double click":"Modifiez le script ou double-cliquez simplement sur","End search mode":"Fin du mode de recherche","Error":"Erreur","Error was found":"Une erreur a \xe9t\xe9 trouv\xe9e","Existing scripts will be overwritten.":"Les scripts existants seront \xe9cras\xe9s.","Expand all":"D\xe9velopper tout","Expert mode":"Mode expert","Export":"Exportation","Export all scripts":"Exporter tous les scripts","Export blocks":"Blocs d\'exportation","Export selected blocks":"Exporter les blocs s\xe9lectionn\xe9s","February":"f\xe9vrier","Folder":"Dossier","Friday":"Vendredi","Function editor":"\xc9diteur de fonction","ID":"ID","Import":"Importation","Import blocks":"Blocs d\'importation","Import error":"Erreur d\'importation","Import scripts":"Importer des scripts","Insert object ID":"Ins\xe9rer un identifiant d\'objet","Instance":"Exemple","Instance is disabled":"L\'instance est d\xe9sactiv\xe9e","Invalid CRON":"CRON invalide","It will not be possible to revert this operation.":"Il ne sera pas possible de revenir sur cette op\xe9ration.","JS description":"Cr\xe9er des r\xe8gles en \xe9crivant du Javascript","January":"janvier","July":"juillet","June":"juin","Learn More":"Apprendre encore plus","Light style":"Style de lumi\xe8re","Locate file":"Localiser le fichier","Log outputs":"Journal des sorties","March":"Mars","May":"Mai","Menu":"M e n u","Message":"Message","Monday":"Lundi","Name":"Nom","No active host found":"Aucun h\xf4te actif trouv\xe9","November":"novembre","October":"octobre","Ok":"D\'accord","On weekdays":"En semaine","Pause script":"Script de pause","Please select object ID...":"Veuillez s\xe9lectionner l\'ID d\'objet ...","Rename":"Renommer","Reorder scripts in folders":"R\xe9organiser les scripts dans des dossiers","Repeat":"R\xe9p\xe9ter","Restart":"Red\xe9marrer","Root folder":"Dossier racine","Run script":"Script de lancement","Saturday":"samedi","Save":"sauver","Script":"Sc\xe9nario","Script %s was modified on disk":"Le script %s a \xe9t\xe9 modifi\xe9 sur le disque","Script is not running":"Le script n\'est pas en cours d\'ex\xe9cution","Search in scripts":"Rechercher dans les scripts","Search...":"Chercher...","Select all":"Tout s\xe9lectionner","September":"septembre","Show javascript code":"Afficher le code Javascript","Show only paused scripts":"Afficher uniquement les scripts en pause","Show only running scripts":"Afficher uniquement les scripts en cours d\'ex\xe9cution","Show only scripts with problems":"Afficher uniquement les scripts avec des probl\xe8mes","Some files will be rejected":"Certains fichiers seront rejet\xe9s","Sunday":"dimanche","TS description":"Cr\xe9er des r\xe8gles en \xe9crivant des caract\xe8res dactylographi\xe9s","Thursday":"Jeudi","Tuesday":"Mardi","Unknown error":"Erreur inconnue","Unknown error!":"Erreur inconnue!","Wednesday":"Mercredi","Yet exists!":"Pourtant existe!","copy":"copie","file reading has failed: %s":"La lecture du fichier a \xe9chou\xe9: %s","file reading was aborted":"la lecture du fichier a \xe9t\xe9 abandonn\xe9e","filter_func":"Une fonction","filter_id":"ID","filter_name":"Nom","filter_role":"R\xf4le","filter_room":"Pi\xe8ce","for edit or create script":"pour \xe9diter ou cr\xe9er un nouveau script","no blocks found":"Aucun bloc trouv\xe9","no group":"PAS DE GROUPE","not properly connected":"Ce bloc n\'est pas correctement connect\xe9 \xe0 d\'autres blocs.","tooltip_ack":"Reconna\xeetre","tooltip_from":"De","tooltip_lc":"Derni\xe8re modification","tooltip_quality":"Qualit\xe9","tooltip_ts":"Horodatage","tooltip_user":"Utilisateur","tooltip_value":"Valeur","use seconds":"utiliser les secondes","Save all":"Sauver tous","Change theme (actual \\"%s\\")":"Changer de th\xe8me (maintenant - \\"%s\\")","Hide logs":"Masquer les journaux","Show logs":"Afficher les journaux","Rules description":"Cr\xe9er des r\xe8gles avec des blocs IF, THEN, ELSE","help_on_change":"Le code ne sera ex\xe9cut\xe9 que si le r\xe9sultat de la condition change. Par exemple. si le d\xe9clenchement sur la valeur du capteur de temp\xe9rature et que la condition est \xabsi la temp\xe9rature est sup\xe9rieure \xe0 20 \xb0 C\xbb, les actions \xabalors\xbb seront ex\xe9cut\xe9es une fois lorsque la temp\xe9rature est sup\xe9rieure \xe0 20. La prochaine fois, les actions \xabalors\xbb seront ex\xe9cut\xe9es lorsque la temp\xe9rature \xe9choue sous 20 puis remonte au-dessus de 20.","help_just_check":"Le code ne sera ex\xe9cut\xe9 que chaque fois que la condition est vraie. Par exemple. si d\xe9clenchement sur la valeur du capteur de temp\xe9rature et que la condition est \xabsi la temp\xe9rature est sup\xe9rieure \xe0 20 \xb0 C\xbb, les actions \xabalors\xbb seront ex\xe9cut\xe9es \xe0 chaque fois que le capteur envoie la temp\xe9rature et qu\'elle est sup\xe9rieure \xe0 20 \xb0 C. \xc0 21 \xb0 C, \xe0 22 \xb0 C et ainsi de suite.","On condition change":"En cas de changement de condition","Just check":"V\xe9rifiez simplement","when":"lorsque","and":"et","then":"alors","or":"ou","else":"autre","Nothing found":"Rien n\'a \xe9t\xe9 trouv\xe9","reset search":"R\xe9initialiser la recherche","Read only ID selected: %s":"ID en lecture seule s\xe9lectionn\xe9: %s","OK":"OK","Triggers":"D\xe9clencheurs","cron":"CRON","wizard":"Wizard","interval":"intervalle","at":"\xe0","astro":"astro","on condition change":"sur changement de condition","just check":"V\xe9rifiez simplement","Explanation":"Explication","seconds":"secondes","minutes":"minutes","hours":"les heures","Every day":"Tous les jours","milliseconds":"millisecondes","Copied":"Copi\xe9","nadir":"nadir","nightEnd":"Fin de nuit","nauticalDawn":"Aube nautique","dawn":"Aube","sunrise":"lever du soleil","sunriseEnd":"Fin du lever du soleil","goldenHourEnd":"Fin de l\'heure d\'or","solarNoon":"Midi solaire","goldenHour":"Heure d\'or","sunsetStart":"D\xe9but du coucher du soleil","sunset":"le coucher du soleil","dusk":"Cr\xe9puscule","nauticalDusk":"Cr\xe9puscule nautique","night":"Nuit","one":"une","two":"deux","true":"vrai","false":"faux","search":"chercher","Actions":"Actions","Conditions":"Conditions","Schedule":"Horaire","Start script":"Lancer le script","State":"\xc9tat","State condition":"\xc9tat condition","Time condition":"Condition de temps","Set state action":"D\xe9finir l\'action de l\'\xe9tat","Exec":"Exec shell","HTTP Call":"Appel HTTP","Log text":"Texte du journal","Pause":"Pause","on change":"sur le changement","control":"contr\xf4ler","Say It":"Say It","every hour at 0 minutes":"toutes les heures \xe0 0 minute","On script save or adapter start":"Lors de l\'enregistrement du script ou du d\xe9marrage de l\'adaptateur","equal to":"\xe9gal \xe0","Actual time of day":"Heure r\xe9elle de la journ\xe9e","with":"avec","Shell command":"Commande Shell","URL":"URL","Instance:":"Exemple:","Language:":"Langue:","Volume":"Le volume","Text:":"Texte:","undefined":"ind\xe9fini","Default":"D\xe9faut","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans le texte pour afficher la valeur de d\xe9clenchement actuelle, %id pour utiliser l\'ID de l\'objet d\xe9clench\xe9, %name pour afficher le nom de l\'ID de l\'objet d\xe9clench\xe9 ou %old pour utiliser l\'ancienne valeur de d\xe9clenchement","Instructions":"Instructions","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans l\'URL pour utiliser la valeur de d\xe9clenchement actuelle, %id pour utiliser l\'ID de l\'objet d\xe9clench\xe9, %name pour afficher le nom de l\'ID de l\'objet d\xe9clench\xe9 ou %old pour utiliser l\'ancienne valeur de d\xe9clenchement","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans la valeur pour utiliser la valeur de d\xe9clenchement actuelle, %id pour utiliser l\'ID de l\'objet d\xe9clench\xe9, %name pour afficher le nom de l\'ID de l\'objet d\xe9clench\xe9 ou %old pour utiliser l\'ancienne valeur de d\xe9clenchement","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans la commande pour utiliser la valeur de d\xe9clenchement actuelle, %id pour utiliser l\'ID de l\'objet d\xe9clench\xe9, %name pour afficher le nom de l\'ID de l\'objet d\xe9clench\xe9 ou %old pour utiliser l\'ancienne valeur de d\xe9clenchement","every":"chaque","with offset":"avec offset","on update":"sur mise \xe0 jour","update":"mettre \xe0 jour","Triggers the rule periodically or on some specific time":"D\xe9clenche la r\xe8gle p\xe9riodiquement ou \xe0 une heure pr\xe9cise","Triggers the on script saving or the javascript instance restart":"D\xe9clenche l\'enregistrement du script ou le red\xe9marrage de l\'instance javascript","Triggers the rule on update or change of some state":"D\xe9clenche la r\xe8gle sur la mise \xe0 jour ou le changement d\'un \xe9tat","Compares the state value with user defined value":"Compare la valeur d\'\xe9tat avec la valeur d\xe9finie par l\'utilisateur","Compares current time with the user specific time":"Compare l\'heure actuelle avec l\'heure sp\xe9cifique de l\'utilisateur","Control or update some state":"Contr\xf4ler ou mettre \xe0 jour un \xe9tat","Executes some shell command":"Ex\xe9cute une commande shell","Make a HTTP get request":"Faire une requ\xeate HTTP Get","Print some text in log":"Imprimer du texte dans le journal","Make a pause between actions":"Faites une pause entre les actions","Say some text via sayit adapter":"Dites du texte via l\'adaptateur sayit","Telegram":"T\xe9l\xe9gramme","User:":"Utilisateur:","all":"tout","Sends message via telegram":"Envoie un message par t\xe9l\xe9gramme","Sends an email":"Envoie un e-mail","Send email":"Envoyer un e-mail","Sends message via pushover":"Envoie un message via pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Envoie un message via whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Envoie un message via Pushsafer","Pushsafer":"Pushsafer","To:":"\xc0:","Subject:":"Sujet:","Body:":"Corps:","Title:":"Titre:","Sound:":"Sonner:","Priority:":"Priorit\xe9:","magic":"la magie","quiet":"calmer","normal":"Ordinaire","high-priority":"haute priorit\xe9","acknowledgment":"reconnaissance","Phone:":"T\xe9l\xe9phone:","(optional)":"(optionnel)","Vibration:":"Vibration:","lowest priority":"priorit\xe9 la plus basse","lower priority":"priorit\xe9 inf\xe9rieure","normal priority":"priorit\xe9 normale","high priority":"haute priorit\xe9","highest priority":"priorit\xe9 la plus \xe9lev\xe9e","default":"d\xe9faut","All":"Tout","Write your own code":"\xc9crivez votre propre code","User function":"Fonction utilisateur","This is advances option. You can write your own code here and it will be executed on trigger":"C\'est une option avanc\xe9e. Vous pouvez \xe9crire votre propre code ici et il sera ex\xe9cut\xe9 au d\xe9clenchement","greater than":"plus grand que","offset":"d\xe9calage","Function":"Fonction","greater or equal to":"sup\xe9rieur ou \xe9gal \xe0","less or equal to":"inf\xe9rieur ou \xe9gal \xe0","less than":"moins que","not equal to":"pas \xe9gal \xe0","[equal]":"[\xe9gal]","[greater or equal]":"[sup\xe9rieur ou \xe9gal]","[greater]":"[plus grand]","[less or equal]":"[inf\xe9rieur ou \xe9gal]","[less]":"[moins]","[not equal]":"[in\xe9gal]","[includes]":"[comprend]","[hysteresis]":"[hyst\xe9r\xe8se]","greater or equal":"sup\xe9rieur ou \xe9gal","less or equal":"inf\xe9rieur ou \xe9gal","includes":"comprend",".":".","()":"()","Mo":"Mo","Tu":"Tu","We":"3","Th":"4","Fr":"Fr","Sa":"Sa","Su":"Su","Control or update some state with delay":"Contr\xf4ler ou mettre \xe0 jour un \xe9tat avec un d\xe9lai","Delay":"Retard","ms":"ms","Set with delay":"Set avec retard","clear running":"course claire","toggle value":"valeur de bascule","Any month":"N\'importe quel mois","Any":"Tout","with date":"avec date","Date":"Date","Month":"Mois","Januar":"Janvier","Februar":"F\xe9vrier","March ":"mars","Condition":"\xc9tat","Limit":"Limite","The script will be stopped and must be activated manually after debugging. Continue?":"Le script sera arr\xeat\xe9 et doit \xeatre activ\xe9 manuellement apr\xe8s le d\xe9bogage. Continuez?","Yes":"Oui","Debug instance":"Instance de d\xe9bogage","Resume execution":"Reprendre l\'ex\xe9cution","Go to next line":"Aller \xe0 la ligne suivante","Step into function":"Entrez dans la fonction","Step out from function":"Sortez de la fonction","Stop on exception":"Arr\xeat sur exception","Console":"Console","Stack":"Stack","Pause execution":"Suspendre l\'ex\xe9cution","Simulate":"Simuler","Trigger with value":"D\xe9clencheur avec valeur","Value":"Valeur","Write":"\xc9crivez","Ack":"Reconnu","Start":"D\xe9but","Filter":"Filtre","Instances":"Instances","Triggered":"D\xe9clench\xe9","Function: executed":"Fonction\xa0: ex\xe9cut\xe9e","Operate two states":"Op\xe9rer deux \xe9tats","store in":"stocker dans","ID1":"ID1","ID2":"ID2","Operations with two states":"Op\xe9rations \xe0 deux \xe9tats","debug_label":"D\xe9boguer","debug_help":"Il s\'agit d\'un mode sp\xe9cial dans lequel les \xe9tats et les objets ne changeront pas. Mais seules les informations sur chaque changement pr\xe9vu seront affich\xe9es dans le protocole.","verbose_label":"Sorties de journal d\xe9taill\xe9es","verbose_help":"Ajoute une sortie de d\xe9bogage au journal pour de nombreuses commandes syst\xe8me","easy":"facile","for programmers":"pour les programmeurs","for professionals":"pour les professionnels","Duplicate name":"Nom en double","Empty name is not allowed":"Le nom vide n\'est pas autoris\xe9","Time":"Temps","Server time":"Heure du serveur","Local time":"Heure locale","Description":"Description","nextSunrise":"Prochain lever de soleil","nextSunset":"Prochain coucher de soleil","Astronomical events today":"\xc9v\xe9nements astronomiques aujourd\'hui","Compares current time with astronomical event":"Compare l\'heure actuelle avec un \xe9v\xe9nement astronomique","Show astronomical events":"Afficher les \xe9v\xe9nements astronomiques","Astronomical":"Astronomique","Enter your question":"Entrez votre demande","Press Ctrl+Enter to get the answer":"Appuyez sur Ctrl+Entr\xe9e pour obtenir la r\xe9ponse","Ask":"Demander","Result":"R\xe9sultat","Use generated code":"Utiliser le code g\xe9n\xe9r\xe9","No Chat GPT Key found":"Aucune cl\xe9 GPT de chat trouv\xe9e","You have to enter OpenAI API key in the configuration of javascript adapter.":"Vous devez entrer la cl\xe9 API OpenAI dans la configuration de l\'adaptateur javascript.","Open configuration":"Configuration ouverte"}')},79399:e=>{e.exports=JSON.parse('{"-":"-","Add":"Inserisci","Add new script":"Aggiungi nuovo script","All files will be accepted":"Tutti i file saranno accettati","April":"aprile","Are you sure?":"Sei sicuro?","August":"agosto","Blockly description":"Creazione di regole tramite blocchi grafici","Cancel":"Annulla","Cannot delete non empty item!":"Impossibile eliminare l\'elemento non vuoto!","Change layout":"Cambia layout","Check blocks":"Controlla i blocchi","Check is not active, because javascript adapter is disabled":"Il controllo non \xe8 attivo perch\xe9 l\'adattatore Javascript \xe8 disabilitato","Clear search input":"Cancella input di ricerca","Click on this icon":"Clicca su questa icona","Close":"Vicino","Close all but current":"Chiudi tutto tranne corrente","Collapse all":"Comprimi tutto","Configuration not saved.":"Configurazione non salvata.","Convert blockly to javascript for ever.":"Converti istantaneamente a blocchi in Javascript.","Copy script":"Copia script","Copy to clipboard":"Copia negli appunti","Download as file":"Scarica come file","Create new":"Creare nuovo","Create new folder":"Crea una nuova cartella","Create new script":"Crea nuovo script","Create or edit CRON or time wizard":"Crea o modifica la procedura guidata CRON o time","Dark Theme":"Tema scuro","Dark style":"Stile scuro","Debug options":"Opzioni di debug","December":"dicembre","Define cron...":"Definisci cron ...","Define schedule...":"Definisci programma ...","Delete":"Elimina","Delete %s":"Elimina %s ...","Delete folder":"Elimina cartella","Delete script":"Elimina script","Deselect all":"Deselezionare tutto","Discard changes for %s":"Annulla modifiche per %s","Done":"Fatto","Drop some files here or click...":"Trascina alcuni file qui o fai clic su ...","Edit script or just double click":"Modifica lo script o fai doppio clic","End search mode":"Termina la modalit\xe0 di ricerca","Error":"Errore","Error was found":"Errore trovato","Existing scripts will be overwritten.":"Gli script esistenti verranno sovrascritti.","Expand all":"Espandi tutto","Expert mode":"Modalit\xe0 esperto","Export":"Esportare","Export all scripts":"Esporta tutti gli script","Export blocks":"Esporta blocchi","Export selected blocks":"Esporta i blocchi selezionati","February":"febbraio","Folder":"Cartella","Friday":"Venerd\xec","Function editor":"Editor di funzioni","ID":"ID","Import":"Importare","Import blocks":"Importa blocchi","Import error":"Errore di importazione","Import scripts":"Importa script","Insert object ID":"Inserisci l\'ID oggetto","Instance":"Esempio","Instance is disabled":"L\'istanza \xe8 disabilitata","Invalid CRON":"CRON non valido","It will not be possible to revert this operation.":"Non sar\xe0 possibile ripristinare questa operazione.","JS description":"Creare regole scrivendo Javascript","January":"gennaio","July":"luglio","June":"giugno","Learn More":"Per saperne di pi\xf9","Light style":"Stile leggero","Locate file":"Localizza file","Log outputs":"Registra le uscite","March":"marzo","May":"Maggio","Menu":"Menu","Message":"Messaggio","Monday":"Lunedi","Name":"Nome","No active host found":"Nessun host attivo trovato","November":"novembre","October":"ottobre","Ok":"Ok","On weekdays":"Nei giorni della settimana","Pause script":"Metti in pausa lo script","Please select object ID...":"Seleziona l\'ID oggetto ...","Rename":"Rinominare","Reorder scripts in folders":"Riordina gli script nelle cartelle","Repeat":"Ripetere","Restart":"Ricomincia","Root folder":"Cartella root","Run script":"Esegui script","Saturday":"Sabato","Save":"Salva","Script":"copione","Script %s was modified on disk":"Lo script %s \xe8 stato modificato sul disco","Script is not running":"Lo script non \xe8 in esecuzione","Search in scripts":"Cerca negli script","Search...":"Ricerca...","Select all":"Seleziona tutto","September":"settembre","Show javascript code":"Mostra codice Javascript","Show only paused scripts":"Mostra solo script in pausa","Show only running scripts":"Mostra solo gli script in esecuzione","Show only scripts with problems":"Mostra solo script con problemi","Some files will be rejected":"Alcuni file verranno rifiutati","Sunday":"Domenica","TS description":"Creare regole scrivendo dattiloscritto","Thursday":"giovedi","Tuesday":"marted\xec","Unknown error":"Errore sconosciuto","Unknown error!":"Errore sconosciuto!","Wednesday":"mercoled\xec","Yet exists!":"Esiste ancora!","copy":"copia","file reading has failed: %s":"lettura file non riuscita: %s","file reading was aborted":"la lettura del file \xe8 stata interrotta","filter_func":"Funzione","filter_id":"ID","filter_name":"Nome","filter_role":"Ruolo","filter_room":"Camera","for edit or create script":"per modificare o creare un nuovo script","no blocks found":"Nessun blocco trovato","no group":"NESSUN GRUPPO","not properly connected":"Questo blocco non \xe8 correttamente collegato ad altri blocchi.","tooltip_ack":"Riconoscere","tooltip_from":"A partire dal","tooltip_lc":"Ultima modifica","tooltip_quality":"Qualit\xe0","tooltip_ts":"timestamp","tooltip_user":"Utente","tooltip_value":"Valore","use seconds":"usa i secondi","Save all":"Salva tutto","Change theme (actual \\"%s\\")":"Cambia tema (ora - \\"%s\\")","Hide logs":"Nascondi i registri","Show logs":"Mostra i log","Rules description":"Crea regole con i blocchi IF, THEN, ELSE","help_on_change":"Il codice verr\xe0 eseguito solo se il risultato della condizione cambia. Per esempio. se si attiva il valore del sensore di temperatura e la condizione \xe8 \\"se la temperatura \xe8 maggiore di 20 \xb0 C\\", le azioni \\"allora\\" verranno eseguite una volta quando la temperatura \xe8 superiore a 20. La prossima volta le azioni \\"allora\\" verranno eseguite quando la temperatura fallisce sotto 20 e poi sale di nuovo oltre 20.","help_just_check":"Il codice verr\xe0 eseguito solo ogni volta che la condizione \xe8 vera. Per esempio. se si attiva il valore del sensore di temperatura e la condizione \xe8 \\"se la temperatura \xe8 maggiore di 20 \xb0 C\\", le azioni \\"allora\\" verranno eseguite ogni volta che il sensore invia la temperatura e questa \xe8 superiore a 20 \xb0 C. Di 21 \xb0 C, di 22 \xb0 C e cos\xec via.","On condition change":"A condizione che cambino","Just check":"Controlla solamente","when":"quando","and":"e","then":"poi","or":"o","else":"altro","Nothing found":"Non abbiamo trovato nulla","reset search":"resetta la ricerca","Read only ID selected: %s":"ID di sola lettura selezionato: %s","OK":"OK","Triggers":"Trigger","cron":"CRON","wizard":"procedura guidata","interval":"intervallo","at":"a","astro":"astro","on condition change":"a cambio di condizione","just check":"controlla solamente","Explanation":"Spiegazione","seconds":"secondi","minutes":"minuti","hours":"ore","Every day":"Ogni giorno","milliseconds":"millisecondi","Copied":"Copiato","nadir":"nadir","nightEnd":"Fine della notte","nauticalDawn":"Alba nautica","dawn":"alba","sunrise":"Alba","sunriseEnd":"Fine dell\'alba","goldenHourEnd":"Fine dell\'ora d\'oro","solarNoon":"Mezzogiorno solare","goldenHour":"Ora d\'oro","sunsetStart":"Inizio del tramonto","sunset":"tramonto","dusk":"crepuscolo","nauticalDusk":"Crepuscolo nautico","night":"Notte","one":"uno","two":"Due","true":"vero","false":"falso","search":"ricerca","Actions":"Azioni","Conditions":"Condizioni","Schedule":"Programma","Start script":"Avvia script","State":"Stato","State condition":"Condizione dello stato","Time condition":"Condizione temporale","Set state action":"Imposta l\'azione dello stato","Exec":"Execshell","HTTP Call":"Chiamata HTTP","Log text":"Testo del registro","Pause":"Pausa","on change":"sul cambiamento","control":"controllo","Say It":"Say It","every hour at 0 minutes":"ogni ora a 0 minuti","On script save or adapter start":"Al salvataggio dello script o all\'avvio dell\'adattatore","equal to":"uguale a","Actual time of day":"Ora effettiva della giornata","with":"con","Shell command":"Comando Shell","URL":"URL","Instance:":"Esempio:","Language:":"Linguaggio:","Volume":"Volume","Text:":"Testo:","undefined":"non definito","Default":"Predefinito","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"\xc8 possibile utilizzare %s nel testo per visualizzare il valore di trigger corrente, %id per utilizzare l\'ID dell\'oggetto attivato, %name per mostrare il nome dell\'ID dell\'oggetto attivato o %old per utilizzare il vecchio valore di trigger","Instructions":"Istruzioni","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"\xc8 possibile utilizzare %s nell\'URL per utilizzare il valore di trigger corrente, %id per utilizzare l\'ID dell\'oggetto attivato, %name per mostrare il nome dell\'ID dell\'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"\xc8 possibile utilizzare %s nel valore per utilizzare il valore di trigger corrente, %id per utilizzare l\'ID dell\'oggetto attivato, %name per mostrare il nome dell\'ID dell\'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"\xc8 possibile utilizzare %s nel comando per utilizzare il valore di trigger corrente, %id per utilizzare l\'ID dell\'oggetto attivato, %name per mostrare il nome dell\'ID dell\'oggetto attivato o %old per utilizzare il vecchio valore di trigger","every":"ogni","with offset":"con offset","on update":"in aggiornamento","update":"aggiornare","Triggers the rule periodically or on some specific time":"Attiva la regola periodicamente o in un momento specifico","Triggers the on script saving or the javascript instance restart":"Attiva il salvataggio dello script o il riavvio dell\'istanza javascript","Triggers the rule on update or change of some state":"Attiva la regola in caso di aggiornamento o modifica di uno stato","Compares the state value with user defined value":"Confronta il valore dello stato con il valore definito dall\'utente","Compares current time with the user specific time":"Confronta l\'ora corrente con l\'ora specifica dell\'utente","Control or update some state":"Controlla o aggiorna uno stato","Executes some shell command":"Esegue alcuni comandi della shell","Make a HTTP get request":"Effettua una richiesta get HTTP","Print some text in log":"Stampa del testo nel registro","Make a pause between actions":"Fai una pausa tra le azioni","Say some text via sayit adapter":"Pronuncia del testo tramite l\'adattatore sayit","Telegram":"Telegramma","User:":"Utente:","all":"tutti","Sends message via telegram":"Invia messaggio tramite telegramma","Sends an email":"Invia un\'e-mail","Send email":"Invia una email","Sends message via pushover":"Invia messaggio tramite pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Invia messaggio tramite whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Invia messaggio tramite Pushsafer","Pushsafer":"Pushsafer","To:":"Per:","Subject:":"Soggetto:","Body:":"Corpo:","Title:":"Titolo:","Sound:":"Suono:","Priority:":"Priorit\xe0:","magic":"Magia","quiet":"silenzioso","normal":"normale","high-priority":"priorit\xe0 alta","acknowledgment":"riconoscimento","Phone:":"Telefono:","(optional)":"(opzionale)","Vibration:":"Vibrazione:","lowest priority":"priorit\xe0 pi\xf9 bassa","lower priority":"priorit\xe0 inferiore","normal priority":"priorit\xe0 normale","high priority":"priorit\xe0 alta","highest priority":"massima priorit\xe0","default":"predefinito","All":"Tutti","Write your own code":"Scrivi il tuo codice","User function":"Funzione utente","This is advances option. You can write your own code here and it will be executed on trigger":"Questa \xe8 un\'opzione anticipata. Puoi scrivere il tuo codice qui e verr\xe0 eseguito al trigger","greater than":"pi\xf9 grande di","offset":"compensare","Function":"Funzione","greater or equal to":"maggiore o uguale a","less or equal to":"minore o uguale a","less than":"meno di","not equal to":"non uguale a","[equal]":"[pari]","[greater or equal]":"[maggiore o uguale]","[greater]":"[maggiore]","[less or equal]":"[minore o uguale]","[less]":"[Di meno]","[not equal]":"[non uguale]","[includes]":"[include]","[hysteresis]":"[isteresi]","greater or equal":"maggiore o uguale","less or equal":"inferiore o uguale","includes":"include",".":".","()":"()","Mo":"Mo","Tu":"Tu","We":"3","Th":"4","Fr":"P","Sa":"Sa","Su":"Su","Control or update some state with delay":"Controlla o aggiorna uno stato con ritardo","Delay":"Ritardo","ms":"ms","Set with delay":"Impostato con ritardo","clear running":"chiara esecuzione","toggle value":"alterna valore","Any month":"Ogni mese","Any":"Qualunque","with date":"con data","Date":"Data","Month":"Mese","Januar":"Januar","Februar":"Februar","March ":"marzo","Condition":"Condizione","Limit":"Limite","The script will be stopped and must be activated manually after debugging. Continue?":"Lo script verr\xe0 interrotto e dovr\xe0 essere attivato manualmente dopo il debug. Continua?","Yes":"s\xec","Debug instance":"Istanza di debug","Resume execution":"Riprendi esecuzione","Go to next line":"Vai alla riga successiva","Step into function":"Entra in funzione","Step out from function":"Esci dalla funzione","Stop on exception":"Ferma in caso di eccezione","Console":"Console","Stack":"Stack","Pause execution":"Metti in pausa l\'esecuzione","Simulate":"Simulare","Trigger with value":"Trigger con valore","Value":"Valore","Write":"Scrivi","Ack":"Riconosciuto","Start":"Cominciare","Filter":"Filtro","Instances":"istanze","Triggered":"Innescato","Function: executed":"Funzione: eseguita","Operate two states":"Gestisci due stati","store in":"conservare in","ID1":"ID1","ID2":"ID2","Operations with two states":"Operazioni con due stati","debug_label":"Debug","debug_help":"Questa \xe8 una modalit\xe0 speciale in cui gli stati e gli oggetti non cambieranno. Ma nel protocollo verranno visualizzate solo le informazioni su ogni modifica pianificata.","verbose_label":"Output di log dettagliati","verbose_help":"Aggiunge l\'output di debug al registro per molti comandi di sistema","easy":"facile","for programmers":"per i programmatori","for professionals":"per i professionisti","Duplicate name":"Nome duplicato","Empty name is not allowed":"Il nome vuoto non \xe8 consentito","Time":"Tempo","Server time":"Ora del server","Local time":"Ora locale","Description":"Descrizione","nextSunrise":"Prossima alba","nextSunset":"Prossimo tramonto","Astronomical events today":"Eventi astronomici oggi","Compares current time with astronomical event":"Confronta l\'ora corrente con l\'evento astronomico","Show astronomical events":"Mostra eventi astronomici","Astronomical":"Astronomico","Enter your question":"Inserisci la tua richiesta","Press Ctrl+Enter to get the answer":"Premi Ctrl+Invio per ottenere la risposta","Ask":"Chiedere","Result":"Risultato","Use generated code":"Usa il codice generato","No Chat GPT Key found":"Nessuna chiave GPT chat trovata","You have to enter OpenAI API key in the configuration of javascript adapter.":"Devi inserire la chiave API OpenAI nella configurazione dell\'adattatore javascript.","Open configuration":"Configurazione aperta"}')},43573:e=>{e.exports=JSON.parse('{"-":"-","Add":"Toevoegen","Add new script":"Nieuw script toevoegen","All files will be accepted":"Alle bestanden worden geaccepteerd","April":"april","Are you sure?":"Weet je zeker dat?","August":"augustus","Blockly description":"Regels maken door grafische blokken","Cancel":"annuleren","Cannot delete non empty item!":"Kan niet leeg item niet verwijderen!","Change layout":"Opmaak veranderen","Check blocks":"Controleer blokken","Check is not active, because javascript adapter is disabled":"Controle is niet actief, omdat Javascript-adapter is uitgeschakeld","Clear search input":"Zoekopdracht wissen","Click on this icon":"Klik op dit pictogram","Close":"Dichtbij","Close all but current":"Alles sluiten behalve huidig","Collapse all":"Alles inklappen","Configuration not saved.":"Configuratie niet opgeslagen.","Convert blockly to javascript for ever.":"Converteer direct blockly naar Javascript.","Copy script":"Kopieer script","Copy to clipboard":"Kopieer naar klembord","Download as file":"Download","Create new":"Maak nieuw","Create new folder":"Maak een nieuwe map","Create new script":"Maak een nieuw script","Create or edit CRON or time wizard":"Cre\xeber of bewerk CRON of tijdwizard","Dark Theme":"Donker thema","Dark style":"Donkere stijl","Debug options":"Foutopsporingsopties","December":"december","Define cron...":"Definieer cron ...","Define schedule...":"Definieer schema ...","Delete":"Verwijder","Delete %s":"%s verwijderen ...","Delete folder":"Verwijder map","Delete script":"Script verwijderen","Deselect all":"Deselecteer alles","Discard changes for %s":"Wijzigingen voor %s annuleren","Done":"Gedaan","Drop some files here or click...":"Zet hier enkele bestanden neer of klik op ...","Edit script or just double click":"Bewerk het script of dubbelklik erop","End search mode":"Zoekmodus be\xebindigen","Error":"Fout","Error was found":"Er is een fout gevonden","Existing scripts will be overwritten.":"Bestaande scripts worden overschreven.","Expand all":"Alles uitvouwen","Expert mode":"Expert modus","Export":"Exporteren","Export all scripts":"Exporteer alle scripts","Export blocks":"Blokken exporteren","Export selected blocks":"Exporteer geselecteerde blokken","February":"februari","Folder":"Map","Friday":"vrijdag","Function editor":"Functie-editor","ID":"ID kaart","Import":"Importeren","Import blocks":"Blokken importeren","Import error":"Importfout","Import scripts":"Scripts importeren","Insert object ID":"Object-ID invoegen","Instance":"Voorbeeld","Instance is disabled":"Exemplaar is uitgeschakeld","Invalid CRON":"Ongeldige CRON","It will not be possible to revert this operation.":"Het is niet mogelijk om deze bewerking terug te zetten.","JS description":"Regels maken door Javascript te schrijven","January":"januari","July":"juli","June":"juni","Learn More":"Leer meer","Light style":"Lichte stijl","Locate file":"Vind het bestand","Log outputs":"Log uitgangen","March":"maart","May":"mei","Menu":"Menu","Message":"Bericht","Monday":"maandag","Name":"Naam","No active host found":"Geen actieve host gevonden","November":"november","October":"oktober","Ok":"OK","On weekdays":"Op weekdagen","Pause script":"Pauzeer script","Please select object ID...":"Selecteer object-ID ...","Rename":"andere naam geven","Reorder scripts in folders":"Sorteer scripts in mappen opnieuw","Repeat":"Herhaling","Restart":"Herstarten","Root folder":"Hoofdmap","Run script":"Voer script uit","Saturday":"zaterdag","Save":"Opslaan","Script":"Script","Script %s was modified on disk":"Script %s is gewijzigd op schijf","Script is not running":"Script is niet actief","Search in scripts":"Zoeken in scripts","Search...":"Zoeken...","Select all":"Selecteer alles","September":"september","Show javascript code":"Javascript-code weergeven","Show only paused scripts":"Toon alleen onderbroken scripts","Show only running scripts":"Toon alleen actieve scripts","Show only scripts with problems":"Toon alleen scripts met problemen","Some files will be rejected":"Sommige bestanden worden geweigerd","Sunday":"zondag","TS description":"Regels maken door Typescript te schrijven","Thursday":"donderdag","Tuesday":"dinsdag","Unknown error":"Onbekende fout","Unknown error!":"Onbekende fout!","Wednesday":"woensdag","Yet exists!":"Toch bestaat!","copy":"kopi\xebren","file reading has failed: %s":"bestands lezen is mislukt: %s","file reading was aborted":"bestands lezen is afgebroken","filter_func":"Functie","filter_id":"ID kaart","filter_name":"Naam","filter_role":"Rol","filter_room":"Kamer","for edit or create script":"voor bewerken of een nieuw script maken","no blocks found":"Geen blokken gevonden","no group":"GEEN GROEP","not properly connected":"Dit blok is niet correct verbonden met andere blokken.","tooltip_ack":"Erkennen","tooltip_from":"Van","tooltip_lc":"Laatst gewijzigd","tooltip_quality":"Kwaliteit","tooltip_ts":"tijdstempel","tooltip_user":"Gebruiker","tooltip_value":"Waarde","use seconds":"gebruik seconden","Save all":"Sla alles op","Change theme (actual \\"%s\\")":"Thema wijzigen (nu - \\"%s\\")","Hide logs":"Verberg logboeken","Show logs":"Toon logboeken","Rules description":"Maak regels met IF, THEN, ELSE blokken","help_on_change":"De code wordt alleen uitgevoerd als het conditieresultaat verandert. Bijv. als de temperatuursensor wordt geactiveerd en de conditie is \\"als de temperatuur hoger is dan 20 \xb0 C\\", worden de \\"dan\\" -acties eenmaal uitgevoerd wanneer de temperatuur hoger is dan 20. De volgende keer worden de \\"dan\\" -acties uitgevoerd wanneer de temperatuur faalt onder de 20 en stijgt dan weer boven de 20.","help_just_check":"De code wordt alleen uitgevoerd als de voorwaarde waar is. Bijv. als het triggeren op de temperatuursensorwaarde en de conditie is \\"als de temperatuur hoger is dan 20 \xb0 C\\", zullen de \\"dan\\" acties worden uitgevoerd elke keer dat de sensor de temperatuur verzendt en deze hoger is dan 20 \xb0 C. Bij 21 \xb0 C, bij 22 \xb0 C enzovoort.","On condition change":"Op voorwaarde verandering","Just check":"Kijk maar","when":"wanneer","and":"en","then":"vervolgens","or":"of","else":"anders","Nothing found":"Niets gevonden","reset search":"reset zoeken","Read only ID selected: %s":"Alleen-lezen ID geselecteerd: %s","OK":"OK","Triggers":"Triggers","cron":"cron","wizard":"tovenaar","interval":"interval","at":"Bij","astro":"astro","on condition change":"op voorwaarde verandering","just check":"kijk maar","Explanation":"Uitleg","seconds":"seconden","minutes":"minuten","hours":"uren","Every day":"Elke dag","milliseconds":"milliseconden","Copied":"Gekopieerd","nadir":"nadir","nightEnd":"Einde van de nacht","nauticalDawn":"Nautische dageraad","dawn":"dageraad","sunrise":"zonsopkomst","sunriseEnd":"Einde zonsopgang","goldenHourEnd":"Einde van gouden uur","solarNoon":"Zonne-middag","goldenHour":"gouden uur","sunsetStart":"Begin van de zonsondergang","sunset":"zonsondergang","dusk":"schemer","nauticalDusk":"Nautische schemering","night":"nacht","one":"een","two":"twee","true":"waar","false":"false","search":"zoeken","Actions":"Acties","Conditions":"Voorwaarden","Schedule":"Schema","Start script":"Start het script","State":"Staat","State condition":"Staat staat","Time condition":"Tijdsvoorwaarde","Set state action":"Stel statusactie in","Exec":"Exec shell","HTTP Call":"HTTP-oproep","Log text":"Log tekst","Pause":"Pauze","on change":"bij verandering","control":"controle","Say It":"Say It","every hour at 0 minutes":"elk uur op 0 minuten","On script save or adapter start":"Bij het opslaan van het script of het starten van de adapter","equal to":"gelijk aan","Actual time of day":"Werkelijke tijd van de dag","with":"met","Shell command":"Shell-opdracht","URL":"URL","Instance:":"Voorbeeld:","Language:":"Taal:","Volume":"Volume","Text:":"Tekst:","undefined":"ongedefinieerd","Default":"Standaard","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"U kunt %s in de tekst gebruiken om de huidige triggerwaarde weer te geven, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam weer te geven of %old om de oude triggerwaarde te gebruiken","Instructions":"Instructies","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"U kunt %s in de URL gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"U kunt %s in de waarde gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"U kunt %s in de opdracht gebruiken om de huidige triggerwaarde te gebruiken, %id om de getriggerde object-ID te gebruiken, %name om de getriggerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","every":"elke","with offset":"met offset","on update":"bij update","update":"bijwerken","Triggers the rule periodically or on some specific time":"Activeert de regel periodiek of op een specifieke tijd","Triggers the on script saving or the javascript instance restart":"Activeert het opslaan van het script of het opnieuw opstarten van de JavaScript-instantie","Triggers the rule on update or change of some state":"Activeert de regel voor het bijwerken of wijzigen van een bepaalde staat","Compares the state value with user defined value":"Vergelijkt de statuswaarde met de door de gebruiker gedefinieerde waarde","Compares current time with the user specific time":"Vergelijkt de huidige tijd met de gebruikerspecifieke tijd","Control or update some state":"Beheer of update een bepaalde staat","Executes some shell command":"Voert een shell-commando uit","Make a HTTP get request":"Maak een HTTP-ophaalverzoek","Print some text in log":"Druk wat tekst af in het logboek","Make a pause between actions":"Pauzeer tussen acties","Say some text via sayit adapter":"Zeg wat tekst via de sayit-adapter","Telegram":"Telegram","User:":"Gebruiker:","all":"alle","Sends message via telegram":"Verzendt bericht via telegram","Sends an email":"Stuurt een e-mail","Send email":"E-mail verzenden","Sends message via pushover":"Stuurt bericht via pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Stuurt bericht via whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Stuurt bericht via Pushsafer","Pushsafer":"Duwijzer","To:":"Naar:","Subject:":"Onderwerpen:","Body:":"Lichaam:","Title:":"Titel:","Sound:":"Geluid:","Priority:":"Prioriteit:","magic":"magie","quiet":"stil","normal":"normaal","high-priority":"hoge prioriteit","acknowledgment":"erkenning","Phone:":"Telefoon:","(optional)":"(optioneel)","Vibration:":"Trilling:","lowest priority":"laagste prioriteit","lower priority":"lagere prioriteit","normal priority":"normale prioriteit","high priority":"hoge prioriteit","highest priority":"hoogste prioriteit","default":"standaard","All":"Alle","Write your own code":"Schrijf je eigen code","User function":"Gebruikersfunctie","This is advances option. You can write your own code here and it will be executed on trigger":"Dit is een voorschotoptie. U kunt hier uw eigen code schrijven en deze wordt bij een trigger uitgevoerd","greater than":"groter dan","offset":"compensatie","Function":"Functie","greater or equal to":"groter of gelijk aan","less or equal to":"minder of gelijk aan","less than":"minder dan","not equal to":"niet gelijk aan","[equal]":"[Gelijk]","[greater or equal]":"[groter of gelijk]","[greater]":"[groter]","[less or equal]":"[minder of gelijk]","[less]":"[minder]","[not equal]":"[niet gelijk]","[includes]":"[inclusief]","[hysteresis]":"[hysterese]","greater or equal":"groter of gelijk","less or equal":"minder of gelijk","includes":"omvat",".":".","()":"()","Mo":"Ma","Tu":"Di","We":"3","Th":"4","Fr":"Vr","Sa":"Za","Su":"Zo","Control or update some state with delay":"Beheer of update een bepaalde staat met vertraging","Delay":"Vertraging","ms":"ms","Set with delay":"Met vertraging ingesteld","clear running":"duidelijk rennen","toggle value":"schakelwaarde","Any month":"Elke maand","Any":"Ieder","with date":"met datum","Date":"Datum","Month":"Maand","Januar":"Januar","Februar":"Februari","March ":"maart","Condition":"Staat","Limit":"Begrenzing","The script will be stopped and must be activated manually after debugging. Continue?":"Het script wordt gestopt en moet na het debuggen handmatig worden geactiveerd. Doorgaan met?","Yes":"Ja","Debug instance":"Debug-instantie","Resume execution":"Uitvoering hervatten","Go to next line":"Ga naar de volgende regel","Step into function":"Stap in functie","Step out from function":"Stap uit de functie","Stop on exception":"Stop bij uitzondering","Console":"Troosten","Stack":"Stack","Pause execution":"Uitvoering pauzeren","Simulate":"Simuleren","Trigger with value":"Trigger met waarde","Value":"Waarde","Write":"Schrijven","Ack":"Erkend","Start":"Begin","Filter":"Filter","Instances":"Instanties","Triggered":"Veroorzaakt","Function: executed":"Functie: uitgevoerd","Operate two states":"Bedien twee toestanden:","store in":"opslaan in","ID1":"ID1","ID2":"ID2","Operations with two states":"Bewerkingen met twee toestanden","debug_label":"Debuggen","debug_help":"Dit is een speciale modus waarin toestanden en objecten niet veranderen. Maar alleen informatie over elke geplande wijziging wordt in het protocol weergegeven.","verbose_label":"Uitgebreide log-uitgangen","verbose_help":"Voegt foutopsporingsuitvoer toe aan het logboek voor veel systeemopdrachten","easy":"eenvoudig","for programmers":"voor programmeurs","for professionals":"voor professionals","Duplicate name":"Dubbele naam","Empty name is not allowed":"Lege naam is niet toegestaan","Time":"Tijd","Server time":"Servertijd","Local time":"Lokale tijd","Description":"Beschrijving","nextSunrise":"Volgende zonsopgang","nextSunset":"Volgende zonsondergang","Astronomical events today":"Astronomische gebeurtenissen vandaag","Compares current time with astronomical event":"Vergelijkt huidige tijd met astronomische gebeurtenis","Show astronomical events":"Laat astronomische gebeurtenissen zien","Astronomical":"Astronomisch","Enter your question":"Voer uw verzoek in","Press Ctrl+Enter to get the answer":"Druk op Ctrl+Enter om het antwoord te krijgen","Ask":"Vragen","Result":"Resultaat","Use generated code":"Gebruik gegenereerde code","No Chat GPT Key found":"Geen Chat GPT-sleutel gevonden","You have to enter OpenAI API key in the configuration of javascript adapter.":"U moet de OpenAI API-sleutel invoeren in de configuratie van de javascript-adapter.","Open configuration":"Configuratie openen"}')},28130:e=>{e.exports=JSON.parse('{"-":"-","Add":"Dodaj","Add new script":"Dodaj nowy skrypt","All files will be accepted":"Wszystkie pliki zostan\u0105 zaakceptowane","April":"Kwiecie\u0144","Are you sure?":"Jeste\u015b pewny?","August":"Sierpie\u0144","Blockly description":"Tworzenie regu\u0142 za pomoc\u0105 blok\xf3w graficznych","Cancel":"Odwo\u0142aj","Cannot delete non empty item!":"Nie mo\u017cna usun\u0105\u0107 niepustego elementu!","Change layout":"Zmiana uk\u0142adu","Check blocks":"Sprawd\u017a bloki","Check is not active, because javascript adapter is disabled":"Sprawdzanie nie jest aktywne, poniewa\u017c adapter Javascript jest wy\u0142\u0105czony","Clear search input":"Wyczy\u015b\u0107 dane wyszukiwania","Click on this icon":"Kliknij t\u0119 ikon\u0119","Close":"Zamknij","Close all but current":"Zamknij wszystkie opr\xf3cz bie\u017c\u0105cych","Collapse all":"Zwin\u0105\u0107 wszystkie","Configuration not saved.":"Konfiguracja nie zosta\u0142a zapisana.","Convert blockly to javascript for ever.":"Bezpowrotna konwersja Blockly na Javascript.","Copy script":"Skopiuj skrypt","Copy to clipboard":"Skopiuj do schowka","Download as file":"Download jako plik plik","Create new":"Utw\xf3rz nowy","Create new folder":"Utw\xf3rz nowy folder","Create new script":"Utw\xf3rz nowy skrypt","Create or edit CRON or time wizard":"Utw\xf3rz lub edytuj CRON lub kreator czasu","Dark Theme":"Ciemny schemat","Dark style":"Ciemny styl","Debug options":"Opcje debugowania","December":"Grudzie\u0144","Define cron...":"Zdefiniuj CRON ...","Define schedule...":"Zdefiniuj harmonogram ...","Delete":"Usu\u0144","Delete %s":"Usu\u0144 %s ...","Delete folder":"Usu\u0144 folder","Delete script":"Usu\u0144 skrypt","Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzu\u0107 zmiany dla %s","Done":"Gotowe","Drop some files here or click...":"Upu\u015b\u0107 niekt\xf3re pliki tutaj lub kliknij ...","Edit script or just double click":"Edytuj skrypt lub po prostu kliknij dwukrotnie","End search mode":"Zako\u0144cz tryb wyszukiwania","Error":"B\u0142\u0105d","Error was found":"B\u0142\u0105d zosta\u0142 znaleziony","Existing scripts will be overwritten.":"Istniej\u0105ce skrypty zostan\u0105 zast\u0105pione.","Expand all":"Rozwi\u0144 wszystkie","Expert mode":"Tryb ekspercki","Export":"Eksport","Export all scripts":"Wyeksportuj wszystkie skrypty","Export blocks":"Eksportuj bloki","Export selected blocks":"Eksportuj wybrane bloki","February":"Luty","Folder":"Folder","Friday":"Pi\u0105tek","Function editor":"Edytor funkcji","ID":"ID","Import":"Import","Import blocks":"Importuj bloki","Import error":"B\u0142\u0105d importowania","Import scripts":"Importuj skrypty","Insert object ID":"Wstaw identyfikator obiektu","Instance":"Instancja","Instance is disabled":"Instancja jest wy\u0142\u0105czona","Invalid CRON":"Nieprawid\u0142owy CRON","It will not be possible to revert this operation.":"Cofni\u0119cie tej operacji nie b\u0119dzie mo\u017cliwe.","JS description":"Tworzenie regu\u0142 w Javascript","January":"Stycze\u0144","July":"Lipiec","June":"Czerwiec","Learn More":"Ucz si\u0119 wi\u0119cej","Light style":"Lekki styl","Locate file":"Znajd\u017a plik","Log outputs":"Log dziennika","March":"Marzec","May":"Maj","Menu":"Menu","Message":"Wiadomo\u015b\u0107","Monday":"Poniedzia\u0142ek","Name":"Nazwa","No active host found":"Nie znaleziono aktywnego hosta","November":"Listopad","October":"Pa\u017adziernik","Ok":"Ok","On weekdays":"W dni powszednie","Pause script":"Wstrzymaj skrypt","Please select object ID...":"Wybierz identyfikator obiektu ...","Rename":"Przemianuj","Reorder scripts in folders":"Zmie\u0144 kolejno\u015b\u0107 skrypt\xf3w w folderach","Repeat":"Powt\xf3rz","Restart":"Uruchom ponownie","Root folder":"Folder g\u0142\xf3wny","Run script":"Uruchom skrypt","Saturday":"Sobota","Save":"Zapisz","Script":"Skrypt","Script %s was modified on disk":"Skrypt %s zosta\u0142 zmodyfikowany na dysku","Script is not running":"Skrypt nie dzia\u0142a","Search in scripts":"Szukaj w skryptach","Search...":"Szukaj...","Select all":"Zaznacz wszystko","September":"Wrzesie\u0144","Show javascript code":"Poka\u017c kod JavaScript","Show only paused scripts":"Poka\u017c tylko wstrzymane skrypty","Show only running scripts":"Poka\u017c tylko dzia\u0142aj\u0105ce skrypty","Show only scripts with problems":"Poka\u017c tylko skrypty z problemami","Some files will be rejected":"Niekt\xf3re pliki zostan\u0105 odrzucone","Sunday":"Niedziela","TS description":"Tworzenie regu\u0142 w Typescript","Thursday":"Czwartek","Tuesday":"Wtorek","Unknown error":"Nieznany b\u0142\u0105d","Unknown error!":"Nieznany b\u0142\u0105d!","Wednesday":"\u015aroda","Yet exists!":"A jednak istnieje!","copy":"Kopiuj","file reading has failed: %s":"odczyt pliku nie powi\xf3d\u0142 si\u0119: %s","file reading was aborted":"odczyt pliku zosta\u0142 przerwany","filter_func":"Funkcja","filter_id":"ID","filter_name":"Nazwa","filter_role":"Rola","filter_room":"Pok\xf3j","for edit or create script":"do edycji lub utw\xf3rz nowy skrypt","no blocks found":"Nie znaleziono blok\xf3w","no group":"BRAK GRUPY","not properly connected":"Ten blok nie jest poprawnie pod\u0142\u0105czony do innych blok\xf3w.","tooltip_ack":"Akceptuj","tooltip_from":"Od","tooltip_lc":"Ostatnia zmiana","tooltip_quality":"Jako\u015b\u0107","tooltip_ts":"Znacznik czasu","tooltip_user":"U\u017cytkownik","tooltip_value":"Warto\u015b\u0107","use seconds":"u\u017cyj sekund","Save all":"Zapisz wszystko","Change theme (actual \\"%s\\")":"Zmie\u0144 motyw (obecnie - \u201e%s\u201d)","Hide logs":"Ukryj dzienniki","Show logs":"Poka\u017c dzienniki","Rules description":"Tw\xf3rz regu\u0142y z blokami IF, THEN, ELSE","help_on_change":"Kod zostanie wykonany tylko wtedy, gdy wynik warunku ulegnie zmianie. Na przyk\u0142ad. je\u015bli wyzwalanie na warto\u015b\u0107 czujnika temperatury i warunek \u201eje\u015bli temperatura jest wy\u017csza ni\u017c 20 \xb0 C\u201d, to akcje \u201enast\u0119pnie\u201d zostan\u0105 wykonane raz, gdy temperatura przekroczy 20. Nast\u0119pnym razem dzia\u0142ania \u201enast\u0119pnie\u201d zostan\u0105 wykonane, gdy temperatura nie udaje si\u0119 poni\u017cej 20, a nast\u0119pnie ponownie wzrasta powy\u017cej 20.","help_just_check":"Kod zostanie wykonany tylko za ka\u017cdym razem, gdy warunek b\u0119dzie spe\u0142niony. Na przyk\u0142ad. je\u015bli wyzwalanie na warto\u015b\u0107 czujnika temperatury i warunek to \u201eje\u015bli temperatura jest wy\u017csza ni\u017c 20 \xb0 C\u201d, to dzia\u0142ania \u201enast\u0119pnie\u201d b\u0119d\u0105 wykonywane za ka\u017cdym razem, gdy czujnik wy\u015ble temperatur\u0119 i jest powy\u017cej 20 \xb0 C. O 21 \xb0 C, o 22 \xb0 C i tak dalej.","On condition change":"W przypadku zmiany warunk\xf3w","Just check":"Po prostu sprawd\u017a","when":"gdy","and":"i","then":"nast\u0119pnie","or":"lub","else":"inaczej","Nothing found":"Nic nie znaleziono","reset search":"zresetuj wyszukiwanie","Read only ID selected: %s":"Wybrano identyfikator tylko do odczytu: %s","OK":"OK","Triggers":"Wyzwalacze","cron":"CRON","wizard":"Wizard","interval":"interwa\u0142","at":"w","astro":"Astro","on condition change":"pod warunkiem zmiany warunk\xf3w","just check":"po prostu sprawd\u017a","Explanation":"Wyja\u015bnienie","seconds":"sekundy","minutes":"minuty","hours":"godziny","Every day":"Codziennie","milliseconds":"milisekund","Copied":"Skopiowano","nadir":"P\xf3\u0142noc s\u0142oneczna","nightEnd":"Koniec nocy","nauticalDawn":"\u017beglarski \u015bwit","dawn":"\u015awit","sunrise":"Wsch\xf3d s\u0142o\u0144ca","sunriseEnd":"Koniec wschodu s\u0142o\u0144ca","goldenHourEnd":"Koniec z\u0142otej godziny","solarNoon":"Po\u0142udnie s\u0142oneczne","goldenHour":"Z\u0142ota godzina","sunsetStart":"Pocz\u0105tek zachodu s\u0142o\u0144ca","sunset":"Zach\xf3d s\u0142o\u0144ca","dusk":"Zmierzch","nauticalDusk":"\u017beglarski zmierzch","night":"Noc","one":"jeden","two":"dwa","true":"prawda","false":"fa\u0142sz","search":"Szukaj","Actions":"Dzia\u0142ania","Conditions":"Warunki","Schedule":"Harmonogram","Start script":"Uruchom skrypt","State":"Stan","State condition":"Warunek stanu","Time condition":"Warunek czasowy","Set state action":"Ustaw stan dzia\u0142ania","Exec":"Uruchom shell","HTTP Call":"Po\u0142\u0105czenie HTTP","Log text":"Tekst dziennika","Pause":"Pauza","on change":"na zmian\u0119","control":"kontrola","Say It":"Wypowiedz","every hour at 0 minutes":"co godzin\u0119 po 0 minutach","On script save or adapter start":"Podczas zapisywania skryptu lub uruchamiania adaptera","equal to":"r\xf3wny","Actual time of day":"Aktualna pora dnia","with":"z","Shell command":"Polecenie pow\u0142oki","URL":"URL","Instance:":"Instancja:","Language:":"J\u0119zyk:","Volume":"Wolumen","Text:":"Tekst:","undefined":"nieokre\u015blony","Default":"Domy\u015blna","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Mo\u017cesz u\u017cy\u0107 %s w tek\u015bcie, aby wy\u015bwietli\u0107 aktualn\u0105 warto\u015b\u0107 wyzwalaj\u0105c\u0105, %id, aby u\u017cy\u0107 identyfikatora wyzwolonego obiektu, %name, aby wy\u015bwietli\u0107 nazw\u0119 identyfikatora wyzwolonego obiektu lub %old, aby u\u017cy\u0107 starej warto\u015bci wyzwalaj\u0105cej","Instructions":"Instrukcje","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Mo\u017cesz u\u017cy\u0107 %s w adresie URL, aby u\u017cy\u0107 bie\u017c\u0105cej warto\u015bci wyzwalacza, %id, aby u\u017cy\u0107 wyzwalanego identyfikatora obiektu, %name, aby wy\u015bwietli\u0107 nazw\u0119 identyfikatora wyzwalanego obiektu, lub %old, aby u\u017cy\u0107 starej warto\u015bci wyzwalacza","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Mo\u017cesz u\u017cy\u0107 %s w warto\u015bci, aby u\u017cy\u0107 bie\u017c\u0105cej warto\u015bci wyzwalacza, %id, aby u\u017cy\u0107 identyfikatora wyzwalanego obiektu, %name, aby wy\u015bwietli\u0107 nazw\u0119 identyfikatora wyzwalanego obiektu, lub %old, aby u\u017cy\u0107 starej warto\u015bci wyzwalacza","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Mo\u017cesz u\u017cy\u0107 %s w poleceniu, aby u\u017cy\u0107 bie\u017c\u0105cej warto\u015bci wyzwalaj\u0105cej, %id, aby u\u017cy\u0107 identyfikatora wyzwalanego obiektu, %name, aby wy\u015bwietli\u0107 nazw\u0119 identyfikatora wyzwalanego obiektu, lub %old, aby u\u017cy\u0107 starej warto\u015bci wyzwalaj\u0105cej","every":"ka\u017cdy","with offset":"z przesuni\u0119ciem","on update":"po aktualizacji","update":"aktualizacja","Triggers the rule periodically or on some specific time":"Uruchamia regu\u0142\u0119 okresowo lub w okre\u015blonym czasie","Triggers the on script saving or the javascript instance restart":"Uruchamia zapisywanie skryptu lub restart instancji javascript","Triggers the rule on update or change of some state":"Uruchamia regu\u0142\u0119 przy aktualizacji lub zmianie jakiego\u015b stanu","Compares the state value with user defined value":"Por\xf3wnuje warto\u015b\u0107 stanu z warto\u015bci\u0105 zdefiniowan\u0105 przez u\u017cytkownika","Compares current time with the user specific time":"Por\xf3wnuje aktualny czas z czasem okre\u015blonym przez u\u017cytkownika","Control or update some state":"Kontroluj lub aktualizuj stan","Executes some shell command":"Wykonuje polecenie pow\u0142oki","Make a HTTP get request":"Z\u0142\xf3\u017c \u017c\u0105danie HTTP get","Print some text in log":"Wydrukuj tekst w dzienniku","Make a pause between actions":"Zr\xf3b przerw\u0119 mi\u0119dzy czynno\u015bciami","Say some text via sayit adapter":"Powiedz tekst przez adapter sayit","Telegram":"Telegram","User:":"U\u017cytkownik:","all":"wszystko","Sends message via telegram":"Wysy\u0142a wiadomo\u015b\u0107 telegramem","Sends an email":"Wysy\u0142a e-mail","Send email":"Wys\u0142a\u0107 email","Sends message via pushover":"Wysy\u0142a wiadomo\u015b\u0107 przez pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Wysy\u0142a wiadomo\u015b\u0107 przez WhatsApp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Wysy\u0142a wiadomo\u015b\u0107 przez Pushsafer","Pushsafer":"Pushsafer","To:":"Do:","Subject:":"Temat:","Body:":"Tre\u015b\u0107:","Title:":"Tytu\u0142:","Sound:":"D\u017awi\u0119k:","Priority:":"Priorytet:","magic":"magia","quiet":"cisza","normal":"normalny","high-priority":"wysoki priorytet","acknowledgment":"potwierdzenie","Phone:":"Telefon:","(optional)":"(opcjonalny)","Vibration:":"Wibracja:","lowest priority":"najni\u017cszy priorytet","lower priority":"ni\u017cszy priorytet","normal priority":"normalny priorytet","high priority":"wysoki priorytet","highest priority":"najwy\u017cszy priorytet","default":"domy\u015blna","All":"Wszystko","Write your own code":"Napisz sw\xf3j w\u0142asny kod","User function":"Funkcja u\u017cytkownika","This is advances option. You can write your own code here and it will be executed on trigger":"To jest opcja zaawansowana. Mo\u017cesz tutaj napisa\u0107 w\u0142asny kod, kt\xf3ry zostanie wykonany po wyzwoleniu","greater than":"wi\u0119cej ni\u017c","offset":"przesuni\u0119cie","Function":"Funkcja","greater or equal to":"wi\u0119cej lub r\xf3wno","less or equal to":"mniej lub r\xf3wno","less than":"mniej ni\u017c","not equal to":"nie r\xf3wna si\u0119","[equal]":"[r\xf3wny]","[greater or equal]":"[wi\u0119ksze lub r\xf3wne]","[greater]":"[wi\u0119ksze]","[less or equal]":"[mniejsze lub r\xf3wne]","[less]":"[mniejsze]","[not equal]":"[nie r\xf3wne]","[includes]":"[obejmuje]","[hysteresis]":"[histereza]","greater or equal":"wi\u0119ksze lub r\xf3wne","less or equal":"mniejsze lub r\xf3wne","includes":"zawiera",".":".","()":"()","Mo":"Po","Tu":"Wt","We":"\u015ar","Th":"Cz","Fr":"Pt","Sa":"So","Su":"Nd","Control or update some state with delay":"Kontroluj lub aktualizuj jaki\u015b stan z op\xf3\u017anieniem","Delay":"Op\xf3\u017anienie","ms":"ms","Set with delay":"Ustaw z op\xf3\u017anieniem","clear running":"czyste uruchomienie","toggle value":"warto\u015b\u0107 prze\u0142\u0105czania","Any month":"Dowolny miesi\u0105c","Any":"Ka\u017cdy","with date":"z dat\u0105","Date":"Data","Month":"Miesi\u0105c","Januar":"Stycze\u0144","Februar":"Luty","March ":"Marzec ","Condition":"Stan","Limit":"Limit","The script will be stopped and must be activated manually after debugging. Continue?":"Skrypt zostanie zatrzymany i nale\u017cy go aktywowa\u0107 r\u0119cznie po debugowaniu. Kontyntynuj?","Yes":"Tak","Debug instance":"Debuguj instancj\u0119","Resume execution":"Wzn\xf3w wykonanie","Go to next line":"Przejd\u017a do nast\u0119pnej linii","Step into function":"Wejd\u017a do funkcji","Step out from function":"Wyjd\u017a z funkcji","Stop on exception":"Zatrzymaj si\u0119 na wyj\u0105tku","Console":"Konsola","Stack":"Stos","Pause execution":"Wstrzymaj wykonanie","Simulate":"Symulacja","Trigger with value":"Wyzwalacz z warto\u015bci\u0105","Value":"Warto\u015b\u0107","Write":"Pisa\u0107","Ack":"Potwierdzony","Start":"Pocz\u0105tek","Filter":"Filtr","Instances":"Instancje","Triggered":"Wyzwolony","Function: executed":"Funkcja: wykonywana","Operate two states":"Obs\u0142uguj dwa stany","store in":"przechowaj w","ID1":"ID1","ID2":"ID2","Operations with two states":"Operacje z dwoma stanami","debug_label":"Odpluskwi\u0107","debug_help":"Jest to specjalny tryb, w kt\xf3rym stany i obiekty si\u0119 nie zmieniaj\u0105. Jednak w protokole b\u0119d\u0105 wy\u015bwietlane tylko informacje o ka\u017cdej planowanej zmianie.","verbose_label":"Pe\u0142ne dane wyj\u015bciowe dziennika","verbose_help":"Dodaje wyniki debugowania do dziennika dla wielu polece\u0144 systemowych","easy":"\u0142atwy","for programmers":"dla programist\xf3w","for professionals":"dla profesjonalist\xf3w","Duplicate name":"Duplikat nazwy","Empty name is not allowed":"Pusta nazwa jest niedozwolona","Time":"Czas","Server time":"Czas serwera","Local time":"Czas lokalny","Description":"Opis","nextSunrise":"Nast\u0119pny wsch\xf3d s\u0142o\u0144ca","nextSunset":"Nast\u0119pny zach\xf3d s\u0142o\u0144ca","Astronomical events today":"Wydarzenia astronomiczne dzisiaj","Compares current time with astronomical event":"Por\xf3wnuje aktualny czas z wydarzeniem astronomicznym","Show astronomical events":"Poka\u017c wydarzenia astronomiczne","Astronomical":"Astronomiczny","Enter your question":"Wpisz swoj\u0105 pro\u015bb\u0119","Press Ctrl+Enter to get the answer":"Naci\u015bnij klawisze Ctrl+Enter, aby uzyska\u0107 odpowied\u017a","Ask":"Zapyta\u0107","Result":"Wynik","Use generated code":"U\u017cyj wygenerowanego kodu","No Chat GPT Key found":"Nie znaleziono klucza GPT czatu","You have to enter OpenAI API key in the configuration of javascript adapter.":"Nale\u017cy wprowadzi\u0107 klucz OpenAI API w konfiguracji adaptera javascript.","Open configuration":"Otwarta konfiguracja"}')},65909:e=>{e.exports=JSON.parse('{"-":"-","Add":"Adicionar","Add new script":"Adicionar novo script","All files will be accepted":"Todos os arquivos ser\xe3o aceitos","April":"abril","Are you sure?":"Voc\xea tem certeza?","August":"agosto","Blockly description":"Criando regras por blocos gr\xe1ficos","Cancel":"Cancelar","Cannot delete non empty item!":"N\xe3o pode ser deletar, porque n\xe3o est\xe1 vazio!","Change layout":"Alterar layout","Check blocks":"Verificar blocos","Check is not active, because javascript adapter is disabled":"A verifica\xe7\xe3o de sintaxe n\xe3o est\xe1 ativa porque o adaptador javascript n\xe3o est\xe1 rodando.","Clear search input":"Limpar entrada de pesquisa","Click on this icon":"Clique neste \xedcone","Close":"Fechar","Close all but current":"Fechar tudo, menos atual","Collapse all":"Recolher todos","Configuration not saved.":"Configura\xe7\xe3o n\xe3o esta salva.","Convert blockly to javascript for ever.":"Converter Blockly em Javascript permanentemente.","Copy script":"Copiar script","Copy to clipboard":"Copiar para \xe1rea de transfer\xeancia","Download as file":"Baixar como arquivo","Create new":"Crie um novo","Create new folder":"Criar nova pasta","Create new script":"Criar novo script","Create or edit CRON or time wizard":"Criar ou editar o assistente cron ou o assistente de hor\xe1rio","Dark Theme":"Layout escuro","Dark style":"Estilo escuro","Debug options":"Op\xe7\xf5es de depura\xe7\xe3o","December":"dezembro","Define cron...":"Definir cron...","Define schedule...":"Definir agendamento ...","Delete":"Deletar","Delete %s":"Deletar %s...","Delete folder":"Deletar pasta","Delete script":"Deletar script","Deselect all":"Desmarcar todos","Discard changes for %s":"Descartar altera\xe7\xf5es para %s","Done":"Pronto","Drop some files here or click...":"Solte alguns arquivos aqui ou clique em...","Edit script or just double click":"Edite o script ou clique duas vezes","End search mode":"Finalizar modo de pesquisa","Error":"Erro","Error was found":"Erro foi encontrado","Existing scripts will be overwritten.":"Os scripts existentes ser\xe3o substitu\xeddos.","Expand all":"Expandir todos","Expert mode":"Modo de especialista","Export":"Exporta\xe7\xe3o","Export all scripts":"Exportar todos os scripts","Export blocks":"Exportar blocos","Export selected blocks":"Exportar blocos selecionados","February":"fevereiro","Folder":"Pasta","Friday":"Sexta-feira","Function editor":"Editor de fun\xe7\xf5es","ID":"ID","Import":"Importar","Import blocks":"Importar blocos","Import error":"Erro de importa\xe7\xe3o","Import scripts":"Importar script","Insert object ID":"Inserir ID do objeto","Instance":"Inst\xe2ncia","Instance is disabled":"Inst\xe2ncia est\xe1 desativada","Invalid CRON":"CRON inv\xe1lido","It will not be possible to revert this operation.":"N\xe3o ser\xe1 poss\xedvel reverter esta opera\xe7\xe3o.","JS description":"Criando regras escrevendo Javascript","January":"janeiro","July":"julho","June":"junho","Learn More":"Aprender mais","Light style":"Estilo claro","Locate file":"Localize o arquivo","Log outputs":"Sa\xeddas de log","March":"mar\xe7o","May":"maio","Menu":"Menu","Message":"mensagem","Monday":"Segunda-feira","Name":"Nome","No active host found":"Nenhum host ativo encontrado","November":"novembro","October":"outubro","Ok":"Ok","On weekdays":"Nos dias \xfateis","Pause script":"Pausar script","Please select object ID...":"Selecione o ID do objeto...","Rename":"Renomear","Reorder scripts in folders":"Reordenar scripts em pastas","Repeat":"Repetir","Restart":"Reiniciar","Root folder":"Pasta principal","Run script":"Executar script","Saturday":"S\xe1bado","Save":"Salve","Script":"Script","Script %s was modified on disk":"O script \\"%s\\" foi modificado no disco r\xedgido","Script is not running":"Script n\xe3o est\xe1 sendo executado","Search in scripts":"Pesquisa em scripts","Search...":"Procurar...","Select all":"Selecionar tudo","September":"setembro","Show javascript code":"Mostrar c\xf3digo Javascript","Show only paused scripts":"Mostrar apenas scripts pausados","Show only running scripts":"Mostrar apenas scripts em execu\xe7\xe3o","Show only scripts with problems":"Mostrar apenas scripts com problemas","Some files will be rejected":"Alguns arquivos ser\xe3o rejeitados","Sunday":"Domingo","TS description":"Criando regras escrevendo Typecript","Thursday":"Quinta-feira","Tuesday":"ter\xe7a","Unknown error":"Erro desconhecido","Unknown error!":"Erro desconhecido!","Wednesday":"quarta","Yet exists!":"Ainda existe!","copy":"copiar","file reading has failed: %s":"a leitura do arquivo falhou: %s","file reading was aborted":"a leitura do arquivo foi abortada","filter_func":"Fun\xe7\xe3o","filter_id":"ID","filter_name":"Nome","filter_role":"Tipo","filter_room":"Quarto","for edit or create script":"para editar ou criar um novo script","no blocks found":"Nenhum bloco encontrado","no group":"SEM GRUPO","not properly connected":"Este bloco n\xe3o est\xe1 conectado corretamente com outros blocos.","tooltip_ack":"reconhecer","tooltip_from":"de","tooltip_lc":"\xdaltima altera\xe7\xe3o","tooltip_quality":"Qualidade","tooltip_ts":"timestamp","tooltip_user":"usu\xe1rio","tooltip_value":"valor","use seconds":"use segundos","Save all":"Salvar tudo","Change theme (actual \\"%s\\")":"Alterar tema (agora - \\"%s\\")","Hide logs":"Ocultar logs","Show logs":"Mostrar logs","Rules description":"Crie regras com blocos IF, THEN, ELSE","help_on_change":"O c\xf3digo ser\xe1 executado apenas se o resultado da condi\xe7\xe3o mudar. Por exemplo. se disparar no valor do sensor de temperatura e a condi\xe7\xe3o for \\"se a temperatura for maior que 20 \xb0 C\\", as a\xe7\xf5es \\"ent\xe3o\\" ser\xe3o executadas uma vez quando a temperatura estiver acima de 20. Na pr\xf3xima vez, as a\xe7\xf5es \\"ent\xe3o\\" ser\xe3o executadas quando a temperatura falha abaixo de 20 e sobe acima de 20 novamente.","help_just_check":"O c\xf3digo ser\xe1 executado apenas sempre que a condi\xe7\xe3o for verdadeira. Por exemplo. se disparar no valor do sensor de temperatura e a condi\xe7\xe3o for \\"se a temperatura for maior que 20 \xb0 C\\", as a\xe7\xf5es \\"ent\xe3o\\" ser\xe3o executadas toda vez que o sensor enviar a temperatura e ela estiver acima de 20 \xb0 C. Por 21 \xb0 C, por 22 \xb0 C e assim por diante.","On condition change":"Na mudan\xe7a de condi\xe7\xe3o","Just check":"Apenas verifique","when":"quando","and":"e","then":"ent\xe3o","or":"ou","else":"outro","Nothing found":"Nada encontrado","reset search":"redefinir pesquisa","Read only ID selected: %s":"ID somente leitura selecionada: %s","OK":"OK","Triggers":"Gatilhos","cron":"CRON","wizard":"Wizard","interval":"intervalo","at":"no","astro":"astro","on condition change":"na mudan\xe7a de condi\xe7\xe3o","just check":"Apenas verifique","Explanation":"Explica\xe7\xe3o","seconds":"segundos","minutes":"minutos","hours":"horas","Every day":"Todos os dias","milliseconds":"milissegundos","Copied":"Copiado","nadir":"nadir","nightEnd":"Fim de noite","nauticalDawn":"Madrugada n\xe1utica","dawn":"alvorecer","sunrise":"nascer do sol","sunriseEnd":"Fim do nascer do sol","goldenHourEnd":"Fim da hora de ouro","solarNoon":"Meio-dia solar","goldenHour":"Hora dourada","sunsetStart":"Come\xe7o do p\xf4r do sol","sunset":"p\xf4r do sol","dusk":"Crep\xfasculo","nauticalDusk":"Crep\xfasculo n\xe1utico","night":"Noite","one":"1","two":"dois","true":"verdade","false":"falso","search":"procurar","Actions":"A\xe7\xf5es","Conditions":"Condi\xe7\xf5es","Schedule":"Cronograma","Start script":"Iniciar script","State":"Estado","State condition":"Condi\xe7\xe3o de estado","Time condition":"Condi\xe7\xe3o de tempo","Set state action":"Definir a\xe7\xe3o de estado","Exec":"Exec shell","HTTP Call":"Chamada HTTP","Log text":"Texto de registro","Pause":"Pausa","on change":"em mudan\xe7a","control":"ao controle","Say It":"Say It","every hour at 0 minutes":"a cada hora em 0 minutos","On script save or adapter start":"Ao salvar o script ou iniciar o adaptador","equal to":"igual a","Actual time of day":"Hora real do dia","with":"com","Shell command":"Comando shell","URL":"URL","Instance:":"Inst\xe2ncia:","Language:":"L\xedngua:","Volume":"Volume","Text:":"Texto:","undefined":"Indefinido","Default":"Predefini\xe7\xe3o","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Voc\xea pode usar %s no texto para exibir o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","Instructions":"Instru\xe7\xf5es","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Voc\xea pode usar %s na URL para usar o valor do gatilho atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do gatilho antigo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Voc\xea pode usar %s no valor para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Voc\xea pode usar %s no comando para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","every":"cada","with offset":"com deslocamento","on update":"em atualiza\xe7\xe3o","update":"atualizar","Triggers the rule periodically or on some specific time":"Aciona a regra periodicamente ou em algum momento espec\xedfico","Triggers the on script saving or the javascript instance restart":"Aciona o salvamento do script ou a reinicializa\xe7\xe3o da inst\xe2ncia javascript","Triggers the rule on update or change of some state":"Aciona a regra na atualiza\xe7\xe3o ou mudan\xe7a de algum estado","Compares the state value with user defined value":"Compara o valor do estado com o valor definido pelo usu\xe1rio","Compares current time with the user specific time":"Compara a hora atual com a hora espec\xedfica do usu\xe1rio","Control or update some state":"Controlar ou atualizar algum estado","Executes some shell command":"Executa algum comando shell","Make a HTTP get request":"Fa\xe7a uma solicita\xe7\xe3o HTTP get","Print some text in log":"Imprimir algum texto no log","Make a pause between actions":"Fa\xe7a uma pausa entre as a\xe7\xf5es","Say some text via sayit adapter":"Diga algum texto atrav\xe9s do adaptador sayit","Telegram":"Telegrama","User:":"Do utilizador:","all":"todos","Sends message via telegram":"Envia mensagem via telegrama","Sends an email":"Envia um email","Send email":"Enviar email","Sends message via pushover":"Envia mensagem via pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Envia mensagem via whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Envia mensagem via Pushsafer","Pushsafer":"Pushsafer","To:":"Para:","Subject:":"Sujeito:","Body:":"Corpo:","Title:":"T\xedtulo:","Sound:":"Som:","Priority:":"Prioridade:","magic":"Magia","quiet":"quieto","normal":"normal","high-priority":"prioridade m\xe1xima","acknowledgment":"reconhecimento","Phone:":"Telefone:","(optional)":"(opcional)","Vibration:":"Vibra\xe7\xe3o:","lowest priority":"prioridade mais baixa","lower priority":"prioridade mais baixa","normal priority":"prioridade normal","high priority":"prioridade m\xe1xima","highest priority":"Prioridade m\xe1xima","default":"predefini\xe7\xe3o","All":"Todos","Write your own code":"Escreva seu pr\xf3prio c\xf3digo","User function":"Fun\xe7\xe3o do usu\xe1rio","This is advances option. You can write your own code here and it will be executed on trigger":"Esta \xe9 a op\xe7\xe3o de avan\xe7os. Voc\xea pode escrever seu pr\xf3prio c\xf3digo aqui e ele ser\xe1 executado no gatilho","greater than":"Maior que","offset":"Deslocamento","Function":"Fun\xe7\xe3o","greater or equal to":"maior ou igual a","less or equal to":"menor ou igual a","less than":"Menor que","not equal to":"n\xe3o \xe9 igual a","[equal]":"[igual]","[greater or equal]":"[maior ou igual]","[greater]":"[maior]","[less or equal]":"[menor ou igual]","[less]":"[menos]","[not equal]":"[n\xe3o igual]","[includes]":"[inclui]","[hysteresis]":"[histerese]","greater or equal":"maior ou igual","less or equal":"menor ou igual","includes":"inclui",".":".","()":"()","Mo":"Mo","Tu":"Tu","We":"3","Th":"4","Fr":"Fr","Sa":"S\xe1","Su":"Su","Control or update some state with delay":"Controlar ou atualizar algum estado com atraso","Delay":"Atraso","ms":"ms","Set with delay":"Definido com atraso","clear running":"corrida limpa","toggle value":"valor de altern\xe2ncia","Any month":"Qualquer m\xeas","Any":"Nenhum","with date":"com data","Date":"Encontro","Month":"M\xeas","Januar":"Januar","Februar":"Februar","March ":"Mar\xe7o","Condition":"Doen\xe7a","Limit":"Limite","The script will be stopped and must be activated manually after debugging. Continue?":"O script ser\xe1 interrompido e deve ser ativado manualmente ap\xf3s a depura\xe7\xe3o. Continuar?","Yes":"sim","Debug instance":"Inst\xe2ncia de depura\xe7\xe3o","Resume execution":"Retomar execu\xe7\xe3o","Go to next line":"V\xe1 para a pr\xf3xima linha","Step into function":"Entre na fun\xe7\xe3o","Step out from function":"Saia da fun\xe7\xe3o","Stop on exception":"Pare na exce\xe7\xe3o","Console":"Console","Stack":"Pilha","Pause execution":"Pausar a execu\xe7\xe3o","Simulate":"Simular","Trigger with value":"Trigger com valor","Value":"Valor","Write":"Escrever","Ack":"Reconhecido","Start":"Come\xe7ar","Filter":"Filtro","Instances":"Inst\xe2ncias","Triggered":"Provocado","Function: executed":"Fun\xe7\xe3o: executado","Operate two states":"Operar dois estados","store in":"armazenar em","ID1":"ID1","ID2":"ID2","Operations with two states":"Opera\xe7\xf5es com dois estados","debug_label":"Depurar","debug_help":"Este \xe9 um modo especial no qual estados e objetos n\xe3o ser\xe3o alterados. Mas apenas as informa\xe7\xf5es sobre cada mudan\xe7a planejada ser\xe3o exibidas no protocolo.","verbose_label":"Sa\xeddas de log detalhadas","verbose_help":"Adiciona sa\xedda de depura\xe7\xe3o ao log para muitos comandos do sistema","easy":"f\xe1cil","for programmers":"para programadores","for professionals":"para profissionais","Duplicate name":"Nome duplicado","Empty name is not allowed":"Nome vazio n\xe3o \xe9 permitido","Time":"Tempo","Server time":"Tempo de servidor","Local time":"Hora local","Description":"Descri\xe7\xe3o","nextSunrise":"pr\xf3ximo nascer do sol","nextSunset":"Pr\xf3ximo p\xf4r do sol","Astronomical events today":"Eventos astron\xf4micos hoje","Compares current time with astronomical event":"Compara o tempo atual com o evento astron\xf4mico","Show astronomical events":"Mostrar eventos astron\xf4micos","Astronomical":"Astron\xf4mico","Enter your question":"Digite sua solicita\xe7\xe3o","Press Ctrl+Enter to get the answer":"Pressione Ctrl+Enter para obter a resposta","Ask":"Perguntar","Result":"Resultado","Use generated code":"Usar c\xf3digo gerado","No Chat GPT Key found":"Nenhuma chave GPT de bate-papo encontrada","You have to enter OpenAI API key in the configuration of javascript adapter.":"Voc\xea deve inserir a chave da API OpenAI na configura\xe7\xe3o do adaptador javascript.","Open configuration":"Configura\xe7\xe3o aberta"}')},50482:e=>{e.exports=JSON.parse('{"-":"-","Add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c","Add new script":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","All files will be accepted":"\u0412\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043d\u044f\u0442\u044b","April":"\u0410\u043f\u0440\u0435\u043b\u044c","Are you sure?":"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b?","August":"\u0410\u0432\u0433\u0443\u0441\u0442","Blockly description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438","Cancel":"\u041e\u0442\u043c\u0435\u043d\u0430","Cannot delete non empty item!":"\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043d\u0435\u043f\u0443\u0441\u0442\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442!","Change layout":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u043a\u0435\u0442","Check blocks":"\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Check is not active, because javascript adapter is disabled":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440 Javascript \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d","Clear search input":"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0432\u0432\u043e\u0434","Click on this icon":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0437\u043d\u0430\u0447\u043e\u043a","Close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","Close all but current":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435 \u043a\u0440\u043e\u043c\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e","Collapse all":"\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435","Configuration not saved.":"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430.","Convert blockly to javascript for ever.":"\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c blockly \u0432 Javascript \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430.","Copy script":"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Copy to clipboard":"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430","Download as file":"\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u043a\u0430\u043a \u0444\u0430\u0439\u043b","Create new":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439","Create new folder":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443","Create new script":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","Create or edit CRON or time wizard":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 CRON \u0438\u043b\u0438 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438","Dark Theme":"\u0422\u0451\u043c\u043d\u0430\u044f \u0442\u0435\u043c\u0430","Dark style":"\u0422\u0435\u043c\u043d\u044b\u0439 \u0441\u0442\u0438\u043b\u044c","Debug options":"\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043e\u0442\u043b\u0430\u0434\u043a\u0438","December":"\u0414\u0435\u043a\u0430\u0431\u0440\u044c","Define cron...":"\u0417\u0430\u0434\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u043e ...","Define schedule...":"\u0417\u0430\u0434\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435...","Delete":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c","Delete %s":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c %s...","Delete folder":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0430\u043f\u043a\u0443","Delete script":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Deselect all":"\u0421\u043d\u044f\u0442\u044c \u0432\u044b\u0431\u043e\u0440 \u0441\u043e \u0432\u0441\u0435\u0445","Discard changes for %s":"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f %s","Done":"\u0413\u043e\u0442\u043e\u0432\u043e","Drop some files here or click...":"\u041f\u0435\u0440\u0435\u0442\u044b\u0449\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u0444\u0430\u0439\u043b\u044b \u0438\u043b\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 ...","Edit script or just double click":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0432\u0430\u0436\u0434\u044b \u0449\u0435\u043b\u043a\u043d\u0443\u0442\u044c","End search mode":"\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a","Error":"\u041e\u0448\u0438\u0431\u043a\u0430","Error was found":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0431\u044b\u043b\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430","Existing scripts will be overwritten.":"\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b.","Expand all":"\u0420\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0432\u0441\u0435","Expert mode":"\u042d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c","Export":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442","Export all scripts":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432\u0441\u0435\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432","Export blocks":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Export selected blocks":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438","February":"\u0424\u0435\u0432\u0440\u0430\u043b\u044c","Folder":"\u041f\u0430\u043f\u043a\u0430","Friday":"\u043f\u044f\u0442\u043d\u0438\u0446\u0430","Function editor":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438","ID":"ID","Import":"\u0418\u043c\u043f\u043e\u0440\u0442","Import blocks":"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Import error":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0430","Import scripts":"\u0418\u043c\u043f\u043e\u0440\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432","Insert object ID":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430","Instance":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440","Instance is disabled":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d","Invalid CRON":"\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 CRON","It will not be possible to revert this operation.":"\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u044d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e.","JS description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u0443\u0442\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f Javascript","January":"\u042f\u043d\u0432\u0430\u0440\u044c","July":"\u0418\u044e\u043b\u044c","June":"\u0418\u044e\u043d\u044c","Learn More":"\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435","Light style":"\u0421\u0432\u0435\u0442\u043b\u044b\u0439 \u0441\u0442\u0438\u043b\u044c","Locate file":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0432 \u0434\u0435\u0440\u0435\u0432\u0435","Log outputs":"\u0416\u0443\u0440\u043d\u0430\u043b","March":"\u041c\u0430\u0440\u0442","May":"\u041c\u0430\u0439","Menu":"\u041c\u0435\u043d\u044e","Message":"\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435","Monday":"\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","Name":"\u0418\u043c\u044f","No active host found":"\u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0439 host \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d","November":"\u041d\u043e\u044f\u0431\u0440\u044c","October":"\u041e\u043a\u0442\u044f\u0431\u0440\u044c","Ok":"Ok","On weekdays":"\u041f\u043e \u0434\u043d\u044f\u043c \u043d\u0435\u0434\u0435\u043b\u0438","Pause script":"\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Please select object ID...":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430 ...","Rename":"\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c","Reorder scripts in folders":"\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432 \u043f\u0430\u043f\u043a\u0430\u0445","Repeat":"\u041f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435","Restart":"\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c","Root folder":"\u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u043f\u0430\u043f\u043a\u0430","Run script":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Saturday":"\u0441\u0443\u0431\u0431\u043e\u0442\u0430","Save":"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c","Script":"\u0441\u043a\u0440\u0438\u043f\u0442","Script %s was modified on disk":"\u0421\u043a\u0440\u0438\u043f\u0442 \\"%s\\" \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u043d\u0430 \u0434\u0438\u0441\u043a\u0435","Script is not running":"\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d","Search in scripts":"\u041f\u043e\u0438\u0441\u043a \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445","Search...":"\u041f\u043e\u0438\u0441\u043a...","Select all":"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435","September":"\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c","Show javascript code":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u0434 Javascript","Show only paused scripts":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438","Show only running scripts":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b","Show only scripts with problems":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438","Some files will be rejected":"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u044b","Sunday":"\u0412\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435","TS description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u0443\u0442\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f Typescript","Thursday":"\u0427\u0435\u0442\u0432\u0435\u0440\u0433","Tuesday":"\u0432\u0442\u043e\u0440\u043d\u0438\u043a","Unknown error":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430","Unknown error!":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430!","Wednesday":"\u0441\u0440\u0435\u0434\u0430","Yet exists!":"\u0418\u043c\u044f \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442!","copy":"\u043a\u043e\u043f\u0438\u044f","file reading has failed: %s":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430: %s","file reading was aborted":"\u0427\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e","filter_func":"\u0424\u0443\u043d\u043a\u0446\u0438\u044f","filter_id":"ID","filter_name":"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435","filter_role":"\u0420\u043e\u043b\u044c","filter_room":"\u041a\u043e\u043c\u043d\u0430\u0442\u0430","for edit or create script":"\u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","no blocks found":"\u0411\u043b\u043e\u043a\u043e\u0432 \u043d\u0435\u0442","no group":"\u041d\u0435\u0442 \u0433\u0440\u0443\u043f\u043f\u044b","not properly connected":"\u042d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0451\u043d \u0438\u043b\u0438 \u043d\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0451\u043d \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438.","tooltip_ack":"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e","tooltip_from":"\u041e\u0442","tooltip_lc":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435","tooltip_quality":"\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439","tooltip_ts":"\u0412\u0440\u0435\u043c\u044f","tooltip_user":"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c","tooltip_value":"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435","use seconds":"\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u043a\u0443\u043d\u0434\u044b","Save all":"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435","Change theme (actual \\"%s\\")":"\u0421\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0435\u043c\u0443 (\u0441\u0435\u0439\u0447\u0430\u0441 - \\"%s\\")","Hide logs":"\u0421\u043a\u0440\u044b\u0442\u044c \u0436\u0443\u0440\u043d\u0430\u043b\u044b","Show logs":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0436\u0443\u0440\u043d\u0430\u043b\u044b","Rules description":"\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0441 \u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u0415\u0421\u041b\u0418, \u0422\u041e, \u0418\u041d\u0410\u0427\u0415","help_on_change":"\u041a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044e \xab\u0435\u0441\u043b\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 20\xb0C\xbb, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \xab\u0437\u0430\u0442\u0435\u043c\xbb \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u0442 20\xb0C. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \xab\u0437\u0430\u0442\u0435\u043c\xbb \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f \u043d\u0438\u0436\u0435 20\xb0C, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0448\u0435 20\xb0C.","help_just_check":"\u041a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0438\u0441\u0442\u0438\u043d\u043d\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440. \u043f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044e \xab\u0435\u0441\u043b\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0432\u044b\u0448\u0435 20\xb0C\xbb, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \xab\u0437\u0430\u0442\u0435\u043c\xbb \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0434\u0430\u0442\u0447\u0438\u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u0438 \u043e\u043d\u043e \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 20\xb0C. \u041d\u0430 21\xb0\u0421, \u043d\u0430 22\xb0\u0421 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.","On condition change":"\u041f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0440\u0435\u0443\u0437\u043b\u044c\u0442\u0430\u0442\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0439","Just check":"\u041f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c","when":"\u0435\u0441\u043b\u0438","and":"\u0438","then":"\u0442\u043e\u0433\u0434\u0430","or":"\u0438\u043b\u0438","else":"\u0438\u043d\u0430\u0447\u0435","Nothing found":"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e","reset search":"C\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a","Read only ID selected: %s":"\u0412\u044b\u0431\u0440\u0430\u043d \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f: %s","OK":"\u041e\u043a","Triggers":"\u0422\u0440\u0438\u0433\u0433\u0435\u0440\u044b","cron":"CRON","wizard":"\u041c\u0430\u0441\u0442\u0435\u0440","interval":"\u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b","at":"\u0432","astro":"\u0410\u0441\u0442\u0440\u043e","on condition change":"\u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u044f","just check":"\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c","Explanation":"\u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435","seconds":"\u0441\u0435\u043a\u0443\u043d\u0434","minutes":"\u043c\u0438\u043d\u0443\u0442(\u0443)","hours":"\u0447\u0430\u0441(\u043e\u0432)","Every day":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","milliseconds":"\u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u044b","Copied":"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043e","nadir":"\u041d\u0430\u0434\u0438\u0440","nightEnd":"\u041a\u043e\u043d\u0435\u0446 \u043d\u043e\u0447\u0438","nauticalDawn":"\u041c\u043e\u0440\u0441\u043a\u043e\u0439 \u0440\u0430\u0441\u0441\u0432\u0435\u0442","dawn":"\u0420\u0430\u0441\u0441\u0432\u0435\u0442","sunrise":"\u0412\u043e\u0441\u0445\u043e\u0434 \u0441\u043e\u043b\u043d\u0446\u0430","sunriseEnd":"\u041a\u043e\u043d\u0435\u0446 \u0432\u043e\u0441\u0445\u043e\u0434\u0430","goldenHourEnd":"\u041a\u043e\u043d\u0435\u0446 \u0437\u043e\u043b\u043e\u0442\u043e\u0433\u043e \u0447\u0430\u0441\u0430","solarNoon":"\u0421\u043e\u043b\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u0434\u0435\u043d\u044c","goldenHour":"\u0417\u043e\u043b\u043e\u0442\u043e\u0439 \u0447\u0430\u0441","sunsetStart":"\u041d\u0430\u0447\u0430\u043b\u043e \u0437\u0430\u043a\u0430\u0442\u0430","sunset":"\u0417\u0430\u043a\u0430\u0442 \u0441\u043e\u043b\u043d\u0446\u0430","dusk":"\u0421\u0443\u043c\u0435\u0440\u043a\u0438","nauticalDusk":"\u041c\u043e\u0440\u0441\u043a\u0438\u0435 \u0441\u0443\u043c\u0435\u0440\u043a\u0438","night":"\u041d\u043e\u0447\u044c","one":"\u043e\u0434\u0438\u043d","two":"\u0434\u0432\u0430","true":"true","false":"false","search":"\u043f\u043e\u0438\u0441\u043a","Actions":"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f","Conditions":"\u0423\u0441\u043b\u043e\u0432\u0438\u044f","Schedule":"\u0420\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435","Start script":"\u0421\u0442\u0430\u0440\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u0430","State":"\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435","State condition":"\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f","Time condition":"\u0423\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438","Set state action":"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435","Exec":"\u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c shell","HTTP Call":"HTTP-\u0432\u044b\u0437\u043e\u0432","Log text":"\u0422\u0435\u043a\u0441\u0442 \u0436\u0443\u0440\u043d\u0430\u043b\u0430","Pause":"\u041f\u0430\u0443\u0437\u0430","on change":"\u043f\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e","control":"\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c","Say It":"Say It","every hour at 0 minutes":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0430\u0441 \u0447\u0435\u0440\u0435\u0437 0 \u043c\u0438\u043d\u0443\u0442","On script save or adapter start":"\u041f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430","equal to":"\u0440\u0430\u0432\u043d\u043e","Actual time of day":"\u0424\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u0443\u0442\u043e\u043a","with":"\u0441","Shell command":"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438","URL":"URL","Instance:":"\u041f\u0440\u0438\u043c\u0435\u0440:","Language:":"\u042f\u0437\u044b\u043a:","Volume":"\u0413\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u044c","Text:":"\u0422\u0435\u043a\u0441\u0442:","undefined":"\u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439","Default":"\u0414\u0435\u0444\u043e\u043b\u0442","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c %s \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430, %id \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, %name \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u0438 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0435\u0433\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438\u043b\u0438 %old \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.","Instructions":"\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c %s \u0432 URL-\u0430\u0434\u0440\u0435\u0441\u0435, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430, %id, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, %name, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0438\u043b\u0438 %old, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c %s \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430, %id, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, %name, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0438\u043b\u0438 %old, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c %s \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430, %id, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, %name, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0435\u0433\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0438\u043b\u0438 %old, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.","every":"\u043a\u0430\u0436\u0434\u044b\u0435(\u044b\u0439)","with offset":"\u0441\u043e \u0441\u0434\u0432\u0438\u0433\u043e\u043c","on update":"\u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438","update":"\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c","Triggers the rule periodically or on some specific time":"\u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u043b\u0438 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","Triggers the on script saving or the javascript instance restart":"\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 javascript","Triggers the rule on update or change of some state":"\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f","Compares the state value with user defined value":"\u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c","Compares current time with the user specific time":"\u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0441 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f","Control or update some state":"\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435","Executes some shell command":"\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438","Make a HTTP get request":"\u0421\u0434\u0435\u043b\u0430\u0439\u0442\u0435 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435","Print some text in log":"\u041d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435","Make a pause between actions":"\u0421\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043f\u0430\u0443\u0437\u0443 \u043c\u0435\u0436\u0434\u0443 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438","Say some text via sayit adapter":"\u041f\u0440\u043e\u0438\u0437\u043d\u0435\u0441\u0438\u0442\u0435 \u0442\u0435\u043a\u0441\u0442 \u0447\u0435\u0440\u0435\u0437 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 Sayit","Telegram":"Telegram","User:":"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c:","all":"\u0432\u0441\u0435","Sends message via telegram":"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c\u0435","Sends an email":"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e","Send email":"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c email","Sends message via pushover":"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u043f\u0443\u0441\u0442\u044b\u0448\u043a\u0443","Pushover":"Pushover","Sends message via whatsapp-cmb":"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 Pushsafer","Pushsafer":"Pushsafer","To:":"\u041a:","Subject:":"\u041f\u0440\u0435\u0434\u043c\u0435\u0442:","Body:":"\u0422\u0435\u043b\u043e:","Title:":"\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a:","Sound:":"\u0417\u0432\u0443\u043a:","Priority:":"\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442:","magic":"\u043c\u0430\u0433\u0438\u044f","quiet":"\u0442\u0438\u0445\u0438\u0439","normal":"\u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439","high-priority":"\u0432\u044b\u0441\u043e\u043a\u0438\u0439-\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","acknowledgment":"\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435","Phone:":"\u0422\u0435\u043b\u0435\u0444\u043e\u043d:","(optional)":"(\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439)","Vibration:":"\u0412\u0438\u0431\u0440\u0430\u0446\u0438\u044f:","lowest priority":"\u0441\u0430\u043c\u044b\u0439 \u043d\u0438\u0437\u043a\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","lower priority":"\u0431\u043e\u043b\u0435\u0435 \u043d\u0438\u0437\u043a\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","normal priority":"\u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","high priority":"\u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","highest priority":"\u0432\u044b\u0441\u0448\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","default":"\u0434\u0435\u0444\u043e\u043b\u0442","All":"\u0412\u0441\u0435","Write your own code":"\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0441\u0432\u043e\u0439 \u043a\u043e\u0434","User function":"\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f","This is advances option. You can write your own code here and it will be executed on trigger":"\u042d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0434\u0435\u0441\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u0434 \u0438 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043f\u043e \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0443","greater than":"\u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c","offset":"\u0441\u0434\u0432\u0438\u0433","Function":"\u0424\u0443\u043d\u043a\u0446\u0438\u044f","greater or equal to":"\u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e","less or equal to":"\u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e","less than":"\u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c","not equal to":"\u043d\u0435 \u0440\u0430\u0432\u043d\u043e","[equal]":"[\u0440\u0430\u0432\u043d\u043e]","[greater or equal]":"[\u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e]","[greater]":"[\u0431\u043e\u043b\u044c\u0448\u0435]","[less or equal]":"[\u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e]","[less]":"[\u043c\u0435\u043d\u044c\u0448\u0435]","[not equal]":"[\u043d\u0435 \u0440\u0430\u0432\u043d\u043e]","[includes]":"[\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442]","[hysteresis]":"[\u0433\u0438\u0441\u0442\u0435\u0440\u0435\u0437\u0438\u0441]","greater or equal":"\u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e","less or equal":"\u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e","includes":"\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442",".":".","()":"()","Mo":"\u041f\u043d","Tu":"\u0412\u0442","We":"\u0421\u0440","Th":"\u0427\u0442","Fr":"\u041f\u0442","Sa":"\u0421\u0431","Su":"\u0412\u0441","Control or update some state with delay":"\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u043a\u043e\u0435-\u043b\u0438\u0431\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439","Delay":"\u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430","ms":"\u043c\u0441","Set with delay":"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439","clear running":"\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0443\u0436\u0435 \u0431\u0435\u0433\u0443\u0449\u0438\u0435","toggle value":"\u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435","Any month":"\u0412 \u043b\u044e\u0431\u043e\u0439 \u043c\u0435\u0441\u044f\u0446","Any":"\u041b\u044e\u0431\u0430\u044f","with date":"\u0441 \u0434\u0430\u0442\u043e\u0439","Date":"\u0414\u0430\u0442\u0430","Month":"\u041c\u0435\u0441\u044f\u0446","Januar":"\u042f\u043d\u0432\u0430\u0440\u044c","Februar":"\u0424\u0435\u0432\u0440\u0430\u043b\u044c","March ":"\u041c\u0430\u0440\u0442 ","Condition":"\u0423\u0441\u043b\u043e\u0432\u0438\u0435","Limit":"\u041f\u0440\u0435\u0434\u0435\u043b","The script will be stopped and must be activated manually after debugging. Continue?":"C\u043a\u0440\u0438\u043f\u0442 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c?","Yes":"\u0414\u0430","Debug instance":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0442\u043b\u0430\u0434\u043a\u0438","Resume execution":"\u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435","Go to next line":"\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435","Step into function":"\u0428\u0430\u0433 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","Step out from function":"\u0412\u044b\u0439\u0442\u0438 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438","Stop on exception":"\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438","Console":"\u041f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430","Stack":"Stack","Pause execution":"\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435","Simulate":"\u0421\u0438\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c","Trigger with value":"\u0422\u0440\u0438\u0433\u0433\u0435\u0440 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c","Value":"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435","Write":"\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435","Ack":"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435","Start":"\u041d\u0430\u0447\u0438\u043d\u0430\u0442\u044c","Filter":"\u0424\u0438\u043b\u044c\u0442\u0440","Instances":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b","Triggered":"\u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442","Function: executed":"\u0424\u0443\u043d\u043a\u0446\u0438\u044f: \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e","Operate two states":"\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430\u0434 \u0434\u0432\u0443\u043c\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438","store in":"\u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432","ID1":"ID1","ID2":"ID2","Operations with two states":"\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0434\u0432\u0443\u043c\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438","debug_label":"\u041e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c","debug_help":"\u042d\u0442\u043e \u043e\u0441\u043e\u0431\u044b\u0439 \u0440\u0435\u0436\u0438\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f. \u041d\u043e \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438.","verbose_label":"\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b","verbose_help":"\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u044b\u0432\u043e\u0434 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434.","easy":"\u043b\u0435\u0433\u043a\u0438\u0439","for programmers":"\u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432","for professionals":"\u0434\u043b\u044f \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u043e\u0432","Duplicate name":"\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0435\u0435\u0441\u044f \u0438\u043c\u044f","Empty name is not allowed":"\u041f\u0443\u0441\u0442\u043e\u0435 \u0438\u043c\u044f \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f","Time":"\u0412\u0440\u0435\u043c\u044f","Server time":"\u0412\u0440\u0435\u043c\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430","Local time":"\u041c\u0435\u0441\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","Description":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435","nextSunrise":"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u043e\u0441\u0445\u043e\u0434","nextSunset":"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430\u043a\u0430\u0442","Astronomical events today":"\u0410\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0441\u0435\u0433\u043e\u0434\u043d\u044f","Compares current time with astronomical event":"\u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0441 \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c","Show astronomical events":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f","Astronomical":"A\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439","Enter your question":"\u0412\u0432\u0435\u0434\u0438 \u0441\u0432\u043e\u044e \u043f\u0440\u043e\u0441\u044c\u0431\u0443","Press Ctrl+Enter to get the answer":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 Ctrl+Enter, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442","Ask":"\u0421\u043f\u0440\u043e\u0441\u0438\u0442\u044c","Result":"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442","Use generated code":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434","No Chat GPT Key found":"\u041a\u043b\u044e\u0447 GPT \u0434\u043b\u044f \u0447\u0430\u0442\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d","You have to enter OpenAI API key in the configuration of javascript adapter.":"\u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043b\u044e\u0447 OpenAI API \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 javascript.","Open configuration":"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438"}')},17138:e=>{e.exports=JSON.parse('{"debug_label":"\u0412\u0456\u0434\u043b\u0430\u0433\u043e\u0434\u0436\u0443\u0432\u0430\u0442\u0438","debug_help":"\u0426\u0435 \u043e\u0441\u043e\u0431\u043b\u0438\u0432\u0438\u0439 \u0440\u0435\u0436\u0438\u043c, \u0432 \u044f\u043a\u043e\u043c\u0443 \u0441\u0442\u0430\u043d\u0443 \u0442\u0430 \u043e\u0431\'\u0454\u043a\u0442\u0438 \u043d\u0435 \u0437\u043c\u0456\u043d\u044e\u0432\u0430\u0442\u0438\u043c\u0443\u0442\u044c\u0441\u044f. \u0410\u043b\u0435 \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0456 \u0432\u0456\u0434\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u0438\u043c\u0435\u0442\u044c\u0441\u044f \u043b\u0438\u0448\u0435 \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u044f \u043f\u0440\u043e \u043a\u043e\u0436\u043d\u0443 \u0437\u0430\u043f\u043b\u0430\u043d\u043e\u0432\u0430\u043d\u0443 \u0437\u043c\u0456\u043d\u0443.","verbose_label":"\u0414\u043e\u043a\u043b\u0430\u0434\u043d\u0456 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0443","verbose_help":"\u0414\u043e\u0434\u0430\u0454 \u0432\u0438\u0445\u0456\u0434\u043d\u0456 \u0434\u0430\u043d\u0456 \u043d\u0430\u043b\u0430\u0433\u043e\u0434\u0436\u0435\u043d\u043d\u044f \u0434\u043e \u0436\u0443\u0440\u043d\u0430\u043b\u0443 \u0434\u043b\u044f \u0431\u0430\u0433\u0430\u0442\u044c\u043e\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434","()":"()","(optional)":"(\u043d\u0435\u043e\u0431\u043e\u0432\'\u044f\u0437\u043a\u043e\u0432\u043e)","-":"-",".":".","Ack":"\u0412\u0438\u0437\u043d\u0430\u043d\u043e","Actions":"\u0414\u0456\u0457","Actual time of day":"\u0424\u0430\u043a\u0442\u0438\u0447\u043d\u0438\u0439 \u0447\u0430\u0441 \u0434\u043e\u0431\u0438","Add":"\u0434\u043e\u0434\u0430\u0442\u0438","Add new script":"\u0414\u043e\u0434\u0430\u0442\u0438 \u043d\u043e\u0432\u0438\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","All":"\u0432\u0441\u0435","All files will be accepted":"\u0423\u0441\u0456 \u0444\u0430\u0439\u043b\u0438 \u0431\u0443\u0434\u0443\u0442\u044c \u043f\u0440\u0438\u0439\u043d\u044f\u0442\u0456","Any":"\u0411\u0443\u0434\u044c-\u044f\u043a\u0438\u0439","Any month":"\u0411\u0443\u0434\u044c-\u044f\u043a\u0438\u0439 \u043c\u0456\u0441\u044f\u0446\u044c","April":"\u043a\u0432\u0456\u0442\u0435\u043d\u044c","Are you sure?":"\u0422\u0438 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0438\u0439?","August":"\u0441\u0435\u0440\u043f\u0435\u043d\u044c","Blockly description":"\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u0437\u0430 \u0433\u0440\u0430\u0444\u0456\u0447\u043d\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438","Body:":"\u0422\u0456\u043b\u043e:","Cancel":"\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438","Cannot delete non empty item!":"\u041d\u0435\u043c\u043e\u0436\u043b\u0438\u0432\u043e \u0432\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u043d\u0435\u043f\u043e\u0440\u043e\u0436\u043d\u0456\u0439 \u0435\u043b\u0435\u043c\u0435\u043d\u0442!","Change layout":"\u0417\u043c\u0456\u043d\u0438\u0442\u0438 \u043c\u0430\u043a\u0435\u0442","Change theme (actual \\"%s\\")":"\u0417\u043c\u0456\u043d\u0438\u0442\u0438 \u0442\u0435\u043c\u0443 (\u0442\u0435\u043f\u0435\u0440 - \\"%s\\")","Check blocks":"\u041f\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0435 \u0431\u043b\u043e\u043a\u0438","Check is not active, because javascript adapter is disabled":"\u041f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u043d\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u0430, \u043e\u0441\u043a\u0456\u043b\u044c\u043a\u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 Javascript \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e","Clear search input":"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043f\u043e\u0448\u0443\u043a\u043e\u0432\u0438\u0439 \u0437\u0430\u043f\u0438\u0442","Click on this icon":"\u041d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c \u043d\u0430 \u0446\u0435\u0439 \u0437\u043d\u0430\u0447\u043e\u043a","Close":"\u0417\u0430\u043a\u0440\u0438\u0442\u0438","Close all but current":"\u0417\u0430\u043a\u0440\u0438\u0442\u0438 \u0432\u0441\u0456, \u043a\u0440\u0456\u043c \u043f\u043e\u0442\u043e\u0447\u043d\u0438\u0445","Collapse all":"\u0417\u0430\u043a\u0440\u0438\u0442\u0438 \u0432\u0441\u0456","Compares current time with the user specific time":"\u041f\u043e\u0440\u0456\u0432\u043d\u044e\u0454 \u043f\u043e\u0442\u043e\u0447\u043d\u0438\u0439 \u0447\u0430\u0441 \u0456\u0437 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438\u043c \u0447\u0430\u0441\u043e\u043c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430","Compares the state value with user defined value":"\u041f\u043e\u0440\u0456\u0432\u043d\u044e\u0454 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0441\u0442\u0430\u043d\u0443 \u0437 \u0432\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u043c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c","Condition":"\u0425\u0432\u043e\u0440\u043e\u0431\u0430","Conditions":"\u0423\u043c\u043e\u0432\u0438","Configuration not saved.":"\u041a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044f \u043d\u0435 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u0430.","Console":"\u041a\u043e\u043d\u0441\u043e\u043b\u044c","Control or update some state":"\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044e\u0439\u0442\u0435 \u0430\u0431\u043e \u043e\u043d\u043e\u0432\u043b\u044e\u0439\u0442\u0435 \u043f\u0435\u0432\u043d\u0438\u0439 \u0441\u0442\u0430\u043d","Control or update some state with delay":"\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044e\u0439\u0442\u0435 \u0430\u0431\u043e \u043e\u043d\u043e\u0432\u043b\u044e\u0439\u0442\u0435 \u0434\u0435\u044f\u043a\u0438\u0439 \u0441\u0442\u0430\u043d \u0456\u0437 \u0437\u0430\u0442\u0440\u0438\u043c\u043a\u043e\u044e","Convert blockly to javascript for ever.":"\u041d\u0430\u0437\u0430\u0432\u0436\u0434\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0443\u0439\u0442\u0435 Blockly \u0443 Javascript.","Copied":"\u0421\u043a\u043e\u043f\u0456\u0439\u043e\u0432\u0430\u043d\u043e","Copy script":"\u041a\u043e\u043f\u0456\u044e\u0432\u0430\u0442\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Copy to clipboard":"\u041a\u043e\u043f\u0456\u044e\u0432\u0430\u0442\u0438 \u0432 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0456\u043d\u0443","Download as file":"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043b","Create new":"\u0421\u0442\u0432\u043e\u0440\u0438\u0442\u0438 \u043d\u043e\u0432\u0438\u0439","Create new folder":"\u0421\u0442\u0432\u043e\u0440\u0438\u0442\u0438 \u043d\u043e\u0432\u0443 \u043f\u0430\u043f\u043a\u0443","Create new script":"\u0421\u0442\u0432\u043e\u0440\u0456\u0442\u044c \u043d\u043e\u0432\u0438\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Create or edit CRON or time wizard":"\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0430\u0431\u043e \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043d\u043d\u044f CRON \u0430\u0431\u043e \u043c\u0430\u0439\u0441\u0442\u0440\u0430 \u0447\u0430\u0441\u0443","Dark Theme":"\u0422\u0435\u043c\u043d\u0430 \u0442\u0435\u043c\u0430","Dark style":"\u0422\u0435\u043c\u043d\u0438\u0439 \u0441\u0442\u0438\u043b\u044c","Date":"\u0414\u0430\u0442\u0430","Debug instance":"\u0415\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u043b\u0430\u0433\u043e\u0434\u0436\u0435\u043d\u043d\u044f","Debug options":"\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u043d\u0430\u043b\u0430\u0433\u043e\u0434\u0436\u0435\u043d\u043d\u044f","December":"\u0413\u0440\u0443\u0434\u0435\u043d\u044c","Default":"\u0417\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","Define cron...":"\u0412\u0438\u0437\u043d\u0430\u0447\u0438\u0442\u0438 cron...","Define schedule...":"\u0412\u0438\u0437\u043d\u0430\u0447\u0438\u0442\u0438 \u0440\u043e\u0437\u043a\u043b\u0430\u0434...","Delay":"\u0417\u0430\u0442\u0440\u0438\u043c\u043a\u0430","Delete":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438","Delete %s":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 %s...","Delete folder":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u043f\u0430\u043f\u043a\u0443","Delete script":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Deselect all":"\u0417\u043d\u044f\u0442\u0438 \u0432\u0438\u0431\u0456\u0440 \u0456\u0437 \u0443\u0441\u0456\u0445","Discard changes for %s":"\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0437\u043c\u0456\u043d\u0438 \u0434\u043b\u044f %s","Done":"\u0413\u043e\u0442\u043e\u0432\u043e","Drop some files here or click...":"\u041f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u043a\u0456\u043b\u044c\u043a\u0430 \u0444\u0430\u0439\u043b\u0456\u0432 \u0441\u044e\u0434\u0438 \u0430\u0431\u043e \u043d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c...","Edit script or just double click":"\u0412\u0456\u0434\u0440\u0435\u0434\u0430\u0433\u0443\u0439\u0442\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439 \u0430\u0431\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0432\u0456\u0447\u0456 \u043a\u043b\u0430\u0446\u043d\u0456\u0442\u044c","End search mode":"\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0438 \u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0448\u0443\u043a\u0443","Error":"\u041f\u043e\u043c\u0438\u043b\u043a\u0430","Error was found":"\u0412\u0438\u044f\u0432\u043b\u0435\u043d\u043e \u043f\u043e\u043c\u0438\u043b\u043a\u0443","Every day":"\u041a\u043e\u0436\u0435\u043d \u0434\u0435\u043d\u044c","Exec":"\u0412\u0438\u043a\u043e\u043d\u0430\u0432\u0447\u0430 \u043e\u0431\u043e\u043b\u043e\u043d\u043a\u0430","Executes some shell command":"\u0412\u0438\u043a\u043e\u043d\u0443\u0454 \u043f\u0435\u0432\u043d\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043e\u0431\u043e\u043b\u043e\u043d\u043a\u0438","Existing scripts will be overwritten.":"\u0406\u0441\u043d\u0443\u044e\u0447\u0456 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457 \u0431\u0443\u0434\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e.","Expand all":"\u0420\u043e\u0437\u0433\u043e\u0440\u043d\u0443\u0442\u0438 \u0432\u0441\u0435","Expert mode":"\u0415\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c","Explanation":"\u041f\u043e\u044f\u0441\u043d\u0435\u043d\u043d\u044f","Export":"\u0415\u043a\u0441\u043f\u043e\u0440\u0442","Export all scripts":"\u0415\u043a\u0441\u043f\u043e\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457","Export blocks":"\u0415\u043a\u0441\u043f\u043e\u0440\u0442 \u0431\u043b\u043e\u043a\u0456\u0432","Export selected blocks":"\u0415\u043a\u0441\u043f\u043e\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0431\u0440\u0430\u043d\u0456 \u0431\u043b\u043e\u043a\u0438","Februar":"\u041b\u044e\u0442\u0438\u0439","February":"\u041b\u044e\u0442\u0438\u0439","Filter":"\u0444\u0456\u043b\u044c\u0442\u0440","Folder":"\u041f\u0430\u043f\u043a\u0430","Fr":"\u041e","Friday":"\u041f\'\u044f\u0442\u043d\u0438\u0446\u044f","Function":"\u0444\u0443\u043d\u043a\u0446\u0456\u044f","Function editor":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0444\u0443\u043d\u043a\u0446\u0456\u0439","Function: executed":"\u0424\u0443\u043d\u043a\u0446\u0456\u044f: \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043e","Go to next line":"\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043e \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e \u0440\u044f\u0434\u043a\u0430","HTTP Call":"\u0412\u0438\u043a\u043b\u0438\u043a HTTP","Hide logs":"\u041f\u0440\u0438\u0445\u043e\u0432\u0430\u0442\u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0438","ID":"ID","ID1":"ID1","ID2":"ID2","Import":"\u0406\u043c\u043f\u043e\u0440\u0442","Import blocks":"\u0406\u043c\u043f\u043e\u0440\u0442 \u0431\u043b\u043e\u043a\u0456\u0432","Import error":"\u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u0456\u043c\u043f\u043e\u0440\u0442\u0443","Import scripts":"\u0406\u043c\u043f\u043e\u0440\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u0456\u0432","Insert object ID":"\u0412\u0441\u0442\u0430\u0432\u0442\u0435 ID \u043e\u0431\'\u0454\u043a\u0442\u0430","Instance":"\u0415\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440","Instance is disabled":"\u041f\u0440\u0438\u043c\u0456\u0440\u043d\u0438\u043a \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e","Instance:":"\u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440:","Instances":"\u041f\u0440\u0438\u043c\u0456\u0440\u043d\u0438\u043a\u0438","Instructions":"\u0406\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0456\u0457","Invalid CRON":"\u041d\u0435\u0434\u0456\u0439\u0441\u043d\u0438\u0439 CRON","It will not be possible to revert this operation.":"\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0446\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0456\u044e \u0431\u0443\u0434\u0435 \u043d\u0435\u043c\u043e\u0436\u043b\u0438\u0432\u043e.","JS description":"\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u0448\u043b\u044f\u0445\u043e\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044f Javascript","Januar":"\u0441\u0456\u0447\u0435\u043d\u044c","January":"\u0441\u0456\u0447\u043d\u044f","July":"\u043b\u0438\u043f\u0435\u043d\u044c","June":"\u0447\u0435\u0440\u0432\u0435\u043d\u044c","Just check":"\u041f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0435","Language:":"\u041c\u043e\u0432\u0443:","Learn More":"\u0412\u0438\u0432\u0447\u0430\u0439\u0442\u0435 \u0431\u0456\u043b\u044c\u0448\u0435","Light style":"\u041b\u0435\u0433\u043a\u0438\u0439 \u0441\u0442\u0438\u043b\u044c","Limit":"\u041b\u0456\u043c\u0456\u0442","Locate file":"\u0417\u043d\u0430\u0439\u0442\u0438 \u0444\u0430\u0439\u043b","Log outputs":"\u0412\u0438\u0445\u043e\u0434\u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0443","Log text":"\u0422\u0435\u043a\u0441\u0442 \u0436\u0443\u0440\u043d\u0430\u043b\u0443","Make a HTTP get request":"\u0417\u0440\u043e\u0431\u0456\u0442\u044c HTTP-\u0437\u0430\u043f\u0438\u0442 \u043d\u0430 \u043e\u0442\u0440\u0438\u043c\u0430\u043d\u043d\u044f","Make a pause between actions":"\u041c\u0456\u0436 \u0434\u0456\u044f\u043c\u0438 \u0440\u043e\u0431\u0456\u0442\u044c \u043f\u0430\u0443\u0437\u0443","March":"\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c","March ":"\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c","May":"\u041c\u043e\u0436\u0435","Menu":"\u041c\u0435\u043d\u044e","Message":"\u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f","Mo":"\u043f\u043d","Monday":"\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a","Month":"\u043c\u0456\u0441\u044f\u0446\u044c","Name":"\u0406\u043c\'\u044f","No active host found":"\u0410\u043a\u0442\u0438\u0432\u043d\u0438\u0439 \u0445\u043e\u0441\u0442 \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e","Nothing found":"\u041d\u0456\u0447\u043e\u0433\u043e \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e","November":"\u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434","OK":"\u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0443","October":"\u0436\u043e\u0432\u0442\u0435\u043d\u044c","Ok":"\u0412 \u043f\u043e\u0440\u044f\u0434\u043a\u0443","On condition change":"\u0417\u0430 \u0443\u043c\u043e\u0432\u0438 \u0437\u043c\u0456\u043d\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443","On script save or adapter start":"\u041f\u0456\u0434 \u0447\u0430\u0441 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e \u0430\u0431\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430","On weekdays":"\u0412 \u0431\u0443\u0434\u043d\u0456 \u0434\u043d\u0456","Operate two states":"\u041a\u0435\u0440\u0443\u0439\u0442\u0435 \u0434\u0432\u043e\u043c\u0430 \u0441\u0442\u0430\u043d\u0430\u043c\u0438","Operations with two states":"\u041e\u043f\u0435\u0440\u0430\u0446\u0456\u0457 \u0437 \u0434\u0432\u043e\u043c\u0430 \u0441\u0442\u0430\u043d\u0430\u043c\u0438","Pause":"\u041f\u0430\u0443\u0437\u0430","Pause execution":"\u041f\u0440\u0438\u0437\u0443\u043f\u0438\u043d\u0438\u0442\u0438 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043d\u044f","Pause script":"\u041f\u0440\u0438\u0437\u0443\u043f\u0438\u043d\u0438\u0442\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Phone:":"\u0442\u0435\u043b\u0435\u0444\u043e\u043d:","Please select object ID...":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044c \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u043e\u0431\'\u0454\u043a\u0442\u0430...","Print some text in log":"\u041d\u0430\u0434\u0440\u0443\u043a\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043a\u0441\u0442 \u0443 \u0436\u0443\u0440\u043d\u0430\u043b\u0456","Priority:":"\u041f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442:","Pushover":"Pushover","Pushsafer":"Pushsafer","Read only ID selected: %s":"\u0412\u0438\u0431\u0440\u0430\u043d\u043e \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u043b\u0438\u0448\u0435 \u0434\u043b\u044f \u0447\u0438\u0442\u0430\u043d\u043d\u044f: %s","Rename":"\u041f\u0435\u0440\u0435\u0439\u043c\u0435\u043d\u0443\u0432\u0430\u0442\u0438","Reorder scripts in folders":"\u0417\u043c\u0456\u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457\u0432 \u0443 \u043f\u0430\u043f\u043a\u0430\u0445","Repeat":"\u041f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c","Restart":"\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c","Resume execution":"\u0412\u0456\u0434\u043d\u043e\u0432\u0438\u0442\u0438 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043d\u044f","Root folder":"\u041a\u043e\u0440\u0435\u043d\u0435\u0432\u0430 \u043f\u0430\u043f\u043a\u0430","Rules description":"\u0421\u0442\u0432\u043e\u0440\u044e\u0439\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0437 \u0431\u043b\u043e\u043a\u0430\u043c\u0438 IF, THEN, ELSE","Run script":"\u0417\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Sa":"Sa","Saturday":"\u0421\u0443\u0431\u043e\u0442\u0430","Save":"\u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438","Save all":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0432\u0441\u0435","Say It":"\u0421\u043a\u0430\u0436\u0438 \u0446\u0435","Say some text via sayit adapter":"\u0421\u043a\u0430\u0436\u0456\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0447\u0435\u0440\u0435\u0437 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 sayit","Schedule":"\u0440\u043e\u0437\u043a\u043b\u0430\u0434","Script":"\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Script %s was modified on disk":"\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439 %s \u0437\u043c\u0456\u043d\u0435\u043d\u043e \u043d\u0430 \u0434\u0438\u0441\u043a\u0443","Script is not running":"\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439 \u043d\u0435 \u043f\u0440\u0430\u0446\u044e\u0454","Search in scripts":"\u041f\u043e\u0448\u0443\u043a \u0443 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445","Search...":"\u043f\u043e\u0448\u0443\u043a...","Select all":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0435","Send email":"\u0412\u0456\u0434\u043f\u0440\u0430\u0432\u0438\u0442\u0438 \u043b\u0438\u0441\u0442","Sends an email":"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0438\u0439 \u043b\u0438\u0441\u0442","Sends message via Pushsafer":"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u0447\u0435\u0440\u0435\u0437 Pushsafer","Sends message via pushover":"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u0447\u0435\u0440\u0435\u0437 pushover","Sends message via telegram":"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u0447\u0435\u0440\u0435\u0437 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c","Sends message via whatsapp-cmb":"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u0447\u0435\u0440\u0435\u0437 whatsapp-cmb","September":"\u0412\u0435\u0440\u0435\u0441\u0435\u043d\u044c","Set state action":"\u0412\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0438 \u0434\u0456\u044e \u0441\u0442\u0430\u043d\u0443","Set with delay":"\u0412\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0438 \u0456\u0437 \u0437\u0430\u0442\u0440\u0438\u043c\u043a\u043e\u044e","Shell command":"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0431\u043e\u043b\u043e\u043d\u043a\u0438","Show javascript code":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u043a\u043e\u0434 Javascript","Show logs":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0438","Show only paused scripts":"\u041f\u043e\u043a\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043b\u0438\u0448\u0435 \u043f\u0440\u0438\u0437\u0443\u043f\u0438\u043d\u0435\u043d\u0456 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457","Show only running scripts":"\u041f\u043e\u043a\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043b\u0438\u0448\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0456 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457","Show only scripts with problems":"\u041f\u043e\u043a\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043b\u0438\u0448\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457 \u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438","Simulate":"\u0421\u0438\u043c\u0443\u043b\u044e\u0432\u0430\u0442\u0438","Some files will be rejected":"\u0414\u0435\u044f\u043a\u0456 \u0444\u0430\u0439\u043b\u0438 \u0431\u0443\u0434\u0435 \u0432\u0456\u0434\u0445\u0438\u043b\u0435\u043d\u043e","Sound:":"\u0437\u0432\u0443\u043a:","Stack":"\u0421\u0442\u0435\u043a","Start":"\u0441\u0442\u0430\u0440\u0442","Start script":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","State":"\u0414\u0435\u0440\u0436\u0430\u0432\u0430","State condition":"\u0421\u0442\u0430\u043d \u0441\u0442\u0430\u043d\u0443","Step into function":"\u041a\u0440\u043e\u043a \u0443 \u0444\u0443\u043d\u043a\u0446\u0456\u0457","Step out from function":"\u0412\u0438\u0439\u0442\u0438 \u0437 \u0444\u0443\u043d\u043a\u0446\u0456\u0457","Stop on exception":"\u0417\u0443\u043f\u0438\u043d\u043a\u0430 \u043d\u0430 \u0432\u0438\u043d\u044f\u0442\u043a\u0430\u0445","Su":"\u041d\u0434","Subject:":"\u0422\u0435\u043c\u0430:","Sunday":"\u043d\u0435\u0434\u0456\u043b\u044f","TS description":"\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u0448\u043b\u044f\u0445\u043e\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044f Typescript","Telegram":"\u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u0430","Text:":"\u0422\u0435\u043a\u0441\u0442:","Th":"\u0447\u0442","The script will be stopped and must be activated manually after debugging. Continue?":"\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439 \u0431\u0443\u0434\u0435 \u0437\u0443\u043f\u0438\u043d\u0435\u043d\u043e, \u0456 \u0439\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u0456\u0434\u043d\u043e \u0430\u043a\u0442\u0438\u0432\u0443\u0432\u0430\u0442\u0438 \u0432\u0440\u0443\u0447\u043d\u0443 \u043f\u0456\u0441\u043b\u044f \u043d\u0430\u043b\u0430\u0433\u043e\u0434\u0436\u0435\u043d\u043d\u044f. \u041f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438?","This is advances option. You can write your own code here and it will be executed on trigger":"\u0426\u0435 \u0430\u0432\u0430\u043d\u0441\u043e\u0432\u0438\u0439 \u0432\u0430\u0440\u0456\u0430\u043d\u0442. \u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u0438 \u0442\u0443\u0442 \u0441\u0432\u0456\u0439 \u0432\u043b\u0430\u0441\u043d\u0438\u0439 \u043a\u043e\u0434, \u0456 \u0432\u0456\u043d \u0431\u0443\u0434\u0435 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043e \u043d\u0430 \u0442\u0440\u0438\u0433\u0435\u0440\u0456","Thursday":"\u0447\u0435\u0442\u0432\u0435\u0440","Time condition":"\u0423\u043c\u043e\u0432\u0430 \u0447\u0430\u0441\u0443","Title:":"\u041d\u0430\u0437\u0432\u0430:","To:":"\u0434\u043e:","Trigger with value":"\u0422\u0440\u0438\u0433\u0435\u0440 \u0437\u0456 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c","Triggered":"\u0421\u043f\u0440\u0430\u0446\u044c\u043e\u0432\u0443\u0454","Triggers":"\u0422\u0440\u0438\u0433\u0435\u0440\u0438","Triggers the on script saving or the javascript instance restart":"\u0406\u043d\u0456\u0446\u0456\u044e\u0454 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e \u0430\u0431\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 JavaScript","Triggers the rule on update or change of some state":"\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0454 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u0440\u0438 \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0456 \u0430\u0431\u043e \u0437\u043c\u0456\u043d\u0456 \u044f\u043a\u043e\u0433\u043e\u0441\u044c \u0441\u0442\u0430\u043d\u0443","Triggers the rule periodically or on some specific time":"\u0421\u043f\u0440\u0430\u0446\u044c\u043e\u0432\u0443\u0454 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u0435\u0440\u0456\u043e\u0434\u0438\u0447\u043d\u043e \u0430\u0431\u043e \u0432 \u043f\u0435\u0432\u043d\u0438\u0439 \u0447\u0430\u0441","Tu":"\u0432\u0442","Tuesday":"\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a","URL":"URL","Unknown error":"\u041d\u0435\u0432\u0456\u0434\u043e\u043c\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430","Unknown error!":"\u041d\u0435\u0432\u0456\u0434\u043e\u043c\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430!","User function":"\u0424\u0443\u043d\u043a\u0446\u0456\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430","User:":"\u041a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447:","Value":"\u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f","Vibration:":"\u0412\u0456\u0431\u0440\u0430\u0446\u0456\u044f:","Volume":"\u041e\u0431\u0441\u044f\u0433","We":"\u043c\u0438","Wednesday":"\u0421\u0435\u0440\u0435\u0434\u0430","Whatsapp-cmb":"Whatsapp-cmb","Write":"\u041d\u0430\u043f\u0438\u0448\u0456\u0442\u044c","Write your own code":"\u041d\u0430\u043f\u0438\u0448\u0456\u0442\u044c \u0432\u043b\u0430\u0441\u043d\u0438\u0439 \u043a\u043e\u0434","Yes":"\u0422\u0430\u043a","Yet exists!":"\u0412\u0441\u0435 \u0436 \u0456\u0441\u043d\u0443\u0454!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 %s \u0432 URL-\u0430\u0434\u0440\u0435\u0441\u0456, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u043f\u043e\u0442\u043e\u0447\u043d\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430, %id, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, %name, \u0449\u043e\u0431 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u043d\u0430\u0437\u0432\u0443 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, \u0430\u0431\u043e %old, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0442\u0430\u0440\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 %s \u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0456, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u043f\u043e\u0442\u043e\u0447\u043d\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430, %id, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, %name, \u0449\u043e\u0431 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u043d\u0430\u0437\u0432\u0443 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, \u0430\u0431\u043e %old, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0442\u0430\u0440\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 %s \u0443 \u0442\u0435\u043a\u0441\u0442\u0456 \u0434\u043b\u044f \u0432\u0456\u0434\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430, %id \u0434\u043b\u044f \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, %name \u0434\u043b\u044f \u0432\u0456\u0434\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u0456\u043c\u0435\u043d\u0456 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430 \u0430\u0431\u043e %old \u0434\u043b\u044f \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 %s \u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0456, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u043f\u043e\u0442\u043e\u0447\u043d\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430, %id, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, %name, \u0449\u043e\u0431 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u043d\u0430\u0437\u0432\u0443 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, \u0430\u0431\u043e %old, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0442\u0430\u0440\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430","[equal]":"[\u0440\u0456\u0432\u043d\u0438\u0439]","[greater or equal]":"[\u0431\u0456\u043b\u044c\u0448\u0435 \u0430\u0431\u043e \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454]","[greater]":"[\u0431\u0456\u043b\u044c\u0448\u0438\u0439]","[hysteresis]":"[\u0433\u0456\u0441\u0442\u0435\u0440\u0435\u0437\u0438\u0441]","[includes]":"[\u0432\u043a\u043b\u044e\u0447\u0430\u0454]","[less or equal]":"[\u043c\u0435\u043d\u0448\u0435 \u0430\u0431\u043e \u0440\u0456\u0432\u043d\u043e]","[less]":"[\u043c\u0435\u043d\u0448\u0435]","[not equal]":"[\u043d\u0435 \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454]","acknowledgment":"\u043f\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043d\u043d\u044f","all":"\u0432\u0441\u0435","and":"\u0456","astro":"\u0410\u0441\u0442\u0440\u043e","at":"\u0432","clear running":"\u0447\u0456\u0442\u043a\u0438\u0439 \u0431\u0456\u0433","control":"\u041a\u041e\u041d\u0422\u0420\u041e\u041b\u042c","copy":"\u043a\u043e\u043f\u0456\u044f","cron":"CRON","dawn":"\u0421\u0432\u0456\u0442\u0430\u043d\u043e\u043a","default":"\u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","dusk":"\u0421\u0443\u0442\u0456\u043d\u043a\u0438","else":"\u0456\u043d\u0448\u0435","equal to":"\u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454","every":"\u043a\u043e\u0436\u0435\u043d","every hour at 0 minutes":"\u0449\u043e\u0433\u043e\u0434\u0438\u043d\u0438 \u043e 0 \u0445\u0432\u0438\u043b\u0438\u043d","false":"\u043f\u043e\u043c\u0438\u043b\u043a\u043e\u0432\u0438\u0439","file reading has failed: %s":"\u043d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u0438 \u0444\u0430\u0439\u043b: %s","file reading was aborted":"\u0447\u0438\u0442\u0430\u043d\u043d\u044f \u0444\u0430\u0439\u043b\u0443 \u0431\u0443\u043b\u043e \u043f\u0435\u0440\u0435\u0440\u0432\u0430\u043d\u043e","filter_func":"\u0444\u0443\u043d\u043a\u0446\u0456\u044f","filter_id":"ID","filter_name":"\u0406\u043c\'\u044f","filter_role":"\u0420\u043e\u043b\u044c","filter_room":"\u041a\u0456\u043c\u043d\u0430\u0442\u0430","for edit or create script":"\u0434\u043b\u044f \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043d\u043d\u044f \u0430\u0431\u043e \u0441\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e","goldenHour":"\u0417\u043e\u043b\u043e\u0442\u0430 \u0433\u043e\u0434\u0438\u043d\u0430","goldenHourEnd":"\u041a\u0456\u043d\u0435\u0446\u044c \u0437\u043e\u043b\u043e\u0442\u043e\u0457 \u0433\u043e\u0434\u0438\u043d\u0438","greater or equal":"\u0431\u0456\u043b\u044c\u0448\u0438\u0439 \u0430\u0431\u043e \u0440\u0456\u0432\u043d\u0438\u0439","greater or equal to":"\u0431\u0456\u043b\u044c\u0448\u0435 \u0430\u0431\u043e \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454","greater than":"\u0431\u0456\u043b\u044c\u0448\u0435, \u043d\u0456\u0436, \u0432\u0435\u043b\u0438\u0447\u043d\u0456\u0448\u0435 \u043d\u0456\u0436, \u043a\u0440\u0443\u0442\u0456\u0448\u0438\u0439 \u0437\u0430","help_just_check":"\u041a\u043e\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043a\u043e\u043d\u0443\u0432\u0430\u0442\u0438\u0441\u044f \u043b\u0438\u0448\u0435 \u0449\u043e\u0440\u0430\u0437\u0443, \u043a\u043e\u043b\u0438 \u0443\u043c\u043e\u0432\u0430 \u0432\u0438\u043a\u043e\u043d\u0443\u0454\u0442\u044c\u0441\u044f. \u043d\u0430\u043f\u0440\u0438\u043a\u043b\u0430\u0434 \u044f\u043a\u0449\u043e \u0441\u043f\u0440\u0430\u0446\u044c\u043e\u0432\u0443\u0454 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0438 \u0442\u0430 \u0443\u043c\u043e\u0432\u0430 \xab\u044f\u043a\u0449\u043e \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 20\xb0C\xbb, \u0434\u0456\u0457 \xab\u0442\u043e\u0434\u0456\xbb \u0432\u0438\u043a\u043e\u043d\u0443\u0432\u0430\u0442\u0438\u043c\u0443\u0442\u044c\u0441\u044f \u0449\u043e\u0440\u0430\u0437\u0443, \u043a\u043e\u043b\u0438 \u0434\u0430\u0442\u0447\u0438\u043a \u043d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0443, \u0456 \u0432\u043e\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 20\xb0C. \u041d\u0430 21\xb0C, \u043d\u0430 22\xb0C \u0456 \u0442\u0430\u043a \u0434\u0430\u043b\u0456.","help_on_change":"\u041a\u043e\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043e \u043b\u0438\u0448\u0435 \u0443 \u0440\u0430\u0437\u0456 \u0437\u043c\u0456\u043d\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443 \u0443\u043c\u043e\u0432\u0438. \u043d\u0430\u043f\u0440\u0438\u043a\u043b\u0430\u0434 \u044f\u043a\u0449\u043e \u0441\u043f\u0440\u0430\u0446\u044c\u043e\u0432\u0443\u0454 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0438 \u0442\u0430 \u0443\u043c\u043e\u0432\u0430 \xab\u044f\u043a\u0449\u043e \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 20\xb0C\xbb, \u0434\u0456\u0457 \xab\u0442\u043e\u0434\u0456\xbb \u0431\u0443\u0434\u0443\u0442\u044c \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u0456 \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u043a\u043e\u043b\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0431\u0443\u0434\u0435 \u0432\u0438\u0449\u0435 20. \u041d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0443 \u0434\u0456\u0457 \xab\u0442\u043e\u0434\u0456\xbb \u0431\u0443\u0434\u0435 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043e, \u043a\u043e\u043b\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043f\u0430\u0434\u0430\u0454 \u043d\u0438\u0436\u0447\u0435 20, \u0430 \u043f\u043e\u0442\u0456\u043c \u0437\u043d\u043e\u0432\u0443 \u043f\u0456\u0434\u043d\u0456\u043c\u0430\u0454\u0442\u044c\u0441\u044f \u0432\u0438\u0449\u0435 20.","high priority":"\u0432\u0438\u0441\u043e\u043a\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","high-priority":"\u0432\u0438\u0441\u043e\u043a\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","highest priority":"\u043d\u0430\u0439\u0432\u0438\u0449\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","hours":"\u0433\u043e\u0434\u0438\u043d\u0438","includes":"\u0432\u043a\u043b\u044e\u0447\u0430\u0454 \u0432 \u0441\u0435\u0431\u0435","interval":"\u0456\u043d\u0442\u0435\u0440\u0432\u0430\u043b","just check":"\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0435","less or equal":"\u043c\u0435\u043d\u0448\u0435 \u0430\u0431\u043e \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454","less or equal to":"\u043c\u0435\u043d\u0448\u0435 \u0430\u0431\u043e \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454","less than":"\u043c\u0435\u043d\u0448\u0435 \u043d\u0456\u0436","lower priority":"\u043d\u0438\u0436\u0447\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","lowest priority":"\u043d\u0430\u0439\u043d\u0438\u0436\u0447\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","magic":"\u043c\u0430\u0433\u0456\u044f","milliseconds":"\u043c\u0456\u043b\u0456\u0441\u0435\u043a\u0443\u043d\u0434","minutes":"\u0445\u0432\u0438\u043b\u0438\u043d","ms":"\u0420\u0421","nadir":"\u041d\u0430\u0434\u0456\u0440","nauticalDawn":"\u041c\u043e\u0440\u0441\u044c\u043a\u0438\u0439 \u0441\u0432\u0456\u0442\u0430\u043d\u043e\u043a","nauticalDusk":"\u041c\u043e\u0440\u0441\u044c\u043a\u0456 \u0441\u0443\u0442\u0456\u043d\u043a\u0438","night":"\u043d\u0456\u0447","nightEnd":"\u041a\u0456\u043d\u0435\u0446\u044c \u043d\u043e\u0447\u0456","no blocks found":"\u0411\u043b\u043e\u043a\u0456\u0432 \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e","no group":"\u041d\u0415\u041c\u0410\u0404 \u0413\u0420\u0423\u041f\u0418","normal":"\u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e","normal priority":"\u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","not equal to":"\u043d\u0435 \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454","not properly connected":"\u0426\u0435\u0439 \u0431\u043b\u043e\u043a \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0437\u2019\u0454\u0434\u043d\u0430\u043d\u0438\u0439 \u0437 \u0456\u043d\u0448\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438.","offset":"\u0437\u0441\u0443\u0432","on change":"\u043d\u0430 \u0437\u043c\u0456\u043d\u0443","on condition change":"\u043f\u0440\u043e \u0437\u043c\u0456\u043d\u0443 \u0443\u043c\u043e\u0432","on update":"\u043d\u0430 \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f","one":"\u043e\u0434\u0438\u043d","or":"\u0430\u0431\u043e","quiet":"\u0442\u0438\u0445\u043e","reset search":"\u0441\u043a\u0438\u043d\u0443\u0442\u0438 \u043f\u043e\u0448\u0443\u043a","search":"\u043f\u043e\u0448\u0443\u043a","seconds":"\u0441\u0435\u043a\u0443\u043d\u0434","solarNoon":"\u0421\u043e\u043d\u044f\u0447\u043d\u0438\u0439 \u043f\u043e\u043b\u0443\u0434\u0435\u043d\u044c","store in":"\u0437\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u0432","sunrise":"\u0441\u0445\u0456\u0434 \u0441\u043e\u043d\u0446\u044f","sunriseEnd":"\u041a\u0456\u043d\u0435\u0446\u044c \u0441\u0445\u043e\u0434\u0443 \u0441\u043e\u043d\u0446\u044f","sunset":"\u0417\u0430\u0445\u0456\u0434 \u0441\u043e\u043d\u0446\u044f","sunsetStart":"\u041f\u043e\u0447\u0430\u0442\u043e\u043a \u0437\u0430\u0445\u043e\u0434\u0443 \u0441\u043e\u043d\u0446\u044f","then":"\u043f\u043e\u0442\u0456\u043c","toggle value":"\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043f\u0435\u0440\u0435\u043c\u0438\u043a\u0430\u043d\u043d\u044f","tooltip_ack":"\u0412\u0438\u0437\u043d\u0430\u0442\u0438","tooltip_from":"\u0412\u0456\u0434","tooltip_lc":"\u0412\u043e\u0441\u0442\u0430\u043d\u043d\u0454 \u0437\u043c\u0456\u043d\u0435\u043d\u043e","tooltip_quality":"\u044f\u043a\u0456\u0441\u0442\u044c","tooltip_ts":"\u041c\u0456\u0442\u043a\u0430 \u0447\u0430\u0441\u0443","tooltip_user":"\u041a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447","tooltip_value":"\u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f","true":"\u043f\u0440\u0430\u0432\u0434\u0430","two":"\u0434\u0432\u0430","undefined":"\u043d\u0435\u0432\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439","update":"\u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f","use seconds":"\u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u0438","when":"\u043a\u043e\u043b\u0438","with":"\u0437","with date":"\u0437 \u0434\u0430\u0442\u043e\u044e","with offset":"\u0437\u0456 \u0437\u043c\u0456\u0449\u0435\u043d\u043d\u044f\u043c","wizard":"\u043c\u0430\u0439\u0441\u0442\u0435\u0440","easy":"\u043b\u0435\u0433\u043a\u043e","for programmers":"\u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0456\u0441\u0442\u0456\u0432","for professionals":"\u0434\u043b\u044f \u043f\u0440\u043e\u0444\u0435\u0441\u0456\u043e\u043d\u0430\u043b\u0456\u0432","Duplicate name":"\u041f\u043e\u0432\u0442\u043e\u0440\u044e\u0432\u0430\u043d\u0435 \u0456\u043c\'\u044f","Empty name is not allowed":"\u041f\u043e\u0440\u043e\u0436\u043d\u0454 \u0456\u043c\'\u044f \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0454\u0442\u044c\u0441\u044f","Time":"\u0447\u0430\u0441","Server time":"\u0427\u0430\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430","Local time":"\u041c\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441","Description":"\u043e\u043f\u0438\u0441","nextSunrise":"\u041d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u0439 \u0441\u0445\u0456\u0434 \u0441\u043e\u043d\u0446\u044f","nextSunset":"\u041d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u0439 \u0437\u0430\u0445\u0456\u0434 \u0441\u043e\u043d\u0446\u044f","Astronomical events today":"\u0410\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0456\u0447\u043d\u0456 \u043f\u043e\u0434\u0456\u0457 \u0441\u044c\u043e\u0433\u043e\u0434\u043d\u0456","Compares current time with astronomical event":"\u041f\u043e\u0440\u0456\u0432\u043d\u044e\u0454 \u043f\u043e\u0442\u043e\u0447\u043d\u0438\u0439 \u0447\u0430\u0441 \u0437 \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0456\u0447\u043d\u043e\u044e \u043f\u043e\u0434\u0456\u0454\u044e","Show astronomical events":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0456\u0447\u043d\u0456 \u043f\u043e\u0434\u0456\u0457","Astronomical":"\u0410\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0456\u0447\u043d\u0438\u0439","Enter your question":"\u0412\u0432\u0435\u0434\u0438 \u0441\u0432\u043e\u0454 \u043f\u0440\u043e\u0445\u0430\u043d\u043d\u044f","Press Ctrl+Enter to get the answer":"\u041d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c Ctrl+Enter, \u0449\u043e\u0431 \u043e\u0442\u0440\u0438\u043c\u0430\u0442\u0438 \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c","Ask":"\u0417\u0430\u043f\u0438\u0442\u0443\u0439\u0442\u0435","Result":"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442","Use generated code":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 \u0437\u0433\u0435\u043d\u0435\u0440\u043e\u0432\u0430\u043d\u0438\u0439 \u043a\u043e\u0434","No Chat GPT Key found":"\u041a\u043b\u044e\u0447 GPT \u0434\u043b\u044f \u0447\u0430\u0442\u0443 \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e","You have to enter OpenAI API key in the configuration of javascript adapter.":"\u0412\u0438 \u043f\u043e\u0432\u0438\u043d\u043d\u0456 \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043b\u044e\u0447 OpenAI API \u0443 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0457 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 JavaScript.","Open configuration":"\u0412\u0456\u0434\u043a\u0440\u0438\u0442\u0430 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044f"}')},58246:e=>{e.exports=JSON.parse('{"-":"-","Add":"\u6dfb\u52a0","Add new script":"\u6dfb\u52a0\u65b0\u811a\u672c","All files will be accepted":"\u6240\u6709\u6587\u4ef6\u90fd\u5c06\u88ab\u63a5\u53d7","April":"\u56db\u6708","Are you sure?":"\u4f60\u786e\u5b9a\u5417\uff1f","August":"\u516b\u6708","Blockly description":"\u6309\u56fe\u5f62\u5757\u521b\u5efa\u89c4\u5219","Cancel":"\u53d6\u6d88","Cannot delete non empty item!":"\u65e0\u6cd5\u5220\u9664\u975e\u7a7a\u9879\u76ee\uff01","Change layout":"\u53d8\u66f4\u7248\u9762","Check blocks":"\u68c0\u67e5\u5757","Check is not active, because javascript adapter is disabled":"\u68c0\u67e5\u672a\u6fc0\u6d3b\uff0c\u56e0\u4e3a\u7981\u7528\u4e86Javascript\u9002\u914d\u5668","Clear search input":"\u6e05\u9664\u641c\u7d22\u8f93\u5165","Click on this icon":"\u5355\u51fb\u6b64\u56fe\u6807","Close":"\u5173\u95ed","Close all but current":"\u5173\u95ed\u6240\u6709\uff08\u5f53\u524d\u9664\u5916\uff09","Collapse all":"\u5168\u90e8\u6536\u7f29","Configuration not saved.":"\u914d\u7f6e\u672a\u4fdd\u5b58\u3002","Convert blockly to javascript for ever.":"\u7acb\u5373\u5c06blockly\u8f6c\u6362\u4e3aJavascript\u3002","Copy script":"\u590d\u5236\u811a\u672c","Copy to clipboard":"\u590d\u5236\u5230\u526a\u8d34\u677f","Download as file":"\u6863\u6848","Create new":"\u521b\u5efa\u65b0\u7684","Create new folder":"\u521b\u5efa\u65b0\u6587\u4ef6\u5939","Create new script":"\u521b\u5efa\u65b0\u811a\u672c","Create or edit CRON or time wizard":"\u521b\u5efa\u6216\u7f16\u8f91\u5468\u671f\u4efb\u52a1\u6216\u65f6\u95f4\u5411\u5bfc","Dark Theme":"\u6df1\u8272\u8c03\u4e3b\u9898","Dark style":"\u6df1\u8272\u8c03\u98ce\u683c","Debug options":"\u8c03\u8bd5\u9009\u9879","December":"\u5341\u4e8c\u6708","Define cron...":"\u5b9a\u4e49\u5468\u671f\u4efb\u52a1...","Define schedule...":"\u5b9a\u4e49\u8c03\u5ea6\u5668......","Delete":"\u5220\u9664","Delete %s":"\u5220\u9664%s...","Delete folder":"\u5220\u9664\u6587\u4ef6\u5939","Delete script":"\u5220\u9664\u811a\u672c","Deselect all":"\u53d6\u6d88\u5168\u9009","Discard changes for %s":"\u653e\u5f03%s\u7684\u66f4\u6539","Done":"\u5b8c\u6210","Drop some files here or click...":"\u5c06\u6587\u4ef6\u62d6\u62fd\u5230\u8fd9\u91cc\u6216\u5355\u51fb......","Edit script or just double click":"\u53cc\u51fb\u7f16\u8f91\u811a\u672c","End search mode":"\u7ed3\u675f\u641c\u7d22\u6a21\u5f0f","Error":"\u9519\u8bef","Error was found":"\u53d1\u73b0\u9519\u8bef","Existing scripts will be overwritten.":"\u73b0\u6709\u811a\u672c\u5c06\u88ab\u8986\u76d6\u3002","Expand all":"\u5c55\u5f00\u5168\u90e8","Expert mode":"\u4e13\u5bb6\u6a21\u5f0f","Export":"\u5bfc\u51fa","Export all scripts":"\u5bfc\u51fa\u6240\u6709\u811a\u672c","Export blocks":"\u5bfc\u51fa\u5757","Export selected blocks":"\u5bfc\u51fa\u9009\u5b9a\u7684\u5757","February":"\u4e8c\u6708","Folder":"\u6587\u4ef6\u5939","Friday":"\u661f\u671f\u4e94","Function editor":"\u529f\u80fd\u7f16\u8f91\u5668","ID":"ID","Import":"\u5bfc\u5165","Import blocks":"\u5bfc\u5165\u5757","Import error":"\u5bfc\u5165\u9519\u8bef","Import scripts":"\u5bfc\u5165\u811a\u672c","Insert object ID":"\u63d2\u5165\u5bf9\u8c61ID","Instance":"\u5b9e\u4f8b","Instance is disabled":"\u5b9e\u4f8b\u5df2\u7981\u7528","Invalid CRON":"\u65e0\u6548\u7684\u5468\u671f\u4efb\u52a1","It will not be possible to revert this operation.":"\u65e0\u6cd5\u6062\u590d\u6b64\u64cd\u4f5c\u3002","JS description":"\u901a\u8fc7\u7f16\u5199Javascript\u6765\u521b\u5efa\u89c4\u5219","January":"\u4e00\u6708","July":"\u4e03\u6708","June":"\u516d\u6708","Learn More":"\u4e86\u89e3\u66f4\u591a","Light style":"\u6d45\u8272\u8c03\u98ce\u683c","Locate file":"\u5b9a\u4f4d\u6587\u4ef6","Log outputs":"\u8bb0\u5f55\u8f93\u51fa","March":"\u4e09\u6708","May":"\u4e94\u6708","Menu":"\u83dc\u5355","Message":"\u4fe1\u606f","Monday":"\u661f\u671f\u4e00","Name":"\u540d\u79f0","No active host found":"\u627e\u4e0d\u5230\u6d3b\u52a8\u4e3b\u673a","November":"\u5341\u4e00\u6708","October":"\u5341\u6708","Ok":"\u786e\u5b9a","On weekdays":"\u5728\u5de5\u4f5c\u65e5","Pause script":"\u6682\u505c\u811a\u672c","Please select object ID...":"\u8bf7\u9009\u62e9\u5bf9\u8c61ID...","Rename":"\u91cd\u547d\u540d","Reorder scripts in folders":"\u91cd\u65b0\u6392\u5e8f\u6587\u4ef6\u5939\u4e2d\u7684\u811a\u672c","Repeat":"\u91cd\u590d","Restart":"\u91cd\u542f","Root folder":"\u6839\u6587\u4ef6\u5939","Run script":"\u8fd0\u884c\u811a\u672c","Saturday":"\u661f\u671f\u516d","Save":"\u4fdd\u5b58","Script":"\u811a\u672c","Script %s was modified on disk":"\u811a\u672c%s\u5df2\u5728\u78c1\u76d8\u4e0a\u4fee\u6539","Script is not running":"\u811a\u672c\u6ca1\u6709\u8fd0\u884c","Search in scripts":"\u5728\u811a\u672c\u4e2d\u641c\u7d22","Search...":"\u641c\u7d22...","Select all":"\u5168\u9009","September":"\u4e5d\u6708","Show javascript code":"\u663e\u793aJavascript\u4ee3\u7801","Show only paused scripts":"\u4ec5\u663e\u793a\u6682\u505c\u7684\u811a\u672c","Show only running scripts":"\u4ec5\u663e\u793a\u6b63\u5728\u8fd0\u884c\u7684\u811a\u672c","Show only scripts with problems":"\u4ec5\u663e\u793a\u6709\u95ee\u9898\u7684\u811a\u672c","Some files will be rejected":"\u6709\u4e9b\u6587\u4ef6\u5c06\u88ab\u62d2\u7edd","Sunday":"\u661f\u671f\u65e5","TS description":"\u901a\u8fc7\u7f16\u5199Typescript\u6765\u521b\u5efa\u89c4\u5219","Thursday":"\u661f\u671f\u56db","Tuesday":"\u661f\u671f\u4e8c","Unknown error":"\u672a\u77e5\u9519\u8bef","Unknown error!":"\u672a\u77e5\u9519\u8bef\uff01","Wednesday":"\u661f\u671f\u4e09","Yet exists!":"\u4e0d\u5b58\u5728\uff01","copy":"\u590d\u5236","file reading has failed: %s":"\u6587\u4ef6\u8bfb\u53d6\u5931\u8d25\uff1a%s","file reading was aborted":"\u6587\u4ef6\u8bfb\u53d6\u4e2d\u6b62","filter_func":"\u529f\u80fd","filter_id":"ID","filter_name":"\u540d\u5b57","filter_role":"\u89d2\u8272","filter_room":"\u623f\u95f4","for edit or create script":"\u7528\u4e8e\u7f16\u8f91\u6216\u521b\u5efa\u811a\u672c","no blocks found":"\u627e\u4e0d\u5230\u5757","no group":"\u6ca1\u6709\u7ec4","not properly connected":"\u6b64\u5757\u672a\u6b63\u786e\u8fde\u63a5\u5230\u5176\u4ed6\u5757\u3002","tooltip_ack":"\u786e\u8ba4","tooltip_from":"\u4ece","tooltip_lc":"\u4e0a\u4e00\u6b21\u6539\u53d8","tooltip_quality":"\u8d28\u91cf","tooltip_ts":"\u65f6\u95f4\u6233","tooltip_user":"\u7528\u6237","tooltip_value":"\u503c","use seconds":"\u7cbe\u786e\u5230\u79d2","Save all":"\u4fdd\u5b58\u5168\u90e8","Change theme (actual \\"%s\\")":"\u66f4\u6539\u4e3b\u9898\uff08\u73b0\u5728\u4e3a\u201c%s\u201d\uff09","Hide logs":"\u9690\u85cf\u65e5\u5fd7","Show logs":"\u663e\u793a\u8bb0\u5f55","Rules description":"\u4f7f\u7528IF\uff0cTHEN\uff0cELSE\u5757\u521b\u5efa\u89c4\u5219","help_on_change":"\u4ec5\u5f53\u6761\u4ef6\u7ed3\u679c\u66f4\u6539\u65f6\uff0c\u4ee3\u7801\u624d\u4f1a\u6267\u884c\u3002\u4f8b\u5982\u3002\u5982\u679c\u89e6\u53d1\u6e29\u5ea6\u4f20\u611f\u5668\u503c\u4e14\u6761\u4ef6\u4e3a\u201c\u5982\u679c\u6e29\u5ea6\u5927\u4e8e20\xb0C\u201d\uff0c\u5219\u6e29\u5ea6\u8d85\u8fc720\u65f6\u5c06\u6267\u884c\u4e00\u6b21\u201c\u5219\u201d\u52a8\u4f5c\uff0c\u4e0b\u4e00\u6b21\uff0c\u5f53\u6e29\u5ea6\u8d85\u8fc720\u65f6\u5c06\u6267\u884c\u201c\u5219\u201d\u52a8\u4f5c\u4f4e\u4e8e20\u5931\u8d25\uff0c\u7136\u540e\u518d\u6b21\u8d85\u8fc720\u3002","help_just_check":"\u4ec5\u5728\u6761\u4ef6\u4e3a\u771f\u65f6\u624d\u6267\u884c\u4ee3\u7801\u3002\u4f8b\u5982\u3002\u5982\u679c\u89e6\u53d1\u6e29\u5ea6\u4f20\u611f\u5668\u503c\u5e76\u4e14\u6761\u4ef6\u4e3a\u201c\u5982\u679c\u6e29\u5ea6\u5927\u4e8e20\xb0C\u201d\uff0c\u5219\u6bcf\u6b21\u4f20\u611f\u5668\u53d1\u9001\u6e29\u5ea6\u4e14\u6e29\u5ea6\u8d85\u8fc720\xb0C\u65f6\uff0c\u5c06\u6267\u884c\u201c\u7136\u540e\u201d\u52a8\u4f5c\u3002 21\xb0C\uff0c22\xb0C\u7b49\u3002","On condition change":"\u6761\u4ef6\u53d8\u5316\u65f6","Just check":"\u53ea\u662f\u68c0\u67e5","when":"\u4ec0\u4e48\u65f6\u5019","and":"\u548c","then":"\u7136\u540e","or":"\u6216","else":"\u522b\u7684","Nothing found":"\u6ca1\u6709\u53d1\u73b0","reset search":"\u91cd\u7f6e\u641c\u7d22","Read only ID selected: %s":"\u9009\u62e9\u7684\u53ea\u8bfbID\uff1a%s","OK":"\u597d\u7684","Triggers":"\u6273\u673a","cron":"\u514b\u6717","wizard":"\u5deb\u5e08","interval":"\u95f4\u9694","at":"\u5728","astro":"\u5929\u6587","on condition change":"\u5728\u6761\u4ef6\u53d8\u5316\u65f6","just check":"\u53ea\u662f\u68c0\u67e5","Explanation":"\u89e3\u91ca","seconds":"\u79d2","minutes":"\u5206\u949f","hours":"\u5c0f\u65f6","Every day":"\u6bcf\u5929","milliseconds":"\u6beb\u79d2","Copied":"\u590d\u5236\u7684","nadir":"\u6700\u4f4e\u70b9","nightEnd":"\u591c\u665a\u7ed3\u675f","nauticalDawn":"\u822a\u6d77\u9ece\u660e","dawn":"\u9ece\u660e","sunrise":"\u65e5\u51fa","sunriseEnd":"\u65e5\u51fa\u7ed3\u675f","goldenHourEnd":"\u9ec4\u91d1\u65f6\u6bb5\u7ed3\u675f","solarNoon":"\u661f\u671f\u65e5\u6b63\u5348","goldenHour":"\u9ec4\u91d1\u65f6\u6bb5","sunsetStart":"\u65e5\u843d\u5f00\u59cb","sunset":"\u65e5\u843d","dusk":"\u9ec4\u660f","nauticalDusk":"\u822a\u6d77\u9ec4\u660f","night":"\u591c\u665a","one":"\u4e00","two":"\u4e8c","true":"\u771f\u7684","false":"\u9519\u8bef\u7684","search":"\u641c\u7d22","Actions":"\u52a8\u4f5c","Conditions":"\u60c5\u51b5","Schedule":"\u65e5\u7a0b","Start script":"\u542f\u52a8\u811a\u672c","State":"\u72b6\u6001","State condition":"\u72b6\u6001\u6761\u4ef6","Time condition":"\u65f6\u95f4\u6761\u4ef6","Set state action":"\u8bbe\u5b9a\u72b6\u6001\u52a8\u4f5c","Exec":"\u6267\u884c\u529b","HTTP Call":"HTTP\u547c\u53eb","Log text":"\u8bb0\u5f55\u6587\u5b57","Pause":"\u6682\u505c","on change":"\u5728\u53d8\u5316","control":"\u63a7\u5236","Say It":"Say It","every hour at 0 minutes":"\u6bcf\u5c0f\u65f60\u5206\u949f","On script save or adapter start":"\u5728\u811a\u672c\u4fdd\u5b58\u6216\u9002\u914d\u5668\u542f\u52a8\u65f6","equal to":"\u7b49\u4e8e","Actual time of day":"\u4e00\u5929\u4e2d\u7684\u5b9e\u9645\u65f6\u95f4","with":"\u548c","Shell command":"Shell\u547d\u4ee4","URL":"\u7f51\u5740","Instance:":"\u5b9e\u4f8b\uff1a","Language:":"\u8bed\u8a00\uff1a","Volume":"\u4f53\u79ef","Text:":"\u6587\u672c\uff1a","undefined":"\u4e0d\u660e\u786e\u7684","Default":"\u9ed8\u8ba4","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"\u60a8\u53ef\u4ee5\u5728\u6587\u672c\u4e2d\u4f7f\u7528 %s \u663e\u793a\u5f53\u524d\u89e6\u53d1\u503c\uff0c%id \u4f7f\u7528\u89e6\u53d1\u5bf9\u8c61 ID\uff0c%name \u663e\u793a\u89e6\u53d1\u5bf9\u8c61 ID \u540d\u79f0\u6216 %old \u4f7f\u7528\u65e7\u89e6\u53d1\u503c","Instructions":"\u6307\u793a","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"\u60a8\u53ef\u4ee5\u5728 URL \u4e2d\u4f7f\u7528 %s \u4ee5\u4f7f\u7528\u5f53\u524d\u89e6\u53d1\u503c\uff0c%id \u4ee5\u4f7f\u7528\u89e6\u53d1\u5bf9\u8c61 ID\uff0c%name \u4ee5\u663e\u793a\u89e6\u53d1\u5bf9\u8c61 ID \u540d\u79f0\u6216 %old \u4ee5\u4f7f\u7528\u65e7\u89e6\u53d1\u503c","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"\u60a8\u53ef\u4ee5\u5728\u503c\u4e2d\u4f7f\u7528 %s \u4ee5\u4f7f\u7528\u5f53\u524d\u89e6\u53d1\u5668\u503c\uff0c%id \u4f7f\u7528\u89e6\u53d1\u5bf9\u8c61 ID\uff0c%name \u663e\u793a\u89e6\u53d1\u5bf9\u8c61 ID \u540d\u79f0\u6216 %old \u4f7f\u7528\u65e7\u89e6\u53d1\u5668\u503c","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"\u60a8\u53ef\u4ee5\u5728\u547d\u4ee4\u4e2d\u4f7f\u7528 %s \u4ee5\u4f7f\u7528\u5f53\u524d\u89e6\u53d1\u503c\uff0c%id \u4f7f\u7528\u89e6\u53d1\u5bf9\u8c61 ID\uff0c%name \u663e\u793a\u89e6\u53d1\u5bf9\u8c61 ID \u540d\u79f0\u6216 %old \u4f7f\u7528\u65e7\u89e6\u53d1\u503c","every":"\u6bcf\u4e00\u4e2a","with offset":"\u5e26\u504f\u79fb","on update":"\u66f4\u65b0\u65f6","update":"\u66f4\u65b0","Triggers the rule periodically or on some specific time":"\u5b9a\u671f\u6216\u5728\u7279\u5b9a\u65f6\u95f4\u89e6\u53d1\u89c4\u5219","Triggers the on script saving or the javascript instance restart":"\u89e6\u53d1\u811a\u672c\u4fdd\u5b58\u6216javascript\u5b9e\u4f8b\u91cd\u542f","Triggers the rule on update or change of some state":"\u5728\u67d0\u4e9b\u72b6\u6001\u7684\u66f4\u65b0\u6216\u66f4\u6539\u65f6\u89e6\u53d1\u89c4\u5219","Compares the state value with user defined value":"\u6bd4\u8f83\u72b6\u6001\u503c\u548c\u7528\u6237\u5b9a\u4e49\u7684\u503c","Compares current time with the user specific time":"\u5c06\u5f53\u524d\u65f6\u95f4\u4e0e\u7528\u6237\u7279\u5b9a\u65f6\u95f4\u8fdb\u884c\u6bd4\u8f83","Control or update some state":"\u63a7\u5236\u6216\u66f4\u65b0\u67d0\u4e9b\u72b6\u6001","Executes some shell command":"\u6267\u884c\u4e00\u4e9bshell\u547d\u4ee4","Make a HTTP get request":"\u53d1\u51faHTTP\u83b7\u53d6\u8bf7\u6c42","Print some text in log":"\u5728\u65e5\u5fd7\u4e2d\u6253\u5370\u4e00\u4e9b\u6587\u672c","Make a pause between actions":"\u5728\u52a8\u4f5c\u4e4b\u95f4\u6682\u505c","Say some text via sayit adapter":"\u901a\u8fc7sayit\u9002\u914d\u5668\u8bf4\u4e00\u4e9b\u6587\u5b57","Telegram":"\u7535\u62a5","User:":"\u7528\u6237\uff1a","all":"\u5168\u90e8","Sends message via telegram":"\u901a\u8fc7\u7535\u62a5\u53d1\u9001\u6d88\u606f","Sends an email":"\u53d1\u9001\u90ae\u4ef6","Send email":"\u53d1\u9001\u7535\u5b50\u90ae\u4ef6","Sends message via pushover":"\u901a\u8fc7\u63a8\u64ad\u53d1\u9001\u6d88\u606f","Pushover":"\u4fef\u5367\u6491","Sends message via whatsapp-cmb":"\u901a\u8fc7whatsapp-cmb\u53d1\u9001\u6d88\u606f","Whatsapp-cmb":"Whatsapp\u7684cmb","Sends message via Pushsafer":"\u901a\u8fc7Pushsafer\u53d1\u9001\u6d88\u606f","Pushsafer":"\u63a8\u5b89\u5168","To:":"\u5230\uff1a","Subject:":"\u5b66\u79d1\uff1a","Body:":"\u8eab\u4f53\uff1a","Title:":"\u6807\u9898\uff1a","Sound:":"\u58f0\u97f3\uff1a","Priority:":"\u4f18\u5148\uff1a","magic":"\u9b54\u6cd5","quiet":"\u5b89\u9759\u7684","normal":"\u666e\u901a\u7684","high-priority":"\u9ad8\u4f18\u5148\u7ea7","acknowledgment":"\u81f4\u8c22","Phone:":"\u7535\u8bdd\uff1a","(optional)":"\uff08\u9009\u4fee\u7684\uff09","Vibration:":"\u632f\u52a8\uff1a","lowest priority":"\u6700\u4f4e\u4f18\u5148\u7ea7","lower priority":"\u4f4e\u4f18\u5148\u7ea7","normal priority":"\u6b63\u5e38\u4f18\u5148","high priority":"\u9ad8\u4f18\u5148\u7ea7","highest priority":"\u6700\u9ad8\u4f18\u5148\u7ea7","default":"\u9ed8\u8ba4","All":"\u6240\u6709","Write your own code":"\u7f16\u5199\u81ea\u5df1\u7684\u4ee3\u7801","User function":"\u7528\u6237\u529f\u80fd","This is advances option. You can write your own code here and it will be executed on trigger":"\u8fd9\u662f\u9ad8\u7ea7\u9009\u9879\u3002\u60a8\u53ef\u4ee5\u5728\u6b64\u5904\u7f16\u5199\u81ea\u5df1\u7684\u4ee3\u7801\uff0c\u5b83\u5c06\u5728\u89e6\u53d1\u5668\u4e0a\u6267\u884c","greater than":"\u6bd4...\u66f4\u68d2","offset":"\u62b5\u6d88","Function":"\u529f\u80fd","greater or equal to":"\u5927\u4e8e\u6216\u7b49\u4e8e","less or equal to":"\u5c0f\u4e8e\u6216\u7b49\u4e8e","less than":"\u5c11\u4e8e","not equal to":"\u4e0d\u7b49\u4e8e","[equal]":"[\u5e73\u7b49\u7684]","[greater or equal]":"[\u5927\u4e8e\u7b49\u4e8e]","[greater]":"[\u66f4\u5927]","[less or equal]":"[\u5c0f\u4e8e\u6216\u7b49\u4e8e]","[less]":"[\u8f83\u5c11\u7684]","[not equal]":"[\u4e0d\u76f8\u7b49]","[includes]":"[\u5305\u62ec]","[hysteresis]":"[\u78c1\u6ede]","greater or equal":"\u5927\u4e8e\u6216\u7b49\u4e8e","less or equal":"\u5c0f\u4e8e\u6216\u7b49\u4e8e","includes":"\u5305\u62ec",".":".","()":"()","Mo":"\u83ab","Tu":"\u6d82","We":"3","Th":"4","Fr":"r","Sa":"\u8428","Su":"\u82cf","Control or update some state with delay":"\u5ef6\u8fdf\u63a7\u5236\u6216\u66f4\u65b0\u67d0\u4e9b\u72b6\u6001","Delay":"\u5ef6\u8fdf","ms":"\u6beb\u79d2","Set with delay":"\u5ef6\u8fdf\u8bbe\u7f6e","clear running":"\u7545\u901a\u65e0\u963b","toggle value":"\u5207\u6362\u503c","Any month":"\u4efb\u4f55\u6708\u4efd","Any":"\u4efb\u4f55","with date":"\u6709\u65e5\u671f","Date":"\u65e5\u671f","Month":"\u6708","Januar":"\u4e9a\u52aa\u5c14","Februar":"\u4e8c\u6708","March ":"\u884c\u8fdb","Condition":"\u5065\u5eb7\uff09\u72b6\u51b5","Limit":"\u9650\u5236","The script will be stopped and must be activated manually after debugging. Continue?":"\u8be5\u811a\u672c\u5c06\u505c\u6b62\uff0c\u5e76\u4e14\u5fc5\u987b\u5728\u8c03\u8bd5\u540e\u624b\u52a8\u6fc0\u6d3b\u3002\u7ee7\u7eed\uff1f","Yes":"\u662f\u7684","Debug instance":"\u8c03\u8bd5\u5b9e\u4f8b","Resume execution":"\u6062\u590d\u6267\u884c","Go to next line":"\u8f6c\u5230\u4e0b\u4e00\u884c","Step into function":"\u8fdb\u5165\u529f\u80fd","Step out from function":"\u9000\u51fa\u51fd\u6570","Stop on exception":"\u5f02\u5e38\u505c\u6b62","Console":"\u5b89\u6170","Stack":"\u5806","Pause execution":"\u6682\u505c\u6267\u884c","Simulate":"\u6a21\u62df","Trigger with value":"\u7528\u503c\u89e6\u53d1","Value":"\u4ef7\u503c","Write":"\u5199","Ack":"\u786e\u8ba4","Start":"\u5f00\u59cb","Filter":"\u7b5b\u9009","Instances":"\u5b9e\u4f8b","Triggered":"\u89e6\u53d1","Function: executed":"\u529f\u80fd\uff1a\u6267\u884c","Operate two states":"\u64cd\u4f5c\u4e24\u79cd\u72b6\u6001","store in":"\u5b58\u653e\u5728","ID1":"ID1","ID2":"ID2","Operations with two states":"\u5177\u6709\u4e24\u79cd\u72b6\u6001\u7684\u64cd\u4f5c","debug_label":"\u8c03\u8bd5","debug_help":"\u8fd9\u662f\u4e00\u79cd\u7279\u6b8a\u6a21\u5f0f\uff0c\u5176\u4e2d\u72b6\u6001\u548c\u5bf9\u8c61\u4e0d\u4f1a\u6539\u53d8\u3002\u4f46\u53ea\u6709\u6709\u5173\u6bcf\u4e2a\u8ba1\u5212\u66f4\u6539\u7684\u4fe1\u606f\u624d\u4f1a\u663e\u793a\u5728\u534f\u8bae\u4e2d\u3002","verbose_label":"\u8be6\u7ec6\u65e5\u5fd7\u8f93\u51fa","verbose_help":"\u5c06\u8c03\u8bd5\u8f93\u51fa\u6dfb\u52a0\u5230\u8bb8\u591a\u7cfb\u7edf\u547d\u4ee4\u7684\u65e5\u5fd7\u4e2d","easy":"\u7b80\u5355\u7684","for programmers":"\u5bf9\u4e8e\u7a0b\u5e8f\u5458","for professionals":"\u5bf9\u4e8e\u4e13\u4e1a\u4eba\u58eb","Duplicate name":"\u91cd\u540d","Empty name is not allowed":"\u4e0d\u5141\u8bb8\u4f7f\u7528\u7a7a\u540d\u79f0","Time":"\u65f6\u95f4","Server time":"\u670d\u52a1\u5668\u65f6\u95f4","Local time":"\u5f53\u5730\u65f6\u95f4","Description":"\u63cf\u8ff0","nextSunrise":"\u4e0b\u4e00\u4e2a\u65e5\u51fa","nextSunset":"\u4e0b\u4e00\u4e2a\u65e5\u843d","Astronomical events today":"\u4eca\u5929\u7684\u5929\u6587\u4e8b\u4ef6","Compares current time with astronomical event":"\u5c06\u5f53\u524d\u65f6\u95f4\u4e0e\u5929\u6587\u4e8b\u4ef6\u8fdb\u884c\u6bd4\u8f83","Show astronomical events":"\u663e\u793a\u5929\u6587\u4e8b\u4ef6","Astronomical":"\u5929\u6587","Enter your question":"\u8f93\u5165\u60a8\u7684\u8981\u6c42","Press Ctrl+Enter to get the answer":"\u6309 Ctrl+Enter \u5373\u53ef\u5f97\u5230\u7b54\u6848","Ask":"\u95ee","Result":"\u7ed3\u679c","Use generated code":"\u4f7f\u7528\u751f\u6210\u7684\u4ee3\u7801","No Chat GPT Key found":"\u627e\u4e0d\u5230\u804a\u5929 GPT \u5bc6\u94a5","You have to enter OpenAI API key in the configuration of javascript adapter.":"\u60a8\u5fc5\u987b\u5728 javascript \u9002\u914d\u5668\u7684\u914d\u7f6e\u4e2d\u8f93\u5165 OpenAI API \u5bc6\u94a5\u3002","Open configuration":"\u5f00\u653e\u914d\u7f6e"}')}}]); -//# sourceMappingURL=864.2e977ad1.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkjs=self.webpackChunkjs||[]).push([[864],{63541:(e,t,s)=>{s.r(t);var a=s(4819),i=s.n(a),o=s(1250),n=s(11640),r=s(10937),l=s(58503),c=s(15854),d=s.n(c),u=s(55377),p=s(52721),h=s.n(p),m=(s(64630),s(43488)),g=s(10154),b=s.n(g),y=s(20889),v=s.n(y),f=s(75606),S=s(16856),x=s(88654),k=s(94721),w=s(43236),C=s(52411),j=s(57064),I=s(47055),T=s(49900),D=s(90977),A=s(52744),N=s(82626),E=s(4110),O=s(98422),_=s(1067),R=s(60090),M=s(46401),z=s(56355),P=s(80007),B=s(51637),F=s(82460);const L="data:image/png;base64,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",U="data:image/png;base64,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",Z="data:image/png;base64,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",W="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAdLaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwMiA3OS4xNjQ0NjAsIDIwMjAvMDUvMTItMTY6MDQ6MTcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMS0wMS0xMFQxMTowNDoxNiswMzowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjEtMDItMjVUMDk6MzM6NTMrMDM6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDItMjVUMDk6MzM6NTMrMDM6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0iQWRvYmUgUkdCICgxOTk4KSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowODYwNDk3ZS1kM2NmLTQ4NjktOTJkMy1lZDdhMWJhZjRjNDMiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphZGNhYzk5MC01NDk0LTMxNGEtOGUzOS0yMjM3MGIzYTc1NjEiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3ZGJiZjliOC1lOThkLTQ1YmQtOWZlMS00Njk4NjZkODdiYmUiPiA8cGhvdG9zaG9wOlRleHRMYXllcnM+IDxyZGY6QmFnPiA8cmRmOmxpIHBob3Rvc2hvcDpMYXllck5hbWU9IlJVTEVTIiBwaG90b3Nob3A6TGF5ZXJUZXh0PSJSVUxFUyIvPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOlRleHRMYXllcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N2RiYmY5YjgtZTk4ZC00NWJkLTlmZTEtNDY5ODY2ZDg3YmJlIiBzdEV2dDp3aGVuPSIyMDIxLTAxLTEwVDExOjA0OjE2KzAzOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5p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";var V=s(5849),J=s(65661),q=s(4899),H=s(77386),G=s(5574),Y=s(93006),K=s(45363),Q=s(84701),X=s(62861),$=s(86711),ee=s(872),te=s(80184);class se extends i().Component{constructor(e){super(e),this.handleCancel=()=>{this.props.onClose()},this.handleOk=()=>{this.props.onRename(this.oldId,this.state.id,this.state.name,this.state.instance),this.props.onClose()},this.handleChange=e=>{this.setState({name:e,id:this.getId(e)})},this.state={name:e.name,id:e.id,instance:e.instance||0},this.isShowInstance=!e.folder&&e.instances&&(e.instance||e.instances[0]||e.instances.length>1),this.prefix=this.getPrefix(e.id),this.oldId=e.id}getPrefix(e){const t=(e||"").split(".");return t.pop(),t.join(".")}getId(e){return e=(e||"").replace(/[\\/\][*,;'"`<>?\s]/g,"_"),this.prefix+"."+e}componentWillReceiveProps(e){e.name!==this.props.name&&this.setState({name:e.name}),e.id!==this.props.id&&(this.prefix=this.getPrefix(e.id),this.setState({id:e.id}))}render(){return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[(0,te.jsx)(J.Z,{id:"confirmation-dialog-title",children:f.I18n.t("Rename")}),(0,te.jsx)(q.Z,{children:(0,te.jsxs)("form",{noValidate:!0,autoComplete:"off",children:[(0,te.jsx)(Y.Z,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,label:f.I18n.t("Name"),value:this.state.name,onKeyPress:e=>{"Enter"===e.key&&(e.preventDefault(),setTimeout((()=>this.handleOk()),200))},onChange:e=>this.handleChange(e.target.value),margin:"normal"}),(0,te.jsx)(Y.Z,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:f.I18n.t("ID"),value:this.state.id,disabled:!0,margin:"normal"}),this.isShowInstance&&(0,te.jsxs)(K.Z,{variant:"standard",children:[(0,te.jsx)(X.Z,{htmlFor:"instance",children:f.I18n.t("Instance")}),(0,te.jsx)(Q.Z,{variant:"standard",value:this.state.instance,onChange:e=>this.setState({instance:parseInt(e.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:this.props.instances.map((e=>(0,te.jsx)(N.Z,{value:e,children:e||"0"},e)))})]})]})}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Ok")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Cancel")})]})]})}}const ae=se;class ie extends i().Component{constructor(e){super(e),this.handleCancel=()=>{this.props.onClose(null)},this.handleOk=()=>{this.props.onDelete(this.state.id),this.props.onClose(this.props.value)},this.state={name:e.name,id:e.id}}componentWillReceiveProps(e){e.name!==this.props.name&&this.setState({name:e.name}),e.id!==this.props.id&&this.setState({id:e.id})}render(){return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"md",open:!0,"aria-labelledby":"confirmation-dialog-title",children:[(0,te.jsx)(J.Z,{id:"confirmation-dialog-title",children:f.I18n.t("Are you sure?")}),(0,te.jsxs)(q.Z,{children:[(0,te.jsx)(S.ZkW,{}),(0,te.jsx)("span",{style:{fontSize:14,fontWeight:"bold"},children:f.I18n.t("Delete %s",this.state.name)})]}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",onClick:this.handleOk,color:"primary",startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Ok")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Cancel")})]})]})}}const oe=(0,u.Z)((e=>({})))(ie);var ne=s(88588),re=s(81374),le=s(77234),ce=s(22492),de=s(1867);const ue=s.p+"static/media/tileJS.8810e7b4835e61465c3a.png",pe=s.p+"static/media/tileTS.446265dff5dc550d46a5.png",he=s.p+"static/media/tileBlockly.42b0a9f0e66bc4e68f4b.png",me=s.p+"static/media/tileRules.7ed5885a66686cc288b1.png";class ge extends i().Component{constructor(){super(...arguments),this.handleCancel=()=>{this.props.onClose()},this.handleOk=e=>{this.props.onClose(e)}}openHtml(e){const t=f.I18n.getLanguage();e.includes("javascript.md")||"de"!==t&&"ru"!==t||(e=e.replace(/\/en\//,"/"+t+"/"));window.open(e,"_blank").focus()}getJSCard(){return(0,te.jsxs)(ne.Z,{className:this.props.classes.card,children:[(0,te.jsxs)(re.Z,{onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:[(0,te.jsx)(de.Z,{className:this.props.classes.media,image:ue,title:"JavaScript"}),(0,te.jsxs)(ce.Z,{children:[(0,te.jsx)("h2",{children:"JavaScript"}),(0,te.jsx)("div",{className:this.props.classes.complexity,children:f.I18n.t("for programmers")}),(0,te.jsx)("div",{className:this.props.classes.text,children:f.I18n.t("JS description")})]})]}),(0,te.jsxs)(le.Z,{children:[(0,te.jsx)(V.Z,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Javascript/js"),children:f.I18n.t("Add")}),(0,te.jsx)(V.Z,{size:"small",color:"secondary",onClick:()=>this.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:f.I18n.t("Learn More")})]})]})}getTSCard(){return(0,te.jsxs)(ne.Z,{className:this.props.classes.card,children:[(0,te.jsxs)(re.Z,{onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:[(0,te.jsx)(de.Z,{className:this.props.classes.media,image:pe,title:"TypeScript"}),(0,te.jsxs)(ce.Z,{children:[(0,te.jsx)("h2",{children:"TypeScript"}),(0,te.jsx)("div",{className:this.props.classes.complexity,children:f.I18n.t("for professionals")}),(0,te.jsx)("div",{className:this.props.classes.text,children:f.I18n.t("TS description")})]})]}),(0,te.jsxs)(le.Z,{children:[(0,te.jsx)(V.Z,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("TypeScript/ts"),children:f.I18n.t("Add")}),(0,te.jsx)(V.Z,{size:"small",color:"secondary",onClick:()=>this.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:f.I18n.t("Learn More")})]})]})}getBlocklyCard(){return(0,te.jsxs)(ne.Z,{className:this.props.classes.card,children:[(0,te.jsxs)(re.Z,{onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:[(0,te.jsx)(de.Z,{className:this.props.classes.media,image:he,title:"Blockly"}),(0,te.jsxs)(ce.Z,{children:[(0,te.jsx)("h2",{children:"Blockly"}),(0,te.jsx)("div",{className:this.props.classes.complexity,children:f.I18n.t("normal")}),(0,te.jsx)("div",{className:this.props.classes.text,children:f.I18n.t("Blockly description")})]})]}),(0,te.jsxs)(le.Z,{children:[(0,te.jsx)(V.Z,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Blockly"),children:f.I18n.t("Add")}),(0,te.jsx)(V.Z,{size:"small",color:"secondary",onClick:()=>this.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md"),children:f.I18n.t("Learn More")})]})]})}getRulesCard(){return(0,te.jsxs)(ne.Z,{className:this.props.classes.card,children:[(0,te.jsxs)(re.Z,{onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:[(0,te.jsx)(de.Z,{className:this.props.classes.media,image:me,title:"Rules"}),(0,te.jsxs)(ce.Z,{children:[(0,te.jsx)("h2",{children:"Rules"}),(0,te.jsx)("div",{className:this.props.classes.complexity,children:f.I18n.t("easy")}),(0,te.jsx)("div",{className:this.props.classes.text,children:f.I18n.t("Rules description")})]})]}),(0,te.jsxs)(le.Z,{children:[(0,te.jsx)(V.Z,{size:"small",color:"primary",variant:"contained",onClick:()=>this.props.onClose&&this.props.onClose("Rules"),children:f.I18n.t("Add")}),(0,te.jsx)(V.Z,{size:"small",color:"secondary",onClick:()=>this.openHtml("https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md"),children:f.I18n.t("Learn More")})]})]})}render(){return(0,te.jsxs)(G.Z,{onClose:()=>!1,maxWidth:"lg",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[(0,te.jsx)(J.Z,{id:"confirmation-dialog-title",children:f.I18n.t("Add new script")}),(0,te.jsxs)(q.Z,{style:{textAlign:"center"},children:[this.getRulesCard(),this.getBlocklyCard(),this.getJSCard(),this.getTSCard()]}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{color:"grey",onClick:this.handleCancel,startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Cancel")})})]})}}const be=(0,u.Z)((e=>({card:{maxWidth:345,minWidth:250,display:"inline-block",margin:"0 10px 0 10px"},media:{height:122},text:{maxWidth:218,minHeight:30},complexity:{fontWeight:"bold",fontStyle:"italic",marginBottom:e.spacing(1)}})))(ge);class ye extends i().Component{constructor(e){super(e),this.handleCancel=()=>{this.props.onClose()},this.handleOk=()=>{this.props.onAdd(this.getId(this.state.name),this.state.name,this.state.instance,this.props.type),this.props.onClose()},this.handleChange=e=>{const t=this.getId(e);e?this.props.existingItems&&-1!==this.props.existingItems.indexOf(t)?this.setState({name:e,id:t,error:f.I18n.t("Duplicate name")}):this.setState({name:e,id:t,error:""}):this.setState({name:e,id:t,error:f.I18n.t("Empty name is not allowed")})},this.state={name:e.name||"Script",instance:e.instance||0,parent:e.parent,error:""},this.isShowInstance=!e.folder&&e.instances&&(e.instance||e.instances[0]||e.instances.length>1)}getId(e){return e=(e=e||this.state.name||"").replace(/[\\/\][.*,;'"`<>?\s]/g,"_").trim().replace(/\.$/,"_"),(this.state?this.state.parent:this.props.parent)+"."+e}componentWillReceiveProps(e){e.name!==this.props.name&&this.setState({name:e.name})}render(){return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title",children:[(0,te.jsx)(J.Z,{id:"confirmation-dialog-title",children:this.props.title||f.I18n.t("Create new")}),(0,te.jsx)(q.Z,{children:(0,te.jsxs)("form",{noValidate:!0,autoComplete:"off",children:[(0,te.jsx)(Y.Z,{variant:"standard",style:{width:"100%"},id:"standard-name",autoFocus:!0,error:!!this.state.error,label:f.I18n.t("Name"),value:this.state.name,helperText:this.state.error,onKeyPress:e=>{"Enter"===e.key&&(e.preventDefault(),setTimeout((()=>this.handleOk()),200))},onChange:e=>this.handleChange(e.target.value),margin:"normal"}),(0,te.jsxs)(K.Z,{variant:"standard",style:{width:"100%"},children:[(0,te.jsx)(X.Z,{htmlFor:"parent",children:f.I18n.t("Folder")}),(0,te.jsx)(Q.Z,{variant:"standard",style:{width:"100%"},value:this.state.parent,onChange:e=>this.setState({parent:e.target.value}),inputProps:{name:"parent",id:"parent"},children:this.props.parents.map((e=>{const t=e.id.split(".");t.splice(0,2);const s=[];let a="script.js";return t.forEach(((e,t)=>{a+="."+e;const i=this.props.parents.find((e=>e.id===a));i?s.push(i.name):s.push(e)})),s.length||s.push(e.name),(0,te.jsx)(N.Z,{value:e.id,children:s.join(" / ")},e.id)}))})]}),(0,te.jsx)(Y.Z,{variant:"standard",id:"standard-name-id",style:{width:"100%"},label:f.I18n.t("ID"),value:this.getId(),disabled:!0,margin:"normal"}),this.isShowInstance&&(0,te.jsxs)(K.Z,{variant:"standard",children:[(0,te.jsx)(X.Z,{htmlFor:"instance",children:f.I18n.t("Instance")}),(0,te.jsx)(Q.Z,{variant:"standard",value:this.state.instance,onChange:e=>this.setState({instance:parseInt(e.target.value,10)}),inputProps:{name:"instance",id:"instance"},children:this.props.instances.map((e=>(0,te.jsx)(N.Z,{value:e,children:e||"0"},"instance"+e)))})]})]})}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",onClick:this.handleOk,disabled:!!this.state.error,color:"primary",startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Ok")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:this.handleCancel,startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Cancel")})]})]})}}const ve=(0,u.Z)((e=>({})))(ye);var fe=s(31701);class Se extends i().Component{constructor(e){super(e),this.handleOk=()=>{this.props.onClose&&this.props.onClose()},console.log("Error created")}render(){return(0,te.jsxs)(G.Z,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:()=>this.handleOk(),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,te.jsx)(J.Z,{className:this.props.classes.titleBackground,classes:{root:this.props.classes.titleColor},id:"alert-dialog-title",children:this.props.title||f.I18n.t("Error")}),(0,te.jsx)(q.Z,{children:(0,te.jsx)(fe.Z,{id:"alert-dialog-description",children:this.props.text||f.I18n.t("Unknown error!")})}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",autoFocus:!0,startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Ok")})})]})}}const xe=(0,u.Z)((e=>({titleBackground:{background:e.palette.error.main},titleColor:{color:e.palette.error.contrastText,"&>h2":{color:e.palette.error.contrastText}}})))(Se);var ke=s(81153),we=s(97808),Ce=s(29823);class je extends i().Component{constructor(e){super(e),this.handleOk=()=>{if(this.state.instances.find((e=>e.id===this.state.adapterToDebug)).enabled)return this.props.socket.getObject("system.adapter."+this.state.adapterToDebug).then((e=>{e.common.enabled=!1,this.props.socket.setObject(e._id,e).then((()=>this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)))}));this.props.onDebug(this.state.jsInstance,this.state.adapterToDebug)},this.state={instances:[],filter:window.localStorage.getItem("javascript.debug.filter")||"",showAskForStop:!1,jsInstance:window.localStorage.getItem("javascript.debug.instance")||"",jsInstanceHost:"",adapterToDebug:window.localStorage.getItem("javascript.debug.adapter")||""}}componentDidMount(){this.props.socket.getAdapterInstances().then((e=>{(e=e.filter((e=>{var t;return e&&!(null!==(t=e.common)&&void 0!==t&&t.onlyWWW)})).map((e=>{var t,s,a;const i=e._id.replace(/^system\.adapter\./,""),[o]=i.split(".");return{id:i,enabled:null===(t=e.common)||void 0===t?void 0:t.enabled,host:null===(s=e.common)||void 0===s?void 0:s.host,icon:null!==(a=e.common)&&void 0!==a&&a.icon?"../../adapter/".concat(o,"/").concat(e.common.icon):""}}))).sort(((e,t)=>e.id>t.id?1:e.ide.id===this.state.jsInstance));this.state.jsInstance&&a?t=a?a.host:"":(s=e.find((e=>e.id.startsWith("javascript."))),t=s?s.host:"",s=s?s.id:"");let i=this.state.adapterToDebug||"";i&&!e.find((e=>e.id===i))&&(i=""),this.setState({instances:e,jsInstance:s,adapterToDebug:i,jsInstanceHost:t})}))}renderJavascriptList(){const e=this.state.instances.filter((e=>e.id.startsWith("javascript.")));return e.length<2?null:(0,te.jsxs)(ke.ZP,{item:!0,children:[(0,te.jsx)("div",{className:this.props.classes.title,children:f.I18n.t("Host")}),(0,te.jsx)(w.Z,{component:"nav",children:e.map((e=>(0,te.jsxs)(C.ZP,{button:!0,selected:this.state.jsInstance===e.id,onClick:this.setState({jsInstance:e.id,jsInstanceHost:e.host}),children:[(0,te.jsx)(j.Z,{children:(0,te.jsx)("img",{src:e.icon,alt:e.id,className:this.props.classes.icon})}),(0,te.jsx)(T.Z,{primary:e.id})]})))})]})}renderInstances(){if(this.state.jsInstance){const e=this.state.instances.filter((e=>e.id!==this.state.jsInstance&&e.host===this.state.jsInstanceHost&&(!this.state.filter||e.id.includes(this.state.filter.toLowerCase()))));return(0,te.jsxs)(ke.ZP,{item:!0,children:[(0,te.jsx)("div",{className:this.props.classes.title,children:f.I18n.t("Instances")}),(0,te.jsx)(w.Z,{component:"nav",children:e.map((e=>(0,te.jsxs)(C.ZP,{button:!0,selected:this.state.adapterToDebug===e.id,onDoubleClick:()=>this.setState({adapterToDebug:e.id},(()=>this.handleOk())),onClick:()=>this.setState({adapterToDebug:e.id}),children:[(0,te.jsx)(j.Z,{children:(0,te.jsx)("img",{src:e.icon,alt:e.id,className:this.props.classes.icon})}),(0,te.jsx)(T.Z,{primary:e.id})]})))})]})}return(0,te.jsx)(ke.ZP,{item:!0})}render(){return(0,te.jsxs)(G.Z,{maxWidth:"md",fullWidth:!1,open:!0,onClose:(e,t)=>!1,"aria-labelledby":"confirmation-dialog-title",children:[(0,te.jsx)(J.Z,{id:"confirmation-dialog-title",children:this.props.title||f.I18n.t("Debug instance")}),(0,te.jsx)(q.Z,{children:(0,te.jsxs)(ke.ZP,{container:!0,direction:"column",children:[(0,te.jsx)(ke.ZP,{item:!0,children:(0,te.jsx)(E.Z,{classes:{root:this.props.classes.filterWithButton},value:this.state.filter,placeholder:f.I18n.t("Filter"),onChange:e=>{this.setState({filter:e.target.value}),window.localStorage.setItem("javascript.debug.filter",e.target.value)},endAdornment:(0,te.jsx)(we.Z,{position:"end",children:this.state.filter?(0,te.jsx)(D.Z,{size:"small","aria-label":"toggle password visibility",onClick:()=>this.setState({filter:""}),children:(0,te.jsx)(Ce.Z,{})}):""})})}),(0,te.jsx)(ke.ZP,{item:!0,children:(0,te.jsxs)(ke.ZP,{container:!0,children:[this.renderJavascriptList(),this.renderInstances()]})})]})}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",onClick:this.handleOk,disabled:!this.state.jsInstance||!this.state.adapterToDebug,color:"primary",startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Start")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:()=>this.props.onClose(),startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Close")})]})]})}}const Ie=(0,u.Z)((e=>({buttonIcon:{marginRight:e.spacing(1)},icon:{width:24,height:24},filter:{width:"100%"},filterWithButton:{width:"100%"},title:{fontWeight:"bold",marginTop:e.spacing(2)}})))(je),Te=P.Z[400],De=B.Z[400],Ae=F.Z[400],Ne="script.js",Ee=Ne+".common",Oe=Ne+".global",_e=350,Re={background:"#164477",color:"white"},Me={Blockly:U,"Javascript/js":L,def:L,Rules:W,"TypeScript/ts":Z},ze=(e,t,s)=>(s=s||f.I18n.getLanguage(),t&&t.common&&t.common.name?"object"===typeof t.common.name?(t.common.name[s]||t.common.name.en||e.replace(/^script\.js./,"")).toString():t.common.name.toString():e.replace(/^script\.js./,"")),Pe=e=>{const t=[{id:Ne,depth:0,index:0,parent:null,title:"root",type:"folder"}],s=Object.keys(e);for(let i=0;i1?o.join("."):null,instance:a.common.engine?parseInt(a.common.engine.split(".").pop(),10)||0:null})}let a;do{a=!1,t.forEach((e=>{if(e.parent){if(!t.find((t=>t.id===e.parent))){const s=e.parent.split(".");s.pop(),t.push({id:e.parent,title:e.parent.split(".").pop(),depth:s.length-1,type:"folder",parent:s.length>1?s.join("."):null}),a=!0}}}))}while(a);return t.sort(((e,t)=>{const s=e.id.toLowerCase(),a=t.id.toLowerCase();return"folder"===e.type&&"folder"!==t.type?-1:"folder"===t.type&&"folder"!==e.type||s>a?1:se.index=t)),t.forEach((e=>{if(e.parent){const s=t.find((t=>t.id===e.parent));s&&(e.parentIndex=s.index)}})),t},Be=e=>{const{onDrop:t}=e,[{isOver:s,isOverAny:a},i]=(0,O.L)({accept:["script"],drop:e=>s?t(e):void 0,collect:e=>({isOver:e.isOver({shallow:!0}),isOverAny:e.isOver()})});return(0,te.jsx)("div",{ref:i,className:f.Utils.clsx(s&&"js-folder-dragover",a&&"js-folder-dragging"),children:e.children})},Fe=e=>{const{name:t}=e,[{opacity:s},a]=(0,_.c)({type:"script",item:()=>({name:t}),collect:e=>({opacity:e.isDragging()?.3:1})});return(0,te.jsx)("div",{ref:a,style:{opacity:s,transform:"translate3d(0, 0, 0)"},children:e.children})};class Le extends i().Component{constructor(e){super(e);let t=window.localStorage?window.localStorage.getItem("SideMenu.expanded"):"[]";try{t=JSON.parse(t)||[]}catch(a){t=[]}this.inputRef=new(i().createRef),this.state={listItems:Pe(e.scripts||{}),expanded:t,problems:[],reorder:!1,themeName:this.props.themeName,selected:window.localStorage&&window.localStorage.getItem("SideMenu.selected")||null,creatingScript:!1,creatingFolder:!1,copingScript:"",renaming:null,deleting:null,choosingType:null,errorText:"",instances:e.instances||[],menuOpened:!1,menuAnchorEl:null,searchMode:!1,expertMode:this.props.expertMode,searchText:"",width:this.props.width||300,typeFilter:window.localStorage&&window.localStorage.getItem("SideMenu.typeFilter")||"",statusFilter:window.localStorage&&window.localStorage.getItem("SideMenu.statusFilter")||"",runningInstances:this.props.runningInstances||{},scriptsHash:e.scriptsHash,showAdapterDebug:!1};const s=this.ensureSelectedIsVisible();s&&(this.state.expanded=s),this.filterTimer=null,this.state.isAllZeroInstances=this.getIsAllZeroInstances(),this.problems=null,this.problemsTimer=null,this.onProblemUpdatedBound=this.onProblemUpdated.bind(this)}readProblems(e,t){if(t||(t=Object.keys(this.props.scripts)),t&&t.length){const s=t.shift();if(this.props.scripts[s]&&"script"===this.props.scripts[s].type&&this.props.scripts[s].common&&this.props.scripts[s].common.enabled&&!s.match(/^script\.js\.global\./)){const a=this.props.scripts[s].common.engine.split(".").pop(),i=this,o="javascript.".concat(a,".scriptProblem.").concat(s.substring(10));this.props.socket.getState(o,((s,a)=>{i.onProblemUpdated(o,a),setTimeout((()=>i.readProblems(e,t)),0)}))}else setTimeout((()=>this.readProblems(e,t)),0)}else e&&e()}componentDidMount(){this.readProblems((()=>{this.props.instances.forEach((e=>{this.props.socket.subscribeState("javascript.".concat(e,".scriptProblem.*"),this.onProblemUpdatedBound)}))}))}componentWillUnmount(){this.props.instances.forEach((e=>{this.props.socket.unsubscribeState("javascript.".concat(e,".scriptProblem.*"),this.onProblemUpdatedBound)}))}onProblemUpdated(e,t){if(!t||!e)return;e="".concat(Ne,".").concat(e.replace(/^javascript\.\d+\.scriptProblem\./,"")),this.problems||(this.problems=JSON.parse(JSON.stringify(this.state.problems)));let s=!1;if(t.val)-1===this.problems.indexOf(e)&&(this.problems.push(e),s=!0);else{const t=this.problems.indexOf(e);-1!==t&&(this.problems.splice(t,1),s=!0)}s&&!this.problemsTimer&&(this.problemsTimer=setTimeout((()=>{this.problemsTimer=null,this.setState({problems:this.problems}),this.problems=null}),300))}static filterListStatic(e,t,s,a,i){t=JSON.parse(JSON.stringify(t));let o=!1,n={listItems:t};if(!1!==e&&s&&a){const e=a.toLowerCase();if(t.forEach((t=>{const s=t.title.toLowerCase();t.filteredPartly=!1;let a=s.includes(e);if(!a&&i&&i[t.id]&&i[t.id].common&&i[t.id].common.source)if("Blockly"===i[t.id].common.engineType){const s=i[t.id].common.source.lastIndexOf("//");a=i[t.id].common.source.substring(0,s).toLowerCase().includes(e)}else a=i[t.id].common.source.toLowerCase().includes(e);a?t.filtered&&(t.filtered=!1,o=!0):t.filtered||(t.filtered=!0,o=!0)})),o)for(let s=t.length-1;s>=0;s--){const e=t[s];if(!e.filtered||e.filteredPartly){let s=e;do{s.parent&&t[s.parentIndex]&&(o=!0,t[s.parentIndex].filteredPartly=!0),s=s.parent&&t[s.parentIndex]?t[s.parentIndex]:null}while(s)}}}else t.forEach((e=>{(e.filtered||e.filteredPartly)&&(e.filtered=!1,e.filteredPartly=!1,o=!0)})),!1===e&&(n.searchText="",n.searchMode=!1,o=!0);return o?n:null}filterList(e,t){const s=Le.filterListStatic(e,this.state.listItems,this.state.searchMode,this.state.searchText,this.props.scripts);s?this.setState(s,(()=>t&&t())):t&&t()}static ensureSelectedIsVisibleStatic(e,t,s){t=JSON.parse(JSON.stringify(t));let a=!1,i="object"===typeof e?e:s.find((t=>t.id===e));do{i=i&&i.parent&&s.find((e=>e.id===i.parent)),i&&-1===t.indexOf(i.id)&&(t.push(i.id),a=!0)}while(i);return a&&t}ensureSelectedIsVisible(e,t){Le.ensureSelectedIsVisibleStatic(e||this.state.selected,t||this.state.expanded,this.state.listItems)}static getDerivedStateFromProps(e,t){const s={};let a=!1;if(t.expertMode!==e.expertMode&&(a=!0,s.expertMode=e.expertMode),t.scriptsHash!==e.scriptsHash&&e.scripts){const i=Pe(e.scripts||{});if(s.listItems=i,t.searchText){const a=Le.filterListStatic(!0,i,t.searchMode,t.searchText,e.scripts);a&&Object.assign(s,a)}const o=Le.getIsAllZeroInstancesStatic(i,e.instances||[]),n=Le.ensureSelectedIsVisibleStatic(t.selected,t.expanded,t.listItems);s.isAllZeroInstances=o,n&&(s.expanded=n),a=!0}if(t.width!==e.width&&(a=!0,s.width=e.width),t.themeName!==e.themeName&&(a=!0,s.themeName=e.themeName),e.selectId&&t.selected!==e.selectId){const i=t.listItems.find((t=>t.id===e.selectId));if(!t.reorder&&i){const e=Le.ensureSelectedIsVisibleStatic(i,t.expanded,t.listItems);s.selected=i.id,e&&(s.expanded=e),a=!0,window.localStorage&&window.localStorage.setItem("SideMenu.selected",i.id)}}return a?s:null}static getIsAllZeroInstancesStatic(e,t){let s=!t[0]&&t.length<=1;return s&&e.forEach((e=>{"folder"!==e.type&&0!==e.instance&&(s=!1)})),s}getIsAllZeroInstances(e,t){return e=e||this.state.listItems,t=t||this.state.instances,Le.getIsAllZeroInstancesStatic(e||this.state.listItems,t||this.state.instances)}saveExpanded(e){window.localStorage.setItem("SideMenu.expanded",JSON.stringify(e||this.state.expanded))}showError(e){this.setState({errorText:e})}onToggle(e,t){if(t&&t.stopPropagation(),e===Ne)return;const s=[...this.state.expanded],a={expanded:s},i=s.indexOf(e);-1!==i?(s.splice(i,1),this.state.selected&&this.state.selected.startsWith("".concat(e,"."))&&(a.selected=e,window.localStorage&&window.localStorage.setItem("SideMenu.selected",e))):(s.push(e),s.sort()),this.setState({expanded:s}),this.saveExpanded(s)}renderItemButtonsOnEnd(e,t){if(this.state.reorder)return null;if("folder"!==e.type){let t=e.enabled?Te:Ae;return e.enabled&&this.state.problems.includes(e.id)&&(t=De),[(0,te.jsx)(D.Z,{className:f.Utils.clsx(this.props.classes.iconButtons,this.props.debugMode&&this.props.classes.iconButtonsDisabled),onClick:t=>{t.stopPropagation(),this.props.onEnableDisable&&this.props.onEnableDisable(e.id,!e.enabled)},title:e.enabled?f.I18n.t("Pause script"):f.I18n.t("Run script"),disabled:this.props.debugMode,style:{color:t},size:"medium",children:e.enabled?(0,te.jsx)(S.hPq,{}):(0,te.jsx)(S.Nhx,{})},"startStop"),this.state.width>_e?(0,te.jsx)(D.Z,{className:f.Utils.clsx(this.props.debugMode&&this.props.classes.iconButtonsDisabled),title:f.I18n.t("Delete script"),disabled:e.id===Oe||e.id===Ee||this.props.debugMode,onClick:t=>this.onDelete(e,t),size:"medium",children:(0,te.jsx)(S.ZkW,{})},"delete"):null,(0,te.jsx)(D.Z,{className:f.Utils.clsx(this.props.debugMode&&this.props.classes.iconButtonsDisabled),disabled:this.props.debugMode,title:f.I18n.t("Edit script or just double click"),onClick:t=>this.onEdit(e,t),size:"medium",children:(0,te.jsx)(S.jzb,{})},"openInEdit")]}return this.state.width>_e?e.id===Ne||e.id===Ee||e.id===Oe||t&&t.length?null:(0,te.jsx)(D.Z,{className:f.Utils.clsx(this.props.debugMode&&this.props.classes.iconButtonsDisabled),title:f.I18n.t("Delete folder"),disabled:e.id===Oe||e.id===Ee||this.props.debugMode,onClick:t=>this.onDelete(e,t),size:"medium",children:(0,te.jsx)(S.ZkW,{})},"delete"):void 0}onDelete(e,t){return t&&t.stopPropagation(),new Promise((t=>{"object"!==typeof e?this.setState({deleting:e}):this.setState({deleting:e.id})}))}onEdit(e,t){this.onClick(e,t),this.props.onEdit&&this.props.onEdit(e.id)}getTextStyle(e){return this.state.reorder||"folder"===e.type?{whiteSpace:"nowrap",padding:"0 16px 0 0"}:{width:"calc(100% - ".concat(this.state.width>_e?185:137,"px)"),overflow:"hidden",whiteSpace:"nowrap",flex:"none",padding:"0 16px 0 0"}}onClick(e,t){if(t&&t.stopPropagation(),!this.state.reorder&&e){const t=this.ensureSelectedIsVisible(e),s={selected:e.id};t&&(s.expanded=t),this.setState(s),window.localStorage&&window.localStorage.setItem("SideMenu.selected",e.id)}}onDblClick(e,t){t&&t.stopPropagation(),this.state.reorder||("folder"===e.type?this.onToggle(e.id):this.onEdit(e))}isFilteredOut(e){return!(!e.filtered||e.filteredPartly)||(!(!this.state.typeFilter||"folder"===e.type||e.type===this.state.typeFilter)||(!(!this.state.statusFilter||"folder"===e.type||!("running"===this.state.statusFilter&&!e.enabled||"paused"===this.state.statusFilter&&e.enabled)&&("problems"!==this.state.statusFilter||e.enabled&&-1!==this.state.problems.indexOf(e.id)))||e.id===Oe&&!this.state.expertMode))}renderListItem(e,t,s){if(e.id===Ne&&!this.state.reorder)return null;const a=16*(this.state.reorder?e.depth:e.depth-1);let i=e.title;if(this.state.searchText){const e=i.toLowerCase().indexOf(this.state.searchText.toLowerCase());-1!==e&&(i=[(0,te.jsx)("span",{children:i.substring(0,e)},"first"),(0,te.jsx)("span",{style:{color:"orange"},children:i.substring(e,e+this.state.searchText.length)},"second"),(0,te.jsx)("span",{children:i.substring(e+this.state.searchText.length)},"third")])}this.state.isAllZeroInstances||"folder"===e.type||(i=[(0,te.jsxs)("span",{title:f.I18n.t("Instance"),className:this.props.classes.instances,children:["[",e.instance,"] "]},"instance"),(0,te.jsx)("span",{children:i},"title")]);const o=this.state.reorder&&!this.props.debugMode,n=Object.assign({marginLeft:a,cursor:"folder"===e.type&&o?"default":"inherit",width:"calc(100% - ".concat(a,"px)")},e.id!==this.state.selected||o?{}:Re);o||(n.opacity=e.filteredPartly?.5:1),e.id===Oe&&e.id!==this.state.selected&&(n.color="#00a200");let r=e.id===Ne;!r&&t&&(r=this.state.expanded.includes(e.id));let l,c={};e.id===Oe?c.color="#356956":e.id===Ee&&(c.color="#4899e1"),l="folder"===e.type?f.Utils.clsx(this.props.classes.folderIcon,o?this.props.classes.folderIconReorder:this.props.classes.folderIconNoReorder):f.Utils.clsx(this.props.classes.scriptIcon,o?this.props.classes.scriptIconReorder:this.props.classes.scriptIconNoReorder);let d=null;return(s&&s.length||t&&t.length)&&(d=(0,te.jsx)("span",{className:this.props.classes.childrenCount,children:s&&s.length!==t.length?"".concat(s.length,"(").concat(t.length,")"):t.length})),(0,te.jsxs)(C.ZP,{style:n,className:f.Utils.clsx("folder"===e.type?this.props.classes.folder:this.props.classes.script,o&&"folder"===e.type&&"folder-reorder",o&&"folder"!==e.type&&"script-reorder",o&&this.props.classes.reorder,o&&"folder"!==e.type&&this.props.classes.scriptReorder,o&&"folder"===e.type&&this.props.classes.folderReorder),onClick:t=>this.onClick(e,t),onDoubleClick:t=>this.onDblClick(e,t),children:[(0,te.jsx)(j.Z,{classes:{root:this.props.classes.listItemIcon},children:"folder"===e.type?o||r?(0,te.jsx)(z.MDs,{className:l,style:c,onClick:t=>!o&&this.onToggle(e.id,t)}):(0,te.jsx)(z.$nz,{className:l,style:c,onClick:t=>!o&&this.onToggle(e.id,t)}):(0,te.jsx)("img",{className:l,alt:e.type,src:Me[e.type]||Me.def})}),(0,te.jsx)(T.Z,{classes:{primary:e.id!==this.state.selected||o?void 0:this.props.classes.selected},style:this.getTextStyle(e),primary:(0,te.jsxs)("span",{children:[i,d]})}),(0,te.jsx)(I.Z,{children:this.renderItemButtonsOnEnd(e,t)})]},e.id)}onDragFinish(e,t){let s="".concat(t,".").concat(e.split(".").pop());s!==e&&(this.state.listItems.find((e=>e.id===s))&&(s+="_".concat(f.I18n.t("copy"))),this.props.onRename&&this.props.onRename(e,s))}renderOneItem(e,t){let s=(this.state.statusFilter||this.state.typeFilter)&&e.filter((e=>e.parent===t.id&&!this.isFilteredOut(e))),a=e.filter((e=>e.parent===t.id));if(this.isFilteredOut(t))return;if("folder"===t.type&&(this.state.statusFilter||this.state.typeFilter)&&!s.length)return;const i=this.state.reorder&&!this.props.debugMode,o=this.renderListItem(t,a,s),n=[];let r;return a&&(i||this.state.expanded.includes(t.id)||t.id===Ne)&&(r=a.map((t=>this.renderOneItem(e,t)))),i?"folder"===t.type?n.push((0,te.jsxs)(Be,{onDrop:e=>this.onDragFinish(e.name,t.id),children:[(0,te.jsx)(Fe,{name:t.id,children:o},"draggable_".concat(t.id)),r||null]},"droppable_".concat(t.id))):n.push((0,te.jsxs)(Fe,{name:t.id,children:[o,r||null]},"draggable_".concat(t.id))):(n.push(o),r&&r.forEach((e=>n.push(e)))),n}renderAllItems(e){const t=e.filter((e=>!e.parent)).map((t=>this.renderOneItem(e,t)));return(0,te.jsx)(w.Z,{dense:!0,disablePadding:!0,className:this.props.classes.mainList,children:t})}onAddNew(e){e&&e.stopPropagation();let t=this.state.listItems.find((e=>e.id===this.state.selected)),s=Ne;for(;t&&"folder"!==t.type;)t=this.state.listItems[t.parentIndex];t&&(s=t.id),this.parent=s,this.setState({choosingType:!0})}onCopy(e,t){e&&e.stopPropagation();let s=this.state.listItems.find((e=>e.id===t)),a=Ne;for(;s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({copingScript:t})}onAddNewFolder(e){e&&e.stopPropagation();let t=this.state.listItems.find((e=>e.id===this.state.selected)),s=Ne;for(;t&&"folder"!==t.type;)t=this.state.listItems[t.parentIndex];t&&(s=t.id),this.parent=s,this.setState({creatingFolder:!0})}onRename(e){e&&e.stopPropagation(),this.setState({renaming:this.state.selected})}getUniqueName(e){let t=1,s="".concat(f.I18n.t("Script")," ");if(e){let a=ze(e,this.props.scripts[e]);const i=a.match(/\d+$/);i?(s=a.replace(/\d+$/,""),t=parseInt(i[0],10)+1):s=a}for(;this.state.listItems.find((e=>e.id==="".concat(this.parent,".").concat(s.replace(/\.\s/g,"_")).concat(t)));)t++;return s+t}getUniqueFolderName(){let e=1;for(;this.state.listItems.find((t=>t.id==="".concat(this.parent,".").concat(f.I18n.t("Folder"),"_").concat(e)));)e++;return"".concat(f.I18n.t("Folder")," ").concat(e)}onCloseMenu(e){this.setState({menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null},e)}getFilterBadge(){return[!0===this.state.statusFilter&&(0,te.jsx)(S.Nhx,{className:this.props.classes.filterIcon,style:{color:Te}}),!1===this.state.statusFilter&&(0,te.jsx)(S.hPq,{className:this.props.classes.filterIcon,style:{color:Ae}}),"Blockly"===this.state.typeFilter&&"Bl","Javascript/js"===this.state.typeFilter&&"JS","TypeScript/ts"===this.state.typeFilter&&"TS"]}getMainMenu(e,t){return(0,te.jsxs)(A.Z,{id:"long-menu",anchorEl:this.state.menuAnchorEl,open:this.state.menuOpened,onClose:()=>this.setState({menuOpened:!1,menuAnchorEl:null}),PaperProps:{style:{maxHeight:360}},children:[this.state.width<=_e?(0,te.jsxs)(N.Z,{disabled:this.props.debugMode||!this.state.selected||this.state.selected===Oe||this.state.selected===Ee||e&&e.length,onClick:e=>{e.stopPropagation(),e.preventDefault(),this.state.listItems.find((e=>e.parent===this.state.selected))?this.showError(f.I18n.t("Cannot delete non empty item!")):this.setState({menuOpened:!1,menuAnchorEl:null},(()=>this.onDelete(this.state.selected).then((()=>{}))))},children:[(0,te.jsx)(S.ZkW,{className:this.props.classes.iconDropdownMenu,style:{color:"red"}}),f.I18n.t("Delete")]},"delete"):null,(0,te.jsxs)(N.Z,{disabled:this.props.debugMode,selected:this.state.expertMode,onClick:e=>{e.stopPropagation(),e.preventDefault(),this.onCloseMenu((()=>this.props.onExpertModeChange&&this.props.onExpertModeChange(!this.state.expertMode)))},children:[(0,te.jsx)(S.Bjz,{className:this.props.classes.iconDropdownMenu,style:{color:this.state.expertMode?"orange":"inherit"}}),f.I18n.t("Expert mode")]},"expertMode"),this.props.onExport&&(0,te.jsxs)(N.Z,{onClick:e=>{e.stopPropagation(),e.preventDefault(),this.onCloseMenu((()=>this.props.onExport()))},children:[(0,te.jsx)(z.u$v,{className:this.props.classes.iconDropdownMenu}),f.I18n.t("Export all scripts")]},"exportAll"),this.props.onImport&&(0,te.jsxs)(N.Z,{disabled:this.props.debugMode,onClick:e=>{e.stopPropagation(),e.preventDefault(),this.onCloseMenu((()=>this.props.onImport()))},children:[(0,te.jsx)(z.Xur,{className:this.props.classes.iconDropdownMenu}),f.I18n.t("Import scripts")]},"import"),this.props.onThemeChange&&(0,te.jsxs)(N.Z,{onClick:()=>this.onCloseMenu((()=>{const e="dark"===this.state.themeName?"blue":"blue"===this.state.themeName?"colored":"colored"===this.state.themeName?"light":"light"===this.state.themeName?"dark":"colored";this.props.onThemeChange(e)})),children:[(0,te.jsx)(S.Zox,{className:this.props.classes.iconDropdownMenu}),f.I18n.t('Change theme (actual "%s")',this.state.themeName)]},"dark"),this.props.onAddNew&&(0,te.jsxs)(N.Z,{disabled:!this.state.selected||!t||"folder"===t.type,onClick:e=>{const t=this.state.selected;this.onCloseMenu((()=>this.onCopy(e,t)))},children:[(0,te.jsx)(S.Fqs,{className:this.props.classes.iconDropdownMenu}),f.I18n.t("Copy script")]},"copy"),this.state.expertMode&&(0,te.jsxs)(N.Z,{disabled:this.props.debugMode,onClick:e=>{e.stopPropagation(),e.preventDefault(),this.onCloseMenu((()=>this.setState({showAdapterDebug:!0})))},children:[(0,te.jsx)(S.qXL,{className:this.props.classes.iconDropdownMenu}),f.I18n.t("Debug instance")]},"debugInstance")]},"menu")}getToolbarButtons(){const e=[],t=this.props.classes,s=this.state.reorder&&!this.props.debugMode;if(this.state.searchMode&&!this.props.debugMode)e.push((0,te.jsx)(E.Z,{value:this.state.searchText,className:t.toolbarSearch,ref:this.inputRef,autoFocus:!0,placeholder:f.I18n.t("Search..."),onChange:e=>{this.setState({searchText:e.target.value}),this.filterTimer&&clearTimeout(this.filterTimer),this.filterTimer=setTimeout((()=>{this.filterTimer=null,this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)}),400)}},"searchInput")),e.push((0,te.jsx)(D.Z,{className:t.toolbarButtons,style:{float:"right"},title:f.I18n.t("End search mode"),onClick:e=>{e.stopPropagation(),this.filterList(!1,(()=>this.props.onSearch&&this.props.onSearch(this.state.searchText)))},size:"medium",children:(0,te.jsx)(S.w7s,{})},"disableSearch")),this.state.searchText&&e.push((0,te.jsx)(D.Z,{mini:"true",title:f.I18n.t("Clear search input"),className:t.toolbarButtons,style:{marginTop:7,float:"right"},onClick:e=>{e.stopPropagation(),this.setState({searchText:""},(()=>{this.filterList(!0),this.props.onSearch&&this.props.onSearch(this.state.searchText)}))},size:"medium",children:(0,te.jsx)(S.FU5,{fontSize:"small"})},"cleanSearch"));else{if(!s){e.push((0,te.jsx)(D.Z,{"aria-label":"More","aria-owns":this.state.menuOpened?"long-menu":void 0,title:f.I18n.t("Menu"),"aria-haspopup":"true",onClick:e=>{e.stopPropagation(),e.preventDefault(),this.setState({menuOpened:!0,menuAnchorEl:e.currentTarget})},size:"medium",children:(0,te.jsx)(S.rgS,{})},"menuButton"));const a=this.state.listItems.find((e=>e.id===this.state.selected));let i;a&&this.state.width<=_e&&"folder"===a.type&&(i=this.state.listItems.filter((e=>e.parent===this.state.selected))),e.push(this.getMainMenu(i,a)),e.push((0,te.jsx)(D.Z,{disabled:this.props.debugMode,title:f.I18n.t("Create new script"),className:f.Utils.clsx(t.toolbarButtons,this.props.debugMode&&t.iconButtonsDisabled),style:{color:s?"red":"inherit"},onClick:e=>this.onAddNew(e),size:"medium",children:(0,te.jsx)(S.x06,{})},"new-script")),e.push((0,te.jsx)(D.Z,{disabled:this.props.debugMode,title:f.I18n.t("Create new folder"),className:f.Utils.clsx(t.toolbarButtons,this.props.debugMode&&t.iconButtonsDisabled),style:{color:s?"red":"inherit"},onClick:()=>this.onAddNewFolder(),size:"medium",children:(0,te.jsx)(S.Db7,{})},"new-folder"))}e.push((0,te.jsx)(D.Z,{disabled:s||this.props.debugMode,className:f.Utils.clsx(t.toolbarButtons,this.props.debugMode&&t.iconButtonsDisabled),title:f.I18n.t("Search in scripts"),style:{float:"right",opacity:this.props.debugMode?.5:s?0:1},onClick:e=>{e.stopPropagation(),this.setState({searchMode:!0})},size:"medium",children:(0,te.jsx)(S.vU7,{})},"search")),e.push((0,te.jsx)(D.Z,{disabled:this.props.debugMode,title:f.I18n.t("Reorder scripts in folders"),className:f.Utils.clsx(t.toolbarButtons,this.props.debugMode&&t.iconButtonsDisabled),style:{color:s?"red":"inherit",float:"right"},onClick:e=>{e.stopPropagation(),this.setState({reorder:!this.state.reorder})},size:"medium",children:(0,te.jsx)(S.Llt,{})},"reorder")),!s&&this.state.selected&&this.state.selected!==Oe&&this.state.selected!==Ee&&e.push((0,te.jsx)(D.Z,{className:f.Utils.clsx(t.toolbarButtons,this.props.debugMode&&t.iconButtonsDisabled),disabled:this.props.debugMode,title:f.I18n.t("Rename"),onClick:e=>this.onRename(e),size:"medium",children:(0,te.jsx)(S.zmo,{})},"rename")),e.push((0,te.jsxs)("span",{style:{opacity:.5,fontSize:10},children:["v",this.props.version]},"version"))}return e}getFolders(){const e=[{id:Ne,name:f.I18n.t("Root folder")}];return this.state.listItems.forEach((t=>{"folder"===t.type&&t.id!==Ne&&(t.id.startsWith(Oe)&&!this.state.expertMode||e.push({id:t.id,name:t.title}))})),e}onCollapseAll(){this.setState({expanded:[]}),this.saveExpanded([])}onExpandAll(){const e=[];this.state.listItems.forEach((t=>this.state.listItems.find((e=>e.parent===t.id))&&e.push(t.id))),this.setState({expanded:e}),this.saveExpanded(e)}getBottomButtons(){return this.state.reorder||this.props.debugMode?null:[(0,te.jsx)(S.hPq,{className:this.props.classes.footerButtons,style:{color:Te,opacity:"running"===this.state.statusFilter?1:.3,background:"running"===this.state.statusFilter?"gray":"inherit"},title:f.I18n.t("Show only running scripts"),onClick:e=>{e.stopPropagation(),e.preventDefault();const t="running"===this.state.statusFilter?"":"running";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",t),this.setState({statusFilter:t})}},"filterByRunning"),(0,te.jsx)(S.Nhx,{title:f.I18n.t("Show only paused scripts"),className:this.props.classes.footerButtons,style:{color:Ae,opacity:"paused"===this.state.statusFilter?1:.3,background:"paused"===this.state.statusFilter?"gray":"inherit"},onClick:()=>{const e="paused"===this.state.statusFilter?"":"paused";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",e),this.setState({statusFilter:e})}},"filterByPaused"),(0,te.jsx)(S.hPq,{title:f.I18n.t("Show only scripts with problems"),className:this.props.classes.footerButtons,style:{color:De,opacity:"problems"===this.state.statusFilter?1:.3,background:"problems"===this.state.statusFilter?"gray":"inherit"},onClick:()=>{const e="problems"===this.state.statusFilter?"":"problems";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",e),this.setState({statusFilter:e})}},"filterByProblem"),(0,te.jsx)("img",{className:this.props.classes.footerButtons,alt:"Blockly",style:{opacity:"Blockly"===this.state.typeFilter?1:.3,background:"Blockly"===this.state.typeFilter?"gray":"inherit"},src:Me.Blockly||Me.def,onClick:()=>{const e="Blockly"===this.state.typeFilter?"":"Blockly";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",e),this.setState({typeFilter:e})}},"filterBlockly"),(0,te.jsx)("img",{className:this.props.classes.footerButtons,alt:"Javascript",style:{opacity:"Javascript/js"===this.state.typeFilter?1:.3,background:"Javascript/js"===this.state.typeFilter?"gray":"inherit"},src:Me["Javascript/js"]||Me.def,onClick:()=>{const e="Javascript/js"===this.state.typeFilter?"":"Javascript/js";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",e),this.setState({typeFilter:e})}},"filterJS"),(0,te.jsx)("img",{className:this.props.classes.footerButtons,alt:"TypeScript",style:{opacity:"TypeScript/ts"===this.state.typeFilter?1:.3,background:"TypeScript/ts"===this.state.typeFilter?"gray":"inherit"},src:Me["TypeScript/ts"]||Me.def,onClick:()=>{const e="TypeScript/ts"===this.state.typeFilter?"":"TypeScript/ts";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",e),this.setState({typeFilter:e})}},"filterTS"),(0,te.jsx)("img",{className:this.props.classes.footerButtons,alt:"Rules",style:{opacity:"Rules"===this.state.typeFilter?1:.3,background:"Rules"===this.state.typeFilter?"gray":"inherit"},src:Me.Rules||Me.def,onClick:e=>{const t="Rules"===this.state.typeFilter?"":"Rules";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",t),this.setState({typeFilter:t})}},"filterRules"),(0,te.jsx)(S.bPX,{className:"".concat(this.props.classes.footerButtons," ").concat(this.props.classes.footerButtonsRight),title:f.I18n.t("Expand all"),onClick:()=>this.onExpandAll()},"expandAll"),this.state.expanded.length?(0,te.jsx)(S.SPo,{className:"".concat(this.props.classes.footerButtons," ").concat(this.props.classes.footerButtonsRight),title:f.I18n.t("Collapse all"),onClick:()=>this.onCollapseAll()},"collapseAll"):null]}getAdapterDebugDialog(){if(this.state.showAdapterDebug)return(0,te.jsx)(Ie,{socket:this.props.socket,onClose:()=>this.setState({showAdapterDebug:!1}),onDebug:(e,t)=>this.setState({showAdapterDebug:!1},(()=>this.props.onDebugInstance({instance:e,adapter:t})))},"debug")}render(){const{classes:e}=this.props,t=this.state.renaming&&this.state.listItems.find((e=>e.id===this.state.renaming)),s=this.state.copingScript&&this.props.scripts[this.state.copingScript];return[(0,te.jsxs)(x.ZP,{variant:"permanent",className:e.menu,classes:{paper:e.drawerPaper},anchor:"left",onClick:()=>this.onClick({id:""}),children:[(0,te.jsx)("div",{className:e.toolbar,children:this.getToolbarButtons()}),(0,te.jsx)(k.Z,{}),(0,te.jsx)(R.W,{backend:M.PD,children:(0,te.jsx)("div",{className:e.innerMenu,children:this.renderAllItems(this.state.listItems)})}),(0,te.jsx)(k.Z,{}),(0,te.jsx)("div",{className:e.footer,children:this.getBottomButtons()})]},"drawer"),t?(0,te.jsx)(ae,{name:t.title,title:f.I18n.t("Rename"),id:this.state.renaming,folder:"folder"===t.type,instance:t.instance,instances:this.props.instances,onClose:()=>this.setState({renaming:!1}),onRename:(e,t,s,a)=>this.props.onRename&&this.props.onRename(e,t,s,a)},"dialog-rename"):null,this.state.deleting?(0,te.jsx)(oe,{name:this.state.listItems.find((e=>e.id===this.state.deleting)).title,id:this.state.deleting,onClose:()=>this.setState({deleting:!1}),onDelete:e=>this.props.onDelete&&this.props.onDelete(e)},"dialog-delete"):null,this.state.choosingType?(0,te.jsx)(be,{onClose:e=>{const t={choosingType:!1};e&&(t.creatingScript=e),this.setState(t)}},"dialog-script-type"):null,this.state.creatingScript?(0,te.jsx)(ve,{onClose:()=>this.setState({creatingScript:!1}),title:f.I18n.t("Create new script"),name:this.getUniqueName(),parents:this.getFolders(),folder:!1,existingItems:this.state.listItems.map((e=>e.id)),instance:this.props.instances[0]||0,instances:this.props.instances,type:this.state.creatingScript,parent:this.parent,onAdd:(e,t,s,a)=>this.props.onAddNew&&this.props.onAddNew(e,t,!1,s,a)},"dialog-new-script"):null,this.state.copingScript?(0,te.jsx)(ve,{onClose:()=>this.setState({copingScript:""}),title:f.I18n.t("Copy script"),name:this.getUniqueName(this.state.copingScript),parents:this.getFolders(),folder:!1,instance:parseInt(s&&s.common&&s.common.engine&&s.common.engine.split(".").pop()||0,10),instances:this.props.instances,type:s&&s.common&&s.common.engineType||"Javascript/js",parent:this.parent,onAdd:(e,t,s,a)=>{const i=this.state.copingScript&&this.props.scripts[this.state.copingScript];i&&i.common&&(i.common.enabled=!1),this.props.onAddNew&&this.props.onAddNew(e,t,!1,s,a,i&&i.common&&i.common.source)}},"dialog-copy-script"):null,this.state.creatingFolder?(0,te.jsx)(ve,{onClose:()=>this.setState({creatingFolder:!1}),title:f.I18n.t("Create new folder"),parents:this.getFolders(),name:this.getUniqueFolderName(),parent:this.parent,onAdd:(e,t)=>this.props.onAddNew&&this.props.onAddNew(e,t,!0)},"dialog-new-folder"):null,this.state.errorText?(0,te.jsx)(xe,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"error"):null,this.getAdapterDebugDialog()]}}const Ue=(0,u.Z)((e=>({drawerPaper:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},toolbar:{height:e.toolbar.height},toolbarButtons:{color:"dark"===e.palette.mode?"white !important":"black !important"},iconButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},toolbarSearch:{width:"calc(100% - 105px)",lineHeight:"34px",marginLeft:5},iconButtons:{width:32,height:32,padding:2},iconDropdownMenu:{paddingRight:5},iconOnTheRight:{position:"absolute",right:10,top:"calc(50% - 8px)"},menu:{width:"100%",height:"100%"},innerMenu:{width:"100%",height:"calc(100% - 76px)",overflowX:"hidden",overflowY:"auto"},listItemIcon:{minWidth:32},filterIcon:{width:18,height:18,borderRadius:2,marginRight:5},scriptIcon:{width:18,height:18,borderRadius:2,marginTop:4,marginBottom:4,marginLeft:8,marginRight:4},folder:{cursor:"pointer",padding:0,userSelect:"none"},folderReorder:{opacity:.3,transitionDuration:"0.5s",transitionProperty:"opacity"},folderIcon:{width:20,height:20},folderIconReorder:{paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},folderIconNoReorder:{cursor:"pointer",paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},script:{cursor:"pointer",padding:0,userSelect:"none"},scriptReorder:{opacity:1,transitionDuration:"0.5s",transitionProperty:"opacity"},reorder:{},expandButton:{width:37,height:37},selected:Re,instances:{color:"gray",fontSize:"smaller"},childrenCount:{float:"right",marginRight:5,fontSize:10,opacity:.4},footer:{height:24},footerButtons:{"&:hover":{backgroundColor:"#dbdbdb"},color:"dark"===e.palette.mode?"#ffffff":"#111111",cursor:"pointer",marginTop:1,marginRight:2,height:22,width:22},footerButtonsRight:{float:"right"},mainList:{"& .js-folder-dragover>div>li>.folder-reorder":{background:"#40adff"},"& .js-folder-dragging .folder-reorder":{opacity:1},"& .js-folder-dragging .script-reorder":{opacity:.3}}})))(Le);function Ze(e){let t,s=e.getHours();return s<10&&(s="0".concat(s.toString())),t="".concat(s,":"),s=e.getMinutes(),s<10&&(s="0".concat(s.toString())),t+="".concat(s,":"),s=e.getSeconds(),s<10&&(s="0".concat(s.toString())),t+="".concat(s,"."),s=e.getMilliseconds(),s<10?s="00".concat(s.toString()):s<100&&(s="0".concat(s.toString())),t+=s,t}let We={};class Ve extends i().Component{constructor(e){super(e),this.logHandler=e=>{let t=this.state.lines;const s=this.state.editing.filter((t=>e.message.includes(t)));let a;if(!s.length)return;1===s.length?a=s[0]:(s.sort(),a=s[s.length-1]);let i=t[a]||[],o=We[a]||[];i.push(this.generateLine(e));let n=e.severity;"info"!==n&&"warn"!==n||(n+=" ");const r=new Date(e.ts);var l;o.push("".concat(r.toLocaleString(),".").concat((l=r.getMilliseconds(),l<10?"00".concat(l):l<100?"0".concat(l):l),"\t[").concat(n,"]: ").concat(e.message)),i.length>300&&(i.splice(0,i.length-300),o.splice(0,i.length-300)),We[a]=o,t[a]=i,this.setState({lines:t})},this.state={lines:{},goBottom:!0,selected:null,editing:this.props.editing||[]},this.lastIndex=null,this.messagesEnd=i().createRef()}generateLine(e){return(0,te.jsxs)("tr",{className:this.props.classes[e.severity],children:[(0,te.jsx)("td",{className:this.props.classes.trTime,children:Ze(new Date(e.ts))},"tdTime"),(0,te.jsx)("td",{className:this.props.classes.trSeverity,children:e.severity},"tdSeverity"),(0,te.jsx)("td",{children:e.message},"tdMessage")]},"tr_".concat(e.ts,"_").concat(e.message.substr(-10)))}scrollToBottom(){this.messagesEnd&&this.messagesEnd.current&&this.messagesEnd.current.scrollIntoView({behavior:"smooth"})}componentDidMount(){this.props.socket.registerLogHandler(this.logHandler)}componentWillUnmount(){this.props.socket.unregisterLogHandler(this.logHandler)}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}static getDerivedStateFromProps(e,t){let s=!1,a={};if(e.selected!==t.selected){let i=e.selected,o=t.lines;o[i]=o[i]||[],We[i]=We[i]||[],a.selected=i,s=!0}if(JSON.stringify(e.editing)!==JSON.stringify(t.editing)){const i=JSON.parse(JSON.stringify(e.editing));s=!0;let o=t.lines;for(const e in We)We.hasOwnProperty(e)&&(i.includes(e)||(delete We[e],delete o[e]));a.editing=i}return s?a:null}onCopy(){f.Utils.copyToClipboard((We[this.state.selected]||[]).join("\n"))}clearLog(){let e=this.state.lines;e[this.state.selected]&&(e[this.state.selected]=[]),We[this.state.selected]&&(We[this.state.selected]=[]),this.setState({lines:e})}renderLogList(e){return this.state.selected&&e&&e.length?(0,te.jsxs)("div",{className:this.props.classes.logBoxInner,children:[(0,te.jsx)("table",{className:this.props.classes.table,children:(0,te.jsx)("tbody",{children:e})},"logTable"),(0,te.jsx)("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):(0,te.jsx)("div",{className:this.props.classes.logBoxInner,style:{paddingLeft:10},children:f.I18n.t("Log outputs")},"logList")}render(){const e=this.state.selected&&this.state.lines[this.state.selected];return(0,te.jsxs)("div",{className:this.props.classes.logBox,children:[(0,te.jsxs)("div",{className:this.props.classes.toolbox,children:[(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":"",size:"medium",children:(0,te.jsx)(S.G10,{})}),e&&e.length?(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.clearLog(),size:"medium",children:(0,te.jsx)(S.FH3,{})}):null,e&&e.length?(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:(0,te.jsx)(S.Fqs,{})}):null,this.props.onLayoutChange?(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.props.onLayoutChange(),title:f.I18n.t("Change layout"),size:"medium",children:(0,te.jsx)("img",{className:this.props.classes.layoutIcon,alt:"split",src:this.props.verticalLayout?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAACFJREFUeAFjAIJRwP////8PYIKWHCigNQdKj/pn1D+jAABTG16wVQqVpQAAAABJRU5ErkJggg==":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAABtJREFUeAFjAIJRwP8fCj7QkENn/4z6Z5QzCgBjbWaoyx1PqQAAAABJRU5ErkJggg=="})}):null,(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.props.onHideLog(),title:f.I18n.t("Hide logs"),size:"medium",children:(0,te.jsx)(S.wqE,{})})]},"toolbox"),this.renderLogList(e)]})}}const Je=(0,u.Z)((e=>({logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:{display:"inline-block",color:"dark"===e.palette.mode?"white":"black",width:"calc(100% - ".concat(34,"px)"),height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"},info:{background:"dark"===e.palette.mode?"darkgrey":"lightgrey",color:(e.palette.mode,"black")},error:{background:"#FF0000",color:"dark"===e.palette.mode?"black":"white"},warn:{background:"#FF8000",color:"dark"===e.palette.mode?"black":"white"},debug:{background:"gray",opacity:.8,color:"dark"===e.palette.mode?"black":"white"},silly:{background:"gray",opacity:.6,color:"dark"===e.palette.mode?"black":"white"},table:{fontFamily:"monospace",width:"100%"},toolbox:{width:34,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4},layoutIcon:{width:24,height:24,background:"dark"===e.palette.mode?"#9d9d9d":void 0,borderRadius:"dark"===e.palette.mode?30:void 0}})))(Ve);var qe=s(26223),He=s(29464),Ge=s(19523),Ye=s(61474),Ke=s(27029),Qe=s(34129),Xe=s(13034),$e=s(40986),et=s(15416),tt=s(62155),st=s(68745),at=s(55261),it=s(22041),ot=s(9195),nt=s(97639),rt=s(4841);var lt=s(94427);let ct=0;class dt extends i().Component{constructor(e){super(e),this.state={name:"current",isDark:e.isDark||!1,language:e.language||"javascript",readOnly:e.readOnly||!1,alive:!0,check:!1,searchText:this.props.searchText||"",typingsLoaded:!1},this.runningInstancesStr=JSON.stringify(this.props.runningInstances),this.monacoDiv=null,this.editor=null,this.monaco=window.monaco,this.insert="",this.originalCode=e.code||"",this.typings={},this.lastSearch=""}waitForMonaco(e){var t,s,a,i;let o=null===(t=this.monaco)||void 0===t||null===(s=t.languages)||void 0===s||null===(a=s.typescript)||void 0===a||null===(i=a.typescriptDefaults)||void 0===i?void 0:i.getCompilerOptions;if(o&&this.props.runningInstances)e&&e();else{var n,r,l,c;if(this.monaco=window.monaco,o=null===(n=this.monaco)||void 0===n||null===(r=n.languages)||void 0===r||null===(l=r.typescript)||void 0===l||null===(c=l.typescriptDefaults)||void 0===c?void 0:c.getCompilerOptions,this.monacoCounter=this.monacoCounter||0,this.monacoCounter++,!o&&this.monacoCounter<20)return console.log("wait for monaco loaded"),void setTimeout((()=>this.waitForMonaco(e)),200);this.monacoCounter>=20&&console.error("Cannot load monaco!")}}loadTypings(e){if(!this.editor)return;const t=(e=e||this.props.runningInstances)&&Object.keys(e).find((t=>e[t]));t&&this.props.socket.sendTo(t.replace("system.adapter.",""),"loadTypings",null).then((e=>{this.setState({alive:!0,check:!0,typingsLoaded:!0}),this.setTypeCheck(!0),e.typings?(this.typings=e.typings,this.setEditorTypings(this.state.name)):console.error("failed to load typings: ".concat(e.error))}))}componentDidMount(){var e,t,s,a;const i=null===(e=this.monaco)||void 0===e||null===(t=e.languages)||void 0===t||null===(s=t.typescript)||void 0===s||null===(a=s.typescriptDefaults)||void 0===a?void 0:a.getCompilerOptions;if((!i||!this.props.runningInstances)&&(this.monaco=window.monaco,!i))return console.log("wait for monaco loaded..."),void this.waitForMonaco((()=>this.componentDidMount()));if(!this.editor&&i){console.log("Init editor"),this.props.onRegisterSelect&&this.props.onRegisterSelect((()=>this.editor.getModel().getValueInRange(this.editor.getSelection())));const e=this.monaco.languages.typescript.typescriptDefaults.getCompilerOptions();e.target=this.monaco.languages.typescript.ScriptTarget.ES2015,e.allowJs=!0,e.checkJs=!1!==this.props.checkJs,e.noLib=!0,e.lib=[],e.useUnknownInCatchVariables=!1,e.moduleResolution=this.monaco.languages.typescript.ModuleResolutionKind.NodeJs,this.monaco.languages.typescript.typescriptDefaults.setCompilerOptions(e),this.setTypeCheck(!1),this.editor=this.monaco.editor.create(this.monacoDiv,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,glyphMargin:!!this.props.breakpoints}),this.editor.onDidChangeModelContent((()=>this.onChange(this.editor.getValue()))),this.loadTypings(),this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KEY_S,(()=>this.onForceSave())),setTimeout((()=>{this.highlightText(this.state.searchText),this.location=this.props.location,this.breakpoints=this.props.breakpoints,this.showDecorators()}))}const o={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(o),this.editor.focus(),this.editor.setValue(this.originalCode),this.props.onToggleBreakpoint?this.editor.onMouseDown((e=>{e.target.detail&&void 0!==e.target.detail.glyphMarginLeft&&this.props.onToggleBreakpoint(e.target.position.lineNumber-1)})):this.editor.onMouseDown((()=>{}))}setEditorOptions(e){e&&(e.language&&this.setEditorLanguage(e.language),void 0!==e.readOnly&&this.editor.updateOptions({readOnly:e.readOnly}),void 0!==e.lineWrap&&this.editor.updateOptions({wordWrap:e.lineWrap?"on":"off"}),void 0!==e.typeCheck&&this.setTypeCheck(e.typeCheck),void 0!==e.isDark&&this.monaco.editor.setTheme(e.isDark?"vs-dark":"vs"))}componentWillUnmount(){this.editor&&(this.props.onRegisterSelect&&this.props.onRegisterSelect(null),this.editor.dispose(),this.editor=null)}setEditorLanguage(e){const t=this.editor.getModel(),s=t.getValue(),a=t.uri.path,i="string"===typeof a&&a.includes(".")?a.substr(0,a.lastIndexOf(".")):"index",o="javascript"===e?"js":"typescript"===e?"ts":e;t.dispose();const n="javascript"===e||"typescript"===e?"typescript":e,r=this.monaco.editor.createModel(s,n,this.monaco.Uri.from({path:"".concat(i).concat(ct++,".").concat(o)}));this.editor.setModel(r)}setTypeCheck(e){const t={noSemanticValidation:!this.state.alive||!e,noSyntaxValidation:!this.state.alive};this.monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions(t)}setEditorTypings(){var e,t,s,a,i,o,n,r;let l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const c=/^script\.js\.global\./.test(l);const d="".concat(l,".d.ts"),u=[];for(const p of Object.keys(this.typings)){if(c){if("global.d.ts"===p)continue;if(p.startsWith("script.js.global")&&p!==d)continue}u.push({filePath:p,content:this.typings[p]})}if(null!==(e=this.monaco)&&void 0!==e&&null!==(t=e.languages)&&void 0!==t&&null!==(s=t.typescript)&&void 0!==s&&null!==(a=s.typescriptDefaults)&&void 0!==a&&a.setExtraLibs)this.monaco.languages.typescript.typescriptDefaults.setExtraLibs(u);else if(null!==(i=this.monaco)&&void 0!==i&&null!==(o=i.languages)&&void 0!==o&&null!==(n=o.typescript)&&void 0!==n&&null!==(r=n.typescriptDefaults)&&void 0!==r&&r.addExtraLib){const e=this.monaco.languages.typescript.typescriptDefaults.getExtraLibs();u.forEach((t=>{e[t.filePath]||this.monaco.languages.typescript.typescriptDefaults.addExtraLib(t,t.filePath)}))}}insertTextIntoEditor(e){const t=this.editor.getSelection(),s=new this.monaco.Range(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);this.editor.executeEdits("",[{range:s,text:e,forceMoveMarkers:!0}]),this.editor.focus()}highlightText(e){const t=e&&this.editor.getModel().findMatches(e);if(t&&t.length)t.forEach((e=>this.editor.setSelection(e.range))),this.editor.revealLine(t[0].range.startLineNumber);else if(this.editor){const e=this.editor.getPosition().lineNumber,t=this.editor.getPosition().column;this.editor.setSelection(new this.monaco.Range(e,t,e,t))}}showDecorators(){this.decorations=this.decorations||[];const e=[];this.location&&(e.push({range:new this.monaco.Range(this.location.lineNumber+1,this.location.columnNumber+1,this.location.lineNumber+1,1e3),options:{isWholeLine:!1,className:this.props.isDark?"monacoCurrentLineDark":"monacoCurrentLine"}}),e.push({range:new this.monaco.Range(this.location.lineNumber+1,0,this.location.lineNumber+1,0),options:{isWholeLine:!0,className:this.props.isDark?"monacoCurrentFullLineDark":"monacoCurrentFullLine"}})),this.breakpoints&&this.breakpoints.forEach((t=>{e.push({range:new this.monaco.Range(t.location.lineNumber+1,0,t.location.lineNumber+1,100),options:{isWholeLine:!0,glyphMarginClassName:this.props.isDark?"monacoBreakPointDark":"monacoBreakPoint"}})})),this.editor&&(this.decorations=this.editor.deltaDecorations(this.decorations,e))}initNewScript(e,t){this.setState({name:e}),this.originalCode=t||"",this.editor&&this.editor.setValue(t),this.highlightText(this.lastSearch),this.showDecorators(),this.setEditorTypings(e)}scrollToLineIfNeeded(e){if(this.editor){const t=this.editor.getVisibleRanges();(!t||!t[0]||t[0].startLineNumber>e||e>t[0].endLineNumber)&&this.editor.revealLineInCenter(e)}}UNSAFE_componentWillReceiveProps(e){const t={};this.state.name!==e.name&&this.initNewScript(e.name,e.code),JSON.stringify(e.runningInstances)!==this.runningInstancesStr&&(this.runningInstancesStr=JSON.stringify(e.runningInstances),this.state.typingsLoaded||this.loadTypings(e.runningInstances)),!this.editor||e.changed||e.code===this.originalCode&&e.code===this.editor.getValue()||(this.originalCode=e.code,this.editor.setValue(this.originalCode),this.showDecorators(),this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),e.searchText!==this.lastSearch&&(this.lastSearch=e.searchText,this.highlightText(this.lastSearch)),JSON.stringify(e.location)!==JSON.stringify(this.location)&&JSON.stringify(e.breakpoints)!==JSON.stringify(this.breakpoints)?(this.location=e.location,this.breakpoints=e.breakpoints,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)):JSON.stringify(e.breakpoints)!==JSON.stringify(this.breakpoints)?(this.breakpoints=e.breakpoints,this.showDecorators()):JSON.stringify(e.location)!==JSON.stringify(this.location)&&(this.location=e.location,this.showDecorators(),this.editor&&this.location&&this.scrollToLineIfNeeded(this.location.lineNumber+1)),this.state.language!==(e.language||"javascript")?(this.setState({language:e.language||"javascript"}),t.language=e.language||"javascript"):this.state.readOnly!==(e.readOnly||!1)?(this.setState({readOnly:e.readOnly||!1}),t.readOnly=e.readOnly):this.state.isDark!==(e.isDark||!1)&&(this.setState({isDark:e.isDark||!1}),t.isDark=e.isDark),this.setEditorOptions(t),this.insert!==e.insert&&(this.insert=e.insert,this.insert&&(console.log("Insert text: ".concat(this.insert)),setTimeout((e=>{this.insertTextIntoEditor(e),setTimeout((()=>this.props.onInserted&&this.props.onInserted()),100)}),100,this.insert)))}onChange(e,t){this.props.readOnly||this.props.onChange&&this.props.onChange(this.editor.getValue())}render(){var e,t,s;return null!==(e=this.monaco)&&void 0!==e&&null!==(t=e.languages)&&void 0!==t&&null!==(s=t.typescript)&&void 0!==s&&s.typescriptDefaults&&this.props.runningInstances?(0,te.jsx)("div",{ref:e=>this.monacoDiv=e,style:{width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:!this.state.check&&(0,te.jsx)(lt.Fab,{size:"small",title:f.I18n.t("Check is not active, because javascript adapter is disabled"),style:{bottom:10,right:10,opacity:.5,position:"absolute",zIndex:1,background:"red",color:"white"},color:"secondary",children:(0,te.jsx)(S.vhT,{})})}):(setTimeout((()=>{this.monaco=window.monaco,this.forceUpdate()}),200),null)}}const ut=dt;var pt=s(49582),ht=s(60627),mt=s(56120);class gt extends i().Component{constructor(e){super(e),this.state={anchorEl:null,popper:""}}handleCancel(){this.props.onClose()}onCopy(e){f.Utils.copyToClipboard(this.props.text);const t=e.currentTarget;setTimeout((()=>{this.setState({popper:f.I18n.t("Copied"),anchorEl:t}),setTimeout((()=>this.setState({popper:"",anchorEl:null})),1e3)}),50)}render(){const e=this.props.classes,t=new Blob([this.props.text],{type:"application/xml"}),s=this.props.scriptId.substring(10)+".xml";return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"lg",classes:{paper:e.dialog},fullWidth:!0,open:this.props.open,"aria-labelledby":"export-dialog-title",children:[(0,te.jsx)(J.Z,{id:"export-dialog-title",children:f.I18n.t("Export selected blocks")}),(0,te.jsx)(q.Z,{classes:{root:e.overflowY},children:(0,te.jsx)("pre",{id:"export-text",className:"".concat(e.textArea," ").concat("dark"===this.props.themeType?"":e.textAreaLight),children:this.props.text})}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",color:"secondary",startIcon:(0,te.jsx)(z.u$v,{}),children:(0,te.jsx)("a",{download:s,target:"_blank",rel:"noreferrer",href:URL.createObjectURL(t),style:{textDecoration:"inherit",color:"inherit"},children:f.I18n.t("Download as file")})}),(0,te.jsx)(V.Z,{variant:"contained",onClick:e=>this.onCopy(e),color:"secondary",startIcon:(0,te.jsx)(mt.Z,{}),children:f.I18n.t("Copy to clipboard")}),(0,te.jsx)(V.Z,{variant:"contained",onClick:()=>this.handleCancel(),color:"primary",startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Close")}),(0,te.jsx)(pt.Z,{id:"popper",style:{zIndex:1e4},open:!!this.state.popper,placement:"top",anchorEl:this.state.anchorEl,transition:!0,children:t=>{let{TransitionProps:s}=t;return(0,te.jsx)(ht.Z,{...s,timeout:350,children:(0,te.jsx)(rt.Z,{children:(0,te.jsx)("p",{className:e.typography,children:this.state.popper})})})}}),(0,te.jsx)("textarea",{id:"copy_input",readOnly:!0,style:{position:"absolute",left:-9999},tabIndex:-1,"aria-hidden":!0,value:this.props.text})]})]},"export-dialog")}}gt.defaultProps={open:!0};const bt=(0,u.Z)((e=>({textArea:{width:"100%",height:"100%",overflow:"auto"},textAreaLight:{background:"lightgray"},dialog:{height:"95%"},typography:{padding:e.spacing(2)},overflowY:{overflowY:"hidden"}})))(gt);var yt=s(18267);class vt extends i().Component{constructor(e){super(e),this.state={text:""}}componentDidMount(){setTimeout((()=>{try{window.document.getElementById("import-text-area").focus()}catch(e){}}),100)}static readFileDataUrl(e,t){const s=new FileReader;s.onload=()=>{t(null,{data:s.result,name:e.name})},s.onabort=()=>{console.error("file reading was aborted"),t(f.I18n.t("file reading was aborted"))},s.onerror=e=>{console.error("file reading has failed"),t(f.I18n.t("file reading has failed: %s",e))},s.readAsText(e)}handleDropFile(e){if(e&&e.hasOwnProperty("target")&&(e=e.target.files),!e&&!e.length)return;const t=e[e.length-1];t&&vt.readFileDataUrl(t,((e,t)=>{e?this.setState({error:e}):this.setState({text:t.data})}))}handleCancel(){this.props.onClose()}handleOk(){this.props.onClose(this.state.text)}onChange(e){this.setState({text:e.target.value})}render(){const e=this.props.classes,t=e.dropzone+" "+("accepted"===this.state.imageStatus?e.dropzoneAccepted:"rejected"===this.state.imageStatus?e.dropzoneRejected:"");return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"lg",classes:{paper:e.dialog},fullWidth:!0,open:this.props.open,"aria-labelledby":"import-dialog-title",children:[(0,te.jsx)(J.Z,{id:"import-dialog-title",children:f.I18n.t("Import blocks")}),(0,te.jsxs)(q.Z,{className:e.fullHeight,children:[(0,te.jsx)("textarea",{autoFocus:!0,id:"import-text-area",className:e.textArea,onChange:e=>this.onChange(e),value:this.state.text}),(0,te.jsx)(yt.default,{maxSize:5e7,acceptClassName:e.dropzoneAccepted,rejectClassName:e.dropzoneRejected,onDrop:e=>this.handleDropFile(e),multiple:!1,accept:"text/plain,text/xml,application/xml",className:t,children:e=>{let{getRootProps:t,getInputProps:s,isDragActive:a,isDragReject:i}=e;return i?("rejected"!==this.state.imageStatus&&this.setState({imageStatus:"rejected"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("Some files will be rejected")},"text"),(0,te.jsx)(S.B4e,{className:this.props.classes.icon+" "+this.props.classes.iconError},"icon")]})):a?("accepted"!==this.state.imageStatus&&this.setState({imageStatus:"accepted"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("All files will be accepted")},"text"),(0,te.jsx)(S.hjC,{className:this.props.classes.icon+" "+this.props.classes.iconOk},"icon")]})):("wait"!==this.state.imageStatus&&this.setState({imageStatus:"wait"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("Drop some files here or click...")},"text"),(0,te.jsx)(S.s_P,{className:this.props.classes.icon},"icon")]}))}},"image-drop")]}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",disabled:!this.state.text,onClick:e=>this.handleOk(),color:"primary",startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("Import")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Close")})]})]})}}vt.defaultProps={open:!0};const ft=(0,u.Z)((e=>({textArea:{width:"calc(100% - 10px)",height:"80%",resize:"none",fontFamily:"monospace",fontSize:"1em"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"20%",position:"relative"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"30%",width:"30%",color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"}})))(vt);let St,xt=!1,kt=!1,wt=null,Ct=[];function jt(e,t,s,a){if(a=a||[],"BLOCK"!==e.tagName&&"block"!==e.tagName||(s=e.id),"FIELD"===e.tagName||"field"===e.tagName)for(let i=0;ijt(e,t,s,a))),a}class It extends i().Component{constructor(e){super(e),this.blockly=null,this.blocklyWorkspace=null,this.toolbox=null,this.Blockly=window.Blockly,this.state={languageOwnLoaded:kt,languageBlocklyLoaded:xt,changed:!1,message:"",error:"",themeType:this.props.themeType,exportText:"",importText:!1,searchText:this.props.searchText||""},this.originalCode=e.code||"",this.someSelected=null,this.changeTimer=null,this.onResizeBind=this.onResize.bind(this),this.lastCommand="",this.lastSearch=this.props.searchText||"",this.blinkBlock=null,this.loadLanguages()}static loadJS(e,t,s){const a=document.createElement("script");try{a.src=e,a.onload=t,a.onreadystatechange=t,a.onerror=t,(s||window.document.body).appendChild(a)}catch(i){console.error("Cannot load ".concat(e,": ").concat(i)),t&&t()}}static loadScripts(e,t){if(!e||!e.length)return t&&t();const s=e.pop();Ct.includes(s)?setTimeout((()=>It.loadScripts(e,t)),0):(Ct.push(s),It.loadJS("../../adapter/".concat(s,"/blockly.js"),(()=>setTimeout((()=>It.loadScripts(e,t)),0))))}static loadCustomBlockly(e,t){const s=[];for(const a in e)e.hasOwnProperty(a)&&e[a]&&a.match(/^system\.adapter\./)&&"adapter"===e[a].type&&e[a].common&&e[a].common.blockly&&(console.log("Detected custom blockly: ".concat(e[a].common.name)),s.push(e[a].common.name));It.loadScripts(s,t)}static loadXMLDoc(e){let t;return t=window.DOMParser?e=>(new window.DOMParser).parseFromString(e,"text/xml"):"undefined"!==typeof window.ActiveXObject&&new window.ActiveXObject("Microsoft.XMLDOM")?e=>{const t=new window.ActiveXObject("Microsoft.XMLDOM");return t.async="false",t.loadXML(e),t}:()=>null,t(e)}searchBlocks(e){if(this.blocklyWorkspace){const t=jt(this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),e.toLowerCase());return console.log('Search "'.concat(e,'" found blocks: ').concat(t.length?JSON.stringify(t):"none")),t}return[]}searchId(){const e=this.lastSearch&&this.searchBlocks(this.lastSearch);e&&e.length?(this.someSelected=e,this.someSelected.forEach((e=>this.blocklyWorkspace.highlightBlock(e,!0))),this.someSelectedTime=Date.now()):this.someSelected&&(this.someSelected.forEach((e=>this.blocklyWorkspace.highlightBlock(e,!1))),this.someSelected=null)}UNSAFE_componentWillReceiveProps(e){e.command&&this.lastCommand!==e.command&&(this.lastCommand=e.command,setTimeout((()=>this.lastCommand=""),300),"check"===this.lastCommand?this.blocklyCheckBlocks(((e,t)=>{e?(t&&this.blocklyBlinkBlock(t),this.setState({error:{text:f.I18n.t(e),title:f.I18n.t("Error was found")}}),this.blinkBlock=t):this.setState({message:f.I18n.t("Ok")})})):"export"===this.lastCommand?this.exportBlocks():"import"===this.lastCommand&&this.importBlocks()),e.searchText!==this.lastSearch&&(this.lastSearch=e.searchText,this.searchId()),this.state.themeType!==e.themeType&&this.setState({themeType:e.themeType},(()=>this.updateBackground())),this.originalCode!==e.code&&(this.originalCode=e.code||"",this.loadCode(),this.searchId())}loadLanguages(){if(!xt){const e=window.document.createElement("script");e.setAttribute("type","text/javascript"),e.setAttribute("src","google-blockly/msg/js/".concat(f.I18n.getLanguage(),".js")),e.onload=()=>{xt=!0,this.setState({languageBlocklyLoaded:xt})},e.onreadystatechange=()=>{"complete"===this.readyState&&(xt=!0,this.setState({languageBlocklyLoaded:xt}))},window.document.getElementsByTagName("head")[0].appendChild(e)}if(!kt){const e=window.document.createElement("script");e.setAttribute("type","text/javascript"),e.setAttribute("src","google-blockly/own/msg/".concat(f.I18n.getLanguage(),".js")),e.onload=()=>{kt=!0,this.setState({languageOwnLoaded:kt})},e.onreadystatechange=()=>{"complete"===this.readyState&&(kt=!0,this.setState({languageOwnLoaded:kt}))},window.document.getElementsByTagName("head")[0].appendChild(e)}}onResize(){this.Blockly.svgResize(this.blocklyWorkspace)}jsCode2Blockly(e){const t=(e=e||"").split(/[\r\n]+|\r|\n/g);let s,a="";for(let o=t.length-1;o>=0;o--)if("//"===t[o].substring(0,2)){a=t[o].substring(2);break}if("e.select()),t),setTimeout((()=>e.unselect()),t+150)}blocklyRemoveOrphanedShadows(){if(this.blocklyWorkspace){const e=this.blocklyWorkspace.getAllBlocks();let t;for(let s=0;t=e[s];s++)if(t.isShadow()){const e=t.getConnections_(!0);let s;for(let a=0;s=e[a];a++)if(!s.targetConnection){t.dispose();break}}}}blocklyCheckBlocks(e){let t;if(!this.blocklyWorkspace||0===this.blocklyWorkspace.getAllBlocks().length)return void(e&&e("no blocks found"));let s=this.blocklyGetUnconnectedBlock();return s?t="not properly connected":(s=this.blocklyGetBlockWithWarning(),s&&(t="warning on this block")),s?(e?e(t,s):this.blocklyBlinkBlock(s),!1):(e(),!0)}blocklyGetUnconnectedBlock(){const e=this.blocklyWorkspace.getAllBlocks();let t;for(let s=0;t=e[s];s++){const e=t.getConnections_(!0);let s;for(let a=0;s=e[a];a++)if(!s.sourceBlock_||(s.type===this.Blockly.INPUT_VALUE||s.type===this.Blockly.OUTPUT_VALUE)&&!s.targetConnection&&!s._optional)return t}return null}blocklyGetBlockWithWarning(){const e=this.blocklyWorkspace.getAllBlocks();let t;for(let s=0;t=e[s];s++)if(t.warning)return t;return null}blocklyCode2JSCode(e){let t=this.Blockly.JavaScript.workspaceToCode(this.blocklyWorkspace);if(!e){t+="\n";const e=this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),s=this.Blockly.Xml.domToText(e);t+="//".concat(btoa(encodeURIComponent(s)))}return t}exportBlocks(){let e;const t=this.Blockly.getSelected();if(t){const s=this.Blockly.Xml.blockToDom(t);this.Blockly.dragMode_!==this.Blockly.DRAG_FREE&&this.Blockly.Xml.deleteNext(s);const a=t.getRelativeToSurfaceXY();s.setAttribute("x",t.RTL?-a.x:a.x),s.setAttribute("y",a.y),e=this.Blockly.Xml.domToPrettyText(s)}else{const t=this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);e=this.Blockly.Xml.domToPrettyText(t)}this.setState({exportText:e})}importBlocks(){this.setState({importText:!0})}onImportBlocks(e){if(e=(e||"").trim())try{e.startsWith("'+e+"");const t=e.replace(/[\n\r]/g,"").match(/(.*)<\/variables>/);if(t){const e=this.Blockly.utils.xml.textToDomDocument(""+t[1]+"");if(e){const t=e.childNodes&&e.childNodes[0]&&e.childNodes[0].childNodes;if(t)for(let e=0;e.*<\/variables>/g,""),window.scripts.loading=!0;const s=this.Blockly.utils.xml.textToDom(e);if("xml"===s.nodeName)for(let e=0;e';window.scripts.loading=!0;const t=this.Blockly.utils.xml.textToDom(e);this.Blockly.Xml.domToWorkspace(t,this.blocklyWorkspace),window.scripts.loading=!1}catch(e){console.error(e),setTimeout((()=>this.setState({error:f.I18n.t("Cannot extract Blockly code!")})))}setTimeout((()=>this.ignoreChanges=!1),100)}}onBlocklyChanged(){this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange()}async componentDidUpdate(){if(!this.blockly)return;if(this.didUpdate&&(clearTimeout(this.didUpdate),this.didUpdate=null),this.blocklyWorkspace)return;window.addEventListener("resize",this.onResizeBind,!1),wt=wt||await this.getToolbox(),St=St||this.Blockly.utils.xml.textToDom(wt),this.blocklyWorkspace=this.Blockly.inject(this.blockly,{media:"google-blockly/media/",toolbox:St,zoom:{controls:!0,wheel:!1,startScale:1,maxScale:3,minScale:.3,scaleSpeed:1.2},move:{scrollbars:!0,drag:!0,wheel:!0},trashcan:!0,grid:{spacing:25,length:3,colour:"#ccc",snap:!0},sounds:!1}),window.scripts={blocklyWorkspace:this.blocklyWorkspace},this.blocklyWorkspace.registerToolboxCategoryCallback("PROCEDURE",this.Blockly.Procedures.flyoutCategoryNew),this.blocklyWorkspace.addChangeListener((e=>{if(this.someSelected&&Date.now()-this.someSelectedTime>500){const e=this.blocklyWorkspace.getAllBlocks();this.someSelected=null,e.forEach((e=>e.removeSelect()))}[this.Blockly.Events.UI,this.Blockly.Events.CREATE,this.Blockly.Events.VIEWPORT_CHANGE].includes(e.type)||this.ignoreChanges||(this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=setTimeout((()=>{this.changeTimer=null,this.onBlocklyChanged()}),200))})),this.loadCode(),this.onResize();const e=document.getElementsByClassName("blocklyToolboxDiv")[0];this.blockly.appendChild(e),this.updateBackground(),setTimeout((()=>this.searchId()),200)}updateBackground(){const e=document.getElementsByClassName("blocklyMainBackground")[0];"dark"===this.state.themeType?(e._originalStyle||(e._originalStyle={stroke:e.style.stroke,fill:e.style.fill}),e.style.stroke="#3a3a3a",e.style.fill="#515151"):e._originalStyle&&(e.style.stroke=e._originalStyle.stroke,e.style.fill=e._originalStyle.fill)}componentWillUnmount(){this.blocklyWorkspace&&(this.blocklyWorkspace.dispose(),this.blocklyWorkspace=null,this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=null,window.removeEventListener("resize",this.onResizeBind))}onChange(){this.originalCode=this.blocklyCode2JSCode(),this.props.onChange&&this.props.onChange(this.originalCode)}async getToolbox(e){const t=window.document.getElementById("toolbox");let s=t&&t.outerHTML;if(!s)return e?(console.error("Cannot load blocks!"),""):new Promise((e=>{setTimeout((()=>e(this.getToolbox(!0))),500)}));if(s=s.replace(/{(\w+)}/g,((e,t)=>window.MSG[t])),this.Blockly.CustomBlocks){let e="";const t=f.I18n.getLanguage();for(let s=0;s');for(const t in this.Blockly[a].blocks)Object.prototype.hasOwnProperty.call(this.Blockly[a].blocks,t)&&(e+=this.Blockly[a].blocks[t]);e+=""}s=s.replace("%%CUSTOM_BLOCKS%%",e)}return s}renderMessageDialog(){return this.state.message?(0,te.jsx)(b(),{text:"object"===typeof this.state.message?this.state.message.text:this.state.message,title:"object"===typeof this.state.message?this.state.message.title:"",onClose:()=>this.setState({message:""})},"dialogMessage"):null}renderErrorDialog(){return this.state.error?(0,te.jsx)(xe,{text:"object"===typeof this.state.error?this.state.error.text.toString():this.state.error,title:"object"===typeof this.state.error?this.state.error.title:"",onClose:()=>{this.blinkBlock&&(this.blocklyBlinkBlock(this.blinkBlock),this.blinkBlock=null),this.setState({error:""})}},"dialogError"):null}renderExportDialog(){return this.state.exportText?(0,te.jsx)(bt,{theme:this.state.themeType,onClose:()=>this.setState({exportText:""}),text:this.state.exportText,scriptId:this.props.scriptId},"dialogExport"):null}renderImportDialog(){return this.state.importText?(0,te.jsx)(ft,{onClose:e=>{this.setState({importText:!1}),this.onImportBlocks(e)}},"dialogImport"):null}render(){return this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout((()=>{this.didUpdate=null,this.componentDidUpdate()}),100),[(0,te.jsx)("div",{ref:e=>this.blockly=e,style:{width:"100%",height:"100%",position:"relative"}},"blocklyDOM"),this.renderMessageDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderImportDialog()]):null}}const Tt=It;var Dt=s(53329);class At extends i().Component{constructor(e){super(e),this.state={changed:!1,source:this.props.source},!this.state.source&&this.props.isReturn&&(this.state.source="\nreturn false")}componentDidMount(){setTimeout((()=>{try{window.document.getElementById("source-text-area").focus()}catch(e){}}),100)}handleCancel(){this.props.onClose(!1)}handleOk(){this.props.isReturn&&!this.state.source.includes("return ")||this.props.onClose(this.state.source)}onChange(e){this.setState({changed:!0,source:e})}render(){const e=this.props.classes;return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"lg",classes:{paper:e.dialog},fullWidth:!0,open:!0,"aria-labelledby":"source-dialog-title",children:[(0,te.jsx)(J.Z,{id:"source-dialog-title",children:f.I18n.t("Function editor")}),(0,te.jsxs)(q.Z,{className:e.fullHeight,children:[this.props.args&&(0,te.jsxs)("div",{className:e.args,children:[(0,te.jsx)("span",{className:e.argsTitle,children:f.I18n.t("function (")}),this.props.args,(0,te.jsx)("span",{className:e.argsTitle,children:")"})]},"arguments"),(0,te.jsx)(ut,{adapterName:this.props.adapterName,runningInstances:this.props.runningInstances,className:e.textArea,style:{height:this.props.args?"calc(100% - 30px)":"100%"},name:"blockly",socket:this.props.socket,readOnly:!1,checkJs:!1,changed:this.state.changed,code:this.state.source,isDark:"dark"===this.props.themeType,onChange:e=>this.onChange(e),language:"javascript"},"scriptEditor")]}),(0,te.jsxs)(H.Z,{children:[(0,te.jsx)(V.Z,{variant:"contained",onClick:()=>this.handleOk(),color:"primary",startIcon:(0,te.jsx)(Dt.Z,{}),children:f.I18n.t("Save")}),(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Cancel")})]})]})}}const Nt=(0,u.Z)((e=>({textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:{color:"dark"===e.palette.mode?"white":"black",height:30,width:"100%",fontSize:16},argsTitle:{color:"dark"===e.palette.mode?"white":"black",fontWeight:"bold"}})))(At),Et="style_wrapperRules__Js-Pp",Ot="style_rootWrapper__0Dpqp",_t="style_addClass__ry424";var Rt=s(32449);const Mt="style_switchesItem__RBQz7",zt="style_switchesItemActive__FU8S9",Pt="style_iconTheme__inJLE";var Bt=s(28675);const Ft={},Lt=e=>{let{iconName:t,className:s,adapter:i,socket:o,onClick:n}=e,[r,l]=(0,a.useState)("");if((0,a.useEffect)((()=>{i&&o&&(Ft[i]=Ft[i]||o.getObject("system.adapter.".concat(i)),Ft[i].then((e=>{var t;return(null===e||void 0===e||null===(t=e.common)||void 0===t?void 0:t.icon)&&l("../../adapter/".concat(i,"/").concat(e.common.icon))})))}),[i,o]),i)return(0,te.jsx)("img",{onClick:e=>n&&n(e),src:r||"",className:s,alt:""});{const e=Bt[t||"Help"];return(0,te.jsx)(e,{className:s,onClick:e=>n&&n(e)})}};Lt.defaultProps={className:null,iconName:"Help"};const Ut=Lt,Zt=e=>{let{name:t,id:s,active:a,icon:i,adapter:o,socket:n,onDoubleClick:r,title:l,onTouchMove:c}=e;return(0,te.jsxs)("div",{onDoubleClick:r,onTouchMove:c,title:f.I18n.t(l),className:f.Utils.clsx(Mt,a&&zt,"block-"+s),children:[(0,te.jsx)(Ut,{iconName:i,className:Pt,adapter:o,socket:n}),(0,te.jsx)("span",{children:t?f.I18n.t(t):""})]},s)};Zt.defaultProps={name:"",active:!1,id:"",onDoubleClick:()=>{}};const Wt=Zt,Vt="style_cardStyle__5c+lG",Jt="style_cardStyleActive__n6Nq8",qt="style_controlMenu__J0sIm",Ht="style_closeBtn__TzVMw",Gt="style_isDelete__0Sa6U",Yt="style_drag_mobile__RVp7B";function Kt(e,t,s){let a;return"actions"===e?(a={...t,[e]:{...t[e],[s]:[...t[e][s]]}},a):(a={...t,[e]:[...t[e]]},a)}function Qt(e,t,s,a){switch(e){case"actions":case"conditions":return t[e][s]=t[e][s].filter((e=>e._id!==a)),t;default:return t[e]=t[e].filter((e=>e._id!==a)),t}}const Xt={cardStyle:"style_cardStyle__A9pAJ",nameCard:"style_nameCard__m2nJe",cardStyleActive:"style_cardStyleActive__sMSgj",iconThemCard:"style_iconThemCard__wx6Kq",iconThemCardSelectable:"style_iconThemCardSelectable__H9okn",iconHelp:"style_iconHelp__iIi1g",inputCard:"style_inputCard__qf8Q+",blockName:"style_blockName__CqwBy",controlMenu:"style_controlMenu__8kQnd",closeBtn:"style_closeBtn__LcbOd",controlMenuTop:"style_controlMenuTop__AkzEp",debugInfo:"style_debugInfo__wPdyv",fadeIn:"style_fadeIn__zKsCh",tagCard:"style_tagCard__CEY-X",displayFlex:"style_displayFlex__5sr+i",blockMarginTop:"style_blockMarginTop__Qn7Lh",nameBlock:"style_nameBlock__MZ53S",frontText:"style_frontText__3cVcg",backText:"style_backText__sF8Y-",iconTag:"style_iconTag__2cpM6",displayItalic:"style_displayItalic__9KtQw"};var $t=s(95857),es=s(31238),ts=s.n(es),ss=s(32548),as=s.n(ss),is=s(70810);const os="style_root__h6PjP",ns="style_square__ahzCN",rs="style_icon__jwNl0",ls=e=>{let{fullWidth:t,size:s,onClick:a,style:i,className:o,value:n,square:r,icon:l}=e;return(0,te.jsx)(lt.Button,{variant:"outlined",color:"primary",onClick:a,fullWidth:t,style:i,className:f.Utils.clsx(os,o,r?ns:""),margin:"normal",size:s,children:l?(0,te.jsx)(f.Icon,{className:rs,src:l}):n})};ls.defaultProps={value:"",className:null,variant:"standard",size:"medium",fullWidth:!1,square:!1};const cs=ls,ds="style_root__8DT4l",us=e=>{let{size:t,value:s,style:i,title:o,onChange:n,className:r,customValue:l,disabled:c}=e;const[d,u]=(0,a.useState)(!1);return(0,te.jsxs)(te.Fragment,{children:[(0,te.jsx)(lt.Checkbox,{disabled:c,checked:Boolean(l?s:d),className:f.Utils.clsx(ds,r),onChange:e=>{l&&u(e.target.checked),n(e.target.checked)},size:t}),o||null]})};us.defaultProps={value:!1,disabled:!1,type:null,error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,onChange:()=>{},fullWidth:!1,autoComplete:"",customValue:!1,label:"all"};const ps=(0,a.memo)(us),hs={root:"style_root__WINKv"},ms=e=>{let{autoFocus:t,fullWidth:s,disabled:i,multiline:o,rows:n,autoComplete:r,label:l,error:c,size:d,variant:u,value:p,type:h,style:m,onChange:g,className:b,customValue:y,icon:v}=e;const[S,x]=(0,a.useState)("");return(0,te.jsx)(lt.TextField,{error:!!c,autoFocus:t,fullWidth:s,label:l,disabled:i,variant:u,multiline:o,rows:n,value:y?p:S,type:h,helperText:c,style:m,className:f.Utils.clsx(hs.root,b),autoComplete:r,onChange:e=>{!y&&x(e.target.value),g(e.target.value)},InputProps:{endAdornment:v?(0,te.jsx)(we.Z,{position:"end",children:(0,te.jsx)(f.Icon,{className:hs.icon,src:v})}):null},margin:"normal",size:d})};ms.defaultProps={value:"",type:"text",error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,onChange:()=>{},fullWidth:!1,autoComplete:"",customValue:!1,autoFocus:!1,rows:1};const gs=ms,bs=(0,u.Z)({root:{margin:"10px 0","& .MuiFormControl-marginNormal":{marginTop:0,marginBottom:0},"& > *":{color:"#2d0440 !important"},"& .MuiSelect-icon":{color:"#81688c"},"& label.Mui-focused":{color:"#81688c"},"& .MuiInput-underline:after":{borderBottomColor:"#510573"},"& .MuiInput-underline:before":{borderBottomColor:"#81688c"},"& .MuiInput-underline:hover:before":{borderBottomColor:"#81688c"}}})(lt.FormControl),ys=e=>{let{multiple:t,value:s,customValue:i,socket:o,title:n,attr:r,adapter:l,style:c,onChange:d,className:u,onInstanceHide:p}=e;const[h,m]=(0,a.useState)(s||"test1"),[g,b]=(0,a.useState)([]);return(0,a.useEffect)((()=>{o&&o.getAdapterInstances(l).then((e=>{const t=e.map((e=>({value:e._id.replace("system.adapter.",""),title:e._id.replace("system.adapter.","")})));1===t.length?p(t[0].value):t.unshift({value:l,title:f.I18n.t("All")}),b(t)}))}),[o,l,p]),(0,te.jsxs)(bs,{className:u,fullWidth:!0,style:c,children:[(0,te.jsx)(lt.Select,{variant:"standard",value:(i?s:h)||"_",fullWidth:!0,multiple:t,renderValue:e=>t&&e.join?e.join(", "):e,onChange:e=>{!i&&m(e.target.value),d(e.target.value)},input:r?(0,te.jsx)(lt.Input,{name:r,id:r+"-helper"}):(0,te.jsx)(lt.Input,{name:r}),children:g.map((e=>(0,te.jsxs)(lt.MenuItem,{style:{placeContent:"space-between"},value:e.value||"_",children:[f.I18n.t(e.title),e.title2&&(0,te.jsx)("div",{children:e.title2})]},"key-"+e.value)))}),(0,te.jsx)(lt.FormHelperText,{children:f.I18n.t(n)})]})};ys.defaultProps={value:"",className:null,table:!1,customValue:!1};const vs=ys,fs="style_modalWrapper__VUeGq",Ss="style_modalDialog__MI8Ka";var xs=s(18181);const ks=e=>{let{open:t,onClose:s,children:i,titleButtonApply:o,titleButtonClose:n,onApply:r,className:l,textInput:c,defaultValue:d}=e,[u,p]=(0,a.useState)(d);return(0,te.jsxs)(lt.Dialog,{open:t,maxWidth:"md",disableEscapeKeyDown:!1,onClose:s,classes:{paper:Ss},className:fs,children:[(0,te.jsxs)(lt.DialogContent,{children:[c&&(0,te.jsx)(gs,{className:l,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"medium",rows:10,multiline:!0,value:u,onChange:p,customValue:!0}),!c&&i]}),(0,te.jsxs)(lt.DialogActions,{children:[(0,te.jsx)(V.Z,{onClick:()=>r(c?u:null),variant:"contained",color:"primary",children:xs.default.t(o)}),(0,te.jsx)(V.Z,{color:"grey",onClick:s,variant:"contained",children:xs.default.t(n)})]})]})};ks.defaultProps={open:!1,onApply:()=>{},onClose:()=>{},titleButtonClose:"Cancel",titleButtonApply:"Ok"};const ws=ks,Cs="style_root__AZ3ER",js=e=>{let{multiple:t,value:s,customValue:i,title:o,attr:n,options:r,style:l,onChange:c,className:d,doNotTranslate:u,doNotTranslate2:p}=e;const[h,m]=(0,a.useState)(void 0===s?r[0].value:s),g=i?s:h,b=""===g||null===g||void 0===g?"_":g;return(0,te.jsxs)(lt.FormControl,{variant:"standard",className:f.Utils.clsx(Cs,d),fullWidth:!0,style:l,children:[(0,te.jsxs)(lt.Select,{variant:"standard",value:b,fullWidth:!0,multiple:t,renderValue:e=>{if(t&&e.join){e.sort();let t=e.indexOf("0");-1!==t&&(e.splice(t,1),e.push("0")),t=e.indexOf("_"),-1!==t&&(e.splice(t,1),e.unshift("_"));const s=r.find((e=>e.only));if(e.includes(s.value))return s.titleShort?u?s.titleShort:f.I18n.t(s.titleShort):u?s.title:f.I18n.t(s.title);return e.map((e=>r.find((t=>t.value===e||"_"===e&&""===t.value))||e)).map((e=>"object"===typeof e?e.titleShort?u?e.titleShort:f.I18n.t(e.titleShort):u?e.title:f.I18n.t(e.title):u?e:f.I18n.t(e))).join(", ")}{const t=r?r.find((t=>t.value===e||"_"===e&&""===t.value)):null;return null!==t&&void 0!==t&&t.title?u?null===t||void 0===t?void 0:t.title:f.I18n.t(null===t||void 0===t?void 0:t.title):e}},onChange:e=>{if(!i&&m(e.target.value),t){const t=r.find((e=>e.only));if(t){const s=t.value;if(e.target.value.length===r.length-1&&e.target.value.includes(s))return c(e.target.value.filter((e=>e!==s)),n);if(e.target.value.includes(s))return c(r.map((e=>e.value)),n)}}c(e.target.value,n)},input:n?(0,te.jsx)(lt.Input,{name:n,id:"".concat(n,"-helper")}):(0,te.jsx)(lt.Input,{name:n}),children:[!t&&r&&r.map((e=>(0,te.jsxs)(lt.MenuItem,{style:{placeContent:"space-between"},value:""===e.value||null===e.value||void 0===e.value?"_":e.value,children:[u?e.title:f.I18n.t(e.title),e.title2&&(0,te.jsx)("div",{children:p?e.title2:f.I18n.t(e.title2)})]},"key-".concat(e.value)))),t&&r&&r.map((e=>(0,te.jsxs)(lt.MenuItem,{style:{placeContent:"space-between"},value:e.value||"_",children:[u?e.title:f.I18n.t(e.title)," ",(0,te.jsx)(ps,{customValue:!0,value:s.includes(e.value)})]},"key-".concat(e.value))))]}),o?(0,te.jsx)(lt.FormHelperText,{children:f.I18n.t(o)}):null]})};js.defaultProps={value:"",className:null,table:!1,customValue:!1,multiple:!1};const Is=js,Ts="style_root__BGOBc",Ds="style_mark__MLqoT",As=e=>{let{fullWidth:t,autoComplete:s,label:i,error:o,size:n,variant:r,value:l,type:c,style:d,onChange:u,className:p,customValue:h,min:m,max:g,step:b,unit:y}=e;const[v,S]=(0,a.useState)(0);m=void 0!==m?m:0,g=void 0!==g?g:0,b=void 0!==b?b:(g-m)/100;const x=[{value:m,label:m+(y||"")},{value:g,label:g+(y||"")}];return(0,te.jsx)(lt.Slider,{defaultValue:h?l:v,"aria-labelledby":"discrete-slider",valueLabelDisplay:"auto",classes:{mark:Ds},marks:x,step:b,min:m,max:g,error:o||"",label:i,variant:r,value:h?l:v,type:c,style:d,className:f.Utils.clsx(Ts,p),autoComplete:s,onChange:(e,t)=>{!h&&S(t),u(t)},margin:"normal",size:n})};As.defaultProps={value:"",type:"text",error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,onChange:()=>{},fullWidth:!1,autoComplete:"",customValue:!1};const Ns=As,Es="style_root__anA9+",Os=e=>{let{label:t,size:s,value:i,style:o,onChange:n,className:r,customValue:l}=e;const[c,d]=(0,a.useState)(!1);return(0,te.jsx)(lt.FormControlLabel,{className:Es,control:(0,te.jsx)(lt.Switch,{checked:l?i:c,style:o,className:r,onChange:e=>{l||d(e.target.checked),n(e.target.checked)},size:s}),label:t})};Os.defaultProps={value:!1,type:"text",error:"",className:null,table:!1,native:{},variant:"standard",size:"medium",component:null,styleComponentBlock:null,onChange:()=>{},fullWidth:!1,autoComplete:"",customValue:!1,label:"all"};const _s=(0,a.memo)(Os),Rs="style_root__xyxno",Ms=e=>{let{value:t,style:s,onChange:a,className:i}=e;return(0,te.jsx)(lt.TextField,{variant:"standard",id:"time",type:"time",onChange:e=>a(e.currentTarget.value),value:t,className:f.Utils.clsx(Rs,i),fullWidth:!0,style:s,InputLabelProps:{shrink:!0},inputProps:{step:300}})};Ms.defaultProps={value:"",className:null,table:!1};const zs=Ms,Ps="style_root__FwemI",Bs=[31,29,31,30,31,30,31,31,30,31,30,31],Fs=e=>{let{value:t,onChange:s,className:a,title:i,style:o}=e,[n,r]=(t||"01.01").toString().split(".");r=parseInt(r,10)||0,n=parseInt(n,10)||0,n>12?n=12:n<0&&(n=0),r>Bs[n]?r=Bs[n]:r<0&&(r=0);let l=[];for(let c=0;cs("".concat(e.target.value.toString().padStart(2,"0"),".").concat(r.toString().padStart(2,"0"))),value:n,children:[(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:0,children:f.I18n.t("Any month")},0),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:1,children:f.I18n.t("January")},1),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:2,children:f.I18n.t("February")},2),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:3,children:f.I18n.t("March")},3),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:4,children:f.I18n.t("April")},4),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:5,children:f.I18n.t("May")},5),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:6,children:f.I18n.t("June")},6),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:7,children:f.I18n.t("July")},7),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:8,children:f.I18n.t("August")},8),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:9,children:f.I18n.t("September")},9),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:10,children:f.I18n.t("October")},10),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:11,children:f.I18n.t("November")},11),(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:12,children:f.I18n.t("December")},12)]})}),(0,te.jsx)(lt.FormControl,{variant:"standard",className:f.Utils.clsx(Ps,a),style:o,children:(0,te.jsxs)(lt.Select,{variant:"standard",className:f.Utils.clsx(Ps,a),margin:"dense",label:f.I18n.t("Date"),onChange:e=>s("".concat(n.toString().padStart(2,"0"),".").concat(e.target.value.toString().padStart(2,"0"))),value:r,children:[(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:0,children:f.I18n.t("Any")},"A"),l.map((e=>(0,te.jsx)(lt.MenuItem,{style:{placeContent:"space-between"},value:e,children:e},e)))]})})]})};Fs.defaultProps={value:"",className:null};const Ls=Fs;let Us;const Zs={getName:e=>(Us=Us||f.I18n.getLanguage(),"object"===typeof e?e[Us]||e.en:e)},Ws=0,Vs=1,Js=2,qs=3,Hs=4,Gs=5,Ys=6,Ks=7,Qs=8,Xs=[{selector:".blocks-triggers",content:"Select triggers"},{selector:".block-TriggerScheduleBlock",content:"Double click to add the block"},{selector:".tag-card",content:"Open drop down menu"},{selector:".tag-card-interval",content:"Select interval"},{selector:".blocks-actions",content:"Select action blocks"},{selector:".block-ActionPrintText",content:"Double click to add the block"},{selector:".button-js-code",content:"Check the script"},{selector:".button-js-code",content:"Switch back to rules"},{selector:".button-save",content:"Save the script"}];class $s extends a.PureComponent{constructor(e,t){super(e),this.renderText=(e,t,s)=>{const{className:i}=this.props,{attr:o,frontText:n,backText:r,nameBlock:l,name:c,doNotTranslate:d,doNotTranslateBack:u}=e;return(0,te.jsxs)(a.Fragment,{children:[(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[n&&(0,te.jsx)("div",{className:Xt.frontText,children:d?n:f.I18n.t(n)}),(0,te.jsx)(gs,{className:i,autoComplete:"off",label:Zs.getName(c),variant:"outlined",size:"small",fullWidth:!0,value:t,onChange:s,customValue:!0}),r&&(0,te.jsx)("div",{className:Xt.backText,children:u?r:f.I18n.t(r)})]}),l&&(0,te.jsx)("div",{className:Xt.nameBlock,children:f.I18n.t(l)})]},o)},this.renderSwitch=(e,t,s)=>{const{className:a}=this.props,{attr:i,frontText:o,backText:n,nameBlock:r,doNotTranslate:l,doNotTranslateBack:c}=e;return(0,te.jsxs)("div",{children:[(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[o&&(0,te.jsx)("div",{className:Xt.frontText,children:l?o:f.I18n.t(o)}),(0,te.jsx)(_s,{className:a,label:"",customValue:!0,value:t,onChange:s}),n&&(0,te.jsx)("div",{className:Xt.backText,children:c?n:f.I18n.t(n)})]}),r&&(0,te.jsx)("div",{className:Xt.nameBlock,children:f.I18n.t(r)})]},i)},this.renderNameText=(e,t)=>{let{attr:s,signature:a,doNotTranslate:i,defaultValue:o}=e;return(0,te.jsx)("div",{className:f.Utils.clsx(a?Xt.displayItalic:Xt.displayFlex,Xt.blockMarginTop),children:t?i?t:f.I18n.t(t):i?o:f.I18n.t(o)},s)},this.renderNumber=(e,t,s)=>{const{className:a}=this.props,{settings:i}=this.state,{attr:o,backText:n,frontText:r,openCheckbox:l,doNotTranslate:c,doNotTranslateBack:d}=e;let u=!0;return l&&(u="boolean"!==typeof i.offset||i.offset),u?(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[r&&(0,te.jsx)("div",{className:Xt.frontText,children:c?r:f.I18n.t(r)}),(0,te.jsx)(gs,{className:f.Utils.clsx(a,e.className),fullWidth:!0,autoComplete:"off",label:e.noHelperText?"":"number",variant:"outlined",size:"small",type:"number",value:t,onChange:s,customValue:!0}),n&&(0,te.jsx)("div",{className:Xt.backText,children:d?n:f.I18n.t(n)})]},o):null},this.renderColor=(e,t,s)=>{const{className:a}=this.props,{attr:i,backText:o,frontText:n,doNotTranslate:r,doNotTranslateBack:l}=e;return(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[n&&(0,te.jsx)("div",{className:Xt.frontText,children:r?n:f.I18n.t(n)}),(0,te.jsx)(gs,{className:a,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",type:"color",value:t,onChange:s}),o&&(0,te.jsx)("div",{className:Xt.backText,children:l?o:f.I18n.t(o)})]},i)},this.renderCheckbox=(e,t,s)=>{const{className:a}=this.props,{settings:i}=this.state,{attr:o,backText:n,frontText:r,defaultValue:l,doNotTranslate:c,doNotTranslateBack:d}=e;return(0,te.jsxs)("div",{className:Xt.displayFlex,children:[r&&(0,te.jsx)("div",{className:Xt.frontText,children:c?r:f.I18n.t(r)}),(0,te.jsx)(ps,{className:a,size:"small",style:{marginRight:5},value:"boolean"===typeof i[o]?i[o]:l,customValue:!0,onChange:s}),n&&(0,te.jsx)("div",{onClick:()=>s("boolean"===typeof i[o]?!i[o]:!l),className:Xt.backText,children:d?n:f.I18n.t(n)})]},o)},this.renderSlider=(e,t,s)=>{const{className:a}=this.props,{attr:i,frontText:o,backText:n,nameBlock:r,min:l,max:c,step:d,unit:u,doNotTranslate:p,doNotTranslateBack:h}=e;return(0,te.jsxs)("div",{children:[(0,te.jsxs)("div",{className:Xt.displayFlex,style:{marginRight:20},children:[o&&(0,te.jsx)("div",{className:Xt.frontText,children:p?o:f.I18n.t(o)}),(0,te.jsx)(Ns,{customValue:!0,min:l,max:c,step:d,unit:u,className:a,autoComplete:"off",label:"number",variant:"outlined",size:"small",value:t,onChange:e=>{console.log(e),s(e)}}),n&&(0,te.jsx)("div",{style:{marginLeft:20},className:Xt.backText,children:h?n:f.I18n.t(n)})]}),r&&(0,te.jsx)("div",{className:Xt.nameBlock,children:f.I18n.t(r)})]},i)},this.renderButton=(e,t,s)=>{const{className:a}=this.props,{attr:i,frontText:o,backText:n,buttonText:r,doNotTranslate:l,doNotTranslateBack:c}=e;return(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[o&&(0,te.jsx)("div",{className:Xt.frontText,children:l?o:f.I18n.t(o)}),(0,te.jsx)(cs,{label:r,fullWidth:!0,value:t,className:a,onClick:s}),n&&(0,te.jsx)("div",{className:Xt.backText,children:c?n:f.I18n.t(n)})]},i)},this.findIcon=e=>{var t;if(!e)return Promise.resolve(null);if(null!==(t=e.common)&&void 0!==t&&t.icon)return Promise.resolve((0,is.getSelectIdIcon)(e,"../.."));if("state"===e.type||"channel"===e.type){const t=e._id.split(".");t.pop();const s=t.join(".");return this.props.socket.getObject(s).then((e=>this.findIcon(e))).catch((()=>null))}},this.renderObjectID=(e,t,s)=>{const{attr:a,openCheckbox:i,checkReadOnly:o}=e,{settings:n}=this.state,r=this.state["showSelectId".concat(a)],{className:l,socket:c}=this.props;let d=!0;return i&&(d="boolean"!==typeof n.offset||n.offset),n[a]&&!this.state[n[a]]&&setTimeout((()=>{c.getObject(t).then((e=>{this.findIcon(e).then((t=>{var s;return this.setState({[n[a]]:e,["".concat(n[a],"___icon")]:t,error:o&&this.lastObjectIdChange&&Date.now()-this.lastObjectIdChange<1e3&&!1===(null===e||void 0===e||null===(s=e.common)||void 0===s?void 0:s.write)?f.I18n.t("Read only ID selected: %s",n[a]):""})}))}))}),0),d?(0,te.jsxs)("div",{className:Xt.blockMarginTop,children:[(0,te.jsxs)("div",{className:Xt.displayFlex,children:[e.title?(0,te.jsx)("div",{children:f.I18n.t(e.title)}):null,(0,te.jsx)(gs,{className:l,autoComplete:"off",fullWidth:!0,disabled:!0,variant:"outlined",size:"small",value:t,customValue:!0}),(0,te.jsx)(cs,{icon:this.state["".concat(this.state.settings[e.attr],"___icon")],square:!0,style:{marginLeft:7},value:"...",className:l,onClick:()=>{const e={};e["showSelectId".concat(a)]=!0,this.setState(e)}})]}),this.state[this.state.settings[e.attr]]&&(0,te.jsx)("div",{className:f.Utils.clsx(Xt.nameBlock,Xt.displayItalic),children:f.Utils.getObjectNameFromObj(this.state[n[a]],f.I18n.getLanguage())}),r?(0,te.jsx)(ts(),{imagePrefix:"../..",dialogName:"javascript",themeType:f.Utils.getThemeName(),socket:c,statesOnly:!0,selected:t,onClose:()=>{const e={};e["showSelectId".concat(a)]=!1,this.setState(e)},onOk:(e,t,i)=>{const o={};o["showSelectId".concat(a)]=!1,this.setState(o,(()=>c.getObject(e).then((t=>{this.lastObjectIdChange=Date.now(),s({[a]:e,["".concat(a,"Role")]:t.common.role,["".concat(a,"Type")]:t.common.type,["".concat(a,"Unit")]:t.common.unit,["".concat(a,"States")]:t.common.states,["".concat(a,"Min")]:t.common.min,["".concat(a,"Max")]:t.common.max,["".concat(a,"Step")]:t.common.step,["".concat(a,"Def")]:t.common.def,["".concat(a,"Write")]:t.common.write,["".concat(a,"Read")]:t.common.read},null,(()=>this.props.setOnUpdate&&this.props.setOnUpdate(!0)))}))))}}):null]},a):null},this.renderIconTag=()=>(0,te.jsx)("div",{className:Xt.iconTag,onClick:e=>{this.state.settings.tagCard&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:e.currentTarget}))},children:this.state.settings.tagCard}),this.renderTime=(e,t,s)=>{const{attr:a,backText:i,frontText:o,doNotTranslate:n,doNotTranslateBack:r}=e;return(0,te.jsxs)("div",{className:Xt.displayFlex,style:{whiteSpace:"nowrap"},children:[o&&(0,te.jsx)("div",{className:Xt.frontText,children:n?o:f.I18n.t(o)}),(0,te.jsx)(zs,{value:t,onChange:s}),i&&(0,te.jsx)("div",{className:Xt.backText,children:r?i:f.I18n.t(i)})]},a)},this.renderSelect=(e,t,s)=>{const{className:a}=this.props,{name:i,options:o,frontText:n,backText:r,attr:l,multiple:c,doNotTranslate:d,doNotTranslate2:u,doNotTranslateBack:p}=e;return(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),style:{whiteSpace:"nowrap"},children:[n&&(0,te.jsx)("div",{className:Xt.frontText,children:f.I18n.t(n)}),(0,te.jsx)(Is,{attr:l,doNotTranslate:d,doNotTranslate2:u,title:i,className:a,options:o,value:t,onChange:s,multiple:c,customValue:!0}),r&&(0,te.jsx)("div",{className:Xt.backText,children:p?r:f.I18n.t(r)})]},l)},this.renderInstance=(e,t,s)=>{const{className:a,socket:i}=this.props,{name:o,options:n,frontText:r,backText:l,attr:c,adapter:d,doNotTranslate:u,doNotTranslateBack:p}=e;return this.state.hideAttributes.includes(c)?null:(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),style:{whiteSpace:"nowrap"},children:[r&&(0,te.jsx)("div",{className:Xt.frontText,children:u?r:f.I18n.t(r)}),(0,te.jsx)(vs,{attr:c,socket:i,adapter:d,title:o,className:a,options:n,value:t,onChange:s,customValue:!0,onInstanceHide:e=>this.setState({hideAttributes:[...this.state.hideAttributes,c]},(()=>s(e)))}),l&&(0,te.jsx)("div",{className:Xt.backText,children:p?l:f.I18n.t(l)})]},c)},this.renderDialog=(e,t,s)=>{const{onShowDialog:a,frontText:i,backText:o,attr:n,icon:r,doNotTranslate:l,doNotTranslateBack:c}=e;return(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),style:{whiteSpace:"nowrap"},children:[i&&(0,te.jsx)("div",{className:Xt.frontText,children:l?i:f.I18n.t(i)}),(0,te.jsx)(Ut,{iconName:r,className:f.Utils.clsx(Xt.iconDialog),onClick:e=>a&&a()}),o&&(0,te.jsx)("div",{className:Xt.backText,children:c?o:f.I18n.t(o)})]},n)},this.renderModalInput=(e,t,s)=>{const{openModal:a}=this.state,{className:i}=this.props,{attr:o,nameBlock:n,frontText:r,backText:l,noTextEdit:c,doNotTranslate:d,doNotTranslateBack:u}=e;return(0,te.jsxs)("div",{children:[(0,te.jsxs)("div",{className:f.Utils.clsx(Xt.displayFlex,Xt.blockMarginTop),children:[r&&(0,te.jsx)("div",{className:Xt.frontText,children:d?r:f.I18n.t(r)}),(0,te.jsx)(gs,{disabled:!!c,className:i,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",value:t,onChange:s,customValue:!0}),(0,te.jsx)(cs,{square:!0,style:{marginLeft:5},value:"...",className:i,onClick:()=>this.setState({openModal:!0})}),l&&(0,te.jsx)("div",{className:Xt.backText,children:u?l:f.I18n.t(l)})]}),a?(0,te.jsx)(ws,{open:!0,onApply:e=>this.setState({openModal:!1},(()=>null!==e&&void 0!==e&&s(e))),onClose:()=>this.setState({openModal:!1}),defaultValue:t,textInput:!0}):null,n&&(0,te.jsx)("div",{className:Xt.nameBlock,children:f.I18n.t(n)})]},o)},this.renderDate=(e,t,s)=>{const{attr:a,backText:i,frontText:o,doNotTranslate:n,doNotTranslateBack:r}=e;return(0,te.jsxs)("div",{className:Xt.displayFlex,style:{whiteSpace:"nowrap"},children:[o&&(0,te.jsx)("div",{className:Xt.frontText,children:n?o:f.I18n.t(o)}),(0,te.jsx)(Ls,{value:t,onChange:s}),i&&(0,te.jsx)("div",{className:Xt.backText,children:r?i:f.I18n.t(i)})]},a)},this.renderTags=()=>{let{tagCardArray:e,openTagMenu:t}=this.state,{tagCard:s}=this.state.settings,a="="!==s&&"<>"!==s&&">="!==s&&"()"!==s&&"."!==s&&"<="!==s&&"<"!==s&&">"!==s?f.I18n.t(s):s;return e.length>=3&&(a=(0,te.jsxs)("div",{children:[(0,te.jsx)("div",{"aria-controls":"simple-menu","aria-haspopup":"true",onClick:e=>{this.setState({openTagMenu:e.currentTarget},(()=>{this.props.isTourOpen&&this.props.tourStep===Js&&setTimeout((()=>this.props.setTourStep(qs)),300)}))},children:a}),(0,te.jsx)(lt.Menu,{id:"simple-menu",anchorEl:t,keepMounted:!0,open:Boolean(t),onClose:()=>this.setState({openTagMenu:null}),children:e.map((e=>{let t=e;return"string"!==typeof e&&(t=e.title),(0,te.jsxs)(lt.MenuItem,{selected:t===s,className:"tag-card-"+t,style:{placeContent:"space-between"},onClick:()=>{const e={...this.state.settings,tagCard:t};this.setState({openTagMenu:null,settings:e},(()=>{this.props.onChange(e),this.onTagChange(t)})),this.props.isTourOpen&&(this.props.tourStep===Js||this.props.tourStep===qs)&&"interval"===t&&setTimeout((()=>this.props.setTourStep(Hs)),500)},children:[-1!==t.search(/>|<|<>|<=|>=|=/)?t:f.I18n.t(t),"string"!==typeof e&&e.title2&&(0,te.jsx)("div",{style:{marginLeft:4},children:f.I18n.t(e.title2)})]},t)}))})]})),a},this.onChangeTag=()=>{const{tagCardArray:e,settings:t,settings:{tagCard:s}}=this.state;let a=[...e];if("string"!==typeof a[0]&&(a=a.map((e=>e.title))),s&&a.length<3){const e={...t},i=a[(a.indexOf(s)+1)%a.length];e.tagCard=i,this.setState({settings:e},(()=>{this.props.onChange(e),this.onTagChange(i)}))}},this.componentDidMount=()=>{this.onTagChange()},this.componentDidUpdate=e=>{"triggers"!==this.props.acceptedBy&&this.props.onUpdate&&setTimeout((()=>this.onUpdate()),0)},this.onChangeInput=e=>(t,s,a)=>{const i=JSON.parse(JSON.stringify(this.state.settings));"object"!==typeof t||s&&"function"!==typeof s?i[s||e]=t:Object.keys(t).forEach((e=>i[e]=t[e])),i.id=this.getData().id,i._id=this.props._id,this.setState({settings:i},(()=>{this.onValueChanged(t,s||e),this.props.onChange(i),a&&a()}))},this.render=()=>{const{inputs:e,name:t,icon:s,iconTag:i,settings:o,adapter:n,settings:{tagCard:r},helpDialog:l}=this.state,{socket:c,notFound:d}=this.props;return(0,te.jsxs)(a.Fragment,{children:[i?this.renderIconTag():(0,te.jsx)(Ut,{iconName:s,className:f.Utils.clsx(Xt.iconThemCard,r&&this.state.tagCardArray.length&&Xt.iconThemCardSelectable),adapter:n,socket:c,onClick:e=>{r&&(this.state.tagCardArray.length<3?this.onChangeTag():this.setState({openTagMenu:e.currentTarget}))}}),(0,te.jsxs)("div",{className:Xt.blockName,children:[(0,te.jsxs)("span",{className:Xt.nameCard,children:[f.I18n.t(t),d?f.I18n.t("%s not found",o.id):"",l?(0,te.jsx)(D.Z,{className:Xt.iconHelp,size:"small",onClick:()=>this.setState({helpText:f.I18n.t(l)}),children:(0,te.jsx)($t.Z,{})}):null]}),e.filter((e=>{let{nameRender:t}=e;return this[t]})).map((e=>{const{nameRender:t,defaultValue:s,attr:a,options:i}=e;return this[t](e,void 0!==o[a]?o[a]:s,this.onChangeInput(a),i||[])}))]}),r&&(0,te.jsx)("div",{className:Xt.controlMenuTop,style:{opacity:1,height:22,top:-22},children:(0,te.jsx)("div",{onClick:()=>this.onChangeTag(),className:f.Utils.clsx(Xt.tagCard,"tag-card"),children:this.renderTags()})}),this.renderDebugInfo(),this.state.error?(0,te.jsx)(as(),{title:f.I18n.t("Warning"),text:this.state.error,onClose:()=>this.setState({error:""})}):null,this.state.helpText?(0,te.jsx)(b(),{title:f.I18n.t("Instructions"),text:this.state.helpText,onClose:()=>this.setState({helpText:""})}):null,this.renderSpecific()]})},t=t||{};let s=e.settings||{tagCard:t.tagCardArray?"string"!==typeof t.tagCardArray[0]?t.tagCardArray[0].title:t.tagCardArray[0]:""};!s.tagCard&&t.tagCardArray&&(s.tagCard="string"!==typeof t.tagCardArray[0]?t.tagCardArray[0].title:t.tagCardArray[0]),this.state={inputs:t.inputs||e.inputs||[],name:t.name||e.name||"",icon:t.icon||e.icon||"",adapter:t.adapter||e.adapter||"",helpDialog:t.helpDialog||e.helpDialog||"",tagCardArray:t.tagCardArray||[],openTagMenu:!1,openModal:!1,iconTag:!1,error:"",helpText:"",oid:{},instanceSelectionOptions:[],instanceSelectionDef:"",hideAttributes:[],settings:s,debugMessage:null,enableSimulation:this.props.enableSimulation},this.debugHideTimeout=null}UNSAFE_componentWillReceiveProps(e){if(!e||!e.settings)return void console.log(JSON.stringify(e));const t=JSON.parse(JSON.stringify(e.settings));!t.tagCard&&this.state.tagCardArray&&this.state.tagCardArray.length&&(t.tagCard="string"!==typeof this.state.tagCardArray[0]?this.state.tagCardArray[0].title:this.state.tagCardArray[0]);let s=null;e.onDebugMessage&&e.onDebugMessage.blockId===this.props._id&&(s={},s.debugMessage=JSON.parse(JSON.stringify(e.onDebugMessage)),this.debugHideTimeout&&clearTimeout(this.debugHideTimeout),this.debugHideTimeout=setTimeout((()=>this.setState({debugMessage:null})),e.onDebugMessage.hideTimeout||5e3)),JSON.stringify(t)!==JSON.stringify(this.state.settings)&&(s=s||{},s.settings=t),this.state.enableSimulation!==e.enableSimulation&&(s=s||{},s.enableSimulation=e.enableSimulation),s&&this.setState(s)}componentWillUnmount(){this.debugHideTimeout&&clearTimeout(this.debugHideTimeout),this.debugHideTimeout=null}onTagChange(e,t){let s=!1,a=JSON.parse(JSON.stringify(this.state.settings));this.state.inputs.forEach((e=>{e.attr&&void 0!==e.defaultValue&&void 0===a[e.attr]&&(s=!0,a[e.attr]=e.defaultValue)})),s?(this.setState({settings:a},(()=>t&&t())),this.props.onChange(a)):t&&t()}onUpdate(){}onValueChanged(e,t){}static getReplacesInText(e){var t;let s="";return null!==(t=e.trigger)&&void 0!==t&&t.oidType?s=".replace(/%s/g, obj.state.val).replace(/%id/g, obj.id).replace(/%name/g, obj.common && obj.common.name).replace(/%old/g, obj.oldState.val)":e.conditionsStates.length&&(s=".replace(/%s/g, ".concat(e.conditionsStates[0].name,').replace(/%id/g, "').concat(e.conditionsStates[0].id,'")')),s}renderSpecific(){return null}renderDebugInfo(){return this.state.debugMessage?(0,te.jsx)("div",{className:Xt.debugInfo,style:{opacity:1,height:22,bottom:-22},children:this.renderDebug?this.renderDebug(this.state.debugMessage):f.I18n.t("executed")},this.state.debugMessage.ts):null}}const ea=$s,ta={en:{name:"Google - English",engine:"google",params:[]},de:{name:"Google - Deutsch",engine:"google",params:[]},ru:{name:"Google - \u0420\u0443\u0441\u0441\u043a\u0438\u0439",engine:"google",params:[]},it:{name:"Google - Italiano",engine:"google",params:[]},es:{name:"Google - Espaniol",engine:"google",params:[]},fr:{name:"Google - Fran\xe7ais",engine:"google",params:[]},ru_YA:{name:"Yandex - \u0420\u0443\u0441\u0441\u043a\u0438\u0439",engine:"yandex",params:["key","voice","emotion","ill","drunk","robot"],voice:["jane","zahar"],emotion:["none","good","neutral","evil","mixed"]},ru_YA_CLOUD:{name:"Yandex Cloud - \u0420\u0443\u0441\u0441\u043a\u0438\u0439",engine:"yandexCloud",params:["key","folderID","voice","emotion"],voice:["alyss","oksana","jane","zahar"],emotion:["good","neutral","evil"]},"en-US":{name:"PicoTTS - Englisch US",engine:"PicoTTS",params:[]},"en-GB":{name:"PicoTTS - Englisch GB",engine:"PicoTTS",params:[]},"de-DE":{name:"PicoTTS - Deutsch",engine:"PicoTTS",params:[]},"it-IT":{name:"PicoTTS - Italiano",engine:"PicoTTS",params:[]},"es-ES":{name:"PicoTTS - Espaniol",engine:"PicoTTS",params:[]},"fr-FR":{name:"PicoTTS - Fran\xe7ais",engine:"PicoTTS",params:[]},"ru-RU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"Cloud - \u0420\u0443\u0441\u0441\u043a\u0438\u0439 - \u0422\u0430\u0442\u044c\u044f\u043d\u0430"},"ru-RU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"Cloud - \u0420\u0443\u0441\u0441\u043a\u0438\u0439 - \u041c\u0430\u043a\u0441\u0438\u043c"},"de-DE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Marlene",ssml:!0,name:"Cloud - Deutsch - Marlene"},"de-DE_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"de-DE",ename:"Hans",ssml:!0,name:"Cloud - Deutsch - Hans"},"en-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Salli",ssml:!0,name:"Cloud - en-US - Female - Salli"},"en-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Joey",ssml:!0,name:"Cloud - en-US - Male - Joey"},"da-DK_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Naja",ssml:!0,name:"Cloud - da-DK - Female - Naja"},"da-DK_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"da-DK",ename:"Mads",ssml:!0,name:"Cloud - da-DK - Male - Mads"},"en-AU_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Nicole",ssml:!0,name:"Cloud - en-AU - Female - Nicole"},"en-AU_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-AU",ename:"Russell",ssml:!0,name:"Cloud - en-AU - Male - Russell"},"en-GB_CLOUD_Female_Amy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Amy",ssml:!0,name:"Cloud - en-GB - Female - Amy"},"en-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Brian",ssml:!0,name:"Cloud - en-GB - Male - Brian"},"en-GB_CLOUD_Female_Emma":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB",ename:"Emma",ssml:!0,name:"Cloud - en-GB - Female - Emma"},"en-GB-WLS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"Cloud - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"Cloud - en-GB-WLS - Male - Geraint"},"cy-GB_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"Cloud - cy-GB - Female - Gwyneth"},"cy-GB_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"Cloud - cy-GB - Male - Geraint"},"en-IN_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-IN",ename:"Raveena",ssml:!0,name:"Cloud - en-IN - Female - Raveena"},"en-US_CLOUD_Male_Chipmunk":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"Cloud - en-US - Male - Chipmunk"},"en-US_CLOUD_Male_Eric":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Eric",ssml:!0,name:"Cloud - en-US - Male - Eric"},"en-US_CLOUD_Female_Ivy":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Ivy",ssml:!0,name:"Cloud - en-US - Female - Ivy"},"en-US_CLOUD_Female_Jennifer":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Jennifer",ssml:!0,name:"Cloud - en-US - Female - Jennifer"},"en-US_CLOUD_Male_Justin":{gender:"Male",engine:"cloud",params:["cloud"],language:"en-US",ename:"Justin",ssml:!0,name:"Cloud - en-US - Male - Justin"},"en-US_CLOUD_Female_Kendra":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kendra",ssml:!0,name:"Cloud - en-US - Female - Kendra"},"en-US_CLOUD_Female_Kimberly":{gender:"Female",engine:"cloud",params:["cloud"],language:"en-US",ename:"Kimberly",ssml:!0,name:"Cloud - en-US - Female - Kimberly"},"es-ES_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Conchita",ssml:!0,name:"Cloud - es-ES - Female - Conchita"},"es-ES_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-ES",ename:"Enrique",ssml:!0,name:"Cloud - es-ES - Male - Enrique"},"es-US_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"es-US",ename:"Penelope",ssml:!0,name:"Cloud - es-US - Female - Penelope"},"es-US_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"es-US",ename:"Miguel",ssml:!0,name:"Cloud - es-US - Male - Miguel"},"fr-CA_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"Cloud - fr-CA - Female - Chantal"},"fr-FR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Celine",ssml:!0,name:"Cloud - fr-FR - Female - Celine"},"fr-FR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"Cloud - fr-FR - Male - Mathieu"},"is-IS_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Dora",ssml:!0,name:"Cloud - is-IS - Female - Dora"},"is-IS_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"is-IS",ename:"Karl",ssml:!0,name:"Cloud - is-IS - Male - Karl"},"it-IT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Carla",ssml:!0,name:"Cloud - it-IT - Female - Carla"},"it-IT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"Cloud - it-IT - Male - Giorgio"},"nb-NO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nb-NO",ename:"Liv",ssml:!0,name:"Cloud - nb-NO - Female - Liv"},"nl-NL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"Cloud - nl-NL - Female - Lotte"},"nl-NL_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"Cloud - nl-NL - Male - Ruben"},"pl-PL_CLOUD_Female_Agnieszka":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"Cloud - pl-PL - Female - Agnieszka"},"pl-PL_CLOUD_Male_Jacek":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"Cloud - pl-PL - Male - Jacek"},"pl-PL_CLOUD_Female_Ewa":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"Cloud - pl-PL - Female - Ewa"},"pl-PL_CLOUD_Male_Jan":{gender:"Male",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Jan",ssml:!0,name:"Cloud - pl-PL - Male - Jan"},"pl-PL_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pl-PL",ename:"Maja",ssml:!0,name:"Cloud - pl-PL - Female - Maja"},"pt-BR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"Cloud - pt-BR - Female - Vitoria"},"pt-BR_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"Cloud - pt-BR - Male - Ricardo"},"pt-PT_CLOUD_Male":{gender:"Male",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"Cloud - pt-PT - Male - Cristiano"},"pt-PT_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"pt-PT",ename:"Ines",ssml:!0,name:"Cloud - pt-PT - Female - Ines"},"ro-RO_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"Cloud - ro-RO - Female - Carmen"},"sv-SE_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"Cloud - sv-SE - Female - Astrid"},"tr-TR_CLOUD_Female":{gender:"Female",engine:"cloud",params:["cloud"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"Cloud - tr-TR - Female - Filiz"},"ru-RU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Tatyana",ssml:!0,name:"AWS Polly - \u0420\u0443\u0441\u0441\u043a\u0438\u0439 - \u0422\u0430\u0442\u044c\u044f\u043d\u0430"},"ru-RU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"ru-RU",ename:"Maxim",ssml:!0,name:"AWS Polly - \u0420\u0443\u0441\u0441\u043a\u0438\u0439 - \u041c\u0430\u043a\u0441\u0438\u043c"},"de-DE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Marlene",ssml:!0,name:"AWS Polly - Deutsch - Marlene"},"de-DE_AP_Female_Vicky":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Vicky",ssml:!0,name:"AWS Polly - Deutsch - Vicky"},"de-DE_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"de-DE",ename:"Hans",ssml:!0,name:"AWS Polly - Deutsch - Hans"},"en-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Salli",ssml:!0,name:"AWS Polly - en-US - Female - Salli"},"en-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Joey",ssml:!0,name:"AWS Polly - en-US - Male - Joey"},"da-DK_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Naja",ssml:!0,name:"AWS Polly - da-DK - Female - Naja"},"da-DK_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"da-DK",ename:"Mads",ssml:!0,name:"AWS Polly - da-DK - Male - Mads"},"en-AU_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Nicole",ssml:!0,name:"AWS Polly - en-AU - Female - Nicole"},"en-AU_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-AU",ename:"Russell",ssml:!0,name:"AWS Polly - en-AU - Male - Russell"},"en-GB_AP_Female_Amy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Amy",ssml:!0,name:"AWS Polly - en-GB - Female - Amy"},"en-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Brian",ssml:!0,name:"AWS Polly - en-GB - Male - Brian"},"en-GB_AP_Female_Emma":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB",ename:"Emma",ssml:!0,name:"AWS Polly - en-GB - Female - Emma"},"en-GB-WLS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Gwyneth",ssml:!0,name:"AWS Polly - en-GB-WLS - Female - Gwyneth"},"en-GB-WLS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-GB-WLS",ename:"Geraint",ssml:!0,name:"AWS Polly - en-GB-WLS - Male - Geraint"},"cy-GB_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Gwyneth",ssml:!0,name:"AWS Polly - cy-GB - Female - Gwyneth"},"cy-GB_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"cy-GB",ename:"Geraint",ssml:!0,name:"AWS Polly - cy-GB - Male - Geraint"},"en-IN_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-IN",ename:"Raveena",ssml:!0,name:"AWS Polly - en-IN - Female - Raveena"},"en-US_AP_Male_Chipmunk":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Chipmunk",ssml:!0,name:"AWS Polly - en-US - Male - Chipmunk"},"en-US_AP_Male_Eric":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Eric",ssml:!0,name:"AWS Polly - en-US - Male - Eric"},"en-US_AP_Female_Ivy":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Ivy",ssml:!0,name:"AWS Polly - en-US - Female - Ivy"},"en-US_AP_Female_Jennifer":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Jennifer",ssml:!0,name:"AWS Polly - en-US - Female - Jennifer"},"en-US_AP_Male_Justin":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Justin",ssml:!0,name:"AWS Polly - en-US - Male - Justin"},"en-US_AP_Female_Kendra":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kendra",ssml:!0,name:"AWS Polly - en-US - Female - Kendra"},"en-US_AP_Female_Kimberly":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"en-US",ename:"Kimberly",ssml:!0,name:"AWS Polly - en-US - Female - Kimberly"},"es-ES_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Conchita",ssml:!0,name:"AWS Polly - es-ES - Female - Conchita"},"es-ES_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-ES",ename:"Enrique",ssml:!0,name:"AWS Polly - es-ES - Male - Enrique"},"es-US_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Penelope",ssml:!0,name:"AWS Polly - es-US - Female - Penelope"},"es-US_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"es-US",ename:"Miguel",ssml:!0,name:"AWS Polly - es-US - Male - Miguel"},"fr-CA_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-CA",ename:"Chantal",ssml:!0,name:"AWS Polly - fr-CA - Female - Chantal"},"fr-FR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Celine",ssml:!0,name:"AWS Polly - fr-FR - Female - Celine"},"fr-FR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"fr-FR",ename:"Mathieu",ssml:!0,name:"AWS Polly - fr-FR - Male - Mathieu"},"is-IS_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Dora",ssml:!0,name:"AWS Polly - is-IS - Female - Dora"},"is-IS_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"is-IS",ename:"Karl",ssml:!0,name:"AWS Polly - is-IS - Male - Karl"},"it-IT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Carla",ssml:!0,name:"AWS Polly - it-IT - Female - Carla"},"it-IT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"it-IT",ename:"Giorgio",ssml:!0,name:"AWS Polly - it-IT - Male - Giorgio"},"nb-NO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nb-NO",ename:"Liv",ssml:!0,name:"AWS Polly - nb-NO - Female - Liv"},"nl-NL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Lotte",ssml:!0,name:"AWS Polly - nl-NL - Female - Lotte"},"nl-NL_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"nl-NL",ename:"Ruben",ssml:!0,name:"AWS Polly - nl-NL - Male - Ruben"},"pl-PL_AP_Female_Agnieszka":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Agnieszka",ssml:!0,name:"AWS Polly - pl-PL - Female - Agnieszka"},"pl-PL_AP_Male_Jacek":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jacek",ssml:!0,name:"AWS Polly - pl-PL - Male - Jacek"},"pl-PL_AP_Female_Ewa":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Ewa",ssml:!0,name:"AWS Polly - pl-PL - Female - Ewa"},"pl-PL_AP_Male_Jan":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Jan",ssml:!0,name:"AWS Polly - pl-PL - Male - Jan"},"pl-PL_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pl-PL",ename:"Maja",ssml:!0,name:"AWS Polly - pl-PL - Female - Maja"},"pt-BR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Vitoria",ssml:!0,name:"AWS Polly - pt-BR - Female - Vitoria"},"pt-BR_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-BR",ename:"Ricardo",ssml:!0,name:"AWS Polly - pt-BR - Male - Ricardo"},"pt-PT_AP_Male":{gender:"Male",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Cristiano",ssml:!0,name:"AWS Polly - pt-PT - Male - Cristiano"},"pt-PT_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"pt-PT",ename:"Ines",ssml:!0,name:"AWS Polly - pt-PT - Female - Ines"},"ro-RO_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"ro-RO",ename:"Carmen",ssml:!0,name:"AWS Polly - ro-RO - Female - Carmen"},"sv-SE_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"sv-SE",ename:"Astrid",ssml:!0,name:"AWS Polly - sv-SE - Female - Astrid"},"tr-TR_AP_Female":{gender:"Female",engine:"polly",params:["accessKey","secretKey","region"],language:"tr-TR",ename:"Filiz",ssml:!0,name:"AWS Polly - tr-TR - Female - Filiz"}};class sa extends ea{constructor(e){super(e,sa.getStaticData())}static compile(e,t){return e.text?"// Sayit ".concat(e.text||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat(e.language&&"_"!==e.language?"".concat(e.language,";"):"").concat(e.volume?"".concat(e.volume,";"):"").concat((e.text||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'});\n\t\tawait setStateAsync("').concat(e.instance,'.tts.text", subActionVar').concat(e._id,");"):"// no text defined\n_sendToFrontEnd(".concat(e._id,", {text: 'No text defined'});")}renderDebug(e){return"".concat(f.I18n.t("Say:")," ").concat(e.data.text)}onTagChange(e){const t=f.I18n.getLanguage(),s=Object.keys(ta).filter((e=>e.startsWith(t))).map((e=>({title:ta[e].name,value:e})));s.unshift({title:"Default",value:"_"}),this.setState({inputs:[{attr:"instance",nameRender:"renderInstance",adapter:"sayit",defaultValue:"sayit.0",frontText:"Instance:"},{nameRender:"renderSelect",frontText:"Language:",options:s,defaultValue:"_",attr:"language"},{nameRender:"renderNameText",defaultValue:"Volume",attr:"textVol"},{nameRender:"renderSlider",attr:"volume",defaultValue:100,min:0,max:100},{attr:"text",nameRender:"renderModalInput",defaultValue:"Hallo",nameBlock:"",frontText:"Text:"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"Say It",id:"ActionSayText",adapter:"sayit",title:"Say some text via sayit adapter",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return sa.getStaticData()}}const aa=sa;class ia extends ea{constructor(e){super(e,ia.getStaticData())}static compile(e,t){return e.recipients?"// Send Email ".concat(e.text||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat((e.text||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'});\n\t\tsendTo("').concat(e.instance||"email.0",'", {\n\t\t to: "').concat(e.recipients||"",'",\n\t\t subject: "').concat((e.subject||"ioBroker").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),",\n\t\t text: subActionVar").concat(e._id,"\n\t\t});"):"// no recipients defined'\n_sendToFrontEnd(".concat(e._id,", {text: 'No recipients defined'});")}renderDebug(e){return"".concat(f.I18n.t("Sent:")," ").concat(e.data.text)}onTagChange(e){this.setState({inputs:[{attr:"instance",nameRender:"renderInstance",defaultValue:"email.0",frontText:"Instance:",adapter:"email"},{attr:"recipients",nameRender:"renderText",defaultValue:"user@mail.ru",frontText:"To:"},{attr:"subject",nameRender:"renderText",defaultValue:"Email from iobroker",nameBlock:"",frontText:"Subject:"},{attr:"text",nameRender:"renderModalInput",defaultValue:"Email from iobroker",nameBlock:"",frontText:"Body:"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"Send email",id:"ActionSendEmail",adapter:"email",title:"Sends an email",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return ia.getStaticData()}}const oa=ia;class na extends ea{constructor(e){super(e,na.getStaticData()),this.cachePromises={}}static compile(e,t){let s=(e.text||"").replace(/"/g,'\\"');return s?"// Telegram ".concat(s||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat((s||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'});\n\t\tsendTo("').concat(e.instance,'", "send", ').concat(e.user&&"_"!==e.user?'{user: "'.concat((e.user||"").replace(/"/g,'\\"'),'", text: subActionVar').concat(e._id,"}"):"subActionVar".concat(e._id),");"):"// no text defined\n_sendToFrontEnd(".concat(e._id,", {text: 'No text defined'});")}renderDebug(e){return"".concat(f.I18n.t("Sent:")," ").concat(e.data.text)}onValueChanged(e,t){"instance"===t&&this._setUsers(e)}_setUsers(e){if(e=e||this.state.settings.instance||"telegram.0",this.cachePromises[e]=this.cachePromises[e]||this.props.socket.getState("".concat(e,".communicate.users")),!this.state.settings._id)return this.setState({inputs:[{nameRender:"renderSelect",adapter:"telegram",frontText:"Instance:",defaultValue:"telegram.0",attr:"instance"},{nameRender:"renderSelect",attr:"user",options:[{title:"telegram.0",value:"telegram.0"}],defaultValue:"",frontText:"User:"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hallo",nameBlock:"",frontText:"Text:"}]},(()=>super.onTagChange()));this.cachePromises[e].then((e=>{try{var t;(e=(e=(e=null!==(t=e)&&void 0!==t&&t.val?JSON.parse(e.val):null)&&Object.keys(e).map((t=>({title:e[t].userName||e[t].firstName,value:t}))))||[]).unshift({title:"all",value:""})}catch(s){e=[{title:"all",value:""}]}this.setState({inputs:[{nameRender:"renderInstance",adapter:"telegram",frontText:"Instance:",defaultValue:"telegram.0",attr:"instance"},{nameRender:"renderSelect",attr:"user",options:e,defaultValue:"_",frontText:"User:"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hallo",nameBlock:"",frontText:"Text:"}]},(()=>super.onTagChange()))}))}onTagChange(e){this._setUsers()}static getStaticData(){return{acceptedBy:"actions",name:"Telegram",id:"ActionTelegram",adapter:"telegram",title:"Sends message via telegram",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return na.getStaticData()}}const ra=na;class la extends ea{constructor(e){super(e,la.getStaticData()),this.cachePromises={}}static compile(e,t){let s=(e.text||"").replace(/"/g,'\\"');return s?"// Pushover ".concat(e.text||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat(s,'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'}); \n\t\tsendTo("').concat(e.instance,'", "send", {\n\t\t message: subActionVar').concat(e._id,',\n\t\t title: "').concat((e.title||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),',\n\t\t sound: "').concat(e.sound,'",\n\t\t priority: ').concat(e.priority,"\n\t\t});"):"// no text defined\n_sendToFrontEnd(".concat(e._id,", {text: 'No text defined'});")}renderDebug(e){return"Sent: ".concat(e.data.text)}onTagChange(e){this.setState({inputs:[{nameRender:"renderInstance",adapter:"pushover",frontText:"Instance:",defaultValue:"pushover.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"title",defaultValue:"ioBroker",frontText:"Title:"},{nameRender:"renderSelect",attr:"sound",defaultValue:"magic",frontText:"Sound:",doNotTranslate:!0,options:[{value:"pushover",title:"pushover"},{value:"bike",title:"bike"},{value:"bugle",title:"bugle"},{value:"cashregister",title:"cashregister"},{value:"classical",title:"classical"},{value:"cosmic",title:"cosmic"},{value:"falling",title:"falling"},{value:"gamelan",title:"gamelan"},{value:"incoming",title:"incoming"},{value:"intermission",title:"intermission"},{value:"magic",title:"magic"},{value:"mechanical",title:"mechanical"},{value:"pianobar",title:"pianobar"},{value:"siren",title:"siren"},{value:"spacealarm",title:"spacealarm"},{value:"tugboat",title:"tugboat"},{value:"alien",title:"alien"},{value:"climb",title:"climb"},{value:"persistent",title:"persistent"},{value:"echo",title:"echo"},{value:"updown",title:"updown"},{value:"none",title:"none"}]},{nameRender:"renderSelect",attr:"priority",defaultValue:-1,frontText:"Priority:",options:[{value:-1,title:"quiet"},{value:0,title:"normal"},{value:1,title:"high-priority"},{value:2,title:"acknowledgment"}]}]},(()=>super.onTagChange()))}static getStaticData(){return{acceptedBy:"actions",name:"Pushover",id:"ActionPushover",adapter:"pushover",title:"Sends message via pushover",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return la.getStaticData()}}const ca=la;class da extends ea{constructor(e){super(e,da.getStaticData()),this.cachePromises={}}static compile(e,t){let s=(e.text||"").replace(/"/g,'\\"');return s?"// whatsapp ".concat(s||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat((s||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'});\n\t\tsendTo("').concat(e.instance,'", "send", {text: subActionVar').concat(e._id).concat(e.phone?', phone: "'.concat(e.phone.replace(/"/g,'\\"'),'"'):"","});"):"// no text defined\n_sendToFrontEnd(".concat(e._id,", {text: 'No text defined'});")}renderDebug(e){return"".concat(f.I18n.t("Sent:")," ").concat(e.data.text)}onTagChange(e){this.setState({inputs:[{nameRender:"renderInstance",adapter:"whatsapp-cmb",frontText:"Instance:",defaultValue:"whatsapp-cmb.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"phone",defaultValue:"",frontText:"Phone:",backText:"(optional)"}]},(()=>super.onTagChange()))}static getStaticData(){return{acceptedBy:"actions",name:"Whatsapp-cmb",id:"ActionWhatsappcmb",adapter:"whatsapp-cmb",title:"Sends message via whatsapp-cmb",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return da.getStaticData()}}const ua=da;class pa extends ea{constructor(e){super(e,pa.getStaticData()),this.cachePromises={}}static compile(e,t){let s=(e.text||"").replace(/"/g,'\\"');return s?"// Pushsafer ".concat(e.text||"","\n\t\tconst subActionVar").concat(e._id,' = "').concat(s,'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,'}); \n\t\tsendTo("').concat(e.instance,'", "send", {\n\t\t message: subActionVar').concat(e._id,',\n\t\t title: "').concat((e.title||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),",\n\t\t ").concat(e.device?'device: "'.concat(e.device,'",'):"","\n\t\t ").concat(e.sound&&"_"!==e.sound?'sound: "'.concat(e.sound,'",'):"","\n\t\t priority: ").concat(e.priority,",\n\t\t ").concat(e.vibration&&"_"!==e.vibration?"vibration: ".concat(e.vibration,","):"","\n\t\t});"):"// no text defined\n_sendToFrontEnd(".concat(e._id,", {text: 'No text defined'});")}renderDebug(e){return"Sent: ".concat(e.data.text)}onTagChange(e){this.setState({inputs:[{nameRender:"renderInstance",adapter:"pushsafer",frontText:"Instance:",defaultValue:"pushsafer.0",attr:"instance"},{nameRender:"renderModalInput",attr:"text",defaultValue:"Hello",nameBlock:"",frontText:"Text:"},{nameRender:"renderText",attr:"title",defaultValue:"ioBroker",frontText:"Title:"},{nameRender:"renderSelect",attr:"sound",defaultValue:"magic",frontText:"Sound:",doNotTranslate:!0,options:[{value:"_",title:"Device Default"},{value:"0",title:"Silent"},{value:"1",title:"Ahem (IM)"},{value:"2",title:"Applause (Mail)"},{value:"3",title:"Arrow (Reminder)"},{value:"4",title:"Baby (SMS)"},{value:"5",title:"Bell (Alarm)"},{value:"6",title:"Bicycle (Alarm2)"},{value:"7",title:"Boing (Alarm3)"},{value:"8",title:"Buzzer (Alarm4)"},{value:"9",title:"Camera (Alarm5)"},{value:"10",title:"Car Horn (Alarm6)"},{value:"11",title:"Cash Register (Alarm7)"},{value:"12",title:"Chime (Alarm8)"},{value:"13",title:"Creaky Door (Alarm9)"},{value:"14",title:"Cuckoo Clock (Alarm10)"},{value:"15",title:"Disconnect (Call)"},{value:"16",title:"Dog (Call2)"},{value:"17",title:"Doorbell (Call3)"},{value:"18",title:"Fanfare (Call4)"},{value:"19",title:"Gun Shot (Call5)"},{value:"20",title:"Honk (Call6)"},{value:"21",title:"Jaw Harp (Call7)"},{value:"22",title:"Morse (Call8)"},{value:"23",title:"Electricity (Call9)"},{value:"24",title:"Radio Tuner (Call10)"},{value:"25",title:"Sirens"},{value:"26",title:"Military Trumpets"},{value:"27",title:"Ufo"},{value:"28",title:"Whah Whah Whah"},{value:"29",title:"Man Saying Goodbye"},{value:"30",title:"Man Saying Hello"},{value:"31",title:"Man Saying No"},{value:"32",title:"Man Saying Ok"},{value:"33",title:"Man Saying Ooohhhweee"},{value:"34",title:"Man Saying Warning"},{value:"35",title:"Man Saying Welcome"},{value:"36",title:"Man Saying Yeah"},{value:"37",title:"Man Saying Yes"},{value:"38",title:"Beep short"},{value:"39",title:"Weeeee short"},{value:"40",title:"Cut in and out short"},{value:"41",title:"Finger flicking glas short"},{value:"42",title:"Wa Wa Waaaa short"},{value:"43",title:"Laser short"},{value:"44",title:"Wind Chime short"},{value:"45",title:"Echo short"},{value:"46",title:"Zipper short"},{value:"47",title:"HiHat short"},{value:"48",title:"Beep 2 short"},{value:"49",title:"Beep 3 short"},{value:"50",title:"Beep 4 short"},{value:"51",title:"The Alarm is armed"},{value:"52",title:"The Alarm is disarmed"},{value:"53",title:"The Backup is ready"},{value:"54",title:"The Door is closed"},{value:"55",title:"The Door is opend"},{value:"56",title:"The Window is closed"},{value:"57",title:"The Window is open"},{value:"58",title:"The Light is off"},{value:"59",title:"The Light is on"},{value:"60",title:"The Doorbell rings"},{value:"61",title:"Pager short"},{value:"62",title:"Pager long"}]},{nameRender:"renderSelect",attr:"priority",defaultValue:0,frontText:"Priority:",options:[{value:-2,title:"lowest priority"},{value:-1,title:"lower priority"},{value:0,title:"normal priority"},{value:1,title:"high priority"},{value:2,title:"highest priority"}]},{nameRender:"renderSelect",attr:"vibration",defaultValue:0,frontText:"Vibration:",options:[{value:"_",title:"default"},{value:1,title:"1"},{value:2,title:"2"},{value:3,title:"3"}]}]},(()=>super.onTagChange()))}static getStaticData(){return{acceptedBy:"actions",name:"Pushsafer",id:"ActionPushsafer",adapter:"pushsafer",title:"Sends message via Pushsafer",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return pa.getStaticData()}}const ha=pa,ma={triggers:[],conditions:[[]],justCheck:!1,actions:{then:[],else:[]}};function ga(e,t,s){const a=[];let i=e.triggers;i.length||(i=[{id:"TriggerScriptSave"}]);const o=[];let n=[],r=e.conditions.find((e=>e.find((e=>"()"===e.tagCard))));i.forEach(((t,i)=>{const l=ba(t.id,s);if(l){const c={trigger:t,condition:{},justCheck:!r&&(e.justCheck||!e.conditions.length||!e.conditions[0].length),conditionsDebug:[],conditionsVars:[],conditionsStates:[]},d=l.compile(t,c),u=function(e,t,s){let a=[],i=0;return e&&e.forEach((e=>{if(e.hasOwnProperty("length")&&e.length){const o=[];o&&e.forEach((e=>{const a=ba(e.id,s);a&&(t.condition.index=i++,o.push(a.compile(e,t)))})),a.push("(".concat(o.join(") &&\n ("),")"))}else{const o=ba(e.id,s);o&&(t.condition.index=i++,a.push(o.compile(e,t)))}})),a.length?1===a.length?a[0]||"true":"(".concat(a.join(") || ("),")"):"true"}(e.conditions,c,s),p=ya(e.actions.then,c,s),h=ya(e.actions.else,c,s);o.push("cond".concat(i)),c.prelines&&c.prelines.length&&c.prelines.forEach((e=>n.push(e))),d.includes(" __%%CONDITIONS_VARS%%__")&&(c.conditionsVars=c.conditionsVars.map(((e,t)=>t?" ".concat(e):e)),c.conditionsDebug=c.conditionsDebug.map(((e,t)=>t?" ".concat(e):e))),a.push(d.replace("__%%CONDITIONS_VARS%%__",c.conditionsVars.join("\n")).replace('"__%%DEBUG_CONDITIONS%%__";',c.conditionsDebug.join("\n")).replace("__%%CONDITION%%__",u).replace("__%%THEN%%__",p||"// ignore").replace("__%%ELSE%%__",h||"// ignore").replace(/__%%STATE%%__/g,"cond"+i))}}));let l=a.join("\n\n");return e.justCheck&&!r||(l="".concat(o.map((e=>"let ".concat(e," = false;"))).join("\n"),"\n\n").concat(l)),n&&(l="".concat(n.join("\n"),"\n\n").concat(l)),l}function ba(e,t){return t.find((t=>t.getStaticData&&t.getStaticData().id===e))}function ya(e,t,s){let a=[];return e&&e.forEach((e=>{const i=ba(e.id,s);i&&a.push(i.compile(e,t))})),"\t\t".concat(a.join("\n\n\t\t"))||0}function va(e,t){return ga(e,0,t)}const fa={code2json:function(e){if(!e)return ma;{const s=e.split("\n");try{let e=s.pop().replace(/^\/\//,"");return e=JSON.parse(e),e.triggers||(e=ma),e}catch(t){return ma}}},json2code:function(e,t){let s="";return s+=va(e,t),s+="\n/*\nconst demo = ".concat(JSON.stringify(e,null,2).replace(/\*\//g,"* /"),";\n*/\n"),"".concat(s,"\n//").concat(JSON.stringify(e))},compile:va,STANDARD_FUNCTION:'async function () {\n "__%%DEBUG_TRIGGER%%__";\n __%%CONDITIONS_VARS%%__\n const _cond = __%%CONDITION%%__;\n \n "__%%DEBUG_CONDITIONS%%__";\n \n if (_cond) {\n__%%THEN%%__\n } else {\n__%%ELSE%%__\n }\n}',STANDARD_FUNCTION_ONCHANGE:'async function () {\n "__%%DEBUG_TRIGGER%%__";\n __%%CONDITIONS_VARS%%__\n const _cond = __%%CONDITION%%__;\n \n "__%%DEBUG_CONDITIONS%%__";\n \n if (__%%STATE%%__ === false && _cond) {\n __%%STATE%%__ = true; \n__%%THEN%%__\n } else if (__%%STATE%%__ === true && !_cond) {\n __%%STATE%%__ = false; \n__%%ELSE%%__\n }\n}',STANDARD_FUNCTION_STATE:'async function (obj) {\n "__%%DEBUG_TRIGGER%%__";\n __%%CONDITIONS_VARS%%__\n const _cond = __%%CONDITION%%__;\n \n "__%%DEBUG_CONDITIONS%%__";\n \n if (_cond) {\n__%%THEN%%__\n } else {\n__%%ELSE%%__\n }\n}',STANDARD_FUNCTION_STATE_ONCHANGE:'async function (obj) {\n "__%%DEBUG_TRIGGER%%__";\n __%%CONDITIONS_VARS%%__\n const _cond = __%%CONDITION%%__;\n \n "__%%DEBUG_CONDITIONS%%__";\n \n if (__%%STATE%%__ === false && _cond) {\n __%%STATE%%__ = true; \n__%%THEN%%__\n } else if (__%%STATE%%__ === true && !_cond) {\n __%%STATE%%__ = false; \n__%%ELSE%%__\n }\n}',NO_FUNCTION:'"__%%DEBUG_TRIGGER%%__";\n__%%CONDITIONS_VARS%%__\nconst _cond = __%%CONDITION%%__;\n\n"__%%DEBUG_CONDITIONS%%__";\n\nif (_cond) {\n__%%THEN%%__\n} else {\n__%%ELSE%%__\n}'};class Sa extends ea{constructor(e){super(e,Sa.getStaticData())}static compile(e){return fa.NO_FUNCTION.replace('"__%%DEBUG_TRIGGER%%__"',"_sendToFrontEnd(".concat(e._id,", {trigger: true})"))}renderDebug(){return xs.default.t("Triggered")}onTagChange(e){this.setState({inputs:[{nameRender:"renderNameText",defaultValue:"On script save or adapter start",attr:"script"}]},(()=>super.onTagChange()))}static getStaticData(){return{acceptedBy:"triggers",name:"Start script",id:"TriggerScriptSave",icon:"PlayArrow",title:"Triggers the on script saving or the javascript instance restart"}}getData(){return Sa.getStaticData()}}const xa=Sa;var ka=s(75801),wa=s.n(ka),Ca=s(22772),ja=s(64101),Ia=s.n(ja),Ta=s(96404);class Da extends ea{constructor(e){super(e,Da.getStaticData()),this.coordinates=null}static compile(e,t){let s="",a=t.justCheck?fa.STANDARD_FUNCTION_STATE:fa.STANDARD_FUNCTION_STATE_ONCHANGE;if(a=a.replace('"__%%DEBUG_TRIGGER%%__"',"_sendToFrontEnd(".concat(e._id,", {trigger: true})")),"interval"===e.tagCard)s="setInterval(".concat(a,", ").concat(e.interval||1," * ").concat("s"===e.unit?1e3:"m"===e.unit?6e4:36e5,");");else if("cron"===e.tagCard)s='schedule("'.concat(e.cron,'", ').concat(a,");");else if("at"===e.tagCard){var i;const[t,o]=(e.at||"").split(":");let n="*";if(null!==e&&void 0!==e&&null!==(i=e.dow)&&void 0!==i&&i.length&&!e.dow.includes("_")){const t=[...e.dow].map((e=>parseInt(e,10)));t.sort();let s=[],a=t[0],i=1;for(;i1?(a===t[i-1]?s.push(a):t[i-1]-a===1?s.push(a+","+t[i-1]):s.push(a+"-"+t[i-1]),a=t[i]):i===t.length-1&&(a===t[i-1]||t[i]-a===1?s.push(a+","+t[i]):s.push(a+"-"+t[i]));n=s.join(",")}s='schedule("'.concat(o||"0"," ").concat(t||"0"," * * ").concat(n,'", ').concat(a,");")}else"astro"===e.tagCard?s='schedule({astro: "'.concat(e.astro,'", shift: ').concat(e.offset?e.offsetValue:0,"}, ").concat(a,");"):"wizard"===e.tagCard&&(s="schedule('".concat(e.wizard,"', ").concat(a,");"));return s}static _time2String(e){return e?"".concat(e.getHours().toString().padStart(2,"0"),":").concat(e.getMinutes().toString().padStart(2,"0")):"--:--"}async _setAstro(e,t,s){e=e||this.state.settings.astro||"solarNoon",t=void 0===t?this.state.settings.offset:t,s=void 0===s?this.state.settings.offsetValue:s,s=parseInt(s,10)||0,this.coordinates||await this.props.socket.getObject("system.adapter.javascript.0").then((e=>{let{native:{latitude:t,longitude:s}}=e;if(!t&&!s)return this.props.socket.getObject("system.config").then((e=>{e&&(e.common.latitude||e.common.longitude)?this.coordinates={latitude:e.common.latitude,longitude:e.common.longitude}:this.coordinates=null}));this.coordinates={latitude:t,longitude:s}}));const a=this.coordinates&&wa().getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude),i=a?Object.keys(a).map((e=>({value:e,title:e,title2:"[".concat(Da._time2String(a[e]),"]"),order:a?Da._time2String(a[e]):"??:??"}))):[];i.sort(((e,t)=>e.order>t.order?1:e.ordersuper.onTagChange()))}async _setInterval(e){let t;t=1===(e=parseInt(e||this.state.settings.interval,10)||30)?[{value:"s",title:"second"},{value:"m",title:"minute"},{value:"h",title:"hour"}]:[{value:"s",title:"seconds"},{value:"m",title:"minutes"},{value:"h",title:"hours"}],this.setState({inputs:[{nameRender:"renderNumber",prefix:{en:"every"},attr:"interval",frontText:"every",defaultValue:30,className:"block-input-interval"},{nameRender:"renderSelect",attr:"unit",defaultValue:"s",options:t}]},(()=>super.onTagChange()))}renderDebug(e){return f.I18n.t("Triggered")}onValueChanged(e,t){"astro"===this.state.settings.tagCard?"astro"===t?this._setAstro(e):"offset"===t?this._setAstro(void 0,e):"offsetValue"===t&&this._setAstro(void 0,void 0,e):"interval"===this.state.settings.tagCard&&"interval"===t&&this._setInterval(e)}renderCron(e,t,s){const{className:a}=this.props;let i="";const{settings:o}=this.state,{attr:n}=e;return(0,te.jsxs)("div",{children:[(0,te.jsxs)("div",{style:{display:"flex",alignItems:"baseline"},children:[(0,te.jsx)("div",{style:{width:"100%"},children:this.renderText({attr:n,defaultValue:t},o[n]?o[n]:t,s)}),(0,te.jsx)(cs,{square:!0,style:{marginLeft:7},value:"...",className:a,onClick:()=>this.setState({openDialog:!0})})]}),(0,te.jsx)(ws,{open:this.state.openDialog,onApply:async()=>{await s(i,n),await s((0,Ta.default)(i,f.I18n.getLanguage()),"addText"),this.setState({openDialog:!1})},onClose:()=>this.setState({openDialog:!1}),children:(0,te.jsx)(Ca.default,{cronExpression:o[n]?o[n]:"",onChange:e=>i=e,language:f.I18n.getLanguage()})}),this.renderNameText({defaultValue:f.I18n.t("every hour at 0 minutes"),attr:"addText",signature:!0,doNotTranslate:!0},o.addText?o.addText:f.I18n.t("every hour at 0 minutes"),s)]},n)}renderWizard(e,t,s){const{className:a}=this.props,{attr:i}=e;let o="",n=null;return(0,te.jsxs)("div",{children:[(0,te.jsxs)("div",{style:{display:"flex",alignItems:"center",marginTop:7},children:[(0,te.jsx)(gs,{className:a,autoComplete:"off",fullWidth:!0,variant:"outlined",size:"small",multiline:!0,rows:2,value:this.state.settings["".concat(i,"Text")],onChange:e=>s(e),customValue:!0}),(0,te.jsx)(cs,{square:!0,style:{marginLeft:7},value:"...",className:a,onClick:()=>this.setState({openDialog:!0})})]}),(0,te.jsx)(ws,{open:this.state.openDialog,onApply:()=>this.setState({openDialog:!1},(()=>s({["".concat(i,"Text")]:o,[i]:n}))),onClose:()=>this.setState({openDialog:!1}),children:(0,te.jsx)(Ia(),{onChange:(e,t)=>{o=t,n="object"===typeof e?JSON.parse(JSON.stringify(e)):JSON.parse(e),n.valid=n.valid||{},n.valid.from=n.valid.from||Ia().now2string(),n=JSON.stringify(n)}})})]},i)}onTagChange(e){switch(e=e||this.state.settings.tagCard){case"interval":this._setInterval();break;case"cron":this.setState({inputs:[{nameRender:"renderCron",attr:"cron",defaultValue:"0 * * * *"}]},(()=>super.onTagChange()));break;case"wizard":const e=JSON.parse('{"time":{"start":"00:00","end":"24:00","mode":"hours","interval":1},"period":{"days":1}}');e.valid=e.valid||{},e.valid.from=e.valid.from||Ia().now2string(),this.setState({inputs:[{nameRender:"renderWizard",attr:"wizard",defaultValue:JSON.stringify(e)}]},(()=>super.onTagChange(null,(()=>{const t=Ia().state2text(this.state.settings.wizard||e);if(this.state.settings.wizardText!==t){const e=JSON.parse(JSON.stringify(this.state.settings));e.wizardText=t,this.setState({settings:e}),this.props.onChange(e)}}))));break;case"at":this.setState({inputs:[{nameRender:"renderTime",prefix:"at",attr:"at",defaultValue:"07:30"},{nameRender:"renderSelect",attr:"dow",default:"",multiple:!0,defaultValue:["_","1","2","3","4","5","6","0"],options:[{value:"_",title:"Every day",only:!0},{value:"1",title:"Monday",titleShort:"Mo"},{value:"2",title:"Tuesday",titleShort:"Tu"},{value:"3",title:"Wednesday",titleShort:"We"},{value:"4",title:"Thursday",titleShort:"Th"},{value:"5",title:"Friday",titleShort:"Fr"},{value:"6",title:"Saturday",titleShort:"Sa"},{value:"0",title:"Sunday",titleShort:"Su"}]}]},(()=>super.onTagChange()));break;case"astro":this._setAstro()}}static getStaticData(){return{acceptedBy:"triggers",name:"Schedule",id:"TriggerScheduleBlock",icon:"AccessTime",tagCardArray:["cron","wizard","interval","at","astro"],title:"Triggers the rule periodically or on some specific time"}}getData(){return Da.getStaticData()}}const Aa=Da;var Na=s(89891),Ea=s(55931),Oa=s(25801);const _a=i().forwardRef(((e,t)=>(0,te.jsx)(Ea.Z,{direction:"up",ref:t,...e})));class Ra extends ea{constructor(e){super(e,Ra.getStaticData()),this.inputRef=i().createRef()}static compile(e,t){let s=t.justCheck?fa.STANDARD_FUNCTION_STATE:fa.STANDARD_FUNCTION_STATE_ONCHANGE;return s=s.replace('"__%%DEBUG_TRIGGER%%__"',"_sendToFrontEnd(".concat(e._id,", {val: obj.state.val, ack: obj.state.ack, valOld: obj.oldState && obj.oldState.val, ackOld: obj.oldState && obj.oldState.ack})")),'on({id: "'.concat(e.oid||"",'", change: "').concat("on update"===e.tagCard?"any":"ne",'"}, ').concat(s,");")}static renderValue(e){return null===e?"null":void 0===e?"undefined":Array.isArray(e)?e.join(", "):"object"===typeof e?JSON.stringify(e):e.toString()}renderDebug(e){return void 0!==e.data.valOld?(0,te.jsxs)("span",{children:[f.I18n.t("Triggered")," ",(0,te.jsx)("span",{className:e.data.ackOld?this.props.classes.valueAck:this.props.classes.valueNotAck,children:Ra.renderValue(e.data.valOld)})," \u2192 ",(0,te.jsx)("span",{className:e.data.ack?this.props.classes.valueAck:this.props.classes.valueNotAck,children:Ra.renderValue(e.data.val)})]}):(0,te.jsxs)("span",{children:[f.I18n.t("Triggered")," ",(0,te.jsx)("span",{className:e.data.ack?this.props.classes.valueAck:this.props.classes.valueNotAck,children:Ra.renderValue(e.data.val)})]})}onWriteValue(){this.setState({openSimulate:!1});let e=this.state.simulateValue;window.localStorage.setItem("javascript.app.".concat(this.state.settings.oid,"_ack"),this.state.simulateAck),"boolean"===this.state.settings.oidType?e=!0===e||"true"===e||"1"===e:"number"===this.state.settings.oidType&&(e=parseFloat(e)||0),window.localStorage.setItem("javascript.app.".concat(this.state.settings.oid),e),this.props.socket.setState(this.state.settings.oid,{val:e,ack:!!this.state.simulateAck})}renderWriteState(){return(0,te.jsxs)(te.Fragment,{children:[(0,te.jsx)(V.Z,{disabled:!this.state.settings.oid||!this.state.enableSimulation,variant:"contained",color:"primary",onClick:()=>{this.setState({openSimulate:!0,simulateValue:"boolean"===this.state.settings.oidType?"true"===window.localStorage.getItem("javascript.app.".concat(this.state.settings.oid)):window.localStorage.getItem("javascript.app.".concat(this.state.settings.oid))||"",simulateAck:"true"===window.localStorage.getItem("javascript.app.".concat(this.state.settings.oid,"_ack"))}),setTimeout((()=>{var e;return null===(e=this.inputRef.current)||void 0===e?void 0:e.focus()}),200)},children:f.I18n.t("Simulate")}),(0,te.jsxs)(G.Z,{open:!!this.state.openSimulate,TransitionComponent:_a,keepMounted:!0,onClose:()=>this.setState({openSimulate:!1}),"aria-labelledby":"simulate-dialog-slide-title","aria-describedby":"simulate-dialog-slide-description",children:[(0,te.jsx)(J.Z,{id:"simulate-dialog-slide-title",children:f.I18n.t("Trigger with value")}),(0,te.jsxs)(q.Z,{children:["boolean"===this.state.settings.oidType?(0,te.jsx)(Oa.Z,{control:(0,te.jsx)(Na.Z,{inputRef:this.inputRef,onKeyUp:e=>13===e.keyCode&&this.onWriteValue(),value:!!this.state.simulateValue,onChange:e=>this.setState({simulateValue:e.target.checked})}),label:f.I18n.t("Value")}):(0,te.jsx)(Y.Z,{variant:"standard",inputRef:this.inputRef,label:f.I18n.t("Value"),fullWidth:!0,onKeyUp:e=>13===e.keyCode&&this.onWriteValue(),value:this.state.simulateValue,onChange:e=>this.setState({simulateValue:e.target.value})}),(0,te.jsx)("br",{}),(0,te.jsx)(Oa.Z,{control:(0,te.jsx)(Xe.Z,{checked:!!this.state.simulateAck,onChange:e=>this.setState({simulateAck:e.target.checked}),color:"primary"}),label:f.I18n.t("Ack")})]}),(0,te.jsxs)(H.Z,{children:[(0,te.jsxs)(V.Z,{variant:"contained",onClick:()=>this.onWriteValue(),color:"primary",children:[(0,te.jsx)(S.HhX,{}),f.I18n.t("Write")]}),(0,te.jsxs)(V.Z,{color:"grey",variant:"contained",onClick:()=>this.setState({openSimulate:!1}),children:[(0,te.jsx)(S.B4e,{}),f.I18n.t("Close")]})]})]})]})}onTagChange(e){this.setState({inputs:[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},{nameRender:"renderWriteState"}]},(()=>{super.onTagChange()}))}static getStaticData(){return{acceptedBy:"triggers",name:"State",id:"TriggerState",icon:"FlashOn",tagCardArray:["on change","on update"],title:"Triggers the rule on update or change of some state"}}getData(){return Ra.getStaticData()}}const Ma=(0,u.Z)((e=>({valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}})))(Ra),za=s.p+"static/media/hysteresis.04ebd02c6062432f891d.png",Pa="function __hysteresis(val, limit, state, hist, comp) {\n let cond1, cond2;\n if (comp === '>') {\n cond1 = val > limit + hist;\n cond2 = val <= limit - hist;\n } else if (comp === '<') {\n cond1 = val < limit - hist;\n cond2 = val >= limit + hist;\n } else if (comp === '>=') {\n cond1 = val >= limit + hist;\n cond2 = val < limit - hist;\n } else if (comp === '<=') {\n cond1 = val <= limit - hist;\n cond2 = val > limit + hist;\n } else if (comp === '=') {\n cond1 = val <= limit + hist && val > limit - hist;\n cond2 = val > limit + hist || val <= limit - hist;\n } else if (comp === '<>') {\n cond1 = val > limit + hist || val <= limit - hist;\n cond2 = val <= limit + hist && val > limit - hist;\n }\n \n if (!state && cond1) {\n return true;\n } else if (state && cond2) {\n return false;\n } else {\n return state;\n }\n}";class Ba extends ea{constructor(e){super(e,Ba.getStaticData()),this.onShowHelp=()=>this.setState({showHysteresisHelp:!0})}isAllTriggersOnState(){var e,t,s,a;return(null===(e=this.props.userRules)||void 0===e||null===(t=e.triggers)||void 0===t?void 0:t.find((e=>"TriggerState"===e.id)))&&!(null!==(s=this.props.userRules)&&void 0!==s&&null!==(a=s.triggers)&&void 0!==a&&a.find((e=>"TriggerState"!==e.id)))}static compile(e,t){let s=e.value;null!==s&&void 0!==s||(s=!1);let a,i="";if("()"===e.tagCard)t.prelines=t.prelines||[],!t.prelines.find((e=>e!==Pa))&&t.prelines.push(Pa),e.useTrigger?(i="obj.state.val",""===s&&(s=0),a="__hysteresis(subCondVar".concat(e._id,", ").concat(s,", __%%STATE%%__, ").concat(e.hist,', "').concat(e.histComp,'")')):(i='(await getStateAsync("'.concat(e.oid,'")).val'),""===s&&(s=0),"string"===typeof s&&parseFloat(s.trim()).toString()!==s.trim()&&(s='"'.concat(s,'"')),a="__hysteresis(subCondVar".concat(e._id,", ").concat(s,", __%%STATE%%__, ").concat(e.hist,', "').concat(e.histComp,'")'));else if("includes"!==e.tagCard){const n="="===e.tagCard?"==":"<>"===e.tagCard?"!=":e.tagCard;var o;if(e.useTrigger)i="obj.state.val","string"===(null===t||void 0===t||null===(o=t.trigger)||void 0===o?void 0:o.oidType)?(s=s.replace(/"/g,'\\"'),a="subCondVar".concat(e._id," ").concat(n,' "').concat(s,'"')):(""===s&&(s=0),"string"===typeof s&&parseFloat(s.trim()).toString()!==s.trim()&&(s='"'.concat(s,'"')),a="subCondVar".concat(e._id," ").concat(n," ").concat(s));else i='(await getStateAsync("'.concat(e.oid,'")).val'),"string"===e.oidType?(s=s.replace(/"/g,'\\"'),a="subCondVar".concat(e._id," ").concat(n,' "').concat(s,'"')):(""===s&&(s=0),"string"===typeof s&&parseFloat(s.trim()).toString()!==s.trim()&&(s='"'.concat(s,'"')),a="subCondVar".concat(e._id," ").concat(n," ").concat(s))}else{var n;if(e.useTrigger)i="obj.state.val","string"===(null===t||void 0===t||null===(n=t.trigger)||void 0===n?void 0:n.oidType)?(s=s.replace(/"/g,'\\"'),a='obj.state.val.includes("'.concat(s,'")')):a="false";else i='(await getStateAsync("'.concat(e.oid,'")).val'),"string"===e.oidType?(s=s.replace(/"/g,'\\"'),a="subCondVar".concat(e._id,'.includes("').concat(s,'")')):a="false"}return t.conditionsStates.push({name:"subCondVar".concat(e._id),id:e.oid}),t.conditionsVars.push("const subCondVar".concat(e._id," = ").concat(i,";")),t.conditionsVars.push("const subCond".concat(e._id," = ").concat(a,";")),t.conditionsDebug.push("_sendToFrontEnd(".concat(e._id,", {result: subCond").concat(e._id,", value: subCondVar").concat(e._id,', compareWith: "').concat(s,'"});')),"subCond".concat(e._id)}renderDebug(e){const t=this.state.settings.tagCard;return"()"!==t?"".concat(e.data.result.toString().toUpperCase()," [").concat(e.data.value," ").concat(t," ").concat(e.data.compareWith,"]"):f.I18n.t("Triggered")}_setInputs(e,t,s,a,i){var o,n;const r=this.isAllTriggersOnState();t=t||this.state.settings.tagCard,s=s||this.state.settings.oidType,a=a||this.state.settings.oidUnit,i=i||this.state.settings.oidStates,r&&e&&1===(null===(o=this.props.userRules)||void 0===o||null===(n=o.triggers)||void 0===n?void 0:n.length)&&(s=this.props.userRules.triggers[0].oidType,a=this.props.userRules.triggers[0].oidUnit,i=this.props.userRules.triggers[0].oidStates);const l=Ba.getStaticData().tagCardArray.find((e=>e.title===t));let c,d=null;"number"===s?(c=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],i&&(d=Object.keys(i).map((e=>({value:e,title:i[e]}))))):"boolean"===s?(c=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}],d=[{title:"false",value:!1},{title:"true",value:!0}]):(c=[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"}],i&&(d=Object.keys(i).map((e=>({value:e,title:i[e]})))));let u,p=null;c.find((e=>e.title===t))||(t=c[0].title,p=p||{...this.state.settings},p.tagCard=t);let h={nameRender:"renderText",defaultValue:"",attr:"value",frontText:"()"===t?"Limit":(null===l||void 0===l?void 0:l.text)||"compare with",doNotTranslateBack:!0,backText:a};d&&(h={nameRender:"renderSelect",defaultValue:d[0].value,options:d,attr:"value",frontText:(null===l||void 0===l?void 0:l.text)||"compare with",doNotTranslateBack:!0,backText:a},d.find((e=>e.value===this.state.settings.value))||(p=p||{...this.state.settings},p.value=d[0].value),d.length<=2&&(c=[{title:"=",title2:"[equal]",text:"equal to"},{title:"<>",title2:"[not equal]",text:"not equal to"}])),u=r&&e?[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1},h]:r?[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"},{nameRender:"renderObjectID",attr:"oid",defaultValue:""},h]:[{nameRender:"renderObjectID",attr:"oid",defaultValue:""},h],"()"===t&&(u.splice(1,0,{nameRender:"renderDialog",icon:"HelpOutline",frontText:"Explanation",onShowDialog:this.onShowHelp}),u.splice(2,0,{nameRender:"renderSelect",attr:"histComp",defaultValue:">",frontText:"Condition",doNotTranslate:!0,options:[{title:">",value:">"},{title:">=",value:">="},{title:"<",value:"<"},{title:"<=",value:"<="},{title:"=",value:"="},{title:"<>",value:"<>"}]}),u.push({frontText:"\u0394",doNotTranslate:!0,nameRender:"renderNumber",noHelperText:!0,attr:"hist",defaultValue:1,doNotTranslateBack:!0,backText:a}));const m={iconTag:!0,tagCardArray:c,inputs:u};this.setState(m,(()=>super.onTagChange(null,(()=>{p&&(this.setState({settings:p}),this.props.onChange(p))}))))}onValueChanged(e,t,s){"object"===typeof e?this._setInputs(e.useTrigger,e.tagCard,e.oidType,e.states):"useTrigger"===t?this._setInputs(e):"oidType"===t?this._setInputs(e,void 0,e):"oidUnit"===t?this._setInputs(e,void 0,void 0,e):"oidStates"===t&&this._setInputs(e,void 0,void 0,void 0,e)}onUpdate(){this._setInputs(this.state.settings.useTrigger)}onTagChange(e){this._setInputs(this.state.settings.useTrigger,e)}static getStaticData(){return{acceptedBy:"conditions",name:"State condition",id:"ConditionState",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"},{title:".",title2:"[includes]",text:"includes"},{title:"()",title2:"[hysteresis]",text:"hysteresis"}],title:"Compares the state value with user defined value"}}getData(){return Ba.getStaticData()}renderSpecific(){return this.state.showHysteresisHelp?(0,te.jsxs)(G.Z,{open:!0,maxWidth:"md",onClose:()=>this.setState({showHysteresisHelp:!1}),"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,te.jsx)(q.Z,{children:(0,te.jsx)(fe.Z,{id:"alert-dialog-description",children:(0,te.jsx)("img",{src:za,alt:"Hysteresis"})})}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{onClick:()=>this.setState({showHysteresisHelp:!1}),color:"primary",autoFocus:!0,children:f.I18n.t("OK")})})]}):null}}const Fa=Ba,La=[31,29,31,30,31,30,31,31,30,31,30,31];class Ua extends ea{constructor(e){super(e,Ua.getStaticData())}static compile(e,t){const s="="===e.tagCard?"===":"<>"===e.tagCard?"!==":e.tagCard;let a;if(e.withDate){let[t,i]=(e.date||"01.01").toString().split(".");i=parseInt(i,10)||0,t=parseInt(t,10)||0,t>12?t=12:t<0&&(t=0),i>La[t]?i=La[t]:i<0&&(i=0),a=i&&t?"formatDate(Date.now(), 'MM.DD-hh:mm') ".concat(s,' "').concat(e.date,"-").concat(e.time,'"'):0===i&&t?"formatDate(Date.now(), 'MM-hh:mm') ".concat(s,' "').concat(t.toString().padStart(2,"0"),"-").concat(e.time,'"'):0===t&&i?"formatDate(Date.now(), 'DD-hh:mm') ".concat(s,' "').concat(i.toString().padStart(2,"0"),"-").concat(e.time,'"'):"formatDate(Date.now(), 'hh:mm') ".concat(s,' "').concat(e.time,'"')}else a="formatDate(Date.now(), 'hh:mm') ".concat(s,' "').concat(e.time,'"');return t.conditionsVars.push("const subCond".concat(e._id," = ").concat(a,";")),t.conditionsDebug.push("_sendToFrontEnd(".concat(e._id,", {result: subCond").concat(e._id,"});")),"subCond".concat(e._id)}_setInputs(e,t){t=void 0===t?this.state.settings.withDate:t,e=e||this.state.settings.tagCard;const s=Ua.getStaticData().tagCardArray.find((t=>t.title===e)),a=[{nameRender:"renderNameText",attr:"interval",defaultValue:"Actual time of day"},{frontText:(null===s||void 0===s?void 0:s.text)||e,nameRender:"renderTime",attr:"time",defaultValue:"12:00"},{frontText:"with date",nameRender:"renderCheckbox",attr:"withDate",defaultValue:!1}];t&&a.push({nameRender:"renderDate",attr:"date",defaultValue:"01.01"}),this.setState({inputs:a,iconTag:!0},(()=>super.onTagChange()))}onValueChanged(e,t){"withDate"===t&&this._setInputs(void 0,e)}onTagChange(e){this._setInputs(e)}static getStaticData(){return{acceptedBy:"conditions",name:"Time condition",id:"ConditionTime",icon:"Shuffle",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with the user specific time"}}getData(){return Ua.getStaticData()}}const Za=Ua;class Wa extends ea{constructor(e){super(e,Wa.getStaticData()),this.coordinates=null}static compile(e,t){const s="="===e.tagCard?"===":"<>"===e.tagCard?"!==":e.tagCard;let a;e.offset&&(a=parseInt(e.offsetValue,10)||0);const i="formatDate(Date.now(), 'hh:mm') ".concat(s,' formatDate(getAstroDate("').concat(e.astro,'"').concat(a?", undefined, ".concat(a):"","), 'hh:mm')");return t.conditionsVars.push("const subCond".concat(e._id," = ").concat(i,";")),t.conditionsDebug.push("_sendToFrontEnd(".concat(e._id,", {result: ").concat(i,"});")),i}static _time2String(e){return e?"".concat(e.getHours().toString().padStart(2,"0"),":").concat(e.getMinutes().toString().padStart(2,"0")):"--:--"}onValueChanged(e,t){"astro"===t?this._setAstro(e):"offset"===t?this._setAstro(void 0,e):"offsetValue"===t&&this._setAstro(void 0,void 0,e)}async _setAstro(e,t,s){e=e||this.state.settings.astro||"solarNoon",t=void 0===t?this.state.settings.offset:t,s=void 0===s?this.state.settings.offsetValue:s,s=parseInt(s,10)||0,this.coordinates||await this.props.socket.getObject("system.adapter.javascript.0").then((e=>{let{native:{latitude:t,longitude:s}}=e;if(!t&&!s)return this.props.socket.getObject("system.config").then((e=>{e&&(e.common.latitude||e.common.longitude)?this.coordinates={latitude:e.common.latitude,longitude:e.common.longitude}:this.coordinates=null}));this.coordinates={latitude:t,longitude:s}}));const a=this.coordinates&&wa().getTimes(new Date,this.coordinates.latitude,this.coordinates.longitude),i=a?Object.keys(a).map((e=>({value:e,title:e,title2:"[".concat(Wa._time2String(a[e]),"]"),order:Wa._time2String(a[e])}))):[];i.sort(((e,t)=>e.order>t.order?1:e.ordere.title===this.state.settings.tagCard));let n,r="--:--";if(e&&a&&a[e]){const i=new Date(a[e]);t&&i.setMinutes(i.getMinutes()+parseInt(s,10)),r="(".concat(f.I18n.t(o.text)," ").concat(Wa._time2String(i),")")}n=t?[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:o.text,attr:"astro",nameRender:"renderSelect",options:i,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{backText:1===s?"minute":"minutes",frontText:"offset",nameRender:"renderNumber",defaultValue:0,attr:"offsetValue",noHelperText:!0},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:r}]:[{nameRender:"renderNameText",defaultValue:"Actual time of day",attr:"text"},{frontText:o.text,attr:"astro",nameRender:"renderSelect",options:i,doNotTranslate2:!0,defaultValue:"solarNoon"},{backText:"with offset",nameRender:"renderCheckbox",attr:"offset"},{nameRender:"renderNameText",attr:"textTime",doNotTranslate:!0,defaultValue:r}],this.setState({inputs:n},(()=>super.onTagChange()))}onTagChange(e){this._setAstro()}static getStaticData(){return{acceptedBy:"conditions",name:"Astronomical",id:"ConditionAstronomical",icon:"Brightness3",tagCardArray:[{title:"=",title2:"[equal]",text:"equal to"},{title:">=",title2:"[greater or equal]",text:"greater or equal to"},{title:">",title2:"[greater]",text:"greater than"},{title:"<=",title2:"[less or equal]",text:"less or equal to"},{title:"<",title2:"[less]",text:"less than"},{title:"<>",title2:"[not equal]",text:"not equal to"}],title:"Compares current time with astronomical event"}}getData(){return Wa.getStaticData()}}const Va=Wa;class Ja extends ea{constructor(e){super(e,Ja.getStaticData())}isAllTriggersOnState(){var e,t,s,a;return(null===(e=this.props.userRules)||void 0===e||null===(t=e.triggers)||void 0===t?void 0:t.find((e=>"TriggerState"===e.id)))&&!(null!==(s=this.props.userRules)&&void 0!==s&&null!==(a=s.triggers)&&void 0!==a&&a.find((e=>"TriggerState"!==e.id)))}static compile(e,t){let s,a=e.value;return e.useTrigger?a=e.toggle?"!obj.state.val":"obj.state.val":(void 0!==a&&null!==a||(a=""),"string"===typeof e.value&&parseFloat(e.value).toString()!==e.value&&"true"!==e.value&&"false"!==e.value&&(a='"'.concat(a.replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t)))),s=e.toggle&&!e.useTrigger?"const subActionVar".concat(e._id,' = !(await getStateAsync("').concat(e.oid,'")).val'):"const subActionVar".concat(e._id," = ").concat(a),"// set state ".concat(e.oid," to ").concat(e.toggle&&!e.useTrigger?"toggle":a," \n\t\t").concat(s,";\n\t\t_sendToFrontEnd(").concat(e._id,", {val: subActionVar").concat(e._id,", ack: ").concat("update"===e.tagCard,'});\n\t\tawait setStateAsync("').concat(e.oid,'", subActionVar').concat(e._id,", ").concat("update"===e.tagCard,");")}static renderValue(e){return null===e?"null":void 0===e?"undefined":Array.isArray(e)?e.join(", "):"object"===typeof e?JSON.stringify(e):e.toString()}renderDebug(e){return(0,te.jsxs)("span",{children:[f.I18n.t("Set:")," ",(0,te.jsx)("span",{className:e.data.ack?this.props.classes.valueAck:this.props.classes.valueNotAck,children:Ja.renderValue(e.data.val)})]})}_setInputs(e,t){const s=this.isAllTriggersOnState();t=void 0===t?this.state.settings.toggle:t,e=void 0===e?this.state.settings.useTrigger:e;let a,i="";const{oidType:o,oidUnit:n,oidStates:r,oidMax:l,oidMin:c,oidRole:d,oidWrite:u,oidStep:p}=this.state.settings;let h,m;if(o&&("number"===o?(i="number",void 0!==l&&void 0!==c&&(i="slider")):"boolean"===o?(i="boolean",d&&d.includes("button")&&u&&(i="button")):(i="",d&&d.includes("color")&&(i="color")),r&&(a=Object.keys(r).map((e=>({value:e,title:r[e]}))),i="select")),s&&e)m=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1}],"boolean"===i&&m.push({backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1});else{switch(i){case"number":m=[{backText:n||"",frontText:"with",nameRender:"renderNumber",defaultValue:void 0===l?0:l,attr:"value"}],void 0!==this.state.settings.value&&isNaN(parseFloat(this.state.settings.value))&&(h={value:void 0===l?0:l});break;case"slider":m=[{nameRender:"renderSlider",defaultValue:l,min:c,max:l,unit:n,step:p,attr:"value"}];const e=parseFloat(this.state.settings.value);void 0!==this.state.settings.value&&(isNaN(e)||el)&&(h={value:l});break;case"select":m=[{nameRender:"renderSelect",frontText:"with",options:a,defaultValue:a[0].value,attr:"value"}],void 0===this.state.settings.value||a.find((e=>e.value===this.state.settings.value))||(h={value:a[0].value});break;case"boolean":m=[{backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1}],t||m.push({backText:"true",frontText:"false",nameRender:"renderSwitch",defaultValue:!1,attr:"value"}),void 0!==this.state.settings.value&&!1!==this.state.settings.value&&!0!==this.state.settings.value&&(h={value:!1});break;case"button":m=[{nameRender:"renderButton",defaultValue:!0,attr:"value"}],void 0!==this.state.settings.value&&!0!==this.state.settings.value&&(h={value:!0});break;case"color":m=[{nameRender:"renderColor",frontText:"with",defaultValue:"#FFFFFF",attr:"value"}],void 0===this.state.settings.value||"string"===typeof this.state.settings.value&&(this.state.settings.value.startsWith("#"),this.state.settings.value.startsWith("rgb"),0)||(h={value:"#FFFFFF"});break;default:m=[{backText:n||"",frontText:"with",nameRender:"renderText",defaultValue:"",attr:"value"}]}s&&m.unshift({backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"})}return{inputs:m,newSettings:h}}onTagChange(e,t,s,a,i){i=void 0===i?this.state.settings.useTrigger:i;const{inputs:o,newSettings:n}=this._setInputs(i,a);o.unshift({nameRender:"renderObjectID",attr:"oid",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:o},(()=>super.onTagChange(null,(()=>{if(n){const e=JSON.parse(JSON.stringify(this.state.settings));Object.assign(e,n),this.setState(e),this.props.onChange(e)}}))))}onValueChanged(e,t,s){this.onTagChange(void 0,void 0,void 0,"toggle"===t?e:void 0,"useTrigger"===t?e:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Set state action",id:"ActionSetState",icon:"PlayForWork",tagCardArray:["control","update"],title:"Control or update some state",helpDialog:"You can use %s in the value to use the current trigger value or %id to display the triggered object ID"}}getData(){return Ja.getStaticData()}}const qa=(0,u.Z)((e=>({valueAck:{color:"#b02323"},valueNotAck:{color:"#12ac15"}})))(Ja);class Ha extends ea{constructor(e){super(e,Ha.getStaticData())}static compile(e,t){return'// exec "'.concat(e.exec,'"\n\t\tconst subActionVar').concat(e._id,' = "').concat((e.exec||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {exec: subActionVar").concat(e._id,"});\n\t\tconsole.log(subActionVar").concat(e._id,");")}renderDebug(e){return"Exec: ".concat(e.data.exec)}onTagChange(e){this.setState({inputs:[{nameRender:"renderModalInput",attr:"exec",defaultValue:"ls /opt/iobroker",nameBlock:"Shell command"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"Exec",id:"ActionExec",icon:"Apps",title:"Executes some shell command",helpDialog:"You can use %s in the command to use current trigger value or %id to use the triggered object ID"}}getData(){return Ha.getStaticData()}}const Ga=Ha;class Ya extends ea{constructor(e){super(e,Ya.getStaticData())}static compile(e,t){return"// HTTP request ".concat(e.url,"\n\t\tconst subActionVar").concat(e._id,' = "').concat((e.url||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {url: subActionVar").concat(e._id,"});\n\t\trequest(subActionVar").concat(e._id,");")}renderDebug(e){return"URL: ".concat(e.data.url)}onTagChange(e){this.setState({inputs:[{nameRender:"renderModalInput",attr:"url",defaultValue:"http://mydevice.com?...",nameBlock:"URL"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"HTTP Call",id:"ActionHTTPCall",icon:"Language",title:"Make a HTTP get request",helpDialog:"You can use %s in the URL to use current trigger value or %id to use the triggered object ID"}}getData(){return Ya.getStaticData()}}const Ka=Ya;class Qa extends ea{constructor(e){super(e,Qa.getStaticData())}static compile(e,t){return"// Log ".concat(e.text,"\n\t\tconst subActionVar").concat(e._id,' = "').concat((e.text||"").replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t),";\n\t\t_sendToFrontEnd(").concat(e._id,", {text: subActionVar").concat(e._id,"});\n\t\tconsole.log(subActionVar").concat(e._id,");")}renderDebug(e){return f.I18n.t("Log: %s",e.data.text)}onTagChange(e){this.setState({inputs:[{nameRender:"renderModalInput",attr:"text",defaultValue:"My device triggered",nameBlock:"Log text"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"Log text",id:"ActionPrintText",icon:"Subject",title:"Print some text in log",helpDialog:"You can use %s in the text to display current trigger value or %id to display the triggered object ID"}}getData(){return Qa.getStaticData()}}const Xa=Qa;class $a extends ea{constructor(e){super(e,$a.getStaticData())}static compile(e,t){const s="ms"===e.unit?1:"s"===e.unit?1e3:"m"===e.unit?6e4:36e5;return"// pause for ".concat(s,"ms\n\t\t_sendToFrontEnd(").concat(e._id,", {paused: true});\n\n\t\tawait wait(").concat(e.pause," * ").concat(s,");\n\n\t\t_sendToFrontEnd(").concat(e._id,", {paused: false});")}renderDebug(e){return xs.default.t("Paused: %s",e.data.paused)}_getOptions(e){return 1===(e=void 0===e?this.state.settings.pause:e)||"1"===e?[{value:"ms",title:"millisecond"},{value:"s",title:"second"},{value:"m",title:"minute"},{value:"h",title:"hour"}]:[{value:"ms",title:"milliseconds"},{value:"s",title:"seconds"},{value:"m",title:"minutes"},{value:"h",title:"hours"}]}_setInputs(e){this.setState({inputs:[{nameRender:"renderNumber",attr:"pause",defaultValue:100,noHelperText:!0},{nameRender:"renderSelect",attr:"unit",defaultValue:"ms",options:this._getOptions(e)}]},(()=>super.onTagChange()))}onValueChanged(e,t){"pause"===t&&this._setInputs(e)}onTagChange(e){this._setInputs()}static getStaticData(){return{acceptedBy:"actions",name:"Pause",id:"ActionPause",icon:"Pause",title:"Make a pause between actions"}}getData(){return $a.getStaticData()}}const ei=$a;class ti extends ea{constructor(e){super(e,ti.getStaticData())}static compile(e,t){const s=(e.func||"").split("\n").map(((e,t)=>" ".concat(e)));return s.unshift("\t\t_sendToFrontEnd(".concat(e._id,", {func: 'executed'});")),s.unshift("// user function"),s.join("\n")}renderDebug(e){return f.I18n.t("Function: executed")}onTagChange(e){this.setState({inputs:[{nameRender:"renderModalInput",attr:"func",noTextEdit:!0,defaultValue:'console.log("Test")',nameBlock:"Function"}]},(()=>super.onTagChange(e)))}static getStaticData(){return{acceptedBy:"actions",name:"User function",id:"ActionFunction",icon:"Functions",title:"Write your own code",helpDialog:"This is advances option. You can write your own code here and it will be executed on trigger"}}getData(){return ti.getStaticData()}}const si=ti;class ai extends ea{constructor(e){super(e,ai.getStaticData())}isAllTriggersOnState(){var e,t,s,a;return(null===(e=this.props.userRules)||void 0===e||null===(t=e.triggers)||void 0===t?void 0:t.find((e=>"TriggerState"===e.id)))&&!(null!==(s=this.props.userRules)&&void 0!==s&&null!==(a=s.triggers)&&void 0!==a&&a.find((e=>"TriggerState"!==e.id)))}static compile(e,t){let s,a=e.value;return e.useTrigger?a=e.toggle?"!obj.state.val":"obj.state.val":(void 0!==a&&null!==a||(a=""),"string"===typeof e.value&&parseFloat(e.value).toString()!==e.value&&"true"!==e.value&&"false"!==e.value&&(a='"'.concat(a.replace(/"/g,'\\"'),'"').concat(ea.getReplacesInText(t)))),s=e.toggle&&!e.useTrigger?"const subActionVar".concat(e._id,' = !(await getStateAsync("').concat(e.oid,'")).val'):"const subActionVar".concat(e._id," = ").concat(a),"// set delayed state ".concat(e.oid," to ").concat(e.toggle&&!e.useTrigger?"toggle":a," with delay of ").concat(e.delay,"ms\n\t\t").concat(s,";\n\t\t_sendToFrontEnd(").concat(e._id,", {val: subActionVar").concat(e._id,", ack: ").concat("update"===e.tagCard,'});\n\t\tsetStateDelayed("').concat(e.oid,'", subActionVar').concat(e._id,", ").concat("update"===e.tagCard,", ").concat(parseInt(e.delay,10),", ").concat(e.clearRunning?"true":"false",");")}static renderValue(e){return null===e?"null":void 0===e?"undefined":Array.isArray(e)?e.join(", "):"object"===typeof e?JSON.stringify(e):e.toString()}renderDebug(e){return(0,te.jsxs)("span",{children:[f.I18n.t("Set:")," ",(0,te.jsx)("span",{className:e.data.ack?this.props.classes.valueAck:this.props.classes.valueNotAck,children:ai.renderValue(e.data.val)})]})}_setInputs(e,t){const s=this.isAllTriggersOnState();t=void 0===t?this.state.settings.toggle:t,e=void 0===e?this.state.settings.useTrigger:e;let a,i="";const{oidType:o,oidUnit:n,oidStates:r,oidMax:l,oidMin:c,oidRole:d,oidWrite:u,oidStep:p}=this.state.settings;let h,m;if(o&&("number"===o?(i="number",void 0!==l&&void 0!==c&&(i="slider")):"boolean"===o?(i="boolean",d&&d.includes("button")&&u&&(i="button")):(i="",d&&d.includes("color")&&(i="color")),r&&(a=Object.keys(r).map((e=>({value:e,title:r[e]}))),i="select")),s&&e)m=[{backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger",defaultValue:!1}],"boolean"===i&&m.push({backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1});else{switch(i){case"number":m=[{backText:n||"",frontText:"with",nameRender:"renderNumber",defaultValue:void 0===l?0:l,attr:"value"}],void 0!==this.state.settings.value&&isNaN(parseFloat(this.state.settings.value))&&(h={value:void 0===l?0:l});break;case"slider":m=[{nameRender:"renderSlider",defaultValue:l,min:c,max:l,unit:n,step:p,attr:"value"}];const e=parseFloat(this.state.settings.value);void 0!==this.state.settings.value&&(isNaN(e)||el)&&(h={value:l});break;case"select":m=[{nameRender:"renderSelect",frontText:"with",options:a,defaultValue:a[0].value,attr:"value"}],void 0===this.state.settings.value||a.find((e=>e.value===this.state.settings.value))||(h={value:a[0].value});break;case"boolean":m=[{backText:"toggle value",attr:"toggle",nameRender:"renderCheckbox",defaultValue:!1}],t||m.push({backText:"true",frontText:"false",nameRender:"renderSwitch",defaultValue:!1,attr:"value"}),void 0!==this.state.settings.value&&!1!==this.state.settings.value&&!0!==this.state.settings.value&&(h={value:!1});break;case"button":m=[{nameRender:"renderButton",defaultValue:!0,attr:"value"}],void 0!==this.state.settings.value&&!0!==this.state.settings.value&&(h={value:!0});break;case"color":m=[{nameRender:"renderColor",frontText:"with",defaultValue:"#FFFFFF",attr:"value"}],void 0===this.state.settings.value||"string"===typeof this.state.settings.value&&(this.state.settings.value.startsWith("#"),this.state.settings.value.startsWith("rgb"),0)||(h={value:"#FFFFFF"});break;default:m=[{backText:n||"",frontText:"with",nameRender:"renderText",defaultValue:"",attr:"value"}]}s&&m.unshift({backText:"use trigger value",nameRender:"renderCheckbox",attr:"useTrigger"})}return m.push({backText:"ms",frontText:"Delay",nameRender:"renderNumber",defaultValue:"1000",noHelperText:!0,attr:"delay"}),m.push({backText:"clear running",nameRender:"renderCheckbox",defaultValue:!0,attr:"clearRunning"}),{inputs:m,newSettings:h}}onTagChange(e,t,s,a,i){i=void 0===i?this.state.settings.useTrigger:i;const{inputs:o,newSettings:n}=this._setInputs(i,a);o.unshift({nameRender:"renderObjectID",attr:"oid",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:o},(()=>super.onTagChange(null,(()=>{if(n){const e=JSON.parse(JSON.stringify(this.state.settings));Object.assign(e,n),this.setState(e),this.props.onChange(e)}}))))}onValueChanged(e,t,s){this.onTagChange(void 0,void 0,void 0,"toggle"===t?e:void 0,"useTrigger"===t?e:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Set with delay",id:"ActionSetStateDelayed",icon:"PlayForWork",tagCardArray:["control","update"],title:"Control or update some state with delay",helpDialog:"You can use %s in the value to use the current trigger value or %id to display the triggered object ID"}}getData(){return ai.getStaticData()}}const ii=ai;class oi extends ea{constructor(e){super(e,oi.getStaticData())}isAllTriggersOnState(){var e,t,s,a;return(null===(e=this.props.userRules)||void 0===e||null===(t=e.triggers)||void 0===t?void 0:t.find((e=>"TriggerState"===e.id)))&&!(null!==(s=this.props.userRules)&&void 0!==s&&null!==(a=s.triggers)&&void 0!==a&&a.find((e=>"TriggerState"!==e.id)))}static compile(e,t){let s="const val2_".concat(e._id,' = (await getStateAsync("').concat(e.oid1,'")).val;'),a="const val1_".concat(e._id,' = (await getStateAsync("').concat(e.oid2,'")).val;');return"// ".concat(e.oid1," ").concat(e.operation," ").concat(e.oid2," => ").concat(e.oidResult,"\n\t\t ").concat(s,"\n\t\t ").concat(a,"\n\t\t_sendToFrontEnd(").concat(e._id,", {val: val1_").concat(e._id," ").concat(e.operation," val2_").concat(e._id,", ack: ").concat("update"===e.tagCard,'});\n\t\tawait setStateAsync("').concat(e.oidResult,'", val1_').concat(e._id," ").concat(e.operation," val2_").concat(e._id,", ").concat("update"===e.tagCard,");")}static renderValue(e){return null===e?"null":void 0===e?"undefined":Array.isArray(e)?e.join(", "):"object"===typeof e?JSON.stringify(e):e.toString()}renderDebug(e){return(0,te.jsxs)("span",{children:[f.I18n.t("Set:")," ",(0,te.jsx)("span",{className:e.data.ack?this.props.classes.valueAck:this.props.classes.valueNotAck,children:oi.renderValue(e.data.val)})]})}onTagChange(e,t,s,a,i){const o=[];o.push({nameRender:"renderObjectID",title:"ID1",attr:"oid1",defaultValue:"",checkReadOnly:!1}),o.push({nameRender:"renderSelect",options:[{value:"+",title:"+"},{value:"-",title:"-"},{value:"*",title:"*"},{value:"/",title:"/"}],doNotTranslate:!0,defaultValue:"+",attr:"operation"}),o.push({nameRender:"renderObjectID",title:"ID2",attr:"oid2",defaultValue:"",checkReadOnly:!1}),o.push({nameRender:"renderNameText",defaultValue:"store in",attr:"textEqual"}),o.push({nameRender:"renderObjectID",attr:"oidResult",defaultValue:"",checkReadOnly:!0}),this.setState({inputs:o},(()=>super.onTagChange(null,(()=>{const e=JSON.parse(JSON.stringify(this.state.settings));this.props.onChange(e)}))))}onValueChanged(e,t,s){this.onTagChange(void 0,void 0,void 0,"toggle"===t?e:void 0,"useTrigger"===t?e:void 0)}onUpdate(){this.onTagChange()}static getStaticData(){return{acceptedBy:"actions",name:"Operate two states",id:"ActionOperateStates",icon:"AddBox",tagCardArray:["control","update"],title:"Operations with two states"}}getData(){return oi.getStaticData()}}const ni=[Aa,xa,Ma,Fa,Za,Va,qa,Ga,Ka,Xa,ei,si,ii,oi],ri={telegram:ra,email:oa,sayit:aa,pushover:ca,"whatsapp-cmb":ua,pushsafer:ha},li=(0,a.createContext)(),ci=(e,t,a,i)=>async()=>{await function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return new Promise(((i,o)=>{if(window[e])i();else{const n=document.querySelector('[data-webpack="'.concat(e,'"]')),r=async()=>{if(!window[e])return o('Cannot load Remote "'.concat(e,'" to inject'));window[e].__initialized||(await window[e].init(s.S[t]),window[e].__initialized=!0),i()};if(n)n.onload=r,n.onerror=o;else if(a){const t=document,s=t.createElement("script");s.type="text/javascript",s.setAttribute("data-webpack","".concat(e)),s.async=!0,s.onerror=o,s.onload=r,s.src=a,t.getElementsByTagName("head")[0].appendChild(s)}else o("Cannot Find Remote ".concat(e," to inject"))}}))}(e,t,i);const o=window[e];return(await o.get(a))()},di=e=>{let{children:t,socket:s}=e;const[i,o]=(0,a.useState)(null),[n,r]=(0,a.useState)(!1),[l,c]=(0,a.useState)(!1),[d,u]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{n&&r(!1)}),[n]),(0,a.useEffect)((()=>{(async()=>{const e=await s.getAdapterInstances(),t=Object.keys(ri).filter((t=>e.find((e=>{var s;return(null===e||void 0===e||null===(s=e.common)||void 0===s?void 0:s.name)===t})))),a=[],i=e.filter((e=>e.common.javascriptRules)),n=[];for(let s in i){const e=i[s];if(n.includes(e.common.name))continue;let t;if(t=e.common.javascriptRules.url.startsWith("http:")||e.common.javascriptRules.url.startsWith("https:")?e.common.javascriptRules.url:e.common.javascriptRules.url.startsWith("./")?"".concat(window.location.protocol,"//").concat(window.location.host).concat(e.common.javascriptRules.url.replace(/^\./,"")):"".concat(window.location.protocol,"//").concat(window.location.host,"/adapter/").concat(e.common.name,"/").concat(e.common.javascriptRules.url),!0===e.common.javascriptRules.i18n){const e=t.lastIndexOf("/");let s;s=-1!==e?t.substring(0,e):t;const a=f.I18n.getLanguage(),i="".concat(s,"/i18n/").concat(a,".json");await fetch(i).then((e=>e.json())).then((e=>f.I18n.extendTranslations(e,a))).catch((e=>{if("en"!==a)return fetch("".concat(s,"/i18n/en.json")).then((e=>e.json())).then((e=>f.I18n.extendTranslations(e,a))).catch((e=>console.error('Cannot load i18n "'.concat(i,'": ').concat(e))));console.log('Cannot load i18n "'.concat(i,'": ').concat(e))}))}else if(e.common.javascriptRules.i18n&&"object"===typeof e.common.javascriptRules.i18n)try{f.I18n.extendTranslations(e.common.javascriptRules.i18n)}catch(l){console.error('Cannot import i18n for "'.concat(e.common.javascriptRules.name,'": ').concat(l))}try{const s=(await ci(e.common.javascriptRules.name,"default","./".concat(e.common.javascriptRules.name),t)()).default;s&&(a.push(s),n.push(e.common.name),ri[e.common.name]=null)}catch(c){console.error('Cannot load component "'.concat(e.common.javascriptRules.name,'": ').concat(c))}}const r=t.filter((e=>ri[e])).map((e=>ri[e]));o([...ni,...r,...a])})()}),[]),(0,te.jsx)(li.Provider,{value:{blocks:i,socket:s,onUpdate:n,setOnUpdate:r,onDebugMessage:l,setOnDebugMessage:c,enableSimulation:d,setEnableSimulation:u},children:t})};const ui=(0,a.memo)((e=>{const{setUserRules:t,userRules:s,_id:i,id:o,blockValue:n,active:r,acceptedBy:l,isTourOpen:c,setTourStep:d,tourStep:u}=e,[p,h]=(0,a.useState)(null),{blocks:m,socket:g,onUpdate:b,setOnUpdate:y,onDebugMessage:v,enableSimulation:f}=(0,a.useContext)(li);(0,a.useEffect)((()=>{console.log("New message !!"+JSON.stringify(v))}),[v]);const S=(0,a.useCallback)((e=>m.find((t=>t.getStaticData().id===e))),[m]),x=(0,a.useCallback)((e=>{let a=function(e,t,s){const{_id:a,acceptedBy:i}=e;let o;if(!i||!t[i])return console.warn("Cannot find "+i),t;switch(i){case"actions":case"conditions":return o=t[i][s].find((e=>e._id===a)),o?t[i][s][t[i][s].indexOf(o)]=e:console.warn("Cannot find "+a),t;default:return o=t[i].find((e=>e._id===a)),o?t[i][t[i].indexOf(o)]=e:console.warn("Cannot find "+a),t}}(e,s,n);a&&t(a)}),[s]),k=e=>e.currentTarget!==p&&h(e.currentTarget),w=(0,a.useMemo)((()=>{const t=S(o)||ea;return(0,te.jsx)(t,{isTourOpen:c,setTourStep:d,tourStep:u,notFound:!S(o),...e,onUpdate:b,setOnUpdate:y,enableSimulation:f,onDebugMessage:v,onChange:x,className:null,socket:g})}),[s,b,v,f]),[C,j]=(0,a.useState)(!1);return(0,te.jsxs)("div",{onMouseMove:k,onMouseEnter:k,onMouseLeave:()=>h(null),onMouseDown:e=>{if(e.ctrlKey){let e,a=Kt(l,s,n);e="triggers"!==n?a[l][n].find((e=>e._id===i)):a[l].find((e=>e._id===i)),"triggers"!==n?a[l][n].splice(a[l][n].indexOf(e),0,{...e,_id:Date.now()}):a[l].splice(a[l].indexOf(e),0,{...e,_id:Date.now()}),t(a)}},id:"height",style:r?{width:document.getElementById("width").clientWidth-70}:null,className:"".concat(Vt," ").concat(r?Jt:null," ").concat(C?Gt:null),children:[(0,te.jsx)("div",{className:Yt}),w,t&&(0,te.jsx)("div",{className:qt,style:Boolean(p)?{opacity:1}:{opacity:0},children:(0,te.jsx)("div",{onClick:e=>{let a=Kt(l,s,n);a=Qt(l,a,n,i),j(!0),setTimeout((()=>{"triggers"===l&&y(!0),t(a)}),300)},className:Ht})})]})}));ui.defaultProps={active:!1};const pi=ui,hi={position:"fixed",pointerEvents:"none",zIndex:100,left:0,top:0,width:"100%",height:"100%"},mi=(e,t,s)=>{if(!e||!t)return{display:"none"};let{x:a,y:i}=t;s&&(a-=e.x,i-=e.y,[a,i]=((e,t)=>[32*Math.round(e/32),32*Math.round(t/32)])(a,i),a+=e.x,i+=e.y);const o="translate(".concat(a,"px, ").concat(i,"px)");return{transform:o,WebkitTransform:o}},gi=e=>{const{itemType:t,isDragging:s,item:a,initialOffset:i,currentOffset:o,targetIds:n}=(0,Rt.f)((e=>({item:e.getItem(),itemType:e.getItemType(),initialOffset:e.getInitialSourceClientOffset(),currentOffset:e.getSourceClientOffset(),isDragging:e.isDragging(),targetIds:e.getTargetIds()})));return s?(0,te.jsx)("div",{style:hi,children:(0,te.jsx)("div",{style:mi(i,o),children:"box"===t?n.length?(0,te.jsx)(pi,{active:!0,...a,allBlocks:e.allBlocks}):(0,te.jsx)(Wt,{active:!0,...a,socket:e.socket}):null})}):null},bi={border:"style_border__Zz9Km",emptyBlockStyle:"style_emptyBlockStyle__sE5FO",emptyBlock:"style_emptyBlock__dMBHS",marginTop:"style_marginTop__uK9O+",selectOnChange:"style_selectOnChange__6r-uo",selectOnChangeHelp:"style_selectOnChangeHelp__nP0g8",selectOnChangeHelpIcon:"style_selectOnChangeHelpIcon__r7G9x",emptyBlockNone:"style_emptyBlockNone__DS6GG",mainBlockItemRules:"style_mainBlockItemRules__JYCaQ",nameBlockItems:"style_nameBlockItems__sNeEH",contentBlockItem:"style_contentBlockItem__SQejW",wrapperMargin:"style_wrapperMargin__v8PwE",contentHeightOn:"style_contentHeightOn__T3ZZ-",heightBlock:"style_heightBlock__B96p1",contentHeightOff:"style_contentHeightOff__eaSlV",cardAdd:"style_cardAdd__SNY3P",blockCardAdd:"style_blockCardAdd__xHdXK",addClassOverflow:"style_addClassOverflow__bcVva",addClassHeight:"style_addClassHeight__GJALi"};function yi(e,t){const[s,i]=a.useState(localStorage.getItem(t)?JSON.parse(localStorage.getItem(t)):e);return[s,e=>{localStorage.setItem(t,JSON.stringify(e)),i(e)},!!localStorage.getItem(t)]}var vi=s(60953),fi=s(763),Si=s.n(fi);const xi=Si().throttle(((e,t)=>e(t)),0),ki=(e,t,s,a,i,o,n,r,l)=>{const{card:c,index:d}=wi(e,s);if(!(dt&&r>l)&&c&&d!==t){const e=Si().clone(s);e.splice(d,1),e.splice(t,0,c);const r=Si().clone(i);switch(o){case"actions":case"conditions":return r[o][n]=e,void xi(a,r);default:return r[o]=e,void xi(a,r)}}},wi=(e,t)=>{const s=t.find((t=>t._id===e));return{card:s,index:t.indexOf(s)}},Ci="style_drag__Gq61w",ji="style_root__nSnEB",Ii=e=>{let{typeBlocks:t,allProperties:s,id:i,isActive:o,setUserRules:n,userRules:r,children:l,_id:c,blockValue:d}=e;const{setOnUpdate:u}=(0,a.useContext)(li),[{opacity:p},h,m]=(0,_.c)({type:"box",item:()=>({...s,id:i,isActive:o,_id:c}),end:(e,t)=>{let s,{acceptedBy:a}=e,i=t.getDropResult();if(!i)return"number"!==typeof c||t.getTargetIds().length||(s=Kt(a,r,d),s=Qt(a,s,d,c),n(s)),null;if(i.blockValue!==d){let t="number"===typeof c?c:Date.now();s=Kt(a,r,i.blockValue);const o={id:e.id,acceptedBy:e.acceptedBy};switch(a){case"actions":return d&&(s=Qt(a,s,d,c)),s=Qt(a,s,i.blockValue,c),s[a][i.blockValue].push({...o,_id:t}),n(s);case"conditions":return"number"===typeof d&&(s=Qt(a,s,d,c)),s=Qt(a,s,i.blockValue,c),s[a][i.blockValue].push({...o,_id:t}),n(s);default:return u(!0),s=Qt(a,s,i.blockValue,c),s[a].push({...o,_id:t}),n(s)}}},collect:e=>({opacity:e.isDragging()?.4:1,isDragging:e.isDragging()})}),g=(0,a.useRef)(null),[,b]=(0,O.L)({accept:"box",canDrop:()=>!1,hover(e,s){var a;let{_id:i,acceptedBy:o}=e;if(!g.current)return;if(t!==o)return;const l=null===(a=g.current)||void 0===a?void 0:a.getBoundingClientRect(),u=(l.bottom-l.top)/2,p=s.getClientOffset().y-l.top;if(c&&i!==c)switch(o){case"actions":if("then"===d||"else"===d){const{index:e}=wi(c,r[o][d]);e!==i&&ki(i,e,r[o][d],n,r,o,d,p,u)}return;case"conditions":if("number"===typeof d){const{index:e}=wi(c,r[o][d]);e!==i&&ki(i,e,r[o][d],n,r,o,d,p,u)}return;default:const{index:e}=wi(c,r[o]);return void(e!==i&&ki(i,e,r[o],n,r,o,null,p,u))}}});(0,a.useEffect)((()=>{m((0,vi.r)(),{captureDraggingState:!0})}),[]),h(b(g));const y=window.innerWidth<600;return(0,te.jsxs)("div",{ref:y&&c?null:g,className:ji,style:{opacity:p},children:[(0,te.jsx)("div",{className:c?Ci:null,ref:c&&y?g:null}),l]})};Ii.defaultProps={name:"",active:!1,id:"",_id:null};const Ti=Ii,Di=e=>{let{onClose:t,open:s}=e;return(0,te.jsxs)(G.Z,{open:s,onClose:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,te.jsx)(q.Z,{children:(0,te.jsxs)("div",{style:{fontSize:"1rem",fontFamily:'"Roboto", "Helvetica", "Arial", sans-serif',fontWeight:400,lineHeight:1.5,letterSpacing:"0.00938em"},children:[(0,te.jsx)("h3",{children:f.I18n.t("On condition change")}),(0,te.jsx)("div",{children:f.I18n.t("help_on_change")}),(0,te.jsx)("h3",{children:f.I18n.t("Just check")}),(0,te.jsx)("div",{children:f.I18n.t("help_just_check")})]})}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{onClick:t,color:"primary",autoFocus:!0,startIcon:(0,te.jsx)(ee.default,{}),children:f.I18n.t("OK")})})]})};Di.defaultProps={open:!1,onClose:()=>{}};const Ai=Di,Ni=e=>{let{onClose:t,open:s}=e;return(0,te.jsxs)(G.Z,{open:s,onClose:t,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description",children:[(0,te.jsx)(q.Z,{children:(0,te.jsxs)(fe.Z,{id:"alert-dialog-description",children:[(0,te.jsx)("h3",{children:f.I18n.t("On condition change")}),(0,te.jsx)("div",{children:f.I18n.t("help_on_change")}),(0,te.jsx)("h3",{children:f.I18n.t("Just check")}),(0,te.jsx)("div",{children:f.I18n.t("help_just_check")})]})}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{onClick:t,color:"primary",autoFocus:!0,children:f.I18n.t("OK")})})]})};Ni.defaultProps={open:!1,onClose:()=>{}};const Ei=Ni,Oi=e=>{var t;let{size:s,itemsSwitchesRender:i,blockValue:o,boolean:n,typeBlock:r,userRules:l,setUserRules:c,animation:d,setTourStep:u,tourStep:p,isTourOpen:h}=e;const[m,g]=(0,a.useState)(!1),[b,y]=(0,a.useState)(!1),[v,S]=(0,a.useState)(!1),[x,k]=(0,a.useState)(""),w=(0,O.L)({accept:"box",drop:()=>({blockValue:o}),hover:(e,t)=>{let{acceptedBy:s,_id:a}=e;g(s===r),S(!!a),k(t.getHandlerId())},canDrop:(e,t)=>{let{acceptedBy:s}=e;return y(s===r),s===r},collect:e=>{var t;return{isOver:e.isOver(),canDrop:(null===(t=e.getItem())||void 0===t?void 0:t.acceptedBy)===r,offset:e.getClientOffset(),targetId:e.targetId}}}),[{canDrop:C,isOver:j,offset:I,targetId:T},D]=w;(0,a.useEffect)((()=>{k("")}),[I]);const A=C&&j;let N="";return A?N=m?"#00fb003d":"#fb00002e":C?N=b?"#00fb003d":"#fb00002e":I&&(N=T===x?"#fb00002e":""),(0,te.jsx)("div",{ref:D,style:{backgroundColor:N},className:"".concat(f.Utils.clsx(bi.contentBlockItem,s&&bi.addClassHeight)," ").concat(n?d?bi.contentHeightOn:null:bi.contentHeightOff),children:(0,te.jsxs)("div",{className:bi.wrapperMargin,children:[null===(t=i[o])||void 0===t?void 0:t.map((e=>(0,te.jsx)(Ti,{typeBlocks:r,...e,blockValue:o,allProperties:e,userRules:l,setUserRules:c,children:(0,te.jsx)(pi,{...e,isTourOpen:h,setTourStep:u,tourStep:p,settings:e,blockValue:o,userRules:l,setUserRules:c})},e._id))),(0,te.jsx)("div",{style:A&&m&&!v?{height:document.getElementById("height")?document.getElementById("height").clientHeight:200}:null,className:"".concat(bi.emptyBlockStyle," ").concat(A&&m&&!v?bi.emptyBlock:bi.emptyBlockNone)})]})})};Oi.defaultProps={children:null,boolean:!0,animation:!1};const _i=e=>{let{size:t,typeBlock:s,name:i,nameAdditionally:o,additionally:n,border:r,userRules:l,setUserRules:c,iconName:d,adapter:u,socket:p,setTourStep:h,tourStep:m,isTourOpen:g}=e;const[b,y,v]=yi("actions"!==s&&[],"additionallyClickItems_".concat(s)),[S,x]=(0,a.useState)(!1),[k,w]=(0,a.useState)(!1);(0,a.useEffect)((()=>{if("conditions"===s&&b.length!==l.conditions.length-1){let e=[];l.conditions.forEach(((t,s)=>{s>0&&e.push({_id:Date.now(),open:!0})})),y([...b,...e])}"actions"===s&&!v&&l.actions.else.length&&y(!0)}),[]);const[C,j]=(0,a.useState)(!1);return(0,te.jsxs)("div",{className:"".concat(f.Utils.clsx(bi.mainBlockItemRules,t&&bi.addClassOverflow)," ").concat(r&&!t?bi.border:null),children:[(0,te.jsxs)("span",{id:"width",className:bi.nameBlockItems,children:[(0,te.jsx)(Ut,{iconName:d,className:bi.iconThemCard,adapter:u,socket:p}),i]}),"conditions"===s?(0,te.jsxs)("div",{style:{width:"100%"},children:[(0,te.jsxs)(Q.Z,{variant:"standard",className:bi.selectOnChange,value:l.justCheck||!1,onChange:e=>{const t=Kt("conditions",l);t.justCheck=e.target.value,c(t)},children:[(0,te.jsx)(N.Z,{value:!1,children:f.I18n.t("on condition change")}),(0,te.jsx)(N.Z,{value:!0,children:f.I18n.t("just check")})]}),(0,te.jsx)(D.Z,{size:"small",title:f.I18n.t("Explanation"),className:bi.selectOnChangeHelp,onClick:()=>x(!0),children:(0,te.jsx)($t.Z,{className:bi.selectOnChangeHelpIcon})})]}):null,(0,te.jsx)(Oi,{setTourStep:h,tourStep:m,isTourOpen:g,blockValue:"actions"===s?"then":"conditions"===s?0:s,typeBlock:s,setUserRules:c,userRules:l,size:t,itemsSwitchesRender:"actions"===s?l.actions:"conditions"===s?l.conditions:l}),n&&[...Array("actions"===s?1:l.conditions.length-1)].map(((e,i)=>{const n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;return Boolean("actions"===s?b:b.find(((t,s)=>s===e&&t.open)))};return(0,te.jsxs)(a.Fragment,{children:[(0,te.jsxs)("div",{onClick:()=>{if("actions"===s)return y(!b),null;let e=JSON.parse(JSON.stringify(b));if(l.conditions[i+1].length)return e[i].open=!e[i].open,y(e),null;e=e.filter(((e,t)=>t!==i)),y(e),j("actions"===s||i),setTimeout((()=>{j(!1),c({...l,conditions:[...l.conditions.filter(((e,t)=>t!==i+1))]})}),250)},className:bi.blockCardAdd,children:[n()?"-":"+",(0,te.jsx)("div",{className:bi.cardAdd,children:o})]},i),(0,te.jsx)(Oi,{blockValue:"actions"===s?"else":"conditions"===s?i+1:s,typeBlock:s,setUserRules:c,itemsSwitchesRender:"actions"===s?l.actions:"conditions"===s?l.conditions:l,userRules:l,boolean:n(),animation:Boolean(C===i),size:t})]},"".concat(i,"_block_").concat(s))})),n&&"conditions"===s&&(0,te.jsxs)("div",{onClick:()=>{y([...b,{_id:Date.now(),open:!0}]),c({...l,conditions:[...l.conditions,[]]}),j("actions"===s||l.conditions.length-1),setTimeout((()=>j(!1)),1e3)},className:bi.blockCardAdd,children:["+",(0,te.jsx)("div",{className:bi.cardAdd,children:o})]}),(0,te.jsx)(Ai,{open:S,onClose:()=>x(!1)}),(0,te.jsx)(Ei,{open:k,onClose:()=>w(!1)})]})};_i.defaultProps={children:null,name:"",nameAdditionally:"",additionally:!1,border:!1,typeBlock:""};const Ri=_i,Mi="style_menuRules__NRFrw",zi="style_switchesRenderWrapper__MHBpo",Pi="style_menuOff__GV8BN",Bi="style_menuTitle__bnI7K",Fi="style_marginAuto__h3I6J",Li="style_inputWidth__Hkd3w",Ui="style_menuWrapper__16zE-",Zi="style_hamburgerWrapper__+AsNg",Wi="style_hamburgerOff__Tmmok",Vi="style_nothingFound__hm0xN",Ji="style_resetSearch__oA8LS",qi="style_controlPanel__ojI7Z",Hi="style_controlPanelAppBar__fjB3Y",Gi="style_addClassMenu__3n58b",Yi="style_addClassBackground__j1FHK",Ki="style_addClassPosition__YL+W4",Qi=e=>{const{allProperties:t,allProperties:{acceptedBy:s,id:a},setUserRules:i,userRules:o,setTourStep:n,tourStep:r,isTourOpen:l,onTouchMove:c}=e;return(0,te.jsx)(Ti,{...e,...t,children:(0,te.jsx)(Wt,{onTouchMove:c,onDoubleClick:()=>{l&&r===Vs&&"TriggerScheduleBlock"===a&&n(Js),l&&r===Gs&&"ActionPrintText"===a&&n(Ys);let e,t=Date.now();switch(s){case"actions":e="then";break;case"conditions":e=o[s].length-1}let c=Kt(s,o,e);const d={id:a,_id:t,acceptedBy:s};void 0!==e?c[s][e].push({...d}):c[s].push({...d}),i(c)},onDoubl:!0,...e,...t})})},Xi="hamburgerMenu_hamburgerMenu__zKaBW",$i="hamburgerMenu_animate__CjZxq",eo=e=>{let{boolean:t}=e;return(0,te.jsx)("div",{className:"".concat(Xi," ").concat(t?$i:"")})};eo.defaultProps={boolean:!1};const to=eo,so=e=>{let{addClass:t,setAllBlocks:s,allBlocks:i,userRules:o,onChangeBlocks:n,setTourStep:r,tourStep:l,isTourOpen:c}=e;const{blocks:d,socket:u}=(0,a.useContext)(li),[p,h]=yi(!1,"hamburgerOnOff"),[m,g]=yi({text:"",type:"triggers",index:0},"filterControlPanel"),b=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m.text,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:m.type;if(!d)return;let a=[...d];a=a.filter((t=>{if(!e)return!0;const{name:s}=t.getStaticData();return s&&f.I18n.t(s).toLowerCase().includes(e.toLowerCase())})),a=a.filter((e=>t===e.getStaticData().acceptedBy)),s(a)},y=e=>({id:"scrollable-force-tab-".concat(e),"aria-controls":"scrollable-force-tabpanel-".concat(e)});return(0,a.useEffect)((()=>{b()}),[d]),(0,te.jsx)(lt.ClickAwayListener,{mouseEvent:!1,touchEvent:"onTouchStart",onClickAway:()=>h(!0),children:(0,te.jsxs)("div",{className:f.Utils.clsx(Ui,t[1035]&&Gi),children:[(0,te.jsx)("div",{className:"".concat(Zi," ").concat(p?Wi:null),onClick:()=>h(!p),children:(0,te.jsx)(to,{boolean:!p})}),(0,te.jsxs)("div",{className:"".concat(f.Utils.clsx(Mi,t[1035]&&Yi,t[835]&&Ki)," ").concat(p?Pi:null),children:[(0,te.jsx)("div",{className:qi,children:(0,te.jsx)(lt.AppBar,{className:Hi,position:"static",children:(0,te.jsxs)(lt.Tabs,{value:m.index,onChange:(e,t)=>{c&&0===t&&l===Ws&&r(Vs),c&&2===t&&l===Hs&&r(Gs),g({...m,index:t,type:["triggers","conditions","actions"][t]}),b(m.text,["triggers","conditions","actions"][t])},children:[(0,te.jsx)(lt.Tab,{className:"blocks-triggers",title:f.I18n.t("Triggers"),icon:(0,te.jsx)(Ut,{iconName:"FlashOn"}),...y(0)}),(0,te.jsx)(lt.Tab,{title:f.I18n.t("Conditions"),className:"blocks-conditions",icon:(0,te.jsx)(Ut,{iconName:"Help"}),...y(1)}),(0,te.jsx)(lt.Tab,{title:f.I18n.t("Actions"),className:"blocks-actions",icon:(0,te.jsx)(Ut,{iconName:"PlayForWork"}),...y(2)})]})})}),(0,te.jsx)("div",{className:zi,children:(0,te.jsxs)("span",{children:[i.map((e=>{const{name:t,id:s,icon:i,adapter:d}=e.getStaticData();return(0,te.jsx)(a.Fragment,{children:(0,te.jsx)(Qi,{onTouchMove:()=>h(!0),setTourStep:r,tourStep:l,isTourOpen:c,allProperties:e.getStaticData(),name:t,icon:i,adapter:d,socket:u,userRules:o,setUserRules:n,isActive:!1,id:s})},s)})),0===i.length&&(0,te.jsxs)("div",{className:Vi,children:[f.I18n.t("Nothing found"),"...",(0,te.jsx)("div",{className:Ji,onClick:()=>{g({...m,text:""}),b("")},children:f.I18n.t("reset search")})]})]})}),(0,te.jsx)("div",{className:f.Utils.clsx(Bi,Fi)}),(0,te.jsx)(gs,{className:Li,fullWidth:!0,customValue:!0,value:m.text,size:"small",autoComplete:"off",label:f.I18n.t("search"),variant:"outlined",onChange:e=>{g({...m,text:e}),b(e)}})]})]})})},ao=e=>{let{code:t,onChange:s,themeName:i,setTourStep:o,tourStep:n,isTourOpen:r,command:l,scriptId:c,changed:d,running:u}=e;const{blocks:p,socket:h,setOnUpdate:m,setOnDebugMessage:g,setEnableSimulation:b}=(0,a.useContext)(li),[y,v]=(0,a.useState)([]),[S,x]=(0,a.useState)(fa.code2json(t)),[k,w]=(0,a.useState)(""),[C,j]=(0,a.useState)(!1);(0,a.useEffect)((()=>{let e,t;const s=(a,i)=>{var o,n;a===e+".alive"?t!==(null===i||void 0===i?void 0:i.val)&&(t=null===i||void 0===i?void 0:i.val,t&&h.sendTo(e.replace(/^system\.adapter\./,""),"rulesOn",c)):e!==(null===i||void 0===i||null===(o=i.common)||void 0===o?void 0:o.engine)&&(e&&h.unsubscribeState("".concat(e,".alive"),s),t&&h.sendTo(e.replace(/^system\.adapter\./,""),"rulesOn",c),e=null===i||void 0===i||null===(n=i.common)||void 0===n?void 0:n.engine,e&&h.subscribeState("".concat(e,".alive"),s))},a=(e,t)=>{if(t)try{let e=JSON.parse(t.val);e.ruleId===c&&Date.now()-e.ts<1e3&&g({blockId:e.blockId,data:e.data,ts:e.ts})}catch(s){console.error("Cannot parse: "+t.val)}};return h.getObject(c).then((t=>{var i;e=null===t||void 0===t||null===(i=t.common)||void 0===i?void 0:i.engine,h.subscribeObject(c,s),e&&h.subscribeState("".concat(e,".alive"),s),e&&h.subscribeState(e.replace(/^system\.adapter\./,"")+".debug.rules",a)})),function(){e&&h.unsubscribeObject("".concat(e,".alive"),s),h.unsubscribeState(c,s),t&&e&&h.sendTo(e.replace(/^system\.adapter\./,""),"rulesOff",c),e&&h.unsubscribeState(e.replace(/^system\.adapter\./,"")+".debug.rules",a)}}),[]),(0,a.useEffect)((()=>{b(!d&&u)}),[d,u,b]),(0,a.useEffect)((()=>{l&&(w(l),C||j(!0))}),[l]),(0,a.useEffect)((()=>{const e=fa.code2json(t);JSON.stringify(e)!==JSON.stringify(S)&&(x(e),m(!0))}),[t]),(0,a.useEffect)((()=>{document.getElementsByTagName("HTML")[0].className=i||"blue"}),[i]);const I=(0,a.useCallback)((e=>{x(e),s(fa.json2code(e,p))}),[p,s]),T=(0,a.useRef)({clientWidth:0}),[D,A]=(0,a.useState)({835:!1,1035:!1});return(0,a.useEffect)((()=>{T.current&&(T.current.clientWidth<=1035&&A({835:!1,1035:!0}),T.current.clientWidth<=835&&A({1035:!0,835:!0}),T.current.clientWidth>1035&&A({835:!1,1035:!1}))}),[T.current.clientWidth]),p?(0,te.jsxs)("div",{className:Et,ref:T,children:[(0,te.jsx)(gi,{allBlocks:y,socket:h}),"export"===k?(0,te.jsx)(bt,{onClose:()=>j(!1),open:C,text:JSON.stringify(S,null,2)},"dialogExport"):(0,te.jsx)(ft,{open:C,onClose:e=>{j(!1),e&&I(JSON.parse(e))}},"dialogImport"),(0,te.jsxs)("div",{className:f.Utils.clsx(Ot,D[835]&&_t),children:[(0,te.jsx)(so,{setAllBlocks:v,allBlocks:y,userRules:S,onChangeBlocks:I,setTourStep:o,tourStep:n,addClass:D,isTourOpen:r}),(0,te.jsx)(Ri,{setUserRules:I,userRules:S,isTourOpen:r,setTourStep:o,tourStep:n,name:"".concat(f.I18n.t("when"),"..."),typeBlock:"triggers",iconName:"FlashOn",size:D[835]}),(0,te.jsx)(Ri,{setUserRules:I,isTourOpen:r,setTourStep:o,tourStep:n,userRules:S,name:"...".concat(f.I18n.t("and"),"..."),typeBlock:"conditions",iconName:"Help",nameAdditionally:f.I18n.t("or"),additionally:!0,border:!0,size:D[835]}),(0,te.jsx)(Ri,{setUserRules:I,isTourOpen:r,setTourStep:o,tourStep:n,userRules:S,name:"...".concat(f.I18n.t("then")),typeBlock:"actions",iconName:"PlayForWork",nameAdditionally:f.I18n.t("else"),additionally:!0,size:D[835]})]})]},"rulesEditor"):null};var io=s(76278);class oo extends i().Component{constructor(e){super(e),this.state={lines:(this.props.script||"").split(/\r\n|\n/)}}editorDidMount(e,t){this.monaco=t,this.editor=e,e.focus()}render(){return(0,te.jsx)("div",{className:this.props.classes.editorDiv,children:(0,te.jsx)(ut,{name:this.props.scriptName,adapterName:this.props.adapterName,readOnly:!0,code:this.props.script||"",isDark:"dark"===this.props.themeType,socket:this.props.socket,runningInstances:this.props.runningInstances,language:"javascript",breakpoints:this.props.breakpoints,location:this.props.paused?this.props.location:null,onToggleBreakpoint:e=>this.props.onToggleBreakpoint(e)},"scriptEditor2")},"scriptEditorDiv2")}}const no=(0,u.Z)((e=>({editorDiv:{height:"100%",width:"100%",overflow:"hidden",position:"relative"},editor:{width:"100%",height:"100%",overflow:"auto"},line:{width:"100%",whiteSpace:"nowrap"},lineNumber:{width:40,whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",fontFamily:"Lucida Console, Courier, monospace",textAlign:"right",fontSize:14,marginRight:1,borderRight:"1px solid #555",cursor:"pointer"},lineBreakpoint:{background:"#330000",color:"white"},lineCode:{display:"inline-block",fontFamily:"Lucida Console, Courier, monospace",fontSize:14,margin:0,whiteSpace:"pre"},lineCurrentCode:{background:"red",color:"white"},lineCurrent:{background:"#880000",color:"white"}})))(oo);function ro(e){let t,s=e.getHours();return s<10&&(s="0"+s.toString()),t=s+":",s=e.getMinutes(),s<10&&(s="0"+s.toString()),t+=s+":",s=e.getSeconds(),s<10&&(s="0"+s.toString()),t+=s+".",s=e.getMilliseconds(),s<10?s="00"+s.toString():s<100&&(s="0"+s.toString()),t+=s,t}class lo extends i().Component{constructor(e){super(e),this.state={lines:{},goBottom:!0},this.messagesEnd=i().createRef()}generateLine(e){return(0,te.jsxs)("tr",{className:this.props.classes[e.severity],children:[(0,te.jsx)("td",{className:this.props.classes.trTime,children:ro(new Date(e.ts))},"tdTime"),(0,te.jsx)("td",{className:this.props.classes.trSeverity,children:e.severity},"tdSeverity"),(0,te.jsx)("td",{children:e.text},"tdMessage")]},"tr_".concat(e.ts,"_").concat(e.text.substr(-10)))}renderLogList(e){return e&&e.length?(0,te.jsxs)("div",{className:this.props.classes.logBoxInner,children:[(0,te.jsx)("table",{className:this.props.classes.table,children:(0,te.jsx)("tbody",{children:e.map(((e,t)=>this.generateLine(e)))})},"logTable"),(0,te.jsx)("div",{ref:this.messagesEnd,style:{float:"left",clear:"both"}},"logScrollPoint")]},"logList"):(0,te.jsx)("div",{className:this.props.classes.logBoxInner,style:{paddingLeft:10},children:f.I18n.t("Log outputs")},"logList")}onCopy(){f.Utils.copyToClipboard(this.props.console.join("\n"))}scrollToBottom(){this.messagesEnd&&this.messagesEnd.current&&this.messagesEnd.current.scrollIntoView({behavior:"smooth"})}componentDidUpdate(){this.state.goBottom&&this.scrollToBottom()}render(){const e=this.props.console;return(0,te.jsxs)("div",{className:this.props.classes.logBox,children:[(0,te.jsxs)("div",{className:this.props.classes.toolbox,children:[(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.setState({goBottom:!this.state.goBottom}),color:this.state.goBottom?"secondary":"",size:"medium",children:(0,te.jsx)(S.G10,{})}),e&&e.length?(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.props.onClearAllLogs(),size:"medium",children:(0,te.jsx)(S.FH3,{})}):null,e&&e.length?(0,te.jsx)(D.Z,{className:this.props.classes.iconButtons,onClick:()=>this.onCopy(),size:"medium",children:(0,te.jsx)(S.Fqs,{})}):null]},"toolbox"),this.renderLogList(e)]})}}const co=(0,u.Z)((e=>({consoleLine:{fontSize:14,color:"dark"===e.palette.mode?"#EEE":"#222"},console_log:{},console_warn:{backgroundColor:"dark"===e.palette.mode?"#885900":"#ffa500"},console_error:{backgroundColor:"dark"===e.palette.mode?"#7a0000":"#FF0000"},console_debug:{opacity:.6},consoleSeverity:{verticalAlign:"top",width:50,textTransform:"uppercase"},consoleTime:{whiteSpace:"nowrap",verticalAlign:"top",width:170},consoleText:{fontFamily:"Lucida Console, Courier, monospace",paddingTop:4,"&>pre":{margin:0}},logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:{display:"inline-block",color:"dark"===e.palette.mode?"white":"black",width:"calc(100% - ".concat(34,"px)"),height:"100%",overflow:"auto",position:"relative",verticalAlign:"top"},info:{background:"dark"===e.palette.mode?"darkgrey":"lightgrey",color:(e.palette.mode,"black")},error:{background:"#FF0000",color:"dark"===e.palette.mode?"black":"white"},warn:{background:"#FF8000",color:"dark"===e.palette.mode?"black":"white"},debug:{background:"gray",opacity:.8,color:"dark"===e.palette.mode?"black":"white"},silly:{background:"gray",opacity:.6,color:"dark"===e.palette.mode?"black":"white"},table:{fontFamily:"monospace",width:"100%"},toolbox:{width:34,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)",display:"inline-block",verticalAlign:"top",overflow:"hidden"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4}})))(lo);var uo=s(71939),po=s.n(uo);class ho extends i().Component{constructor(e){super(e),this.framesSize=parseFloat(window.localStorage.getItem("App.framesSize"))||300,this.state={editValue:null,callFrames:this.props.callFrames},this.editRef=i().createRef()}onExpressionNameUpdate(){this.props.onExpressionNameUpdate(this.state.editValue.index,this.scopeValue,(()=>{this.setState({editValue:null}),this.scopeValue=null}))}renderExpression(e,t){const s=this.state.editValue&&"expression"===this.state.editValue.type&&this.state.editValue.index===t?(0,te.jsx)(E.Z,{inputRef:this.editRef,fullWidth:!0,margin:"dense",onBlur:()=>this.state.editValue&&this.setState({editValue:null}),defaultValue:e.name,onKeyUp:e=>{13===e.keyCode?this.onExpressionNameUpdate():27===e.keyCode&&this.setState({editValue:null})},onChange:e=>this.scopeValue=e.target.value,endAdornment:(0,te.jsx)(we.Z,{position:"end",children:(0,te.jsx)(D.Z,{onClick:()=>this.onExpressionNameUpdate(),size:"medium",children:(0,te.jsx)(S.HhX,{})})})}):[(0,te.jsx)("div",{className:this.props.classes.scopeNameName,title:f.I18n.t("Double click to edit expression"),children:e.name},"name"),(0,te.jsx)("div",{className:this.props.classes.scopeNameEqual,children:" = "},"="),(0,te.jsx)("div",{className:this.props.classes.scopeNameValue,children:this.formatValue(e.value)},"val")];return(0,te.jsxs)("tr",{children:[(0,te.jsx)("td",{className:f.Utils.clsx(this.props.classes.scopeType,this.props.classes.scopeType_user),children:"user"}),(0,te.jsx)("td",{className:this.props.classes.scopeName,onDoubleClick:()=>{this.scopeValue=e.name||"",this.setState({editValue:{type:"expression",valueType:"string",index:t,name:e.name,value:e.name||""}})},children:s}),(0,te.jsx)(D.Z,{className:this.props.classes.scopeButtonDel,size:"small",disabled:!!this.state.editValue,onClick:()=>this.props.onExpressionDelete(t),children:(0,te.jsx)(S.ZkW,{})})]},"user_".concat(t).concat(e.name))}renderExpressions(){return this.props.expressions.map(((e,t)=>this.renderExpression(e,t)))}renderOneFrameTitle(e,t){if(this.props.mainScriptId===this.props.currentScriptId&&e.location.scriptId!==this.props.mainScriptId)return null;const s=e.url.split("/").pop().replace(/^script\.js\./,"");return(0,te.jsx)(io.Z,{onClick:()=>this.props.onChangeCurrentFrame(t),dense:!0,selected:this.props.currentFrame===t,classes:{root:this.props.classes.frameRoot},children:(0,te.jsx)(T.Z,{classes:{root:this.props.classes.frameTextRoot,primary:this.props.classes.frameTextPrimary,secondary:this.props.classes.frameTextSecondary},title:e.url,primary:e.functionName||"anonymous",secondary:"".concat(s," (").concat(e.location.lineNumber,":").concat(e.location.columnNumber,")")})},e.id)}formatValue(e,t){if(e){if("function"===e.type){const s=e.description?e.description.length>100?e.description.substring(0,100)+"...":e.description:"function";return t?s:(0,te.jsx)("span",{className:this.props.classes.valueFunc,title:e.description,children:s})}if(void 0===e.value)return t?"undefined":(0,te.jsx)("span",{className:this.props.classes.valueUndefined,children:"undefined"});if(null===e.value)return t?"null":(0,te.jsx)("span",{className:this.props.classes.valueNull,children:"null"});if("string"===e.type){if(t)return e.value;{const t=e.value?e.value.length>100?e.value.substring(0,100)+"...":e.value:"";return(0,te.jsxs)("span",{className:this.props.classes.valueString,title:t,children:['"',t,'"']})}}return"boolean"===e.type?t?e.value.toString():(0,te.jsx)("span",{className:this.props.classes.valueBoolean,children:e.value.toString()}):"object"===e.type?t?JSON.stringify(e.value):(0,te.jsx)(po(),{enableClipboard:!1,style:{backgroundColor:"inherit",marginTop:3},src:e.value,collapsed:!0,theme:"dark"===this.props.themeType?"brewer":"rjv-default",displayDataTypes:!1}):e.value.toString()}return t?"none":(0,te.jsx)("span",{className:this.props.classes.valueNone,children:"none"})}onWriteScopeValue(){"true"===this.scopeValue?this.scopeValue=!0:"false"===this.scopeValue?this.scopeValue=!1:"null"===this.scopeValue?this.scopeValue=null:"undefined"===this.scopeValue?this.scopeValue=void 0:parseFloat(this.scopeValue).toString()===this.scopeValue&&(this.scopeValue=parseFloat(this.scopeValue)),this.props.onWriteScopeValue({variableName:this.state.editValue.name,scopeNumber:0,newValue:{value:this.scopeValue,valueType:typeof this.scopeValue},callFrameId:this.props.callFrames[this.props.currentFrame].callFrameId}),this.setState({editValue:null}),this.scopeValue=null}componentDidUpdate(){var e;null===(e=this.editRef.current)||void 0===e||e.focus()}renderScope(e,t,s){var a,i;const o=!this.props.currentFrame&&t.value&&("undefined"===t.value.type||"string"===t.value.type||"number"===t.value.type||"boolean"===t.value.type||null===(null===(a=t.value)||void 0===a?void 0:a.value)||void 0===(null===(i=t.value)||void 0===i?void 0:i.value)),n=this.state.editValue&&this.state.editValue.type===s&&this.state.editValue.name===t.name?[(0,te.jsx)("div",{className:this.props.classes.scopeNameName,children:t.name},"name"),(0,te.jsx)("div",{className:this.props.classes.scopeNameEqual,children:" = "},"="),(0,te.jsx)(E.Z,{inputRef:this.editRef,margin:"dense",onBlur:()=>this.state.editValue&&this.setState({editValue:null}),defaultValue:this.formatValue(t.value,!0),onKeyUp:e=>{13===e.keyCode?this.onWriteScopeValue():27===e.keyCode&&this.setState({editValue:null})},onChange:e=>this.scopeValue=e.target.value,endAdornment:(0,te.jsx)(we.Z,{position:"end",children:(0,te.jsx)(D.Z,{onClick:()=>this.onWriteScopeValue(),size:"medium",children:(0,te.jsx)(S.HhX,{})})})})]:[(0,te.jsx)("div",{className:this.props.classes.scopeNameName,title:f.I18n.t("Double click to write value"),children:t.name},"name"),(0,te.jsx)("div",{className:this.props.classes.scopeNameEqual,children:" = "},"="),(0,te.jsxs)("div",{className:this.props.classes.scopeNameValue,children:[this.formatValue(t.value)," (",t.value.type,")"]},"val")];return(0,te.jsxs)("tr",{children:[(0,te.jsx)("td",{className:f.Utils.clsx(this.props.classes.scopeType,this.props.classes["scopeType_"+s]),children:s}),(0,te.jsx)("td",{className:f.Utils.clsx(this.props.classes.scopeName,!this.props.currentFrame&&o&&this.props.classes.scopeValueEditable),onDoubleClick:()=>{o&&(this.scopeValue=t.value.value,this.setState({editValue:{scopeId:e,type:s,valueType:t.value.type,name:t.name,value:t.value.value}}))},children:n})]},"".concat(s,"_").concat(e,"_").concat(t.name))}renderScopes(e){if(e){var t,s,a,i,o,n;let e=this.renderExpressions(),r=null===(t=this.props.scopes)||void 0===t||null===(s=t.local)||void 0===s||null===(a=s.properties)||void 0===a?void 0:a.result.map((e=>this.renderScope(this.props.scopes.id,e,"local")));return r&&r.forEach((t=>e.push(t))),r=null===(i=this.props.scopes)||void 0===i||null===(o=i.closure)||void 0===o||null===(n=o.properties)||void 0===n?void 0:n.result.map((e=>this.renderScope(this.props.scopes.id,e,"closure"))),r&&r.forEach((t=>e.push(t))),(0,te.jsx)("table",{style:{width:"100%"},children:(0,te.jsx)("tbody",{children:e})})}return null}render(){return(0,te.jsxs)(h(),{customClassName:this.props.classes.splitter,primaryIndex:1,secondaryMinSize:200,primaryMinSize:200,vertical:!1,secondaryInitialSize:this.framesSize,onSecondaryPaneSizeChange:e=>this.framesSize=parseFloat(e),onDragEnd:()=>window.localStorage.setItem("App.framesSize",this.framesSize.toString()),children:[(0,te.jsx)("div",{style:{width:"100%",height:"100%",overflow:"auto"},children:(0,te.jsx)(w.Z,{classes:{root:this.props.classes.listRoot},children:this.props.callFrames?this.props.callFrames.map(((e,t)=>this.renderOneFrameTitle(e,t))):null})}),(0,te.jsxs)("div",{style:{width:"100%",height:"100%",overflow:"auto"},children:[(0,te.jsx)("div",{className:this.props.classes.toolbarScopes,children:(0,te.jsx)(D.Z,{size:"small",onClick:()=>this.props.onExpressionAdd(((e,t)=>{this.scopeValue=t.name||"",this.setState({editValue:{type:"expression",valueType:"string",index:e,name:t.name,value:t.name||""}})})),children:(0,te.jsx)(S.x06,{})})}),(0,te.jsx)("div",{className:this.props.classes.scopesAfterToolbar,children:this.props.callFrames&&this.props.callFrames.length&&this.renderScopes(this.props.callFrames[this.props.currentFrame])})]})]})}}const mo=(0,u.Z)((e=>({frameRoot:{paddingTop:0,paddingBottom:0},frameTextRoot:{margin:0},frameTextPrimary:{color:"dark"===e.palette.mode?"#CCC":"#333"},frameTextSecondary:{fontStyle:"italic",fontSize:12,opacity:.6,paddingLeft:e.spacing(1)},listRoot:{padding:0},scopeType:{verticalAlign:"top",textTransform:"uppercase",width:50},scopeType_local:{color:"#53a944"},scopeType_closure:{color:"#365b80"},scopeType_user:{color:"#a48a15"},scopeName:{color:"#bc5b5b",width:"calc(100% - 82px)",whiteSpace:"nowrap",textOverflow:"ellipsis"},scopeButton:{width:32},scopeValueEditable:{cursor:"pointer"},selectedFrame:{backgroundColor:"#777",color:"white"},splitter:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden",fontSize:12},toolbarScopes:{width:24,display:"inline-block",height:"100%",background:"dark"===e.palette.mode?"#222":"#EEE",verticalAlign:"top"},scopesAfterToolbar:{width:"calc(100% - 24px)",display:"inline-block",height:"100%",verticalAlign:"top"},scopeNameName:{fontWeight:"bold",display:"inline-block",verticalAlign:"top"},scopeNameEqual:{display:"inline-block",color:"dark"===e.palette.mode?"#EEE":"#222",verticalAlign:"top"},scopeNameValue:{verticalAlign:"top",display:"inline-block",color:"#3b709f",whiteSpace:"nowrap"},scopeButtonDel:{padding:0,float:"right"},valueNull:{color:"#a44a24"},valueUndefined:{color:"#a44a24"},valueString:{color:"#1e8816"},valueNumber:{color:"#163c88"},valueBoolean:{color:"#a44a24"},valueObject:{color:"#721b70"},valueNone:{color:"#8a8a8a"},valueFunc:{color:"#ac4343"}})))(ho);class go extends i().Component{constructor(e){super(e),this.fromInstance=(e,t)=>{try{const e=JSON.parse(t.val);if("subscribed"===e.cmd)this.props.socket.sendTo(this.state.instance,"debug",this.props.debugInstance||{scriptName:this.props.src});else if("readyToDebug"===e.cmd){var s;this.mainScriptId=e.scriptId,this.scripts[e.scriptId]=e.script,e.script.startsWith("(async () => {debugger;\n")?this.scripts[e.scriptId]="(async () => {\n".concat(e.script.substring(24)):e.script.startsWith("debugger;")&&(this.scripts[e.scriptId]=e.script.substring(9));const t=JSON.parse(JSON.stringify(this.state.tabs));t[e.scriptId]=this.props.debugInstance?e.url:this.props.src.replace("script.js.","");const a="".concat(Date.now(),".").concat(1e4*Math.random());(null===(s=e.context)||void 0===s?void 0:s.callFrames)&&e.context.callFrames.forEach(((e,t)=>e.id=a+t)),this.setState({starting:!1,finished:!1,selected:this.mainScriptId,script:this.scripts[e.scriptId],tabs:t,currentFrame:0,started:!0,paused:!0,location:this.getLocation(e.context),context:e.context},(()=>this.reinitBreakpoints((()=>{this.readCurrentScope(),this.readExpressions()}))))}else if("paused"===e.cmd){var a,i;const t="".concat(Date.now(),".").concat(1e4*Math.random());(null===(a=e.context)||void 0===a?void 0:a.callFrames)&&e.context.callFrames.forEach(((e,s)=>e.id=t+s));const s=this.getLocation(e.context),o=JSON.parse(JSON.stringify(this.state.tabs)),n=e.context.callFrames[0].url.split("iobroker.javascript");o[s.scriptId]=(n[1]||n[0]).replace("script.js.","");const r={tabs:o,paused:!0,location:s,currentFrame:0,context:e.context,scope:{id:(null===(i=e.context)||void 0===i?void 0:i.callFrames)&&e.context.callFrames[0]&&e.context.callFrames[0].id||0}};r.script=void 0===this.scripts[s.scriptId]?f.I18n.t("loading..."):this.scripts[s.scriptId],r.selected=s.scriptId,this.setState(r,(()=>{this.readCurrentScope(),this.readExpressions(),this.scripts[s.scriptId]||this.sendToInstance({cmd:"source",scriptId:s.scriptId})}))}else if("script"===e.cmd)this.scripts[e.scriptId]=e.text,this.state.selected===e.scriptId&&this.setState({script:this.scripts[e.scriptId]});else if("resumed"===e.cmd)this.setState({paused:!1});else if("log"===e.cmd)if("console"===this.state.toolsTab){this.console=null;const t=[...this.state.console];t.push({text:e.text,severity:e.severity,ts:e.ts}),this.setState({console:t})}else"error"===e.severity?this.setState({logErrors:this.state.logErrors+1}):"warn"===e.severity?this.setState({logWarnings:this.state.logWarnings+1}):this.setState({logs:this.state.logs+1}),this.console=this.console||[...this.state.console],this.console.push({text:e.text,severity:e.severity,ts:e.ts});else if("error"===e.cmd)this.setState({error:e.error});else if("finished"===e.cmd||"debugStopped"===e.cmd)this.setState({finished:!0,starting:!1,started:!0});else if("sb"===e.cmd){const t=JSON.parse(JSON.stringify(this.state.breakpoints));let s=!1;e.breakpoints.filter((e=>e)).forEach((e=>{t.find((t=>t.location.scriptId===e.location.scriptId&&t.location.lineNumber===e.location.lineNumber))||(s=!0,t.push(e))})),s&&window.localStorage.setItem("javascript.tools.bp."+this.props.src,JSON.stringify(t)),s&&this.setState({breakpoints:t})}else if("cb"===e.cmd){const t=JSON.parse(JSON.stringify(this.state.breakpoints));let s=!1;e.breakpoints.filter((e=>void 0!==e&&null!==e)).forEach((e=>{const a=t.find((t=>t.id===e));if(a){const e=t.indexOf(a);t.splice(e,1),s=!0}})),s&&window.localStorage.setItem("javascript.tools.bp."+this.props.src,JSON.stringify(t)),s&&this.setState({breakpoints:t})}else if("scope"===e.cmd){const t=e.scopes.find((e=>"local"===e.type))||null,s=e.scopes.find((e=>"closure"===e.type))||null;console.log(JSON.stringify(s)),this.setState({scopes:{local:t,closure:s,id:"".concat(this.state.scope.id,"_").concat(this.state.currentFrame)}})}else if("setValue"===e.cmd){const t=JSON.parse(JSON.stringify(this.state.scopes));let s;s=0===e.scopeNumber?t.local&&t.local.properties&&t.local.properties.result&&t.local.properties.result.find((t=>t.name===e.variableName)):t.closure&&t.closure.properties&&t.closure.properties.result&&t.closure.properties.result&&t.closure.properties.result.find((t=>t.name===e.variableName)),s&&(s.value.value=e.newValue.value,this.setState({scopes:t}))}else if("expressions"===e.cmd){let t=JSON.parse(JSON.stringify(this.state.expressions)),s=!1;e.expressions.forEach((e=>{const a=t.find((t=>t.name===e.name));a&&(s=!0,a.value=e.result)})),s&&this.setState({expressions:t}),console.log("expressions: "+JSON.stringify(e))}else if("getPossibleBreakpoints"===e.cmd){var o,n,r,l;1===(null===(o=e.breakpoints)||void 0===o||null===(n=o.locations)||void 0===n?void 0:n.length)?this.sendToInstance({breakpoints:e.breakpoints.locations,cmd:"sb"}):null!==(r=e.breakpoints)&&void 0!==r&&null!==(l=r.locations)&&void 0!==l&&l.length?this.setState({queryBreakpoints:e.breakpoints.locations}):window.alert("cannot set")}else console.error("Unknown command: ".concat(JSON.stringify(e)))}catch(c){}};let t=window.localStorage.getItem("javascript.tools.bp."+this.props.src);try{t=t?JSON.parse(t):[]}catch(a){t=[]}let s=window.localStorage.getItem("javascript.tools.exps."+this.props.src);try{s=s?JSON.parse(s):[],s=s.map((e=>({name:e})))}catch(a){s=[]}this.toolSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.toolSize"))||150,this.state={starting:!0,selected:null,tabs:{},script:"",breakpoints:t,expressions:s,running:!1,error:"",started:!1,paused:!0,location:null,toolsTab:window.localStorage.getItem("javascript.tools.tab")||"console",stopOnException:"true"===window.localStorage.getItem("javascript.tools.stopOnException"),console:[],finished:!1,currentFrame:0,scopes:{},queryBreakpoints:null,logErrors:0,logWarnings:0,logs:0},this.scripts={},this.mainScriptId=null}componentDidMount(){new Promise((e=>{this.props.debugInstance?e(this.props.debugInstance.instance):this.props.socket.getObject(this.props.src).then((t=>{var s,a;return e(null===t||void 0===t||null===(s=t.common)||void 0===s||null===(a=s.engine)||void 0===a?void 0:a.replace("system.adapter.",""))}))})).then((e=>this.setState({instance:e},(()=>{this.state.instance?(this.props.socket.setState("".concat(this.state.instance,".debug.from"),{val:'{"cmd": "subscribed"}',ack:!0}),setTimeout((()=>this.props.socket.subscribeState("".concat(this.state.instance,".debug.from"),this.fromInstance)),200)):this.setState({error:"Unknown instance"})}))))}componentWillUnmount(){this.state.instance&&(this.props.socket.unsubscribeState("".concat(this.state.instance,".debug.from"),this.fromInstance),this.props.socket.sendTo(this.state.instance,"debugStop"))}sendToInstance(e){this.props.socket.setState("".concat(this.state.instance,".debug.to"),{val:JSON.stringify(e),ack:!1})}reinitBreakpoints(e){if(this.state.breakpoints.length){let t=JSON.parse(JSON.stringify(this.state.breakpoints));t=t.map((e=>e.location)),this.setState({breakpoints:[]},(()=>{this.sendToInstance({breakpoints:t,cmd:"sb"}),this.state.stopOnException&&this.sendToInstance({cmd:"stopOnException",state:!0}),e&&e()}))}else this.state.stopOnException?(this.sendToInstance({cmd:"stopOnException",state:!0}),e&&e()):e&&e()}getLocation(e){if(e.callFrames){return e.callFrames[0].location}}readCurrentScope(){var e;const t=(null===(e=this.state.context)||void 0===e?void 0:e.callFrames)&&this.state.context.callFrames[this.state.currentFrame];if(t){const e=t.scopeChain.filter((e=>"global"!==e.type));e.length?this.sendToInstance({cmd:"scope",scopes:e}):(this.state.scopes.global||this.state.scopes.local||this.state.scopes.closure)&&this.setState({scopes:{}})}}readExpressions(e){var t;this.state.expressions.length&&null!==(t=this.state.context)&&void 0!==t&&t.callFrames&&this.state.context.callFrames[this.state.currentFrame]&&(void 0!==e?this.sendToInstance({cmd:"expressions",expressions:[this.state.expressions[e]],callFrameId:this.state.context.callFrames[this.state.currentFrame].callFrameId}):this.sendToInstance({cmd:"expressions",expressions:this.state.expressions,callFrameId:this.state.context.callFrames[this.state.currentFrame].callFrameId}))}getTextAtLocation(e){let t=this.state.script.split(/\r\n|\n/)[e.lineNumber],s="";return e.columnNumber>=10?(t=t.substring(e.columnNumber-10,e.columnNumber+20),s="".padStart(10," ")+"\u2191"):(t=t.substring(0,30-e.columnNumber),s="".padStart(e.columnNumber," ")+"\u2191"),[(0,te.jsx)("div",{className:this.props.classes.monospace,children:t},"line"),(0,te.jsx)("div",{className:f.Utils.clsx(this.props.classes.monospace,this.props.classes.arrow),children:s},"arrow")]}renderQueryBreakpoints(){return this.state.queryBreakpoints?(0,te.jsxs)(G.Z,{onClose:()=>this.setState({queryBreakpoints:null}),"aria-labelledby":"bp-dialog-title",open:!0,children:[(0,te.jsx)(J.Z,{id:"bp-dialog-title",children:f.I18n.t("Select breakpoint")}),(0,te.jsx)(w.Z,{children:this.state.queryBreakpoints.map(((e,t)=>(0,te.jsx)(io.Z,{classes:{root:this.props.classes.bpListItem},dense:!0,onClick:()=>{this.sendToInstance({breakpoints:[e],cmd:"sb"}),this.setState({queryBreakpoints:null})},children:(0,te.jsx)(T.Z,{classes:{primary:this.props.classes.bpListPrimary,secondary:this.props.classes.bpListSecondary},primary:this.getTextAtLocation(e)})},t)))})]}):null}renderError(){return this.state.error?(0,te.jsx)(xe,{onClose:()=>this.setState({error:""}),text:this.state.error},"dialogError"):null}closeTab(e,t){t&&t.stopPropagation();const s=JSON.parse(JSON.stringify(this.state.tabs));delete s[e];const a={tabs:s,script:this.scripts[this.mainScriptId],selected:this.mainScriptId};this.state.location&&this.state.location.scriptId!==this.mainScriptId&&(a.location=null),this.setState(a)}renderTabs(){const e=!this.state.tabs||!this.state.started;return(0,te.jsx)(Ge.Z,{component:"div",indicatorColor:"primary",style:{position:"relative",width:"calc(100% - 300px)",display:"inline-block"},value:this.state.selected,onChange:(e,t)=>{this.scripts[t]?this.setState({selected:t,script:this.scripts[t]}):this.setState({selected:t,script:"loading..."},(()=>this.sendToInstance({cmd:"source",scriptId:t})))},scrollButtons:"auto",children:Object.keys(this.state.tabs||[]).map((t=>{let s=t,a=this.state.tabs[t]||"";return this.state.tabs[t]&&(s=this.state.tabs[t].split("/").pop()),s=[(0,te.jsx)("div",{className:f.Utils.clsx(this.props.classes.tabText),children:s},"text"),t!==this.mainScriptId&&(0,te.jsx)("span",{className:this.props.classes.closeButton,children:(0,te.jsx)(S.FU5,{onClick:e=>this.closeTab(t,e),fontSize:"small"},"close")},"icon")],(0,te.jsx)(Ye.Z,{disabled:e,classes:{root:this.props.classes.tabFile},label:s,title:a,value:t},t)}))})}onResume(){this.sendToInstance({cmd:"cont"})}onPause(){this.sendToInstance({cmd:"pause"})}onNext(){this.sendToInstance({cmd:"next"})}onStepIn(){this.sendToInstance({cmd:"step"})}onStepOut(){this.sendToInstance({cmd:"out"})}onRestart(){this.setState({started:!1,starting:!0},(()=>this.props.socket.sendTo(this.state.instance,"debug",this.props.debugInstance||{scriptName:this.props.src})))}onToggleException(){const e=!this.state.stopOnException;window.localStorage.setItem("javascript.tools.stopOnException",e?"true":"false"),this.setState({stopOnException:e},(()=>this.sendToInstance({cmd:"stopOnException",state:e})))}renderToolbar(){const e=!this.state.started;return(0,te.jsxs)(He.Z,{variant:"dense",className:this.props.classes.toolbar,children:[(0,te.jsx)(D.Z,{className:this.props.classes.buttonRestart,disabled:e,onClick:()=>this.onRestart(),title:f.I18n.t("Restart"),size:"medium",children:(0,te.jsx)(S.la_,{})}),!this.state.finished&&this.state.paused?(0,te.jsx)(D.Z,{className:this.props.classes.buttonRun,disabled:e,onClick:()=>this.onResume(),title:f.I18n.t("Resume execution"),size:"medium",children:(0,te.jsx)(S.Nhx,{})}):!this.state.finished&&(0,te.jsx)(D.Z,{disabled:e,className:this.props.classes.buttonPause,onClick:()=>this.onPause(),title:f.I18n.t("Pause execution"),size:"medium",children:(0,te.jsx)(S.hPq,{})}),!this.state.finished&&(0,te.jsx)(D.Z,{className:this.props.classes.buttonNext,disabled:e||!this.state.paused,onClick:()=>this.onNext(),title:f.I18n.t("Go to next line"),size:"medium",children:(0,te.jsx)(S.hdK,{})}),!this.state.finished&&(0,te.jsx)(D.Z,{className:this.props.classes.buttonStep,disabled:e||!this.state.paused,onClick:()=>this.onStepIn(),title:f.I18n.t("Step into function"),size:"medium",children:(0,te.jsx)(S.t9$,{})}),!this.state.finished&&(0,te.jsx)(D.Z,{className:this.props.classes.buttonOut,disabled:e||!this.state.paused,onClick:()=>this.onStepOut(),title:f.I18n.t("Step out from function"),size:"medium",children:(0,te.jsx)(S.InZ,{})}),!this.state.finished&&(0,te.jsx)(D.Z,{className:this.props.classes.buttonException,color:this.state.stopOnException?"primary":"default",disabled:e||!this.state.paused,onClick:()=>this.onToggleException(),title:f.I18n.t("Stop on exception"),size:"medium",children:(0,te.jsx)(S.YTL,{})}),this.renderTabs()]},"toolbar1")}getPossibleBreakpoints(e){const t={...e,columnNumber:1e3};this.sendToInstance({cmd:"getPossibleBreakpoints",start:e,end:t})}toggleBreakpoint(e){let t=this.state.breakpoints.find((t=>t.location.scriptId===this.state.selected&&t.location.lineNumber===e));if(t){const e=JSON.parse(JSON.stringify(this.state.breakpoints));this.setState({breakpoints:e},(()=>this.sendToInstance({breakpoints:[t.id],cmd:"cb"})))}else t={scriptId:this.state.selected,lineNumber:e,columnNumber:0},this.getPossibleBreakpoints(t)}renderCode(){if(this.state.script&&this.state.started){const e=this.state.breakpoints.filter((e=>e.location.scriptId===this.state.selected));return(0,te.jsx)(no,{runningInstances:this.props.runningInstances,socket:this.props.socket,adapterName:this.props.adapterName,scriptName:this.state.tabs[this.state.selected],sourceId:this.state.selected,script:this.state.script,paused:this.state.paused,breakpoints:e,location:this.state.location,themeType:this.props.themeType,themeName:this.props.themeName,onToggleBreakpoint:e=>this.toggleBreakpoint(e)})}}renderFrames(){var e;return this.state.paused?(0,te.jsx)(mo,{currentScriptId:this.state.selected,scopes:this.state.scopes,expressions:this.state.expressions,themeType:this.props.themeType,callFrames:null===(e=this.state.context)||void 0===e?void 0:e.callFrames,currentFrame:this.state.currentFrame,onChangeCurrentFrame:e=>{this.setState({currentFrame:e,scopes:{}},(()=>{this.readCurrentScope(),this.readExpressions()}))},onWriteScopeValue:e=>{this.sendToInstance({cmd:"setValue",variableName:e.variableName,scopeNumber:e.scopeNumber,newValue:e.newValue,callFrameId:e.callFrameId})},onExpressionDelete:e=>{const t=JSON.parse(JSON.stringify(this.state.expressions));t.splice(e,1),this.setState({expressions:t}),window.localStorage.setItem("javascript.tools.exps."+this.props.src,JSON.stringify(t.map((e=>e.name))))},onExpressionAdd:e=>{const t=JSON.parse(JSON.stringify(this.state.expressions));t.push({name:"",value:{value:""}}),this.setState({expressions:t},(()=>e&&e(t.length-1,this.state.expressions[t.length-1])))},onExpressionNameUpdate:(e,t,s)=>{const a=JSON.parse(JSON.stringify(this.state.expressions));if(t){if(a.find((e=>e.name===t)))return s&&s(!1);a[e].name=t}else a.splice(e,1);this.setState({expressions:a},(()=>{t&&this.readExpressions(e),s&&s()})),window.localStorage.setItem("javascript.tools.exps."+this.props.src,JSON.stringify(a.map((e=>e.name))))}}):null}renderConsole(){return(0,te.jsx)(co,{theme:this.props.theme,console:this.state.console,onClearAllLogs:()=>this.setState({console:[],logErrors:0,logWarning:0,logs:0})})}renderTools(){const e=!this.state.tabs||!this.state.started;let t;return t=this.state.logErrors?(0,te.jsx)(Ke.Z,{badgeContent:this.state.logErrors,color:"error",children:(0,te.jsx)("span",{children:f.I18n.t("Console")})}):this.state.logWarnings?(0,te.jsx)(Ke.Z,{badgeContent:this.state.logWarnings,color:"secondary",children:(0,te.jsx)("span",{children:f.I18n.t("Console")})}):this.state.logs?(0,te.jsx)(Ke.Z,{badgeContent:this.state.logs,color:"default",children:(0,te.jsx)("span",{children:f.I18n.t("Console")})}):f.I18n.t("Console"),(0,te.jsxs)("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:[(0,te.jsxs)(Ge.Z,{classes:{root:this.props.classes.tabsRoot},component:"div",indicatorColor:"primary",style:{position:"relative",width:"100%"},value:this.state.toolsTab,onChange:(e,t)=>{const s={toolsTab:t};this.console&&"console"===t&&(s.console=this.console,this.console=null,s.logs=0,s.logWarnings=0,s.logErrors=0),window.localStorage.setItem("javascript.tools.tab",t),this.setState(s)},scrollButtons:"auto",children:[(0,te.jsx)(Ye.Z,{classes:{root:this.props.classes.tabRoot},disabled:e,label:f.I18n.t("Stack"),value:"stack"}),(0,te.jsx)(Ye.Z,{classes:{root:this.props.classes.tabRoot},disabled:e,label:t,value:"console"})]}),(0,te.jsxs)("div",{style:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden"},children:["stack"!==this.state.toolsTab||e?null:this.renderFrames(),"console"!==this.state.toolsTab||e?null:this.renderConsole()]})]})}render(){return(0,te.jsxs)("div",{style:this.props.style,className:f.Utils.clsx(this.props.classes.root,this.props.className),children:[this.state.starting?(0,te.jsx)($e.Z,{}):null,this.renderToolbar(),(0,te.jsxs)(h(),{customClassName:this.props.classes.splitter,primaryMinSize:100,vertical:!0,secondaryInitialSize:this.toolSize,onSecondaryPaneSizeChange:e=>this.toolSize=parseFloat(e),onDragEnd:()=>window.localStorage.setItem("App.toolSize",this.toolSize.toString()),children:[(0,te.jsxs)("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:[this.renderCode(),this.renderQueryBreakpoints()]}),(0,te.jsx)("div",{style:{width:"100%",height:"100%",overflow:"hidden"},children:this.renderTools()})]}),this.renderError()]},"debugger")}}const bo=(0,u.Z)((e=>({root:{width:"100%",height:"calc(100% - ".concat(e.toolbar.height+38+5,"px)"),overflow:"hidden",position:"relative"},toolbar:{minHeight:38,boxShadow:"0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)"},buttonRun:{color:"green"},buttonPause:{color:"orange"},buttonRestart:{color:"darkgreen"},buttonStop:{color:"red"},buttonNext:{color:"blue"},buttonStep:{color:"blue"},buttonOut:{color:"blue"},buttonException:{},tabFile:{textTransform:"inherit",color:"dark"===e.palette.mode?"#DDD":"inherit"},tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},closeButton:{position:"absolute",top:8,right:0,zIndex:10,padding:8,cursor:"pointer"},tabsRoot:{minHeight:24,background:"dark"===e.palette.mode?"#333":"#e6e6e6",color:"dark"===e.palette.mode?"white":"inherit"},tabRoot:{minHeight:24},bpListItem:{borderTop:"1px dashed #bfbfbf44"},monospace:{fontFamily:"Courier New, monospace",whiteSpace:"pre",fontSize:12},arrow:{color:"#fffa4f"},splitter:{height:"calc(100% - 52px)","& .layout-pane":{overflow:"hidden",height:"100%"}}})))(go);var yo=s(99982),vo=s(59665),fo=s(57046);const So=s.p+"static/media/docs.1f96bec81cf08933d921.md";let xo=null;const ko=(e,t)=>e&&"object"===typeof e?e[t]||e.en:e||"",wo=async e=>{const t=f.I18n.getLanguage(),s=await(async e=>{if(xo)return xo;const t=await e.getObjectView("","\u9999","state"),s=await e.getObjectView("","\u9999","channel"),a=await e.getObjectView("","\u9999","device"),i=await e.getObjectView("","\u9999","folder"),o=await e.getObjectView("","\u9999","enum");return xo=Object.values(t).concat(Object.values(s)).concat(Object.values(a)).concat(Object.values(i)).concat(Object.values(o)).reduce(((e,t)=>(e[t._id]=t,e)),{}),xo})(e),a=Object.keys(s).sort(),i=new fo.ZP,o=[],n=[],r=[],l=[];a.forEach((e=>{var t,a,i;"enum"===(null===(t=s[e])||void 0===t?void 0:t.type)?o.push(e):null!==(a=s[e])&&void 0!==a&&null!==(i=a.common)&&void 0!==i&&i.smartName&&l.push(e)})),o.forEach((e=>{e.startsWith("enum.rooms.")?n.push(e):e.startsWith("enum.functions.")&&r.push(e);const t=s[e].common.members;t&&t.length&&t.forEach((e=>{s[e]&&(l.includes(e)||l.push(e))}))}));const c={objects:s,_keysOptional:a,_usedIdsOptional:[],ignoreIndicators:["UNREACH_STICKY"],excludedTypes:["info"]},d=[];l.forEach((e=>{c.id=e;const a=i.detect(c);a&&a.forEach((e=>{const a=e.states.find((e=>e.id)).id;if(d.find((e=>e.id===a)))return;const i={id:a,name:ko(s[a].common.name,t),role:s[a].type,deviceType:e.type,states:e.states.filter((e=>e.id)).map((e=>({id:e.id,name:e.name,role:e.defaultRole,type:s[e.id].common.type,unit:s[e.id].common.unit,read:void 0===s[e.id].common.read||s[e.id].common.read,write:void 0===s[e.id].common.write||s[e.id].common.write})))},o=a.split(".");let l,c;"channel"!==s[a].type&&"state"!==s[a].type||(o.pop(),l=o.join("."),!s[l]||"channel"!==s[l].type&&"folder"!==s[a].type?l=null:(o.pop(),c=o.join("."),(!s[c]||"device"!==s[c].type&&"folder"!==s[a].type)&&(c=null)));const u=n.find((e=>!!s[e].common.members.includes(a)||(!(!l||!s[e].common.members.includes(l))||c&&s[e].common.members.includes(c))));u&&(i.room=ko(s[u].common.name,t));const p=r.find((e=>!!s[e].common.members.includes(a)||(!(!l||!s[e].common.members.includes(l))||c&&s[e].common.members.includes(c))));p&&(i.function=ko(s[p].common.name,t)),d.push(i)}))}));for(const g in d){const e=d[g];if("state"===e.type||"channel"===e.type){const a=e._id.split(".");a.pop();const i=s[a.join(".")];if(!i||"channel"!==i.type&&"device"!==i.type&&"folder"!==i.type){var u;e.common.name=ko((null===i||void 0===i||null===(u=i.common)||void 0===u?void 0:u.name)||e.common.name,t)}else{var p,h;e.common.name=ko((null===(p=i.common)||void 0===p?void 0:p.name)||e.common.name,t),a.pop();const o=s[a.join(".")];var m;if("device"===(null===o||void 0===o?void 0:o.type)&&null!==(h=o.common)&&void 0!==h&&h.icon)e.common.name=ko((null===(m=o.common)||void 0===m?void 0:m.name)||e.common.name,t)}}}return d},Co={ru:"Russian",en:"English",de:"German",es:"Spanish",fr:"French",it:"Italian",pl:"Polish",nl:"Dutch",pt:"Portuguese",uk:"Ukrainian","zh-cn":"Chinese"},jo=()=>(0,te.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 2406 2406",children:[(0,te.jsx)("path",{d:"M1 578.4C1 259.5 259.5 1 578.4 1h1249.1c319 0 577.5 258.5 577.5 577.4V2406H578.4C259.5 2406 1 2147.5 1 1828.6V578.4z",fill:"#74aa9c"}),(0,te.jsx)("path",{d:"M1107.3 299.1c-198 0-373.9 127.3-435.2 315.3C544.8 640.6 434.9 720.2 370.5 833c-99.3 171.4-76.6 386.9 56.4 533.8-41.1 123.1-27 257.7 38.6 369.2 98.7 172 297.3 260.2 491.6 219.2 86.1 97 209.8 152.3 339.6 151.8 198 0 373.9-127.3 435.3-315.3 127.5-26.3 237.2-105.9 301-218.5 99.9-171.4 77.2-386.9-55.8-533.9v-.6c41.1-123.1 27-257.8-38.6-369.8-98.7-171.4-297.3-259.6-491-218.6-86.6-96.8-210.5-151.8-340.3-151.2zm0 117.5-.6.6c79.7 0 156.3 27.5 217.6 78.4-2.5 1.2-7.4 4.3-11 6.1L952.8 709.3c-18.4 10.4-29.4 30-29.4 51.4V1248l-155.1-89.4V755.8c-.1-187.1 151.6-338.9 339-339.2zm434.2 141.9c121.6-.2 234 64.5 294.7 169.8 39.2 68.6 53.9 148.8 40.4 226.5-2.5-1.8-7.3-4.3-10.4-6.1l-360.4-208.2c-18.4-10.4-41-10.4-59.4 0L1024 984.2V805.4L1372.7 604c51.3-29.7 109.5-45.4 168.8-45.5zM650 743.5v427.9c0 21.4 11 40.4 29.4 51.4l421.7 243-155.7 90L597.2 1355c-162-93.8-217.4-300.9-123.8-462.8C513.1 823.6 575.5 771 650 743.5zm807.9 106 348.8 200.8c162.5 93.7 217.6 300.6 123.8 462.8l.6.6c-39.8 68.6-102.4 121.2-176.5 148.2v-428c0-21.4-11-41-29.4-51.4l-422.3-243.7 155-89.3zM1201.7 997l177.8 102.8v205.1l-177.8 102.8-177.8-102.8v-205.1L1201.7 997zm279.5 161.6 155.1 89.4v402.2c0 187.3-152 339.2-339 339.2v-.6c-79.1 0-156.3-27.6-217-78.4 2.5-1.2 8-4.3 11-6.1l360.4-207.5c18.4-10.4 30-30 29.4-51.4l.1-486.8zM1380 1421.9v178.8l-348.8 200.8c-162.5 93.1-369.6 38-463.4-123.7h.6c-39.8-68-54-148.8-40.5-226.5 2.5 1.8 7.4 4.3 10.4 6.1l360.4 208.2c18.4 10.4 41 10.4 59.4 0l421.9-243.7z",fill:"white"})]}),Io=e=>{const[t,s]=(0,a.useState)(window.localStorage.getItem("openai-question")||""),[i,o]=(0,a.useState)(""),[n,r]=(0,a.useState)(!1),[l,c]=(0,a.useState)(!1),[d,u]=(0,a.useState)(!1),[p,h]=(0,a.useState)(!1),m=(0,a.useRef)(null),g=(0,a.useRef)(null),b=(0,a.useRef)(null),y=(0,a.useCallback)((async()=>{let s,a,i;if(m.current?s=m.current:(s=await wo(e.socket),m.current=s,console.log("devices: ".concat(JSON.stringify(s,2,null)))),g.current)a=g.current;else{const t=Object.keys(e.runningInstances);for(let s=0;s(await fetch(So)).text())(),b.current=i),a){c(!0),u(!1);try{const e=new yo.ZP({apiKey:a,dangerouslyAllowBrowser:!0}),n=(await e.chat.completions.create({model:"gpt-3.5-turbo-16k",messages:[{role:"system",content:"You are programmer. Here is a documentation:\n\n".concat(i)},{role:"system",content:"Here is list of devices:\n\n".concat(JSON.stringify(s,null,2))},{role:"user",content:"Write code that do:\n\n".concat(t,"\nReturn only code.\nWrite comments in ").concat(Co[f.I18n.getLanguage()]||"English",".\nYou can call async function directly in the code without encapsulate them in async function as this code will be already executed in async function.\nDo not import any libraries as all functions are already imported.")}]})).choices[0].message,r=n.content.match(/```(javascript|js|typescript)\n?(.*)```(.*)/ms);let l;if(r){if(l=r[2],r[3]){const e=r[3].split("\n").map((e=>e.trim()));for(;""===e[0];)e.shift();l="".concat(e.map((e=>"// ".concat(e))).join("\n"),"\n").concat(l)}}else l=n.content,l.startsWith("`")&&(l=l.substring(1)),l.endsWith("`")&&(l=l.substring(0,l.length-1));console.log(n),o(l)}catch(d){var n,r,l;if(d.response)u(null===(r=d.response.data)||void 0===r||null===(l=r.error)||void 0===l?void 0:l.message);console.error("Cannot request: ".concat(d,", ").concat(JSON.stringify((null===d||void 0===d||null===(n=d.response)||void 0===n?void 0:n.data)||d,null,2)))}c(!1)}else h(!0)}),[t]);return(0,te.jsxs)(te.Fragment,{children:[(0,te.jsx)(lt.IconButton,{"aria-label":"AI",title:f.I18n.t("AI code generator"),className:e.classes.toolbarButtons,size:"medium",onClick:()=>r(!0),children:(0,te.jsx)(jo,{})},"ai"),p&&(0,te.jsxs)(lt.Dialog,{maxWidth:"lg",open:!0,onClose:()=>h(!1),fullWidth:!0,children:[(0,te.jsx)(lt.DialogTitle,{children:f.I18n.t("No Chat GPT Key found")}),(0,te.jsxs)(lt.DialogContent,{style:{display:"flex",flexDirection:"column",gap:8},children:[(0,te.jsx)("div",{children:f.I18n.t("You have to enter OpenAI API key in the configuration of javascript adapter.")}),(0,te.jsx)(lt.Button,{variant:"contained",onClick:()=>{const t=Object.keys(e.runningInstances);window.open("../../#tab-instances/config/".concat(t[0]||"system.adapter.javascript.0"),"_blank"),h(!1)},children:f.I18n.t("Open configuration")})]}),(0,te.jsx)(lt.DialogActions,{children:(0,te.jsx)(lt.Button,{variant:"contained",startIcon:(0,te.jsx)(vo.Close,{}),onClick:()=>h(!1),children:f.I18n.t("Close")})})]}),n&&(0,te.jsxs)(lt.Dialog,{maxWidth:"lg",classes:{paper:e.classes.fullHeightDialog},open:!0,onClose:()=>r(!1),fullWidth:!0,children:[(0,te.jsx)(lt.DialogTitle,{children:f.I18n.t("AI code generator")}),(0,te.jsxs)(lt.DialogContent,{style:{display:"flex",flexDirection:"column",gap:8,height:"100%"},children:[(0,te.jsx)("div",{children:(0,te.jsx)(lt.TextField,{variant:"standard",multiline:!0,autoFocus:!0,disabled:l,fullWidth:!0,onKeyUp:e=>{"Enter"===e.key&&e.ctrlKey&&y()},label:f.I18n.t("Enter your question"),helperText:f.I18n.t("Press Ctrl+Enter to get the answer"),value:t,onChange:e=>{window.localStorage.setItem("openai-question",e.target.value),s(e.target.value)}})}),(0,te.jsx)("div",{children:(0,te.jsx)(lt.Button,{variant:"contained",disabled:l||!t,startIcon:(0,te.jsx)(vo.QuestionMark,{}),onClick:async()=>y(),children:l?(0,te.jsx)(lt.CircularProgress,{size:24}):f.I18n.t("Ask")})}),(0,te.jsx)("div",{children:f.I18n.t("Result")}),(0,te.jsx)("div",{style:{height:"calc(100% - 155px)"},children:d?(0,te.jsx)("div",{style:{color:"#bb0000"},children:d}):(0,te.jsx)(ut,{adapterName:e.adapterName,runningInstances:e.runningInstances,style:{height:"100%",width:"100%",resize:"none"},name:"ai",socket:e.socket,readOnly:!0,checkJs:!0,code:i,isDark:"dark"===e.themeType,language:e.language})})]}),(0,te.jsxs)(lt.DialogActions,{children:[(0,te.jsx)(lt.Button,{color:"grey",variant:"outlined",disabled:!i,startIcon:(0,te.jsx)(vo.FileCopy,{}),onClick:()=>{f.Utils.copyToClipboard(i),window.alert(f.I18n.t("Copied"))},children:f.I18n.t("Copy to clipboard")}),(0,te.jsx)(lt.Button,{color:"primary",variant:"contained",disabled:!i||d,startIcon:(0,te.jsx)(vo.Check,{}),onClick:()=>{e.onAddCode(i),r(!1)},children:f.I18n.t("Use generated code")}),(0,te.jsx)(lt.Button,{color:"grey",variant:"contained",startIcon:(0,te.jsx)(vo.Close,{}),onClick:()=>r(!1),children:f.I18n.t("Close")})]})]})]})},To={Blockly:U,"Javascript/js":L,Rules:W,def:L,"TypeScript/ts":Z},Do="#02a102",Ao="#70aae9",No=P.Z[400],Eo=F.Z[400];class Oo extends i().Component{constructor(e){super(e),this.onInstanceChanged=(e,t)=>{if(e)if(!t&&window.main.instances.includes[e]){delete window.main.objects[e];const t=window.main.instances.indexOf(e);window.main.instances.splice(t,1)}else t&&"instance"===t.type&&(window.main.instances.includes(e)||(window.main.instances.push(e),window.main.instances.sort()),window.main.objects[e]=t)},this.onBrowserClose=e=>{const t=Object.keys(this.scripts).find((e=>JSON.stringify(this.scripts[e])!==JSON.stringify(this.props.objects[e].common)));if(t){console.log("Script "+JSON.stringify(this.scripts[t]));const s=f.I18n.t("Configuration not saved.");return(e=e||window.event)&&(e.returnValue=s),s}},this.setTourStep=e=>this.setState({tourStep:e});const t=window.localStorage.getItem("Editor.selected")||"";let s=window.localStorage.getItem("Editor.editing")||"[]";try{s=JSON.parse(s)}catch(a){s=[]}t&&!s.includes(t)&&s.push(t),this.tabsRef=i().createRef(),this.state={selected:t,editing:s,changed:{},blockly:null,rules:null,debugEnabled:!1,verboseEnabled:!1,showCompiledCode:!1,showSelectId:!1,showCron:!1,showScript:!1,showAstro:!1,astroEvents:null,insert:"",searchText:"",themeType:this.props.themeType,visible:e.visible,cmdToBlockly:"",cmdToRules:"",menuOpened:!!this.props.menuOpened,menuTabsOpened:!1,menuTabsAnchorEl:null,runningInstances:this.props.runningInstances||{},showDebugMenu:!1,toast:"",instancesLoaded:!1,isTourOpen:"true"!==window.localStorage.getItem("tour"),tourStep:Ws,showAdapterDebug:!1},this.setChangedInAdmin(),this.selectId={initValue:null,callback:null},this.cron={initValue:null,callback:null},this.scriptDialog={initValue:null,callback:null,args:null,isReturn:!1},window.systemLang=f.I18n.getLanguage(),window.main={objects:{},getObject:(e,t)=>this.props.socket.getObject(e).then((e=>t&&t(null,e))).catch((e=>t&&t(e))),instances:[],selectIdDialog:(e,t,s)=>{"function"===typeof t&&(s=t,t=null),this.selectId.callback=s,this.selectId.initValue=e,this.selectId.type=t,this.setState({showSelectId:!0})},cronDialog:(e,t)=>{this.cron.callback=t,this.cron.initValue=e,this.setState({showCron:!0})},showScriptDialog:(e,t,s,a)=>{this.scriptDialog.callback=a,this.scriptDialog.initValue=e,this.scriptDialog.args=t,this.scriptDialog.isReturn=s||!1,this.setState({showScript:!0})}},this.objects=e.objects,this.scripts={},!this.state.selected&&this.state.editing.length&&(this.state.selected=this.state.editing[0]),this.getAllAdapterInstances().then((()=>{this.props.onSelectedChange&&this.state.selected&&setTimeout((()=>this.props.onSelectedChange(this.state.selected,this.state.editing)),100)}))}getAllAdapterInstances(){return this.props.socket.getAdapterInstances(!0).then((e=>{const t={},s=e.map((e=>(t[e._id]=e,e._id)));window.main.objects=t,window.main.instances=s,this.setState({instancesLoaded:!0})}))}setChangedInAdmin(){const e=Object.keys(this.state.changed).find((e=>this.state.changed[e]));"undefined"!==typeof window.parent&&window.parent&&(window.parent.configNotSaved=!!e)}componentDidMount(){window.addEventListener("beforeunload",this.onBrowserClose,!1),this.props.socket.subscribeObject("system.adapter.*",this.onInstanceChanged)}componentWillUnmount(){window.removeEventListener("beforeunload",this.onBrowserClose),this.props.socket.unsubscribeObject("system.adapter.*",this.onInstanceChanged)}removeNonExistingScripts(e,t){e=e||this.props,t=t||{};let s=!1;if(this.state.editing){if(this.state.editing.find((t=>!e.objects[t]))){const e=JSON.parse(JSON.stringify(this.state.editing));for(let t=e.length-1;t>=0;t--)this.objects[e[t]]||(s=!0,e.splice(t,1));s&&(t.editing=e),this.state.selected&&!this.objects[this.state.selected]&&(s=!0,t.selected=e[0]||"",this.scripts[t.selected]&&(this.state.blockly!==("Blockly"===this.scripts[t.selected].engineType)&&(t.blockly="Blockly"===this.scripts[t.selected].engineType,s=!0),this.state.rules!==("Rules"===this.scripts[t.selected].engineType)&&(t.rules="Rules"===this.scripts[t.selected].engineType,s=!0),this.state.verboseEnabled!==this.scripts[t.selected].verbose&&(t.verboseEnabled=this.scripts[t.selected].verbose,s=!0),this.state.debugEnabled!==this.scripts[t.selected].debug&&(t.debugEnabled=this.scripts[t.selected].debug,s=!0)))}}return s}UNSAFE_componentWillReceiveProps(e){const t={};let s=!1;if(JSON.stringify(e.runningInstances)!==JSON.stringify(this.state.runningInstances)&&(s=!0,t.runningInstances=e.runningInstances),this.state.menuOpened!==e.menuOpened&&(t.menuOpened=e.menuOpened,s=!0),this.state.themeType!==e.themeType&&(t.themeType=e.themeType,s=!0),this.removeNonExistingScripts(e,t)&&(s=!0),this.state.searchText!==e.searchText&&(t.searchText=e.searchText,s=!0),this.objects!==e.objects){this.objects=e.objects,window.main.objects=e.objects,Object.keys(this.scripts).forEach((e=>{const t=this.scripts[e].source;this.scripts[e]=JSON.parse(JSON.stringify(this.objects[e].common)),this.scripts[e].source=t})),this.state.selected&&this.objects[this.state.selected]&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.objects[this.state.selected].common)),this.state.blockly!==("Blockly"===this.scripts[this.state.selected].engineType)&&(t.blockly="Blockly"===this.scripts[this.state.selected].engineType,s=!0),this.state.rules!==("Rules"===this.scripts[this.state.selected].engineType)&&(t.rules="Rules"===this.scripts[this.state.selected].engineType,s=!0),this.state.verboseEnabled!==this.scripts[this.state.selected].verbose&&(t.verboseEnabled=this.scripts[this.state.selected].verbose,s=!0),this.state.debugEnabled!==this.scripts[this.state.selected].debug&&(t.debugEnabled=this.scripts[this.state.selected].debug,s=!0));const a=JSON.parse(JSON.stringify(this.state.editing));for(let e=a.length-1;e>=0;e--)this.objects[a[e]]||(s=!0,a.splice(e,1),void 0!==this.state.changed[a[e]]&&(t.changed=t.changed||JSON.parse(JSON.stringify(this.state.changed)),delete t.changed[a[e]]));this.state.selected&&!this.objects[this.state.selected]&&(t.selected=a[0]||""),s&&(t.editing=a)}else for(const a in this.scripts)if(this.scripts.hasOwnProperty(a))if(this.objects[a]&&this.objects[a].common){const e=this.scripts[a].source,i=JSON.parse(JSON.stringify(this.scripts[a]));i.source=this.objects[a].common.source,JSON.stringify(i)!==JSON.stringify(this.objects[a].common)&&(this.scripts[a]=JSON.parse(JSON.stringify(this.objects[a].common)),this.scripts[a].source=e),e!==this.objects[a].common.source?this.state.changed[a]?this.objects[a].from&&this.objects[a].from.startsWith("system.adapter.javascript.")&&(this.objects[a].from="system.adapter.admin.0",this.setState({toast:f.I18n.t("Script %s was modified on disk.",a.split(".").pop())})):this.scripts[a].source=this.objects[a].common.source:this.state.changed[a]&&(t.changed=t.changed||JSON.parse(JSON.stringify(this.state.changed)),t.changed[a]=!1,s=!0)}else if(delete this.scripts[a],this.state.selected===a){if(-1!==this.state.editing.indexOf(a)){const e=JSON.parse(JSON.stringify(this.state.editing)),i=e.indexOf(a);-1!==i&&(e.splice(i,1),t.editing=e,s=!0)}t.selected=this.state.editing[0]||"",s=!0}if(this.state.selected!==e.selected&&e.selected){e.selected&&(this.scripts[e.selected]=this.scripts[e.selected]||JSON.parse(JSON.stringify(this.props.objects[e.selected].common)));const a=this.props.objects[e.selected]&&this.props.objects[e.selected].common,i=a&&JSON.stringify(this.scripts[e.selected])!==JSON.stringify(a),o=JSON.parse(JSON.stringify(this.state.editing));e.selected&&-1===o.indexOf(e.selected)&&(o.push(e.selected),this.props.onSelectedChange(e.selected,o),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(o))),s=!0,t.changed=t.changed||JSON.parse(JSON.stringify(this.state.changed)),t.changed[e.selected]=i,t.editing=o,t.selected=e.selected,t.blockly="Blockly"===this.scripts[e.selected].engineType,t.rules="Rules"===this.scripts[e.selected].engineType,t.verboseEnabled=this.scripts[e.selected].verbose,t.debugEnabled=this.scripts[e.selected].debug,t.showCompiledCode=!1}this.state.visible!==e.visible&&(s=!0,t.visible=e.visible),s&&this.setState(t,(()=>this.setChangedInAdmin()))}onRestart(){this.props.onRestart&&this.props.onRestart(this.state.selected)}onStartStop(){const e=JSON.parse(JSON.stringify(this.scripts[this.state.selected]));e.enabled=!e.enabled,this.props.onChange&&this.props.onChange(this.state.selected,e)}onSave(){if(this.state.isTourOpen&&this.state.tourStep===Qs&&(this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true")),this.state.changed[this.state.selected]){const e=JSON.parse(JSON.stringify(this.state.changed));e[this.state.selected]=!1,this.setState({changed:e},(()=>{this.setChangedInAdmin(),this.props.onChange&&this.props.onChange(this.state.selected,this.scripts[this.state.selected])}))}}onSaveAll(){const e=JSON.parse(JSON.stringify(this.state.changed));Object.keys(e).forEach((t=>{e[t]&&(e[t]=!1,this.props.onChange&&this.props.onChange(t,this.scripts[t]))})),this.setState({changed:e},(()=>this.setChangedInAdmin()))}onCancel(){this.scripts[this.state.selected]=JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));const e=JSON.parse(JSON.stringify(this.state.changed));e[this.state.selected]=!1,this.setState({changed:e},(()=>this.setChangedInAdmin()))}onRegisterSelect(e){this.getSelect=e}onConvertBlockly2JS(){this.showConfirmDialog(f.I18n.t("It will not be possible to revert this operation."),(e=>{if(e){this.scripts[this.state.selected].engineType="Javascript/js";const e=this.scripts[this.state.selected].source.split("\n");e.pop(),this.scripts[this.state.selected].source=e.join("\n");const t=this.state.selected,s=JSON.parse(JSON.stringify(this.state.changed));s[this.state.selected]=!0,this.setState({changed:s,blockly:!1,selected:""},(()=>{this.setChangedInAdmin(),setTimeout((()=>this.setState({selected:t})),100)}))}}))}onChange(e){void 0!==(e=e||{}).script&&(this.scripts[this.state.selected].source=e.script),void 0!==e.debug&&(this.scripts[this.state.selected].debug=e.debug),void 0!==e.verbose&&(this.scripts[this.state.selected].verbose=e.verbose);const t=JSON.stringify(this.scripts[this.state.selected])!==JSON.stringify(this.props.objects[this.state.selected].common);if(t!==(this.state.changed[this.state.selected]||!1)){const e=JSON.parse(JSON.stringify(this.state.changed));e[this.state.selected]=t,this.objects[this.state.selected].from="system.adapter.admin.0",this.setState({changed:e},(()=>this.setChangedInAdmin()))}}onTabChange(e,t){if(this.props.debugMode)return;window.localStorage&&window.localStorage.setItem("Editor.selected",t);const s=this.scripts[t]||this.props.objects[t]&&this.props.objects[t].common;this.setState({selected:t,rules:"Rules"===s.engineType,blockly:"Blockly"===s.engineType,showCompiledCode:!1,verboseEnabled:s.verbose,debugEnabled:s.debug}),this.props.onSelectedChange&&this.props.onSelectedChange(t,this.state.editing)}isScriptChanged(e){return this.scripts[e]&&this.props.objects[e]&&JSON.stringify(this.scripts[e])!==JSON.stringify(this.props.objects[e].common)}onTabClose(e,t){t&&t.stopPropagation();const s=this.state.editing.indexOf(e);if(this.state.editing.includes(e))if(this.isScriptChanged(e))this.showConfirmDialog(f.I18n.t("Discard changes for %s",this.props.objects[e].common.name),(t=>{t&&(delete this.scripts[e],this.onTabClose(e))}));else{const t=JSON.parse(JSON.stringify(this.state.editing));t.splice(s,1);const a={editing:t};if(e===this.state.selected?t.length?0===s||1===t.length?a.selected=t[0]:a.selected=t[s-1]:a.selected="":this.state.selected&&!t.length&&(a.selected=""),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(t)),void 0!==a.selected){a.changed=a.changed||JSON.parse(JSON.stringify(this.state.changed)),a.changed[a.selected]=this.isScriptChanged(a.selected);const e=a.selected&&(this.scripts[a.selected]||this.props.objects[a.selected]&&this.props.objects[a.selected].common);a.blockly=!!e&&"Blockly"===e.engineType,a.rules=!!e&&"Rules"===e.engineType,a.verboseEnabled=!!e&&e.verbose,a.debugEnabled=!!e&&e.debug,a.showCompiledCode=!1}this.setState(a,(()=>{this.setChangedInAdmin(),void 0!==a.selected?(this.props.onSelectedChange&&this.props.onSelectedChange(a.selected,this.state.editing),window.localStorage&&window.localStorage.setItem("Editor.selected",a.selected)):this.props.onSelectedChange&&this.props.onSelectedChange(this.state.selected,this.state.editing)}))}}showConfirmDialog(e,t){this.confirmCallback=t,this.setState({confirm:e})}sendCommandToBlockly(e){this.setState({cmdToBlockly:e},(()=>setTimeout((()=>this.setState({cmdToBlockly:""})),200)))}sendCommandToRules(e){this.setState({cmdToRules:e},(()=>setTimeout((()=>this.setState({cmdToRules:""})),200)))}static getText(e){return"object"===typeof e?e[f.I18n.getLanguage()]||e.en:e}getScriptFullName(e){const t=e.split(".");t.shift(),t.shift();const s=[];let a="script.js";for(let i=0;ithis.onTabChange(e,t),indicatorColor:"primary",style:{position:"relative",marginLeft:10,width:this.state.editing.length>1?"calc(100% - 50px)":"100%",display:"inline-block"},textColor:"primary",variant:"scrollable",scrollButtons:"auto",children:[this.state.editing.map((e=>{if(this.props.objects[e]){let t=Oo.getText(this.props.objects[e].common.name)||"",s=this.getScriptFullName(e);t.length>18&&(t="".concat(t.substring(0,15),"..."));const a=this.props.objects[e].common&&this.scripts[e]&&this.props.objects[e].common.source!==this.scripts[e].source,i=[(0,te.jsx)("div",{className:f.Utils.clsx(this.props.classes.tabText,this.isScriptChanged(e)&&this.props.classes.tabChanged),children:t},"text"),a?(0,te.jsx)("span",{className:this.props.classes.tabChangedIcon,children:"\u25a3"},"changedSign"):null,!this.props.debugInstance&&(!this.props.debugMode||this.state.selected!==e)&&(0,te.jsx)(D.Z,{onClick:t=>this.onTabClose(e,t),className:this.props.classes.closeButton,size:"small",component:"span",children:(0,te.jsx)(S.FU5,{})},"icon")];return(0,te.jsx)(Ye.Z,{disabled:this.props.debugInstance||this.state.selected!==e&&this.props.debugMode,wrapped:!0,component:"div",iconPosition:"start",icon:(0,te.jsx)("img",{alt:"",src:To[this.props.objects[e].common.engineType]||To.def,className:this.props.classes.tabIcon},"icon"),href:"#".concat(e),label:i,className:this.props.classes.tabButton,value:e,title:s,classes:{wrapper:this.props.classes.tabButtonWrapper}},e)}{const t=[(0,te.jsx)("div",{className:f.Utils.clsx(this.props.classes.tabText,this.isScriptChanged(e)&&this.props.classes.tabChanged),children:e.split(".").pop()},"text"),(0,te.jsx)(D.Z,{onClick:t=>this.onTabClose(e,t),className:this.props.classes.closeButton,size:"small",component:"span",children:(0,te.jsx)(S.FU5,{})},"icon")];return(0,te.jsx)(Ye.Z,{wrapped:!0,component:"div",href:"#"+e,label:t,value:e,classes:{wrapper:this.props.classes.tabButtonWrapper}},e)}})),this.props.debugInstance?(0,te.jsx)(Ye.Z,{disabled:!1,wrapped:!0,component:"div",href:"#".concat(this.props.debugInstance.adapter),label:this.props.debugInstance.adapter,className:this.props.classes.tabButton,value:this.props.debugInstance.adapter,title:this.props.debugInstance.adapter,classes:{wrapper:this.props.classes.tabButtonWrapper}},this.props.debugInstance.adapter):""]},"tabs1"),this.state.editing.length>1?(0,te.jsx)(D.Z,{href:"#","aria-label":"Close all but current",className:this.props.classes.tabMenuButton,title:f.I18n.t("Close all but current"),"aria-haspopup":"false",onClick:e=>{const t=[this.state.selected];Object.keys(this.scripts).forEach((e=>e!==this.state.selected&&JSON.stringify(this.scripts[e])!==JSON.stringify(this.props.objects[e].common)&&t.push(e))),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(t)),this.setState({menuTabsOpened:!1,menuTabsAnchorEl:null,editing:t})},size:"medium",children:(0,te.jsx)(S.ULn,{})},"menuButton"):null]:(0,te.jsx)("div",{className:this.props.classes.toolbar,children:(0,te.jsxs)(V.Z,{color:"grey",disabled:!0,className:this.props.classes.hintButton,href:"",children:[(0,te.jsx)("span",{children:f.I18n.t("Click on this icon")},"select2"),(0,te.jsx)(S.jzb,{className:this.props.classes.hintIcon},"select3"),(0,te.jsx)("span",{children:f.I18n.t("for edit or create script")},"select4")]},"select1")},"tabs2")}getDebugMenu(){return this.state.showDebugMenu?(0,te.jsxs)(A.Z,{id:"menu-debug",anchorEl:this.state.menuDebugAnchorEl,open:this.state.showDebugMenu,onClose:()=>this.setState({showDebugMenu:!1,menuDebugAnchorEl:null}),PaperProps:{style:{maxHeight:360}},children:[(0,te.jsxs)(N.Z,{title:f.I18n.t("debug_help"),onClick:e=>{e.stopPropagation(),e.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,debugEnabled:!this.state.debugEnabled},(()=>this.onChange({debug:this.state.debugEnabled})))},children:[(0,te.jsx)(Xe.Z,{checked:this.state.debugEnabled}),(0,te.jsx)(S.qXL,{className:this.props.classes.menuIcon,style:{color:Do}}),f.I18n.t("debug_label")]},"debugEnabled"),(0,te.jsxs)(N.Z,{title:f.I18n.t("verbose_help"),onClick:e=>{e.stopPropagation(),e.preventDefault(),this.setState({showDebugMenu:!1,menuDebugAnchorEl:null,verboseEnabled:!this.state.verboseEnabled},(()=>this.onChange({verbose:this.state.verboseEnabled})))},children:[(0,te.jsx)(Xe.Z,{checked:this.state.verboseEnabled}),(0,te.jsx)(S.Yo8,{className:this.props.classes.menuIcon,style:{color:Ao}}),f.I18n.t("verbose_label")]},"verboseEnabled")]},"menuDebug"):null}getDebugBadge(){return[this.state.debugEnabled&&this.state.verboseEnabled&&(0,te.jsx)(S.qXL,{className:this.props.classes.menuIcon,style:{color:Ao}},"DebugVerbose"),this.state.debugEnabled&&!this.state.verboseEnabled&&(0,te.jsx)(S.qXL,{className:this.props.classes.menuIcon,style:{color:Do}},"DebugNoVerbose"),!this.state.debugEnabled&&this.state.verboseEnabled&&(0,te.jsx)(S.Yo8,{className:this.props.classes.menuIcon,style:{color:Ao}},"noDebugVerbose")]}getAskAboutDebug(){return this.state.askAboutDebug?(0,te.jsx)(f.Confirm,{onClose:()=>{this.setState({askAboutDebug:!1},(()=>this.props.onDebugModeChange(!0)))},ok:f.I18n.t("Yes"),cancel:f.I18n.t("Cancel"),text:f.I18n.t("The script will be stopped and must be activated manually after debugging. Continue?")}):null}getToolbar(){const e=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine],t=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].enabled;if(this.state.selected){const s=Object.keys(this.state.changed).filter((e=>this.state.changed[e])).length,a=this.state.changed[this.state.selected];return(0,te.jsxs)(He.Z,{variant:"dense",className:this.props.classes.toolbar,children:[!this.props.debugInstance&&this.state.menuOpened&&this.props.onLocate&&(0,te.jsx)(D.Z,{className:this.props.classes.toolbarButtons,title:f.I18n.t("Locate file"),onClick:()=>this.props.onLocate(this.state.selected),size:"medium",children:(0,te.jsx)(S.A_X,{})},"locate"),!this.props.debugInstance&&!a&&e&&(0,te.jsx)(D.Z,{disabled:this.props.debugMode,variant:"contained",className:this.props.classes.toolbarButtons,onClick:()=>this.onRestart(),title:f.I18n.t("Restart"),size:"medium",children:(0,te.jsx)(S.la_,{})},"restart"),!this.props.debugInstance&&!a&&(0,te.jsx)(D.Z,{disabled:this.props.debugMode,variant:"contained",className:this.props.classes.toolbarButtons,onClick:()=>this.onStartStop(),title:t?f.I18n.t("Pause script"):f.I18n.t("Run script"),size:"medium",style:{color:t?No:Eo},children:t?(0,te.jsx)(S.hPq,{}):(0,te.jsx)(S.Nhx,{})},"start-stop"),!this.props.debugInstance&&!a&&!t&&(0,te.jsx)("span",{className:this.props.classes.notRunning,children:f.I18n.t("Script is not running")}),!a&&t&&!e&&(0,te.jsx)("span",{className:this.props.classes.notRunning,children:f.I18n.t("Instance is disabled")}),a&&(0,te.jsxs)(V.Z,{color:"grey",variant:"contained",className:f.Utils.clsx(this.props.classes.textButton,this.props.classes.saveButton,"button-save"),onClick:()=>this.onSave(),children:[f.I18n.t("Save"),(0,te.jsx)(S.tfk,{className:this.props.classes.textIcon})]},"save"),(s>1||1===s&&!a)&&(0,te.jsxs)(V.Z,{color:"grey",variant:"contained",className:this.props.classes.textButton,onClick:()=>this.onSaveAll(),children:[f.I18n.t("Save all"),(0,te.jsx)(S.tfk,{className:this.props.classes.textIcon})]},"saveall"),a&&(0,te.jsxs)(V.Z,{color:"grey",variant:"contained",className:this.props.classes.textButton,onClick:()=>this.onCancel(),children:[f.I18n.t("Cancel"),(0,te.jsx)(S.B4e,{className:this.props.classes.textIcon})]},"cancel"),(0,te.jsx)("div",{style:{flex:2}}),this.state.blockly&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"Export Blocks",title:f.I18n.t("Export blocks"),className:this.props.classes.toolbarButtons,onClick:()=>this.sendCommandToBlockly("export"),size:"medium",children:(0,te.jsx)(z.u$v,{})},"export"),this.state.blockly&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"Import Blocks",title:f.I18n.t("Import blocks"),className:this.props.classes.toolbarButtons,onClick:()=>this.sendCommandToBlockly("import"),size:"medium",children:(0,te.jsx)(z.Xur,{})},"import"),this.state.blockly&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"Check code",title:f.I18n.t("Check blocks"),className:this.props.classes.toolbarButtons,onClick:()=>this.sendCommandToBlockly("check"),size:"medium",children:(0,te.jsx)(z.gHv,{})},"check"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"create CRON",title:f.I18n.t("Create or edit CRON or time wizard"),className:this.props.classes.toolbarButtons,onClick:()=>this.setState({showCron:!0}),size:"medium",children:(0,te.jsx)(z.qyc,{})},"select-cron"),this.scripts[this.state.selected]&&"Blockly"!==this.scripts[this.state.selected].engineType&&"Rules"!==this.scripts[this.state.selected].engineType?(0,te.jsx)(Io,{adapterName:this.props.adapterName,socket:this.props.socket,runningInstances:this.state.runningInstances,classes:this.props.classes,themeType:this.state.themeType,language:"TypeScript/ts"===this.scripts[this.state.selected].engineType?"typescript":"javascript",onAddCode:e=>this.setState({insert:e})}):null,(0,te.jsx)(D.Z,{"aria-label":"Show astronomical events",title:f.I18n.t("Show astronomical events"),className:this.props.classes.toolbarButtons,disabled:!e,onClick:()=>{this.setState({showAstro:!0,astroEvents:null}),this.props.socket.sendTo(this.scripts[this.state.selected].engine.replace("system.adapter.",""),"calcAstroAll",{}).then((e=>this.setState({astroEvents:e})))},size:"medium",children:(0,te.jsx)(S.Gd0,{})},"show-astro"),!this.props.debugMode&&!this.state.blockly&&!this.state.rules&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"select ID",title:f.I18n.t("Insert object ID"),className:this.props.classes.toolbarButtons,onClick:()=>this.setState({showSelectId:!0}),size:"medium",children:(0,te.jsx)(z.W95,{})},"select-id"),this.state.blockly&&!this.state.rules&&this.state.showCompiledCode&&(0,te.jsx)(V.Z,{color:"grey","aria-label":"convert to javascript",title:f.I18n.t("Convert blockly to javascript for ever."),onClick:()=>this.onConvertBlockly2JS(),children:"Blockly=>JS"},"convert2js"),this.state.rules&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"Export Blocks",title:f.I18n.t("Export blocks"),className:this.props.classes.toolbarButtons,onClick:()=>this.sendCommandToRules("export"),size:"medium",children:(0,te.jsx)(z.u$v,{})},"export"),this.state.rules&&!this.state.showCompiledCode&&(0,te.jsx)(D.Z,{"aria-label":"Import Blocks",title:f.I18n.t("Import blocks"),className:this.props.classes.toolbarButtons,onClick:()=>this.sendCommandToRules("import"),size:"medium",children:(0,te.jsx)(z.Xur,{})},"import"),this.props.expertMode&&!a&&(this.props.debugMode||!this.state.blockly&&!this.state.rules||(this.state.blockly||this.state.rules)&&this.state.showCompiledCode)&&(0,te.jsx)(D.Z,{className:this.props.classes.toolbarButtons,color:this.props.debugMode?"primary":"default",disabled:!this.props.debugMode&&!e,onClick:()=>{!this.props.debugMode&&t?this.setState({askAboutDebug:!0}):this.props.onDebugModeChange(!this.props.debugMode)},size:"medium",children:(0,te.jsx)(S.qXL,{style:{fontSize:32}})}),(this.state.blockly||this.state.rules)&&(0,te.jsx)(V.Z,{"aria-label":"blockly",title:f.I18n.t("Show javascript code"),className:f.Utils.clsx(this.props.classes.toolbarButtons,"button-js-code",this.props.debugMode&&this.props.classes.toolbarButtonsDisabled),color:this.state.showCompiledCode?"secondary":"inherit",disabled:this.props.debugMode,style:{padding:"0 5px"},onClick:()=>{this.props.debugMode||(this.setState({showCompiledCode:!this.state.showCompiledCode}),this.state.isTourOpen&&this.state.tourStep===Ys&&this.setState({tourStep:Ks}),this.state.isTourOpen&&this.state.tourStep===Ks&&this.setState({tourStep:Qs}))},children:(0,te.jsx)("img",{alt:this.state.blockly?"blockly2js":"rules2js",src:this.state.blockly?"data:image/png;base64,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":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAeCAYAAADXRcu0AAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAfpaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwMiA3OS4xNjQ0NjAsIDIwMjAvMDUvMTItMTY6MDQ6MTcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4yIChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMS0wMS0zMFQwOTo0Njo0MCswMzowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjEtMDItMjVUMDk6NTA6MzIrMDM6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDItMjVUMDk6NTA6MzIrMDM6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0iQWRvYmUgUkdCICgxOTk4KSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NTUwYTA2OS0wNjQ3LTQxM2ItOWI5MC02MjYxMjBjNDg1MzMiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkYTliOGE0YS01MzMzLTc1NDgtYjUxZi01YTI2NWU4NDU3ZjUiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplNzdmMTM3Ni0xYWRiLTQ5ZTktYmM2NS1hOTQxMjExMGQ0YzAiPiA8cGhvdG9zaG9wOlRleHRMYXllcnM+IDxyZGY6QmFnPiA8cmRmOmxpIHBob3Rvc2hvcDpMYXllck5hbWU9IlJVTEVTIiBwaG90b3Nob3A6TGF5ZXJUZXh0PSJSVUxFUyIvPiA8L3JkZjpCYWc+IDwvcGhvdG9zaG9wOlRleHRMYXllcnM+IDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDxyZGY6QmFnPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMjg5NDQwYi1hMjJlLWMxNGEtOGRhMy1jMmI4NTA1YjJhMjA8L3JkZjpsaT4gPC9yZGY6QmFnPiA8L3Bob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplNzdmMTM3Ni0xYWRiLTQ5ZTktYmM2NS1hOTQx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"})},"blockly-code"),(0,te.jsx)(D.Z,{disabled:this.props.debugMode,"aria-label":"Debug menu",title:f.I18n.t("Debug options"),className:this.props.classes.toolbarButtons,onClick:e=>this.setState({showDebugMenu:!0,menuDebugAnchorEl:e.currentTarget}),size:"medium",children:(0,te.jsx)(Ke.Z,{className:this.props.classes.badgeMargin,badgeContent:this.getDebugBadge(),children:(0,te.jsx)(S._u1,{})})},"debug")]},"toolbar1")}return null}getScriptEditor(){return this.props.debugMode||!this.state.selected||!this.props.objects[this.state.selected]||null===this.state.blockly||this.state.blockly&&!this.state.showCompiledCode||this.state.rules&&!this.state.showCompiledCode?null:(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),(0,te.jsx)("div",{className:this.props.classes.editorDiv,children:(0,te.jsx)(ut,{name:this.state.selected,adapterName:this.props.adapterName,insert:this.state.insert,onInserted:()=>this.setState({insert:""}),onForceSave:()=>this.onSave(),searchText:this.state.searchText,onRegisterSelect:e=>this.onRegisterSelect(e),readOnly:this.state.showCompiledCode,changed:this.state.changed[this.state.selected],code:this.scripts[this.state.selected].source||"",isDark:"dark"===this.state.themeType,socket:this.props.socket,runningInstances:this.state.runningInstances,onChange:e=>this.onChange({script:e}),language:"TypeScript/ts"===this.scripts[this.state.selected].engineType?"typescript":"javascript"},"scriptEditor1")},"scriptEditorDiv"))}getBlocklyEditor(){return!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly&&!this.state.showCompiledCode&&this.state.visible?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),(0,te.jsx)("div",{className:this.props.classes.editorDiv,children:(0,te.jsx)(Tt,{command:this.state.cmdToBlockly,themeType:this.state.themeType,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",scriptId:this.state.selected,onChange:e=>this.onChange({script:e})},"BlocklyEditor")},"blocklyEditorDiv")):null}getRulesEditor(){if(!this.props.debugMode&&this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.rules&&!this.state.showCompiledCode&&this.state.visible){this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));const e=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine],t=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].enabled;return(0,te.jsx)("div",{className:f.Utils.clsx(this.props.classes.editorDiv),children:(0,te.jsx)(ao,{scriptId:this.state.selected,setTourStep:this.setTourStep,tourStep:this.state.tourStep,isTourOpen:this.state.isTourOpen,changed:this.state.changed[this.state.selected],running:e&&t,command:this.state.cmdToRules,themeType:this.state.themeType,themeName:this.props.themeName,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",onChange:e=>this.onChange({script:e})},"flowEditor")},"flowEditorDiv")}return null}getConfirmDialog(){return this.state.confirm?(0,te.jsx)(f.Confirm,{text:this.state.confirm,onClose:e=>{if(this.confirmCallback){const t=this.confirmCallback;this.confirmCallback=null,t(e)}this.setState({confirm:""})}},"dialogConfirm1"):null}getSelectIdDialog(){if(this.state.showSelectId){var e;const t=["state","channel","device","adapter","instance","enum","host","config","script","user","group"];let s=this.selectId.callback?this.selectId.initValue||"":this.getSelect?this.getSelect():"",a=s.indexOf("/*");-1!==a&&(s=s.substring(0,a)),a=s.indexOf("//"),-1!==a&&(s=s.substring(0,a));let i=s.match(/"([^"]+)"/);return i&&(s=i[1]),i=s.match(/'([^']+)'/),i&&(s=i[1]),(0,te.jsx)(f.SelectID,{imagePrefix:"../..",themeName:this.props.themeName,themeType:this.state.themeType,socket:this.props.socket,selected:s,expertMode:"script"===this.selectId.type||void 0,types:"all"===(null===(e=this.selectId)||void 0===e?void 0:e.type)?t:[this.selectId.type||"state"],onClose:()=>{this.setState({showSelectId:!1}),this.selectId.callback&&(this.selectId.callback=null)},onOk:(e,t)=>{this.selectId.initValue=null,this.selectId.callback?(this.selectId.callback(e),this.selectId.callback=null):this.setState({insert:"'".concat(e,"'/*").concat(t,"*/")})}},"dialogSelectID1")}return null}getCronDialog(){return this.state.showCron?(0,te.jsx)(f.Cron,{cron:this.cron.callback?this.cron.initValue||"":this.getSelect?this.getSelect():"* * * * *",onClose:()=>this.setState({showCron:!1}),onOk:e=>{this.cron.initValue=null,this.cron.callback?(this.cron.callback(e),this.cron.callback=null):this.setState({insert:"'".concat(e,"'")})}},"dialogCron1"):null}getAstroDialog(){return this.state.showAstro?(0,te.jsxs)(G.Z,{open:!0,onClose:()=>this.setState({showAstro:!1}),children:[(0,te.jsx)(J.Z,{children:f.I18n.t("Astronomical events today")}),(0,te.jsx)(q.Z,{children:this.state.astroEvents?(0,te.jsx)(at.Z,{component:rt.Z,children:(0,te.jsxs)(et.Z,{size:"small",children:[(0,te.jsx)(it.Z,{children:(0,te.jsxs)(ot.Z,{children:[(0,te.jsx)(st.Z,{children:f.I18n.t("Name")}),(0,te.jsx)(st.Z,{children:f.I18n.t("Server time")}),(0,te.jsx)(st.Z,{children:f.I18n.t("Description")})]})}),(0,te.jsx)(tt.Z,{children:Object.keys(this.state.astroEvents).map((e=>(0,te.jsxs)(ot.Z,{children:[(0,te.jsx)(st.Z,{component:"th",scope:"row",children:e.startsWith("next")?"":e}),(0,te.jsx)(nt.Z,{title:f.I18n.t("Local time")+": "+new Date(this.state.astroEvents[e].date).toLocaleTimeString(),children:(0,te.jsx)(st.Z,{align:"right",children:this.state.astroEvents[e].serverTime})}),(0,te.jsx)(st.Z,{children:f.I18n.t(e)})]},e)))})]})}):(0,te.jsx)($e.Z,{})}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{variant:"contained",onClick:()=>this.setState({showAstro:!1}),color:"primary",startIcon:(0,te.jsx)(S.FU5,{}),children:f.I18n.t("Close")})})]},"dialogAstro"):null}getEditorDialog(){return this.state.showScript?(0,te.jsx)(Nt,{adapterName:this.props.adapterName,source:this.scriptDialog.initValue,args:this.scriptDialog.args?this.scriptDialog.args.join(", "):"",isReturn:this.scriptDialog.isReturn,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:e=>{this.scriptDialog.initValue=null,this.scriptDialog.callback&&(!1!==e&&this.scriptDialog.callback(e||""),this.scriptDialog.callback=null),this.setState({showScript:!1})}},"scriptEditorDialog"):null}getToast(){return(0,te.jsx)(Qe.Z,{anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!!this.state.toast,autoHideDuration:6e3,onClose:()=>this.setState({toast:""}),ContentProps:{"aria-describedby":"message-id"},message:(0,te.jsx)("span",{id:"message-id",children:this.state.toast}),action:[(0,te.jsx)(D.Z,{"aria-label":"close",color:"inherit",className:this.props.classes.closeToast,onClick:()=>this.setState({toast:""}),size:"medium",children:(0,te.jsx)(S.FU5,{})},"close")]},"toast")}getTour(){if(this.state.instancesLoaded&&this.state.selected&&1===this.props.isAnyRulesExists&&this.props.objects[this.state.selected]&&this.state.rules&&this.state.visible)return(0,te.jsx)(qe.ZP,{steps:Xs,isOpen:this.state.isTourOpen,onRequestClose:()=>{this.setState({isTourOpen:!1}),window.localStorage.setItem("tour","true"),this.props.socket.setState("javascript.0.variables.rulesTour",{val:!0,ack:!0})},goToStep:this.state.tourStep},"tour")}getDebug(){if(this.props.debugMode){return this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine]?(0,te.jsx)(bo,{runningInstances:this.state.runningInstances,adapterName:this.props.adapterName,socket:this.props.socket,theme:this.props.theme,themeName:this.props.themeName,themeType:this.props.themeType,src:this.props.debugInstance?this.props.debugInstance.adapter:this.state.selected,debugInstance:this.props.debugInstance},"debugger"):(setTimeout((()=>this.props.onDebugModeChange(!1))),null)}return null}render(){return this.state.selected&&this.props.objects[this.state.selected]&&null===this.state.blockly&&null===this.state.rules&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),setTimeout((()=>{const e={blockly:"Blockly"===this.scripts[this.state.selected].engineType,rules:"Rules"===this.scripts[this.state.selected].engineType,showCompiledCode:!1,debugEnabled:this.scripts[this.state.selected].debug,verboseEnabled:this.scripts[this.state.selected].verbose};this.removeNonExistingScripts(null,e),this.setState(e)}),100)),[this.getTabs(),this.getToolbar(),this.getScriptEditor(),this.getAskAboutDebug(),this.getBlocklyEditor(),this.getRulesEditor(),this.getDebug(),this.getConfirmDialog(),this.getSelectIdDialog(),this.getCronDialog(),this.getEditorDialog(),this.getAstroDialog(),this.getDebugMenu(),this.getToast(),this.getTour()]}}const _o=(0,u.Z)((e=>({toolbar:{minHeight:38,boxShadow:"0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)"},toolbarButtons:{padding:4,marginLeft:4},toolbarButtonsDisabled:{filter:"grayscale(100%)",opacity:.5},editorDiv:{height:"calc(100% - ".concat(e.toolbar.height+38+10,"px)"),width:"100%",overflow:"hidden",position:"relative"},textButton:{marginRight:10,minHeight:24,padding:"6px 16px"},saveButton:{background:"#ff9900"},textIcon:{marginLeft:e.spacing(1)},tabIcon:{width:24,height:24,verticalAlign:"middle",marginBottom:2,marginRight:2,borderRadius:3},hintIcon:{padding:"0 8px 0 8px"},hintText:{},hintButton:{marginTop:8,marginLeft:20},tabMenuButton:{position:"absolute",top:0,right:0},tabChanged:{color:e.palette.secondary.main},tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},tabChangedIcon:{color:"#FF0000",fontSize:16,marginLeft:5},closeButton:{marginLeft:5},notRunning:{color:"#ffbc00",marginRight:e.spacing(1),marginLeft:e.spacing(1)},tabButton:{minHeight:48},tabButtonWrapper:{display:"inline-block"},menuIcon:{width:18,height:18,borderRadius:2,marginRight:5},fullHeightDialog:{height:"calc(100% - 100px)"}})))(Oo);class Ro extends i().Component{constructor(e){super(e),this.state={error:"",imageStatus:""}}componentDidMount(){setTimeout((()=>{try{window.document.getElementById("import-text-area").focus()}catch(e){}}),100)}handleCancel(){this.props.onClose()}onChange(e){this.setState({text:e.target.value})}static readFileDataUrl(e,t){const s=new FileReader;s.onload=()=>{t(null,{data:s.result,name:e.name})},s.onabort=()=>{console.error("file reading was aborted"),t(f.I18n.t("file reading was aborted"))},s.onerror=e=>{console.error("file reading has failed"),t(f.I18n.t("file reading has failed: %s",e))},s.readAsDataURL(e)}handleDropFile(e){if(e&&e.hasOwnProperty("target")&&(e=e.target.files),!e&&!e.length)return;const t=e[e.length-1];t&&Ro.readFileDataUrl(t,((e,t)=>{e?this.setState({error:e}):this.props.onClose(t&&t.data)}))}render(){const e=this.props.classes,t=e.dropzone+" "+("accepted"===this.state.imageStatus?e.dropzoneAccepted:"rejected"===this.state.imageStatus?e.dropzoneRejected:"");return(0,te.jsxs)(G.Z,{onClose:(e,t)=>!1,maxWidth:"lg",classes:{paper:e.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title",children:[(0,te.jsx)(J.Z,{id:"import-dialog-title",children:f.I18n.t("Import scripts")}),(0,te.jsxs)(q.Z,{className:e.fullHeight,children:[(0,te.jsx)(yt.default,{maxSize:5e7,acceptClassName:e.dropzoneAccepted,rejectClassName:e.dropzoneRejected,onDrop:e=>this.handleDropFile(e),multiple:!1,accept:"application/zip,application/x-zip-compressed",className:t,children:e=>{let{getRootProps:t,getInputProps:s,isDragActive:a,isDragReject:i}=e;return i?("rejected"!==this.state.imageStatus&&this.setState({imageStatus:"rejected"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("Some files will be rejected")},"text"),(0,te.jsx)(S.B4e,{className:this.props.classes.icon+" "+this.props.classes.iconError},"icon")]})):a?("accepted"!==this.state.imageStatus&&this.setState({imageStatus:"accepted"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("All files will be accepted")},"text"),(0,te.jsx)(S.hjC,{className:this.props.classes.icon+" "+this.props.classes.iconOk},"icon")]})):("wait"!==this.state.imageStatus&&this.setState({imageStatus:"wait"}),(0,te.jsxs)("div",{className:this.props.classes.dropzoneDiv,...t(),children:[(0,te.jsx)("input",{...s()}),(0,te.jsx)("span",{className:this.props.classes.text,children:f.I18n.t("Drop some files here or click...")},"text"),(0,te.jsx)(S.s_P,{className:this.props.classes.icon},"icon")]}))}},"image-drop"),this.state.error?(0,te.jsx)(xe,{text:this.state.error,onClose:()=>this.setState({error:""})}):null]}),(0,te.jsx)(H.Z,{children:(0,te.jsx)(V.Z,{color:"grey",variant:"contained",onClick:()=>this.handleCancel(),startIcon:(0,te.jsx)($.default,{}),children:f.I18n.t("Close")})})]})}}const Mo=(0,u.Z)((e=>({dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"100%"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"30%",width:"30%",color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1}})))(Ro);class zo extends m.Z{constructor(e){super(e,{Connection:f.AdminConnection,translations:{en:s(86443),de:s(19837),es:s(55117),fr:s(86115),it:s(79399),nl:s(43573),pl:s(28130),pt:s(65909),ru:s(50482),uk:s(17138),"zh-cn":s(58246)},bottomButtons:!1,socket:{autoSubscribeLog:!0},sentryDSN:window.sentryDSN}),this.onScriptsChanged=(e,t)=>{if(!e)return;let s=!1;const a={};e.startsWith("script.js.")&&(t?JSON.stringify(this.scripts[e])!==JSON.stringify(t)&&(this.scripts[e]=t,s=!0,a.scriptsHash=this.state.scriptsHash+1):this.scripts[e]&&(delete this.scripts[e],s=!0,a.scriptsHash=this.state.scriptsHash+1)),s&&this.setState(a)},this.onInstanceChanged=(e,t)=>{if(!e)return;let s=!1;const a={};if(e.match(/^system\.adapter\.[-_\w\d]+\$/)){if(e.startsWith("system.adapter.".concat(this.adapterName,".")))if(t&&"instance"===t.type)this.state.instances.includes(e)||(a.instances=[...this.state.instances],a.instances.push(e),a.instances.sort(),s=!0,this.socket.subscribeState("".concat(t._id,".alive"),this.onInstanceAliveChange));else if(!t&&this.state.instances.includes(e)){this.socket.unsubscribeState("".concat(e,".alive"),this.onInstanceAliveChange),a.instances=[...this.state.instances];const t=a.instances.indexOf(e);a.instances.splice(t,1),s=!0}t&&t[e].common&&t[e].common.blockly&&(this.confirmCallback=e=>e&&window.location.reload(),a.confirm=f.I18n.t("Some blocks were updated. Reload admin?"),s=!0)}s&&this.setState(a)},this.onHostChanged=(e,t)=>{if(!e)return;if(e.startsWith("system.host."))if(t&&"host"===t.type)this.hosts.includes(e)||(this.hosts.push(e),this.hosts.sort());else if(!t&&this.hosts.includes(e)){const t=this.hosts.indexOf(e);this.hosts.splice(t,1)}},this.onInstanceAliveChange=(e,t)=>{if(e&&(e=e&&e.substring(0,e.length-6),this.state.runningInstances[e]!==(!!t&&t.val))){const s=JSON.parse(JSON.stringify(this.state.runningInstances));s[e]=!!t&&t.val,this.setState({runningInstances:s})}},this.logSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.logSize"))||150,this.menuSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.menuSize"))||500,this.hosts=[],this.importFile=null,this.scripts={},window.alert=e=>{console.error(e),this.showError(e.toString())}}onConnectionReady(){window.systemLang=this.socket.systemLang,this.setState({ready:!1,updateScripts:0,scriptsHash:0,instances:[],updating:!1,resizing:!1,selected:null,logMessage:{},editing:[],menuOpened:"false"!==window.localStorage.getItem("App.menuOpened"),menuSelectId:"",expertMode:"true"===window.localStorage.getItem("App.expertMode"),logHorzLayout:"true"===window.localStorage.getItem("App.logHorzLayout"),runningInstances:{},confirm:"",importFile:!1,message:"",searchText:"",hideLog:"true"===window.localStorage.getItem("App.hideLog"),debugMode:!1,debugInstance:null});const e={};this.subscribeOnInstances().then((t=>(e.instances=t.instances,e.runningInstances=t.runningInstances,this.readAdaptersWithBlockly()))).then((()=>this.socket.getHosts())).then((e=>(this.hosts=e.map((e=>e._id)),this.readAllScripts()))).then((t=>{window.localStorage&&"true"!==window.localStorage.getItem("App.expertMode")&&"false"!==window.localStorage.getItem("App.expertMode")&&Object.keys(t).find((e=>e.startsWith("script.js.global.")&&"script"===t.type))&&(e.expertMode=!0),this.scripts=t;let s=this.state.scriptsHash;this.compareScripts(t)&&s++,e.scriptsHash=s,e.ready=!0,this.socket.subscribeObject("script.*",this.onScriptsChanged),this.socket.subscribeObject("system.adapter.*",this.onInstanceChanged),this.socket.subscribeObject("system.host.*",this.onHostChanged),this.setState(e)}))}subscribeOnInstances(){return this.socket.getAdapterInstances(this.adapterName).then((e=>{const t=e.map((e=>parseInt(e._id.split(".").pop()))).sort(),s={};t.forEach((e=>s["system.adapter.".concat(this.adapterName,".").concat(e)]=!1));const a=[];return t.forEach((e=>{const t="system.adapter.".concat(this.adapterName,".").concat(e),i="".concat(t,".alive");a.push(this.socket.getState(i).then((e=>{s[t]=!!e&&e.val,this.socket.subscribeState(i,this.onInstanceAliveChange)})))})),Promise.all(a).then((()=>({instances:t,runningInstances:s})))}))}readAllScripts(){return this.socket.getObjectView("script.js.","script.js.\u9999","channel").then((e=>this.socket.getObjectView("script.js.","script.js.\u9999","script").then((t=>(Object.keys(t).forEach((s=>e[s]=t[s])),e)))))}readAdaptersWithBlockly(){return this.socket.getObjectView("system.adapter.","system.adapter.\u9999","adapter").then((e=>new Promise((t=>Tt.loadCustomBlockly(e,(()=>t()))))))}onToggleExpertMode(e){this.onExpertModeChange(e)}compareScripts(e){const t=Object.keys(this.scripts),s=Object.keys(e);if(t.length!==s.length)return this.scripts=this.newScripts,!0;if(JSON.stringify(t)!==JSON.stringify(s))return this.scripts=this.newScripts,!0;for(let a=0;a ").concat(t)),this.setState({updating:!0}),this.scripts[e]&&"script"===this.scripts[e].type){const o=JSON.parse(JSON.stringify(this.scripts[e].common));o.name=s||o.name,void 0!==a&&(o.engine="system.adapter.javascript.".concat(a));const n=t.split(".");n.pop();const r=n.join(".");this.scripts[r]&&"script"===this.scripts[r].type&&(n.pop(),t="".concat(n.join("."),".").concat(t.split(".").pop())),i=this.updateScript(e,t,o)}else i=this.renameGroup(e,t,s);i.then((()=>this.setState({updating:!1}))).catch((e=>"canceled"!==e&&this.showError(e)))}renameGroup(e,t,s,a){if(a){if(a.length){let i=a.pop();return this.socket.getObject(i).then((o=>this.socket.delObject(i).catch((()=>{})).then((()=>(i=t+i.substring(e.length),o._id=i,o.common=o.common||{},o.common.expert=!0,this.socket.setObject(i,o)))).then((()=>this.renameGroup(e,t,s,a)))))}return Promise.resolve()}return a=[],a=Object.keys(this.scripts).filter((t=>t.startsWith("".concat(e,".")))),this.socket.getObject(e).then((i=>{(i=i||{common:{}}).common.name=s||i.common.name||e.split(".").pop(),i._id=t,this.socket.delObject(e).catch((()=>{})).then((()=>this.socket.setObject(t,i))).then((()=>this.renameGroup(e,t,s,a))).catch((e=>console.log(e)))})).catch((i=>{console.log(i);const o={_id:t,type:"channel",common:{name:s||e.split(".").pop(),expert:!0},native:{}};return this.socket.setObject(t,o).then((()=>this.renameGroup(e,t,s,a)))}))}onUpdateScript(e,t){this.scripts[e]&&"script"===this.scripts[e].type&&this.updateScript(e,e,t).then((()=>{})).catch((e=>"canceled"!==e&&this.showError(e)))}onSelect(e){this.scripts[e]&&this.scripts[e].common&&"script"===this.scripts[e].type&&this.setState({selected:e,menuSelectId:e},(()=>setTimeout((()=>this.setState({menuSelectId:""})))),300)}onExpertModeChange(e){this.state.expertMode!==e&&(window.localStorage&&window.localStorage.setItem("App.expertMode",e?"true":"false"),this.setState({expertMode:e}))}showError(e){this.setState({errorText:e?e.toString():""})}showMessage(e){this.setState({message:e?e.toString():""})}onDelete(e){this.socket.delObject(e).then((()=>{})).catch((e=>this.showError(e)))}onEdit(e){this.state.selected!==e&&this.setState({selected:e})}onAddNew(e,t,s,a,i,o){const n=new RegExp("^".concat(e,"\\."));if(Object.keys(this.scripts).find((t=>e===t||n.test(e))))return this.showError(f.I18n.t("Yet exists!"));s?this.socket.setObject(e,{common:{name:t,expert:!0},type:"channel"}).then((()=>setTimeout((()=>this.setState({menuSelectId:e},(()=>setTimeout((()=>this.setState({menuSelectId:""})))),300)),1e3))).catch((e=>this.showError(e))):this.socket.setObject(e,{common:{name:t,expert:!0,engineType:i,engine:"system.adapter.javascript.".concat(a||0),source:o||"",debug:!1,verbose:!1},type:"script"}).then((()=>setTimeout((()=>this.onSelect(e)),1e3))).catch((e=>this.showError(e)))}updateScript(e,t,s){return this.socket.getObject(e).then((a=>{const i={common:{}};return void 0!==s.engine&&(i.common.engine=s.engine),void 0!==s.enabled&&(i.common.enabled=s.enabled),void 0!==s.source&&(i.common.source=s.source),void 0!==s.debug&&(i.common.debug=s.debug),void 0!==s.verbose&&(i.common.verbose=s.verbose),i.from="system.adapter.admin.0",e===t&&a&&a.common&&s.name===a.common.name?(s.engineType&&s.engineType===a.common.engineType||void 0!==s.engineType&&(i.common.engineType=s.engineType||"Javascript/js"),i.type="script",this.socket.extendObject(e,i)):a&&a.common?(a.common.engineType=s.engineType||a.common.engineType||"Javascript/js",this.socket.delObject(e).then((()=>{void 0!==i.common.engine&&(a.common.engine=i.common.engine),void 0!==i.common.enabled&&(a.common.enabled=i.common.enabled),void 0!==i.common.source&&(a.common.source=i.common.source),void 0!==i.common.name&&(a.common.name=i.common.name),void 0!==i.common.debug&&(a.common.debug=i.common.debug),void 0!==i.common.verbose&&(a.common.verbose=i.common.verbose),delete a._rev,a.common.name=s.name,a.common.expert=!0,a.type="script",a._id=t,this.socket.setObject(t,a)}))):((a=i).common.name=s.name,a.common.expert=!0,a.type="script",a._id=t,this.socket.setObject(t,a))}))}onEnableDisable(e,t){if(this.scripts[e]&&"script"===this.scripts[e].type){const s=this.scripts[e].common;s.enabled=t,s.expert=!0,this.updateScript(e,e,s).catch((e=>"canceled"!==e&&this.showError(e)))}}getLiveHost(e,t){if(t||(t=this.hosts?[...this.hosts]:[]),t.length){const s=t.shift();this.socket.getState("".concat(s,".alive")).then((a=>{a&&a.val?e(s):setTimeout((()=>this.getLiveHost(e,t)))}))}else e()}onExport(){this.getLiveHost((e=>{if(!e)return this.showError(f.I18n.t("No active host found"));const t=new Date;let s=t.getFullYear(),a=t.getMonth()+1;a<10&&(a="0".concat(a)),s+="-".concat(a),a=t.getDate(),a<10&&(a="0".concat(a)),s+="-".concat(a,"-"),this.socket.getRawSocket().emit("sendToHost",e,"readObjectsAsZip",{adapter:"javascript",id:"script.js",link:"".concat(s,"scripts.zip"),fileStorageNamespace:"admin.".concat(this.instance)},(e=>{if("string"===typeof e){const t=document.createElement("a");if(e.startsWith("admin."))t.href="../../files/".concat(e);else{const s=e.split(".zip.");t.href="./zip/".concat(s[0],"/").concat(s[1])}document.body.appendChild(t),t.click(),t.remove()}else if(e.error&&this.showError(e.error),e.data){const t=document.createElement("a");t.href="data: application/zip;base64,".concat(e.data),t.download="".concat(s,"scripts.zip"),document.body.appendChild(t),t.click(),t.remove()}}))}))}onImport(e){this.importFile=e,e?(this.confirmCallback=this.onImportConfirmed.bind(this),this.setState({importFile:!1,confirm:f.I18n.t("Existing scripts will be overwritten.")})):this.setState({importFile:!1})}onImportConfirmed(e){let t=this.importFile;this.importFile=null,e&&t&&(t=t.split(",")[1],this.getLiveHost((e=>{e?this.socket.getRawSocket().emit("sendToHost",e,"writeObjectsAsZip",{data:t,adapter:"javascript",id:"script.js"},(e=>{"permissionError"===e?this.showError(f.I18n.t(e)):!e||e.error?this.showError(e?f.I18n.t(e.error):f.I18n.t("Unknown error")):this.showMessage(f.I18n.t("Done"))})):this.showError(f.I18n.t("No active host found"))})))}toggleLogLayout(){window.localStorage&&window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}renderEditor(){const e=Object.keys(this.scripts).reduce(((e,t)=>e+("Rules"===this.scripts[t].common.engineType?1:0)),0);return(0,te.jsx)(_o,{debugMode:this.state.debugMode,onDebugModeChange:e=>{e?this.setState({debugMode:!0}):this.setState({debugMode:!1,debugInstance:null})},visible:!this.state.resizing,socket:this.socket,adapterName:this.adapterName,onLocate:e=>this.setState({menuSelectId:e}),runningInstances:this.state.runningInstances,menuOpened:this.state.menuOpened,searchText:this.state.searchText,themeType:this.state.themeType,themeName:this.state.themeName,theme:this.state.theme,expertMode:this.state.expertMode,onChange:(e,t)=>this.onUpdateScript(e,t),isAnyRulesExists:e,debugInstance:this.state.debugInstance,onSelectedChange:(e,t)=>{const s={};let a=!1;e!==this.state.selected&&(a=!0,s.selected=e),JSON.stringify(t)!==JSON.stringify(this.state.editing)&&(a=!0,s.editing=JSON.parse(JSON.stringify(t))),a&&this.setState(s)},onRestart:e=>this.socket.extendObject(e,{common:{enabled:!0}}),selected:this.state.selected&&this.scripts[this.state.selected]&&"script"===this.scripts[this.state.selected].type?this.state.selected:"",objects:this.scripts,instances:this.state.instances},"editor")}showLogButton(){return(0,te.jsx)("div",{title:f.I18n.t("Show logs"),className:this.props.classes.showLogButton,onClick:()=>{window.localStorage.setItem("App.hideLog","false"),this.setState({hideLog:!1,resizing:!0}),setTimeout((()=>this.setState({resizing:!1})),300)},children:(0,te.jsx)(S.t2l,{})},"showLog")}renderErrorDialog(){return this.state.errorText?(0,te.jsx)(xe,{onClose:()=>this.setState({errorText:""}),text:this.state.errorText},"dialogError"):null}renderMain(){const{classes:e}=this.props;return[this.state.message?(0,te.jsx)(b(),{onClose:()=>this.setState({message:""}),text:this.state.message},"dialogMessage"):null,this.renderErrorDialog(),this.state.importFile?(0,te.jsx)(Mo,{onClose:e=>this.onImport(e)},"dialogImportFile"):null,this.state.confirm?(0,te.jsx)(v(),{onClose:e=>{this.state.confirm&&this.setState({confirm:""}),this.confirmCallback&&this.confirmCallback(e),this.confirmCallback=null},text:this.state.confirm},"dialogConfirm"):null,(0,te.jsxs)("div",{className:e.content+" iobVerticalSplitter",children:[(0,te.jsx)("div",{className:e.menuOpenCloseButton,onClick:()=>{window.localStorage.setItem("App.menuOpened",this.state.menuOpened?"false":"true"),this.setState({menuOpened:!this.state.menuOpened,resizing:!0}),setTimeout((()=>this.setState({resizing:!1})),300)},children:this.state.menuOpened?(0,te.jsx)(S.KYK,{}):(0,te.jsx)(S.xXU,{})},"closeMenu"),(0,te.jsxs)(h(),{vertical:!this.state.logHorzLayout,primaryMinSize:100,secondaryInitialSize:this.state.hideLog?0:this.logSize,onDragStart:()=>this.setState({resizing:!0}),onSecondaryPaneSizeChange:e=>this.state.hideLog?0:this.logSize=parseFloat(e),onDragEnd:()=>{this.setState({resizing:!1}),window.localStorage.setItem("App.logSize",this.logSize.toString())},children:[(0,te.jsxs)(te.Fragment,{children:[this.renderEditor(),!this.state.debugMode&&this.state.hideLog&&this.showLogButton()]}),!this.state.debugMode&&!this.state.hideLog&&(0,te.jsx)(Je,{verticalLayout:!this.state.logHorzLayout,onLayoutChange:()=>this.toggleLogLayout(),editing:this.state.editing,socket:this.socket,selected:this.state.selected,onHideLog:()=>{window.localStorage.setItem("App.hideLog","true"),this.setState({hideLog:!0,resizing:!0}),setTimeout((()=>this.setState({resizing:!1})),300)}},"log")]},"splitterLayout")]},"main")]}render(){const{classes:e}=this.props;return this.state.ready?(0,te.jsx)("div",{className:e.root,children:(0,te.jsx)(di,{socket:this.socket,children:(0,te.jsxs)(h(),{vertical:!1,primaryMinSize:300,primaryIndex:1,secondaryMinSize:300,secondaryInitialSize:this.menuSize,customClassName:"".concat(e.splitterDivs," ").concat(this.state.menuOpened?"":e.menuDivWithoutMenu),onDragStart:()=>this.setState({resizing:!0}),onSecondaryPaneSizeChange:e=>this.menuSize=parseFloat(e),onDragEnd:()=>{this.setState({resizing:!1}),window.localStorage.setItem("App.menuSize",this.menuSize.toString())},children:[(0,te.jsx)("div",{className:e.mainDiv,children:(0,te.jsx)(Ue,{debugMode:this.state.debugMode,onDebugInstance:e=>{this.setState({debugInstance:e,debugMode:!!e})},scripts:this.scripts,scriptsHash:this.state.scriptsHash,instances:this.state.instances,update:this.state.updateScripts,onRename:this.onRename.bind(this),onSelect:this.onSelect.bind(this),socket:this.socket,selectId:this.state.menuSelectId,onEdit:this.onEdit.bind(this),expertMode:this.state.expertMode,themeType:this.state.themeType,themeName:this.state.themeName,onThemeChange:e=>{f.Utils.setThemeName(e);const t=f.Utils.getThemeType(e);this.setState({themeName:e,themeType:t},(()=>this.props.onThemeChange(e)))},runningInstances:this.state.runningInstances,onExpertModeChange:this.onExpertModeChange.bind(this),onDelete:this.onDelete.bind(this),onAddNew:this.onAddNew.bind(this),onEnableDisable:this.onEnableDisable.bind(this),onExport:this.onExport.bind(this),width:this.menuSize,onImport:()=>this.setState({importFile:!0}),onSearch:e=>this.setState({searchText:e}),version:this.props.version},"sidemenu")},"menu"),this.renderMain()]},"menuSplitter")})}):(0,te.jsx)(f.Loader,{theme:this.state.themeType})}}zo.propTypes={version:d().string,onThemeChange:d().func};const Po=(0,u.Z)((e=>({root:{flexGrow:1,display:"flex",width:"100%",height:"100%"},menuDiv:{overflow:"hidden"},splitterDivs:{"&>div":{overflow:"hidden",width:"100%",height:"100%"},"& .layout-splitter":{background:"dark"===e.palette.mode?"#595858":"#ccc;"}},mainDiv:{width:"100%",height:"100%",overflow:"hidden"},content:{width:"100%",height:"100%",backgroundColor:e.palette.background&&e.palette.background.default,position:"relative"},splitterDivWithMenu:{width:"calc(100% - 300px)",height:"100%"},menuDivWithoutMenu:{"&>div:first-child":{display:"none"},"&>.layout-splitter":{display:"none"}},progress:{margin:100},menuOpenCloseButton:{position:"absolute",left:0,borderRadius:"0 5px 5px 0",top:6,paddingTop:8,cursor:"pointer",zIndex:1,height:25,width:20,background:e.palette.secondary.main,color:e.palette.primary.main,paddingLeft:3,"&:hover":{color:"white"}},showLogButton:{position:"absolute",right:3,borderRadius:"5px 5px 0 0",bottom:0,paddingTop:3,cursor:"pointer",zIndex:10,height:20,width:25,background:e.palette.secondary.main,color:e.palette.primary.main,paddingLeft:8,"&:hover":{color:"white"}}})))(zo);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));const Bo="7.11.1";var Fo=s(37674),Lo=s(19509);window.GenericBlock=ea,window.adapterName="javascript",window.sentryDSN="https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56";let Uo=f.Utils.getThemeName();console.log("iobroker.".concat(window.adapterName,"@").concat(Bo,' using theme "').concat(Uo,'"'));const Zo=(0,l.createGenerateClassName)({productionPrefix:"iob"});!function e(){const t=window.innerWidth<600,s=document.getElementById("root");return(0,o.s)(s).render((0,te.jsx)(l.StylesProvider,{generateClassName:Zo,children:(0,te.jsx)(n.Z,{injectFirst:!0,children:(0,te.jsx)(r.Z,{theme:(0,Fo.default)(Uo),children:(0,te.jsx)(R.W,{backend:t?Lo.zr:M.PD,children:(0,te.jsx)(Po,{version:Bo,onThemeChange:t=>{Uo=t,e()}})})})})}))}(),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((e=>{e.unregister()}));const Wo=window.loadDynamicScript;Wo&&Wo("3000"===window.location.port?window.location.protocol+"//"+window.location.hostname+":8081/lib/js/socket.io.js":"./../../lib/js/socket.io.js",(function(){Wo("vs/loader.js",(function(){Wo("vs/configure.js",(function(){"function"===typeof window.socketLoadedHandler&&window.socketLoadedHandler()}))}))}))},19837:e=>{e.exports=JSON.parse('{"-":"-","Add":"Hinzuf\xfcgen","Add new script":"Neues Skript hinzuf\xfcgen","All files will be accepted":"Alle Dateien werden akzeptiert","April":"April","Are you sure?":"Wirklich sicher?","August":"August","Blockly description":"Erstellen von Regeln durch Grafikbl\xf6cke","Cancel":"Abbrechen","Cannot delete non empty item!":"Kann nicht gel\xf6scht werden, weil noch einige Elementen darin sind!","Change layout":"Layout \xe4ndern","Check blocks":"Bl\xf6cke pr\xfcfen","Check is not active, because javascript adapter is disabled":"Syntax-Check ist nicht aktiv, weil der Javascript Adapter nicht aktiv ist.","Clear search input":"Sucheingabe l\xf6schen","Click on this icon":"Auf dieses Symbol klicken","Close":"Schlie\xdfen","Close all but current":"Alle anderen au\xdfer dem Aktiven schlie\xdfen","Collapse all":"Alles einklappen","Configuration not saved.":"Die Konfiguration ist nicht gespeichert.","Convert blockly to javascript for ever.":"Blockly dauerhaft in Javascript konvertieren.","Copy script":"Skript kopieren","Copy to clipboard":"In die Zwischenablage kopieren","Download as file":"Download als Datei","Create new":"Neu erstellen","Create new folder":"Neuen Ordner erstellen","Create new script":"Neues Skript erstellen","Create or edit CRON or time wizard":"CRON- oder Zeit-Assistenten erstellen oder bearbeiten","Dark Theme":"Dunkles Thema","Dark style":"Dunkler Stil","Debug options":"Debug-Optionen","December":"Dezember","Define cron...":"Cron definieren ...","Define schedule...":"Zeitplan definieren ...","Delete":"L\xf6schen","Delete %s":"L\xf6schen %s...","Delete folder":"Ordner l\xf6schen","Delete script":"Skript l\xf6schen","Deselect all":"Alles abw\xe4hlen","Discard changes for %s":"\xc4nderungen f\xfcr %s verwerfen","Done":"Fertig","Drop some files here or click...":"Dateien hier ablegen oder klicken ...","Edit script or just double click":"Skript bearbeiten oder einfach doppelklicken","End search mode":"Suchmodus beenden","Error":"Fehler","Error was found":"Fehler wurde gefunden","Existing scripts will be overwritten.":"Vorhandene Skripte werden \xfcberschrieben.","Expand all":"Alle erweitern","Expert mode":"Expertenmodus","Export":"Export","Export all scripts":"Alle Skripte exportieren","Export blocks":"Bl\xf6cke exportieren","Export selected blocks":"Ausgew\xe4hlte Bl\xf6cke exportieren","February":"Februar","Folder":"Ordner","Friday":"Freitag","Function editor":"Funktions-Editor","ID":"ID","Import":"Import","Import blocks":"Bl\xf6cke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripte importieren","Insert object ID":"Objekt-ID einf\xfcgen","Instance":"Instanz","Instance is disabled":"Instanz ist deaktiviert","Invalid CRON":"Ung\xfcltiger CRON","It will not be possible to revert this operation.":"Dieser Vorgang kann nicht r\xfcckg\xe4ngig gemacht werden.","JS description":"Regeln erstellen mit JavaScript","January":"Januar","July":"Juli","June":"Juni","Learn More":"Mehr erfahren","Light style":"Heller Stil","Locate file":"Datei zeigen","Log outputs":"Protokoll","March":"M\xe4rz","May":"Mai","Menu":"Men\xfc","Message":"Nachricht","Monday":"Montag","Name":"Name","No active host found":"Kein aktiver Host gefunden","November":"November","October":"Oktober","Ok":"Ok","On weekdays":"An Wochentagen","Pause script":"Skript anhalten","Please select object ID...":"Objekt-ID ausw\xe4hlen ...","Rename":"Umbenennen","Reorder scripts in folders":"Skripte in Ordnern neu ordnen","Repeat":"Wiederholen","Restart":"Neustart","Root folder":"Root-Verzeichnis","Run script":"Skript ausf\xfchren","Saturday":"Samstag","Save":"Speichern","Script":"Skript","Script %s was modified on disk":"Skript \\"%s\\" wurde auf der Festplatte ge\xe4ndert","Script is not running":"Skript l\xe4uft nicht","Search in scripts":"Suche in Skripten","Search...":"Suche...","Select all":"Alles ausw\xe4hlen","September":"September","Show javascript code":"Javascript-Code zeigen","Show only paused scripts":"Nur angehaltene Skripte zeigen","Show only running scripts":"Nur laufende Skripte zeigen","Show only scripts with problems":"Nur Skripte mit Problemen zeigen","Some files will be rejected":"Einige Dateien werden abgelehnt","Sunday":"Sonntag","TS description":"Regeln erstellen mit TypeScript","Thursday":"Donnerstag","Tuesday":"Dienstag","Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","Wednesday":"Mittwoch","Yet exists!":"Existiert schon!","copy":"Kopie","file reading has failed: %s":"Das Lesen der Datei ist fehlgeschlagen: %s","file reading was aborted":"Das Lesen der Datei wurde abgebrochen","filter_func":"Funktion","filter_id":"ID","filter_name":"Name","filter_role":"Rolle","filter_room":"Raum","for edit or create script":"zum Bearbeiten oder zum Erstellen eines neues Skripts","no blocks found":"Keine Bl\xf6cke gefunden","no group":"KEINE GRUPPE","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.","tooltip_ack":"Best\xe4tigen","tooltip_from":"Von","tooltip_lc":"Zuletzt ge\xe4ndert","tooltip_quality":"Qualit\xe4t","tooltip_ts":"Zeitstempel","tooltip_user":"Benutzer","tooltip_value":"Wert","use seconds":"Sekunden verwenden","Save all":"Alle speichern","Change theme (actual \\"%s\\")":"Thema \xe4ndern (jetzt - \\"%s\\")","Hide logs":"Protokoll ausblenden","Show logs":"Protokoll anzeigen","Rules description":"Regeln erstellen mit WENN-, DANN- und SONST-Bl\xf6cken","help_on_change":"Der Code wird nur ausgef\xfchrt, wenn sich das Ergebnis der Bedingung \xe4ndert. z.B. wenn sich der Temperatur wert \xe4ndert und die Bedingung \\"Wenn die Temperatur gr\xf6\xdfer als 20\xb0C ist\\" lautet, werden die \\"Dann\\" -Aktionen einmal ausgef\xfchrt, wenn die Temperatur \xfcber 20\xb0C liegt. Das n\xe4chste Mal werden die \\"Dann\\" -Aktionen ausgef\xfchrt, wenn die Temperatur unter 20\xb0C gefallen ist und dann wieder \xfcber 20\xb0C ansteigt.","help_just_check":"Der Code wird jedes Mal ausgef\xfchrt, wenn die Bedingung erf\xfcllt ist. z.B. wenn der Temperatur wert sich \xe4ndert und die Bedingung \\"Wenn die Temperatur gr\xf6\xdfer als 20\xb0C ist\\" lautet, werden die \\"Dann\\" -Aktionen jedes Mal ausgef\xfchrt, wenn der Sensor die Temperatur sendet und diese \xfcber 20\xb0C liegt. Bei 21\xb0C, bei 22\xb0C und so weiter.","On condition change":"Bei \xc4nderung des Ergebnis der Bedingung","Just check":"Einfach \xfcberpr\xfcfen","when":"falls","and":"und","then":"dann","or":"oder","else":"sonst","Nothing found":"Nichts gefunden","reset search":"Suche zur\xfccksetzen","Read only ID selected: %s":"Schreibgesch\xfctzte ID ausgew\xe4hlt: %s","OK":"OK","Triggers":"L\xf6st aus","cron":"CRON","wizard":"Assistent","interval":"Intervall","at":"beim","astro":"Astro","on condition change":"bei Zustands\xe4nderung","just check":"einfach pr\xfcfen","Explanation":"Erl\xe4uterung","seconds":"Sekunden","minutes":"Minuten","hours":"Stunden","Every day":"T\xe4glich","milliseconds":"Millisekunden","Copied":"Kopiert","nadir":"Nadir","nightEnd":"astronomische Morgend\xe4mmerung","nauticalDawn":"nautische Morgend\xe4mmerung","dawn":"Morgend\xe4mmerung","sunrise":"Sonnenaufgang","sunriseEnd":"Goldene Morgenstunde","goldenHourEnd":"Vormittag","solarNoon":"(Nach-)Mittag","goldenHour":"Goldene Abendstunde","sunsetStart":"Sonnenuntergang (Anfang)","sunset":"Abendd\xe4mmerung","dusk":"nautische Abendd\xe4mmerung","nauticalDusk":"astronomische Abendd\xe4mmerung","night":"Nacht","one":"einer","two":"zwei","true":"wahr","false":"falsch","search":"Suche","Actions":"Aktionen","Conditions":"Bedingungen","Schedule":"Zeitplan","Start script":"Skript starten","State":"Zustand","State condition":"Zustandsbedingung","Time condition":"Zeitbedingung","Set state action":"Zustand setzten","Exec":"Exec shell","HTTP Call":"HTTP-Aufruf","Log text":"Protokolltext","Pause":"Pause","on change":"bei \xc4nderung","control":"Steuerung","Say It":"Say It","every hour at 0 minutes":"jede Stunde bei 0 Minuten","On script save or adapter start":"Beim Speichern des Skripts oder beim Starten des Adapters","equal to":"gleich","Actual time of day":"Tats\xe4chliche Tageszeit","with":"mit","Shell command":"Shell-Befehl","URL":"URL","Instance:":"Instanz:","Language:":"Sprache:","Volume":"Volumen","Text:":"Text:","undefined":"nicht definiert","Default":"Standard","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Sie k\xf6nnen %s im Text verwenden, um den aktuellen Triggerwert anzuzeigen, %id, um die ausgel\xf6ste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgel\xf6sten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","Instructions":"Anleitung","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Sie k\xf6nnen %s in der URL verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgel\xf6ste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgel\xf6sten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Sie k\xf6nnen %s im Wert verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ID des ausgel\xf6sten Objekts zu verwenden, %name, um den ID-Namen des ausgel\xf6sten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Sie k\xf6nnen %s im Befehl verwenden, um den aktuellen Triggerwert zu verwenden, %id, um die ausgel\xf6ste Objekt-ID zu verwenden, %name, um den ID-Namen des ausgel\xf6sten Objekts anzuzeigen, oder %old, um den alten Triggerwert zu verwenden","every":"jeder","with offset":"mit Versatz","on update":"beim Aktualisieren","update":"Aktualisieren","Triggers the rule periodically or on some specific time":"L\xf6st periodisch oder zu einem bestimmten Zeitpunkt aus","Triggers the on script saving or the javascript instance restart":"L\xf6st das Speichern des Skripts oder den Neustart der Javascript-Instanz aus","Triggers the rule on update or change of some state":"L\xf6st die Regel beim Aktualisieren oder \xc4ndern eines Zustands aus","Compares the state value with user defined value":"Vergleicht den Zustandswert mit dem benutzerdefinierten Wert","Compares current time with the user specific time":"Vergleicht die aktuelle Zeit mit der benutzerspezifischen Zeit","Control or update some state":"Zustand steuern oder aktualisieren","Executes some shell command":"F\xfchrt einen Shell-Befehl aus","Make a HTTP get request":"Stellen Sie eine HTTP-Abrufanforderung","Print some text in log":"Drucken Sie einen Text im Protokoll","Make a pause between actions":"Machen Sie eine Pause zwischen den Aktionen","Say some text via sayit adapter":"Sagen Sie einen Text \xfcber den Sayit-Adapter","Telegram":"Telegram","User:":"Benutzer:","all":"alle","Sends message via telegram":"Sendet eine Nachricht per telegram","Sends an email":"Sendet eine E-Mail","Send email":"E-Mail senden","Sends message via pushover":"Sendet eine Nachricht per Pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Sendet eine Nachricht \xfcber WhatsApp-Cmb","Whatsapp-cmb":"WhatsApp-cmb","Sends message via Pushsafer":"Sendet eine Nachricht \xfcber Pushsafer","Pushsafer":"Pushsafer","To:":"Zu:","Subject:":"Gegenstand:","Body:":"K\xf6rper:","Title:":"Titel:","Sound:":"Klang:","Priority:":"Priorit\xe4t:","magic":"Magie","quiet":"ruhig","normal":"Normal","high-priority":"hohe Priorit\xe4t","acknowledgment":"Wissen","Phone:":"Telefon:","(optional)":"(optional)","Vibration:":"Vibration:","lowest priority":"niedrigste Priorit\xe4t","lower priority":"geringere Priorit\xe4t","normal priority":"normale Priorit\xe4t","high priority":"hohe Priorit\xe4t","highest priority":"h\xf6chste Priorit\xe4t","default":"Standard","All":"Alle","Write your own code":"Eigenen Code schreiben","User function":"Benutzerfunktion","This is advances option. You can write your own code here and it will be executed on trigger":"Dies ist eine erweiterte Option. Sie k\xf6nnen hier Ihren eigenen Code schreiben, der beim Ausl\xf6sen ausgef\xfchrt wird","greater than":"gr\xf6\xdfer als","offset":"Versatz","Function":"Funktion","greater or equal to":"gr\xf6\xdfer oder gleich","less or equal to":"kleiner oder gleich","less than":"kleiner als","not equal to":"ungleich","[equal]":"[gleich]","[greater or equal]":"[gr\xf6\xdfer oder gleich]","[greater]":"[gr\xf6\xdfer]","[less or equal]":"[kleiner oder gleich]","[less]":"[kleiner]","[not equal]":"[ungleich]","[includes]":"[enth\xe4lt]","[hysteresis]":"[Hysterese]","greater or equal":"gr\xf6\xdfer oder gleich","less or equal":"kleiner oder gleich","includes":"beinhaltet",".":".","()":"()","Mo":"Mo","Tu":"Di","We":"Mi","Th":"Do","Fr":"Fr","Sa":"Sa","Su":"So","Control or update some state with delay":"Zustand mit Verz\xf6gerung steuern oder aktualisieren","Delay":"Verz\xf6gerung","ms":"ms","Set with delay":"Setzen mit Verz\xf6gerung","clear running":"laufende abbrechen","toggle value":"Wert umschalten","Any month":"Jeden Monat","Any":"Egal","with date":"mit Datum","Date":"Datum","Month":"Monat","Januar":"Januar","Februar":"Februar","March ":"M\xe4rz ","Condition":"Bedingung","Limit":"Grenze","The script will be stopped and must be activated manually after debugging. Continue?":"Das Skript wird gestoppt und muss nach dem Debuggen manuell aktiviert werden. Fortsetzen?","Yes":"Ja","Debug instance":"Debug-Instanz","Resume execution":"Ausf\xfchrung fortsetzen","Go to next line":"Gehe zur n\xe4chsten Zeile","Step into function":"Schritt in die Funktion","Step out from function":"Raus aus der Funktion","Stop on exception":"Bei Ausnahme anhalten","Console":"Konsole","Stack":"Stack","Pause execution":"Ausf\xfchrung pausieren","Simulate":"Simulieren","Trigger with value":"Trigger mit Wert","Value":"Wert","Write":"Schreiben","Ack":"Best\xe4tigt","Start":"Start","Filter":"Filter","Instances":"Instanzen","Triggered":"Ausgel\xf6st","Function: executed":"Funktion: ausgef\xfchrt","Operate two states":"Zwei Zust\xe4nde operieren","store in":"speichern in","ID1":"ID1","ID2":"ID2","Operations with two states":"Operationen mit zwei Zust\xe4nden","debug_label":"Debuggen","debug_help":"Dies ist ein spezieller Modus, in dem sich Zust\xe4nde und Objekte nicht \xe4ndern. Im Protokoll werden jedoch nur Informationen zu jeder geplanten \xc4nderung angezeigt.","verbose_label":"Ausf\xfchrliche Protokollausgaben","verbose_help":"F\xfcgt Debug-Ausgaben f\xfcr viele Systembefehle zum Protokoll hinzu","easy":"einfach","for programmers":"f\xfcr Programmierer","for professionals":"f\xfcr Profis","Duplicate name":"Doppelter Name","Empty name is not allowed":"Leerer Name ist nicht zul\xe4ssig","Time":"Zeit","Server time":"Server-Zeit","Local time":"Lokale Zeit","Description":"Beschreibung","nextSunrise":"N\xe4chster Sonnenaufgang","nextSunset":"N\xe4chster Sonnenuntergang","Astronomical events today":"Astronomische Ereignisse heute","Compares current time with astronomical event":"Vergleicht die aktuelle Zeit mit einem astronomischen Ereignis","Show astronomical events":"Astronomische Ereignisse anzeigen","Astronomical":"Astronomisch","Enter your question":"Anfrage eingeben","Press Ctrl+Enter to get the answer":"Dr\xfccken Sie Strg+Eingabetaste, um die Antwort zu erhalten","Ask":"Fragen","Result":"Ergebnis","Use generated code":"Code verwenden","No Chat GPT Key found":"Kein Chat-GPT-Schl\xfcssel gefunden","You have to enter OpenAI API key in the configuration of javascript adapter.":"Sie m\xfcssen den OpenAI-API-Schl\xfcssel in der Konfiguration des Javascript-Adapters eingeben.","Open configuration":"Konfiguration \xf6ffnen"}')},86443:e=>{e.exports=JSON.parse('{"-":"-","Add":"Add","Add new script":"Add new script","All files will be accepted":"All files will be accepted","April":"April","Are you sure?":"Are you sure?","August":"August","Blockly description":"Creating rules by graphic blocks","Cancel":"Cancel","Cannot delete non empty item!":"Cannot delete non empty item!","Change layout":"Change layout","Check blocks":"Check blocks","Check is not active, because javascript adapter is disabled":"Check is not active, because Javascript adapter is disabled","Clear search input":"Clear search input","Click on this icon":"Click on this icon","Close":"Close","Close all but current":"Close all but current","Collapse all":"Collapse all","Configuration not saved.":"Configuration not saved.","Convert blockly to javascript for ever.":"Permanently convert Blockly to Javascript.","Copy script":"Copy script","Copy to clipboard":"Copy to clipboard","Download as file":"Download as file","Create new":"Create new","Create new folder":"Create new folder","Create new script":"Create new script","Create or edit CRON or time wizard":"Create or edit CRON or time wizard","Dark Theme":"Dark theme","Dark style":"Dark style","Debug options":"Debug options","December":"December","Define cron...":"Define cron...","Define schedule...":"Define schedule...","Delete":"Delete","Delete %s":"Delete %s...","Delete folder":"Delete folder","Delete script":"Delete script","Deselect all":"Deselect all","Discard changes for %s":"Discard changes for %s","Done":"Done","Drop some files here or click...":"Drop some files here or click...","Edit script or just double click":"Edit script or just double click","End search mode":"End search mode","Error":"Error","Error was found":"Error was found","Existing scripts will be overwritten.":"Existing scripts will be overwritten.","Expand all":"Expand all","Expert mode":"Expert mode","Export":"Export","Export all scripts":"Export all scripts","Export blocks":"Export blocks","Export selected blocks":"Export selected blocks","February":"February","Folder":"Folder","Friday":"Friday","Function editor":"Function editor","ID":"ID","Import":"Import","Import blocks":"Import blocks","Import error":"Import error","Import scripts":"Import scripts","Insert object ID":"Insert object ID","Instance":"Instance","Instance is disabled":"Instance is disabled","Invalid CRON":"Invalid CRON","It will not be possible to revert this operation.":"It will not be possible to revert this operation.","JS description":"Creating rules by writing Javascript","January":"January","July":"July","June":"June","Learn More":"Learn More","Light style":"Light style","Locate file":"Locate file","Log outputs":"Log outputs","March":"March","May":"May","Menu":"Menu","Message":"Message","Monday":"Monday","Name":"Name","No active host found":"No active host found","November":"November","October":"October","Ok":"Ok","On weekdays":"On weekdays","Pause script":"Pause script","Please select object ID...":"Please select object ID...","Rename":"Rename","Reorder scripts in folders":"Reorder scripts in folders","Repeat":"Repeat","Restart":"Restart","Root folder":"Root folder","Run script":"Run script","Saturday":"Saturday","Save":"Save","Script":"Script","Script %s was modified on disk":"Script %s was modified on disk","Script is not running":"Script is not running","Search in scripts":"Search in scripts","Search...":"Search...","Select all":"Select all","September":"September","Show javascript code":"Show Javascript code","Show only paused scripts":"Show only paused scripts","Show only running scripts":"Show only running scripts","Show only scripts with problems":"Show only scripts with problems","Some files will be rejected":"Some files will be rejected","Sunday":"Sunday","TS description":"Creating rules by writing Typescript","Thursday":"Thursday","Tuesday":"Tuesday","Unknown error":"Unknown error","Unknown error!":"Unknown error!","Wednesday":"Wednesday","Yet exists!":"Yet exists!","copy":"copy","file reading has failed: %s":"file reading has failed: %s","file reading was aborted":"file reading was aborted","filter_func":"Function","filter_id":"ID","filter_name":"Name","filter_role":"Role","filter_room":"Room","for edit or create script":"for edit or create a new script","no blocks found":"No blocks found","no group":"NO GROUP","not properly connected":"This block is not properly connected to other blocks.","tooltip_ack":"Acknowledge","tooltip_from":"From","tooltip_lc":"Last changed","tooltip_quality":"Quality","tooltip_ts":"Timestamp","tooltip_user":"User","tooltip_value":"Value","use seconds":"use seconds","Save all":"Save all","Change theme (actual \\"%s\\")":"Change theme (now - \\"%s\\")","Hide logs":"Hide logs","Show logs":"Show logs","Rules description":"Create rules with IF, THEN, ELSE blocks","help_on_change":"The code will be executed only if the condition result changes. E.g. if triggering on the temperature sensor value and the condition is \\"if temperature is greater than 20\xb0C\\", the \\"then\\" actions will be executed once when temperature is over 20. Next time the \\"then\\" actions will be executed when the temperature fails under 20 and then rises over 20 again.","help_just_check":"The code will be executed only every time when condition is true. E.g. if triggering on the temperature sensor value and the condition is \\"if temperature is greater than 20\xb0C\\", the \\"then\\" actions will be executed every time when sensor sends the temperature and it is over 20\xb0C. By 21\xb0C, by 22\xb0C and so on.","On condition change":"On condition result change","Just check":"Just check","when":"when","and":"and","then":"then","or":"or","else":"else","Nothing found":"Nothing found","reset search":"reset search","Read only ID selected: %s":"Read only ID selected: %s","OK":"OK","Triggers":"Triggers","cron":"CRON","wizard":"Wizard","interval":"interval","at":"at","astro":"Astro","on condition change":"on condition change","just check":"just check","Explanation":"Explanation","seconds":"seconds","minutes":"minutes","hours":"hours","Every day":"Every day","milliseconds":"milliseconds","Copied":"Copied","nadir":"Nadir","nightEnd":"Night end","nauticalDawn":"Nautical dawn","dawn":"Dawn","sunrise":"sunrise","sunriseEnd":"Sunrise end","goldenHourEnd":"End of golden hour","solarNoon":"Solar noon","goldenHour":"Golden hour","sunsetStart":"Sunset start","sunset":"Sunset","dusk":"Dusk","nauticalDusk":"Nautical dusk","night":"Night","one":"one","two":"two","true":"true","false":"false","search":"search","Actions":"Actions","Conditions":"Conditions","Schedule":"Schedule","Start script":"Start script","State":"State","State condition":"State condition","Time condition":"Time condition","Set state action":"Set state action","Exec":"Exec shell","HTTP Call":"HTTP Call","Log text":"Log text","Pause":"Pause","on change":"on change","control":"control","Say It":"Say It","every hour at 0 minutes":"every hour at 0 minutes","On script save or adapter start":"On script save or adapter start","equal to":"equal to","Actual time of day":"Actual time of day","with":"with","Shell command":"Shell command","URL":"URL","Instance:":"Instance:","Language:":"Language:","Volume":"Volume","Text:":"Text:","undefined":"undefined","Default":"Default","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"You can use %s in the text to display current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","Instructions":"Instructions","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"You can use %s in the URL to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"You can use %s in the value to use the current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"You can use %s in the command to use current trigger value, %id to use the triggered object ID, %name to show triggered object ID name or %old to use old trigger value","every":"every","with offset":"with offset","on update":"on update","update":"update","Triggers the rule periodically or on some specific time":"Triggers the rule periodically or on some specific time","Triggers the on script saving or the javascript instance restart":"Triggers the on script saving or the javascript instance restart","Triggers the rule on update or change of some state":"Triggers the rule on update or change of some state","Compares the state value with user defined value":"Compares the state value with user defined value","Compares current time with the user specific time":"Compares current time with the user specific time","Control or update some state":"Control or update some state","Executes some shell command":"Executes some shell command","Make a HTTP get request":"Make a HTTP get request","Print some text in log":"Print some text in log","Make a pause between actions":"Make a pause between actions","Say some text via sayit adapter":"Say some text via sayit adapter","Telegram":"Telegram","User:":"User:","all":"all","Sends message via telegram":"Sends message via telegram","Sends an email":"Sends an email","Send email":"Send email","Sends message via pushover":"Sends message via pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Sends message via whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Sends message via Pushsafer","Pushsafer":"Pushsafer","To:":"To:","Subject:":"Subject:","Body:":"Body:","Title:":"Title:","Sound:":"Sound:","Priority:":"Priority:","magic":"magic","quiet":"quiet","normal":"normal","high-priority":"high-priority","acknowledgment":"acknowledgment","Phone:":"Phone:","(optional)":"(optional)","Vibration:":"Vibration:","lowest priority":"lowest priority","lower priority":"lower priority","normal priority":"normal priority","high priority":"high priority","highest priority":"highest priority","default":"default","All":"All","Write your own code":"Write your own code","User function":"User function","This is advances option. You can write your own code here and it will be executed on trigger":"This is advances option. You can write your own code here and it will be executed on trigger","greater than":"greater than","offset":"offset","Function":"Function","greater or equal to":"greater or equal to","less or equal to":"less or equal to","less than":"less than","not equal to":"not equal to","[equal]":"[equal]","[greater or equal]":"[greater or equal]","[greater]":"[greater]","[less or equal]":"[less or equal]","[less]":"[less]","[not equal]":"[not equal]","[includes]":"[includes]","[hysteresis]":"[hysteresis]","greater or equal":"greater or equal","less or equal":"less or equal","includes":"includes",".":".","()":"()","Mo":"Mo","Tu":"Tu","We":"We","Th":"Th","Fr":"Fr","Sa":"Sa","Su":"Su","Control or update some state with delay":"Control or update some state with delay","Delay":"Delay","ms":"ms","Set with delay":"Set with delay","clear running":"clear running","toggle value":"toggle value","Any month":"Any month","Any":"Any","with date":"with date","Date":"Date","Month":"Month","Januar":"Januar","Februar":"Februar","March ":"March ","Condition":"Condition","Limit":"Limit","The script will be stopped and must be activated manually after debugging. Continue?":"The script will be stopped and must be activated manually after debugging. Continue?","Yes":"Yes","Debug instance":"Debug instance","Resume execution":"Resume execution","Go to next line":"Go to next line","Step into function":"Step into function","Step out from function":"Step out from function","Stop on exception":"Stop on exception","Console":"Console","Stack":"Stack","Pause execution":"Pause execution","Simulate":"Simulate","Trigger with value":"Trigger with value","Value":"Value","Write":"Write","Ack":"Acknowledged","Start":"Start","Filter":"Filter","Instances":"Instances","Triggered":"Triggered","Function: executed":"Function: executed","Operate two states":"Operate two states","store in":"store in","ID1":"ID1","ID2":"ID2","Operations with two states":"Operations with two states","debug_label":"Debug","debug_help":"This is a special mode in which states and objects will not change. But only information about each planned change will be displayed in the protocol.","verbose_label":"Verbose log outputs","verbose_help":"Adds debug output to the log for many system commands","easy":"easy","for programmers":"for programmers","for professionals":"for professionals","Duplicate name":"Duplicate name","Empty name is not allowed":"Empty name is not allowed","Time":"Time","Server time":"Server time","Local time":"Local time","Description":"Description","nextSunrise":"Next Sunrise","nextSunset":"Next sunset","Astronomical events today":"Astronomical events today","Compares current time with astronomical event":"Compares current time with astronomical event","Show astronomical events":"Show astronomical events","Astronomical":"Astronomical","Enter your question":"Enter your request","Press Ctrl+Enter to get the answer":"Press Ctrl+Enter to get the answer","Ask":"Ask","Result":"Result","Use generated code":"Use generated code","No Chat GPT Key found":"No Chat GPT Key found","You have to enter OpenAI API key in the configuration of javascript adapter.":"You have to enter OpenAI API key in the configuration of javascript adapter.","Open configuration":"Open configuration"}')},55117:e=>{e.exports=JSON.parse('{"-":"-","Add":"A\xf1adir","Add new script":"Agregar nuevo script","All files will be accepted":"Todos los archivos ser\xe1n aceptados.","April":"abril","Are you sure?":"\xbfEst\xe1s seguro?","August":"agosto","Blockly description":"Crear reglas por bloques gr\xe1ficos","Cancel":"Cancelar","Cannot delete non empty item!":"\xa1No se puede eliminar un elemento no vac\xedo!","Change layout":"Cambia el dise\xf1o","Check blocks":"Comprobar bloques","Check is not active, because javascript adapter is disabled":"La comprobaci\xf3n no est\xe1 activa porque el adaptador Javascript est\xe1 desactivado","Clear search input":"Borrar entrada de b\xfasqueda","Click on this icon":"Haga clic en este \xedcono","Close":"Cerrar","Close all but current":"Cerrar todo menos el actual","Collapse all":"Desplegar todo","Configuration not saved.":"Configuraci\xf3n no guardada.","Convert blockly to javascript for ever.":"Convierta instant\xe1neamente en bloque a Javascript.","Copy script":"Copiar guion","Copy to clipboard":"Copiar al portapapeles","Download as file":"Descargar como archivo","Create new":"Crear nuevo","Create new folder":"Crear nueva carpeta","Create new script":"Crear nuevo script","Create or edit CRON or time wizard":"Crear o editar CRON o asistente de tiempo","Dark Theme":"Tema oscuro","Dark style":"Estilo oscuro","Debug options":"Opciones de depuraci\xf3n","December":"diciembre","Define cron...":"Definir cron ...","Define schedule...":"Definir horario ...","Delete":"Eliminar","Delete %s":"Eliminar %s ...","Delete folder":"Eliminar carpeta","Delete script":"Eliminar gui\xf3n","Deselect all":"Deseleccionar todo","Discard changes for %s":"Descartar cambios para %s","Done":"Hecho","Drop some files here or click...":"Suelta algunos archivos aqu\xed o haz clic ...","Edit script or just double click":"Editar gui\xf3n o simplemente hacer doble clic","End search mode":"Fin del modo de b\xfasqueda","Error":"Error","Error was found":"Error encontrado","Existing scripts will be overwritten.":"Los guiones existentes se sobrescribir\xe1n.","Expand all":"Expandir todo","Expert mode":"Modo experto","Export":"Exportar","Export all scripts":"Exportar todos los scripts","Export blocks":"Exportar bloques","Export selected blocks":"Exportar bloques seleccionados","February":"febrero","Folder":"Carpeta","Friday":"viernes","Function editor":"Editor de funciones","ID":"CARN\xc9 DE IDENTIDAD","Import":"Importar","Import blocks":"Importar bloques","Import error":"Error de importaci\xf3n","Import scripts":"Importar guiones","Insert object ID":"Insertar ID de objeto","Instance":"Ejemplo","Instance is disabled":"La instancia est\xe1 deshabilitada","Invalid CRON":"CRON inv\xe1lido","It will not be possible to revert this operation.":"No ser\xe1 posible revertir esta operaci\xf3n.","JS description":"Crear reglas escribiendo Javascript","January":"enero","July":"julio","June":"junio","Learn More":"Aprende m\xe1s","Light style":"Estilo ligero","Locate file":"Localizar el archivo","Log outputs":"Salidas de registro","March":"marzo","May":"Mayo","Menu":"Men\xfa","Message":"Mensaje","Monday":"lunes","Name":"Nombre","No active host found":"No se encontr\xf3 un host activo","November":"noviembre","October":"octubre","Ok":"Okay","On weekdays":"De lunes a viernes","Pause script":"Pausar guion","Please select object ID...":"Por favor, seleccione la ID del objeto ...","Rename":"Rebautizar","Reorder scripts in folders":"Reordenar guiones en carpetas","Repeat":"Repetir","Restart":"Reiniciar","Root folder":"Carpeta ra\xedz","Run script":"Ejecutar gui\xf3n","Saturday":"s\xe1bado","Save":"Salvar","Script":"Gui\xf3n","Script %s was modified on disk":"El script %s fue modificado en el disco","Script is not running":"El script no se est\xe1 ejecutando","Search in scripts":"Buscar en guiones","Search...":"Buscar...","Select all":"Seleccionar todo","September":"septiembre","Show javascript code":"Mostrar c\xf3digo Javascript","Show only paused scripts":"Mostrar solo secuencias de comandos pausadas","Show only running scripts":"Mostrar solo scripts en ejecuci\xf3n","Show only scripts with problems":"Mostrar solo guiones con problemas","Some files will be rejected":"Algunos archivos ser\xe1n rechazados","Sunday":"domingo","TS description":"Crear reglas escribiendo el mecanografiado","Thursday":"jueves","Tuesday":"martes","Unknown error":"Error desconocido","Unknown error!":"\xa1Error desconocido!","Wednesday":"mi\xe9rcoles","Yet exists!":"\xa1Sin embargo existe!","copy":"Copiar","file reading has failed: %s":"la lectura del archivo ha fallado: %s","file reading was aborted":"la lectura del archivo fue abortada","filter_func":"Funci\xf3n","filter_id":"CARN\xc9 DE IDENTIDAD","filter_name":"Nombre","filter_role":"Papel","filter_room":"Habitaci\xf3n","for edit or create script":"para editar o crear un nuevo script","no blocks found":"No se encontraron bloques","no group":"NO GRUPO","not properly connected":"Este bloque no est\xe1 conectado correctamente a otros bloques.","tooltip_ack":"Reconocer","tooltip_from":"De","tooltip_lc":"\xdaltimo cambio","tooltip_quality":"Calidad","tooltip_ts":"Marca de tiempo","tooltip_user":"Usuario","tooltip_value":"Valor","use seconds":"usar segundos","Save all":"Salvar a todos","Change theme (actual \\"%s\\")":"Cambiar tema (ahora - \\"%s\\")","Hide logs":"Ocultar registros","Show logs":"Mostrar registros","Rules description":"Crea reglas con bloques IF, THEN, ELSE","help_on_change":"El c\xf3digo se ejecutar\xe1 solo si cambia el resultado de la condici\xf3n. P.ej. si se activa en el valor del sensor de temperatura y la condici\xf3n es \\"si la temperatura es superior a 20 \xb0 C\\", las acciones \\"entonces\\" se ejecutar\xe1n una vez cuando la temperatura sea superior a 20. La pr\xf3xima vez, las acciones \\"entonces\\" se ejecutar\xe1n cuando la temperatura falla por debajo de 20 y luego sube por encima de 20 nuevamente.","help_just_check":"El c\xf3digo se ejecutar\xe1 solo cada vez que la condici\xf3n sea verdadera. P.ej. si se activa en el valor del sensor de temperatura y la condici\xf3n es \\"si la temperatura es superior a 20 \xb0 C\\", las acciones \\"entonces\\" se ejecutar\xe1n cada vez que el sensor env\xede la temperatura y supere los 20 \xb0 C. Por 21 \xb0 C, por 22 \xb0 C y as\xed sucesivamente.","On condition change":"En condici\xf3n de cambio","Just check":"S\xf3lo revisa","when":"cuando","and":"y","then":"entonces","or":"o","else":"dem\xe1s","Nothing found":"Nada Encontrado","reset search":"restablecer la b\xfasqueda","Read only ID selected: %s":"ID de solo lectura seleccionado: %s","OK":"OK","Triggers":"Disparadores","cron":"CRON","wizard":"Wizard","interval":"intervalo","at":"a","astro":"astro","on condition change":"con cambio de condici\xf3n","just check":"S\xf3lo revisa","Explanation":"Explicaci\xf3n","seconds":"segundos","minutes":"minutos","hours":"horas","Every day":"Diario","milliseconds":"milisegundos","Copied":"Copiado","nadir":"nadir","nightEnd":"Fin de la noche","nauticalDawn":"Amanecer n\xe1utico","dawn":"Amanecer","sunrise":"amanecer","sunriseEnd":"Final del amanecer","goldenHourEnd":"Fin de la hora dorada","solarNoon":"Mediod\xeda solar","goldenHour":"hora dorada","sunsetStart":"Inicio al atardecer","sunset":"puesta de sol","dusk":"Oscuridad","nauticalDusk":"Atardecer n\xe1utico","night":"Noche","one":"uno","two":"dos","true":"cierto","false":"falso","search":"buscar","Actions":"Comportamiento","Conditions":"Condiciones","Schedule":"Calendario","Start script":"Iniciar guion","State":"Expresar","State condition":"Condici\xf3n del estado","Time condition":"Condici\xf3n de tiempo","Set state action":"Establecer acci\xf3n estatal","Exec":"Ejecutivo shell","HTTP Call":"Llamada HTTP","Log text":"Texto de registro","Pause":"Pausa","on change":"en el cambio","control":"control","Say It":"Say It","every hour at 0 minutes":"cada hora a los 0 minutos","On script save or adapter start":"Al guardar el script o al iniciar el adaptador","equal to":"igual a","Actual time of day":"Hora real del d\xeda","with":"con","Shell command":"Comando de Shell","URL":"URL","Instance:":"Ejemplo:","Language:":"Idioma:","Volume":"Volumen","Text:":"Texto:","undefined":"indefinido","Default":"Defecto","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Puede usar %s en el texto para mostrar el valor de activaci\xf3n actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activaci\xf3n antiguo","Instructions":"Instrucciones","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Puede usar %s en la URL para usar el valor de activaci\xf3n actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activaci\xf3n antiguo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Puede usar %s en el valor para usar el valor de activaci\xf3n actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activaci\xf3n antiguo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Puede usar %s en el comando para usar el valor de activaci\xf3n actual, %id para usar el ID de objeto activado, %name para mostrar el nombre de ID de objeto activado o %old para usar el valor de activaci\xf3n anterior","every":"cada","with offset":"con desplazamiento","on update":"en actualizaci\xf3n","update":"actualizar","Triggers the rule periodically or on some specific time":"Activa la regla peri\xf3dicamente o en un momento espec\xedfico","Triggers the on script saving or the javascript instance restart":"Activa el guardado de la secuencia de comandos o el reinicio de la instancia de JavaScript","Triggers the rule on update or change of some state":"Activa la regla de actualizaci\xf3n o cambio de alg\xfan estado","Compares the state value with user defined value":"Compara el valor del estado con el valor definido por el usuario","Compares current time with the user specific time":"Compara la hora actual con la hora espec\xedfica del usuario","Control or update some state":"Controlar o actualizar alg\xfan estado","Executes some shell command":"Ejecuta alg\xfan comando de shell","Make a HTTP get request":"Realizar una solicitud de obtenci\xf3n HTTP","Print some text in log":"Imprime texto en el registro","Make a pause between actions":"Hacer una pausa entre acciones","Say some text via sayit adapter":"Di un mensaje de texto a trav\xe9s del adaptador sayit","Telegram":"Telegrama","User:":"Usuario:","all":"todos","Sends message via telegram":"Env\xeda mensaje por telegrama","Sends an email":"Env\xeda un correo electr\xf3nico","Send email":"Enviar correo electr\xf3nico","Sends message via pushover":"Env\xeda un mensaje a trav\xe9s de un pushover","Pushover":"Persona f\xe1cil de convencer","Sends message via whatsapp-cmb":"Env\xeda mensaje v\xeda whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Env\xeda mensaje a trav\xe9s de Pushsafer","Pushsafer":"Pushsafer","To:":"A:","Subject:":"Sujeto:","Body:":"Cuerpo:","Title:":"T\xedtulo:","Sound:":"Sonido:","Priority:":"Prioridad:","magic":"magia","quiet":"tranquilo","normal":"normal","high-priority":"alta prioridad","acknowledgment":"Reconocimiento","Phone:":"Tel\xe9fono:","(optional)":"(Opcional)","Vibration:":"Vibraci\xf3n:","lowest priority":"prioridad m\xe1s baja","lower priority":"prioridad m\xe1s baja","normal priority":"prioridad normal","high priority":"alta prioridad","highest priority":"m\xe1s alta prioridad","default":"defecto","All":"Todos","Write your own code":"Escribe tu propio c\xf3digo","User function":"Funci\xf3n de usuario","This is advances option. You can write your own code here and it will be executed on trigger":"Esta es la opci\xf3n de avances. Puede escribir su propio c\xf3digo aqu\xed y se ejecutar\xe1 en el disparador","greater than":"mas grande que","offset":"compensar","Function":"Funci\xf3n","greater or equal to":"mayor o igual a","less or equal to":"menor o igual a","less than":"menos que","not equal to":"no igual a","[equal]":"[igual]","[greater or equal]":"[mayor o igual]","[greater]":"[mayor que]","[less or equal]":"[menor o igual]","[less]":"[menos]","[not equal]":"[no es igual]","[includes]":"[incluye]","[hysteresis]":"[hist\xe9resis]","greater or equal":"mayor o igual","less or equal":"menor o igual","includes":"incluye",".":".","()":"()","Mo":"Mes","Tu":"Tu","We":"3","Th":"4","Fr":"P.","Sa":"Sa","Su":"Su","Control or update some state with delay":"Controlar o actualizar alg\xfan estado con retraso","Delay":"Demora","ms":"ms","Set with delay":"Establecer con retraso","clear running":"carrera clara","toggle value":"alternar valor","Any month":"Cualquier mes","Any":"Alguna","with date":"con fecha","Date":"Fecha","Month":"Mes","Januar":"Enero","Februar":"Februar","March ":"marzo","Condition":"Condici\xf3n","Limit":"L\xedmite","The script will be stopped and must be activated manually after debugging. Continue?":"El script se detendr\xe1 y deber\xe1 activarse manualmente despu\xe9s de la depuraci\xf3n. \xbfContinuar?","Yes":"s\xed","Debug instance":"Instancia de depuraci\xf3n","Resume execution":"Reanudar ejecuci\xf3n","Go to next line":"Ir a la siguiente l\xednea","Step into function":"Entra en funci\xf3n","Step out from function":"Sal de la funci\xf3n","Stop on exception":"Det\xe9ngase en excepci\xf3n","Console":"Consola","Stack":"Stack","Pause execution":"Pausar ejecuci\xf3n","Simulate":"Simular","Trigger with value":"Activar con valor","Value":"Valor","Write":"Escribir","Ack":"Admitido","Start":"Comienzo","Filter":"Filtrar","Instances":"Instancias","Triggered":"Motivado","Function: executed":"Funci\xf3n: ejecutada","Operate two states":"Operar dos estados","store in":"almacenar en","ID1":"ID1","ID2":"ID2","Operations with two states":"Operaciones con dos estados","debug_label":"Depurar","debug_help":"Este es un modo especial en el que los estados y los objetos no cambiar\xe1n. Pero solo se mostrar\xe1 informaci\xf3n sobre cada cambio planificado en el protocolo.","verbose_label":"Salidas de registro detalladas","verbose_help":"Agrega salida de depuraci\xf3n al registro para muchos comandos del sistema","easy":"f\xe1cil","for programmers":"para programadores","for professionals":"para profesionales","Duplicate name":"Nombre duplicado","Empty name is not allowed":"No se permite el nombre vac\xedo","Time":"Tiempo","Server time":"Tiempo del servidor","Local time":"Hora local","Description":"Descripci\xf3n","nextSunrise":"pr\xf3ximo amanecer","nextSunset":"Pr\xf3xima puesta de sol","Astronomical events today":"Eventos astron\xf3micos hoy","Compares current time with astronomical event":"Compara la hora actual con un evento astron\xf3mico","Show astronomical events":"Mostrar eventos astron\xf3micos","Astronomical":"Astron\xf3mico","Enter your question":"Ingrese su solicitud","Press Ctrl+Enter to get the answer":"Presiona Ctrl+Enter para obtener la respuesta","Ask":"Preguntar","Result":"Resultado","Use generated code":"Usar c\xf3digo generado","No Chat GPT Key found":"No se ha encontrado ninguna clave GPT de chat","You have to enter OpenAI API key in the configuration of javascript adapter.":"Debe ingresar la clave API de OpenAI en la configuraci\xf3n del adaptador de JavaScript.","Open configuration":"Configuraci\xf3n abierta"}')},86115:e=>{e.exports=JSON.parse('{"-":"-","Add":"Ajouter","Add new script":"Ajouter un nouveau script","All files will be accepted":"Tous les fichiers seront accept\xe9s","April":"avril","Are you sure?":"\xcates-vous s\xfbr?","August":"ao\xfbt","Blockly description":"Cr\xe9ation de r\xe8gles par blocs graphiques","Cancel":"Annuler","Cannot delete non empty item!":"Impossible de supprimer un \xe9l\xe9ment non vide!","Change layout":"Changer la disposition","Check blocks":"V\xe9rifier les blocs","Check is not active, because javascript adapter is disabled":"La v\xe9rification n\'est pas active, car l\'adaptateur Javascript est d\xe9sactiv\xe9","Clear search input":"Effacer la recherche","Click on this icon":"Cliquez sur cette ic\xf4ne","Close":"proche","Close all but current":"Ferme tout sauf courant","Collapse all":"R\xe9duire tout","Configuration not saved.":"Configuration non enregistr\xe9e.","Convert blockly to javascript for ever.":"Convertissez instantan\xe9ment en Javascript.","Copy script":"Copier le script","Copy to clipboard":"Copier dans le presse-papier","Download as file":"T\xe9l\xe9charger le fichier","Create new":"Cr\xe9er un nouveau","Create new folder":"Cr\xe9er un nouveau dossier","Create new script":"Cr\xe9er un nouveau script","Create or edit CRON or time wizard":"Cr\xe9er ou \xe9diter CRON ou un assistant de temps","Dark Theme":"Th\xe8me sombre","Dark style":"Style sombre","Debug options":"Options de d\xe9bogage","December":"d\xe9cembre","Define cron...":"D\xe9finir le cron ...","Define schedule...":"D\xe9finir le calendrier ...","Delete":"Effacer","Delete %s":"Supprimer %s ...","Delete folder":"Supprimer le dossier","Delete script":"Supprimer le script","Deselect all":"Tout d\xe9selectionner","Discard changes for %s":"Ignorer les modifications pour %s","Done":"Termin\xe9","Drop some files here or click...":"D\xe9poser des fichiers ici ou cliquez sur ...","Edit script or just double click":"Modifiez le script ou double-cliquez simplement sur","End search mode":"Fin du mode de recherche","Error":"Erreur","Error was found":"Une erreur a \xe9t\xe9 trouv\xe9e","Existing scripts will be overwritten.":"Les scripts existants seront \xe9cras\xe9s.","Expand all":"D\xe9velopper tout","Expert mode":"Mode expert","Export":"Exportation","Export all scripts":"Exporter tous les scripts","Export blocks":"Blocs d\'exportation","Export selected blocks":"Exporter les blocs s\xe9lectionn\xe9s","February":"f\xe9vrier","Folder":"Dossier","Friday":"Vendredi","Function editor":"\xc9diteur de fonction","ID":"ID","Import":"Importation","Import blocks":"Blocs d\'importation","Import error":"Erreur d\'importation","Import scripts":"Importer des scripts","Insert object ID":"Ins\xe9rer un identifiant d\'objet","Instance":"Exemple","Instance is disabled":"L\'instance est d\xe9sactiv\xe9e","Invalid CRON":"CRON invalide","It will not be possible to revert this operation.":"Il ne sera pas possible de revenir sur cette op\xe9ration.","JS description":"Cr\xe9er des r\xe8gles en \xe9crivant du Javascript","January":"janvier","July":"juillet","June":"juin","Learn More":"Apprendre encore plus","Light style":"Style de lumi\xe8re","Locate file":"Localiser le fichier","Log outputs":"Journal des sorties","March":"Mars","May":"Mai","Menu":"M e n u","Message":"Message","Monday":"Lundi","Name":"Nom","No active host found":"Aucun h\xf4te actif trouv\xe9","November":"novembre","October":"octobre","Ok":"D\'accord","On weekdays":"En semaine","Pause script":"Script de pause","Please select object ID...":"Veuillez s\xe9lectionner l\'ID d\'objet ...","Rename":"Renommer","Reorder scripts in folders":"R\xe9organiser les scripts dans des dossiers","Repeat":"R\xe9p\xe9ter","Restart":"Red\xe9marrer","Root folder":"Dossier racine","Run script":"Script de lancement","Saturday":"samedi","Save":"sauver","Script":"Sc\xe9nario","Script %s was modified on disk":"Le script %s a \xe9t\xe9 modifi\xe9 sur le disque","Script is not running":"Le script n\'est pas en cours d\'ex\xe9cution","Search in scripts":"Rechercher dans les scripts","Search...":"Chercher...","Select all":"Tout s\xe9lectionner","September":"septembre","Show javascript code":"Afficher le code Javascript","Show only paused scripts":"Afficher uniquement les scripts en pause","Show only running scripts":"Afficher uniquement les scripts en cours d\'ex\xe9cution","Show only scripts with problems":"Afficher uniquement les scripts avec des probl\xe8mes","Some files will be rejected":"Certains fichiers seront rejet\xe9s","Sunday":"dimanche","TS description":"Cr\xe9er des r\xe8gles en \xe9crivant des caract\xe8res dactylographi\xe9s","Thursday":"Jeudi","Tuesday":"Mardi","Unknown error":"Erreur inconnue","Unknown error!":"Erreur inconnue!","Wednesday":"Mercredi","Yet exists!":"Pourtant existe!","copy":"copie","file reading has failed: %s":"La lecture du fichier a \xe9chou\xe9: %s","file reading was aborted":"la lecture du fichier a \xe9t\xe9 abandonn\xe9e","filter_func":"Une fonction","filter_id":"ID","filter_name":"Nom","filter_role":"R\xf4le","filter_room":"Pi\xe8ce","for edit or create script":"pour \xe9diter ou cr\xe9er un nouveau script","no blocks found":"Aucun bloc trouv\xe9","no group":"PAS DE GROUPE","not properly connected":"Ce bloc n\'est pas correctement connect\xe9 \xe0 d\'autres blocs.","tooltip_ack":"Reconna\xeetre","tooltip_from":"De","tooltip_lc":"Derni\xe8re modification","tooltip_quality":"Qualit\xe9","tooltip_ts":"Horodatage","tooltip_user":"Utilisateur","tooltip_value":"Valeur","use seconds":"utiliser les secondes","Save all":"Sauver tous","Change theme (actual \\"%s\\")":"Changer de th\xe8me (maintenant - \\"%s\\")","Hide logs":"Masquer les journaux","Show logs":"Afficher les journaux","Rules description":"Cr\xe9er des r\xe8gles avec des blocs IF, THEN, ELSE","help_on_change":"Le code ne sera ex\xe9cut\xe9 que si le r\xe9sultat de la condition change. Par exemple. si le d\xe9clenchement sur la valeur du capteur de temp\xe9rature et que la condition est \xabsi la temp\xe9rature est sup\xe9rieure \xe0 20 \xb0 C\xbb, les actions \xabalors\xbb seront ex\xe9cut\xe9es une fois lorsque la temp\xe9rature est sup\xe9rieure \xe0 20. La prochaine fois, les actions \xabalors\xbb seront ex\xe9cut\xe9es lorsque la temp\xe9rature \xe9choue sous 20 puis remonte au-dessus de 20.","help_just_check":"Le code ne sera ex\xe9cut\xe9 que chaque fois que la condition est vraie. Par exemple. si d\xe9clenchement sur la valeur du capteur de temp\xe9rature et que la condition est \xabsi la temp\xe9rature est sup\xe9rieure \xe0 20 \xb0 C\xbb, les actions \xabalors\xbb seront ex\xe9cut\xe9es \xe0 chaque fois que le capteur envoie la temp\xe9rature et qu\'elle est sup\xe9rieure \xe0 20 \xb0 C. \xc0 21 \xb0 C, \xe0 22 \xb0 C et ainsi de suite.","On condition change":"En cas de changement de condition","Just check":"V\xe9rifiez simplement","when":"lorsque","and":"et","then":"alors","or":"ou","else":"autre","Nothing found":"Rien n\'a \xe9t\xe9 trouv\xe9","reset search":"R\xe9initialiser la recherche","Read only ID selected: %s":"ID en lecture seule s\xe9lectionn\xe9: %s","OK":"OK","Triggers":"D\xe9clencheurs","cron":"CRON","wizard":"Wizard","interval":"intervalle","at":"\xe0","astro":"astro","on condition change":"sur changement de condition","just check":"V\xe9rifiez simplement","Explanation":"Explication","seconds":"secondes","minutes":"minutes","hours":"les heures","Every day":"Tous les jours","milliseconds":"millisecondes","Copied":"Copi\xe9","nadir":"nadir","nightEnd":"Fin de nuit","nauticalDawn":"Aube nautique","dawn":"Aube","sunrise":"lever du soleil","sunriseEnd":"Fin du lever du soleil","goldenHourEnd":"Fin de l\'heure d\'or","solarNoon":"Midi solaire","goldenHour":"Heure d\'or","sunsetStart":"D\xe9but du coucher du soleil","sunset":"le coucher du soleil","dusk":"Cr\xe9puscule","nauticalDusk":"Cr\xe9puscule nautique","night":"Nuit","one":"une","two":"deux","true":"vrai","false":"faux","search":"chercher","Actions":"Actions","Conditions":"Conditions","Schedule":"Horaire","Start script":"Lancer le script","State":"\xc9tat","State condition":"\xc9tat condition","Time condition":"Condition de temps","Set state action":"D\xe9finir l\'action de l\'\xe9tat","Exec":"Exec shell","HTTP Call":"Appel HTTP","Log text":"Texte du journal","Pause":"Pause","on change":"sur le changement","control":"contr\xf4ler","Say It":"Say It","every hour at 0 minutes":"toutes les heures \xe0 0 minute","On script save or adapter start":"Lors de l\'enregistrement du script ou du d\xe9marrage de l\'adaptateur","equal to":"\xe9gal \xe0","Actual time of day":"Heure r\xe9elle de la journ\xe9e","with":"avec","Shell command":"Commande Shell","URL":"URL","Instance:":"Exemple:","Language:":"Langue:","Volume":"Le volume","Text:":"Texte:","undefined":"ind\xe9fini","Default":"D\xe9faut","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans le texte pour afficher la valeur de d\xe9clenchement actuelle, %id pour utiliser l\'ID de l\'objet d\xe9clench\xe9, %name pour afficher le nom de l\'ID de l\'objet d\xe9clench\xe9 ou %old pour utiliser l\'ancienne valeur de d\xe9clenchement","Instructions":"Instructions","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans l\'URL pour utiliser la valeur de d\xe9clenchement actuelle, %id pour utiliser l\'ID de l\'objet d\xe9clench\xe9, %name pour afficher le nom de l\'ID de l\'objet d\xe9clench\xe9 ou %old pour utiliser l\'ancienne valeur de d\xe9clenchement","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Vous pouvez utiliser %s dans la valeur pour utiliser la valeur de d\xe9clenchement actuelle, %id pour utiliser l\'ID de l\'objet d\xe9clench\xe9, %name pour afficher le nom de l\'ID de l\'objet d\xe9clench\xe9 ou %old pour utiliser l\'ancienne valeur de d\xe9clenchement","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Vous pouvez utiliser %s dans la commande pour utiliser la valeur de d\xe9clenchement actuelle, %id pour utiliser l\'ID de l\'objet d\xe9clench\xe9, %name pour afficher le nom de l\'ID de l\'objet d\xe9clench\xe9 ou %old pour utiliser l\'ancienne valeur de d\xe9clenchement","every":"chaque","with offset":"avec offset","on update":"sur mise \xe0 jour","update":"mettre \xe0 jour","Triggers the rule periodically or on some specific time":"D\xe9clenche la r\xe8gle p\xe9riodiquement ou \xe0 une heure pr\xe9cise","Triggers the on script saving or the javascript instance restart":"D\xe9clenche l\'enregistrement du script ou le red\xe9marrage de l\'instance javascript","Triggers the rule on update or change of some state":"D\xe9clenche la r\xe8gle sur la mise \xe0 jour ou le changement d\'un \xe9tat","Compares the state value with user defined value":"Compare la valeur d\'\xe9tat avec la valeur d\xe9finie par l\'utilisateur","Compares current time with the user specific time":"Compare l\'heure actuelle avec l\'heure sp\xe9cifique de l\'utilisateur","Control or update some state":"Contr\xf4ler ou mettre \xe0 jour un \xe9tat","Executes some shell command":"Ex\xe9cute une commande shell","Make a HTTP get request":"Faire une requ\xeate HTTP Get","Print some text in log":"Imprimer du texte dans le journal","Make a pause between actions":"Faites une pause entre les actions","Say some text via sayit adapter":"Dites du texte via l\'adaptateur sayit","Telegram":"T\xe9l\xe9gramme","User:":"Utilisateur:","all":"tout","Sends message via telegram":"Envoie un message par t\xe9l\xe9gramme","Sends an email":"Envoie un e-mail","Send email":"Envoyer un e-mail","Sends message via pushover":"Envoie un message via pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Envoie un message via whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Envoie un message via Pushsafer","Pushsafer":"Pushsafer","To:":"\xc0:","Subject:":"Sujet:","Body:":"Corps:","Title:":"Titre:","Sound:":"Sonner:","Priority:":"Priorit\xe9:","magic":"la magie","quiet":"calmer","normal":"Ordinaire","high-priority":"haute priorit\xe9","acknowledgment":"reconnaissance","Phone:":"T\xe9l\xe9phone:","(optional)":"(optionnel)","Vibration:":"Vibration:","lowest priority":"priorit\xe9 la plus basse","lower priority":"priorit\xe9 inf\xe9rieure","normal priority":"priorit\xe9 normale","high priority":"haute priorit\xe9","highest priority":"priorit\xe9 la plus \xe9lev\xe9e","default":"d\xe9faut","All":"Tout","Write your own code":"\xc9crivez votre propre code","User function":"Fonction utilisateur","This is advances option. You can write your own code here and it will be executed on trigger":"C\'est une option avanc\xe9e. Vous pouvez \xe9crire votre propre code ici et il sera ex\xe9cut\xe9 au d\xe9clenchement","greater than":"plus grand que","offset":"d\xe9calage","Function":"Fonction","greater or equal to":"sup\xe9rieur ou \xe9gal \xe0","less or equal to":"inf\xe9rieur ou \xe9gal \xe0","less than":"moins que","not equal to":"pas \xe9gal \xe0","[equal]":"[\xe9gal]","[greater or equal]":"[sup\xe9rieur ou \xe9gal]","[greater]":"[plus grand]","[less or equal]":"[inf\xe9rieur ou \xe9gal]","[less]":"[moins]","[not equal]":"[in\xe9gal]","[includes]":"[comprend]","[hysteresis]":"[hyst\xe9r\xe8se]","greater or equal":"sup\xe9rieur ou \xe9gal","less or equal":"inf\xe9rieur ou \xe9gal","includes":"comprend",".":".","()":"()","Mo":"Mo","Tu":"Tu","We":"3","Th":"4","Fr":"Fr","Sa":"Sa","Su":"Su","Control or update some state with delay":"Contr\xf4ler ou mettre \xe0 jour un \xe9tat avec un d\xe9lai","Delay":"Retard","ms":"ms","Set with delay":"Set avec retard","clear running":"course claire","toggle value":"valeur de bascule","Any month":"N\'importe quel mois","Any":"Tout","with date":"avec date","Date":"Date","Month":"Mois","Januar":"Janvier","Februar":"F\xe9vrier","March ":"mars","Condition":"\xc9tat","Limit":"Limite","The script will be stopped and must be activated manually after debugging. Continue?":"Le script sera arr\xeat\xe9 et doit \xeatre activ\xe9 manuellement apr\xe8s le d\xe9bogage. Continuez?","Yes":"Oui","Debug instance":"Instance de d\xe9bogage","Resume execution":"Reprendre l\'ex\xe9cution","Go to next line":"Aller \xe0 la ligne suivante","Step into function":"Entrez dans la fonction","Step out from function":"Sortez de la fonction","Stop on exception":"Arr\xeat sur exception","Console":"Console","Stack":"Stack","Pause execution":"Suspendre l\'ex\xe9cution","Simulate":"Simuler","Trigger with value":"D\xe9clencheur avec valeur","Value":"Valeur","Write":"\xc9crivez","Ack":"Reconnu","Start":"D\xe9but","Filter":"Filtre","Instances":"Instances","Triggered":"D\xe9clench\xe9","Function: executed":"Fonction\xa0: ex\xe9cut\xe9e","Operate two states":"Op\xe9rer deux \xe9tats","store in":"stocker dans","ID1":"ID1","ID2":"ID2","Operations with two states":"Op\xe9rations \xe0 deux \xe9tats","debug_label":"D\xe9boguer","debug_help":"Il s\'agit d\'un mode sp\xe9cial dans lequel les \xe9tats et les objets ne changeront pas. Mais seules les informations sur chaque changement pr\xe9vu seront affich\xe9es dans le protocole.","verbose_label":"Sorties de journal d\xe9taill\xe9es","verbose_help":"Ajoute une sortie de d\xe9bogage au journal pour de nombreuses commandes syst\xe8me","easy":"facile","for programmers":"pour les programmeurs","for professionals":"pour les professionnels","Duplicate name":"Nom en double","Empty name is not allowed":"Le nom vide n\'est pas autoris\xe9","Time":"Temps","Server time":"Heure du serveur","Local time":"Heure locale","Description":"Description","nextSunrise":"Prochain lever de soleil","nextSunset":"Prochain coucher de soleil","Astronomical events today":"\xc9v\xe9nements astronomiques aujourd\'hui","Compares current time with astronomical event":"Compare l\'heure actuelle avec un \xe9v\xe9nement astronomique","Show astronomical events":"Afficher les \xe9v\xe9nements astronomiques","Astronomical":"Astronomique","Enter your question":"Entrez votre demande","Press Ctrl+Enter to get the answer":"Appuyez sur Ctrl+Entr\xe9e pour obtenir la r\xe9ponse","Ask":"Demander","Result":"R\xe9sultat","Use generated code":"Utiliser le code g\xe9n\xe9r\xe9","No Chat GPT Key found":"Aucune cl\xe9 GPT de chat trouv\xe9e","You have to enter OpenAI API key in the configuration of javascript adapter.":"Vous devez entrer la cl\xe9 API OpenAI dans la configuration de l\'adaptateur javascript.","Open configuration":"Configuration ouverte"}')},79399:e=>{e.exports=JSON.parse('{"-":"-","Add":"Inserisci","Add new script":"Aggiungi nuovo script","All files will be accepted":"Tutti i file saranno accettati","April":"aprile","Are you sure?":"Sei sicuro?","August":"agosto","Blockly description":"Creazione di regole tramite blocchi grafici","Cancel":"Annulla","Cannot delete non empty item!":"Impossibile eliminare l\'elemento non vuoto!","Change layout":"Cambia layout","Check blocks":"Controlla i blocchi","Check is not active, because javascript adapter is disabled":"Il controllo non \xe8 attivo perch\xe9 l\'adattatore Javascript \xe8 disabilitato","Clear search input":"Cancella input di ricerca","Click on this icon":"Clicca su questa icona","Close":"Vicino","Close all but current":"Chiudi tutto tranne corrente","Collapse all":"Comprimi tutto","Configuration not saved.":"Configurazione non salvata.","Convert blockly to javascript for ever.":"Converti istantaneamente a blocchi in Javascript.","Copy script":"Copia script","Copy to clipboard":"Copia negli appunti","Download as file":"Scarica come file","Create new":"Creare nuovo","Create new folder":"Crea una nuova cartella","Create new script":"Crea nuovo script","Create or edit CRON or time wizard":"Crea o modifica la procedura guidata CRON o time","Dark Theme":"Tema scuro","Dark style":"Stile scuro","Debug options":"Opzioni di debug","December":"dicembre","Define cron...":"Definisci cron ...","Define schedule...":"Definisci programma ...","Delete":"Elimina","Delete %s":"Elimina %s ...","Delete folder":"Elimina cartella","Delete script":"Elimina script","Deselect all":"Deselezionare tutto","Discard changes for %s":"Annulla modifiche per %s","Done":"Fatto","Drop some files here or click...":"Trascina alcuni file qui o fai clic su ...","Edit script or just double click":"Modifica lo script o fai doppio clic","End search mode":"Termina la modalit\xe0 di ricerca","Error":"Errore","Error was found":"Errore trovato","Existing scripts will be overwritten.":"Gli script esistenti verranno sovrascritti.","Expand all":"Espandi tutto","Expert mode":"Modalit\xe0 esperto","Export":"Esportare","Export all scripts":"Esporta tutti gli script","Export blocks":"Esporta blocchi","Export selected blocks":"Esporta i blocchi selezionati","February":"febbraio","Folder":"Cartella","Friday":"Venerd\xec","Function editor":"Editor di funzioni","ID":"ID","Import":"Importare","Import blocks":"Importa blocchi","Import error":"Errore di importazione","Import scripts":"Importa script","Insert object ID":"Inserisci l\'ID oggetto","Instance":"Esempio","Instance is disabled":"L\'istanza \xe8 disabilitata","Invalid CRON":"CRON non valido","It will not be possible to revert this operation.":"Non sar\xe0 possibile ripristinare questa operazione.","JS description":"Creare regole scrivendo Javascript","January":"gennaio","July":"luglio","June":"giugno","Learn More":"Per saperne di pi\xf9","Light style":"Stile leggero","Locate file":"Localizza file","Log outputs":"Registra le uscite","March":"marzo","May":"Maggio","Menu":"Menu","Message":"Messaggio","Monday":"Lunedi","Name":"Nome","No active host found":"Nessun host attivo trovato","November":"novembre","October":"ottobre","Ok":"Ok","On weekdays":"Nei giorni della settimana","Pause script":"Metti in pausa lo script","Please select object ID...":"Seleziona l\'ID oggetto ...","Rename":"Rinominare","Reorder scripts in folders":"Riordina gli script nelle cartelle","Repeat":"Ripetere","Restart":"Ricomincia","Root folder":"Cartella root","Run script":"Esegui script","Saturday":"Sabato","Save":"Salva","Script":"copione","Script %s was modified on disk":"Lo script %s \xe8 stato modificato sul disco","Script is not running":"Lo script non \xe8 in esecuzione","Search in scripts":"Cerca negli script","Search...":"Ricerca...","Select all":"Seleziona tutto","September":"settembre","Show javascript code":"Mostra codice Javascript","Show only paused scripts":"Mostra solo script in pausa","Show only running scripts":"Mostra solo gli script in esecuzione","Show only scripts with problems":"Mostra solo script con problemi","Some files will be rejected":"Alcuni file verranno rifiutati","Sunday":"Domenica","TS description":"Creare regole scrivendo dattiloscritto","Thursday":"giovedi","Tuesday":"marted\xec","Unknown error":"Errore sconosciuto","Unknown error!":"Errore sconosciuto!","Wednesday":"mercoled\xec","Yet exists!":"Esiste ancora!","copy":"copia","file reading has failed: %s":"lettura file non riuscita: %s","file reading was aborted":"la lettura del file \xe8 stata interrotta","filter_func":"Funzione","filter_id":"ID","filter_name":"Nome","filter_role":"Ruolo","filter_room":"Camera","for edit or create script":"per modificare o creare un nuovo script","no blocks found":"Nessun blocco trovato","no group":"NESSUN GRUPPO","not properly connected":"Questo blocco non \xe8 correttamente collegato ad altri blocchi.","tooltip_ack":"Riconoscere","tooltip_from":"A partire dal","tooltip_lc":"Ultima modifica","tooltip_quality":"Qualit\xe0","tooltip_ts":"timestamp","tooltip_user":"Utente","tooltip_value":"Valore","use seconds":"usa i secondi","Save all":"Salva tutto","Change theme (actual \\"%s\\")":"Cambia tema (ora - \\"%s\\")","Hide logs":"Nascondi i registri","Show logs":"Mostra i log","Rules description":"Crea regole con i blocchi IF, THEN, ELSE","help_on_change":"Il codice verr\xe0 eseguito solo se il risultato della condizione cambia. Per esempio. se si attiva il valore del sensore di temperatura e la condizione \xe8 \\"se la temperatura \xe8 maggiore di 20 \xb0 C\\", le azioni \\"allora\\" verranno eseguite una volta quando la temperatura \xe8 superiore a 20. La prossima volta le azioni \\"allora\\" verranno eseguite quando la temperatura fallisce sotto 20 e poi sale di nuovo oltre 20.","help_just_check":"Il codice verr\xe0 eseguito solo ogni volta che la condizione \xe8 vera. Per esempio. se si attiva il valore del sensore di temperatura e la condizione \xe8 \\"se la temperatura \xe8 maggiore di 20 \xb0 C\\", le azioni \\"allora\\" verranno eseguite ogni volta che il sensore invia la temperatura e questa \xe8 superiore a 20 \xb0 C. Di 21 \xb0 C, di 22 \xb0 C e cos\xec via.","On condition change":"A condizione che cambino","Just check":"Controlla solamente","when":"quando","and":"e","then":"poi","or":"o","else":"altro","Nothing found":"Non abbiamo trovato nulla","reset search":"resetta la ricerca","Read only ID selected: %s":"ID di sola lettura selezionato: %s","OK":"OK","Triggers":"Trigger","cron":"CRON","wizard":"procedura guidata","interval":"intervallo","at":"a","astro":"astro","on condition change":"a cambio di condizione","just check":"controlla solamente","Explanation":"Spiegazione","seconds":"secondi","minutes":"minuti","hours":"ore","Every day":"Ogni giorno","milliseconds":"millisecondi","Copied":"Copiato","nadir":"nadir","nightEnd":"Fine della notte","nauticalDawn":"Alba nautica","dawn":"alba","sunrise":"Alba","sunriseEnd":"Fine dell\'alba","goldenHourEnd":"Fine dell\'ora d\'oro","solarNoon":"Mezzogiorno solare","goldenHour":"Ora d\'oro","sunsetStart":"Inizio del tramonto","sunset":"tramonto","dusk":"crepuscolo","nauticalDusk":"Crepuscolo nautico","night":"Notte","one":"uno","two":"Due","true":"vero","false":"falso","search":"ricerca","Actions":"Azioni","Conditions":"Condizioni","Schedule":"Programma","Start script":"Avvia script","State":"Stato","State condition":"Condizione dello stato","Time condition":"Condizione temporale","Set state action":"Imposta l\'azione dello stato","Exec":"Execshell","HTTP Call":"Chiamata HTTP","Log text":"Testo del registro","Pause":"Pausa","on change":"sul cambiamento","control":"controllo","Say It":"Say It","every hour at 0 minutes":"ogni ora a 0 minuti","On script save or adapter start":"Al salvataggio dello script o all\'avvio dell\'adattatore","equal to":"uguale a","Actual time of day":"Ora effettiva della giornata","with":"con","Shell command":"Comando Shell","URL":"URL","Instance:":"Esempio:","Language:":"Linguaggio:","Volume":"Volume","Text:":"Testo:","undefined":"non definito","Default":"Predefinito","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"\xc8 possibile utilizzare %s nel testo per visualizzare il valore di trigger corrente, %id per utilizzare l\'ID dell\'oggetto attivato, %name per mostrare il nome dell\'ID dell\'oggetto attivato o %old per utilizzare il vecchio valore di trigger","Instructions":"Istruzioni","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"\xc8 possibile utilizzare %s nell\'URL per utilizzare il valore di trigger corrente, %id per utilizzare l\'ID dell\'oggetto attivato, %name per mostrare il nome dell\'ID dell\'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"\xc8 possibile utilizzare %s nel valore per utilizzare il valore di trigger corrente, %id per utilizzare l\'ID dell\'oggetto attivato, %name per mostrare il nome dell\'ID dell\'oggetto attivato o %old per utilizzare il vecchio valore di trigger","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"\xc8 possibile utilizzare %s nel comando per utilizzare il valore di trigger corrente, %id per utilizzare l\'ID dell\'oggetto attivato, %name per mostrare il nome dell\'ID dell\'oggetto attivato o %old per utilizzare il vecchio valore di trigger","every":"ogni","with offset":"con offset","on update":"in aggiornamento","update":"aggiornare","Triggers the rule periodically or on some specific time":"Attiva la regola periodicamente o in un momento specifico","Triggers the on script saving or the javascript instance restart":"Attiva il salvataggio dello script o il riavvio dell\'istanza javascript","Triggers the rule on update or change of some state":"Attiva la regola in caso di aggiornamento o modifica di uno stato","Compares the state value with user defined value":"Confronta il valore dello stato con il valore definito dall\'utente","Compares current time with the user specific time":"Confronta l\'ora corrente con l\'ora specifica dell\'utente","Control or update some state":"Controlla o aggiorna uno stato","Executes some shell command":"Esegue alcuni comandi della shell","Make a HTTP get request":"Effettua una richiesta get HTTP","Print some text in log":"Stampa del testo nel registro","Make a pause between actions":"Fai una pausa tra le azioni","Say some text via sayit adapter":"Pronuncia del testo tramite l\'adattatore sayit","Telegram":"Telegramma","User:":"Utente:","all":"tutti","Sends message via telegram":"Invia messaggio tramite telegramma","Sends an email":"Invia un\'e-mail","Send email":"Invia una email","Sends message via pushover":"Invia messaggio tramite pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Invia messaggio tramite whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Invia messaggio tramite Pushsafer","Pushsafer":"Pushsafer","To:":"Per:","Subject:":"Soggetto:","Body:":"Corpo:","Title:":"Titolo:","Sound:":"Suono:","Priority:":"Priorit\xe0:","magic":"Magia","quiet":"silenzioso","normal":"normale","high-priority":"priorit\xe0 alta","acknowledgment":"riconoscimento","Phone:":"Telefono:","(optional)":"(opzionale)","Vibration:":"Vibrazione:","lowest priority":"priorit\xe0 pi\xf9 bassa","lower priority":"priorit\xe0 inferiore","normal priority":"priorit\xe0 normale","high priority":"priorit\xe0 alta","highest priority":"massima priorit\xe0","default":"predefinito","All":"Tutti","Write your own code":"Scrivi il tuo codice","User function":"Funzione utente","This is advances option. You can write your own code here and it will be executed on trigger":"Questa \xe8 un\'opzione anticipata. Puoi scrivere il tuo codice qui e verr\xe0 eseguito al trigger","greater than":"pi\xf9 grande di","offset":"compensare","Function":"Funzione","greater or equal to":"maggiore o uguale a","less or equal to":"minore o uguale a","less than":"meno di","not equal to":"non uguale a","[equal]":"[pari]","[greater or equal]":"[maggiore o uguale]","[greater]":"[maggiore]","[less or equal]":"[minore o uguale]","[less]":"[Di meno]","[not equal]":"[non uguale]","[includes]":"[include]","[hysteresis]":"[isteresi]","greater or equal":"maggiore o uguale","less or equal":"inferiore o uguale","includes":"include",".":".","()":"()","Mo":"Mo","Tu":"Tu","We":"3","Th":"4","Fr":"P","Sa":"Sa","Su":"Su","Control or update some state with delay":"Controlla o aggiorna uno stato con ritardo","Delay":"Ritardo","ms":"ms","Set with delay":"Impostato con ritardo","clear running":"chiara esecuzione","toggle value":"alterna valore","Any month":"Ogni mese","Any":"Qualunque","with date":"con data","Date":"Data","Month":"Mese","Januar":"Januar","Februar":"Februar","March ":"marzo","Condition":"Condizione","Limit":"Limite","The script will be stopped and must be activated manually after debugging. Continue?":"Lo script verr\xe0 interrotto e dovr\xe0 essere attivato manualmente dopo il debug. Continua?","Yes":"s\xec","Debug instance":"Istanza di debug","Resume execution":"Riprendi esecuzione","Go to next line":"Vai alla riga successiva","Step into function":"Entra in funzione","Step out from function":"Esci dalla funzione","Stop on exception":"Ferma in caso di eccezione","Console":"Console","Stack":"Stack","Pause execution":"Metti in pausa l\'esecuzione","Simulate":"Simulare","Trigger with value":"Trigger con valore","Value":"Valore","Write":"Scrivi","Ack":"Riconosciuto","Start":"Cominciare","Filter":"Filtro","Instances":"istanze","Triggered":"Innescato","Function: executed":"Funzione: eseguita","Operate two states":"Gestisci due stati","store in":"conservare in","ID1":"ID1","ID2":"ID2","Operations with two states":"Operazioni con due stati","debug_label":"Debug","debug_help":"Questa \xe8 una modalit\xe0 speciale in cui gli stati e gli oggetti non cambieranno. Ma nel protocollo verranno visualizzate solo le informazioni su ogni modifica pianificata.","verbose_label":"Output di log dettagliati","verbose_help":"Aggiunge l\'output di debug al registro per molti comandi di sistema","easy":"facile","for programmers":"per i programmatori","for professionals":"per i professionisti","Duplicate name":"Nome duplicato","Empty name is not allowed":"Il nome vuoto non \xe8 consentito","Time":"Tempo","Server time":"Ora del server","Local time":"Ora locale","Description":"Descrizione","nextSunrise":"Prossima alba","nextSunset":"Prossimo tramonto","Astronomical events today":"Eventi astronomici oggi","Compares current time with astronomical event":"Confronta l\'ora corrente con l\'evento astronomico","Show astronomical events":"Mostra eventi astronomici","Astronomical":"Astronomico","Enter your question":"Inserisci la tua richiesta","Press Ctrl+Enter to get the answer":"Premi Ctrl+Invio per ottenere la risposta","Ask":"Chiedere","Result":"Risultato","Use generated code":"Usa il codice generato","No Chat GPT Key found":"Nessuna chiave GPT chat trovata","You have to enter OpenAI API key in the configuration of javascript adapter.":"Devi inserire la chiave API OpenAI nella configurazione dell\'adattatore javascript.","Open configuration":"Configurazione aperta"}')},43573:e=>{e.exports=JSON.parse('{"-":"-","Add":"Toevoegen","Add new script":"Nieuw script toevoegen","All files will be accepted":"Alle bestanden worden geaccepteerd","April":"april","Are you sure?":"Weet je zeker dat?","August":"augustus","Blockly description":"Regels maken door grafische blokken","Cancel":"annuleren","Cannot delete non empty item!":"Kan niet leeg item niet verwijderen!","Change layout":"Opmaak veranderen","Check blocks":"Controleer blokken","Check is not active, because javascript adapter is disabled":"Controle is niet actief, omdat Javascript-adapter is uitgeschakeld","Clear search input":"Zoekopdracht wissen","Click on this icon":"Klik op dit pictogram","Close":"Dichtbij","Close all but current":"Alles sluiten behalve huidig","Collapse all":"Alles inklappen","Configuration not saved.":"Configuratie niet opgeslagen.","Convert blockly to javascript for ever.":"Converteer direct blockly naar Javascript.","Copy script":"Kopieer script","Copy to clipboard":"Kopieer naar klembord","Download as file":"Download","Create new":"Maak nieuw","Create new folder":"Maak een nieuwe map","Create new script":"Maak een nieuw script","Create or edit CRON or time wizard":"Cre\xeber of bewerk CRON of tijdwizard","Dark Theme":"Donker thema","Dark style":"Donkere stijl","Debug options":"Foutopsporingsopties","December":"december","Define cron...":"Definieer cron ...","Define schedule...":"Definieer schema ...","Delete":"Verwijder","Delete %s":"%s verwijderen ...","Delete folder":"Verwijder map","Delete script":"Script verwijderen","Deselect all":"Deselecteer alles","Discard changes for %s":"Wijzigingen voor %s annuleren","Done":"Gedaan","Drop some files here or click...":"Zet hier enkele bestanden neer of klik op ...","Edit script or just double click":"Bewerk het script of dubbelklik erop","End search mode":"Zoekmodus be\xebindigen","Error":"Fout","Error was found":"Er is een fout gevonden","Existing scripts will be overwritten.":"Bestaande scripts worden overschreven.","Expand all":"Alles uitvouwen","Expert mode":"Expert modus","Export":"Exporteren","Export all scripts":"Exporteer alle scripts","Export blocks":"Blokken exporteren","Export selected blocks":"Exporteer geselecteerde blokken","February":"februari","Folder":"Map","Friday":"vrijdag","Function editor":"Functie-editor","ID":"ID kaart","Import":"Importeren","Import blocks":"Blokken importeren","Import error":"Importfout","Import scripts":"Scripts importeren","Insert object ID":"Object-ID invoegen","Instance":"Voorbeeld","Instance is disabled":"Exemplaar is uitgeschakeld","Invalid CRON":"Ongeldige CRON","It will not be possible to revert this operation.":"Het is niet mogelijk om deze bewerking terug te zetten.","JS description":"Regels maken door Javascript te schrijven","January":"januari","July":"juli","June":"juni","Learn More":"Leer meer","Light style":"Lichte stijl","Locate file":"Vind het bestand","Log outputs":"Log uitgangen","March":"maart","May":"mei","Menu":"Menu","Message":"Bericht","Monday":"maandag","Name":"Naam","No active host found":"Geen actieve host gevonden","November":"november","October":"oktober","Ok":"OK","On weekdays":"Op weekdagen","Pause script":"Pauzeer script","Please select object ID...":"Selecteer object-ID ...","Rename":"andere naam geven","Reorder scripts in folders":"Sorteer scripts in mappen opnieuw","Repeat":"Herhaling","Restart":"Herstarten","Root folder":"Hoofdmap","Run script":"Voer script uit","Saturday":"zaterdag","Save":"Opslaan","Script":"Script","Script %s was modified on disk":"Script %s is gewijzigd op schijf","Script is not running":"Script is niet actief","Search in scripts":"Zoeken in scripts","Search...":"Zoeken...","Select all":"Selecteer alles","September":"september","Show javascript code":"Javascript-code weergeven","Show only paused scripts":"Toon alleen onderbroken scripts","Show only running scripts":"Toon alleen actieve scripts","Show only scripts with problems":"Toon alleen scripts met problemen","Some files will be rejected":"Sommige bestanden worden geweigerd","Sunday":"zondag","TS description":"Regels maken door Typescript te schrijven","Thursday":"donderdag","Tuesday":"dinsdag","Unknown error":"Onbekende fout","Unknown error!":"Onbekende fout!","Wednesday":"woensdag","Yet exists!":"Toch bestaat!","copy":"kopi\xebren","file reading has failed: %s":"bestands lezen is mislukt: %s","file reading was aborted":"bestands lezen is afgebroken","filter_func":"Functie","filter_id":"ID kaart","filter_name":"Naam","filter_role":"Rol","filter_room":"Kamer","for edit or create script":"voor bewerken of een nieuw script maken","no blocks found":"Geen blokken gevonden","no group":"GEEN GROEP","not properly connected":"Dit blok is niet correct verbonden met andere blokken.","tooltip_ack":"Erkennen","tooltip_from":"Van","tooltip_lc":"Laatst gewijzigd","tooltip_quality":"Kwaliteit","tooltip_ts":"tijdstempel","tooltip_user":"Gebruiker","tooltip_value":"Waarde","use seconds":"gebruik seconden","Save all":"Sla alles op","Change theme (actual \\"%s\\")":"Thema wijzigen (nu - \\"%s\\")","Hide logs":"Verberg logboeken","Show logs":"Toon logboeken","Rules description":"Maak regels met IF, THEN, ELSE blokken","help_on_change":"De code wordt alleen uitgevoerd als het conditieresultaat verandert. Bijv. als de temperatuursensor wordt geactiveerd en de conditie is \\"als de temperatuur hoger is dan 20 \xb0 C\\", worden de \\"dan\\" -acties eenmaal uitgevoerd wanneer de temperatuur hoger is dan 20. De volgende keer worden de \\"dan\\" -acties uitgevoerd wanneer de temperatuur faalt onder de 20 en stijgt dan weer boven de 20.","help_just_check":"De code wordt alleen uitgevoerd als de voorwaarde waar is. Bijv. als het triggeren op de temperatuursensorwaarde en de conditie is \\"als de temperatuur hoger is dan 20 \xb0 C\\", zullen de \\"dan\\" acties worden uitgevoerd elke keer dat de sensor de temperatuur verzendt en deze hoger is dan 20 \xb0 C. Bij 21 \xb0 C, bij 22 \xb0 C enzovoort.","On condition change":"Op voorwaarde verandering","Just check":"Kijk maar","when":"wanneer","and":"en","then":"vervolgens","or":"of","else":"anders","Nothing found":"Niets gevonden","reset search":"reset zoeken","Read only ID selected: %s":"Alleen-lezen ID geselecteerd: %s","OK":"OK","Triggers":"Triggers","cron":"cron","wizard":"tovenaar","interval":"interval","at":"Bij","astro":"astro","on condition change":"op voorwaarde verandering","just check":"kijk maar","Explanation":"Uitleg","seconds":"seconden","minutes":"minuten","hours":"uren","Every day":"Elke dag","milliseconds":"milliseconden","Copied":"Gekopieerd","nadir":"nadir","nightEnd":"Einde van de nacht","nauticalDawn":"Nautische dageraad","dawn":"dageraad","sunrise":"zonsopkomst","sunriseEnd":"Einde zonsopgang","goldenHourEnd":"Einde van gouden uur","solarNoon":"Zonne-middag","goldenHour":"gouden uur","sunsetStart":"Begin van de zonsondergang","sunset":"zonsondergang","dusk":"schemer","nauticalDusk":"Nautische schemering","night":"nacht","one":"een","two":"twee","true":"waar","false":"false","search":"zoeken","Actions":"Acties","Conditions":"Voorwaarden","Schedule":"Schema","Start script":"Start het script","State":"Staat","State condition":"Staat staat","Time condition":"Tijdsvoorwaarde","Set state action":"Stel statusactie in","Exec":"Exec shell","HTTP Call":"HTTP-oproep","Log text":"Log tekst","Pause":"Pauze","on change":"bij verandering","control":"controle","Say It":"Say It","every hour at 0 minutes":"elk uur op 0 minuten","On script save or adapter start":"Bij het opslaan van het script of het starten van de adapter","equal to":"gelijk aan","Actual time of day":"Werkelijke tijd van de dag","with":"met","Shell command":"Shell-opdracht","URL":"URL","Instance:":"Voorbeeld:","Language:":"Taal:","Volume":"Volume","Text:":"Tekst:","undefined":"ongedefinieerd","Default":"Standaard","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"U kunt %s in de tekst gebruiken om de huidige triggerwaarde weer te geven, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam weer te geven of %old om de oude triggerwaarde te gebruiken","Instructions":"Instructies","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"U kunt %s in de URL gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"U kunt %s in de waarde gebruiken om de huidige triggerwaarde te gebruiken, %id om de geactiveerde object-ID te gebruiken, %name om de geactiveerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"U kunt %s in de opdracht gebruiken om de huidige triggerwaarde te gebruiken, %id om de getriggerde object-ID te gebruiken, %name om de getriggerde object-ID-naam te tonen of %old om de oude triggerwaarde te gebruiken","every":"elke","with offset":"met offset","on update":"bij update","update":"bijwerken","Triggers the rule periodically or on some specific time":"Activeert de regel periodiek of op een specifieke tijd","Triggers the on script saving or the javascript instance restart":"Activeert het opslaan van het script of het opnieuw opstarten van de JavaScript-instantie","Triggers the rule on update or change of some state":"Activeert de regel voor het bijwerken of wijzigen van een bepaalde staat","Compares the state value with user defined value":"Vergelijkt de statuswaarde met de door de gebruiker gedefinieerde waarde","Compares current time with the user specific time":"Vergelijkt de huidige tijd met de gebruikerspecifieke tijd","Control or update some state":"Beheer of update een bepaalde staat","Executes some shell command":"Voert een shell-commando uit","Make a HTTP get request":"Maak een HTTP-ophaalverzoek","Print some text in log":"Druk wat tekst af in het logboek","Make a pause between actions":"Pauzeer tussen acties","Say some text via sayit adapter":"Zeg wat tekst via de sayit-adapter","Telegram":"Telegram","User:":"Gebruiker:","all":"alle","Sends message via telegram":"Verzendt bericht via telegram","Sends an email":"Stuurt een e-mail","Send email":"E-mail verzenden","Sends message via pushover":"Stuurt bericht via pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Stuurt bericht via whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Stuurt bericht via Pushsafer","Pushsafer":"Duwijzer","To:":"Naar:","Subject:":"Onderwerpen:","Body:":"Lichaam:","Title:":"Titel:","Sound:":"Geluid:","Priority:":"Prioriteit:","magic":"magie","quiet":"stil","normal":"normaal","high-priority":"hoge prioriteit","acknowledgment":"erkenning","Phone:":"Telefoon:","(optional)":"(optioneel)","Vibration:":"Trilling:","lowest priority":"laagste prioriteit","lower priority":"lagere prioriteit","normal priority":"normale prioriteit","high priority":"hoge prioriteit","highest priority":"hoogste prioriteit","default":"standaard","All":"Alle","Write your own code":"Schrijf je eigen code","User function":"Gebruikersfunctie","This is advances option. You can write your own code here and it will be executed on trigger":"Dit is een voorschotoptie. U kunt hier uw eigen code schrijven en deze wordt bij een trigger uitgevoerd","greater than":"groter dan","offset":"compensatie","Function":"Functie","greater or equal to":"groter of gelijk aan","less or equal to":"minder of gelijk aan","less than":"minder dan","not equal to":"niet gelijk aan","[equal]":"[Gelijk]","[greater or equal]":"[groter of gelijk]","[greater]":"[groter]","[less or equal]":"[minder of gelijk]","[less]":"[minder]","[not equal]":"[niet gelijk]","[includes]":"[inclusief]","[hysteresis]":"[hysterese]","greater or equal":"groter of gelijk","less or equal":"minder of gelijk","includes":"omvat",".":".","()":"()","Mo":"Ma","Tu":"Di","We":"3","Th":"4","Fr":"Vr","Sa":"Za","Su":"Zo","Control or update some state with delay":"Beheer of update een bepaalde staat met vertraging","Delay":"Vertraging","ms":"ms","Set with delay":"Met vertraging ingesteld","clear running":"duidelijk rennen","toggle value":"schakelwaarde","Any month":"Elke maand","Any":"Ieder","with date":"met datum","Date":"Datum","Month":"Maand","Januar":"Januar","Februar":"Februari","March ":"maart","Condition":"Staat","Limit":"Begrenzing","The script will be stopped and must be activated manually after debugging. Continue?":"Het script wordt gestopt en moet na het debuggen handmatig worden geactiveerd. Doorgaan met?","Yes":"Ja","Debug instance":"Debug-instantie","Resume execution":"Uitvoering hervatten","Go to next line":"Ga naar de volgende regel","Step into function":"Stap in functie","Step out from function":"Stap uit de functie","Stop on exception":"Stop bij uitzondering","Console":"Troosten","Stack":"Stack","Pause execution":"Uitvoering pauzeren","Simulate":"Simuleren","Trigger with value":"Trigger met waarde","Value":"Waarde","Write":"Schrijven","Ack":"Erkend","Start":"Begin","Filter":"Filter","Instances":"Instanties","Triggered":"Veroorzaakt","Function: executed":"Functie: uitgevoerd","Operate two states":"Bedien twee toestanden:","store in":"opslaan in","ID1":"ID1","ID2":"ID2","Operations with two states":"Bewerkingen met twee toestanden","debug_label":"Debuggen","debug_help":"Dit is een speciale modus waarin toestanden en objecten niet veranderen. Maar alleen informatie over elke geplande wijziging wordt in het protocol weergegeven.","verbose_label":"Uitgebreide log-uitgangen","verbose_help":"Voegt foutopsporingsuitvoer toe aan het logboek voor veel systeemopdrachten","easy":"eenvoudig","for programmers":"voor programmeurs","for professionals":"voor professionals","Duplicate name":"Dubbele naam","Empty name is not allowed":"Lege naam is niet toegestaan","Time":"Tijd","Server time":"Servertijd","Local time":"Lokale tijd","Description":"Beschrijving","nextSunrise":"Volgende zonsopgang","nextSunset":"Volgende zonsondergang","Astronomical events today":"Astronomische gebeurtenissen vandaag","Compares current time with astronomical event":"Vergelijkt huidige tijd met astronomische gebeurtenis","Show astronomical events":"Laat astronomische gebeurtenissen zien","Astronomical":"Astronomisch","Enter your question":"Voer uw verzoek in","Press Ctrl+Enter to get the answer":"Druk op Ctrl+Enter om het antwoord te krijgen","Ask":"Vragen","Result":"Resultaat","Use generated code":"Gebruik gegenereerde code","No Chat GPT Key found":"Geen Chat GPT-sleutel gevonden","You have to enter OpenAI API key in the configuration of javascript adapter.":"U moet de OpenAI API-sleutel invoeren in de configuratie van de javascript-adapter.","Open configuration":"Configuratie openen"}')},28130:e=>{e.exports=JSON.parse('{"-":"-","Add":"Dodaj","Add new script":"Dodaj nowy skrypt","All files will be accepted":"Wszystkie pliki zostan\u0105 zaakceptowane","April":"Kwiecie\u0144","Are you sure?":"Jeste\u015b pewny?","August":"Sierpie\u0144","Blockly description":"Tworzenie regu\u0142 za pomoc\u0105 blok\xf3w graficznych","Cancel":"Odwo\u0142aj","Cannot delete non empty item!":"Nie mo\u017cna usun\u0105\u0107 niepustego elementu!","Change layout":"Zmiana uk\u0142adu","Check blocks":"Sprawd\u017a bloki","Check is not active, because javascript adapter is disabled":"Sprawdzanie nie jest aktywne, poniewa\u017c adapter Javascript jest wy\u0142\u0105czony","Clear search input":"Wyczy\u015b\u0107 dane wyszukiwania","Click on this icon":"Kliknij t\u0119 ikon\u0119","Close":"Zamknij","Close all but current":"Zamknij wszystkie opr\xf3cz bie\u017c\u0105cych","Collapse all":"Zwin\u0105\u0107 wszystkie","Configuration not saved.":"Konfiguracja nie zosta\u0142a zapisana.","Convert blockly to javascript for ever.":"Bezpowrotna konwersja Blockly na Javascript.","Copy script":"Skopiuj skrypt","Copy to clipboard":"Skopiuj do schowka","Download as file":"Download jako plik plik","Create new":"Utw\xf3rz nowy","Create new folder":"Utw\xf3rz nowy folder","Create new script":"Utw\xf3rz nowy skrypt","Create or edit CRON or time wizard":"Utw\xf3rz lub edytuj CRON lub kreator czasu","Dark Theme":"Ciemny schemat","Dark style":"Ciemny styl","Debug options":"Opcje debugowania","December":"Grudzie\u0144","Define cron...":"Zdefiniuj CRON ...","Define schedule...":"Zdefiniuj harmonogram ...","Delete":"Usu\u0144","Delete %s":"Usu\u0144 %s ...","Delete folder":"Usu\u0144 folder","Delete script":"Usu\u0144 skrypt","Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzu\u0107 zmiany dla %s","Done":"Gotowe","Drop some files here or click...":"Upu\u015b\u0107 niekt\xf3re pliki tutaj lub kliknij ...","Edit script or just double click":"Edytuj skrypt lub po prostu kliknij dwukrotnie","End search mode":"Zako\u0144cz tryb wyszukiwania","Error":"B\u0142\u0105d","Error was found":"B\u0142\u0105d zosta\u0142 znaleziony","Existing scripts will be overwritten.":"Istniej\u0105ce skrypty zostan\u0105 zast\u0105pione.","Expand all":"Rozwi\u0144 wszystkie","Expert mode":"Tryb ekspercki","Export":"Eksport","Export all scripts":"Wyeksportuj wszystkie skrypty","Export blocks":"Eksportuj bloki","Export selected blocks":"Eksportuj wybrane bloki","February":"Luty","Folder":"Folder","Friday":"Pi\u0105tek","Function editor":"Edytor funkcji","ID":"ID","Import":"Import","Import blocks":"Importuj bloki","Import error":"B\u0142\u0105d importowania","Import scripts":"Importuj skrypty","Insert object ID":"Wstaw identyfikator obiektu","Instance":"Instancja","Instance is disabled":"Instancja jest wy\u0142\u0105czona","Invalid CRON":"Nieprawid\u0142owy CRON","It will not be possible to revert this operation.":"Cofni\u0119cie tej operacji nie b\u0119dzie mo\u017cliwe.","JS description":"Tworzenie regu\u0142 w Javascript","January":"Stycze\u0144","July":"Lipiec","June":"Czerwiec","Learn More":"Ucz si\u0119 wi\u0119cej","Light style":"Lekki styl","Locate file":"Znajd\u017a plik","Log outputs":"Log dziennika","March":"Marzec","May":"Maj","Menu":"Menu","Message":"Wiadomo\u015b\u0107","Monday":"Poniedzia\u0142ek","Name":"Nazwa","No active host found":"Nie znaleziono aktywnego hosta","November":"Listopad","October":"Pa\u017adziernik","Ok":"Ok","On weekdays":"W dni powszednie","Pause script":"Wstrzymaj skrypt","Please select object ID...":"Wybierz identyfikator obiektu ...","Rename":"Przemianuj","Reorder scripts in folders":"Zmie\u0144 kolejno\u015b\u0107 skrypt\xf3w w folderach","Repeat":"Powt\xf3rz","Restart":"Uruchom ponownie","Root folder":"Folder g\u0142\xf3wny","Run script":"Uruchom skrypt","Saturday":"Sobota","Save":"Zapisz","Script":"Skrypt","Script %s was modified on disk":"Skrypt %s zosta\u0142 zmodyfikowany na dysku","Script is not running":"Skrypt nie dzia\u0142a","Search in scripts":"Szukaj w skryptach","Search...":"Szukaj...","Select all":"Zaznacz wszystko","September":"Wrzesie\u0144","Show javascript code":"Poka\u017c kod JavaScript","Show only paused scripts":"Poka\u017c tylko wstrzymane skrypty","Show only running scripts":"Poka\u017c tylko dzia\u0142aj\u0105ce skrypty","Show only scripts with problems":"Poka\u017c tylko skrypty z problemami","Some files will be rejected":"Niekt\xf3re pliki zostan\u0105 odrzucone","Sunday":"Niedziela","TS description":"Tworzenie regu\u0142 w Typescript","Thursday":"Czwartek","Tuesday":"Wtorek","Unknown error":"Nieznany b\u0142\u0105d","Unknown error!":"Nieznany b\u0142\u0105d!","Wednesday":"\u015aroda","Yet exists!":"A jednak istnieje!","copy":"Kopiuj","file reading has failed: %s":"odczyt pliku nie powi\xf3d\u0142 si\u0119: %s","file reading was aborted":"odczyt pliku zosta\u0142 przerwany","filter_func":"Funkcja","filter_id":"ID","filter_name":"Nazwa","filter_role":"Rola","filter_room":"Pok\xf3j","for edit or create script":"do edycji lub utw\xf3rz nowy skrypt","no blocks found":"Nie znaleziono blok\xf3w","no group":"BRAK GRUPY","not properly connected":"Ten blok nie jest poprawnie pod\u0142\u0105czony do innych blok\xf3w.","tooltip_ack":"Akceptuj","tooltip_from":"Od","tooltip_lc":"Ostatnia zmiana","tooltip_quality":"Jako\u015b\u0107","tooltip_ts":"Znacznik czasu","tooltip_user":"U\u017cytkownik","tooltip_value":"Warto\u015b\u0107","use seconds":"u\u017cyj sekund","Save all":"Zapisz wszystko","Change theme (actual \\"%s\\")":"Zmie\u0144 motyw (obecnie - \u201e%s\u201d)","Hide logs":"Ukryj dzienniki","Show logs":"Poka\u017c dzienniki","Rules description":"Tw\xf3rz regu\u0142y z blokami IF, THEN, ELSE","help_on_change":"Kod zostanie wykonany tylko wtedy, gdy wynik warunku ulegnie zmianie. Na przyk\u0142ad. je\u015bli wyzwalanie na warto\u015b\u0107 czujnika temperatury i warunek \u201eje\u015bli temperatura jest wy\u017csza ni\u017c 20 \xb0 C\u201d, to akcje \u201enast\u0119pnie\u201d zostan\u0105 wykonane raz, gdy temperatura przekroczy 20. Nast\u0119pnym razem dzia\u0142ania \u201enast\u0119pnie\u201d zostan\u0105 wykonane, gdy temperatura nie udaje si\u0119 poni\u017cej 20, a nast\u0119pnie ponownie wzrasta powy\u017cej 20.","help_just_check":"Kod zostanie wykonany tylko za ka\u017cdym razem, gdy warunek b\u0119dzie spe\u0142niony. Na przyk\u0142ad. je\u015bli wyzwalanie na warto\u015b\u0107 czujnika temperatury i warunek to \u201eje\u015bli temperatura jest wy\u017csza ni\u017c 20 \xb0 C\u201d, to dzia\u0142ania \u201enast\u0119pnie\u201d b\u0119d\u0105 wykonywane za ka\u017cdym razem, gdy czujnik wy\u015ble temperatur\u0119 i jest powy\u017cej 20 \xb0 C. O 21 \xb0 C, o 22 \xb0 C i tak dalej.","On condition change":"W przypadku zmiany warunk\xf3w","Just check":"Po prostu sprawd\u017a","when":"gdy","and":"i","then":"nast\u0119pnie","or":"lub","else":"inaczej","Nothing found":"Nic nie znaleziono","reset search":"zresetuj wyszukiwanie","Read only ID selected: %s":"Wybrano identyfikator tylko do odczytu: %s","OK":"OK","Triggers":"Wyzwalacze","cron":"CRON","wizard":"Wizard","interval":"interwa\u0142","at":"w","astro":"Astro","on condition change":"pod warunkiem zmiany warunk\xf3w","just check":"po prostu sprawd\u017a","Explanation":"Wyja\u015bnienie","seconds":"sekundy","minutes":"minuty","hours":"godziny","Every day":"Codziennie","milliseconds":"milisekund","Copied":"Skopiowano","nadir":"P\xf3\u0142noc s\u0142oneczna","nightEnd":"Koniec nocy","nauticalDawn":"\u017beglarski \u015bwit","dawn":"\u015awit","sunrise":"Wsch\xf3d s\u0142o\u0144ca","sunriseEnd":"Koniec wschodu s\u0142o\u0144ca","goldenHourEnd":"Koniec z\u0142otej godziny","solarNoon":"Po\u0142udnie s\u0142oneczne","goldenHour":"Z\u0142ota godzina","sunsetStart":"Pocz\u0105tek zachodu s\u0142o\u0144ca","sunset":"Zach\xf3d s\u0142o\u0144ca","dusk":"Zmierzch","nauticalDusk":"\u017beglarski zmierzch","night":"Noc","one":"jeden","two":"dwa","true":"prawda","false":"fa\u0142sz","search":"Szukaj","Actions":"Dzia\u0142ania","Conditions":"Warunki","Schedule":"Harmonogram","Start script":"Uruchom skrypt","State":"Stan","State condition":"Warunek stanu","Time condition":"Warunek czasowy","Set state action":"Ustaw stan dzia\u0142ania","Exec":"Uruchom shell","HTTP Call":"Po\u0142\u0105czenie HTTP","Log text":"Tekst dziennika","Pause":"Pauza","on change":"na zmian\u0119","control":"kontrola","Say It":"Wypowiedz","every hour at 0 minutes":"co godzin\u0119 po 0 minutach","On script save or adapter start":"Podczas zapisywania skryptu lub uruchamiania adaptera","equal to":"r\xf3wny","Actual time of day":"Aktualna pora dnia","with":"z","Shell command":"Polecenie pow\u0142oki","URL":"URL","Instance:":"Instancja:","Language:":"J\u0119zyk:","Volume":"Wolumen","Text:":"Tekst:","undefined":"nieokre\u015blony","Default":"Domy\u015blna","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Mo\u017cesz u\u017cy\u0107 %s w tek\u015bcie, aby wy\u015bwietli\u0107 aktualn\u0105 warto\u015b\u0107 wyzwalaj\u0105c\u0105, %id, aby u\u017cy\u0107 identyfikatora wyzwolonego obiektu, %name, aby wy\u015bwietli\u0107 nazw\u0119 identyfikatora wyzwolonego obiektu lub %old, aby u\u017cy\u0107 starej warto\u015bci wyzwalaj\u0105cej","Instructions":"Instrukcje","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Mo\u017cesz u\u017cy\u0107 %s w adresie URL, aby u\u017cy\u0107 bie\u017c\u0105cej warto\u015bci wyzwalacza, %id, aby u\u017cy\u0107 wyzwalanego identyfikatora obiektu, %name, aby wy\u015bwietli\u0107 nazw\u0119 identyfikatora wyzwalanego obiektu, lub %old, aby u\u017cy\u0107 starej warto\u015bci wyzwalacza","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Mo\u017cesz u\u017cy\u0107 %s w warto\u015bci, aby u\u017cy\u0107 bie\u017c\u0105cej warto\u015bci wyzwalacza, %id, aby u\u017cy\u0107 identyfikatora wyzwalanego obiektu, %name, aby wy\u015bwietli\u0107 nazw\u0119 identyfikatora wyzwalanego obiektu, lub %old, aby u\u017cy\u0107 starej warto\u015bci wyzwalacza","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Mo\u017cesz u\u017cy\u0107 %s w poleceniu, aby u\u017cy\u0107 bie\u017c\u0105cej warto\u015bci wyzwalaj\u0105cej, %id, aby u\u017cy\u0107 identyfikatora wyzwalanego obiektu, %name, aby wy\u015bwietli\u0107 nazw\u0119 identyfikatora wyzwalanego obiektu, lub %old, aby u\u017cy\u0107 starej warto\u015bci wyzwalaj\u0105cej","every":"ka\u017cdy","with offset":"z przesuni\u0119ciem","on update":"po aktualizacji","update":"aktualizacja","Triggers the rule periodically or on some specific time":"Uruchamia regu\u0142\u0119 okresowo lub w okre\u015blonym czasie","Triggers the on script saving or the javascript instance restart":"Uruchamia zapisywanie skryptu lub restart instancji javascript","Triggers the rule on update or change of some state":"Uruchamia regu\u0142\u0119 przy aktualizacji lub zmianie jakiego\u015b stanu","Compares the state value with user defined value":"Por\xf3wnuje warto\u015b\u0107 stanu z warto\u015bci\u0105 zdefiniowan\u0105 przez u\u017cytkownika","Compares current time with the user specific time":"Por\xf3wnuje aktualny czas z czasem okre\u015blonym przez u\u017cytkownika","Control or update some state":"Kontroluj lub aktualizuj stan","Executes some shell command":"Wykonuje polecenie pow\u0142oki","Make a HTTP get request":"Z\u0142\xf3\u017c \u017c\u0105danie HTTP get","Print some text in log":"Wydrukuj tekst w dzienniku","Make a pause between actions":"Zr\xf3b przerw\u0119 mi\u0119dzy czynno\u015bciami","Say some text via sayit adapter":"Powiedz tekst przez adapter sayit","Telegram":"Telegram","User:":"U\u017cytkownik:","all":"wszystko","Sends message via telegram":"Wysy\u0142a wiadomo\u015b\u0107 telegramem","Sends an email":"Wysy\u0142a e-mail","Send email":"Wys\u0142a\u0107 email","Sends message via pushover":"Wysy\u0142a wiadomo\u015b\u0107 przez pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Wysy\u0142a wiadomo\u015b\u0107 przez WhatsApp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Wysy\u0142a wiadomo\u015b\u0107 przez Pushsafer","Pushsafer":"Pushsafer","To:":"Do:","Subject:":"Temat:","Body:":"Tre\u015b\u0107:","Title:":"Tytu\u0142:","Sound:":"D\u017awi\u0119k:","Priority:":"Priorytet:","magic":"magia","quiet":"cisza","normal":"normalny","high-priority":"wysoki priorytet","acknowledgment":"potwierdzenie","Phone:":"Telefon:","(optional)":"(opcjonalny)","Vibration:":"Wibracja:","lowest priority":"najni\u017cszy priorytet","lower priority":"ni\u017cszy priorytet","normal priority":"normalny priorytet","high priority":"wysoki priorytet","highest priority":"najwy\u017cszy priorytet","default":"domy\u015blna","All":"Wszystko","Write your own code":"Napisz sw\xf3j w\u0142asny kod","User function":"Funkcja u\u017cytkownika","This is advances option. You can write your own code here and it will be executed on trigger":"To jest opcja zaawansowana. Mo\u017cesz tutaj napisa\u0107 w\u0142asny kod, kt\xf3ry zostanie wykonany po wyzwoleniu","greater than":"wi\u0119cej ni\u017c","offset":"przesuni\u0119cie","Function":"Funkcja","greater or equal to":"wi\u0119cej lub r\xf3wno","less or equal to":"mniej lub r\xf3wno","less than":"mniej ni\u017c","not equal to":"nie r\xf3wna si\u0119","[equal]":"[r\xf3wny]","[greater or equal]":"[wi\u0119ksze lub r\xf3wne]","[greater]":"[wi\u0119ksze]","[less or equal]":"[mniejsze lub r\xf3wne]","[less]":"[mniejsze]","[not equal]":"[nie r\xf3wne]","[includes]":"[obejmuje]","[hysteresis]":"[histereza]","greater or equal":"wi\u0119ksze lub r\xf3wne","less or equal":"mniejsze lub r\xf3wne","includes":"zawiera",".":".","()":"()","Mo":"Po","Tu":"Wt","We":"\u015ar","Th":"Cz","Fr":"Pt","Sa":"So","Su":"Nd","Control or update some state with delay":"Kontroluj lub aktualizuj jaki\u015b stan z op\xf3\u017anieniem","Delay":"Op\xf3\u017anienie","ms":"ms","Set with delay":"Ustaw z op\xf3\u017anieniem","clear running":"czyste uruchomienie","toggle value":"warto\u015b\u0107 prze\u0142\u0105czania","Any month":"Dowolny miesi\u0105c","Any":"Ka\u017cdy","with date":"z dat\u0105","Date":"Data","Month":"Miesi\u0105c","Januar":"Stycze\u0144","Februar":"Luty","March ":"Marzec ","Condition":"Stan","Limit":"Limit","The script will be stopped and must be activated manually after debugging. Continue?":"Skrypt zostanie zatrzymany i nale\u017cy go aktywowa\u0107 r\u0119cznie po debugowaniu. Kontyntynuj?","Yes":"Tak","Debug instance":"Debuguj instancj\u0119","Resume execution":"Wzn\xf3w wykonanie","Go to next line":"Przejd\u017a do nast\u0119pnej linii","Step into function":"Wejd\u017a do funkcji","Step out from function":"Wyjd\u017a z funkcji","Stop on exception":"Zatrzymaj si\u0119 na wyj\u0105tku","Console":"Konsola","Stack":"Stos","Pause execution":"Wstrzymaj wykonanie","Simulate":"Symulacja","Trigger with value":"Wyzwalacz z warto\u015bci\u0105","Value":"Warto\u015b\u0107","Write":"Pisa\u0107","Ack":"Potwierdzony","Start":"Pocz\u0105tek","Filter":"Filtr","Instances":"Instancje","Triggered":"Wyzwolony","Function: executed":"Funkcja: wykonywana","Operate two states":"Obs\u0142uguj dwa stany","store in":"przechowaj w","ID1":"ID1","ID2":"ID2","Operations with two states":"Operacje z dwoma stanami","debug_label":"Odpluskwi\u0107","debug_help":"Jest to specjalny tryb, w kt\xf3rym stany i obiekty si\u0119 nie zmieniaj\u0105. Jednak w protokole b\u0119d\u0105 wy\u015bwietlane tylko informacje o ka\u017cdej planowanej zmianie.","verbose_label":"Pe\u0142ne dane wyj\u015bciowe dziennika","verbose_help":"Dodaje wyniki debugowania do dziennika dla wielu polece\u0144 systemowych","easy":"\u0142atwy","for programmers":"dla programist\xf3w","for professionals":"dla profesjonalist\xf3w","Duplicate name":"Duplikat nazwy","Empty name is not allowed":"Pusta nazwa jest niedozwolona","Time":"Czas","Server time":"Czas serwera","Local time":"Czas lokalny","Description":"Opis","nextSunrise":"Nast\u0119pny wsch\xf3d s\u0142o\u0144ca","nextSunset":"Nast\u0119pny zach\xf3d s\u0142o\u0144ca","Astronomical events today":"Wydarzenia astronomiczne dzisiaj","Compares current time with astronomical event":"Por\xf3wnuje aktualny czas z wydarzeniem astronomicznym","Show astronomical events":"Poka\u017c wydarzenia astronomiczne","Astronomical":"Astronomiczny","Enter your question":"Wpisz swoj\u0105 pro\u015bb\u0119","Press Ctrl+Enter to get the answer":"Naci\u015bnij klawisze Ctrl+Enter, aby uzyska\u0107 odpowied\u017a","Ask":"Zapyta\u0107","Result":"Wynik","Use generated code":"U\u017cyj wygenerowanego kodu","No Chat GPT Key found":"Nie znaleziono klucza GPT czatu","You have to enter OpenAI API key in the configuration of javascript adapter.":"Nale\u017cy wprowadzi\u0107 klucz OpenAI API w konfiguracji adaptera javascript.","Open configuration":"Otwarta konfiguracja"}')},65909:e=>{e.exports=JSON.parse('{"-":"-","Add":"Adicionar","Add new script":"Adicionar novo script","All files will be accepted":"Todos os arquivos ser\xe3o aceitos","April":"abril","Are you sure?":"Voc\xea tem certeza?","August":"agosto","Blockly description":"Criando regras por blocos gr\xe1ficos","Cancel":"Cancelar","Cannot delete non empty item!":"N\xe3o pode ser deletar, porque n\xe3o est\xe1 vazio!","Change layout":"Alterar layout","Check blocks":"Verificar blocos","Check is not active, because javascript adapter is disabled":"A verifica\xe7\xe3o de sintaxe n\xe3o est\xe1 ativa porque o adaptador javascript n\xe3o est\xe1 rodando.","Clear search input":"Limpar entrada de pesquisa","Click on this icon":"Clique neste \xedcone","Close":"Fechar","Close all but current":"Fechar tudo, menos atual","Collapse all":"Recolher todos","Configuration not saved.":"Configura\xe7\xe3o n\xe3o esta salva.","Convert blockly to javascript for ever.":"Converter Blockly em Javascript permanentemente.","Copy script":"Copiar script","Copy to clipboard":"Copiar para \xe1rea de transfer\xeancia","Download as file":"Baixar como arquivo","Create new":"Crie um novo","Create new folder":"Criar nova pasta","Create new script":"Criar novo script","Create or edit CRON or time wizard":"Criar ou editar o assistente cron ou o assistente de hor\xe1rio","Dark Theme":"Layout escuro","Dark style":"Estilo escuro","Debug options":"Op\xe7\xf5es de depura\xe7\xe3o","December":"dezembro","Define cron...":"Definir cron...","Define schedule...":"Definir agendamento ...","Delete":"Deletar","Delete %s":"Deletar %s...","Delete folder":"Deletar pasta","Delete script":"Deletar script","Deselect all":"Desmarcar todos","Discard changes for %s":"Descartar altera\xe7\xf5es para %s","Done":"Pronto","Drop some files here or click...":"Solte alguns arquivos aqui ou clique em...","Edit script or just double click":"Edite o script ou clique duas vezes","End search mode":"Finalizar modo de pesquisa","Error":"Erro","Error was found":"Erro foi encontrado","Existing scripts will be overwritten.":"Os scripts existentes ser\xe3o substitu\xeddos.","Expand all":"Expandir todos","Expert mode":"Modo de especialista","Export":"Exporta\xe7\xe3o","Export all scripts":"Exportar todos os scripts","Export blocks":"Exportar blocos","Export selected blocks":"Exportar blocos selecionados","February":"fevereiro","Folder":"Pasta","Friday":"Sexta-feira","Function editor":"Editor de fun\xe7\xf5es","ID":"ID","Import":"Importar","Import blocks":"Importar blocos","Import error":"Erro de importa\xe7\xe3o","Import scripts":"Importar script","Insert object ID":"Inserir ID do objeto","Instance":"Inst\xe2ncia","Instance is disabled":"Inst\xe2ncia est\xe1 desativada","Invalid CRON":"CRON inv\xe1lido","It will not be possible to revert this operation.":"N\xe3o ser\xe1 poss\xedvel reverter esta opera\xe7\xe3o.","JS description":"Criando regras escrevendo Javascript","January":"janeiro","July":"julho","June":"junho","Learn More":"Aprender mais","Light style":"Estilo claro","Locate file":"Localize o arquivo","Log outputs":"Sa\xeddas de log","March":"mar\xe7o","May":"maio","Menu":"Menu","Message":"mensagem","Monday":"Segunda-feira","Name":"Nome","No active host found":"Nenhum host ativo encontrado","November":"novembro","October":"outubro","Ok":"Ok","On weekdays":"Nos dias \xfateis","Pause script":"Pausar script","Please select object ID...":"Selecione o ID do objeto...","Rename":"Renomear","Reorder scripts in folders":"Reordenar scripts em pastas","Repeat":"Repetir","Restart":"Reiniciar","Root folder":"Pasta principal","Run script":"Executar script","Saturday":"S\xe1bado","Save":"Salve","Script":"Script","Script %s was modified on disk":"O script \\"%s\\" foi modificado no disco r\xedgido","Script is not running":"Script n\xe3o est\xe1 sendo executado","Search in scripts":"Pesquisa em scripts","Search...":"Procurar...","Select all":"Selecionar tudo","September":"setembro","Show javascript code":"Mostrar c\xf3digo Javascript","Show only paused scripts":"Mostrar apenas scripts pausados","Show only running scripts":"Mostrar apenas scripts em execu\xe7\xe3o","Show only scripts with problems":"Mostrar apenas scripts com problemas","Some files will be rejected":"Alguns arquivos ser\xe3o rejeitados","Sunday":"Domingo","TS description":"Criando regras escrevendo Typecript","Thursday":"Quinta-feira","Tuesday":"ter\xe7a","Unknown error":"Erro desconhecido","Unknown error!":"Erro desconhecido!","Wednesday":"quarta","Yet exists!":"Ainda existe!","copy":"copiar","file reading has failed: %s":"a leitura do arquivo falhou: %s","file reading was aborted":"a leitura do arquivo foi abortada","filter_func":"Fun\xe7\xe3o","filter_id":"ID","filter_name":"Nome","filter_role":"Tipo","filter_room":"Quarto","for edit or create script":"para editar ou criar um novo script","no blocks found":"Nenhum bloco encontrado","no group":"SEM GRUPO","not properly connected":"Este bloco n\xe3o est\xe1 conectado corretamente com outros blocos.","tooltip_ack":"reconhecer","tooltip_from":"de","tooltip_lc":"\xdaltima altera\xe7\xe3o","tooltip_quality":"Qualidade","tooltip_ts":"timestamp","tooltip_user":"usu\xe1rio","tooltip_value":"valor","use seconds":"use segundos","Save all":"Salvar tudo","Change theme (actual \\"%s\\")":"Alterar tema (agora - \\"%s\\")","Hide logs":"Ocultar logs","Show logs":"Mostrar logs","Rules description":"Crie regras com blocos IF, THEN, ELSE","help_on_change":"O c\xf3digo ser\xe1 executado apenas se o resultado da condi\xe7\xe3o mudar. Por exemplo. se disparar no valor do sensor de temperatura e a condi\xe7\xe3o for \\"se a temperatura for maior que 20 \xb0 C\\", as a\xe7\xf5es \\"ent\xe3o\\" ser\xe3o executadas uma vez quando a temperatura estiver acima de 20. Na pr\xf3xima vez, as a\xe7\xf5es \\"ent\xe3o\\" ser\xe3o executadas quando a temperatura falha abaixo de 20 e sobe acima de 20 novamente.","help_just_check":"O c\xf3digo ser\xe1 executado apenas sempre que a condi\xe7\xe3o for verdadeira. Por exemplo. se disparar no valor do sensor de temperatura e a condi\xe7\xe3o for \\"se a temperatura for maior que 20 \xb0 C\\", as a\xe7\xf5es \\"ent\xe3o\\" ser\xe3o executadas toda vez que o sensor enviar a temperatura e ela estiver acima de 20 \xb0 C. Por 21 \xb0 C, por 22 \xb0 C e assim por diante.","On condition change":"Na mudan\xe7a de condi\xe7\xe3o","Just check":"Apenas verifique","when":"quando","and":"e","then":"ent\xe3o","or":"ou","else":"outro","Nothing found":"Nada encontrado","reset search":"redefinir pesquisa","Read only ID selected: %s":"ID somente leitura selecionada: %s","OK":"OK","Triggers":"Gatilhos","cron":"CRON","wizard":"Wizard","interval":"intervalo","at":"no","astro":"astro","on condition change":"na mudan\xe7a de condi\xe7\xe3o","just check":"Apenas verifique","Explanation":"Explica\xe7\xe3o","seconds":"segundos","minutes":"minutos","hours":"horas","Every day":"Todos os dias","milliseconds":"milissegundos","Copied":"Copiado","nadir":"nadir","nightEnd":"Fim de noite","nauticalDawn":"Madrugada n\xe1utica","dawn":"alvorecer","sunrise":"nascer do sol","sunriseEnd":"Fim do nascer do sol","goldenHourEnd":"Fim da hora de ouro","solarNoon":"Meio-dia solar","goldenHour":"Hora dourada","sunsetStart":"Come\xe7o do p\xf4r do sol","sunset":"p\xf4r do sol","dusk":"Crep\xfasculo","nauticalDusk":"Crep\xfasculo n\xe1utico","night":"Noite","one":"1","two":"dois","true":"verdade","false":"falso","search":"procurar","Actions":"A\xe7\xf5es","Conditions":"Condi\xe7\xf5es","Schedule":"Cronograma","Start script":"Iniciar script","State":"Estado","State condition":"Condi\xe7\xe3o de estado","Time condition":"Condi\xe7\xe3o de tempo","Set state action":"Definir a\xe7\xe3o de estado","Exec":"Exec shell","HTTP Call":"Chamada HTTP","Log text":"Texto de registro","Pause":"Pausa","on change":"em mudan\xe7a","control":"ao controle","Say It":"Say It","every hour at 0 minutes":"a cada hora em 0 minutos","On script save or adapter start":"Ao salvar o script ou iniciar o adaptador","equal to":"igual a","Actual time of day":"Hora real do dia","with":"com","Shell command":"Comando shell","URL":"URL","Instance:":"Inst\xe2ncia:","Language:":"L\xedngua:","Volume":"Volume","Text:":"Texto:","undefined":"Indefinido","Default":"Predefini\xe7\xe3o","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"Voc\xea pode usar %s no texto para exibir o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","Instructions":"Instru\xe7\xf5es","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"Voc\xea pode usar %s na URL para usar o valor do gatilho atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do gatilho antigo","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"Voc\xea pode usar %s no valor para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"Voc\xea pode usar %s no comando para usar o valor do acionador atual, %id para usar o ID do objeto acionado, %name para mostrar o nome do ID do objeto acionado ou %old para usar o valor do acionador antigo","every":"cada","with offset":"com deslocamento","on update":"em atualiza\xe7\xe3o","update":"atualizar","Triggers the rule periodically or on some specific time":"Aciona a regra periodicamente ou em algum momento espec\xedfico","Triggers the on script saving or the javascript instance restart":"Aciona o salvamento do script ou a reinicializa\xe7\xe3o da inst\xe2ncia javascript","Triggers the rule on update or change of some state":"Aciona a regra na atualiza\xe7\xe3o ou mudan\xe7a de algum estado","Compares the state value with user defined value":"Compara o valor do estado com o valor definido pelo usu\xe1rio","Compares current time with the user specific time":"Compara a hora atual com a hora espec\xedfica do usu\xe1rio","Control or update some state":"Controlar ou atualizar algum estado","Executes some shell command":"Executa algum comando shell","Make a HTTP get request":"Fa\xe7a uma solicita\xe7\xe3o HTTP get","Print some text in log":"Imprimir algum texto no log","Make a pause between actions":"Fa\xe7a uma pausa entre as a\xe7\xf5es","Say some text via sayit adapter":"Diga algum texto atrav\xe9s do adaptador sayit","Telegram":"Telegrama","User:":"Do utilizador:","all":"todos","Sends message via telegram":"Envia mensagem via telegrama","Sends an email":"Envia um email","Send email":"Enviar email","Sends message via pushover":"Envia mensagem via pushover","Pushover":"Pushover","Sends message via whatsapp-cmb":"Envia mensagem via whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"Envia mensagem via Pushsafer","Pushsafer":"Pushsafer","To:":"Para:","Subject:":"Sujeito:","Body:":"Corpo:","Title:":"T\xedtulo:","Sound:":"Som:","Priority:":"Prioridade:","magic":"Magia","quiet":"quieto","normal":"normal","high-priority":"prioridade m\xe1xima","acknowledgment":"reconhecimento","Phone:":"Telefone:","(optional)":"(opcional)","Vibration:":"Vibra\xe7\xe3o:","lowest priority":"prioridade mais baixa","lower priority":"prioridade mais baixa","normal priority":"prioridade normal","high priority":"prioridade m\xe1xima","highest priority":"Prioridade m\xe1xima","default":"predefini\xe7\xe3o","All":"Todos","Write your own code":"Escreva seu pr\xf3prio c\xf3digo","User function":"Fun\xe7\xe3o do usu\xe1rio","This is advances option. You can write your own code here and it will be executed on trigger":"Esta \xe9 a op\xe7\xe3o de avan\xe7os. Voc\xea pode escrever seu pr\xf3prio c\xf3digo aqui e ele ser\xe1 executado no gatilho","greater than":"Maior que","offset":"Deslocamento","Function":"Fun\xe7\xe3o","greater or equal to":"maior ou igual a","less or equal to":"menor ou igual a","less than":"Menor que","not equal to":"n\xe3o \xe9 igual a","[equal]":"[igual]","[greater or equal]":"[maior ou igual]","[greater]":"[maior]","[less or equal]":"[menor ou igual]","[less]":"[menos]","[not equal]":"[n\xe3o igual]","[includes]":"[inclui]","[hysteresis]":"[histerese]","greater or equal":"maior ou igual","less or equal":"menor ou igual","includes":"inclui",".":".","()":"()","Mo":"Mo","Tu":"Tu","We":"3","Th":"4","Fr":"Fr","Sa":"S\xe1","Su":"Su","Control or update some state with delay":"Controlar ou atualizar algum estado com atraso","Delay":"Atraso","ms":"ms","Set with delay":"Definido com atraso","clear running":"corrida limpa","toggle value":"valor de altern\xe2ncia","Any month":"Qualquer m\xeas","Any":"Nenhum","with date":"com data","Date":"Encontro","Month":"M\xeas","Januar":"Januar","Februar":"Februar","March ":"Mar\xe7o","Condition":"Doen\xe7a","Limit":"Limite","The script will be stopped and must be activated manually after debugging. Continue?":"O script ser\xe1 interrompido e deve ser ativado manualmente ap\xf3s a depura\xe7\xe3o. Continuar?","Yes":"sim","Debug instance":"Inst\xe2ncia de depura\xe7\xe3o","Resume execution":"Retomar execu\xe7\xe3o","Go to next line":"V\xe1 para a pr\xf3xima linha","Step into function":"Entre na fun\xe7\xe3o","Step out from function":"Saia da fun\xe7\xe3o","Stop on exception":"Pare na exce\xe7\xe3o","Console":"Console","Stack":"Pilha","Pause execution":"Pausar a execu\xe7\xe3o","Simulate":"Simular","Trigger with value":"Trigger com valor","Value":"Valor","Write":"Escrever","Ack":"Reconhecido","Start":"Come\xe7ar","Filter":"Filtro","Instances":"Inst\xe2ncias","Triggered":"Provocado","Function: executed":"Fun\xe7\xe3o: executado","Operate two states":"Operar dois estados","store in":"armazenar em","ID1":"ID1","ID2":"ID2","Operations with two states":"Opera\xe7\xf5es com dois estados","debug_label":"Depurar","debug_help":"Este \xe9 um modo especial no qual estados e objetos n\xe3o ser\xe3o alterados. Mas apenas as informa\xe7\xf5es sobre cada mudan\xe7a planejada ser\xe3o exibidas no protocolo.","verbose_label":"Sa\xeddas de log detalhadas","verbose_help":"Adiciona sa\xedda de depura\xe7\xe3o ao log para muitos comandos do sistema","easy":"f\xe1cil","for programmers":"para programadores","for professionals":"para profissionais","Duplicate name":"Nome duplicado","Empty name is not allowed":"Nome vazio n\xe3o \xe9 permitido","Time":"Tempo","Server time":"Tempo de servidor","Local time":"Hora local","Description":"Descri\xe7\xe3o","nextSunrise":"pr\xf3ximo nascer do sol","nextSunset":"Pr\xf3ximo p\xf4r do sol","Astronomical events today":"Eventos astron\xf4micos hoje","Compares current time with astronomical event":"Compara o tempo atual com o evento astron\xf4mico","Show astronomical events":"Mostrar eventos astron\xf4micos","Astronomical":"Astron\xf4mico","Enter your question":"Digite sua solicita\xe7\xe3o","Press Ctrl+Enter to get the answer":"Pressione Ctrl+Enter para obter a resposta","Ask":"Perguntar","Result":"Resultado","Use generated code":"Usar c\xf3digo gerado","No Chat GPT Key found":"Nenhuma chave GPT de bate-papo encontrada","You have to enter OpenAI API key in the configuration of javascript adapter.":"Voc\xea deve inserir a chave da API OpenAI na configura\xe7\xe3o do adaptador javascript.","Open configuration":"Configura\xe7\xe3o aberta"}')},50482:e=>{e.exports=JSON.parse('{"-":"-","Add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c","Add new script":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","All files will be accepted":"\u0412\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043d\u044f\u0442\u044b","April":"\u0410\u043f\u0440\u0435\u043b\u044c","Are you sure?":"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b?","August":"\u0410\u0432\u0433\u0443\u0441\u0442","Blockly description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438","Cancel":"\u041e\u0442\u043c\u0435\u043d\u0430","Cannot delete non empty item!":"\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043d\u0435\u043f\u0443\u0441\u0442\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442!","Change layout":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u043a\u0435\u0442","Check blocks":"\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Check is not active, because javascript adapter is disabled":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440 Javascript \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d","Clear search input":"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0432\u0432\u043e\u0434","Click on this icon":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0437\u043d\u0430\u0447\u043e\u043a","Close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","Close all but current":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435 \u043a\u0440\u043e\u043c\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e","Collapse all":"\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435","Configuration not saved.":"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430.","Convert blockly to javascript for ever.":"\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c blockly \u0432 Javascript \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430.","Copy script":"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Copy to clipboard":"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430","Download as file":"\u0421\u043a\u0430\u0447\u0430\u0442\u044c \u043a\u0430\u043a \u0444\u0430\u0439\u043b","Create new":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439","Create new folder":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443","Create new script":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","Create or edit CRON or time wizard":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 CRON \u0438\u043b\u0438 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438","Dark Theme":"\u0422\u0451\u043c\u043d\u0430\u044f \u0442\u0435\u043c\u0430","Dark style":"\u0422\u0435\u043c\u043d\u044b\u0439 \u0441\u0442\u0438\u043b\u044c","Debug options":"\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043e\u0442\u043b\u0430\u0434\u043a\u0438","December":"\u0414\u0435\u043a\u0430\u0431\u0440\u044c","Define cron...":"\u0417\u0430\u0434\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u043e ...","Define schedule...":"\u0417\u0430\u0434\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435...","Delete":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c","Delete %s":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c %s...","Delete folder":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0430\u043f\u043a\u0443","Delete script":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Deselect all":"\u0421\u043d\u044f\u0442\u044c \u0432\u044b\u0431\u043e\u0440 \u0441\u043e \u0432\u0441\u0435\u0445","Discard changes for %s":"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f %s","Done":"\u0413\u043e\u0442\u043e\u0432\u043e","Drop some files here or click...":"\u041f\u0435\u0440\u0435\u0442\u044b\u0449\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u0444\u0430\u0439\u043b\u044b \u0438\u043b\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 ...","Edit script or just double click":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0432\u0430\u0436\u0434\u044b \u0449\u0435\u043b\u043a\u043d\u0443\u0442\u044c","End search mode":"\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a","Error":"\u041e\u0448\u0438\u0431\u043a\u0430","Error was found":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0431\u044b\u043b\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430","Existing scripts will be overwritten.":"\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b.","Expand all":"\u0420\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0432\u0441\u0435","Expert mode":"\u042d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c","Export":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442","Export all scripts":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432\u0441\u0435\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432","Export blocks":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Export selected blocks":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438","February":"\u0424\u0435\u0432\u0440\u0430\u043b\u044c","Folder":"\u041f\u0430\u043f\u043a\u0430","Friday":"\u043f\u044f\u0442\u043d\u0438\u0446\u0430","Function editor":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438","ID":"ID","Import":"\u0418\u043c\u043f\u043e\u0440\u0442","Import blocks":"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Import error":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0430","Import scripts":"\u0418\u043c\u043f\u043e\u0440\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432","Insert object ID":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430","Instance":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440","Instance is disabled":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d","Invalid CRON":"\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 CRON","It will not be possible to revert this operation.":"\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u044d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e.","JS description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u0443\u0442\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f Javascript","January":"\u042f\u043d\u0432\u0430\u0440\u044c","July":"\u0418\u044e\u043b\u044c","June":"\u0418\u044e\u043d\u044c","Learn More":"\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435","Light style":"\u0421\u0432\u0435\u0442\u043b\u044b\u0439 \u0441\u0442\u0438\u043b\u044c","Locate file":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0432 \u0434\u0435\u0440\u0435\u0432\u0435","Log outputs":"\u0416\u0443\u0440\u043d\u0430\u043b","March":"\u041c\u0430\u0440\u0442","May":"\u041c\u0430\u0439","Menu":"\u041c\u0435\u043d\u044e","Message":"\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435","Monday":"\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","Name":"\u0418\u043c\u044f","No active host found":"\u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0439 host \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d","November":"\u041d\u043e\u044f\u0431\u0440\u044c","October":"\u041e\u043a\u0442\u044f\u0431\u0440\u044c","Ok":"Ok","On weekdays":"\u041f\u043e \u0434\u043d\u044f\u043c \u043d\u0435\u0434\u0435\u043b\u0438","Pause script":"\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Please select object ID...":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430 ...","Rename":"\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c","Reorder scripts in folders":"\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432 \u043f\u0430\u043f\u043a\u0430\u0445","Repeat":"\u041f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435","Restart":"\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c","Root folder":"\u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u043f\u0430\u043f\u043a\u0430","Run script":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Saturday":"\u0441\u0443\u0431\u0431\u043e\u0442\u0430","Save":"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c","Script":"\u0441\u043a\u0440\u0438\u043f\u0442","Script %s was modified on disk":"\u0421\u043a\u0440\u0438\u043f\u0442 \\"%s\\" \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u043d\u0430 \u0434\u0438\u0441\u043a\u0435","Script is not running":"\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d","Search in scripts":"\u041f\u043e\u0438\u0441\u043a \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445","Search...":"\u041f\u043e\u0438\u0441\u043a...","Select all":"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435","September":"\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c","Show javascript code":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u0434 Javascript","Show only paused scripts":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438","Show only running scripts":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b","Show only scripts with problems":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438","Some files will be rejected":"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u044b","Sunday":"\u0412\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435","TS description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u0443\u0442\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f Typescript","Thursday":"\u0427\u0435\u0442\u0432\u0435\u0440\u0433","Tuesday":"\u0432\u0442\u043e\u0440\u043d\u0438\u043a","Unknown error":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430","Unknown error!":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430!","Wednesday":"\u0441\u0440\u0435\u0434\u0430","Yet exists!":"\u0418\u043c\u044f \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442!","copy":"\u043a\u043e\u043f\u0438\u044f","file reading has failed: %s":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430: %s","file reading was aborted":"\u0427\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e","filter_func":"\u0424\u0443\u043d\u043a\u0446\u0438\u044f","filter_id":"ID","filter_name":"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435","filter_role":"\u0420\u043e\u043b\u044c","filter_room":"\u041a\u043e\u043c\u043d\u0430\u0442\u0430","for edit or create script":"\u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","no blocks found":"\u0411\u043b\u043e\u043a\u043e\u0432 \u043d\u0435\u0442","no group":"\u041d\u0435\u0442 \u0433\u0440\u0443\u043f\u043f\u044b","not properly connected":"\u042d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0451\u043d \u0438\u043b\u0438 \u043d\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0451\u043d \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438.","tooltip_ack":"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e","tooltip_from":"\u041e\u0442","tooltip_lc":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435","tooltip_quality":"\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439","tooltip_ts":"\u0412\u0440\u0435\u043c\u044f","tooltip_user":"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c","tooltip_value":"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435","use seconds":"\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u043a\u0443\u043d\u0434\u044b","Save all":"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435","Change theme (actual \\"%s\\")":"\u0421\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0435\u043c\u0443 (\u0441\u0435\u0439\u0447\u0430\u0441 - \\"%s\\")","Hide logs":"\u0421\u043a\u0440\u044b\u0442\u044c \u0436\u0443\u0440\u043d\u0430\u043b\u044b","Show logs":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0436\u0443\u0440\u043d\u0430\u043b\u044b","Rules description":"\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0441 \u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u0415\u0421\u041b\u0418, \u0422\u041e, \u0418\u041d\u0410\u0427\u0415","help_on_change":"\u041a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044e \xab\u0435\u0441\u043b\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 20\xb0C\xbb, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \xab\u0437\u0430\u0442\u0435\u043c\xbb \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u0442 20\xb0C. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0440\u0430\u0437 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \xab\u0437\u0430\u0442\u0435\u043c\xbb \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f \u043d\u0438\u0436\u0435 20\xb0C, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0432\u044b\u0448\u0435 20\xb0C.","help_just_check":"\u041a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0438\u0441\u0442\u0438\u043d\u043d\u043e. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440. \u043f\u0440\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044e \xab\u0435\u0441\u043b\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0432\u044b\u0448\u0435 20\xb0C\xbb, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \xab\u0437\u0430\u0442\u0435\u043c\xbb \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0434\u0430\u0442\u0447\u0438\u043a \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u0438 \u043e\u043d\u043e \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 20\xb0C. \u041d\u0430 21\xb0\u0421, \u043d\u0430 22\xb0\u0421 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.","On condition change":"\u041f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0440\u0435\u0443\u0437\u043b\u044c\u0442\u0430\u0442\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u0439","Just check":"\u041f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c","when":"\u0435\u0441\u043b\u0438","and":"\u0438","then":"\u0442\u043e\u0433\u0434\u0430","or":"\u0438\u043b\u0438","else":"\u0438\u043d\u0430\u0447\u0435","Nothing found":"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e","reset search":"C\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a","Read only ID selected: %s":"\u0412\u044b\u0431\u0440\u0430\u043d \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f: %s","OK":"\u041e\u043a","Triggers":"\u0422\u0440\u0438\u0433\u0433\u0435\u0440\u044b","cron":"CRON","wizard":"\u041c\u0430\u0441\u0442\u0435\u0440","interval":"\u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b","at":"\u0432","astro":"\u0410\u0441\u0442\u0440\u043e","on condition change":"\u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u044f","just check":"\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c","Explanation":"\u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435","seconds":"\u0441\u0435\u043a\u0443\u043d\u0434","minutes":"\u043c\u0438\u043d\u0443\u0442(\u0443)","hours":"\u0447\u0430\u0441(\u043e\u0432)","Every day":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","milliseconds":"\u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434\u044b","Copied":"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043e","nadir":"\u041d\u0430\u0434\u0438\u0440","nightEnd":"\u041a\u043e\u043d\u0435\u0446 \u043d\u043e\u0447\u0438","nauticalDawn":"\u041c\u043e\u0440\u0441\u043a\u043e\u0439 \u0440\u0430\u0441\u0441\u0432\u0435\u0442","dawn":"\u0420\u0430\u0441\u0441\u0432\u0435\u0442","sunrise":"\u0412\u043e\u0441\u0445\u043e\u0434 \u0441\u043e\u043b\u043d\u0446\u0430","sunriseEnd":"\u041a\u043e\u043d\u0435\u0446 \u0432\u043e\u0441\u0445\u043e\u0434\u0430","goldenHourEnd":"\u041a\u043e\u043d\u0435\u0446 \u0437\u043e\u043b\u043e\u0442\u043e\u0433\u043e \u0447\u0430\u0441\u0430","solarNoon":"\u0421\u043e\u043b\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u0434\u0435\u043d\u044c","goldenHour":"\u0417\u043e\u043b\u043e\u0442\u043e\u0439 \u0447\u0430\u0441","sunsetStart":"\u041d\u0430\u0447\u0430\u043b\u043e \u0437\u0430\u043a\u0430\u0442\u0430","sunset":"\u0417\u0430\u043a\u0430\u0442 \u0441\u043e\u043b\u043d\u0446\u0430","dusk":"\u0421\u0443\u043c\u0435\u0440\u043a\u0438","nauticalDusk":"\u041c\u043e\u0440\u0441\u043a\u0438\u0435 \u0441\u0443\u043c\u0435\u0440\u043a\u0438","night":"\u041d\u043e\u0447\u044c","one":"\u043e\u0434\u0438\u043d","two":"\u0434\u0432\u0430","true":"true","false":"false","search":"\u043f\u043e\u0438\u0441\u043a","Actions":"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044f","Conditions":"\u0423\u0441\u043b\u043e\u0432\u0438\u044f","Schedule":"\u0420\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435","Start script":"\u0421\u0442\u0430\u0440\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u0430","State":"\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435","State condition":"\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f","Time condition":"\u0423\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438","Set state action":"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435","Exec":"\u0418\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u044c shell","HTTP Call":"HTTP-\u0432\u044b\u0437\u043e\u0432","Log text":"\u0422\u0435\u043a\u0441\u0442 \u0436\u0443\u0440\u043d\u0430\u043b\u0430","Pause":"\u041f\u0430\u0443\u0437\u0430","on change":"\u043f\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e","control":"\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c","Say It":"Say It","every hour at 0 minutes":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0430\u0441 \u0447\u0435\u0440\u0435\u0437 0 \u043c\u0438\u043d\u0443\u0442","On script save or adapter start":"\u041f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430","equal to":"\u0440\u0430\u0432\u043d\u043e","Actual time of day":"\u0424\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u0443\u0442\u043e\u043a","with":"\u0441","Shell command":"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438","URL":"URL","Instance:":"\u041f\u0440\u0438\u043c\u0435\u0440:","Language:":"\u042f\u0437\u044b\u043a:","Volume":"\u0413\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u044c","Text:":"\u0422\u0435\u043a\u0441\u0442:","undefined":"\u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439","Default":"\u0414\u0435\u0444\u043e\u043b\u0442","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c %s \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430, %id \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, %name \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u0438 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0435\u0433\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0438\u043b\u0438 %old \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.","Instructions":"\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c %s \u0432 URL-\u0430\u0434\u0440\u0435\u0441\u0435, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430, %id, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, %name, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0438\u043b\u0438 %old, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c %s \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430, %id, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, %name, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0438\u043b\u0438 %old, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c %s \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430, %id, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0435\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430, %name, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u043c\u044f \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0435\u0433\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0438\u043b\u0438 %old, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0430.","every":"\u043a\u0430\u0436\u0434\u044b\u0435(\u044b\u0439)","with offset":"\u0441\u043e \u0441\u0434\u0432\u0438\u0433\u043e\u043c","on update":"\u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438","update":"\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c","Triggers the rule periodically or on some specific time":"\u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u043b\u0438 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","Triggers the on script saving or the javascript instance restart":"\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 javascript","Triggers the rule on update or change of some state":"\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f","Compares the state value with user defined value":"\u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c","Compares current time with the user specific time":"\u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0441 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f","Control or update some state":"\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435","Executes some shell command":"\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438","Make a HTTP get request":"\u0421\u0434\u0435\u043b\u0430\u0439\u0442\u0435 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435","Print some text in log":"\u041d\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435","Make a pause between actions":"\u0421\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043f\u0430\u0443\u0437\u0443 \u043c\u0435\u0436\u0434\u0443 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438","Say some text via sayit adapter":"\u041f\u0440\u043e\u0438\u0437\u043d\u0435\u0441\u0438\u0442\u0435 \u0442\u0435\u043a\u0441\u0442 \u0447\u0435\u0440\u0435\u0437 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 Sayit","Telegram":"Telegram","User:":"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c:","all":"\u0432\u0441\u0435","Sends message via telegram":"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u043c\u0435","Sends an email":"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0435 \u043f\u0438\u0441\u044c\u043c\u043e","Send email":"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c email","Sends message via pushover":"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u043f\u0443\u0441\u0442\u044b\u0448\u043a\u0443","Pushover":"Pushover","Sends message via whatsapp-cmb":"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 whatsapp-cmb","Whatsapp-cmb":"Whatsapp-cmb","Sends message via Pushsafer":"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 Pushsafer","Pushsafer":"Pushsafer","To:":"\u041a:","Subject:":"\u041f\u0440\u0435\u0434\u043c\u0435\u0442:","Body:":"\u0422\u0435\u043b\u043e:","Title:":"\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a:","Sound:":"\u0417\u0432\u0443\u043a:","Priority:":"\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442:","magic":"\u043c\u0430\u0433\u0438\u044f","quiet":"\u0442\u0438\u0445\u0438\u0439","normal":"\u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439","high-priority":"\u0432\u044b\u0441\u043e\u043a\u0438\u0439-\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","acknowledgment":"\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435","Phone:":"\u0422\u0435\u043b\u0435\u0444\u043e\u043d:","(optional)":"(\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439)","Vibration:":"\u0412\u0438\u0431\u0440\u0430\u0446\u0438\u044f:","lowest priority":"\u0441\u0430\u043c\u044b\u0439 \u043d\u0438\u0437\u043a\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","lower priority":"\u0431\u043e\u043b\u0435\u0435 \u043d\u0438\u0437\u043a\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","normal priority":"\u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","high priority":"\u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","highest priority":"\u0432\u044b\u0441\u0448\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442","default":"\u0434\u0435\u0444\u043e\u043b\u0442","All":"\u0412\u0441\u0435","Write your own code":"\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0441\u0432\u043e\u0439 \u043a\u043e\u0434","User function":"\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f","This is advances option. You can write your own code here and it will be executed on trigger":"\u042d\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u0434\u0435\u0441\u044c \u0441\u0432\u043e\u0439 \u043a\u043e\u0434 \u0438 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043f\u043e \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u0443","greater than":"\u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c","offset":"\u0441\u0434\u0432\u0438\u0433","Function":"\u0424\u0443\u043d\u043a\u0446\u0438\u044f","greater or equal to":"\u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e","less or equal to":"\u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e","less than":"\u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c","not equal to":"\u043d\u0435 \u0440\u0430\u0432\u043d\u043e","[equal]":"[\u0440\u0430\u0432\u043d\u043e]","[greater or equal]":"[\u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e]","[greater]":"[\u0431\u043e\u043b\u044c\u0448\u0435]","[less or equal]":"[\u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e]","[less]":"[\u043c\u0435\u043d\u044c\u0448\u0435]","[not equal]":"[\u043d\u0435 \u0440\u0430\u0432\u043d\u043e]","[includes]":"[\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442]","[hysteresis]":"[\u0433\u0438\u0441\u0442\u0435\u0440\u0435\u0437\u0438\u0441]","greater or equal":"\u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e","less or equal":"\u043c\u0435\u043d\u044c\u0448\u0435 \u0438\u043b\u0438 \u0440\u0430\u0432\u043d\u043e","includes":"\u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442",".":".","()":"()","Mo":"\u041f\u043d","Tu":"\u0412\u0442","We":"\u0421\u0440","Th":"\u0427\u0442","Fr":"\u041f\u0442","Sa":"\u0421\u0431","Su":"\u0412\u0441","Control or update some state with delay":"\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u043a\u043e\u0435-\u043b\u0438\u0431\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439","Delay":"\u0417\u0430\u0434\u0435\u0440\u0436\u043a\u0430","ms":"\u043c\u0441","Set with delay":"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439","clear running":"\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0443\u0436\u0435 \u0431\u0435\u0433\u0443\u0449\u0438\u0435","toggle value":"\u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0435\u043a\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435","Any month":"\u0412 \u043b\u044e\u0431\u043e\u0439 \u043c\u0435\u0441\u044f\u0446","Any":"\u041b\u044e\u0431\u0430\u044f","with date":"\u0441 \u0434\u0430\u0442\u043e\u0439","Date":"\u0414\u0430\u0442\u0430","Month":"\u041c\u0435\u0441\u044f\u0446","Januar":"\u042f\u043d\u0432\u0430\u0440\u044c","Februar":"\u0424\u0435\u0432\u0440\u0430\u043b\u044c","March ":"\u041c\u0430\u0440\u0442 ","Condition":"\u0423\u0441\u043b\u043e\u0432\u0438\u0435","Limit":"\u041f\u0440\u0435\u0434\u0435\u043b","The script will be stopped and must be activated manually after debugging. Continue?":"C\u043a\u0440\u0438\u043f\u0442 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c?","Yes":"\u0414\u0430","Debug instance":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0442\u043b\u0430\u0434\u043a\u0438","Resume execution":"\u0412\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435","Go to next line":"\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435","Step into function":"\u0428\u0430\u0433 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435","Step out from function":"\u0412\u044b\u0439\u0442\u0438 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438","Stop on exception":"\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438","Console":"\u041f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430","Stack":"Stack","Pause execution":"\u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435","Simulate":"\u0421\u0438\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c","Trigger with value":"\u0422\u0440\u0438\u0433\u0433\u0435\u0440 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c","Value":"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435","Write":"\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435","Ack":"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435","Start":"\u041d\u0430\u0447\u0438\u043d\u0430\u0442\u044c","Filter":"\u0424\u0438\u043b\u044c\u0442\u0440","Instances":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u044b","Triggered":"\u0421\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442","Function: executed":"\u0424\u0443\u043d\u043a\u0446\u0438\u044f: \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e","Operate two states":"\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430\u0434 \u0434\u0432\u0443\u043c\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438","store in":"\u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432","ID1":"ID1","ID2":"ID2","Operations with two states":"\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0434\u0432\u0443\u043c\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438","debug_label":"\u041e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c","debug_help":"\u042d\u0442\u043e \u043e\u0441\u043e\u0431\u044b\u0439 \u0440\u0435\u0436\u0438\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f. \u041d\u043e \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c\u043e\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438.","verbose_label":"\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b","verbose_help":"\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u044b\u0432\u043e\u0434 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434.","easy":"\u043b\u0435\u0433\u043a\u0438\u0439","for programmers":"\u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432","for professionals":"\u0434\u043b\u044f \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u043e\u0432","Duplicate name":"\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0435\u0435\u0441\u044f \u0438\u043c\u044f","Empty name is not allowed":"\u041f\u0443\u0441\u0442\u043e\u0435 \u0438\u043c\u044f \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f","Time":"\u0412\u0440\u0435\u043c\u044f","Server time":"\u0412\u0440\u0435\u043c\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430","Local time":"\u041c\u0435\u0441\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","Description":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435","nextSunrise":"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u043e\u0441\u0445\u043e\u0434","nextSunset":"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430\u043a\u0430\u0442","Astronomical events today":"\u0410\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0441\u0435\u0433\u043e\u0434\u043d\u044f","Compares current time with astronomical event":"\u0421\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0441 \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c","Show astronomical events":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f","Astronomical":"A\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439","Enter your question":"\u0412\u0432\u0435\u0434\u0438 \u0441\u0432\u043e\u044e \u043f\u0440\u043e\u0441\u044c\u0431\u0443","Press Ctrl+Enter to get the answer":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 Ctrl+Enter, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442\u0432\u0435\u0442","Ask":"\u0421\u043f\u0440\u043e\u0441\u0438\u0442\u044c","Result":"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442","Use generated code":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434","No Chat GPT Key found":"\u041a\u043b\u044e\u0447 GPT \u0434\u043b\u044f \u0447\u0430\u0442\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d","You have to enter OpenAI API key in the configuration of javascript adapter.":"\u0412\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043b\u044e\u0447 OpenAI API \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 javascript.","Open configuration":"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438"}')},17138:e=>{e.exports=JSON.parse('{"debug_label":"\u0412\u0456\u0434\u043b\u0430\u0433\u043e\u0434\u0436\u0443\u0432\u0430\u0442\u0438","debug_help":"\u0426\u0435 \u043e\u0441\u043e\u0431\u043b\u0438\u0432\u0438\u0439 \u0440\u0435\u0436\u0438\u043c, \u0432 \u044f\u043a\u043e\u043c\u0443 \u0441\u0442\u0430\u043d\u0443 \u0442\u0430 \u043e\u0431\'\u0454\u043a\u0442\u0438 \u043d\u0435 \u0437\u043c\u0456\u043d\u044e\u0432\u0430\u0442\u0438\u043c\u0443\u0442\u044c\u0441\u044f. \u0410\u043b\u0435 \u0432 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0456 \u0432\u0456\u0434\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u0438\u043c\u0435\u0442\u044c\u0441\u044f \u043b\u0438\u0448\u0435 \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u044f \u043f\u0440\u043e \u043a\u043e\u0436\u043d\u0443 \u0437\u0430\u043f\u043b\u0430\u043d\u043e\u0432\u0430\u043d\u0443 \u0437\u043c\u0456\u043d\u0443.","verbose_label":"\u0414\u043e\u043a\u043b\u0430\u0434\u043d\u0456 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0443","verbose_help":"\u0414\u043e\u0434\u0430\u0454 \u0432\u0438\u0445\u0456\u0434\u043d\u0456 \u0434\u0430\u043d\u0456 \u043d\u0430\u043b\u0430\u0433\u043e\u0434\u0436\u0435\u043d\u043d\u044f \u0434\u043e \u0436\u0443\u0440\u043d\u0430\u043b\u0443 \u0434\u043b\u044f \u0431\u0430\u0433\u0430\u0442\u044c\u043e\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434","()":"()","(optional)":"(\u043d\u0435\u043e\u0431\u043e\u0432\'\u044f\u0437\u043a\u043e\u0432\u043e)","-":"-",".":".","Ack":"\u0412\u0438\u0437\u043d\u0430\u043d\u043e","Actions":"\u0414\u0456\u0457","Actual time of day":"\u0424\u0430\u043a\u0442\u0438\u0447\u043d\u0438\u0439 \u0447\u0430\u0441 \u0434\u043e\u0431\u0438","Add":"\u0434\u043e\u0434\u0430\u0442\u0438","Add new script":"\u0414\u043e\u0434\u0430\u0442\u0438 \u043d\u043e\u0432\u0438\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","All":"\u0432\u0441\u0435","All files will be accepted":"\u0423\u0441\u0456 \u0444\u0430\u0439\u043b\u0438 \u0431\u0443\u0434\u0443\u0442\u044c \u043f\u0440\u0438\u0439\u043d\u044f\u0442\u0456","Any":"\u0411\u0443\u0434\u044c-\u044f\u043a\u0438\u0439","Any month":"\u0411\u0443\u0434\u044c-\u044f\u043a\u0438\u0439 \u043c\u0456\u0441\u044f\u0446\u044c","April":"\u043a\u0432\u0456\u0442\u0435\u043d\u044c","Are you sure?":"\u0422\u0438 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0438\u0439?","August":"\u0441\u0435\u0440\u043f\u0435\u043d\u044c","Blockly description":"\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u0437\u0430 \u0433\u0440\u0430\u0444\u0456\u0447\u043d\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438","Body:":"\u0422\u0456\u043b\u043e:","Cancel":"\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438","Cannot delete non empty item!":"\u041d\u0435\u043c\u043e\u0436\u043b\u0438\u0432\u043e \u0432\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u043d\u0435\u043f\u043e\u0440\u043e\u0436\u043d\u0456\u0439 \u0435\u043b\u0435\u043c\u0435\u043d\u0442!","Change layout":"\u0417\u043c\u0456\u043d\u0438\u0442\u0438 \u043c\u0430\u043a\u0435\u0442","Change theme (actual \\"%s\\")":"\u0417\u043c\u0456\u043d\u0438\u0442\u0438 \u0442\u0435\u043c\u0443 (\u0442\u0435\u043f\u0435\u0440 - \\"%s\\")","Check blocks":"\u041f\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0435 \u0431\u043b\u043e\u043a\u0438","Check is not active, because javascript adapter is disabled":"\u041f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u043d\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u0430, \u043e\u0441\u043a\u0456\u043b\u044c\u043a\u0438 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 Javascript \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e","Clear search input":"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u043f\u043e\u0448\u0443\u043a\u043e\u0432\u0438\u0439 \u0437\u0430\u043f\u0438\u0442","Click on this icon":"\u041d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c \u043d\u0430 \u0446\u0435\u0439 \u0437\u043d\u0430\u0447\u043e\u043a","Close":"\u0417\u0430\u043a\u0440\u0438\u0442\u0438","Close all but current":"\u0417\u0430\u043a\u0440\u0438\u0442\u0438 \u0432\u0441\u0456, \u043a\u0440\u0456\u043c \u043f\u043e\u0442\u043e\u0447\u043d\u0438\u0445","Collapse all":"\u0417\u0430\u043a\u0440\u0438\u0442\u0438 \u0432\u0441\u0456","Compares current time with the user specific time":"\u041f\u043e\u0440\u0456\u0432\u043d\u044e\u0454 \u043f\u043e\u0442\u043e\u0447\u043d\u0438\u0439 \u0447\u0430\u0441 \u0456\u0437 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0438\u043c \u0447\u0430\u0441\u043e\u043c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430","Compares the state value with user defined value":"\u041f\u043e\u0440\u0456\u0432\u043d\u044e\u0454 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0441\u0442\u0430\u043d\u0443 \u0437 \u0432\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u043c \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c","Condition":"\u0425\u0432\u043e\u0440\u043e\u0431\u0430","Conditions":"\u0423\u043c\u043e\u0432\u0438","Configuration not saved.":"\u041a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044f \u043d\u0435 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u0430.","Console":"\u041a\u043e\u043d\u0441\u043e\u043b\u044c","Control or update some state":"\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044e\u0439\u0442\u0435 \u0430\u0431\u043e \u043e\u043d\u043e\u0432\u043b\u044e\u0439\u0442\u0435 \u043f\u0435\u0432\u043d\u0438\u0439 \u0441\u0442\u0430\u043d","Control or update some state with delay":"\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044e\u0439\u0442\u0435 \u0430\u0431\u043e \u043e\u043d\u043e\u0432\u043b\u044e\u0439\u0442\u0435 \u0434\u0435\u044f\u043a\u0438\u0439 \u0441\u0442\u0430\u043d \u0456\u0437 \u0437\u0430\u0442\u0440\u0438\u043c\u043a\u043e\u044e","Convert blockly to javascript for ever.":"\u041d\u0430\u0437\u0430\u0432\u0436\u0434\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0443\u0439\u0442\u0435 Blockly \u0443 Javascript.","Copied":"\u0421\u043a\u043e\u043f\u0456\u0439\u043e\u0432\u0430\u043d\u043e","Copy script":"\u041a\u043e\u043f\u0456\u044e\u0432\u0430\u0442\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Copy to clipboard":"\u041a\u043e\u043f\u0456\u044e\u0432\u0430\u0442\u0438 \u0432 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0456\u043d\u0443","Download as file":"\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043b","Create new":"\u0421\u0442\u0432\u043e\u0440\u0438\u0442\u0438 \u043d\u043e\u0432\u0438\u0439","Create new folder":"\u0421\u0442\u0432\u043e\u0440\u0438\u0442\u0438 \u043d\u043e\u0432\u0443 \u043f\u0430\u043f\u043a\u0443","Create new script":"\u0421\u0442\u0432\u043e\u0440\u0456\u0442\u044c \u043d\u043e\u0432\u0438\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Create or edit CRON or time wizard":"\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0430\u0431\u043e \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043d\u043d\u044f CRON \u0430\u0431\u043e \u043c\u0430\u0439\u0441\u0442\u0440\u0430 \u0447\u0430\u0441\u0443","Dark Theme":"\u0422\u0435\u043c\u043d\u0430 \u0442\u0435\u043c\u0430","Dark style":"\u0422\u0435\u043c\u043d\u0438\u0439 \u0441\u0442\u0438\u043b\u044c","Date":"\u0414\u0430\u0442\u0430","Debug instance":"\u0415\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043d\u0430\u043b\u0430\u0433\u043e\u0434\u0436\u0435\u043d\u043d\u044f","Debug options":"\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u043d\u0430\u043b\u0430\u0433\u043e\u0434\u0436\u0435\u043d\u043d\u044f","December":"\u0413\u0440\u0443\u0434\u0435\u043d\u044c","Default":"\u0417\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","Define cron...":"\u0412\u0438\u0437\u043d\u0430\u0447\u0438\u0442\u0438 cron...","Define schedule...":"\u0412\u0438\u0437\u043d\u0430\u0447\u0438\u0442\u0438 \u0440\u043e\u0437\u043a\u043b\u0430\u0434...","Delay":"\u0417\u0430\u0442\u0440\u0438\u043c\u043a\u0430","Delete":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438","Delete %s":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 %s...","Delete folder":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u043f\u0430\u043f\u043a\u0443","Delete script":"\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Deselect all":"\u0417\u043d\u044f\u0442\u0438 \u0432\u0438\u0431\u0456\u0440 \u0456\u0437 \u0443\u0441\u0456\u0445","Discard changes for %s":"\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0437\u043c\u0456\u043d\u0438 \u0434\u043b\u044f %s","Done":"\u0413\u043e\u0442\u043e\u0432\u043e","Drop some files here or click...":"\u041f\u0435\u0440\u0435\u0442\u044f\u0433\u043d\u0456\u0442\u044c \u043a\u0456\u043b\u044c\u043a\u0430 \u0444\u0430\u0439\u043b\u0456\u0432 \u0441\u044e\u0434\u0438 \u0430\u0431\u043e \u043d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c...","Edit script or just double click":"\u0412\u0456\u0434\u0440\u0435\u0434\u0430\u0433\u0443\u0439\u0442\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439 \u0430\u0431\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0432\u0456\u0447\u0456 \u043a\u043b\u0430\u0446\u043d\u0456\u0442\u044c","End search mode":"\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0438 \u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0448\u0443\u043a\u0443","Error":"\u041f\u043e\u043c\u0438\u043b\u043a\u0430","Error was found":"\u0412\u0438\u044f\u0432\u043b\u0435\u043d\u043e \u043f\u043e\u043c\u0438\u043b\u043a\u0443","Every day":"\u041a\u043e\u0436\u0435\u043d \u0434\u0435\u043d\u044c","Exec":"\u0412\u0438\u043a\u043e\u043d\u0430\u0432\u0447\u0430 \u043e\u0431\u043e\u043b\u043e\u043d\u043a\u0430","Executes some shell command":"\u0412\u0438\u043a\u043e\u043d\u0443\u0454 \u043f\u0435\u0432\u043d\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043e\u0431\u043e\u043b\u043e\u043d\u043a\u0438","Existing scripts will be overwritten.":"\u0406\u0441\u043d\u0443\u044e\u0447\u0456 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457 \u0431\u0443\u0434\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e.","Expand all":"\u0420\u043e\u0437\u0433\u043e\u0440\u043d\u0443\u0442\u0438 \u0432\u0441\u0435","Expert mode":"\u0415\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c","Explanation":"\u041f\u043e\u044f\u0441\u043d\u0435\u043d\u043d\u044f","Export":"\u0415\u043a\u0441\u043f\u043e\u0440\u0442","Export all scripts":"\u0415\u043a\u0441\u043f\u043e\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0456 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457","Export blocks":"\u0415\u043a\u0441\u043f\u043e\u0440\u0442 \u0431\u043b\u043e\u043a\u0456\u0432","Export selected blocks":"\u0415\u043a\u0441\u043f\u043e\u0440\u0442\u0443\u0432\u0430\u0442\u0438 \u0432\u0438\u0431\u0440\u0430\u043d\u0456 \u0431\u043b\u043e\u043a\u0438","Februar":"\u041b\u044e\u0442\u0438\u0439","February":"\u041b\u044e\u0442\u0438\u0439","Filter":"\u0444\u0456\u043b\u044c\u0442\u0440","Folder":"\u041f\u0430\u043f\u043a\u0430","Fr":"\u041e","Friday":"\u041f\'\u044f\u0442\u043d\u0438\u0446\u044f","Function":"\u0444\u0443\u043d\u043a\u0446\u0456\u044f","Function editor":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0444\u0443\u043d\u043a\u0446\u0456\u0439","Function: executed":"\u0424\u0443\u043d\u043a\u0446\u0456\u044f: \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043e","Go to next line":"\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043e \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e \u0440\u044f\u0434\u043a\u0430","HTTP Call":"\u0412\u0438\u043a\u043b\u0438\u043a HTTP","Hide logs":"\u041f\u0440\u0438\u0445\u043e\u0432\u0430\u0442\u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0438","ID":"ID","ID1":"ID1","ID2":"ID2","Import":"\u0406\u043c\u043f\u043e\u0440\u0442","Import blocks":"\u0406\u043c\u043f\u043e\u0440\u0442 \u0431\u043b\u043e\u043a\u0456\u0432","Import error":"\u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u0456\u043c\u043f\u043e\u0440\u0442\u0443","Import scripts":"\u0406\u043c\u043f\u043e\u0440\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u0456\u0432","Insert object ID":"\u0412\u0441\u0442\u0430\u0432\u0442\u0435 ID \u043e\u0431\'\u0454\u043a\u0442\u0430","Instance":"\u0415\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440","Instance is disabled":"\u041f\u0440\u0438\u043c\u0456\u0440\u043d\u0438\u043a \u0432\u0438\u043c\u043a\u043d\u0435\u043d\u043e","Instance:":"\u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440:","Instances":"\u041f\u0440\u0438\u043c\u0456\u0440\u043d\u0438\u043a\u0438","Instructions":"\u0406\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0456\u0457","Invalid CRON":"\u041d\u0435\u0434\u0456\u0439\u0441\u043d\u0438\u0439 CRON","It will not be possible to revert this operation.":"\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438 \u0446\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0456\u044e \u0431\u0443\u0434\u0435 \u043d\u0435\u043c\u043e\u0436\u043b\u0438\u0432\u043e.","JS description":"\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u0448\u043b\u044f\u0445\u043e\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044f Javascript","Januar":"\u0441\u0456\u0447\u0435\u043d\u044c","January":"\u0441\u0456\u0447\u043d\u044f","July":"\u043b\u0438\u043f\u0435\u043d\u044c","June":"\u0447\u0435\u0440\u0432\u0435\u043d\u044c","Just check":"\u041f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0435","Language:":"\u041c\u043e\u0432\u0443:","Learn More":"\u0412\u0438\u0432\u0447\u0430\u0439\u0442\u0435 \u0431\u0456\u043b\u044c\u0448\u0435","Light style":"\u041b\u0435\u0433\u043a\u0438\u0439 \u0441\u0442\u0438\u043b\u044c","Limit":"\u041b\u0456\u043c\u0456\u0442","Locate file":"\u0417\u043d\u0430\u0439\u0442\u0438 \u0444\u0430\u0439\u043b","Log outputs":"\u0412\u0438\u0445\u043e\u0434\u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0443","Log text":"\u0422\u0435\u043a\u0441\u0442 \u0436\u0443\u0440\u043d\u0430\u043b\u0443","Make a HTTP get request":"\u0417\u0440\u043e\u0431\u0456\u0442\u044c HTTP-\u0437\u0430\u043f\u0438\u0442 \u043d\u0430 \u043e\u0442\u0440\u0438\u043c\u0430\u043d\u043d\u044f","Make a pause between actions":"\u041c\u0456\u0436 \u0434\u0456\u044f\u043c\u0438 \u0440\u043e\u0431\u0456\u0442\u044c \u043f\u0430\u0443\u0437\u0443","March":"\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c","March ":"\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c","May":"\u041c\u043e\u0436\u0435","Menu":"\u041c\u0435\u043d\u044e","Message":"\u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f","Mo":"\u043f\u043d","Monday":"\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a","Month":"\u043c\u0456\u0441\u044f\u0446\u044c","Name":"\u0406\u043c\'\u044f","No active host found":"\u0410\u043a\u0442\u0438\u0432\u043d\u0438\u0439 \u0445\u043e\u0441\u0442 \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e","Nothing found":"\u041d\u0456\u0447\u043e\u0433\u043e \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e","November":"\u041b\u0438\u0441\u0442\u043e\u043f\u0430\u0434","OK":"\u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0443","October":"\u0436\u043e\u0432\u0442\u0435\u043d\u044c","Ok":"\u0412 \u043f\u043e\u0440\u044f\u0434\u043a\u0443","On condition change":"\u0417\u0430 \u0443\u043c\u043e\u0432\u0438 \u0437\u043c\u0456\u043d\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443","On script save or adapter start":"\u041f\u0456\u0434 \u0447\u0430\u0441 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e \u0430\u0431\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430","On weekdays":"\u0412 \u0431\u0443\u0434\u043d\u0456 \u0434\u043d\u0456","Operate two states":"\u041a\u0435\u0440\u0443\u0439\u0442\u0435 \u0434\u0432\u043e\u043c\u0430 \u0441\u0442\u0430\u043d\u0430\u043c\u0438","Operations with two states":"\u041e\u043f\u0435\u0440\u0430\u0446\u0456\u0457 \u0437 \u0434\u0432\u043e\u043c\u0430 \u0441\u0442\u0430\u043d\u0430\u043c\u0438","Pause":"\u041f\u0430\u0443\u0437\u0430","Pause execution":"\u041f\u0440\u0438\u0437\u0443\u043f\u0438\u043d\u0438\u0442\u0438 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043d\u044f","Pause script":"\u041f\u0440\u0438\u0437\u0443\u043f\u0438\u043d\u0438\u0442\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Phone:":"\u0442\u0435\u043b\u0435\u0444\u043e\u043d:","Please select object ID...":"\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044c \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u043e\u0431\'\u0454\u043a\u0442\u0430...","Print some text in log":"\u041d\u0430\u0434\u0440\u0443\u043a\u0443\u0432\u0430\u0442\u0438 \u0442\u0435\u043a\u0441\u0442 \u0443 \u0436\u0443\u0440\u043d\u0430\u043b\u0456","Priority:":"\u041f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442:","Pushover":"Pushover","Pushsafer":"Pushsafer","Read only ID selected: %s":"\u0412\u0438\u0431\u0440\u0430\u043d\u043e \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u043b\u0438\u0448\u0435 \u0434\u043b\u044f \u0447\u0438\u0442\u0430\u043d\u043d\u044f: %s","Rename":"\u041f\u0435\u0440\u0435\u0439\u043c\u0435\u043d\u0443\u0432\u0430\u0442\u0438","Reorder scripts in folders":"\u0417\u043c\u0456\u043d\u0430 \u043f\u043e\u0440\u044f\u0434\u043a\u0443 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457\u0432 \u0443 \u043f\u0430\u043f\u043a\u0430\u0445","Repeat":"\u041f\u043e\u0432\u0442\u043e\u0440\u0456\u0442\u044c","Restart":"\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c","Resume execution":"\u0412\u0456\u0434\u043d\u043e\u0432\u0438\u0442\u0438 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043d\u044f","Root folder":"\u041a\u043e\u0440\u0435\u043d\u0435\u0432\u0430 \u043f\u0430\u043f\u043a\u0430","Rules description":"\u0421\u0442\u0432\u043e\u0440\u044e\u0439\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0437 \u0431\u043b\u043e\u043a\u0430\u043c\u0438 IF, THEN, ELSE","Run script":"\u0417\u0430\u043f\u0443\u0441\u0442\u0456\u0442\u044c \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Sa":"Sa","Saturday":"\u0421\u0443\u0431\u043e\u0442\u0430","Save":"\u0437\u0431\u0435\u0440\u0435\u0433\u0442\u0438","Save all":"\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438 \u0432\u0441\u0435","Say It":"\u0421\u043a\u0430\u0436\u0438 \u0446\u0435","Say some text via sayit adapter":"\u0421\u043a\u0430\u0436\u0456\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0447\u0435\u0440\u0435\u0437 \u0430\u0434\u0430\u043f\u0442\u0435\u0440 sayit","Schedule":"\u0440\u043e\u0437\u043a\u043b\u0430\u0434","Script":"\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439","Script %s was modified on disk":"\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439 %s \u0437\u043c\u0456\u043d\u0435\u043d\u043e \u043d\u0430 \u0434\u0438\u0441\u043a\u0443","Script is not running":"\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439 \u043d\u0435 \u043f\u0440\u0430\u0446\u044e\u0454","Search in scripts":"\u041f\u043e\u0448\u0443\u043a \u0443 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445","Search...":"\u043f\u043e\u0448\u0443\u043a...","Select all":"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0435","Send email":"\u0412\u0456\u0434\u043f\u0440\u0430\u0432\u0438\u0442\u0438 \u043b\u0438\u0441\u0442","Sends an email":"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0438\u0439 \u043b\u0438\u0441\u0442","Sends message via Pushsafer":"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u0447\u0435\u0440\u0435\u0437 Pushsafer","Sends message via pushover":"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u0447\u0435\u0440\u0435\u0437 pushover","Sends message via telegram":"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u0447\u0435\u0440\u0435\u0437 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c","Sends message via whatsapp-cmb":"\u041d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u043f\u043e\u0432\u0456\u0434\u043e\u043c\u043b\u0435\u043d\u043d\u044f \u0447\u0435\u0440\u0435\u0437 whatsapp-cmb","September":"\u0412\u0435\u0440\u0435\u0441\u0435\u043d\u044c","Set state action":"\u0412\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0438 \u0434\u0456\u044e \u0441\u0442\u0430\u043d\u0443","Set with delay":"\u0412\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0438 \u0456\u0437 \u0437\u0430\u0442\u0440\u0438\u043c\u043a\u043e\u044e","Shell command":"\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043e\u0431\u043e\u043b\u043e\u043d\u043a\u0438","Show javascript code":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u043a\u043e\u0434 Javascript","Show logs":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0438","Show only paused scripts":"\u041f\u043e\u043a\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043b\u0438\u0448\u0435 \u043f\u0440\u0438\u0437\u0443\u043f\u0438\u043d\u0435\u043d\u0456 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457","Show only running scripts":"\u041f\u043e\u043a\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043b\u0438\u0448\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0456 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457","Show only scripts with problems":"\u041f\u043e\u043a\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043b\u0438\u0448\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0457 \u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438","Simulate":"\u0421\u0438\u043c\u0443\u043b\u044e\u0432\u0430\u0442\u0438","Some files will be rejected":"\u0414\u0435\u044f\u043a\u0456 \u0444\u0430\u0439\u043b\u0438 \u0431\u0443\u0434\u0435 \u0432\u0456\u0434\u0445\u0438\u043b\u0435\u043d\u043e","Sound:":"\u0437\u0432\u0443\u043a:","Stack":"\u0421\u0442\u0435\u043a","Start":"\u0441\u0442\u0430\u0440\u0442","Start script":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u0439","State":"\u0414\u0435\u0440\u0436\u0430\u0432\u0430","State condition":"\u0421\u0442\u0430\u043d \u0441\u0442\u0430\u043d\u0443","Step into function":"\u041a\u0440\u043e\u043a \u0443 \u0444\u0443\u043d\u043a\u0446\u0456\u0457","Step out from function":"\u0412\u0438\u0439\u0442\u0438 \u0437 \u0444\u0443\u043d\u043a\u0446\u0456\u0457","Stop on exception":"\u0417\u0443\u043f\u0438\u043d\u043a\u0430 \u043d\u0430 \u0432\u0438\u043d\u044f\u0442\u043a\u0430\u0445","Su":"\u041d\u0434","Subject:":"\u0422\u0435\u043c\u0430:","Sunday":"\u043d\u0435\u0434\u0456\u043b\u044f","TS description":"\u0421\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u0448\u043b\u044f\u0445\u043e\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044f Typescript","Telegram":"\u0422\u0435\u043b\u0435\u0433\u0440\u0430\u043c\u0430","Text:":"\u0422\u0435\u043a\u0441\u0442:","Th":"\u0447\u0442","The script will be stopped and must be activated manually after debugging. Continue?":"\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439 \u0431\u0443\u0434\u0435 \u0437\u0443\u043f\u0438\u043d\u0435\u043d\u043e, \u0456 \u0439\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u0456\u0434\u043d\u043e \u0430\u043a\u0442\u0438\u0432\u0443\u0432\u0430\u0442\u0438 \u0432\u0440\u0443\u0447\u043d\u0443 \u043f\u0456\u0441\u043b\u044f \u043d\u0430\u043b\u0430\u0433\u043e\u0434\u0436\u0435\u043d\u043d\u044f. \u041f\u0440\u043e\u0434\u043e\u0432\u0436\u0438\u0442\u0438?","This is advances option. You can write your own code here and it will be executed on trigger":"\u0426\u0435 \u0430\u0432\u0430\u043d\u0441\u043e\u0432\u0438\u0439 \u0432\u0430\u0440\u0456\u0430\u043d\u0442. \u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u0438 \u0442\u0443\u0442 \u0441\u0432\u0456\u0439 \u0432\u043b\u0430\u0441\u043d\u0438\u0439 \u043a\u043e\u0434, \u0456 \u0432\u0456\u043d \u0431\u0443\u0434\u0435 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043e \u043d\u0430 \u0442\u0440\u0438\u0433\u0435\u0440\u0456","Thursday":"\u0447\u0435\u0442\u0432\u0435\u0440","Time condition":"\u0423\u043c\u043e\u0432\u0430 \u0447\u0430\u0441\u0443","Title:":"\u041d\u0430\u0437\u0432\u0430:","To:":"\u0434\u043e:","Trigger with value":"\u0422\u0440\u0438\u0433\u0435\u0440 \u0437\u0456 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c","Triggered":"\u0421\u043f\u0440\u0430\u0446\u044c\u043e\u0432\u0443\u0454","Triggers":"\u0422\u0440\u0438\u0433\u0435\u0440\u0438","Triggers the on script saving or the javascript instance restart":"\u0406\u043d\u0456\u0446\u0456\u044e\u0454 \u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043d\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e \u0430\u0431\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0435\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 JavaScript","Triggers the rule on update or change of some state":"\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0454 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u0440\u0438 \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0456 \u0430\u0431\u043e \u0437\u043c\u0456\u043d\u0456 \u044f\u043a\u043e\u0433\u043e\u0441\u044c \u0441\u0442\u0430\u043d\u0443","Triggers the rule periodically or on some specific time":"\u0421\u043f\u0440\u0430\u0446\u044c\u043e\u0432\u0443\u0454 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u043f\u0435\u0440\u0456\u043e\u0434\u0438\u0447\u043d\u043e \u0430\u0431\u043e \u0432 \u043f\u0435\u0432\u043d\u0438\u0439 \u0447\u0430\u0441","Tu":"\u0432\u0442","Tuesday":"\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a","URL":"URL","Unknown error":"\u041d\u0435\u0432\u0456\u0434\u043e\u043c\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430","Unknown error!":"\u041d\u0435\u0432\u0456\u0434\u043e\u043c\u0430 \u043f\u043e\u043c\u0438\u043b\u043a\u0430!","User function":"\u0424\u0443\u043d\u043a\u0446\u0456\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430","User:":"\u041a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447:","Value":"\u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f","Vibration:":"\u0412\u0456\u0431\u0440\u0430\u0446\u0456\u044f:","Volume":"\u041e\u0431\u0441\u044f\u0433","We":"\u043c\u0438","Wednesday":"\u0421\u0435\u0440\u0435\u0434\u0430","Whatsapp-cmb":"Whatsapp-cmb","Write":"\u041d\u0430\u043f\u0438\u0448\u0456\u0442\u044c","Write your own code":"\u041d\u0430\u043f\u0438\u0448\u0456\u0442\u044c \u0432\u043b\u0430\u0441\u043d\u0438\u0439 \u043a\u043e\u0434","Yes":"\u0422\u0430\u043a","Yet exists!":"\u0412\u0441\u0435 \u0436 \u0456\u0441\u043d\u0443\u0454!","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 %s \u0432 URL-\u0430\u0434\u0440\u0435\u0441\u0456, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u043f\u043e\u0442\u043e\u0447\u043d\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430, %id, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, %name, \u0449\u043e\u0431 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u043d\u0430\u0437\u0432\u0443 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, \u0430\u0431\u043e %old, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0442\u0430\u0440\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 %s \u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0456, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u043f\u043e\u0442\u043e\u0447\u043d\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430, %id, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, %name, \u0449\u043e\u0431 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u043d\u0430\u0437\u0432\u0443 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, \u0430\u0431\u043e %old, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0442\u0430\u0440\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 %s \u0443 \u0442\u0435\u043a\u0441\u0442\u0456 \u0434\u043b\u044f \u0432\u0456\u0434\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430, %id \u0434\u043b\u044f \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, %name \u0434\u043b\u044f \u0432\u0456\u0434\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u0456\u043c\u0435\u043d\u0456 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430 \u0430\u0431\u043e %old \u0434\u043b\u044f \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u0430\u043d\u043d\u044f \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"\u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 %s \u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u0456, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u043f\u043e\u0442\u043e\u0447\u043d\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430, %id, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, %name, \u0449\u043e\u0431 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u043d\u0430\u0437\u0432\u0443 \u0456\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440\u0430 \u0430\u043a\u0442\u0438\u0432\u043e\u0432\u0430\u043d\u043e\u0433\u043e \u043e\u0431\u2019\u0454\u043a\u0442\u0430, \u0430\u0431\u043e %old, \u0449\u043e\u0431 \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0441\u0442\u0430\u0440\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0442\u0440\u0438\u0433\u0435\u0440\u0430","[equal]":"[\u0440\u0456\u0432\u043d\u0438\u0439]","[greater or equal]":"[\u0431\u0456\u043b\u044c\u0448\u0435 \u0430\u0431\u043e \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454]","[greater]":"[\u0431\u0456\u043b\u044c\u0448\u0438\u0439]","[hysteresis]":"[\u0433\u0456\u0441\u0442\u0435\u0440\u0435\u0437\u0438\u0441]","[includes]":"[\u0432\u043a\u043b\u044e\u0447\u0430\u0454]","[less or equal]":"[\u043c\u0435\u043d\u0448\u0435 \u0430\u0431\u043e \u0440\u0456\u0432\u043d\u043e]","[less]":"[\u043c\u0435\u043d\u0448\u0435]","[not equal]":"[\u043d\u0435 \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454]","acknowledgment":"\u043f\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043d\u043d\u044f","all":"\u0432\u0441\u0435","and":"\u0456","astro":"\u0410\u0441\u0442\u0440\u043e","at":"\u0432","clear running":"\u0447\u0456\u0442\u043a\u0438\u0439 \u0431\u0456\u0433","control":"\u041a\u041e\u041d\u0422\u0420\u041e\u041b\u042c","copy":"\u043a\u043e\u043f\u0456\u044f","cron":"CRON","dawn":"\u0421\u0432\u0456\u0442\u0430\u043d\u043e\u043a","default":"\u0437\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c","dusk":"\u0421\u0443\u0442\u0456\u043d\u043a\u0438","else":"\u0456\u043d\u0448\u0435","equal to":"\u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454","every":"\u043a\u043e\u0436\u0435\u043d","every hour at 0 minutes":"\u0449\u043e\u0433\u043e\u0434\u0438\u043d\u0438 \u043e 0 \u0445\u0432\u0438\u043b\u0438\u043d","false":"\u043f\u043e\u043c\u0438\u043b\u043a\u043e\u0432\u0438\u0439","file reading has failed: %s":"\u043d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u0438 \u0444\u0430\u0439\u043b: %s","file reading was aborted":"\u0447\u0438\u0442\u0430\u043d\u043d\u044f \u0444\u0430\u0439\u043b\u0443 \u0431\u0443\u043b\u043e \u043f\u0435\u0440\u0435\u0440\u0432\u0430\u043d\u043e","filter_func":"\u0444\u0443\u043d\u043a\u0446\u0456\u044f","filter_id":"ID","filter_name":"\u0406\u043c\'\u044f","filter_role":"\u0420\u043e\u043b\u044c","filter_room":"\u041a\u0456\u043c\u043d\u0430\u0442\u0430","for edit or create script":"\u0434\u043b\u044f \u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u043d\u043d\u044f \u0430\u0431\u043e \u0441\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e","goldenHour":"\u0417\u043e\u043b\u043e\u0442\u0430 \u0433\u043e\u0434\u0438\u043d\u0430","goldenHourEnd":"\u041a\u0456\u043d\u0435\u0446\u044c \u0437\u043e\u043b\u043e\u0442\u043e\u0457 \u0433\u043e\u0434\u0438\u043d\u0438","greater or equal":"\u0431\u0456\u043b\u044c\u0448\u0438\u0439 \u0430\u0431\u043e \u0440\u0456\u0432\u043d\u0438\u0439","greater or equal to":"\u0431\u0456\u043b\u044c\u0448\u0435 \u0430\u0431\u043e \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454","greater than":"\u0431\u0456\u043b\u044c\u0448\u0435, \u043d\u0456\u0436, \u0432\u0435\u043b\u0438\u0447\u043d\u0456\u0448\u0435 \u043d\u0456\u0436, \u043a\u0440\u0443\u0442\u0456\u0448\u0438\u0439 \u0437\u0430","help_just_check":"\u041a\u043e\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043a\u043e\u043d\u0443\u0432\u0430\u0442\u0438\u0441\u044f \u043b\u0438\u0448\u0435 \u0449\u043e\u0440\u0430\u0437\u0443, \u043a\u043e\u043b\u0438 \u0443\u043c\u043e\u0432\u0430 \u0432\u0438\u043a\u043e\u043d\u0443\u0454\u0442\u044c\u0441\u044f. \u043d\u0430\u043f\u0440\u0438\u043a\u043b\u0430\u0434 \u044f\u043a\u0449\u043e \u0441\u043f\u0440\u0430\u0446\u044c\u043e\u0432\u0443\u0454 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0438 \u0442\u0430 \u0443\u043c\u043e\u0432\u0430 \xab\u044f\u043a\u0449\u043e \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 20\xb0C\xbb, \u0434\u0456\u0457 \xab\u0442\u043e\u0434\u0456\xbb \u0432\u0438\u043a\u043e\u043d\u0443\u0432\u0430\u0442\u0438\u043c\u0443\u0442\u044c\u0441\u044f \u0449\u043e\u0440\u0430\u0437\u0443, \u043a\u043e\u043b\u0438 \u0434\u0430\u0442\u0447\u0438\u043a \u043d\u0430\u0434\u0441\u0438\u043b\u0430\u0454 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0443, \u0456 \u0432\u043e\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 20\xb0C. \u041d\u0430 21\xb0C, \u043d\u0430 22\xb0C \u0456 \u0442\u0430\u043a \u0434\u0430\u043b\u0456.","help_on_change":"\u041a\u043e\u0434 \u0431\u0443\u0434\u0435 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043e \u043b\u0438\u0448\u0435 \u0443 \u0440\u0430\u0437\u0456 \u0437\u043c\u0456\u043d\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443 \u0443\u043c\u043e\u0432\u0438. \u043d\u0430\u043f\u0440\u0438\u043a\u043b\u0430\u0434 \u044f\u043a\u0449\u043e \u0441\u043f\u0440\u0430\u0446\u044c\u043e\u0432\u0443\u0454 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0438 \u0442\u0430 \u0443\u043c\u043e\u0432\u0430 \xab\u044f\u043a\u0449\u043e \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 20\xb0C\xbb, \u0434\u0456\u0457 \xab\u0442\u043e\u0434\u0456\xbb \u0431\u0443\u0434\u0443\u0442\u044c \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u0456 \u043e\u0434\u0438\u043d \u0440\u0430\u0437, \u043a\u043e\u043b\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0431\u0443\u0434\u0435 \u0432\u0438\u0449\u0435 20. \u041d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0443 \u0434\u0456\u0457 \xab\u0442\u043e\u0434\u0456\xbb \u0431\u0443\u0434\u0435 \u0432\u0438\u043a\u043e\u043d\u0430\u043d\u043e, \u043a\u043e\u043b\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043f\u0430\u0434\u0430\u0454 \u043d\u0438\u0436\u0447\u0435 20, \u0430 \u043f\u043e\u0442\u0456\u043c \u0437\u043d\u043e\u0432\u0443 \u043f\u0456\u0434\u043d\u0456\u043c\u0430\u0454\u0442\u044c\u0441\u044f \u0432\u0438\u0449\u0435 20.","high priority":"\u0432\u0438\u0441\u043e\u043a\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","high-priority":"\u0432\u0438\u0441\u043e\u043a\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","highest priority":"\u043d\u0430\u0439\u0432\u0438\u0449\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","hours":"\u0433\u043e\u0434\u0438\u043d\u0438","includes":"\u0432\u043a\u043b\u044e\u0447\u0430\u0454 \u0432 \u0441\u0435\u0431\u0435","interval":"\u0456\u043d\u0442\u0435\u0440\u0432\u0430\u043b","just check":"\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0442\u0435","less or equal":"\u043c\u0435\u043d\u0448\u0435 \u0430\u0431\u043e \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454","less or equal to":"\u043c\u0435\u043d\u0448\u0435 \u0430\u0431\u043e \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454","less than":"\u043c\u0435\u043d\u0448\u0435 \u043d\u0456\u0436","lower priority":"\u043d\u0438\u0436\u0447\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","lowest priority":"\u043d\u0430\u0439\u043d\u0438\u0436\u0447\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","magic":"\u043c\u0430\u0433\u0456\u044f","milliseconds":"\u043c\u0456\u043b\u0456\u0441\u0435\u043a\u0443\u043d\u0434","minutes":"\u0445\u0432\u0438\u043b\u0438\u043d","ms":"\u0420\u0421","nadir":"\u041d\u0430\u0434\u0456\u0440","nauticalDawn":"\u041c\u043e\u0440\u0441\u044c\u043a\u0438\u0439 \u0441\u0432\u0456\u0442\u0430\u043d\u043e\u043a","nauticalDusk":"\u041c\u043e\u0440\u0441\u044c\u043a\u0456 \u0441\u0443\u0442\u0456\u043d\u043a\u0438","night":"\u043d\u0456\u0447","nightEnd":"\u041a\u0456\u043d\u0435\u0446\u044c \u043d\u043e\u0447\u0456","no blocks found":"\u0411\u043b\u043e\u043a\u0456\u0432 \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e","no group":"\u041d\u0415\u041c\u0410\u0404 \u0413\u0420\u0423\u041f\u0418","normal":"\u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e","normal priority":"\u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0438\u0439 \u043f\u0440\u0456\u043e\u0440\u0438\u0442\u0435\u0442","not equal to":"\u043d\u0435 \u0434\u043e\u0440\u0456\u0432\u043d\u044e\u0454","not properly connected":"\u0426\u0435\u0439 \u0431\u043b\u043e\u043a \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0437\u2019\u0454\u0434\u043d\u0430\u043d\u0438\u0439 \u0437 \u0456\u043d\u0448\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438.","offset":"\u0437\u0441\u0443\u0432","on change":"\u043d\u0430 \u0437\u043c\u0456\u043d\u0443","on condition change":"\u043f\u0440\u043e \u0437\u043c\u0456\u043d\u0443 \u0443\u043c\u043e\u0432","on update":"\u043d\u0430 \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f","one":"\u043e\u0434\u0438\u043d","or":"\u0430\u0431\u043e","quiet":"\u0442\u0438\u0445\u043e","reset search":"\u0441\u043a\u0438\u043d\u0443\u0442\u0438 \u043f\u043e\u0448\u0443\u043a","search":"\u043f\u043e\u0448\u0443\u043a","seconds":"\u0441\u0435\u043a\u0443\u043d\u0434","solarNoon":"\u0421\u043e\u043d\u044f\u0447\u043d\u0438\u0439 \u043f\u043e\u043b\u0443\u0434\u0435\u043d\u044c","store in":"\u0437\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u0432","sunrise":"\u0441\u0445\u0456\u0434 \u0441\u043e\u043d\u0446\u044f","sunriseEnd":"\u041a\u0456\u043d\u0435\u0446\u044c \u0441\u0445\u043e\u0434\u0443 \u0441\u043e\u043d\u0446\u044f","sunset":"\u0417\u0430\u0445\u0456\u0434 \u0441\u043e\u043d\u0446\u044f","sunsetStart":"\u041f\u043e\u0447\u0430\u0442\u043e\u043a \u0437\u0430\u0445\u043e\u0434\u0443 \u0441\u043e\u043d\u0446\u044f","then":"\u043f\u043e\u0442\u0456\u043c","toggle value":"\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043f\u0435\u0440\u0435\u043c\u0438\u043a\u0430\u043d\u043d\u044f","tooltip_ack":"\u0412\u0438\u0437\u043d\u0430\u0442\u0438","tooltip_from":"\u0412\u0456\u0434","tooltip_lc":"\u0412\u043e\u0441\u0442\u0430\u043d\u043d\u0454 \u0437\u043c\u0456\u043d\u0435\u043d\u043e","tooltip_quality":"\u044f\u043a\u0456\u0441\u0442\u044c","tooltip_ts":"\u041c\u0456\u0442\u043a\u0430 \u0447\u0430\u0441\u0443","tooltip_user":"\u041a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447","tooltip_value":"\u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f","true":"\u043f\u0440\u0430\u0432\u0434\u0430","two":"\u0434\u0432\u0430","undefined":"\u043d\u0435\u0432\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439","update":"\u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f","use seconds":"\u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u0438","when":"\u043a\u043e\u043b\u0438","with":"\u0437","with date":"\u0437 \u0434\u0430\u0442\u043e\u044e","with offset":"\u0437\u0456 \u0437\u043c\u0456\u0449\u0435\u043d\u043d\u044f\u043c","wizard":"\u043c\u0430\u0439\u0441\u0442\u0435\u0440","easy":"\u043b\u0435\u0433\u043a\u043e","for programmers":"\u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0456\u0441\u0442\u0456\u0432","for professionals":"\u0434\u043b\u044f \u043f\u0440\u043e\u0444\u0435\u0441\u0456\u043e\u043d\u0430\u043b\u0456\u0432","Duplicate name":"\u041f\u043e\u0432\u0442\u043e\u0440\u044e\u0432\u0430\u043d\u0435 \u0456\u043c\'\u044f","Empty name is not allowed":"\u041f\u043e\u0440\u043e\u0436\u043d\u0454 \u0456\u043c\'\u044f \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0454\u0442\u044c\u0441\u044f","Time":"\u0447\u0430\u0441","Server time":"\u0427\u0430\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430","Local time":"\u041c\u0456\u0441\u0446\u0435\u0432\u0438\u0439 \u0447\u0430\u0441","Description":"\u043e\u043f\u0438\u0441","nextSunrise":"\u041d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u0439 \u0441\u0445\u0456\u0434 \u0441\u043e\u043d\u0446\u044f","nextSunset":"\u041d\u0430\u0441\u0442\u0443\u043f\u043d\u0438\u0439 \u0437\u0430\u0445\u0456\u0434 \u0441\u043e\u043d\u0446\u044f","Astronomical events today":"\u0410\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0456\u0447\u043d\u0456 \u043f\u043e\u0434\u0456\u0457 \u0441\u044c\u043e\u0433\u043e\u0434\u043d\u0456","Compares current time with astronomical event":"\u041f\u043e\u0440\u0456\u0432\u043d\u044e\u0454 \u043f\u043e\u0442\u043e\u0447\u043d\u0438\u0439 \u0447\u0430\u0441 \u0437 \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0456\u0447\u043d\u043e\u044e \u043f\u043e\u0434\u0456\u0454\u044e","Show astronomical events":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u0430\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0456\u0447\u043d\u0456 \u043f\u043e\u0434\u0456\u0457","Astronomical":"\u0410\u0441\u0442\u0440\u043e\u043d\u043e\u043c\u0456\u0447\u043d\u0438\u0439","Enter your question":"\u0412\u0432\u0435\u0434\u0438 \u0441\u0432\u043e\u0454 \u043f\u0440\u043e\u0445\u0430\u043d\u043d\u044f","Press Ctrl+Enter to get the answer":"\u041d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c Ctrl+Enter, \u0449\u043e\u0431 \u043e\u0442\u0440\u0438\u043c\u0430\u0442\u0438 \u0432\u0456\u0434\u043f\u043e\u0432\u0456\u0434\u044c","Ask":"\u0417\u0430\u043f\u0438\u0442\u0443\u0439\u0442\u0435","Result":"\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442","Use generated code":"\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 \u0437\u0433\u0435\u043d\u0435\u0440\u043e\u0432\u0430\u043d\u0438\u0439 \u043a\u043e\u0434","No Chat GPT Key found":"\u041a\u043b\u044e\u0447 GPT \u0434\u043b\u044f \u0447\u0430\u0442\u0443 \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e","You have to enter OpenAI API key in the configuration of javascript adapter.":"\u0412\u0438 \u043f\u043e\u0432\u0438\u043d\u043d\u0456 \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043b\u044e\u0447 OpenAI API \u0443 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u0457 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 JavaScript.","Open configuration":"\u0412\u0456\u0434\u043a\u0440\u0438\u0442\u0430 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044f"}')},58246:e=>{e.exports=JSON.parse('{"-":"-","Add":"\u6dfb\u52a0","Add new script":"\u6dfb\u52a0\u65b0\u811a\u672c","All files will be accepted":"\u6240\u6709\u6587\u4ef6\u90fd\u5c06\u88ab\u63a5\u53d7","April":"\u56db\u6708","Are you sure?":"\u4f60\u786e\u5b9a\u5417\uff1f","August":"\u516b\u6708","Blockly description":"\u6309\u56fe\u5f62\u5757\u521b\u5efa\u89c4\u5219","Cancel":"\u53d6\u6d88","Cannot delete non empty item!":"\u65e0\u6cd5\u5220\u9664\u975e\u7a7a\u9879\u76ee\uff01","Change layout":"\u53d8\u66f4\u7248\u9762","Check blocks":"\u68c0\u67e5\u5757","Check is not active, because javascript adapter is disabled":"\u68c0\u67e5\u672a\u6fc0\u6d3b\uff0c\u56e0\u4e3a\u7981\u7528\u4e86Javascript\u9002\u914d\u5668","Clear search input":"\u6e05\u9664\u641c\u7d22\u8f93\u5165","Click on this icon":"\u5355\u51fb\u6b64\u56fe\u6807","Close":"\u5173\u95ed","Close all but current":"\u5173\u95ed\u6240\u6709\uff08\u5f53\u524d\u9664\u5916\uff09","Collapse all":"\u5168\u90e8\u6536\u7f29","Configuration not saved.":"\u914d\u7f6e\u672a\u4fdd\u5b58\u3002","Convert blockly to javascript for ever.":"\u7acb\u5373\u5c06blockly\u8f6c\u6362\u4e3aJavascript\u3002","Copy script":"\u590d\u5236\u811a\u672c","Copy to clipboard":"\u590d\u5236\u5230\u526a\u8d34\u677f","Download as file":"\u6863\u6848","Create new":"\u521b\u5efa\u65b0\u7684","Create new folder":"\u521b\u5efa\u65b0\u6587\u4ef6\u5939","Create new script":"\u521b\u5efa\u65b0\u811a\u672c","Create or edit CRON or time wizard":"\u521b\u5efa\u6216\u7f16\u8f91\u5468\u671f\u4efb\u52a1\u6216\u65f6\u95f4\u5411\u5bfc","Dark Theme":"\u6df1\u8272\u8c03\u4e3b\u9898","Dark style":"\u6df1\u8272\u8c03\u98ce\u683c","Debug options":"\u8c03\u8bd5\u9009\u9879","December":"\u5341\u4e8c\u6708","Define cron...":"\u5b9a\u4e49\u5468\u671f\u4efb\u52a1...","Define schedule...":"\u5b9a\u4e49\u8c03\u5ea6\u5668......","Delete":"\u5220\u9664","Delete %s":"\u5220\u9664%s...","Delete folder":"\u5220\u9664\u6587\u4ef6\u5939","Delete script":"\u5220\u9664\u811a\u672c","Deselect all":"\u53d6\u6d88\u5168\u9009","Discard changes for %s":"\u653e\u5f03%s\u7684\u66f4\u6539","Done":"\u5b8c\u6210","Drop some files here or click...":"\u5c06\u6587\u4ef6\u62d6\u62fd\u5230\u8fd9\u91cc\u6216\u5355\u51fb......","Edit script or just double click":"\u53cc\u51fb\u7f16\u8f91\u811a\u672c","End search mode":"\u7ed3\u675f\u641c\u7d22\u6a21\u5f0f","Error":"\u9519\u8bef","Error was found":"\u53d1\u73b0\u9519\u8bef","Existing scripts will be overwritten.":"\u73b0\u6709\u811a\u672c\u5c06\u88ab\u8986\u76d6\u3002","Expand all":"\u5c55\u5f00\u5168\u90e8","Expert mode":"\u4e13\u5bb6\u6a21\u5f0f","Export":"\u5bfc\u51fa","Export all scripts":"\u5bfc\u51fa\u6240\u6709\u811a\u672c","Export blocks":"\u5bfc\u51fa\u5757","Export selected blocks":"\u5bfc\u51fa\u9009\u5b9a\u7684\u5757","February":"\u4e8c\u6708","Folder":"\u6587\u4ef6\u5939","Friday":"\u661f\u671f\u4e94","Function editor":"\u529f\u80fd\u7f16\u8f91\u5668","ID":"ID","Import":"\u5bfc\u5165","Import blocks":"\u5bfc\u5165\u5757","Import error":"\u5bfc\u5165\u9519\u8bef","Import scripts":"\u5bfc\u5165\u811a\u672c","Insert object ID":"\u63d2\u5165\u5bf9\u8c61ID","Instance":"\u5b9e\u4f8b","Instance is disabled":"\u5b9e\u4f8b\u5df2\u7981\u7528","Invalid CRON":"\u65e0\u6548\u7684\u5468\u671f\u4efb\u52a1","It will not be possible to revert this operation.":"\u65e0\u6cd5\u6062\u590d\u6b64\u64cd\u4f5c\u3002","JS description":"\u901a\u8fc7\u7f16\u5199Javascript\u6765\u521b\u5efa\u89c4\u5219","January":"\u4e00\u6708","July":"\u4e03\u6708","June":"\u516d\u6708","Learn More":"\u4e86\u89e3\u66f4\u591a","Light style":"\u6d45\u8272\u8c03\u98ce\u683c","Locate file":"\u5b9a\u4f4d\u6587\u4ef6","Log outputs":"\u8bb0\u5f55\u8f93\u51fa","March":"\u4e09\u6708","May":"\u4e94\u6708","Menu":"\u83dc\u5355","Message":"\u4fe1\u606f","Monday":"\u661f\u671f\u4e00","Name":"\u540d\u79f0","No active host found":"\u627e\u4e0d\u5230\u6d3b\u52a8\u4e3b\u673a","November":"\u5341\u4e00\u6708","October":"\u5341\u6708","Ok":"\u786e\u5b9a","On weekdays":"\u5728\u5de5\u4f5c\u65e5","Pause script":"\u6682\u505c\u811a\u672c","Please select object ID...":"\u8bf7\u9009\u62e9\u5bf9\u8c61ID...","Rename":"\u91cd\u547d\u540d","Reorder scripts in folders":"\u91cd\u65b0\u6392\u5e8f\u6587\u4ef6\u5939\u4e2d\u7684\u811a\u672c","Repeat":"\u91cd\u590d","Restart":"\u91cd\u542f","Root folder":"\u6839\u6587\u4ef6\u5939","Run script":"\u8fd0\u884c\u811a\u672c","Saturday":"\u661f\u671f\u516d","Save":"\u4fdd\u5b58","Script":"\u811a\u672c","Script %s was modified on disk":"\u811a\u672c%s\u5df2\u5728\u78c1\u76d8\u4e0a\u4fee\u6539","Script is not running":"\u811a\u672c\u6ca1\u6709\u8fd0\u884c","Search in scripts":"\u5728\u811a\u672c\u4e2d\u641c\u7d22","Search...":"\u641c\u7d22...","Select all":"\u5168\u9009","September":"\u4e5d\u6708","Show javascript code":"\u663e\u793aJavascript\u4ee3\u7801","Show only paused scripts":"\u4ec5\u663e\u793a\u6682\u505c\u7684\u811a\u672c","Show only running scripts":"\u4ec5\u663e\u793a\u6b63\u5728\u8fd0\u884c\u7684\u811a\u672c","Show only scripts with problems":"\u4ec5\u663e\u793a\u6709\u95ee\u9898\u7684\u811a\u672c","Some files will be rejected":"\u6709\u4e9b\u6587\u4ef6\u5c06\u88ab\u62d2\u7edd","Sunday":"\u661f\u671f\u65e5","TS description":"\u901a\u8fc7\u7f16\u5199Typescript\u6765\u521b\u5efa\u89c4\u5219","Thursday":"\u661f\u671f\u56db","Tuesday":"\u661f\u671f\u4e8c","Unknown error":"\u672a\u77e5\u9519\u8bef","Unknown error!":"\u672a\u77e5\u9519\u8bef\uff01","Wednesday":"\u661f\u671f\u4e09","Yet exists!":"\u4e0d\u5b58\u5728\uff01","copy":"\u590d\u5236","file reading has failed: %s":"\u6587\u4ef6\u8bfb\u53d6\u5931\u8d25\uff1a%s","file reading was aborted":"\u6587\u4ef6\u8bfb\u53d6\u4e2d\u6b62","filter_func":"\u529f\u80fd","filter_id":"ID","filter_name":"\u540d\u5b57","filter_role":"\u89d2\u8272","filter_room":"\u623f\u95f4","for edit or create script":"\u7528\u4e8e\u7f16\u8f91\u6216\u521b\u5efa\u811a\u672c","no blocks found":"\u627e\u4e0d\u5230\u5757","no group":"\u6ca1\u6709\u7ec4","not properly connected":"\u6b64\u5757\u672a\u6b63\u786e\u8fde\u63a5\u5230\u5176\u4ed6\u5757\u3002","tooltip_ack":"\u786e\u8ba4","tooltip_from":"\u4ece","tooltip_lc":"\u4e0a\u4e00\u6b21\u6539\u53d8","tooltip_quality":"\u8d28\u91cf","tooltip_ts":"\u65f6\u95f4\u6233","tooltip_user":"\u7528\u6237","tooltip_value":"\u503c","use seconds":"\u7cbe\u786e\u5230\u79d2","Save all":"\u4fdd\u5b58\u5168\u90e8","Change theme (actual \\"%s\\")":"\u66f4\u6539\u4e3b\u9898\uff08\u73b0\u5728\u4e3a\u201c%s\u201d\uff09","Hide logs":"\u9690\u85cf\u65e5\u5fd7","Show logs":"\u663e\u793a\u8bb0\u5f55","Rules description":"\u4f7f\u7528IF\uff0cTHEN\uff0cELSE\u5757\u521b\u5efa\u89c4\u5219","help_on_change":"\u4ec5\u5f53\u6761\u4ef6\u7ed3\u679c\u66f4\u6539\u65f6\uff0c\u4ee3\u7801\u624d\u4f1a\u6267\u884c\u3002\u4f8b\u5982\u3002\u5982\u679c\u89e6\u53d1\u6e29\u5ea6\u4f20\u611f\u5668\u503c\u4e14\u6761\u4ef6\u4e3a\u201c\u5982\u679c\u6e29\u5ea6\u5927\u4e8e20\xb0C\u201d\uff0c\u5219\u6e29\u5ea6\u8d85\u8fc720\u65f6\u5c06\u6267\u884c\u4e00\u6b21\u201c\u5219\u201d\u52a8\u4f5c\uff0c\u4e0b\u4e00\u6b21\uff0c\u5f53\u6e29\u5ea6\u8d85\u8fc720\u65f6\u5c06\u6267\u884c\u201c\u5219\u201d\u52a8\u4f5c\u4f4e\u4e8e20\u5931\u8d25\uff0c\u7136\u540e\u518d\u6b21\u8d85\u8fc720\u3002","help_just_check":"\u4ec5\u5728\u6761\u4ef6\u4e3a\u771f\u65f6\u624d\u6267\u884c\u4ee3\u7801\u3002\u4f8b\u5982\u3002\u5982\u679c\u89e6\u53d1\u6e29\u5ea6\u4f20\u611f\u5668\u503c\u5e76\u4e14\u6761\u4ef6\u4e3a\u201c\u5982\u679c\u6e29\u5ea6\u5927\u4e8e20\xb0C\u201d\uff0c\u5219\u6bcf\u6b21\u4f20\u611f\u5668\u53d1\u9001\u6e29\u5ea6\u4e14\u6e29\u5ea6\u8d85\u8fc720\xb0C\u65f6\uff0c\u5c06\u6267\u884c\u201c\u7136\u540e\u201d\u52a8\u4f5c\u3002 21\xb0C\uff0c22\xb0C\u7b49\u3002","On condition change":"\u6761\u4ef6\u53d8\u5316\u65f6","Just check":"\u53ea\u662f\u68c0\u67e5","when":"\u4ec0\u4e48\u65f6\u5019","and":"\u548c","then":"\u7136\u540e","or":"\u6216","else":"\u522b\u7684","Nothing found":"\u6ca1\u6709\u53d1\u73b0","reset search":"\u91cd\u7f6e\u641c\u7d22","Read only ID selected: %s":"\u9009\u62e9\u7684\u53ea\u8bfbID\uff1a%s","OK":"\u597d\u7684","Triggers":"\u6273\u673a","cron":"\u514b\u6717","wizard":"\u5deb\u5e08","interval":"\u95f4\u9694","at":"\u5728","astro":"\u5929\u6587","on condition change":"\u5728\u6761\u4ef6\u53d8\u5316\u65f6","just check":"\u53ea\u662f\u68c0\u67e5","Explanation":"\u89e3\u91ca","seconds":"\u79d2","minutes":"\u5206\u949f","hours":"\u5c0f\u65f6","Every day":"\u6bcf\u5929","milliseconds":"\u6beb\u79d2","Copied":"\u590d\u5236\u7684","nadir":"\u6700\u4f4e\u70b9","nightEnd":"\u591c\u665a\u7ed3\u675f","nauticalDawn":"\u822a\u6d77\u9ece\u660e","dawn":"\u9ece\u660e","sunrise":"\u65e5\u51fa","sunriseEnd":"\u65e5\u51fa\u7ed3\u675f","goldenHourEnd":"\u9ec4\u91d1\u65f6\u6bb5\u7ed3\u675f","solarNoon":"\u661f\u671f\u65e5\u6b63\u5348","goldenHour":"\u9ec4\u91d1\u65f6\u6bb5","sunsetStart":"\u65e5\u843d\u5f00\u59cb","sunset":"\u65e5\u843d","dusk":"\u9ec4\u660f","nauticalDusk":"\u822a\u6d77\u9ec4\u660f","night":"\u591c\u665a","one":"\u4e00","two":"\u4e8c","true":"\u771f\u7684","false":"\u9519\u8bef\u7684","search":"\u641c\u7d22","Actions":"\u52a8\u4f5c","Conditions":"\u60c5\u51b5","Schedule":"\u65e5\u7a0b","Start script":"\u542f\u52a8\u811a\u672c","State":"\u72b6\u6001","State condition":"\u72b6\u6001\u6761\u4ef6","Time condition":"\u65f6\u95f4\u6761\u4ef6","Set state action":"\u8bbe\u5b9a\u72b6\u6001\u52a8\u4f5c","Exec":"\u6267\u884c\u529b","HTTP Call":"HTTP\u547c\u53eb","Log text":"\u8bb0\u5f55\u6587\u5b57","Pause":"\u6682\u505c","on change":"\u5728\u53d8\u5316","control":"\u63a7\u5236","Say It":"Say It","every hour at 0 minutes":"\u6bcf\u5c0f\u65f60\u5206\u949f","On script save or adapter start":"\u5728\u811a\u672c\u4fdd\u5b58\u6216\u9002\u914d\u5668\u542f\u52a8\u65f6","equal to":"\u7b49\u4e8e","Actual time of day":"\u4e00\u5929\u4e2d\u7684\u5b9e\u9645\u65f6\u95f4","with":"\u548c","Shell command":"Shell\u547d\u4ee4","URL":"\u7f51\u5740","Instance:":"\u5b9e\u4f8b\uff1a","Language:":"\u8bed\u8a00\uff1a","Volume":"\u4f53\u79ef","Text:":"\u6587\u672c\uff1a","undefined":"\u4e0d\u660e\u786e\u7684","Default":"\u9ed8\u8ba4","You can use %s in the text to display current trigger value or %id to display the triggered object ID":"\u60a8\u53ef\u4ee5\u5728\u6587\u672c\u4e2d\u4f7f\u7528 %s \u663e\u793a\u5f53\u524d\u89e6\u53d1\u503c\uff0c%id \u4f7f\u7528\u89e6\u53d1\u5bf9\u8c61 ID\uff0c%name \u663e\u793a\u89e6\u53d1\u5bf9\u8c61 ID \u540d\u79f0\u6216 %old \u4f7f\u7528\u65e7\u89e6\u53d1\u503c","Instructions":"\u6307\u793a","You can use %s in the URL to use current trigger value or %id to use the triggered object ID":"\u60a8\u53ef\u4ee5\u5728 URL \u4e2d\u4f7f\u7528 %s \u4ee5\u4f7f\u7528\u5f53\u524d\u89e6\u53d1\u503c\uff0c%id \u4ee5\u4f7f\u7528\u89e6\u53d1\u5bf9\u8c61 ID\uff0c%name \u4ee5\u663e\u793a\u89e6\u53d1\u5bf9\u8c61 ID \u540d\u79f0\u6216 %old \u4ee5\u4f7f\u7528\u65e7\u89e6\u53d1\u503c","You can use %s in the value to use the current trigger value or %id to display the triggered object ID":"\u60a8\u53ef\u4ee5\u5728\u503c\u4e2d\u4f7f\u7528 %s \u4ee5\u4f7f\u7528\u5f53\u524d\u89e6\u53d1\u5668\u503c\uff0c%id \u4f7f\u7528\u89e6\u53d1\u5bf9\u8c61 ID\uff0c%name \u663e\u793a\u89e6\u53d1\u5bf9\u8c61 ID \u540d\u79f0\u6216 %old \u4f7f\u7528\u65e7\u89e6\u53d1\u5668\u503c","You can use %s in the command to use current trigger value or %id to use the triggered object ID":"\u60a8\u53ef\u4ee5\u5728\u547d\u4ee4\u4e2d\u4f7f\u7528 %s \u4ee5\u4f7f\u7528\u5f53\u524d\u89e6\u53d1\u503c\uff0c%id \u4f7f\u7528\u89e6\u53d1\u5bf9\u8c61 ID\uff0c%name \u663e\u793a\u89e6\u53d1\u5bf9\u8c61 ID \u540d\u79f0\u6216 %old \u4f7f\u7528\u65e7\u89e6\u53d1\u503c","every":"\u6bcf\u4e00\u4e2a","with offset":"\u5e26\u504f\u79fb","on update":"\u66f4\u65b0\u65f6","update":"\u66f4\u65b0","Triggers the rule periodically or on some specific time":"\u5b9a\u671f\u6216\u5728\u7279\u5b9a\u65f6\u95f4\u89e6\u53d1\u89c4\u5219","Triggers the on script saving or the javascript instance restart":"\u89e6\u53d1\u811a\u672c\u4fdd\u5b58\u6216javascript\u5b9e\u4f8b\u91cd\u542f","Triggers the rule on update or change of some state":"\u5728\u67d0\u4e9b\u72b6\u6001\u7684\u66f4\u65b0\u6216\u66f4\u6539\u65f6\u89e6\u53d1\u89c4\u5219","Compares the state value with user defined value":"\u6bd4\u8f83\u72b6\u6001\u503c\u548c\u7528\u6237\u5b9a\u4e49\u7684\u503c","Compares current time with the user specific time":"\u5c06\u5f53\u524d\u65f6\u95f4\u4e0e\u7528\u6237\u7279\u5b9a\u65f6\u95f4\u8fdb\u884c\u6bd4\u8f83","Control or update some state":"\u63a7\u5236\u6216\u66f4\u65b0\u67d0\u4e9b\u72b6\u6001","Executes some shell command":"\u6267\u884c\u4e00\u4e9bshell\u547d\u4ee4","Make a HTTP get request":"\u53d1\u51faHTTP\u83b7\u53d6\u8bf7\u6c42","Print some text in log":"\u5728\u65e5\u5fd7\u4e2d\u6253\u5370\u4e00\u4e9b\u6587\u672c","Make a pause between actions":"\u5728\u52a8\u4f5c\u4e4b\u95f4\u6682\u505c","Say some text via sayit adapter":"\u901a\u8fc7sayit\u9002\u914d\u5668\u8bf4\u4e00\u4e9b\u6587\u5b57","Telegram":"\u7535\u62a5","User:":"\u7528\u6237\uff1a","all":"\u5168\u90e8","Sends message via telegram":"\u901a\u8fc7\u7535\u62a5\u53d1\u9001\u6d88\u606f","Sends an email":"\u53d1\u9001\u90ae\u4ef6","Send email":"\u53d1\u9001\u7535\u5b50\u90ae\u4ef6","Sends message via pushover":"\u901a\u8fc7\u63a8\u64ad\u53d1\u9001\u6d88\u606f","Pushover":"\u4fef\u5367\u6491","Sends message via whatsapp-cmb":"\u901a\u8fc7whatsapp-cmb\u53d1\u9001\u6d88\u606f","Whatsapp-cmb":"Whatsapp\u7684cmb","Sends message via Pushsafer":"\u901a\u8fc7Pushsafer\u53d1\u9001\u6d88\u606f","Pushsafer":"\u63a8\u5b89\u5168","To:":"\u5230\uff1a","Subject:":"\u5b66\u79d1\uff1a","Body:":"\u8eab\u4f53\uff1a","Title:":"\u6807\u9898\uff1a","Sound:":"\u58f0\u97f3\uff1a","Priority:":"\u4f18\u5148\uff1a","magic":"\u9b54\u6cd5","quiet":"\u5b89\u9759\u7684","normal":"\u666e\u901a\u7684","high-priority":"\u9ad8\u4f18\u5148\u7ea7","acknowledgment":"\u81f4\u8c22","Phone:":"\u7535\u8bdd\uff1a","(optional)":"\uff08\u9009\u4fee\u7684\uff09","Vibration:":"\u632f\u52a8\uff1a","lowest priority":"\u6700\u4f4e\u4f18\u5148\u7ea7","lower priority":"\u4f4e\u4f18\u5148\u7ea7","normal priority":"\u6b63\u5e38\u4f18\u5148","high priority":"\u9ad8\u4f18\u5148\u7ea7","highest priority":"\u6700\u9ad8\u4f18\u5148\u7ea7","default":"\u9ed8\u8ba4","All":"\u6240\u6709","Write your own code":"\u7f16\u5199\u81ea\u5df1\u7684\u4ee3\u7801","User function":"\u7528\u6237\u529f\u80fd","This is advances option. You can write your own code here and it will be executed on trigger":"\u8fd9\u662f\u9ad8\u7ea7\u9009\u9879\u3002\u60a8\u53ef\u4ee5\u5728\u6b64\u5904\u7f16\u5199\u81ea\u5df1\u7684\u4ee3\u7801\uff0c\u5b83\u5c06\u5728\u89e6\u53d1\u5668\u4e0a\u6267\u884c","greater than":"\u6bd4...\u66f4\u68d2","offset":"\u62b5\u6d88","Function":"\u529f\u80fd","greater or equal to":"\u5927\u4e8e\u6216\u7b49\u4e8e","less or equal to":"\u5c0f\u4e8e\u6216\u7b49\u4e8e","less than":"\u5c11\u4e8e","not equal to":"\u4e0d\u7b49\u4e8e","[equal]":"[\u5e73\u7b49\u7684]","[greater or equal]":"[\u5927\u4e8e\u7b49\u4e8e]","[greater]":"[\u66f4\u5927]","[less or equal]":"[\u5c0f\u4e8e\u6216\u7b49\u4e8e]","[less]":"[\u8f83\u5c11\u7684]","[not equal]":"[\u4e0d\u76f8\u7b49]","[includes]":"[\u5305\u62ec]","[hysteresis]":"[\u78c1\u6ede]","greater or equal":"\u5927\u4e8e\u6216\u7b49\u4e8e","less or equal":"\u5c0f\u4e8e\u6216\u7b49\u4e8e","includes":"\u5305\u62ec",".":".","()":"()","Mo":"\u83ab","Tu":"\u6d82","We":"3","Th":"4","Fr":"r","Sa":"\u8428","Su":"\u82cf","Control or update some state with delay":"\u5ef6\u8fdf\u63a7\u5236\u6216\u66f4\u65b0\u67d0\u4e9b\u72b6\u6001","Delay":"\u5ef6\u8fdf","ms":"\u6beb\u79d2","Set with delay":"\u5ef6\u8fdf\u8bbe\u7f6e","clear running":"\u7545\u901a\u65e0\u963b","toggle value":"\u5207\u6362\u503c","Any month":"\u4efb\u4f55\u6708\u4efd","Any":"\u4efb\u4f55","with date":"\u6709\u65e5\u671f","Date":"\u65e5\u671f","Month":"\u6708","Januar":"\u4e9a\u52aa\u5c14","Februar":"\u4e8c\u6708","March ":"\u884c\u8fdb","Condition":"\u5065\u5eb7\uff09\u72b6\u51b5","Limit":"\u9650\u5236","The script will be stopped and must be activated manually after debugging. Continue?":"\u8be5\u811a\u672c\u5c06\u505c\u6b62\uff0c\u5e76\u4e14\u5fc5\u987b\u5728\u8c03\u8bd5\u540e\u624b\u52a8\u6fc0\u6d3b\u3002\u7ee7\u7eed\uff1f","Yes":"\u662f\u7684","Debug instance":"\u8c03\u8bd5\u5b9e\u4f8b","Resume execution":"\u6062\u590d\u6267\u884c","Go to next line":"\u8f6c\u5230\u4e0b\u4e00\u884c","Step into function":"\u8fdb\u5165\u529f\u80fd","Step out from function":"\u9000\u51fa\u51fd\u6570","Stop on exception":"\u5f02\u5e38\u505c\u6b62","Console":"\u5b89\u6170","Stack":"\u5806","Pause execution":"\u6682\u505c\u6267\u884c","Simulate":"\u6a21\u62df","Trigger with value":"\u7528\u503c\u89e6\u53d1","Value":"\u4ef7\u503c","Write":"\u5199","Ack":"\u786e\u8ba4","Start":"\u5f00\u59cb","Filter":"\u7b5b\u9009","Instances":"\u5b9e\u4f8b","Triggered":"\u89e6\u53d1","Function: executed":"\u529f\u80fd\uff1a\u6267\u884c","Operate two states":"\u64cd\u4f5c\u4e24\u79cd\u72b6\u6001","store in":"\u5b58\u653e\u5728","ID1":"ID1","ID2":"ID2","Operations with two states":"\u5177\u6709\u4e24\u79cd\u72b6\u6001\u7684\u64cd\u4f5c","debug_label":"\u8c03\u8bd5","debug_help":"\u8fd9\u662f\u4e00\u79cd\u7279\u6b8a\u6a21\u5f0f\uff0c\u5176\u4e2d\u72b6\u6001\u548c\u5bf9\u8c61\u4e0d\u4f1a\u6539\u53d8\u3002\u4f46\u53ea\u6709\u6709\u5173\u6bcf\u4e2a\u8ba1\u5212\u66f4\u6539\u7684\u4fe1\u606f\u624d\u4f1a\u663e\u793a\u5728\u534f\u8bae\u4e2d\u3002","verbose_label":"\u8be6\u7ec6\u65e5\u5fd7\u8f93\u51fa","verbose_help":"\u5c06\u8c03\u8bd5\u8f93\u51fa\u6dfb\u52a0\u5230\u8bb8\u591a\u7cfb\u7edf\u547d\u4ee4\u7684\u65e5\u5fd7\u4e2d","easy":"\u7b80\u5355\u7684","for programmers":"\u5bf9\u4e8e\u7a0b\u5e8f\u5458","for professionals":"\u5bf9\u4e8e\u4e13\u4e1a\u4eba\u58eb","Duplicate name":"\u91cd\u540d","Empty name is not allowed":"\u4e0d\u5141\u8bb8\u4f7f\u7528\u7a7a\u540d\u79f0","Time":"\u65f6\u95f4","Server time":"\u670d\u52a1\u5668\u65f6\u95f4","Local time":"\u5f53\u5730\u65f6\u95f4","Description":"\u63cf\u8ff0","nextSunrise":"\u4e0b\u4e00\u4e2a\u65e5\u51fa","nextSunset":"\u4e0b\u4e00\u4e2a\u65e5\u843d","Astronomical events today":"\u4eca\u5929\u7684\u5929\u6587\u4e8b\u4ef6","Compares current time with astronomical event":"\u5c06\u5f53\u524d\u65f6\u95f4\u4e0e\u5929\u6587\u4e8b\u4ef6\u8fdb\u884c\u6bd4\u8f83","Show astronomical events":"\u663e\u793a\u5929\u6587\u4e8b\u4ef6","Astronomical":"\u5929\u6587","Enter your question":"\u8f93\u5165\u60a8\u7684\u8981\u6c42","Press Ctrl+Enter to get the answer":"\u6309 Ctrl+Enter \u5373\u53ef\u5f97\u5230\u7b54\u6848","Ask":"\u95ee","Result":"\u7ed3\u679c","Use generated code":"\u4f7f\u7528\u751f\u6210\u7684\u4ee3\u7801","No Chat GPT Key found":"\u627e\u4e0d\u5230\u804a\u5929 GPT \u5bc6\u94a5","You have to enter OpenAI API key in the configuration of javascript adapter.":"\u60a8\u5fc5\u987b\u5728 javascript \u9002\u914d\u5668\u7684\u914d\u7f6e\u4e2d\u8f93\u5165 OpenAI API \u5bc6\u94a5\u3002","Open configuration":"\u5f00\u653e\u914d\u7f6e"}')}}]); +//# sourceMappingURL=864.2966b63e.chunk.js.map \ No newline at end of file diff --git a/admin/static/js/864.2e977ad1.chunk.js.map b/admin/static/js/864.2966b63e.chunk.js.map similarity index 99% rename from admin/static/js/864.2e977ad1.chunk.js.map rename to admin/static/js/864.2966b63e.chunk.js.map index ecaf9890..88c349aa 100644 --- a/admin/static/js/864.2e977ad1.chunk.js.map +++ b/admin/static/js/864.2966b63e.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/864.2e977ad1.chunk.js","mappings":"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","sources":["Dialogs/Rename.jsx","Dialogs/Delete.jsx","Dialogs/AddNewScript.jsx","Dialogs/New.jsx","Dialogs/Error.jsx","Dialogs/AdapterDebug.jsx","SideMenu.jsx","Log.jsx","Components/ScriptEditorVanilaMonaco.jsx","Dialogs/Export.jsx","Dialogs/Import.jsx","Components/BlocklyEditor.jsx","Dialogs/ScriptEditor.jsx","webpack://js/./src/Components/RulesEditor/style.module.scss?d9e3","webpack://js/./src/Components/RulesEditor/components/CardMenu/style.module.scss?24d8","Components/RulesEditor/helpers/MaterialDynamicIcon.jsx","Components/RulesEditor/components/CardMenu/index.jsx","webpack://js/./src/Components/RulesEditor/components/CurrentItem/style.module.scss?3318","Components/RulesEditor/helpers/deepCopy.jsx","Components/RulesEditor/helpers/filterElement.jsx","webpack://js/./src/Components/RulesEditor/components/GenericBlock/style.module.scss?9124","webpack://js/./src/Components/RulesEditor/components/CustomButton/style.module.scss?0052","Components/RulesEditor/components/CustomButton/index.jsx","webpack://js/./src/Components/RulesEditor/components/CustomCheckbox/style.module.scss?0cc5","Components/RulesEditor/components/CustomCheckbox/index.jsx","webpack://js/./src/Components/RulesEditor/components/CustomInput/style.module.scss?7193","Components/RulesEditor/components/CustomInput/index.jsx","Components/RulesEditor/components/CustomInstance/index.jsx","webpack://js/./src/Components/RulesEditor/components/CustomModal/style.module.scss?7408","Components/RulesEditor/components/CustomModal/index.jsx","webpack://js/./src/Components/RulesEditor/components/CustomSelect/style.module.scss?40f6","Components/RulesEditor/components/CustomSelect/index.jsx","webpack://js/./src/Components/RulesEditor/components/CustomSlider/style.module.scss?f41a","Components/RulesEditor/components/CustomSlider/index.jsx","webpack://js/./src/Components/RulesEditor/components/CustomSwitch/style.module.scss?0c1c","Components/RulesEditor/components/CustomSwitch/index.jsx","webpack://js/./src/Components/RulesEditor/components/CustomTime/style.module.scss?880f","Components/RulesEditor/components/CustomTime/index.jsx","webpack://js/./src/Components/RulesEditor/components/CustomDate/style.module.scss?8a42","Components/RulesEditor/components/CustomDate/index.jsx","Components/RulesEditor/helpers/utils.jsx","Components/RulesEditor/helpers/Tour.jsx","Components/RulesEditor/components/GenericBlock/index.jsx","Components/RulesEditor/components/Blocks/ActionSayText.jsx","Components/RulesEditor/components/Blocks/ActionSendEmail.jsx","Components/RulesEditor/components/Blocks/ActionTelegram.jsx","Components/RulesEditor/components/Blocks/ActionPushover.jsx","Components/RulesEditor/components/Blocks/ActionWhatsappcmb.jsx","Components/RulesEditor/components/Blocks/ActionPushsafer.jsx","Components/RulesEditor/helpers/Compile.jsx","Components/RulesEditor/components/Blocks/TriggerScriptSave.jsx","Components/RulesEditor/components/Blocks/TriggerSchedule.jsx","Components/RulesEditor/components/Blocks/TriggerState.jsx","Components/RulesEditor/components/Blocks/ConditionState.jsx","Components/RulesEditor/components/Blocks/ConditionTime.jsx","Components/RulesEditor/components/Blocks/ConditionAstronomical.jsx","Components/RulesEditor/components/Blocks/ActionSetState.jsx","Components/RulesEditor/components/Blocks/ActionExec.jsx","Components/RulesEditor/components/Blocks/ActionHTTPCall.jsx","Components/RulesEditor/components/Blocks/ActionPrintText.jsx","Components/RulesEditor/components/Blocks/ActionPause.jsx","Components/RulesEditor/components/Blocks/ActionFunction.jsx","Components/RulesEditor/components/Blocks/ActionSetStateDelayed.jsx","Components/RulesEditor/components/Blocks/ActionOperateStates.jsx","Components/RulesEditor/components/StandardBlocks/index.jsx","Components/RulesEditor/components/ContextWrapper/index.jsx","Components/RulesEditor/components/CurrentItem/index.jsx","Components/RulesEditor/helpers/findElement.jsx","Components/RulesEditor/components/CustomDragLayer/index.jsx","webpack://js/./src/Components/RulesEditor/components/ContentBlockItems/style.module.scss?385e","Components/RulesEditor/hooks/useStateLocal.jsx","Components/RulesEditor/helpers/cardSort.jsx","webpack://js/./src/Components/RulesEditor/components/DragWrapper/style.module.scss?b1b7","Components/RulesEditor/components/DragWrapper/index.jsx","Components/RulesEditor/components/ContentBlockItems/DialogHelp.jsx","Components/RulesEditor/components/ContentBlockItems/DialogCondition.jsx","Components/RulesEditor/components/ContentBlockItems/index.jsx","webpack://js/./src/Components/RulesEditor/components/Menu/style.module.scss?9893","Components/RulesEditor/components/CardMenu/CustomDragItem.jsx","webpack://js/./src/Components/RulesEditor/components/HamburgerMenu/hamburgerMenu.module.scss?ab25","Components/RulesEditor/components/HamburgerMenu/index.jsx","Components/RulesEditor/components/Menu/index.jsx","Components/RulesEditor/index.jsx","Components/Debugger/Editor.jsx","Components/Debugger/Console.jsx","Components/Debugger/Stack.jsx","Components/Debugger/index.jsx","OpenAi/OpenAiPrompt.jsx","OpenAi/OpenAiDialog.jsx","Editor.jsx","Dialogs/ImportFile.jsx","App.jsx","serviceWorker.jsx","bootstrap.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\nimport TextField from '@mui/material/TextField';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\n\nimport IconCancel from '@mui/icons-material/Cancel';\nimport IconOk from '@mui/icons-material/Check';\n\nimport { I18n } from '@iobroker/adapter-react-v5';\n\nclass DialogRename extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n name: props.name,\n id: props.id,\n instance: props.instance || 0\n };\n this.isShowInstance = !props.folder && props.instances && (props.instance || props.instances[0] || props.instances.length > 1);\n this.prefix = this.getPrefix(props.id);\n this.oldId = props.id;\n }\n\n getPrefix(id) {\n const parts = (id || '').split('.');\n parts.pop();\n return parts.join('.');\n }\n\n getId(name) {\n name = (name || '').replace(/[\\\\/\\][*,;'\"`<>?\\s]/g, '_');\n return this.prefix + '.' + name;\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.name !== this.props.name) {\n this.setState({name: nextProps.name});\n }\n if (nextProps.id !== this.props.id) {\n this.prefix = this.getPrefix(nextProps.id);\n this.setState({id: nextProps.id});\n }\n }\n\n handleCancel = () => {\n this.props.onClose();\n };\n\n handleOk = () => {\n this.props.onRename(this.oldId, this.state.id, this.state.name, this.state.instance);\n this.props.onClose();\n };\n\n handleChange = name => {\n this.setState({name, id: this.getId(name)});\n };\n\n render() {\n return false}\n maxWidth=\"md\"\n fullWidth\n open={!0}\n aria-labelledby=\"confirmation-dialog-title\"\n >\n {I18n.t('Rename')}\n \n
\n {\n if (ev.key === 'Enter') {\n // Do code here\n ev.preventDefault();\n setTimeout(() => this.handleOk(), 200);\n }\n }}\n onChange={e => this.handleChange(e.target.value)}\n margin=\"normal\"\n />\n \n {\n this.isShowInstance && (\n \n {I18n.t('Instance')}\n this.setState({instance: parseInt(e.target.value, 10)})}\n inputProps={{name: 'instance', id: 'instance'}}\n >\n {this.props.instances.map(instance => {instance || '0'})}\n \n )\n }\n \n
\n \n \n \n \n ;\n }\n}\n\nDialogRename.propTypes = {\n onClose: PropTypes.func,\n onRename: PropTypes.func,\n name: PropTypes.string,\n id: PropTypes.string,\n instance: PropTypes.number,\n instances: PropTypes.array,\n folder: PropTypes.bool,\n};\n\nexport default DialogRename;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\nimport {MdDelete as IconDelete} from 'react-icons/md';\n\nimport IconOk from '@mui/icons-material/Check';\nimport IconCancel from '@mui/icons-material/Cancel';\n\nimport { I18n } from '@iobroker/adapter-react-v5';\nimport withStyles from '@mui/styles/withStyles';\n\nconst styles = theme => ({\n\n});\n\nclass DialogDelete extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n name: props.name,\n id: props.id,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.name !== this.props.name) {\n this.setState({name: nextProps.name});\n }\n if (nextProps.id !== this.props.id) {\n this.setState({id: nextProps.id});\n }\n }\n\n handleCancel = () => {\n this.props.onClose(null);\n };\n\n handleOk = () => {\n this.props.onDelete(this.state.id);\n this.props.onClose(this.props.value);\n };\n\n render() {\n return false}\n maxWidth=\"md\"\n open={!0}\n aria-labelledby=\"confirmation-dialog-title\"\n >\n {I18n.t('Are you sure?')}\n \n \n {I18n.t('Delete %s', this.state.name)}\n \n \n \n \n \n ;\n }\n}\n\nDialogDelete.propTypes = {\n onClose: PropTypes.func,\n onDelete: PropTypes.func,\n name: PropTypes.string,\n id: PropTypes.string,\n};\n\nexport default withStyles(styles)(DialogDelete);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\nimport Card from '@mui/material/Card';\nimport CardActionArea from '@mui/material/CardActionArea';\nimport CardActions from '@mui/material/CardActions';\nimport CardContent from '@mui/material/CardContent';\nimport CardMedia from '@mui/material/CardMedia';\n\nimport ImgJS from '../assets/tileJS.png';\nimport ImgTS from '../assets/tileTS.png';\nimport ImgBlockly from '../assets/tileBlockly.png';\nimport ImgRules from '../assets/tileRules.png';\nimport IconCancel from '@mui/icons-material/Cancel';\n\nimport { I18n } from '@iobroker/adapter-react-v5';\n\nconst styles = theme => ({\n card: {\n maxWidth: 345,\n minWidth: 250,\n display: 'inline-block',\n margin: '0 10px 0 10px',\n },\n media: {\n height: 122,\n },\n text: {\n maxWidth: 218,\n minHeight: 30,\n },\n complexity: {\n fontWeight: 'bold',\n fontStyle: 'italic',\n marginBottom: theme.spacing(1),\n },\n});\n\nclass DialogAddNew extends React.Component {\n handleCancel = () => {\n this.props.onClose();\n };\n\n handleOk = type => {\n this.props.onClose(type);\n };\n\n openHtml(html) {\n const lang = I18n.getLanguage();\n if (!html.includes('javascript.md') && (lang === 'de' || lang === 'ru')) {\n html = html.replace(/\\/en\\//, '/' + lang + '/');\n }\n const win = window.open(html, '_blank');\n win.focus();\n }\n\n getJSCard() {\n return \n this.props.onClose && this.props.onClose('Javascript/js')}>\n \n \n

JavaScript

\n
{I18n.t('for programmers')}
\n
{I18n.t('JS description')}
\n
\n
\n \n \n \n \n
;\n }\n\n getTSCard() {\n return \n this.props.onClose && this.props.onClose('TypeScript/ts')}>\n \n \n

TypeScript

\n
{I18n.t('for professionals')}
\n
{I18n.t('TS description')}
\n
\n
\n \n \n \n \n
;\n }\n\n getBlocklyCard() {\n return \n this.props.onClose && this.props.onClose('Blockly')}>\n \n \n

Blockly

\n
{I18n.t('normal')}
\n
{I18n.t('Blockly description')}
\n
\n
\n \n \n \n \n
;\n }\n\n getRulesCard() {\n return \n this.props.onClose && this.props.onClose('Rules')}>\n \n \n

Rules

\n
{I18n.t('easy')}
\n
{I18n.t('Rules description')}
\n
\n
\n \n \n \n \n
;\n }\n\n render() {\n return false}\n maxWidth=\"lg\"\n fullWidth\n open={!0}\n aria-labelledby=\"confirmation-dialog-title\"\n >\n {I18n.t('Add new script')}\n \n {this.getRulesCard()}\n {this.getBlocklyCard()}\n {this.getJSCard()}\n {this.getTSCard()}\n \n \n \n \n ;\n }\n}\n\nDialogAddNew.propTypes = {\n onClose: PropTypes.func\n};\n\nexport default withStyles(styles)(DialogAddNew);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\nimport TextField from '@mui/material/TextField';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\n\nimport IconOk from '@mui/icons-material/Check';\nimport IconCancel from '@mui/icons-material/Cancel';\n\nimport { I18n } from '@iobroker/adapter-react-v5';\n\nconst styles = theme => ({\n\n});\n\nclass DialogNew extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n name: props.name || 'Script',\n instance: props.instance || 0,\n parent: props.parent,\n error: ''\n };\n this.isShowInstance = !props.folder && props.instances && (props.instance || props.instances[0] || props.instances.length > 1);\n }\n\n getId(name) {\n name = name || this.state.name || '';\n name = name.replace(/[\\\\/\\][.*,;'\"`<>?\\s]/g, '_').trim().replace(/\\.$/, '_');\n return (this.state ? this.state.parent : this.props.parent) + '.' + name;\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.name !== this.props.name) {\n this.setState({name: nextProps.name});\n }\n }\n\n handleCancel = () => {\n this.props.onClose();\n };\n\n handleOk = () => {\n this.props.onAdd(this.getId(this.state.name), this.state.name, this.state.instance, this.props.type);\n this.props.onClose();\n };\n\n handleChange = name => {\n const id = this.getId(name);\n if (!name) {\n this.setState({name, id, error: I18n.t('Empty name is not allowed')});\n } else\n if (this.props.existingItems && this.props.existingItems.indexOf(id) !== -1) {\n this.setState({name, id, error: I18n.t('Duplicate name')});\n } else {\n this.setState({name, id, error: ''});\n }\n };\n\n render() {\n return false}\n maxWidth=\"md\"\n fullWidth\n open={!0}\n aria-labelledby=\"confirmation-dialog-title\"\n >\n {this.props.title || I18n.t('Create new')}\n \n
\n {\n if (ev.key === 'Enter') {\n // Do code here\n ev.preventDefault();\n setTimeout(() => this.handleOk(), 200);\n }\n }}\n onChange={e => this.handleChange(e.target.value)}\n margin=\"normal\"\n />\n \n {I18n.t('Folder')}\n this.setState({parent: e.target.value})}\n inputProps={{name: 'parent', id: 'parent'}}\n >\n {this.props.parents.map(parent => {\n const parts = parent.id.split('.');\n parts.splice(0, 2); // remove script.js\n const names = [];\n let id = 'script.js';\n parts.forEach((n, i) => {\n id += '.' + n;\n const el = this.props.parents.find(item => item.id === id);\n if (el) {\n names.push(el.name);\n } else {\n names.push(n);\n }\n });\n if (!names.length) {\n names.push(parent.name);\n }\n return ({names.join(' / ')});\n })}\n \n \n \n {\n this.isShowInstance && (\n \n {I18n.t('Instance')}\n this.setState({instance: parseInt(e.target.value, 10)})}\n inputProps={{name: 'instance', id: 'instance'}}\n >\n {this.props.instances.map(instance => ({instance || '0'}))}\n \n )\n }\n \n
\n \n \n \n \n ;\n }\n}\n\nDialogNew.propTypes = {\n onClose: PropTypes.func,\n onAdd: PropTypes.func,\n name: PropTypes.string,\n title: PropTypes.string,\n parent: PropTypes.string,\n instance: PropTypes.number,\n instances: PropTypes.array,\n parents: PropTypes.array,\n existingItems: PropTypes.array,\n folder: PropTypes.bool,\n type: PropTypes.string,\n};\n\nexport default withStyles(styles)(DialogNew);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\n\nimport IconOk from '@mui/icons-material/Check';\n\nimport { I18n } from '@iobroker/adapter-react-v5';\n\nconst styles = theme => ({\n titleBackground: {\n background: theme.palette.error.main,\n },\n titleColor: {\n color: theme.palette.error.contrastText,\n '&>h2': {\n color: theme.palette.error.contrastText,\n }\n },\n});\n\nclass DialogError extends React.Component {\n constructor(props) {\n super(props);\n console.log('Error created')\n }\n handleOk = () => {\n this.props.onClose && this.props.onClose();\n };\n\n render() {\n return this.handleOk()}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n {this.props.title || I18n.t('Error')}\n \n \n {this.props.text || I18n.t('Unknown error!')}\n \n \n \n \n \n ;\n }\n}\n\nDialogError.propTypes = {\n onClose: PropTypes.func,\n title: PropTypes.string,\n text: PropTypes.string,\n icon: PropTypes.object\n};\n\nexport default withStyles(styles)(DialogError);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport Grid from '@mui/material/Grid';\nimport ListItemText from '@mui/material/ListItemText';\nimport Input from '@mui/material/Input';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport IconButton from '@mui/material/IconButton';\n\nimport IconOk from '@mui/icons-material/Check';\nimport IconCancel from '@mui/icons-material/Cancel';\nimport IconClose from '@mui/icons-material/Close';\n\nimport { I18n } from '@iobroker/adapter-react-v5';\n\nconst styles = theme => ({\n buttonIcon: {\n marginRight: theme.spacing(1),\n },\n icon: {\n width: 24,\n height: 24,\n },\n filter: {\n width: '100%',\n },\n filterWithButton: {\n width: '100%',\n },\n title: {\n fontWeight: 'bold',\n marginTop: theme.spacing(2),\n }\n});\n\n\nclass DialogAdapterDebug extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n instances: [],\n filter: window.localStorage.getItem('javascript.debug.filter') || '',\n showAskForStop: false,\n jsInstance: window.localStorage.getItem('javascript.debug.instance') || '',\n jsInstanceHost: '',\n adapterToDebug: window.localStorage.getItem('javascript.debug.adapter') || '',\n };\n }\n\n componentDidMount() {\n this.props.socket.getAdapterInstances()\n .then(instances => {\n instances = instances.filter(i => i && !i.common?.onlyWWW).map(item => {\n const name = item._id.replace(/^system\\.adapter\\./, '');\n const [adapter] = name.split('.');\n return {\n id: name,\n enabled: item.common?.enabled,\n host: item.common?.host,\n icon: item.common?.icon ? `../../adapter/${adapter}/${item.common.icon}` : '',\n };\n });\n instances.sort((a, b) => a.id > b.id ? 1 : (a.id < b.id ? -1 : 0));\n let jsInstance = this.state.jsInstance || '';\n let jsInstanceObj = this.state.jsInstance && instances.find(item => item.id === this.state.jsInstance);\n let jsInstanceHost;\n\n // check if selected instance is in the list\n if (!this.state.jsInstance || !jsInstanceObj) {\n jsInstance = instances.find(item => item.id.startsWith('javascript.')); // take the first one\n jsInstanceHost = jsInstance ? jsInstance.host : '';\n jsInstance = jsInstance ? jsInstance.id : '';\n } else {\n jsInstanceHost = jsInstanceObj ? jsInstanceObj.host : '';\n }\n\n let adapterToDebug = this.state.adapterToDebug || '';\n if (adapterToDebug && !instances.find(item => item.id === adapterToDebug)) {\n adapterToDebug = '';\n }\n\n this.setState({instances, jsInstance, adapterToDebug, jsInstanceHost});\n });\n }\n\n handleOk = () => {\n // TODO\n if (this.state.instances.find(item => item.id === this.state.adapterToDebug).enabled) {\n return this.props.socket.getObject('system.adapter.' + this.state.adapterToDebug)\n .then(obj => {\n obj.common.enabled = false;\n this.props.socket.setObject(obj._id, obj)\n .then(() =>\n this.props.onDebug(this.state.jsInstance, this.state.adapterToDebug));\n })\n } else {\n this.props.onDebug(this.state.jsInstance, this.state.adapterToDebug);\n }\n };\n\n\n renderJavascriptList() {\n const js = this.state.instances.filter(item => item.id.startsWith('javascript.'));\n if (js.length < 2) {\n return null;\n } else {\n return \n
{I18n.t('Host')}
\n \n {js.map(item => \n {item.id}\n \n )}\n \n
;\n }\n }\n\n renderInstances() {\n if (!this.state.jsInstance) {\n return ;\n } else {\n const instances = this.state.instances.filter(item =>\n item.id !== this.state.jsInstance && item.host === this.state.jsInstanceHost && (!this.state.filter || item.id.includes(this.state.filter.toLowerCase()) ));\n return \n
{I18n.t('Instances')}
\n \n {instances.map(item => this.setState({adapterToDebug: item.id}, () => this.handleOk())}\n onClick={() => this.setState({adapterToDebug: item.id})}\n >\n {item.id}\n \n )}\n \n
;\n }\n }\n\n render() {\n return false}\n aria-labelledby=\"confirmation-dialog-title\"\n >\n {this.props.title || I18n.t('Debug instance')}\n \n \n \n {\n this.setState({filter: e.target.value});\n window.localStorage.setItem('javascript.debug.filter', e.target.value);\n }}\n endAdornment={\n \n {this.state.filter ? this.setState({filter: ''})}\n >\n \n : ''}\n \n }\n />\n \n \n \n {this.renderJavascriptList()}\n {this.renderInstances()}\n \n \n \n\n \n \n \n \n \n ;\n }\n}\n\nDialogAdapterDebug.propTypes = {\n socket: PropTypes.object.isRequired,\n onClose: PropTypes.func.isRequired,\n onDebug: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(DialogAdapterDebug);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Drawer from '@mui/material/Drawer';\nimport Divider from '@mui/material/Divider';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemSecondaryAction from '@mui/material/ListItemSecondaryAction';\nimport ListItemText from '@mui/material/ListItemText';\nimport IconButton from '@mui/material/IconButton';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport Input from '@mui/material/Input';\nimport { useDrag, useDrop, DndProvider as DragDropContext } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\n\nimport { MdMoreVert as IconMore } from 'react-icons/md';\nimport { FaFolder as IconFolder } from 'react-icons/fa';\nimport { FaFolderOpen as IconFolderOpened } from 'react-icons/fa';\nimport { MdContentCopy as IconCopy } from 'react-icons/md';\nimport { MdDelete as IconDelete } from 'react-icons/md';\nimport { MdInput as IconDoEdit } from 'react-icons/md';\nimport { MdClose as IconClear } from 'react-icons/md';\nimport { MdFormatClear as IconClose } from 'react-icons/md';\nimport { MdPlayArrow as IconPlay } from 'react-icons/md';\nimport { MdAdd as IconAdd } from 'react-icons/md';\nimport { MdCreateNewFolder as IconAddFolder } from 'react-icons/md';\nimport { MdPause as IconPause } from 'react-icons/md';\nimport { MdSwapVert as IconReorder } from 'react-icons/md';\nimport { MdEdit as IconEdit } from 'react-icons/md';\nimport { MdSearch as IconFind } from 'react-icons/md';\nimport { MdPersonPin as IconExpert } from 'react-icons/md';\nimport { FaFileExport as IconExport } from 'react-icons/fa';\nimport { FaFileImport as IconImport } from 'react-icons/fa';\nimport { MdPalette as IconDark } from 'react-icons/md';\nimport { MdUnfoldMore as IconExpandAll } from 'react-icons/md';\nimport { MdUnfoldLess as IconCollapseAll } from 'react-icons/md';\nimport { MdBugReport as IconDebug } from 'react-icons/md';\n\nimport { red, green, yellow } from '@mui/material/colors';\n\nimport ImgJS from './assets/js.png';\nimport ImgBlockly from './assets/blockly.png';\nimport ImgTypeScript from './assets/typescript.png';\nimport ImgRules from './assets/rules.png';\n\nimport { I18n, Utils } from '@iobroker/adapter-react-v5';\n\nimport DialogRename from './Dialogs/Rename';\nimport DialogDelete from './Dialogs/Delete';\nimport DialogAddNewScript from './Dialogs/AddNewScript';\nimport DialogNew from './Dialogs/New';\nimport DialogError from './Dialogs/Error';\nimport DialogAdapterDebug from './Dialogs/AdapterDebug';\n\nconst MENU_ITEM_HEIGHT = 48;\nconst COLOR_RUN = green[400];\nconst COLOR_PROBLEM = yellow[400];\nconst COLOR_PAUSE = red[400];\nconst ROOT_ID = 'script.js';\nconst COMMON_ID = ROOT_ID + '.common';\nconst GLOBAL_ID = ROOT_ID + '.global';\nconst NARROW_WIDTH = 350;\nconst LEVEL_PADDING = 16;\n\nconst SELECTED_STYLE = {\n background: '#164477',\n color: 'white'\n};\n\nconst styles = theme => ({\n drawerPaper: {\n position: 'relative',\n width: '100%', //Theme.menu.width,\n height: '100%',\n overflow: 'hidden',\n },\n toolbar: {\n height: theme.toolbar.height,\n },\n toolbarButtons: {\n color: theme.palette.mode === 'dark'? 'white !important' : 'black !important',\n },\n iconButtonsDisabled: {\n filter: 'grayscale(100%)',\n opacity: 0.5,\n },\n toolbarSearch: {\n width: 'calc(100% - 105px)',\n lineHeight: '34px',\n marginLeft: 5,\n },\n iconButtons: {\n width: 32,\n height: 32,\n padding: 2,\n },\n iconDropdownMenu: {\n paddingRight: 5,\n },\n iconOnTheRight: {\n position: 'absolute',\n right: 10,\n top: 'calc(50% - 8px)',\n },\n menu: {\n width: '100%',\n height: '100%',\n },\n innerMenu: {\n width: '100%',\n height: 'calc(100% - 76px)',\n overflowX: 'hidden',\n overflowY: 'auto',\n },\n listItemIcon: {\n minWidth: 32,\n },\n filterIcon: {\n width: 18,\n height: 18,\n borderRadius: 2,\n marginRight: 5,\n },\n scriptIcon: {\n width: 18,\n height: 18,\n borderRadius: 2,\n marginTop: 4,\n marginBottom: 4,\n marginLeft: 8,\n marginRight: 4,\n },\n folder: {\n //background: theme.palette.mode === 'dark' ? '#6a6a6a' : '#e2e2e2',\n cursor: 'pointer',\n padding: 0,\n userSelect: 'none',\n },\n folderReorder: {\n opacity: 0.3,\n transitionDuration: '0.5s',\n transitionProperty: 'opacity',\n },\n folderIcon: {\n width: 20,\n height: 20,\n },\n folderIconReorder: {\n paddingTop: 4,\n paddingBottom: 4,\n paddingLeft: 8,\n paddingRight: 4,\n },\n folderIconNoReorder: {\n cursor: 'pointer',\n paddingTop: 4,\n paddingBottom: 4,\n paddingLeft: 8,\n paddingRight: 4,\n },\n script: {\n cursor: 'pointer',\n padding: 0,\n userSelect: 'none',\n },\n scriptReorder: {\n opacity: 1,\n transitionDuration: '0.5s',\n transitionProperty: 'opacity',\n },\n reorder: {\n //padding: '9px 16px 9px 9px',\n },\n expandButton: {\n width: 37,\n height: 37,\n },\n selected: SELECTED_STYLE,\n instances: {\n color: 'gray',\n fontSize: 'smaller',\n },\n childrenCount: {\n float: 'right',\n marginRight: 5,\n fontSize: 10,\n opacity: 0.4,\n },\n footer: {\n height: 24,\n },\n footerButtons: {\n '&:hover': {\n backgroundColor: '#dbdbdb',\n },\n color: theme.palette.mode === 'dark' ? '#ffffff' : '#111111',\n cursor: 'pointer',\n marginTop: 1,\n marginRight: 2,\n height: 22,\n width: 22,\n },\n footerButtonsRight: {\n float: 'right',\n },\n\n mainList: {\n '& .js-folder-dragover>div>li>.folder-reorder': {\n background: '#40adff'\n },\n '& .js-folder-dragging .folder-reorder': {\n opacity: 1,\n },\n '& .js-folder-dragging .script-reorder': {\n opacity: 0.3,\n },\n },\n});\n\nconst images = {\n 'Blockly': ImgBlockly,\n 'Javascript/js': ImgJS,\n def: ImgJS,\n 'Rules':ImgRules,\n 'TypeScript/ts': ImgTypeScript,\n};\n\nconst getObjectName = (id, obj, lang) => {\n lang = lang || I18n.getLanguage();\n if (obj && obj.common && obj.common.name) {\n if (typeof obj.common.name === 'object') {\n return (obj.common.name[lang] || obj.common.name.en || id.replace(/^script\\.js./, '')).toString();\n } else {\n return obj.common.name.toString();\n }\n } else {\n return id.replace(/^script\\.js./, '');\n }\n};\n\nconst prepareList = data => {\n const result = [{\n id: ROOT_ID,\n depth: 0,\n index: 0,\n parent: null,\n title: 'root',\n type: 'folder',\n }];\n const ids = Object.keys(data);\n\n /*ids.sort((a, b) => {\n if ((a === 'script.js.common' || a === 'script.js.global') && (b === 'script.js.common' || b === 'script.js.global')) {\n return a > b ? 1 : -1;\n } else if (a === 'script.js.common' || a === 'script.js.global' || b === 'script.js.common' || b === 'script.js.global') {\n return 1;\n } else {\n return a > b ? 1 : -1;\n }\n });*/\n\n for (let i = 0; i < ids.length; i++) {\n const obj = data[ids[i]];\n const parts = ids[i].split('.');\n parts.pop();\n result.push({\n id: ids[i],\n title: getObjectName(ids[i], obj),\n enabled: obj && obj.common && obj.common.enabled,\n depth: parts.length - 1,\n type: obj.type === 'script' ? obj.common.engineType : 'folder',\n parent: parts.length > 1 ? parts.join('.') : null,\n instance: obj.common.engine ? parseInt(obj.common.engine.split('.').pop(), 10) || 0 : null,\n });\n }\n\n // Place all folder-less scripts at start\n /*result.sort((a, b) => {\n // without folders => always at start\n if (!a.parent && a.type !== 'folder' && !b.parent && b.type !== 'folder') {\n if (a.id === b.id) {\n return 0;\n } else {\n return a.id > b.id ? 1 : -1;\n }\n } else if (!a.parent && a.type !== 'folder') {\n return -1;\n } else if (!b.parent && b.type !== 'folder') {\n return 1;\n } else {\n // common and global are always at the end\n if ((a.id.startsWith('script.js.common') || a.id.startsWith('script.js.global')) &&\n (b.id.startsWith('script.js.common') || b.id.startsWith('script.js.global'))) {\n if (a.id === b.id) {\n return 0;\n } else {\n return a.id > b.id ? 1 : -1;\n }\n } else if (a.id.startsWith('script.js.common') || a.id.startsWith('script.js.global')) {\n return 1;\n } else if (b.id.startsWith('script.js.common') || b.id.startsWith('script.js.global')) {\n return -1;\n } else {\n if (a.id === b.id) {\n return 0;\n } else {\n return a.id > b.id ? 1 : -1;\n }\n }\n }\n });*/\n\n let modified;\n do {\n modified = false;\n // check if all parents exists\n // eslint-disable-next-line\n result.forEach(item => {\n if (item.parent) {\n const parent = result.find(it => it.id === item.parent);\n if (!parent) {\n const parts = item.parent.split('.');\n parts.pop();\n result.push({\n id: item.parent,\n title: item.parent.split('.').pop(),\n depth: parts.length - 1,\n type: 'folder',\n parent: parts.length > 1 ? parts.join('.') : null\n });\n modified = true;\n }\n }\n });\n } while (modified);\n\n // Folders first\n result.sort((a, b) => {\n const idA = a.id.toLowerCase();\n const idB = b.id.toLowerCase();\n if (a.type === 'folder' && b.type !== 'folder') {\n return -1;\n } else if (b.type === 'folder' && a.type !== 'folder') {\n return 1;\n }\n\n if (idA > idB) {\n return 1;\n } else if (idA < idB) {\n return -1;\n } else {\n return 0;\n }\n });\n\n // Fill all indexes\n result.forEach((item, i) => item.index = i);\n\n // Fill all parentIndex\n result.forEach(item => {\n if (item.parent) {\n const parent = result.find(it => it.id === item.parent);\n if (parent) {\n item.parentIndex = parent.index;\n }\n }\n });\n\n return result;\n};\n\nexport const Droppable = (props) => {\n const { onDrop} = props;\n\n const [{ isOver, isOverAny}, drop] = useDrop({\n accept: ['script'],\n drop: e => isOver ? onDrop(e) : undefined,\n collect: monitor => ({\n isOver: monitor.isOver({ shallow: true }),\n isOverAny: monitor.isOver(),\n }),\n });\n\n return
\n {props.children}\n
;\n};\n\nexport const Draggable = props => {\n const { name } = props;\n const [{ opacity }, drag] = useDrag({\n type: 'script',\n item: () => ({name}),\n collect: monitor => ({opacity: monitor.isDragging() ? 0.3 : 1,}),\n });\n // About transform: https://github.com/react-dnd/react-dnd/issues/832#issuecomment-442071628\n return
\n {props.children}\n
;\n};\n\nclass SideDrawer extends React.Component {\n constructor(props) {\n super(props);\n\n let expanded = window.localStorage ? window.localStorage.getItem('SideMenu.expanded') : '[]';\n try {\n expanded = JSON.parse(expanded) || [];\n } catch (e) {\n expanded = [];\n }\n\n this.inputRef = new React.createRef();\n\n this.state = {\n listItems: prepareList(props.scripts || {}),\n expanded: expanded,\n problems: [],\n reorder: false,\n themeName: this.props.themeName,\n selected: window.localStorage ? window.localStorage.getItem('SideMenu.selected') || null : null,\n creatingScript: false,\n creatingFolder: false,\n copingScript: '',\n renaming: null,\n deleting: null,\n choosingType: null,\n errorText: '',\n instances: props.instances || [],\n menuOpened: false,\n menuAnchorEl: null,\n searchMode: false,\n expertMode: this.props.expertMode,\n searchText: '',\n width: this.props.width || 300,\n typeFilter: window.localStorage ? window.localStorage.getItem('SideMenu.typeFilter') || '' : '', // blockly, js, ts\n statusFilter: window.localStorage ? window.localStorage.getItem('SideMenu.statusFilter') || '' : '',\n runningInstances: this.props.runningInstances || {},\n scriptsHash: props.scriptsHash,\n showAdapterDebug: false,\n };\n\n const newExp = this.ensureSelectedIsVisible();\n if (newExp) {\n this.state.expanded = newExp;\n }\n\n // debounce search process\n this.filterTimer = null;\n\n this.state.isAllZeroInstances = this.getIsAllZeroInstances();\n\n this.problems = null; //cache\n this.problemsTimer = null;\n this.onProblemUpdatedBound = this.onProblemUpdated.bind(this);\n }\n\n readProblems(cb, tasks) {\n if (!tasks) {\n tasks = Object.keys(this.props.scripts);\n }\n if (!tasks || !tasks.length) {\n cb && cb();\n } else {\n const id = tasks.shift();\n if (this.props.scripts[id] &&\n this.props.scripts[id].type === 'script' &&\n this.props.scripts[id].common &&\n this.props.scripts[id].common.enabled &&\n !id.match(/^script\\.js\\.global\\./) // GLOBAL_ID\n ) {\n const instance = this.props.scripts[id].common.engine.split('.').pop();\n const that = this; // sometimes lambda does not work\n const _id = `javascript.${instance}.scriptProblem.${id.substring(ROOT_ID.length + 1)}`;\n\n this.props.socket.getState(_id, (err, state) => {\n that.onProblemUpdated(_id, state);\n setTimeout(() => that.readProblems(cb, tasks), 0);\n });\n } else {\n setTimeout(() => this.readProblems(cb, tasks), 0);\n }\n }\n }\n\n componentDidMount() {\n this.readProblems(() => {\n this.props.instances.forEach(instance => {\n this.props.socket.subscribeState(`javascript.${instance}.scriptProblem.*`, this.onProblemUpdatedBound);\n });\n });\n }\n\n componentWillUnmount() {\n this.props.instances.forEach(instance => {\n this.props.socket.unsubscribeState(`javascript.${instance}.scriptProblem.*`, this.onProblemUpdatedBound);\n });\n }\n\n onProblemUpdated(id, state) {\n if (!state || !id) return;\n id = `${ROOT_ID}.${id.replace(/^javascript\\.\\d+\\.scriptProblem\\./, '')}`;\n\n if (!this.problems) {\n this.problems = JSON.parse(JSON.stringify(this.state.problems));\n }\n let changed = false;\n\n if (state.val) {\n if (this.problems.indexOf(id) === -1) {\n this.problems.push(id);\n changed = true;\n }\n } else {\n const pos = this.problems.indexOf(id);\n if (pos !== -1) {\n this.problems.splice(pos, 1);\n changed = true;\n }\n }\n\n if (changed && !this.problemsTimer) {\n this.problemsTimer = setTimeout(() => {\n this.problemsTimer = null;\n this.setState({ problems: this.problems });\n this.problems = null;\n }, 300);\n }\n }\n\n static filterListStatic(isSearchEnabled, listItems, searchMode, searchText, objects) {\n listItems = JSON.parse(JSON.stringify(listItems));\n let changed = false;\n let newState = {listItems};\n if (isSearchEnabled !== false && searchMode && searchText) {\n const text = searchText.toLowerCase();\n listItems.forEach(item => {\n const id = item.title.toLowerCase();\n item.filteredPartly = false;\n let found = id.includes(text);\n if (!found && (objects && objects[item.id] && objects[item.id].common && objects[item.id].common.source)) {\n if (objects[item.id].common.engineType === 'Blockly') {\n const pos = objects[item.id].common.source.lastIndexOf('//');\n found = objects[item.id].common.source.substring(0, pos).toLowerCase().includes(text);\n } else {\n found = objects[item.id].common.source.toLowerCase().includes(text);\n }\n }\n if (found) {\n if (item.filtered) {\n item.filtered = false;\n changed = true;\n }\n } else if (!item.filtered) {\n item.filtered = true;\n changed = true;\n }\n });\n\n if (changed) {\n // check that all parents of every non-filtered item are visible\n for (let i = listItems.length - 1; i >= 0; i--) {\n const item = listItems[i];\n if (!item.filtered || item.filteredPartly) {\n let it = item;\n do {\n if (it.parent && listItems[it.parentIndex]) {\n changed = true;\n listItems[it.parentIndex].filteredPartly = true;\n }\n it = it.parent && listItems[it.parentIndex] ? listItems[it.parentIndex] : null;\n } while(it);\n }\n }\n }\n } else {\n listItems.forEach(item => {\n if (item.filtered || item.filteredPartly) {\n item.filtered = false;\n item.filteredPartly = false;\n changed = true;\n }\n });\n if (isSearchEnabled === false) {\n newState.searchText = '';\n newState.searchMode = false;\n changed = true;\n }\n }\n\n return changed ? newState : null;\n }\n\n filterList(isSearchEnabled, cb) {\n const newState = SideDrawer.filterListStatic(\n isSearchEnabled,\n this.state.listItems,\n this.state.searchMode,\n this.state.searchText,\n this.props.scripts,\n );\n\n if (newState) {\n this.setState(newState, () => cb && cb());\n } else if (cb) {\n cb();\n }\n }\n\n static ensureSelectedIsVisibleStatic(selected, expanded, listItems) {\n expanded = JSON.parse(JSON.stringify(expanded));\n let changed = false;\n\n // ensure that the item is visible\n let el = typeof selected === 'object' ? selected : listItems.find(it => it.id === selected);\n do {\n // eslint-disable-next-line\n el = el && el.parent && listItems.find(it => it.id === el.parent);\n if (el) {\n if (expanded.indexOf(el.id) === -1) {\n expanded.push(el.id);\n changed = true;\n }\n }\n } while(el);\n return changed && expanded;\n }\n\n ensureSelectedIsVisible(selected, expanded) {\n SideDrawer.ensureSelectedIsVisibleStatic(selected || this.state.selected, expanded || this.state.expanded, this.state.listItems);\n }\n\n static getDerivedStateFromProps(props, state) {\n const newState = {};\n let changed = false;\n if (state.expertMode !== props.expertMode) {\n changed = true;\n newState.expertMode = props.expertMode;\n }\n if (state.scriptsHash !== props.scriptsHash && props.scripts) {\n const listItems = prepareList(props.scripts || {});\n\n newState.listItems = listItems;\n\n if (state.searchText) {\n const nState = SideDrawer.filterListStatic(true, listItems, state.searchMode, state.searchText, props.scripts);\n nState && Object.assign(newState, nState);\n }\n\n const isAllZeroInstances = SideDrawer.getIsAllZeroInstancesStatic(listItems, props.instances || []);\n\n const newExp = SideDrawer.ensureSelectedIsVisibleStatic(state.selected, state.expanded, state.listItems);\n\n newState.isAllZeroInstances = isAllZeroInstances;\n if (newExp) {\n newState.expanded = newExp;\n }\n changed = true;\n }\n\n if (state.width !== props.width) {\n changed = true;\n newState.width = props.width;\n }\n if (state.themeName !== props.themeName) {\n changed = true;\n newState.themeName = props.themeName;\n }\n\n if (props.selectId && state.selected !== props.selectId) {\n const item = state.listItems.find(item => item.id === props.selectId);\n\n if (!state.reorder && item) {\n const expanded = SideDrawer.ensureSelectedIsVisibleStatic(item, state.expanded, state.listItems);\n newState.selected = item.id;\n if (expanded) {\n newState.expanded = expanded;\n }\n changed = true;\n window.localStorage && window.localStorage.setItem('SideMenu.selected', item.id);\n }\n }\n\n if (changed) {\n return newState;\n } else {\n return null;\n }\n }\n\n static getIsAllZeroInstancesStatic(listItems, instances) {\n let isAllZeroInstances = !instances[0] && instances.length <= 1;\n\n if (isAllZeroInstances) {\n listItems.forEach(item => {\n if (item.type !== 'folder' && item.instance !== 0) {\n isAllZeroInstances = false;\n }\n });\n }\n return isAllZeroInstances;\n }\n\n getIsAllZeroInstances(listItems, instances) {\n listItems = listItems || this.state.listItems;\n instances = instances || this.state.instances;\n return SideDrawer.getIsAllZeroInstancesStatic(listItems || this.state.listItems, instances || this.state.instances);\n }\n\n saveExpanded(expanded) {\n window.localStorage.setItem('SideMenu.expanded', JSON.stringify(expanded || this.state.expanded));\n }\n\n showError(errorText) {\n this.setState({ errorText });\n }\n\n onToggle(id, e) {\n e && e.stopPropagation();\n if (id === ROOT_ID) {\n return;\n }\n const expanded = [...this.state.expanded];\n const newState = {expanded};\n const pos = expanded.indexOf(id);\n if (pos !== -1) {\n expanded.splice(pos, 1);\n if (this.state.selected && this.state.selected.startsWith(`${id}.`)) {\n newState.selected = id;\n window.localStorage && window.localStorage.setItem('SideMenu.selected', id);\n }\n } else {\n expanded.push(id);\n expanded.sort();\n }\n this.setState({ expanded });\n this.saveExpanded(expanded);\n }\n\n renderItemButtonsOnEnd(item, children) {\n if (this.state.reorder) {\n return null;\n }\n if (item.type !== 'folder') {\n let color = item.enabled ? COLOR_RUN : COLOR_PAUSE;\n if (item.enabled && this.state.problems.includes(item.id)) {\n color = COLOR_PROBLEM;\n }\n\n return [\n {\n e.stopPropagation();\n this.props.onEnableDisable && this.props.onEnableDisable(item.id, !item.enabled)\n }}\n title={item.enabled ? I18n.t('Pause script') : I18n.t('Run script')}\n disabled={this.props.debugMode}\n key=\"startStop\"\n style={{ color }}\n size=\"medium\"\n >\n {item.enabled ? : }\n ,\n this.state.width > NARROW_WIDTH ? this.onDelete(item, e)}\n size=\"medium\"\n >\n \n : null,\n this.onEdit(item, e)}\n size=\"medium\">\n \n ,\n ];\n } else if (this.state.width > NARROW_WIDTH) {\n if (item.id !== ROOT_ID && item.id !== COMMON_ID && item.id !== GLOBAL_ID && (!children || !children.length)) {\n return this.onDelete(item, e)}\n size=\"medium\"\n >\n \n ;\n } else {\n return null;\n }\n }\n }\n\n onDelete(item, e) {\n e && e.stopPropagation();\n return new Promise(resolve => {\n if (typeof item !== 'object') {\n this.setState({ deleting: item });\n } else {\n this.setState({ deleting: item.id });\n }\n });\n }\n\n onEdit(item, e) {\n this.onClick(item, e);\n this.props.onEdit && this.props.onEdit(item.id);\n }\n\n getTextStyle(item) {\n if (!this.state.reorder && item.type !== 'folder') {\n return {\n //width: 130,\n width: `calc(100% - ${this.state.width > NARROW_WIDTH ? 185 : 137}px)`,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flex: 'none',\n padding: '0 16px 0 0',\n };\n }\n\n return {\n whiteSpace: 'nowrap',\n padding: '0 16px 0 0',\n };\n }\n\n onClick(item, e) {\n e && e.stopPropagation();\n if (!this.state.reorder && item) {\n const expanded = this.ensureSelectedIsVisible(item);\n const newState = {selected: item.id};\n if (expanded) {\n newState.expanded = expanded;\n }\n this.setState(newState);\n window.localStorage && window.localStorage.setItem('SideMenu.selected', item.id);\n }\n }\n\n onDblClick(item, e) {\n e && e.stopPropagation();\n if (this.state.reorder) {\n return;\n }\n if (item.type === 'folder') {\n this.onToggle(item.id);\n } else {\n this.onEdit(item);\n }\n }\n\n isFilteredOut(item) {\n if (item.filtered && !item.filteredPartly) {\n return true;\n }\n\n if (this.state.typeFilter && item.type !== 'folder' && item.type !== this.state.typeFilter) {\n return true;\n }\n\n if (this.state.statusFilter &&\n item.type !== 'folder' &&\n (\n (this.state.statusFilter === 'running' && !item.enabled) ||\n (this.state.statusFilter === 'paused' && item.enabled) ||\n (this.state.statusFilter === 'problems' && (!item.enabled || this.state.problems.indexOf(item.id) === -1)))\n ) {\n return true;\n }\n\n return item.id === GLOBAL_ID && !this.state.expertMode;\n }\n\n renderListItem(item, children, childrenFiltered) {\n if (item.id === ROOT_ID && !this.state.reorder) {\n return null;\n }\n\n const depthPx = (this.state.reorder ? item.depth : item.depth - 1) * LEVEL_PADDING;\n\n let title = item.title;\n\n if (this.state.searchText) {\n const pos = title.toLowerCase().indexOf(this.state.searchText.toLowerCase());\n if (pos !== -1) {\n title = [\n {title.substring(0, pos)},\n {title.substring(pos, pos + this.state.searchText.length)},\n {title.substring(pos + this.state.searchText.length)},\n ];\n }\n }\n\n if (!this.state.isAllZeroInstances && item.type !== 'folder') {\n title = [\n [{item.instance}] ,\n {title},\n ];\n }\n const reorder = this.state.reorder && !this.props.debugMode;\n\n const style = Object.assign({\n marginLeft: depthPx,\n cursor: item.type === 'folder' && reorder ? 'default' : 'inherit',\n width: `calc(100% - ${depthPx}px)`,\n }, item.id === this.state.selected && !reorder ? SELECTED_STYLE : {});\n\n if (!reorder) {\n style.opacity = item.filteredPartly ? 0.5 : 1;\n }\n\n if (item.id === GLOBAL_ID && item.id !== this.state.selected) {\n style.color = '#00a200';\n }\n\n let isExpanded = item.id === ROOT_ID;\n if (!isExpanded && children) {\n isExpanded = this.state.expanded.includes(item.id);\n }\n\n let iconStyle = {};\n if (item.id === GLOBAL_ID) {\n iconStyle.color = '#356956';\n } else if (item.id === COMMON_ID) {\n iconStyle.color = '#4899e1';\n }\n let iconClass;\n if (item.type === 'folder') {\n iconClass = Utils.clsx(this.props.classes.folderIcon, reorder ? this.props.classes.folderIconReorder : this.props.classes.folderIconNoReorder);\n } else {\n iconClass = Utils.clsx(this.props.classes.scriptIcon, reorder ? this.props.classes.scriptIconReorder : this.props.classes.scriptIconNoReorder);\n }\n\n let childrenCount = null;\n if ((childrenFiltered && childrenFiltered.length) || (children && children.length)) {\n childrenCount = {childrenFiltered && childrenFiltered.length !== children.length ? `${childrenFiltered.length}(${children.length})` : children.length};\n }\n\n return this.onClick(item, e)}\n onDoubleClick={e => this.onDblClick(item, e)}\n >\n {\n item.type === 'folder' ? (\n reorder || isExpanded ?\n !reorder && this.onToggle(item.id, e)} /> :\n !reorder && this.onToggle(item.id, e)} />\n )\n :\n {item.type}\n }\n {title}{childrenCount}} />\n {this.renderItemButtonsOnEnd(item, children)}\n ;\n }\n\n onDragFinish(source, target) {\n let newId = `${target}.${source.split('.').pop()}`;\n if (newId !== source) {\n // If target yet exists => add Copy to\n if (this.state.listItems.find(item => item.id === newId)) {\n newId += `_${I18n.t('copy')}`;\n }\n\n this.props.onRename && this.props.onRename(source, newId);\n }\n return undefined;\n }\n\n renderOneItem(items, item /* , dragging */) {\n let childrenFiltered = (this.state.statusFilter || this.state.typeFilter) && items.filter(i => i.parent === item.id ? !this.isFilteredOut(i) : false);\n let children = items.filter(i => i.parent === item.id);\n\n if (this.isFilteredOut(item)) {\n return;\n }\n\n if (item.type === 'folder' && (this.state.statusFilter || this.state.typeFilter) && !childrenFiltered.length) {\n return;\n }\n const reorder = this.state.reorder && !this.props.debugMode;\n\n const element = this.renderListItem(item, children, childrenFiltered);\n const result = [];\n let reactChildren;\n if (children && (reorder || this.state.expanded.includes(item.id) || item.id === ROOT_ID)) {\n reactChildren = children.map(it => this.renderOneItem(items, it));\n }\n\n if (reorder) {\n if (item.type === 'folder') {\n result.push( this.onDragFinish(e.name, item.id)}>\n {element}\n {reactChildren || null}\n );\n } else {\n result.push(\n {element}\n {reactChildren || null}\n );\n }\n } else {\n result.push(element);\n reactChildren && reactChildren.forEach(e => result.push(e));\n }\n\n return result;\n }\n\n renderAllItems(items) {\n const result = items\n .filter(item => !item.parent)\n .map(item =>\n this.renderOneItem(items, item));\n\n return \n {result}\n ;\n }\n\n onAddNew(e) {\n e && e.stopPropagation();\n let item = this.state.listItems.find(i => i.id === this.state.selected);\n let parent = ROOT_ID;\n while (item && item.type !== 'folder') {\n item = this.state.listItems[item.parentIndex];\n }\n if (item) {\n parent = item.id;\n }\n\n this.parent = parent;\n this.setState({ choosingType: true });\n }\n\n onCopy(e, id) {\n e && e.stopPropagation();\n let item = this.state.listItems.find(i => i.id === id);\n let parent = ROOT_ID;\n while (item && item.type !== 'folder') {\n item = this.state.listItems[item.parentIndex];\n }\n if (item) {\n parent = item.id;\n }\n\n this.parent = parent;\n this.setState({ copingScript: id });\n }\n\n onAddNewFolder(e) {\n e && e.stopPropagation();\n let item = this.state.listItems.find(i => i.id === this.state.selected);\n let parent = ROOT_ID;\n while (item && item.type !== 'folder') {\n item = this.state.listItems[item.parentIndex];\n }\n if (item) {\n parent = item.id;\n }\n\n this.parent = parent;\n this.setState({ creatingFolder: true });\n }\n\n onRename(e) {\n e && e.stopPropagation();\n this.setState({ renaming: this.state.selected });\n }\n\n getUniqueName(copyId) {\n let i = 1;\n let word = `${I18n.t('Script')} `;\n if (copyId) {\n let name = getObjectName(copyId, this.props.scripts[copyId]);\n const m = name.match(/\\d+$/);\n if (m) {\n word = name.replace(/\\d+$/, '');\n i = parseInt(m[0], 10) + 1;\n } else {\n word = name;\n }\n }\n\n // eslint-disable-next-line\n while (this.state.listItems.find(it => it.id === `${this.parent}.${word.replace(/\\.\\s/g, '_')}${i}`)) {\n i++;\n }\n /*ignore jslint end*/\n return word + i;\n }\n\n getUniqueFolderName() {\n let i = 1;\n // eslint-disable-next-line\n while (this.state.listItems.find(it => it.id === `${this.parent}.${I18n.t('Folder')}_${i}`)) {\n i++;\n }\n return `${I18n.t('Folder')} ${i}`;\n }\n\n onCloseMenu(cb) {\n this.setState({ menuOpened: false, menuAnchorEl: null, menuAnchorFilterEl: null }, cb);\n }\n\n getFilterBadge() {\n return [\n this.state.statusFilter === true && ,\n this.state.statusFilter === false && ,\n this.state.typeFilter === 'Blockly' && 'Bl',\n this.state.typeFilter === 'Javascript/js' && 'JS',\n this.state.typeFilter === 'TypeScript/ts' && 'TS',\n ];\n }\n\n getMainMenu(children, selectedItem) {\n return this.setState({ menuOpened: false, menuAnchorEl: null })}\n PaperProps={{\n style: {\n maxHeight: MENU_ITEM_HEIGHT * 7.5,\n // width: 200,\n },\n }}\n >\n {this.state.width <= NARROW_WIDTH ? {\n event.stopPropagation();\n event.preventDefault();\n if (this.state.listItems.find(item => item.parent === this.state.selected)) {\n this.showError(I18n.t('Cannot delete non empty item!'));\n return;\n }\n\n this.setState({ menuOpened: false, menuAnchorEl: null }, () =>\n this.onDelete(this.state.selected).then(() => {}));\n }}>{I18n.t('Delete')}\n : null}\n {\n event.stopPropagation();\n event.preventDefault();\n this.onCloseMenu(() =>\n this.props.onExpertModeChange && this.props.onExpertModeChange(!this.state.expertMode));\n }}>\n {I18n.t('Expert mode')}\n \n {this.props.onExport && {\n event.stopPropagation();\n event.preventDefault();\n this.onCloseMenu(() => this.props.onExport());\n }}>\n {I18n.t('Export all scripts')}\n }\n {this.props.onImport && {\n event.stopPropagation();\n event.preventDefault();\n this.onCloseMenu(() => this.props.onImport());\n }}>\n {I18n.t('Import scripts')}\n }\n {this.props.onThemeChange && this.onCloseMenu(() => {\n // TODO: use Utils.toggleTheme(themeName)\n // newThemeName = Utils.toggleTheme(themeName);\n const newThemeName = this.state.themeName === 'dark' ? 'blue' :\n this.state.themeName === 'blue' ? 'colored' : this.state.themeName === 'colored' ? 'light' :\n this.state.themeName === 'light' ? 'dark' : 'colored';\n this.props.onThemeChange(newThemeName);\n })}\n >\n {I18n.t('Change theme (actual \"%s\")', this.state.themeName)}\n }\n {this.props.onAddNew && {\n const selected = this.state.selected;\n this.onCloseMenu(() => this.onCopy(event, selected));\n }}\n >\n \n {I18n.t('Copy script')}\n }\n {this.state.expertMode && {\n event.stopPropagation();\n event.preventDefault();\n this.onCloseMenu(() =>\n this.setState({ showAdapterDebug: true }));\n }}\n >\n \n {I18n.t('Debug instance')}\n }\n ;\n }\n\n // render menu and toolbar\n getToolbarButtons() {\n const result = [];\n const classes = this.props.classes;\n const reorder = this.state.reorder && !this.props.debugMode;\n if (this.state.searchMode && !this.props.debugMode) {\n result.push( {\n this.setState({ searchText: e.target.value });\n this.filterTimer && clearTimeout(this.filterTimer);\n this.filterTimer = setTimeout(() => {\n this.filterTimer = null;\n this.filterList(true);\n this.props.onSearch && this.props.onSearch(this.state.searchText);\n }, 400);\n }}\n />);\n\n result.push( {\n e.stopPropagation();\n this.filterList(false, () => this.props.onSearch && this.props.onSearch(this.state.searchText));\n }}\n size=\"medium\">);\n\n this.state.searchText && result.push( {\n e.stopPropagation();\n this.setState({ searchText: '' }, () => {\n this.filterList(true);\n this.props.onSearch && this.props.onSearch(this.state.searchText);\n });\n }}\n size=\"medium\"\n >\n \n );\n } else {\n if (!reorder) {\n // Open Menu\n result.push( {\n event.stopPropagation();\n event.preventDefault();\n this.setState({ menuOpened: true, menuAnchorEl: event.currentTarget });\n }}\n size=\"medium\"\n >\n {/**/}\n \n {/**/}\n );\n\n const selectedItem = this.state.listItems.find(it => it.id === this.state.selected);\n let children;\n if (selectedItem && this.state.width <= NARROW_WIDTH && selectedItem.type === 'folder') {\n children = this.state.listItems.filter(i => i.parent === this.state.selected);\n }\n\n // Menu\n result.push(this.getMainMenu(children, selectedItem));\n\n // New Script\n result.push( this.onAddNew(e)}\n size=\"medium\"\n >\n \n );\n\n // New Folder\n result.push( this.onAddNewFolder()}\n size=\"medium\"\n >\n \n );\n }\n\n // Search\n result.push( {\n e.stopPropagation();\n this.setState({ searchMode: true });\n }}\n size=\"medium\"\n >\n \n );\n\n // Reorder button\n result.push( {\n e.stopPropagation();\n this.setState({ reorder: !this.state.reorder });\n }}\n size=\"medium\"\n >\n \n );\n\n if (!reorder && this.state.selected && this.state.selected !== GLOBAL_ID && this.state.selected !== COMMON_ID) {\n // Rename\n result.push( this.onRename(e)}\n size=\"medium\"\n >\n \n );\n\n // const selectedItem = this.state.listItems.find(i => i.id === this.state.selected);\n // if (selectedItem && selectedItem.type !== 'folder') {\n // // Restart\n // result.push(( {\n // e.stopPropagation();\n // this.props.onEnableDisable && this.props.onEnableDisable();\n // }}\n // >));\n // }\n }\n result.push(v{this.props.version});\n }\n return result;\n }\n\n getFolders() {\n const folders = [{ id: ROOT_ID, name: I18n.t('Root folder') }];\n this.state.listItems.forEach(item => {\n if (item.type === 'folder' && item.id !== ROOT_ID) { // root has been added above\n if (!item.id.startsWith(GLOBAL_ID) || this.state.expertMode) {\n folders.push({ id: item.id, name: item.title });\n }\n }\n });\n return folders;\n }\n\n onCollapseAll() {\n this.setState({ expanded: [] });\n this.saveExpanded([]);\n }\n\n onExpandAll() {\n const expanded = [];\n this.state.listItems.forEach(item =>\n this.state.listItems.find(it => it.parent === item.id) && expanded.push(item.id));\n this.setState({ expanded });\n this.saveExpanded(expanded);\n }\n\n getBottomButtons() {\n if (this.state.reorder || this.props.debugMode) {\n return null;\n }\n return [\n {\n event.stopPropagation();\n event.preventDefault();\n const statusFilter = this.state.statusFilter === 'running' ? '' : 'running';\n window.localStorage && window.localStorage.setItem('SideMenu.statusFilter', statusFilter);\n this.setState({ statusFilter });\n }}\n />,\n\n {\n const statusFilter = this.state.statusFilter === 'paused' ? '' : 'paused';\n window.localStorage && window.localStorage.setItem('SideMenu.statusFilter', statusFilter);\n this.setState({ statusFilter });\n }}\n />,\n {\n const statusFilter = this.state.statusFilter === 'problems' ? '' : 'problems';\n window.localStorage && window.localStorage.setItem('SideMenu.statusFilter', statusFilter);\n this.setState({ statusFilter });\n }}\n />,\n {\n const typeFilter = this.state.typeFilter === 'Blockly' ? '' : 'Blockly';\n window.localStorage && window.localStorage.setItem('SideMenu.typeFilter', typeFilter);\n this.setState({ typeFilter });\n }}\n />,\n {\n const typeFilter = this.state.typeFilter === 'Javascript/js' ? '' : 'Javascript/js';\n window.localStorage && window.localStorage.setItem('SideMenu.typeFilter', typeFilter);\n this.setState({ typeFilter });\n }}\n />,\n {\n const typeFilter = this.state.typeFilter === 'TypeScript/ts' ? '' : 'TypeScript/ts';\n window.localStorage && window.localStorage.setItem('SideMenu.typeFilter', typeFilter);\n this.setState({ typeFilter });\n }}\n />,\n {\n const typeFilter = this.state.typeFilter === 'Rules' ? '' : 'Rules';\n window.localStorage && window.localStorage.setItem('SideMenu.typeFilter', typeFilter);\n this.setState({ typeFilter });\n }}\n />,\n this.onExpandAll()}\n />,\n this.state.expanded.length ? this.onCollapseAll()}\n /> : null,\n ];\n }\n\n getAdapterDebugDialog() {\n if (this.state.showAdapterDebug) {\n return this.setState({ showAdapterDebug: false })}\n onDebug={(instance, adapter) => this.setState({ showAdapterDebug: false }, () => this.props.onDebugInstance({instance, adapter}))}\n />;\n }\n }\n\n render() {\n const {classes} = this.props;\n\n const renamingItem = this.state.renaming && this.state.listItems.find(i => i.id === this.state.renaming);\n const copingItem = this.state.copingScript && this.props.scripts[this.state.copingScript];\n\n return [\n this.onClick({id: ''})}\n >\n
\n {this.getToolbarButtons()}\n
\n\n \n\n \n
\n {this.renderAllItems(this.state.listItems)}\n
\n
\n\n \n\n
{this.getBottomButtons()}
\n ,\n\n renamingItem ? this.setState({ renaming: false })}\n onRename={(oldId, newName, newId, newInstance) => this.props.onRename && this.props.onRename(oldId, newName, newId, newInstance)}\n /> : null,\n\n this.state.deleting ? i.id === this.state.deleting).title}\n id={this.state.deleting}\n onClose={() => this.setState({ deleting: false })}\n onDelete={id => this.props.onDelete && this.props.onDelete(id)}\n /> : null,\n\n this.state.choosingType ? {\n const newState = { choosingType: false };\n if (type) {\n newState.creatingScript = type;\n }\n this.setState(newState);\n }}\n /> : null,\n\n this.state.creatingScript ? this.setState({ creatingScript: false })}\n title={I18n.t('Create new script')}\n name={this.getUniqueName()}\n parents={this.getFolders()}\n folder={false}\n existingItems={this.state.listItems.map(item => item.id)}\n instance={this.props.instances[0] || 0}\n instances={this.props.instances}\n type={this.state.creatingScript}\n parent={this.parent}\n onAdd={(id, name, instance, type) =>\n this.props.onAddNew && this.props.onAddNew(id, name, false, instance, type)}\n /> : null,\n\n this.state.copingScript ? this.setState({ copingScript: '' })}\n title={I18n.t('Copy script')}\n name={this.getUniqueName(this.state.copingScript)}\n parents={this.getFolders()}\n folder={false}\n instance={parseInt((copingItem && copingItem.common && copingItem.common.engine && copingItem.common.engine.split('.').pop()) || 0, 10)}\n instances={this.props.instances}\n type={(copingItem && copingItem.common && copingItem.common.engineType) || 'Javascript/js'}\n parent={this.parent}\n onAdd={(id, name, instance, type) => {\n const copingItem = this.state.copingScript && this.props.scripts[this.state.copingScript];\n if (copingItem && copingItem.common) {\n // disable script by coping\n copingItem.common.enabled = false;\n }\n this.props.onAddNew && this.props.onAddNew(id, name, false, instance, type, copingItem && copingItem.common && copingItem.common.source);\n }}\n /> : null,\n\n this.state.creatingFolder ? this.setState({ creatingFolder: false })}\n title={I18n.t('Create new folder')}\n parents={this.getFolders()}\n name={this.getUniqueFolderName()}\n parent={this.parent}\n onAdd={(id, name) => this.props.onAddNew && this.props.onAddNew(id, name, true)}\n /> : null,\n\n this.state.errorText ? this.setState({ errorText: '' })} text={this.state.errorText} /> : null,\n\n this.getAdapterDebugDialog(),\n ];\n }\n}\n\nSideDrawer.propTypes = {\n classes: PropTypes.object.isRequired,\n instances: PropTypes.array.isRequired,\n scripts: PropTypes.object.isRequired,\n scriptsHash: PropTypes.number,\n onEdit: PropTypes.func,\n selectId: PropTypes.string,\n expertMode: PropTypes.bool,\n onExpertModeChange: PropTypes.func,\n onEnableDisable: PropTypes.func,\n runningInstances: PropTypes.object,\n socket: PropTypes.object,\n themeName: PropTypes.string,\n themeType: PropTypes.string,\n onSelect: PropTypes.func,\n onAddNew: PropTypes.func,\n onRename: PropTypes.func,\n onDelete: PropTypes.func,\n onImport: PropTypes.func,\n onExport: PropTypes.func,\n onSearch: PropTypes.func,\n onThemeChange: PropTypes.func,\n onDebugInstance: PropTypes.func,\n width: PropTypes.number,\n debugMode: PropTypes.bool,\n version: PropTypes.string,\n};\n\nexport default withStyles(styles)(SideDrawer);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport IconButton from '@mui/material/IconButton';\n\nimport { MdDeleteForever as IconDelete } from 'react-icons/md';\nimport { MdVerticalAlignBottom as IconBottom } from 'react-icons/md';\nimport { MdContentCopy as IconCopy } from 'react-icons/md';\nimport { MdVisibilityOff as IconHide } from 'react-icons/md';\n\nimport { I18n, Utils } from '@iobroker/adapter-react-v5';\n\n// replace later with MdHorizontalSplit and MdVerticalSplit\nconst IconVerticalSplit = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAACFJREFUeAFjAIJRwP////8PYIKWHCigNQdKj/pn1D+jAABTG16wVQqVpQAAAABJRU5ErkJggg==';\nconst IconHorizontalSplit = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAABtJREFUeAFjAIJRwP8fCj7QkENn/4z6Z5QzCgBjbWaoyx1PqQAAAABJRU5ErkJggg==';\n\nfunction getTimeString(d) {\n let text;\n let i = d.getHours();\n if (i < 10) {\n i = `0${i.toString()}`;\n }\n text = `${i}:`;\n\n i = d.getMinutes();\n if (i < 10) {\n i = `0${i.toString()}`;\n }\n text += `${i}:`;\n i = d.getSeconds();\n if (i < 10) {\n i = `0${i.toString()}`;\n }\n text += `${i}.`;\n i = d.getMilliseconds();\n if (i < 10) {\n i = `00${i.toString()}`;\n } else if (i < 100) {\n i = `0${i.toString()}`;\n }\n text += i;\n return text;\n}\nconst TOOLBOX_WIDTH = 34;\n\nconst styles = theme => ({\n logBox: {\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n },\n logBoxInner: {\n display: 'inline-block',\n color: theme.palette.mode === 'dark' ? 'white' : 'black',\n width: `calc(100% - ${TOOLBOX_WIDTH}px)`,\n height: '100%',\n //marginLeft: TOOLBOX_WIDTH,\n overflow: 'auto',\n position: 'relative',\n verticalAlign: 'top',\n },\n info: {\n background: theme.palette.mode === 'dark' ? 'darkgrey' : 'lightgrey',\n color: theme.palette.mode === 'dark' ? 'black' : 'black',\n },\n error: {\n background: '#FF0000',\n color: theme.palette.mode === 'dark' ? 'black' : 'white',\n },\n warn: {\n background: '#FF8000',\n color: theme.palette.mode === 'dark' ? 'black' : 'white',\n },\n debug: {\n background: 'gray',\n opacity: 0.8,\n color: theme.palette.mode === 'dark' ? 'black' : 'white',\n },\n silly: {\n background: 'gray',\n opacity: 0.6,\n color: theme.palette.mode === 'dark' ? 'black' : 'white',\n },\n table: {\n fontFamily: 'monospace',\n width: '100%',\n\n },\n toolbox: {\n width: TOOLBOX_WIDTH,\n height: '100%',\n boxShadow: '2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)',\n display: 'inline-block',\n verticalAlign: 'top',\n overflow: 'hidden',\n },\n trTime: {\n width: 90,\n },\n trSeverity: {\n width: 40,\n fontWeight: 'bold',\n },\n iconButtons: {\n width: 32,\n height: 32,\n padding: 4,\n },\n layoutIcon: {\n width: 24,\n height: 24,\n background: theme.palette.mode === 'dark' ? '#9d9d9d' : undefined,\n borderRadius: theme.palette.mode === 'dark' ? 30 : undefined,\n },\n});\n\nfunction paddingMs(ms) {\n if (ms < 10) {\n return `00${ms}`;\n }\n if (ms < 100) {\n return `0${ms}`;\n }\n return ms;\n}\n\nlet gText = {};\n\nclass Log extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n lines: {},\n goBottom: true,\n selected: null,\n editing: this.props.editing || [],\n };\n this.lastIndex = null;\n this.messagesEnd = React.createRef();\n }\n\n generateLine(message) {\n return \n {getTimeString(new Date(message.ts))}\n {message.severity}\n {message.message}\n ;\n }\n\n scrollToBottom() {\n this.messagesEnd && this.messagesEnd.current && this.messagesEnd.current.scrollIntoView({ behavior: 'smooth' });\n }\n\n logHandler = message => {\n let allLines = this.state.lines;\n const scripts = this.state.editing.filter(id => message.message.includes(id));\n let selected;\n if (!scripts.length) {\n return;\n } else if (scripts.length === 1) {\n selected = scripts[0];\n } else {\n // try to get the script with the longest common substring\n scripts.sort();\n selected = scripts[scripts.length - 1];\n }\n\n let lines = allLines[selected] || [];\n let text = gText[selected] || [];\n\n lines.push(this.generateLine(message));\n let severity = message.severity;\n if (severity === 'info' || severity === 'warn') {\n severity += ' ';\n }\n const date = new Date(message.ts);\n text.push(`${date.toLocaleString()}.${paddingMs(date.getMilliseconds())}\\t[${severity}]: ${message.message}`);\n if (lines.length > 300) {\n lines.splice(0, lines.length - 300);\n text.splice(0, lines.length - 300);\n }\n gText[selected] = text;\n allLines[selected] = lines;\n\n this.setState({ lines: allLines });\n }\n\n componentDidMount() {\n this.props.socket.registerLogHandler(this.logHandler);\n }\n\n componentWillUnmount() {\n this.props.socket.unregisterLogHandler(this.logHandler);\n }\n\n componentDidUpdate() {\n this.state.goBottom && this.scrollToBottom();\n }\n\n static getDerivedStateFromProps(props, state) {\n let changed = false;\n let newState = {};\n\n if (props.selected !== state.selected) {\n let selected = props.selected;\n let allLines = state.lines;\n allLines[selected] = allLines[selected] || [];\n gText[selected] = gText[selected] || [];\n newState.selected = selected;\n changed = true;\n }\n\n if (JSON.stringify(props.editing) !== JSON.stringify(state.editing)) {\n const editing = JSON.parse(JSON.stringify(props.editing));\n changed = true;\n let allLines = state.lines;\n\n for (const id in gText) {\n if (gText.hasOwnProperty(id)) {\n if (!editing.includes(id)) {\n delete gText[id];\n delete allLines[id];\n }\n }\n }\n\n newState.editing = editing;\n }\n return changed ? newState : null;\n }\n\n onCopy() {\n Utils.copyToClipboard((gText[this.state.selected] || []).join('\\n'));\n }\n\n clearLog() {\n let allLines = this.state.lines;\n if (allLines[this.state.selected]) {\n allLines[this.state.selected] = [];\n }\n if (gText[this.state.selected]) {\n gText[this.state.selected] = [];\n }\n this.setState({ lines: allLines });\n }\n\n renderLogList(lines) {\n if (this.state.selected && lines && lines.length) {\n return
\n {lines}
\n
\n
;\n } else {\n return
{I18n.t('Log outputs')}
;\n }\n }\n\n render() {\n const lines = this.state.selected && this.state.lines[this.state.selected];\n return
\n
\n this.setState({ goBottom: !this.state.goBottom })}\n color={this.state.goBottom ? 'secondary' : ''}\n size=\"medium\">\n {lines && lines.length ? this.clearLog()}\n size=\"medium\"> : null}\n {lines && lines.length ? this.onCopy()}\n size=\"medium\"> : null}\n {this.props.onLayoutChange ? this.props.onLayoutChange()}\n title={I18n.t('Change layout')}\n size=\"medium\">\"split\" : null}\n this.props.onHideLog()}\n title={I18n.t('Hide logs')}\n size=\"medium\">\n
\n {this.renderLogList(lines)}\n
;\n }\n}\n\nLog.propTypes = {\n selected: PropTypes.string,\n socket: PropTypes.object,\n onLayoutChange: PropTypes.func,\n verticalLayout: PropTypes.bool,\n};\n\nexport default withStyles(styles)(Log);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Fab } from '@mui/material';\n\nimport { MdGTranslate as IconNoCheck } from 'react-icons/md';\n\nimport { I18n } from '@iobroker/adapter-react-v5';\n\nfunction isIdOfGlobalScript(id) {\n return /^script\\.js\\.global\\./.test(id);\n}\nlet index = 0;\nclass ScriptEditor extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n name: 'current',\n isDark: props.isDark || false,\n language: props.language || 'javascript',\n readOnly: props.readOnly || false,\n alive: true,\n check: false,\n searchText: this.props.searchText || '',\n typingsLoaded: false,\n };\n this.runningInstancesStr = JSON.stringify(this.props.runningInstances);\n this.monacoDiv = null; //ref\n this.editor = null;\n this.monaco = window.monaco;\n this.insert = '';\n this.originalCode = props.code || '';\n this.typings = {}; // TypeScript declarations\n this.lastSearch = '';\n }\n\n waitForMonaco(cb) {\n let monacoLoaded = this.monaco?.languages?.typescript?.typescriptDefaults?.getCompilerOptions;\n if (!monacoLoaded || !this.props.runningInstances) {\n this.monaco = window.monaco;\n monacoLoaded = this.monaco?.languages?.typescript?.typescriptDefaults?.getCompilerOptions;\n this.monacoCounter = this.monacoCounter || 0;\n this.monacoCounter++;\n if (!monacoLoaded && this.monacoCounter < 20) {\n console.log('wait for monaco loaded');\n setTimeout(() => this.waitForMonaco(cb), 200);\n return;\n }\n if (this.monacoCounter >= 20) {\n console.error('Cannot load monaco!');\n }\n } else {\n cb && cb();\n }\n }\n\n loadTypings(runningInstances) {\n if (!this.editor) {\n return;\n }\n runningInstances = runningInstances || this.props.runningInstances;\n\n const scriptAdapterInstance = runningInstances && Object.keys(runningInstances).find(id => runningInstances[id]);\n if (scriptAdapterInstance) {\n this.props.socket.sendTo(scriptAdapterInstance.replace('system.adapter.', ''), 'loadTypings', null)\n .then(result => {\n this.setState({ alive: true, check: true, typingsLoaded: true });\n this.setTypeCheck(true);\n if (result.typings) {\n this.typings = result.typings;\n this.setEditorTypings(this.state.name);\n } else {\n console.error(`failed to load typings: ${result.error}`);\n }\n });\n }\n }\n\n componentDidMount() {\n const monacoLoaded = this.monaco?.languages?.typescript?.typescriptDefaults?.getCompilerOptions;\n if (!monacoLoaded || !this.props.runningInstances) {\n this.monaco = window.monaco;\n if (!monacoLoaded) {\n console.log('wait for monaco loaded...');\n this.waitForMonaco(() => this.componentDidMount());\n\n return;\n }\n }\n if (!this.editor && monacoLoaded) {\n console.log('Init editor');\n this.props.onRegisterSelect && this.props.onRegisterSelect(() => this.editor.getModel().getValueInRange(this.editor.getSelection()));\n // For some reason, we have to get the original compiler options\n // and assign new properties one by one\n const compilerOptions = this.monaco.languages.typescript.typescriptDefaults['getCompilerOptions']();\n compilerOptions.target = this.monaco.languages.typescript.ScriptTarget.ES2015;\n compilerOptions.allowJs = true;\n compilerOptions.checkJs = this.props.checkJs !== false;\n compilerOptions.noLib = true;\n compilerOptions.lib = [];\n compilerOptions.useUnknownInCatchVariables = false;\n compilerOptions.moduleResolution = this.monaco.languages.typescript.ModuleResolutionKind.NodeJs;\n this.monaco.languages.typescript.typescriptDefaults.setCompilerOptions(compilerOptions);\n\n this.setTypeCheck(false);\n\n // Create the editor instances\n this.editor = this.monaco.editor.create(this.monacoDiv, {\n lineNumbers: 'on',\n scrollBeyondLastLine: false,\n automaticLayout: true,\n glyphMargin: !!this.props.breakpoints,\n });\n\n this.editor.onDidChangeModelContent(() =>\n this.onChange(this.editor.getValue()));\n\n // Load typings for the JS editor\n /** @type {string} */\n this.loadTypings();\n\n this.editor.addCommand(this.monaco.KeyMod.CtrlCmd | this.monaco.KeyCode.KEY_S, () =>\n this.onForceSave());\n\n setTimeout(() => {\n this.highlightText(this.state.searchText);\n this.location = this.props.location;\n this.breakpoints = this.props.breakpoints;\n this.showDecorators();\n });\n }\n const options = {\n selectOnLineNumbers: true,\n scrollBeyondLastLine: false,\n automaticLayout: true,\n readOnly: this.state.readOnly,\n language: this.state.language,\n isDark: this.state.isDark,\n };\n\n this.setEditorOptions(options);\n this.editor.focus();\n this.editor.setValue(this.originalCode);\n\n if (this.props.onToggleBreakpoint) {\n // add onMouseDown listener to toggle breakpoints\n this.editor.onMouseDown(e => {\n if (e.target.detail && e.target.detail.glyphMarginLeft !== undefined) {\n this.props.onToggleBreakpoint(e.target.position.lineNumber - 1);\n }\n });\n } else {\n // remove onMouseDown listener\n this.editor.onMouseDown(() => { /* nop */ });\n }\n }\n\n /**\n * Sets some options of the code editor\n * @param {object} options The editor options to change\n * @param {Partial<{readOnly: boolean, lineWrap: boolean, language: EditorLanguage, typeCheck: boolean}>} options\n */\n setEditorOptions(options) {\n if (options) {\n if (options.language) {\n this.setEditorLanguage(options.language);\n }\n if (options.readOnly !== undefined) {\n this.editor.updateOptions({ readOnly: options.readOnly });\n }\n if (options.lineWrap !== undefined) {\n this.editor.updateOptions({ wordWrap: options.lineWrap ? 'on' : 'off' });\n }\n if (options.typeCheck !== undefined) {\n this.setTypeCheck(options.typeCheck);\n }\n if (options.isDark !== undefined) {\n this.monaco.editor.setTheme(options.isDark ? 'vs-dark' : 'vs');\n }\n }\n }\n\n componentWillUnmount() {\n if (this.editor) {\n this.props.onRegisterSelect && this.props.onRegisterSelect(null);\n this.editor.dispose();\n this.editor = null;\n }\n }\n\n /** @typedef {\"javascript\" | \"typescript\"} EditorLanguage */\n\n /**\n * Sets the language of the code editor\n * @param {EditorLanguage} language\n */\n setEditorLanguage(language) {\n // we need to recreate the model when changing languages,\n // so remember its settings\n const model = this.editor.getModel();\n const code = model.getValue();\n const uri = model.uri.path;\n\n const filenameWithoutExtension =\n typeof uri === 'string' && uri.includes('.')\n ? uri.substr(0, uri.lastIndexOf('.'))\n : 'index';\n\n const extension =\n language === 'javascript' ? 'js'\n : (language === 'typescript' ? 'ts' : language);\n\n // get rid of the original model\n model.dispose();\n\n // Both JS and TS need the model to work in TypeScript as the script type\n // is inferred from the file extension\n const newLanguage = (language === 'javascript' || language === 'typescript') ? 'typescript' : language;\n\n const newModel = this.monaco.editor.createModel(\n code,\n newLanguage,\n this.monaco.Uri.from({ path: `${filenameWithoutExtension}${index++}.${extension}` }),\n );\n\n this.editor.setModel(newModel);\n }\n\n /**\n * Enables or disables the type checking in the editor\n * @param {boolean} enabled - Whether type checking is enabled or not\n */\n setTypeCheck(enabled) {\n const options = {\n noSemanticValidation: !this.state.alive || !enabled, // toggle the type checking\n noSyntaxValidation: !this.state.alive // always check the syntax\n };\n this.monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions(options);\n }\n\n /**\n * @param {string} [currentScriptName] The name of the current script\n */\n setEditorTypings(currentScriptName = '') {\n const isGlobalScript = isIdOfGlobalScript(currentScriptName);\n // The filename of the declarations this script can see if it is a global script\n const partialDeclarationsPath = `${currentScriptName}.d.ts`;\n const wantedTypings = [];\n for (const path of Object.keys(this.typings)) {\n // global scripts don't get to see all other global scripts\n // but only a part of them\n if (isGlobalScript) {\n if (path === 'global.d.ts') {\n continue;\n }\n if (path.startsWith('script.js.global') && path !== partialDeclarationsPath) {\n continue;\n }\n }\n wantedTypings.push({\n filePath: path,\n content: this.typings[path],\n });\n }\n\n // TODO BF: check https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-semantic-tokens-provider-example\n // to support 0.21.0\n\n if (this.monaco?.languages?.typescript?.typescriptDefaults?.setExtraLibs) {\n this.monaco.languages.typescript.typescriptDefaults.setExtraLibs(wantedTypings);\n } else if (this.monaco?.languages?.typescript?.typescriptDefaults?.addExtraLib) {\n const existingLibs = this.monaco.languages.typescript.typescriptDefaults.getExtraLibs();\n wantedTypings.forEach(lib => {\n if (!existingLibs[lib.filePath]) {\n this.monaco.languages.typescript.typescriptDefaults.addExtraLib(lib, lib.filePath);\n }\n });\n }\n }\n\n /**\n * Inserts some text into the given editor\n * @param {string} text The text to add\n */\n insertTextIntoEditor(text) {\n const selection = this.editor.getSelection();\n const range = new this.monaco.Range(\n selection.startLineNumber,\n selection.startColumn,\n selection.endLineNumber,\n selection.endColumn,\n );\n this.editor.executeEdits('', [{ range, text, forceMoveMarkers: true }]);\n this.editor.focus();\n }\n\n highlightText(text) {\n const range = text && this.editor.getModel().findMatches(text);\n if (range && range.length) {\n range.forEach(r => this.editor.setSelection(r.range));\n this.editor.revealLine(range[0].range.startLineNumber);\n } else if (this.editor) {\n const row = this.editor.getPosition().lineNumber;\n const col = this.editor.getPosition().column;\n this.editor.setSelection(new this.monaco.Range(row, col, row, col));\n }\n }\n\n showDecorators() {\n this.decorations = this.decorations || [];\n const decorations = [];\n if (this.location) {\n decorations.push({\n range: new this.monaco.Range(this.location.lineNumber + 1, this.location.columnNumber + 1, this.location.lineNumber + 1, 1000),\n options: {\n isWholeLine: false,\n className: this.props.isDark ? 'monacoCurrentLineDark' : 'monacoCurrentLine',\n },\n });\n decorations.push({\n range: new this.monaco.Range(this.location.lineNumber + 1, 0, this.location.lineNumber + 1, 0),\n options: {\n isWholeLine: true,\n className: this.props.isDark ? 'monacoCurrentFullLineDark' : 'monacoCurrentFullLine',\n },\n });\n }\n\n if (this.breakpoints) {\n this.breakpoints.forEach(bp => {\n decorations.push({\n range: new this.monaco.Range(bp.location.lineNumber + 1, 0, bp.location.lineNumber + 1, 100),\n options: {\n isWholeLine: true,\n glyphMarginClassName: this.props.isDark ? 'monacoBreakPointDark' : 'monacoBreakPoint',\n },\n });\n });\n }\n this.editor && (this.decorations =\n this.editor.deltaDecorations(this.decorations, decorations));\n }\n\n initNewScript(name, code) {\n this.setState({ name });\n this.originalCode = code || '';\n this.editor && this.editor.setValue(code);\n this.highlightText(this.lastSearch);\n this.showDecorators();\n // this.setEditorLanguage();\n // Update the typings because global scripts need different typings than normal scripts\n // and each global script has different typings\n this.setEditorTypings(name);\n }\n\n scrollToLineIfNeeded(lineNumber) {\n if (this.editor) {\n const ranges = this.editor.getVisibleRanges();\n if (!ranges || !ranges[0] || ranges[0].startLineNumber > lineNumber || lineNumber > ranges[0].endLineNumber) {\n this.editor.revealLineInCenter(lineNumber);\n }\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const options = {};\n if (this.state.name !== nextProps.name) {\n // A different script was selected\n this.initNewScript(nextProps.name, nextProps.code);\n }\n\n // if some running instance is found and\n if (JSON.stringify(nextProps.runningInstances) !== this.runningInstancesStr) {\n this.runningInstancesStr = JSON.stringify(nextProps.runningInstances);\n if (!this.state.typingsLoaded) {\n this.loadTypings(nextProps.runningInstances);\n }\n }\n\n // if the code not yet changed, update the new code\n if (this.editor && !nextProps.changed && (nextProps.code !== this.originalCode || nextProps.code !== this.editor.getValue())) {\n this.originalCode = nextProps.code;\n this.editor.setValue(this.originalCode);\n this.showDecorators();\n this.location && this.scrollToLineIfNeeded(this.location.lineNumber + 1);\n }\n\n if (nextProps.searchText !== this.lastSearch) {\n this.lastSearch = nextProps.searchText;\n this.highlightText(this.lastSearch);\n }\n\n if (JSON.stringify(nextProps.location) !== JSON.stringify(this.location) &&\n JSON.stringify(nextProps.breakpoints) !== JSON.stringify(this.breakpoints)\n ) {\n this.location = nextProps.location;\n this.breakpoints = nextProps.breakpoints;\n this.showDecorators();\n this.editor && this.location && this.scrollToLineIfNeeded(this.location.lineNumber + 1);\n // this.editor && this.location && this.editor.setPosition(this.location.lineNumber + 1, this.location.columnNumber + 1);\n } else if (JSON.stringify(nextProps.breakpoints) !== JSON.stringify(this.breakpoints)) {\n this.breakpoints = nextProps.breakpoints;\n this.showDecorators();\n } else if (JSON.stringify(nextProps.location) !== JSON.stringify(this.location)) {\n this.location = nextProps.location;\n this.showDecorators();\n this.editor && this.location && this.scrollToLineIfNeeded(this.location.lineNumber + 1);\n // this.editor && this.location && this.editor.setPosition(this.location.lineNumber + 1, this.location.columnNumber + 1);\n }\n\n if (this.state.language !== (nextProps.language || 'javascript')) {\n this.setState({ language: nextProps.language || 'javascript' });\n options.language = nextProps.language || 'javascript';\n } else if (this.state.readOnly !== (nextProps.readOnly || false)) {\n this.setState({ readOnly: nextProps.readOnly || false });\n options.readOnly = nextProps.readOnly;\n } else if (this.state.isDark !== (nextProps.isDark || false)) {\n this.setState({ isDark: nextProps.isDark || false });\n options.isDark = nextProps.isDark;\n }\n\n this.setEditorOptions(options);\n\n if (this.insert !== nextProps.insert) {\n this.insert = nextProps.insert;\n if (this.insert) {\n console.log(`Insert text: ${this.insert}`);\n setTimeout(insert => {\n this.insertTextIntoEditor(insert);\n setTimeout(() => this.props.onInserted && this.props.onInserted(), 100);\n }, 100, this.insert);\n }\n }\n }\n\n onChange(newValue, e) {\n if (!this.props.readOnly) {\n this.props.onChange && this.props.onChange(this.editor.getValue());\n }\n }\n\n render() {\n if (!this.monaco?.languages?.typescript?.typescriptDefaults || !this.props.runningInstances) {\n setTimeout(() => {\n this.monaco = window.monaco;\n this.forceUpdate();\n }, 200);\n return null;\n }\n\n return
this.monacoDiv = el} style={{width: '100%', height: '100%', overflow: 'hidden', position: 'relative'}}>\n {!this.state.check && \n \n }\n
;\n }\n}\n\nScriptEditor.propTypes = {\n adapterName: PropTypes.string.isRequired,\n socket: PropTypes.object,\n runningInstances: PropTypes.object,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onForceSave: PropTypes.func,\n onInserted: PropTypes.func,\n isDark: PropTypes.bool,\n readOnly: PropTypes.bool,\n code: PropTypes.string,\n language: PropTypes.string,\n onRegisterSelect: PropTypes.func,\n searchText: PropTypes.string,\n checkJs: PropTypes.bool,\n changed: PropTypes.bool,\n\n breakpoints: PropTypes.array,\n location: PropTypes.object,\n onToggleBreakpoint: PropTypes.func,\n};\n\nexport default ScriptEditor;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Button from '@mui/material/Button';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogActions from '@mui/material/DialogActions';\nimport Dialog from '@mui/material/Dialog';\nimport Popper from '@mui/material/Popper';\nimport Fade from '@mui/material/Fade';\nimport Paper from '@mui/material/Paper';\n\nimport IconCopy from '@mui/icons-material/FileCopy';\nimport { FaFileExport as IconExport } from 'react-icons/fa';\nimport IconCancel from '@mui/icons-material/Cancel';\nimport { I18n, Utils } from '@iobroker/adapter-react-v5';\n\nconst styles = theme => ({\n textArea: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n },\n textAreaLight: {\n background: 'lightgray',\n },\n dialog: {\n height: '95%',\n },\n typography: {\n padding: theme.spacing(2),\n },\n overflowY: {\n overflowY: 'hidden',\n },\n});\n\nclass DialogExport extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: null,\n popper: '',\n };\n }\n\n handleCancel() {\n this.props.onClose();\n }\n\n onCopy(event) {\n Utils.copyToClipboard(this.props.text);\n const anchorEl = event.currentTarget;\n\n setTimeout(() => {\n this.setState({ popper: I18n.t('Copied'), anchorEl });\n setTimeout(() => this.setState({ popper: '', anchorEl: null }), 1000);\n }, 50);\n }\n\n render() {\n const classes = this.props.classes;\n const file = new Blob([this.props.text], {type: 'application/xml'});\n const fileName = this.props.scriptId.substring('scripts.js'.length) + '.xml';\n\n return false}\n maxWidth=\"lg\"\n classes={{ paper: classes.dialog }}\n fullWidth\n open={this.props.open}\n aria-labelledby=\"export-dialog-title\"\n >\n {I18n.t('Export selected blocks')}\n \n {this.props.text}\n \n \n \n \n \n\n \n {({ TransitionProps }) => (\n \n \n

{this.state.popper}

\n
\n
\n )}\n \n