diff --git a/README.md b/README.md index 8445ed31b..62eaf8992 100644 --- a/README.md +++ b/README.md @@ -35,9 +35,15 @@ And then call "npm run build". - ... ## Changelog +### 4.6.14 (2020-05-19) +* (bluefox) IDs with dot are not allowed any more +* (bluefox) "schedule" name is not allowed for CRON +* (bluefox) Convert strings to Date by formatDate + ### 4.6.13 (2020-05-19) * (bluefox) Fixed blockly blocks because of deprecated functions -* (bluefox) Corrected schedule wizard +* (bluefox) Corrected schedule wizard +* (AlCazone) Update monaco editor ### 4.6.4 (2020-05-15) * (bluefox) Corrected block: request, exec diff --git a/admin/asset-manifest.json b/admin/asset-manifest.json index 695ada24d..9b7c01ef7 100644 --- a/admin/asset-manifest.json +++ b/admin/asset-manifest.json @@ -1,20 +1,20 @@ { "files": { "main.css": "/static/css/main.ec63fb86.chunk.css", - "main.js": "/static/js/main.3fbbcb42.chunk.js", - "main.js.map": "/static/js/main.3fbbcb42.chunk.js.map", + "main.js": "/static/js/main.05429a24.chunk.js", + "main.js.map": "/static/js/main.05429a24.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.a500de04.js", "runtime-main.js.map": "/static/js/runtime-main.a500de04.js.map", "static/css/2.93e5c0a0.chunk.css": "/static/css/2.93e5c0a0.chunk.css", "static/js/2.38f4fe4b.chunk.js": "/static/js/2.38f4fe4b.chunk.js", "static/js/2.38f4fe4b.chunk.js.map": "/static/js/2.38f4fe4b.chunk.js.map", "index.html": "/index.html", - "precache-manifest.a6a00a007a677c1af992af2a8e446a2e.js": "/precache-manifest.a6a00a007a677c1af992af2a8e446a2e.js", + "precache-manifest.6e4a5f684da66cec91f6502115d3ea88.js": "/precache-manifest.6e4a5f684da66cec91f6502115d3ea88.js", "service-worker.js": "/service-worker.js", "static/css/2.93e5c0a0.chunk.css.map": "/static/css/2.93e5c0a0.chunk.css.map", "static/css/main.ec63fb86.chunk.css.map": "/static/css/main.ec63fb86.chunk.css.map", "static/js/2.38f4fe4b.chunk.js.LICENSE.txt": "/static/js/2.38f4fe4b.chunk.js.LICENSE.txt", - "static/js/main.3fbbcb42.chunk.js.LICENSE.txt": "/static/js/main.3fbbcb42.chunk.js.LICENSE.txt", + "static/js/main.05429a24.chunk.js.LICENSE.txt": "/static/js/main.05429a24.chunk.js.LICENSE.txt", "static/media/copy-content.svg": "/static/media/copy-content.6fe0b363.svg" }, "entrypoints": [ @@ -22,6 +22,6 @@ "static/css/2.93e5c0a0.chunk.css", "static/js/2.38f4fe4b.chunk.js", "static/css/main.ec63fb86.chunk.css", - "static/js/main.3fbbcb42.chunk.js" + "static/js/main.05429a24.chunk.js" ] } \ No newline at end of file diff --git a/admin/google-blockly/own/blocks_trigger.js b/admin/google-blockly/own/blocks_trigger.js index 77f7eb5b9..52b98b9ee 100644 --- a/admin/google-blockly/own/blocks_trigger.js +++ b/admin/google-blockly/own/blocks_trigger.js @@ -572,7 +572,7 @@ Blockly.Trigger.findLegalName = function(name, block) { // Collision with another procedure. var r = name.match(/^(.*?)(\d+)$/); if (!r) { - name += '2'; + name += '1'; } else { name = r[1] + (parseInt(r[2], 10) + 1); } @@ -591,6 +591,10 @@ Blockly.Trigger.findLegalName = function(name, block) { * @private */ Blockly.Trigger.isLegalName_ = function(name, workspace, opt_exclude) { + if (name === 'schedule') { + return false; + } + var blocks = workspace.getAllBlocks(); // Iterate through every block and check the name. for (var i = 0; i < blocks.length; i++) { @@ -673,7 +677,7 @@ Blockly.Trigger.getAllSchedules = function (workspace) { } } - // BF(2020.05.16) : for back compatibility. Remove it after 5 years + // BF(2020.05.16): for back compatibility. Remove it after 5 years if (window.scripts.loading) { var variables = workspace.getVariablesOfType(''); variables.forEach(v => !result.find(it => it[0] === v.name) && result.push([v.name, v.name])); diff --git a/admin/precache-manifest.a6a00a007a677c1af992af2a8e446a2e.js b/admin/precache-manifest.6e4a5f684da66cec91f6502115d3ea88.js similarity index 75% rename from admin/precache-manifest.a6a00a007a677c1af992af2a8e446a2e.js rename to admin/precache-manifest.6e4a5f684da66cec91f6502115d3ea88.js index 497722efa..abbc899f8 100644 --- a/admin/precache-manifest.a6a00a007a677c1af992af2a8e446a2e.js +++ b/admin/precache-manifest.6e4a5f684da66cec91f6502115d3ea88.js @@ -1,6 +1,6 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ { - "revision": "5e6a0c6149cca62663b39af8ea7786b4", + "revision": "4e937f5f5188cb73fb034989b4c27fd9", "url": "/index.html" }, { @@ -8,7 +8,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/2.93e5c0a0.chunk.css" }, { - "revision": "23de946e83f0a313d1c6", + "revision": "4b64650e7e451ac1b3c2", "url": "/static/css/main.ec63fb86.chunk.css" }, { @@ -20,12 +20,12 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/2.38f4fe4b.chunk.js.LICENSE.txt" }, { - "revision": "23de946e83f0a313d1c6", - "url": "/static/js/main.3fbbcb42.chunk.js" + "revision": "4b64650e7e451ac1b3c2", + "url": "/static/js/main.05429a24.chunk.js" }, { "revision": "578fa69920ac4a551e6d340a37256bed", - "url": "/static/js/main.3fbbcb42.chunk.js.LICENSE.txt" + "url": "/static/js/main.05429a24.chunk.js.LICENSE.txt" }, { "revision": "b29e1786341933b579da", diff --git a/admin/service-worker.js b/admin/service-worker.js index 2de397022..3361fc002 100644 --- a/admin/service-worker.js +++ b/admin/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/precache-manifest.a6a00a007a677c1af992af2a8e446a2e.js" + "/precache-manifest.6e4a5f684da66cec91f6502115d3ea88.js" ); self.addEventListener('message', (event) => { diff --git a/admin/static/js/main.05429a24.chunk.js b/admin/static/js/main.05429a24.chunk.js new file mode 100644 index 000000000..e1beb79dd --- /dev/null +++ b/admin/static/js/main.05429a24.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see main.05429a24.chunk.js.LICENSE.txt */ +(this.webpackJsonpjs=this.webpackJsonpjs||[]).push([[0],{105:function(e,t){e.exports="data:image/png;base64,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"},106:function(e,t){e.exports="data:image/png;base64,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"},131:function(e){e.exports=JSON.parse('{"a":"4.6.13"}')},164:function(e,t){e.exports="data:image/png;base64,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"},165:function(e,t){e.exports="data:image/png;base64,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"},166:function(e,t){e.exports="data:image/png;base64,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"},169:function(e,t){e.exports="data:image/png;base64,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"},196:function(e,t,s){e.exports=s(254)},204:function(e,t,s){},243:function(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.":"Instantly convert blockly to Javascript.","Copy script":"Copy script","Copy to clipboard":"Copy to clipboard","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.","sc_cron":"CRON","sc_date":"Date","sc_dates":"Dates","sc_dows":"Day of week","sc_every":"Every","sc_everyN_dates":"every N days","sc_everyN_dows":"every N day of week","sc_everyN_hours":"every N hours","sc_everyN_minutes":"every N minutes","sc_everyN_months":"every N months","sc_everyN_seconds":"every N seconds","sc_every_dates":"every day","sc_every_dows":"every day of the week","sc_every_hours":"every hour","sc_every_minutes":"every minute","sc_every_months":"every month","sc_every_seconds":"every second","sc_from":"From","sc_hours":"Hours","sc_interval":"Interval","sc_intervalBetween":"Interval between","sc_minutes":"Minutes","sc_months":"months","sc_once":"Once","sc_period":"Period","sc_seconds":"Seconds","sc_simple":"Simple","sc_specific":"Specific time","sc_specific_dates":"specific dates","sc_specific_dows":"specific day of weeks","sc_specific_hours":"specific hours","sc_specific_minutes":"specific minutes","sc_specific_months":"specific months","sc_specific_seconds":"specific seconds","sc_time":"Time","sc_to":"To","sc_wizard":"Wizard","sch_all":"all","sch_astroDay":"Astro day","sch_astroNight":"Astro night","sch_astro_dawn":"Dawn","sch_astro_dusk":"Dusk","sch_astro_goldenHour":"Golden hour","sch_astro_goldenHourEnd":"Golden hour end","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Nautical dawn","sch_astro_nauticalDusk":"Nautical dusk","sch_astro_night":"Night","sch_astro_nightEnd":"Night end","sch_astro_solarNoon":"Solar noon","sch_astro_sunrise":"Sunrise","sch_astro_sunriseEnd":"Sunrise end","sch_astro_sunset":"Sunset","sch_astro_sunsetStart":"Sunset start","sch_at":"at","sch_desc_atTime":"at %s","sch_desc_everyDay":"every day","sch_desc_everyHour":"every hour","sch_desc_everyMinute":"every minute","sch_desc_everyMonth":"every month","sch_desc_everyNDay":"every %s day","sch_desc_everyNHours":"every %s hours","sch_desc_everyNMinutes":"every %s minutes","sch_desc_everyNMonths":"every %s months","sch_desc_everyNWeeks":"every %s weeks","sch_desc_everyNYears":"every %s years","sch_desc_everyWeek":"every week","sch_desc_everyYear":"every year","sch_desc_intervalFromTo":"from %s to %s","sch_desc_never":"never","sch_desc_onDate":"on %s of %s","sch_desc_onDates":"on %s and %s of","sch_desc_onEveryDate":"on every date of","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s and %s","sch_desc_onWeekday":"on %s","sch_desc_onWeekdays":"on %s and %s","sch_desc_onWeekends":"on weekends","sch_desc_onWorkdays":"on working days","sch_desc_onceInPast":"will ne be not executed any more, because start is in the past","sch_desc_once_on":"on %s","sch_desc_validFrom":"from %s","sch_desc_validFromTo":"Execute from to","sch_desc_validTo":"to %s","sch_every":"every","sch_exactTime":"Specific time","sch_from":"from","sch_fromTo":"From-to","sch_intervalTime":"Interval time","sch_invert":"invert","sch_no_one":"none","sch_on":"on","sch_period":"Period","sch_periodDaily":"Daily","sch_periodDates":"Dates","sch_periodDay":"Day","sch_periodEvery":"Every","sch_periodEveryDay":"Every day","sch_periodEveryMonth":"Every month","sch_periodEveryWeek":"Every week","sch_periodEveryYear":"Every year","sch_periodHours":"Hours","sch_periodMinutes":"Minutes","sch_periodMonth":"month","sch_periodMonthly":"Monthly","sch_periodOnce":"Once","sch_periodSpecificMonths":"Specific months","sch_periodWeek":"Week","sch_periodWeekdays":"Weekdays","sch_periodWeekend":"Weekend","sch_periodWeekly":"Weekly","sch_periodWorkdays":"Workdays","sch_periodYear":"Year","sch_periodYearly":"Yearly","sch_specificTime":"Specific time","sch_time":"Time","sch_to":"to","sch_valid":"Valid","sch_validFrom":"from","sch_validTo":"to","sch_wholeDay":"Whole day","sch_yearEveryMonth":"every month","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"}')},244:function(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?":"Sind Sie 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 sind drin!","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 Javascript adapter l\xe4uft nicht.","Clear search input":"Sucheingabe l\xf6schen","Click on this icon":"Klicken Sie auf dieses Symbol","Close":"Schlie\xdfen","Close all but current":"Schlie\xdfen Sie alle au\xdfer aktuell","Collapse all":"Alles einklappen","Configuration not saved.":"Konfiguration nicht gespeichert","Convert blockly to javascript for ever.":"Blockly in Javascript f\xfcr immer konvertieren.","Copy script":"Skript kopieren","Copy to clipboard":"In die Zwischenablage kopieren","Create new":"Erstelle neu","Create new folder":"Neuen Ordner erstellen","Create new script":"Neues Skript erstellen","Create or edit CRON or time wizard":"Erstellen oder bearbeiten Sie den CRON- oder Zeit-Assistenten","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":"Verzeichnis l\xf6schen","Delete script":"Skript l\xf6schen","Deselect all":"Alle abw\xe4hlen","Discard changes for %s":"verwerfen Sie die \xc4nderungen f\xfcr %s","Done":"Erledigt","Drop some files here or click...":"Legen Sie einige Dateien hier ab oder klicken Sie ...","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":"Exportieren Sie alle Skripte","Export blocks":"Bl\xf6cke exportieren","Export selected blocks":"Ausgew\xe4hlte Bl\xf6cke exportieren","February":"Februar","Folder":"Mappe","Friday":"Freitag","Function editor":"Funktion-Editor","ID":"ID","Import":"Importieren","Import blocks":"Bl\xf6cke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripts 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, indem Sie Javascript schreiben","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":"Menu","Message":"Meldung","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...":"Bitte 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":"W\xe4hlen Sie Alle","September":"September","Show javascript code":"Javascript-Code anzeigen","Show only paused scripts":"Nur angehaltene Skripte anzeigen","Show only running scripts":"Nur laufende Skripte anzeigen","Show only scripts with problems":"Zeige nur Skripte mit Problemen","Some files will be rejected":"Einige Dateien werden abgelehnt","Sunday":"Sonntag","TS description":"Regeln erstellen, indem Sie Typescript schreiben","Thursday":"Donnerstag","Tuesday":"Dienstag","Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","Wednesday":"Mittwoch","Yet exists!":"Existiert doch!","copy":"Kopieren","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":"Zimmer","for edit or create script":"zum Bearbeiten oder Erstellen Sie ein neues Skript","no blocks found":"Keine Bl\xf6cke gefunden","no group":"KEINE GRUPPE","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.","sc_cron":"CRON","sc_date":"Datum","sc_dates":"Tage","sc_dows":"Wochentage","sc_every":"Jeden","sc_everyN_dates":"alle N Tage","sc_everyN_dows":"alle N Wochentage","sc_everyN_hours":"alle N Stunden","sc_everyN_minutes":"alle N Minuten","sc_everyN_months":"alle N Monate","sc_everyN_seconds":"alle N Sekunden","sc_every_dates":"jeden Tag","sc_every_dows":"jeden tag der woche","sc_every_hours":"jede Stunde","sc_every_minutes":"jede Minute","sc_every_months":"jeden Monat","sc_every_seconds":"jede Sekunde","sc_from":"Von","sc_hours":"Stunden","sc_interval":"Intervall","sc_intervalBetween":"Intervall zwischen","sc_minutes":"Minuten","sc_months":"Monate","sc_once":"Einmal","sc_period":"Zeitraum","sc_seconds":"Sekunden","sc_simple":"Einfach","sc_specific":"Bestimmte Zeit","sc_specific_dates":"bestimmte Tage","sc_specific_dows":"bestimmten Wochentag","sc_specific_hours":"bestimmte Stunden","sc_specific_minutes":"bestimmte Minuten","sc_specific_months":"bestimmte Monate","sc_specific_seconds":"bestimmte Sekunden","sc_time":"Zeit","sc_to":"Bis","sc_wizard":"Wizard","sch_all":"alle","sch_astroDay":"Tag","sch_astroNight":"Nachts","sch_astro_dawn":"Morgend\xe4mmerung","sch_astro_dusk":"Abendd\xe4mmerung","sch_astro_goldenHour":"Goldene Stunde","sch_astro_goldenHourEnd":"Goldenes Stundenende","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Nautische Morgend\xe4mmerung","sch_astro_nauticalDusk":"Nautische Abendd\xe4mmerung","sch_astro_night":"Nacht","sch_astro_nightEnd":"Nachtsende","sch_astro_solarNoon":"Sonnenmittag","sch_astro_sunrise":"Sonnenaufgang","sch_astro_sunriseEnd":"Sonnenaufgangende","sch_astro_sunset":"Sonnenuntergang","sch_astro_sunsetStart":"Sonnenuntergangstart","sch_at":"am","sch_desc_atTime":"um %s","sch_desc_everyDay":"jeden Tag","sch_desc_everyHour":"jede Stunde","sch_desc_everyMinute":"jede Minute","sch_desc_everyMonth":"jeden Monat","sch_desc_everyNDay":"jeden %s Tag","sch_desc_everyNHours":"alle %s Stunden","sch_desc_everyNMinutes":"alle %s Minuten","sch_desc_everyNMonths":"alle %s Monate","sch_desc_everyNWeeks":"alle %s Wochen","sch_desc_everyNYears":"alle %s Jahre","sch_desc_everyWeek":"jede Woche","sch_desc_everyYear":"jedes Jahr","sch_desc_intervalFromTo":"von %s bis %s","sch_desc_never":"noch nie","sch_desc_onDate":"am %s von %s","sch_desc_onDates":"am %s und %s von","sch_desc_onEveryDate":"an jedem Datum von","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s und %s","sch_desc_onWeekday":"auf %s","sch_desc_onWeekdays":"auf %s und %s","sch_desc_onWeekends":"an Wochenenden","sch_desc_onWorkdays":"an Werktagen","sch_desc_onceInPast":"wird ne nicht mehr ausgef\xfchrt, weil start in der vergangenheit ist","sch_desc_once_on":"auf %s","sch_desc_validFrom":"von %s","sch_desc_validFromTo":"Ausf\xfchren von bis","sch_desc_validTo":"bis %s","sch_every":"jeden","sch_exactTime":"Bestimmte Zeit","sch_from":"von","sch_fromTo":"Von bis","sch_intervalTime":"Zeitintervall","sch_invert":"umkehren","sch_no_one":"keiner","sch_on":"am","sch_period":"Zeitraum","sch_periodDaily":"T\xe4glich","sch_periodDates":"Daten","sch_periodDay":"Tag","sch_periodEvery":"Jeden","sch_periodEveryDay":"Jeden Tag","sch_periodEveryMonth":"Jeden Monat","sch_periodEveryWeek":"Jede Woche","sch_periodEveryYear":"Jedes Jahr","sch_periodHours":"Std","sch_periodMinutes":"Protokoll","sch_periodMonth":"Monat","sch_periodMonthly":"Monatlich","sch_periodOnce":"Einmal","sch_periodSpecificMonths":"Bestimmte Monate","sch_periodWeek":"Woche","sch_periodWeekdays":"Wochentage","sch_periodWeekend":"Wochenende","sch_periodWeekly":"W\xf6chentlich","sch_periodWorkdays":"Arbeitstage","sch_periodYear":"Jahr","sch_periodYearly":"J\xe4hrlich","sch_specificTime":"Bestimmte Zeit","sch_time":"Zeit","sch_to":"zu","sch_valid":"G\xfcltigkeit","sch_validFrom":"von","sch_validTo":"bis","sch_wholeDay":"Ganzer Tag","sch_yearEveryMonth":"jeden Monat","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"}')},245:function(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","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.","sc_cron":"CRON","sc_date":"Fecha","sc_dates":"fechas","sc_dows":"D\xeda de la semana","sc_every":"Cada","sc_everyN_dates":"cada N d\xedas","sc_everyN_dows":"cada N d\xeda de la semana","sc_everyN_hours":"cada N horas","sc_everyN_minutes":"cada N minutos","sc_everyN_months":"cada N meses","sc_everyN_seconds":"cada N segundos","sc_every_dates":"cada d\xeda","sc_every_dows":"Cada d\xeda de la semana","sc_every_hours":"cada hora","sc_every_minutes":"cada minuto","sc_every_months":"cada mes","sc_every_seconds":"cada segundo","sc_from":"De","sc_hours":"Horas","sc_interval":"Intervalo","sc_intervalBetween":"Intervalo entre","sc_minutes":"Minutos","sc_months":"meses","sc_once":"Una vez","sc_period":"Per\xedodo","sc_seconds":"Segundos","sc_simple":"Sencillo","sc_specific":"Tiempo espec\xedfico","sc_specific_dates":"fechas especificas","sc_specific_dows":"d\xeda espec\xedfico de semanas","sc_specific_hours":"horas espec\xedficas","sc_specific_minutes":"minutos espec\xedficos","sc_specific_months":"meses espec\xedficos","sc_specific_seconds":"segundos espec\xedficos","sc_time":"Hora","sc_to":"A","sc_wizard":"Mago","sch_all":"todas","sch_astroDay":"D\xeda astro","sch_astroNight":"Noche astro","sch_astro_dawn":"Amanecer","sch_astro_dusk":"Oscuridad","sch_astro_goldenHour":"hora dorada","sch_astro_goldenHourEnd":"Fin de la hora dorada","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Amanecer n\xe1utico","sch_astro_nauticalDusk":"Anochecer n\xe1utico","sch_astro_night":"Noche","sch_astro_nightEnd":"Fin de la noche","sch_astro_solarNoon":"Mediod\xeda solar","sch_astro_sunrise":"amanecer","sch_astro_sunriseEnd":"Fin del amanecer","sch_astro_sunset":"Puesta de sol","sch_astro_sunsetStart":"Puesta de sol","sch_at":"a","sch_desc_atTime":"en %s","sch_desc_everyDay":"cada d\xeda","sch_desc_everyHour":"cada hora","sch_desc_everyMinute":"cada minuto","sch_desc_everyMonth":"cada mes","sch_desc_everyNDay":"cada %s d\xedas","sch_desc_everyNHours":"cada %s horas","sch_desc_everyNMinutes":"cada %s minutos","sch_desc_everyNMonths":"cada %s meses","sch_desc_everyNWeeks":"cada %s semanas","sch_desc_everyNYears":"cada %s a\xf1os","sch_desc_everyWeek":"cada semana","sch_desc_everyYear":"todos los a\xf1os","sch_desc_intervalFromTo":"de %s a %s","sch_desc_never":"Nunca","sch_desc_onDate":"en %s de %s","sch_desc_onDates":"en %s y %s de","sch_desc_onEveryDate":"en cada fecha de","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s y %s","sch_desc_onWeekday":"en %s","sch_desc_onWeekdays":"en %s y %s","sch_desc_onWeekends":"en los fines de semana","sch_desc_onWorkdays":"en d\xedas laborables","sch_desc_onceInPast":"ya no se ejecutar\xe1 m\xe1s, porque el inicio est\xe1 en el pasado","sch_desc_once_on":"en %s","sch_desc_validFrom":"de %s","sch_desc_validFromTo":"Ejecutar desde hasta","sch_desc_validTo":"a %s","sch_every":"cada","sch_exactTime":"Tiempo espec\xedfico","sch_from":"de","sch_fromTo":"De-a","sch_intervalTime":"Tiempo de intervalo","sch_invert":"invertir; poner boca abajo o en la posici\xf3n opuesta, orden o arreglo; Boca abajo","sch_no_one":"ninguna","sch_on":"en","sch_period":"Per\xedodo","sch_periodDaily":"Diario","sch_periodDates":"fechas","sch_periodDay":"D\xeda","sch_periodEvery":"Cada","sch_periodEveryDay":"Cada d\xeda","sch_periodEveryMonth":"Cada mes","sch_periodEveryWeek":"Cada semana","sch_periodEveryYear":"Todos los a\xf1os","sch_periodHours":"Horas","sch_periodMinutes":"Minutos","sch_periodMonth":"mes","sch_periodMonthly":"Mensual","sch_periodOnce":"Una vez","sch_periodSpecificMonths":"Meses espec\xedficos","sch_periodWeek":"Semana","sch_periodWeekdays":"D\xedas laborables","sch_periodWeekend":"Fin de semana","sch_periodWeekly":"Semanal","sch_periodWorkdays":"D\xedas laborables","sch_periodYear":"A\xf1o","sch_periodYearly":"Anual","sch_specificTime":"Tiempo espec\xedfico","sch_time":"Hora","sch_to":"a","sch_valid":"V\xe1lido","sch_validFrom":"de","sch_validTo":"a","sch_wholeDay":"Todo el dia","sch_yearEveryMonth":"cada mes","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"}')},246:function(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","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.","sc_cron":"CRON","sc_date":"Date","sc_dates":"Rendez-vous","sc_dows":"Jour de la semaine","sc_every":"Chaque","sc_everyN_dates":"tous les N jours","sc_everyN_dows":"tous les N jours de la semaine","sc_everyN_hours":"toutes les N heures","sc_everyN_minutes":"toutes les N minutes","sc_everyN_months":"tous les N mois","sc_everyN_seconds":"toutes les N secondes","sc_every_dates":"tous les jours","sc_every_dows":"Chaque jour de la semaine","sc_every_hours":"Toutes les heures","sc_every_minutes":"chaque minute","sc_every_months":"chaque mois","sc_every_seconds":"chaque seconde","sc_from":"De","sc_hours":"Heures","sc_interval":"Intervalle","sc_intervalBetween":"Intervalle entre","sc_minutes":"Minutes","sc_months":"mois","sc_once":"Une fois que","sc_period":"P\xe9riode","sc_seconds":"Secondes","sc_simple":"Facile","sc_specific":"Temps sp\xe9cifique","sc_specific_dates":"dates sp\xe9cifiques","sc_specific_dows":"jour sp\xe9cifique de semaines","sc_specific_hours":"heures sp\xe9cifiques","sc_specific_minutes":"minutes sp\xe9cifiques","sc_specific_months":"mois sp\xe9cifiques","sc_specific_seconds":"secondes sp\xe9cifiques","sc_time":"Temps","sc_to":"\xc0","sc_wizard":"sorcier","sch_all":"tout","sch_astroDay":"Journ\xe9e astronomique","sch_astroNight":"Nuit astronomique","sch_astro_dawn":"Aube","sch_astro_dusk":"Cr\xe9puscule","sch_astro_goldenHour":"Heure d\'or","sch_astro_goldenHourEnd":"Fin de l\'heure d\'or","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Aube nautique","sch_astro_nauticalDusk":"Cr\xe9puscule nautique","sch_astro_night":"Nuit","sch_astro_nightEnd":"Fin de nuit","sch_astro_solarNoon":"Midi solaire","sch_astro_sunrise":"lever du soleil","sch_astro_sunriseEnd":"Fin du lever du soleil","sch_astro_sunset":"Le coucher du soleil","sch_astro_sunsetStart":"Coucher du soleil","sch_at":"\xe0","sch_desc_atTime":"\xe0 %s","sch_desc_everyDay":"tous les jours","sch_desc_everyHour":"Toutes les heures","sch_desc_everyMinute":"chaque minute","sch_desc_everyMonth":"chaque mois","sch_desc_everyNDay":"chaque %s jour","sch_desc_everyNHours":"chaque %s heures","sch_desc_everyNMinutes":"toutes les %s minutes","sch_desc_everyNMonths":"tous les %s mois","sch_desc_everyNWeeks":"chaque %s semaines","sch_desc_everyNYears":"tous les %s ans","sch_desc_everyWeek":"toutes les semaines","sch_desc_everyYear":"chaque ann\xe9e","sch_desc_intervalFromTo":"de %s \xe0 %s","sch_desc_never":"jamais","sch_desc_onDate":"sur %s de %s","sch_desc_onDates":"sur %s et %s de","sch_desc_onEveryDate":"\xe0 chaque date de","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s et %s","sch_desc_onWeekday":"sur %s","sch_desc_onWeekdays":"sur %s et %s","sch_desc_onWeekends":"les weekends","sch_desc_onWorkdays":"les jours ouvrables","sch_desc_onceInPast":"ne sera plus ex\xe9cut\xe9, car start est dans le pass\xe9","sch_desc_once_on":"sur %s","sch_desc_validFrom":"de %s","sch_desc_validFromTo":"Ex\xe9cuter de \xe0","sch_desc_validTo":"\xe0 %s","sch_every":"chaque","sch_exactTime":"Temps sp\xe9cifique","sch_from":"de","sch_fromTo":"De \xe0","sch_intervalTime":"Temps d\'interval","sch_invert":"inverser","sch_no_one":"aucun","sch_on":"sur","sch_period":"P\xe9riode","sch_periodDaily":"du quotidien","sch_periodDates":"Rendez-vous","sch_periodDay":"journ\xe9e","sch_periodEvery":"Chaque","sch_periodEveryDay":"Tous les jours","sch_periodEveryMonth":"Chaque mois","sch_periodEveryWeek":"Toutes les semaines","sch_periodEveryYear":"Chaque ann\xe9e","sch_periodHours":"Heures","sch_periodMinutes":"Minutes","sch_periodMonth":"mois","sch_periodMonthly":"Mensuel","sch_periodOnce":"Une fois que","sch_periodSpecificMonths":"Mois sp\xe9cifiques","sch_periodWeek":"La semaine","sch_periodWeekdays":"Jours de la semaine","sch_periodWeekend":"Weekend","sch_periodWeekly":"Hebdomadaire","sch_periodWorkdays":"Jours ouvrables","sch_periodYear":"Ann\xe9e","sch_periodYearly":"Annuel","sch_specificTime":"Temps sp\xe9cifique","sch_time":"Temps","sch_to":"\xe0","sch_valid":"Valide","sch_validFrom":"de","sch_validTo":"\xe0","sch_wholeDay":"Toute la journ\xe9e","sch_yearEveryMonth":"chaque mois","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"}')},247:function(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","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.","sc_cron":"CRON","sc_date":"Data","sc_dates":"Date","sc_dows":"Giorno della settimana","sc_every":"Ogni","sc_everyN_dates":"ogni N giorni","sc_everyN_dows":"ogni N giorno della settimana","sc_everyN_hours":"ogni N ore","sc_everyN_minutes":"ogni N minuti","sc_everyN_months":"ogni N mesi","sc_everyN_seconds":"ogni N secondi","sc_every_dates":"ogni giorno","sc_every_dows":"Tutti i giorni della settimana","sc_every_hours":"ogni ora","sc_every_minutes":"ogni minuto","sc_every_months":"ogni mese","sc_every_seconds":"ogni secondo","sc_from":"A partire dal","sc_hours":"Ore","sc_interval":"Intervallo","sc_intervalBetween":"Intervallo tra","sc_minutes":"Minuti","sc_months":"mesi","sc_once":"Una volta","sc_period":"Periodo","sc_seconds":"secondi","sc_simple":"Semplice","sc_specific":"Orario preciso","sc_specific_dates":"date specifiche","sc_specific_dows":"giorno specifico delle settimane","sc_specific_hours":"orari specifici","sc_specific_minutes":"minuti specifici","sc_specific_months":"mesi specifici","sc_specific_seconds":"secondi specifici","sc_time":"Tempo","sc_to":"Per","sc_wizard":"procedura guidata","sch_all":"tutti","sch_astroDay":"Astro day","sch_astroNight":"Astro night","sch_astro_dawn":"Alba","sch_astro_dusk":"Crepuscolo","sch_astro_goldenHour":"Ora d\'oro","sch_astro_goldenHourEnd":"Fine dell\'ora d\'oro","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Alba nautica","sch_astro_nauticalDusk":"Crepuscolo nautico","sch_astro_night":"Notte","sch_astro_nightEnd":"Fine della notte","sch_astro_solarNoon":"Mezzogiorno solare","sch_astro_sunrise":"Alba","sch_astro_sunriseEnd":"Fine dell\'alba","sch_astro_sunset":"Tramonto","sch_astro_sunsetStart":"Inizio del tramonto","sch_at":"a","sch_desc_atTime":"a %s","sch_desc_everyDay":"ogni giorno","sch_desc_everyHour":"ogni ora","sch_desc_everyMinute":"ogni minuto","sch_desc_everyMonth":"ogni mese","sch_desc_everyNDay":"ogni %s giorno","sch_desc_everyNHours":"ogni %s ore","sch_desc_everyNMinutes":"ogni %s minuti","sch_desc_everyNMonths":"ogni %s mesi","sch_desc_everyNWeeks":"ogni %s settimane","sch_desc_everyNYears":"ogni %s anni","sch_desc_everyWeek":"ogni settimana","sch_desc_everyYear":"ogni anno","sch_desc_intervalFromTo":"da %s a %s","sch_desc_never":"mai","sch_desc_onDate":"su %s di %s","sch_desc_onDates":"su %s e %s di","sch_desc_onEveryDate":"in ogni data di","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s e %s","sch_desc_onWeekday":"su %s","sch_desc_onWeekdays":"su %s e %s","sch_desc_onWeekends":"nei finesettimana","sch_desc_onWorkdays":"nei giorni lavorativi","sch_desc_onceInPast":"non verr\xe0 pi\xf9 eseguito, perch\xe9 start \xe8 nel passato","sch_desc_once_on":"su %s","sch_desc_validFrom":"da %s","sch_desc_validFromTo":"Eseguire da a","sch_desc_validTo":"a %s","sch_every":"ogni","sch_exactTime":"Orario preciso","sch_from":"a partire dal","sch_fromTo":"Da A","sch_intervalTime":"Intervallo di tempo","sch_invert":"invertire","sch_no_one":"nessuna","sch_on":"sopra","sch_period":"Periodo","sch_periodDaily":"Quotidiano","sch_periodDates":"Date","sch_periodDay":"Giorno","sch_periodEvery":"Ogni","sch_periodEveryDay":"Ogni giorno","sch_periodEveryMonth":"Ogni mese","sch_periodEveryWeek":"Ogni settimana","sch_periodEveryYear":"Ogni anno","sch_periodHours":"Ore","sch_periodMinutes":"Minuti","sch_periodMonth":"mese","sch_periodMonthly":"Mensile","sch_periodOnce":"Una volta","sch_periodSpecificMonths":"Mesi specifici","sch_periodWeek":"Settimana","sch_periodWeekdays":"Giorni della settimana","sch_periodWeekend":"Fine settimana","sch_periodWeekly":"settimanalmente","sch_periodWorkdays":"giorni feriali","sch_periodYear":"Anno","sch_periodYearly":"Annuale","sch_specificTime":"Orario preciso","sch_time":"Tempo","sch_to":"per","sch_valid":"Valido","sch_validFrom":"a partire dal","sch_validTo":"per","sch_wholeDay":"Giorno intero","sch_yearEveryMonth":"ogni mese","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"}')},248:function(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","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.","sc_cron":"CRON","sc_date":"Datum","sc_dates":"data","sc_dows":"Dag van de week","sc_every":"elk","sc_everyN_dates":"elke N dagen","sc_everyN_dows":"elke N dag van de week","sc_everyN_hours":"elke N uur","sc_everyN_minutes":"elke N minuten","sc_everyN_months":"elke N maanden","sc_everyN_seconds":"elke N seconden","sc_every_dates":"elke dag","sc_every_dows":"elke dag van de week","sc_every_hours":"elk uur","sc_every_minutes":"elke minuut","sc_every_months":"elke maand","sc_every_seconds":"elke seconde","sc_from":"Van","sc_hours":"uren","sc_interval":"Interval","sc_intervalBetween":"Interval tussen","sc_minutes":"Notulen","sc_months":"maanden","sc_once":"Een keer","sc_period":"Periode","sc_seconds":"seconden","sc_simple":"Gemakkelijk","sc_specific":"Specifieke tijd","sc_specific_dates":"specifieke data","sc_specific_dows":"specifieke dag van weken","sc_specific_hours":"specifieke uren","sc_specific_minutes":"specifieke minuten","sc_specific_months":"specifieke maanden","sc_specific_seconds":"specifieke seconden","sc_time":"Tijd","sc_to":"Naar","sc_wizard":"tovenaar","sch_all":"allemaal","sch_astroDay":"Astro-dag","sch_astroNight":"Astro-nacht","sch_astro_dawn":"Dageraad","sch_astro_dusk":"Schemer","sch_astro_goldenHour":"gouden uur","sch_astro_goldenHourEnd":"Gouden uur einde","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Nautische dageraad","sch_astro_nauticalDusk":"Nautische schemering","sch_astro_night":"Nacht","sch_astro_nightEnd":"Nacht einde","sch_astro_solarNoon":"Zonne middag","sch_astro_sunrise":"zonsopkomst","sch_astro_sunriseEnd":"Sunrise einde","sch_astro_sunset":"Zonsondergang","sch_astro_sunsetStart":"Zonsondergang start","sch_at":"Bij","sch_desc_atTime":"op %s","sch_desc_everyDay":"elke dag","sch_desc_everyHour":"elk uur","sch_desc_everyMinute":"elke minuut","sch_desc_everyMonth":"elke maand","sch_desc_everyNDay":"elke %s dag","sch_desc_everyNHours":"elke %s uur","sch_desc_everyNMinutes":"elke %s minuten","sch_desc_everyNMonths":"elke %s maanden","sch_desc_everyNWeeks":"elke %s weken","sch_desc_everyNYears":"elke %s jaar","sch_desc_everyWeek":"elke week","sch_desc_everyYear":"elk jaar","sch_desc_intervalFromTo":"van %s tot %s","sch_desc_never":"nooit","sch_desc_onDate":"op %s van %s","sch_desc_onDates":"op %s en %s van","sch_desc_onEveryDate":"op elke datum van","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s en %s","sch_desc_onWeekday":"op %s","sch_desc_onWeekdays":"op %s en %s","sch_desc_onWeekends":"in het weekend","sch_desc_onWorkdays":"op werkdagen","sch_desc_onceInPast":"zal niet meer worden uitgevoerd, omdat start verleden tijd is","sch_desc_once_on":"op %s","sch_desc_validFrom":"van %s","sch_desc_validFromTo":"Uitvoeren van tot","sch_desc_validTo":"tot %s","sch_every":"elk","sch_exactTime":"Specifieke tijd","sch_from":"van","sch_fromTo":"Van naar","sch_intervalTime":"Interval tijd","sch_invert":"omkeren","sch_no_one":"geen","sch_on":"Aan","sch_period":"Periode","sch_periodDaily":"Dagelijks","sch_periodDates":"data","sch_periodDay":"Dag","sch_periodEvery":"elk","sch_periodEveryDay":"Elke dag","sch_periodEveryMonth":"Elke maand","sch_periodEveryWeek":"Elke week","sch_periodEveryYear":"Elk jaar","sch_periodHours":"uren","sch_periodMinutes":"Notulen","sch_periodMonth":"maand","sch_periodMonthly":"Maandelijks","sch_periodOnce":"Een keer","sch_periodSpecificMonths":"Specifieke maanden","sch_periodWeek":"Week","sch_periodWeekdays":"Doordeweekse dagen","sch_periodWeekend":"Weekend","sch_periodWeekly":"Wekelijks","sch_periodWorkdays":"werkdagen","sch_periodYear":"Jaar","sch_periodYearly":"jaar-","sch_specificTime":"Specifieke tijd","sch_time":"Tijd","sch_to":"naar","sch_valid":"Geldig","sch_validFrom":"van","sch_validTo":"naar","sch_wholeDay":"Hele dag","sch_yearEveryMonth":"elke maand","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"}')},249:function(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":"anulowa\u0107","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":"Blisko","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.":"Natychmiastowa konwersja blokowa do Javascript.","Copy script":"Skopiuj skrypt","Copy to clipboard":"Skopiuj do schowka","Create new":"Tworzy\u0107 nowe","Create new folder":"Stw\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":"Usun\u0105\u0107","Delete %s":"Usu\u0144 %s ...","Delete folder":"Usuni\u0119ty folder","Delete script":"Usu\u0144 skrypt","Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzu\u0107 zmiany dla %s","Done":"Gotowy","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":"Teczka","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 przez pisanie 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":"Dane wyj\u015bciowe dziennika","March":"Marsz","May":"Mo\u017ce","Menu":"Menu","Message":"Wiadomo\u015b\u0107","Monday":"poniedzia\u0142ek","Name":"Imi\u0119","No active host found":"Nie znaleziono aktywnego hosta","November":"listopad","October":"pa\u017adziernik","Ok":"Dobrze","On weekdays":"W dni powszednie","Pause script":"Wstrzymaj skrypt","Please select object ID...":"Wybierz identyfikator obiektu ...","Rename":"Przemianowa\u0107","Reorder scripts in folders":"Zmie\u0144 kolejno\u015b\u0107 skrypt\xf3w w folderach","Repeat":"Powtarza\u0107","Restart":"Uruchom ponownie","Root folder":"Folder g\u0142\xf3wny","Run script":"Uruchom skrypt","Saturday":"sobota","Save":"Zapisa\u0107","Script":"Scenariusz","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 przez pisanie maszynopisu","Thursday":"czwartek","Tuesday":"wtorek","Unknown error":"Nieznany b\u0142\u0105d","Unknown error!":"Nieznany b\u0142\u0105d!","Wednesday":"\u015broda","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":"Funkcjonowa\u0107","filter_id":"ID","filter_name":"Imi\u0119","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.","sc_cron":"CRON","sc_date":"Data","sc_dates":"Daktyle","sc_dows":"Dzie\u0144 tygodnia","sc_every":"Ka\u017cdy","sc_everyN_dates":"co N dni","sc_everyN_dows":"co N dnia tygodnia","sc_everyN_hours":"co N godzin","sc_everyN_minutes":"co N minut","sc_everyN_months":"co N miesi\u0119cy","sc_everyN_seconds":"co N sekund","sc_every_dates":"codziennie","sc_every_dows":"ka\u017cdy dzie\u0144 tygodnia","sc_every_hours":"co godzin\u0119","sc_every_minutes":"ka\u017cda minuta","sc_every_months":"ka\u017cdego miesi\u0105ca","sc_every_seconds":"ka\u017cda sekunda","sc_from":"Od","sc_hours":"godziny","sc_interval":"Interwa\u0142","sc_intervalBetween":"Interwa\u0142 mi\u0119dzy","sc_minutes":"Minuty","sc_months":"miesi\u0119cy","sc_once":"Pewnego razu","sc_period":"Kropka","sc_seconds":"sekundy","sc_simple":"Prosty","sc_specific":"Okre\u015blony czas","sc_specific_dates":"konkretne daty","sc_specific_dows":"okre\u015blony dzie\u0144 tygodni","sc_specific_hours":"okre\u015blone godziny","sc_specific_minutes":"okre\u015blone minuty","sc_specific_months":"okre\u015blone miesi\u0105ce","sc_specific_seconds":"okre\u015blone sekundy","sc_time":"Czas","sc_to":"Do","sc_wizard":"Czarodziej","sch_all":"wszystko","sch_astroDay":"Dzie\u0144 Astro","sch_astroNight":"Noc Astro","sch_astro_dawn":"\u015awit","sch_astro_dusk":"Zmierzch","sch_astro_goldenHour":"z\u0142ota godzina","sch_astro_goldenHourEnd":"Koniec z\u0142otej godziny","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Morski \u015bwit","sch_astro_nauticalDusk":"Morski zmierzch","sch_astro_night":"Noc","sch_astro_nightEnd":"Koniec nocy","sch_astro_solarNoon":"Po\u0142udnie s\u0142oneczne","sch_astro_sunrise":"wsch\xf3d s\u0142o\u0144ca","sch_astro_sunriseEnd":"Koniec wschodu s\u0142o\u0144ca","sch_astro_sunset":"Zach\xf3d s\u0142o\u0144ca","sch_astro_sunsetStart":"Pocz\u0105tek zachodu s\u0142o\u0144ca","sch_at":"w","sch_desc_atTime":"na %s","sch_desc_everyDay":"codziennie","sch_desc_everyHour":"co godzin\u0119","sch_desc_everyMinute":"ka\u017cda minuta","sch_desc_everyMonth":"ka\u017cdego miesi\u0105ca","sch_desc_everyNDay":"ka\u017cdego dnia %s","sch_desc_everyNHours":"co %s godzin","sch_desc_everyNMinutes":"co %s minut","sch_desc_everyNMonths":"co %s miesi\u0119cy","sch_desc_everyNWeeks":"co %s tygodni","sch_desc_everyNYears":"co %s lat","sch_desc_everyWeek":"co tydzie\u0144","sch_desc_everyYear":"ka\u017cdego roku","sch_desc_intervalFromTo":"od %s do %s","sch_desc_never":"nigdy","sch_desc_onDate":"na %s z %s","sch_desc_onDates":"na %s i %s z","sch_desc_onEveryDate":"w ka\u017cd\u0105 dat\u0119","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s i %s","sch_desc_onWeekday":"na %s","sch_desc_onWeekdays":"na %s i %s","sch_desc_onWeekends":"w weekendy","sch_desc_onWorkdays":"w dni robocze","sch_desc_onceInPast":"nie b\u0119dzie ju\u017c wykonywany, poniewa\u017c start jest w przesz\u0142o\u015bci","sch_desc_once_on":"na %s","sch_desc_validFrom":"z %s","sch_desc_validFromTo":"Wykonaj od do","sch_desc_validTo":"do %s","sch_every":"ka\u017cdy","sch_exactTime":"Okre\u015blony czas","sch_from":"od","sch_fromTo":"Od-do","sch_intervalTime":"Czas przerwy","sch_invert":"odwraca\u0107","sch_no_one":"\u017baden","sch_on":"na","sch_period":"Kropka","sch_periodDaily":"Codziennie","sch_periodDates":"Daktyle","sch_periodDay":"Dzie\u0144","sch_periodEvery":"Ka\u017cdy","sch_periodEveryDay":"Codziennie","sch_periodEveryMonth":"Ka\u017cdego miesi\u0105ca","sch_periodEveryWeek":"Co tydzie\u0144","sch_periodEveryYear":"Ka\u017cdego roku","sch_periodHours":"godziny","sch_periodMinutes":"Minuty","sch_periodMonth":"miesi\u0105c","sch_periodMonthly":"Miesi\u0119czny","sch_periodOnce":"Pewnego razu","sch_periodSpecificMonths":"Okre\u015blone miesi\u0105ce","sch_periodWeek":"Tydzie\u0144","sch_periodWeekdays":"Dni powszednie","sch_periodWeekend":"Weekend","sch_periodWeekly":"Co tydzie\u0144","sch_periodWorkdays":"Dni robocze","sch_periodYear":"Rok","sch_periodYearly":"Rocznie","sch_specificTime":"Okre\u015blony czas","sch_time":"Czas","sch_to":"do","sch_valid":"Wa\u017cny","sch_validFrom":"od","sch_validTo":"do","sch_wholeDay":"Ca\u0142y dzie\u0144","sch_yearEveryMonth":"ka\u017cdego miesi\u0105ca","tooltip_ack":"Uzna\u0107","tooltip_from":"Od","tooltip_lc":"Ostatnia zmiana","tooltip_quality":"Jako\u015b\u0107","tooltip_ts":"Znak czasu","tooltip_user":"U\u017cytkownik","tooltip_value":"Warto\u015b\u0107","use seconds":"u\u017cyj sekund"}')},250:function(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","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":"Completo","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","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","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","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.","sc_cron":"CRON","sc_date":"Data","sc_dates":"Dias","sc_dows":"Dia da semana","sc_every":"todos","sc_everyN_dates":"a cada N dias","sc_everyN_dows":"todos os N dias da semana","sc_everyN_hours":"a cada N horas","sc_everyN_minutes":"a cada N minutos","sc_everyN_months":"a cada N meses","sc_everyN_seconds":"a cada N segundos","sc_every_dates":"todo dia","sc_every_dows":"todos os dias da semana","sc_every_hours":"toda hora","sc_every_minutes":"todo minuto","sc_every_months":"todo m\xeas","sc_every_seconds":"todo segundo","sc_from":"de","sc_hours":"horas","sc_interval":"intervalo","sc_intervalBetween":"intervalo entre","sc_minutes":"minutos","sc_months":"meses","sc_once":"uma vez","sc_period":"per\xedodo","sc_seconds":"segundos","sc_simple":"simples","sc_specific":"tempo espec\xedfico","sc_specific_dates":"datas espec\xedficas","sc_specific_dows":"dia espec\xedfico de semanas","sc_specific_hours":"horas espec\xedficas","sc_specific_minutes":"minutos espec\xedficos","sc_specific_months":"meses espec\xedficos","sc_specific_seconds":"segundos espec\xedficos","sc_time":"tempo","sc_to":"para","sc_wizard":"assistente","sch_all":"tudo","sch_astroDay":"dia astral","sch_astroNight":"noite astral","sch_astro_dawn":"amanhecer","sch_astro_dusk":"anoitecer","sch_astro_goldenHour":"hora dourada","sch_astro_goldenHourEnd":"Fim da hora dourada","sch_astro_nadir":"nadir","sch_astro_nauticalDawn":"Amanhecer n\xe1utico","sch_astro_nauticalDusk":"Anoitecer n\xe1utico","sch_astro_night":"noite","sch_astro_nightEnd":"fim da noite","sch_astro_solarNoon":"meio-dia solar","sch_astro_sunrise":"nascer do sol","sch_astro_sunriseEnd":"fim do nascer do sol","sch_astro_sunset":"p\xf4r do sol","sch_astro_sunsetStart":"in\xedcio do p\xf4r do sol","sch_at":"\xe0s","sch_desc_atTime":"em %s","sch_desc_everyDay":"todo dia","sch_desc_everyHour":"toda hora","sch_desc_everyMinute":"todo minuto","sch_desc_everyMonth":"todo m\xeas","sch_desc_everyNDay":"a cada %s dias","sch_desc_everyNHours":"a cada %s horas","sch_desc_everyNMinutes":"a cada %s minutos","sch_desc_everyNMonths":"a cada %s meses","sch_desc_everyNWeeks":"a cada %s semanas","sch_desc_everyNYears":"a cada %s anos","sch_desc_everyWeek":"toda semana","sch_desc_everyYear":"todo ano","sch_desc_intervalFromTo":"de %s para %s","sch_desc_never":"nunca","sch_desc_onDate":"em %s de %s","sch_desc_onDates":"em %s e %s de","sch_desc_onEveryDate":"em toda data de","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s e %s","sch_desc_onWeekday":"em %s","sch_desc_onWeekdays":"em %s e %s","sch_desc_onWeekends":"nos fins de semana","sch_desc_onWorkdays":"em dias \xfateis","sch_desc_onceInPast":"n\xe3o ser\xe1 mais executado, porque o come\xe7o est\xe1 no passado","sch_desc_once_on":"em %s","sch_desc_validFrom":"de %s","sch_desc_validFromTo":"Executar de at\xe9","sch_desc_validTo":"at\xe9 %s","sch_every":"cada","sch_exactTime":"tempo espec\xedfico","sch_from":"de","sch_fromTo":"de a\xb4t","sch_intervalTime":"tempo de intervalo","sch_invert":"invertido","sch_no_one":"nenhum","sch_on":"em","sch_period":"per\xedodo","sch_periodDaily":"diariamente","sch_periodDates":"datas","sch_periodDay":"dia","sch_periodEvery":"todos","sch_periodEveryDay":"todo dia","sch_periodEveryMonth":"todo m\xeas","sch_periodEveryWeek":"toda semana","sch_periodEveryYear":"todo ano","sch_periodHours":"horas","sch_periodMinutes":"minutos","sch_periodMonth":"m\xeas","sch_periodMonthly":"por m\xeas","sch_periodOnce":"uma vez","sch_periodSpecificMonths":"meses espec\xedficos","sch_periodWeek":"semana","sch_periodWeekdays":"dias \xfateis","sch_periodWeekend":"final de semana","sch_periodWeekly":"semanal","sch_periodWorkdays":"dias \xfateis","sch_periodYear":"ano","sch_periodYearly":"anual","sch_specificTime":"tempo espec\xedfico","sch_time":"tempo","sch_to":"para","sch_valid":"v\xe1lido","sch_validFrom":"de","sch_validTo":"para","sch_wholeDay":"dia inteiro","sch_yearEveryMonth":"todo m\xeas","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"}')},251:function(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?":"\u0423\u0432\u0435\u0440\u0435\u043d\u044b \u043b\u0438 \u0432\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","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":"\u0423\u0431\u0440\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435","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\u0438\u0440\u043e\u0432\u0430\u0442\u044c","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":"\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c","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":"\u0444\u0443\u043d\u043a\u0446\u0438\u044f","filter_id":"ID","filter_name":"\u0438\u043c\u044f","filter_role":"\u0440\u043e\u043b\u044c","filter_room":"\u043a\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","sc_cron":"CRON","sc_date":"\u0414\u0430\u0442\u0430","sc_dates":"\u0414\u0430\u0442\u044b","sc_dows":"\u0414\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_every":"\u043a\u0430\u0436\u0434\u044b\u0439(\u0443\u044e/\u044b\u0435)","sc_everyN_dates":"\u043a\u0430\u0436\u0434\u044b\u0439 N \u0434\u0435\u043d\u044c","sc_everyN_dows":"\u043a\u0430\u0436\u0434\u044b\u0439 N \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_everyN_hours":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u0447\u0430\u0441\u043e\u0432","sc_everyN_minutes":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u043c\u0438\u043d\u0443\u0442","sc_everyN_months":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u043c\u0435\u0441\u044f\u0446\u0435\u0432","sc_everyN_seconds":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u0441\u0435\u043a\u0443\u043d\u0434","sc_every_dates":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sc_every_dows":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_every_hours":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0430\u0441","sc_every_minutes":"\u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443","sc_every_months":"\u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","sc_every_seconds":"\u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0435\u043a\u0443\u043d\u0434\u0443","sc_from":"\u041e\u0442","sc_hours":"\u0447\u0430\u0441\u044b","sc_interval":"\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b","sc_intervalBetween":"\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043c\u0435\u0436\u0434\u0443","sc_minutes":"\u043c\u0438\u043d\u0443\u0442\u044b","sc_months":"\u041c\u0435\u0441\u044f\u0446\u044b","sc_once":"\u043e\u0434\u0438\u043d \u0440\u0430\u0437","sc_period":"\u041f\u0435\u0440\u0438\u043e\u0434","sc_seconds":"\u0441\u0435\u043a\u0443\u043d\u0434\u044b","sc_simple":"\u041f\u0440\u043e\u0441\u0442\u043e","sc_specific":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","sc_specific_dates":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u0442\u044b","sc_specific_dows":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_specific_hours":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0447\u0430\u0441\u044b","sc_specific_minutes":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043c\u0438\u043d\u0443\u0442\u044b","sc_specific_months":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043c\u0435\u0441\u044f\u0446\u044b","sc_specific_seconds":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u044b","sc_time":"\u0412\u0440\u0435\u043c\u044f","sc_to":"\u0414\u043e","sc_wizard":"\u0424\u043e\u0440\u043c\u0430","sch_all":"\u0432\u0441\u0435","sch_astroDay":"\u0434\u043d\u0451\u043c","sch_astroNight":"\u043d\u043e\u0447\u044c\u044e","sch_astro_dawn":"\u0420\u0430\u0441\u0441\u0432\u0435\u0442","sch_astro_dusk":"\u0421\u0443\u043c\u0435\u0440\u043a\u0438","sch_astro_goldenHour":"\u0417\u043e\u043b\u043e\u0442\u043e\u0439 \u0447\u0430\u0441","sch_astro_goldenHourEnd":"\u041a\u043e\u043d\u0435\u0446 \u0437\u043e\u043b\u043e\u0442\u043e\u0433\u043e \u0447\u0430\u0441\u0430","sch_astro_nadir":"\u041d\u0430\u0434\u0438\u0440","sch_astro_nauticalDawn":"\u041c\u043e\u0440\u0441\u043a\u043e\u0439 \u0440\u0430\u0441\u0441\u0432\u0435\u0442","sch_astro_nauticalDusk":"\u041c\u043e\u0440\u0441\u043a\u0438\u0435 \u0441\u0443\u043c\u0435\u0440\u043a\u0438","sch_astro_night":"\u041d\u043e\u0447\u044c","sch_astro_nightEnd":"\u041a\u043e\u043d\u0435\u0446 \u043d\u043e\u0447\u0438","sch_astro_solarNoon":"\u0421\u043e\u043b\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u0434\u0435\u043d\u044c","sch_astro_sunrise":"\u0412\u043e\u0441\u0445\u043e\u0434","sch_astro_sunriseEnd":"\u0412\u043e\u0441\u0445\u043e\u0434 \u0441\u043e\u043b\u043d\u0446\u0430","sch_astro_sunset":"\u0417\u0430\u0445\u043e\u0434 \u0441\u043e\u043b\u043d\u0446\u0430","sch_astro_sunsetStart":"\u041d\u0430\u0447\u0430\u043b\u043e \u0437\u0430\u043a\u0430\u0442\u0430","sch_at":"\u0434\u0430\u0442\u0430","sch_desc_atTime":"\u0432 %s","sch_desc_everyDay":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sch_desc_everyHour":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0430\u0441","sch_desc_everyMinute":"\u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443","sch_desc_everyMonth":"\u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","sch_desc_everyNDay":"\u043a\u0430\u0436\u0434\u044b\u0439 %s \u0434\u0435\u043d\u044c","sch_desc_everyNHours":"\u043a\u0430\u0436\u0434\u044b\u0439 %s \u0447\u0430\u0441\u043e\u0432","sch_desc_everyNMinutes":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043c\u0438\u043d\u0443\u0442","sch_desc_everyNMonths":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043c\u0435\u0441\u044f\u0446\u0435\u0432","sch_desc_everyNWeeks":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043d\u0435\u0434\u0435\u043b\u044c","sch_desc_everyNYears":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043b\u0435\u0442","sch_desc_everyWeek":"\u043a\u0430\u0436\u0434\u0443\u044e \u043d\u0435\u0434\u0435\u043b\u044e","sch_desc_everyYear":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434","sch_desc_intervalFromTo":"\u043e\u0442 %s \u0434\u043e %s","sch_desc_never":"\u043d\u0438\u043a\u043e\u0433\u0434\u0430","sch_desc_onDate":"%s %s","sch_desc_onDates":"%s \u0438 %s","sch_desc_onEveryDate":"\u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s \u0438 %s","sch_desc_onWeekday":"%s","sch_desc_onWeekdays":"%s \u0438 %s","sch_desc_onWeekends":"\u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445","sch_desc_onWorkdays":"\u0432 \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u0434\u043d\u0438","sch_desc_onceInPast":"\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u043e \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c","sch_desc_once_on":"%s","sch_desc_validFrom":"%s","sch_desc_validFromTo":"\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441","sch_desc_validTo":"%s","sch_every":"\u043a\u0430\u0436\u0434\u044b\u0439","sch_exactTime":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","sch_from":"\u043e\u0442","sch_fromTo":"\u041e\u0442 \u0438 \u0434\u043e","sch_intervalTime":"\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0432\u0440\u0435\u043c\u0435\u043d\u0438","sch_invert":"\u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c","sch_no_one":"\u043d\u0438\u043a\u0430\u043a\u043e\u0439","sch_on":"","sch_period":"\u043f\u0435\u0440\u0438\u043e\u0434","sch_periodDaily":"\u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e","sch_periodDates":"\u0414\u0430\u0442\u044b","sch_periodDay":"\u0414\u0435\u043d\u044c","sch_periodEvery":"\u043a\u0430\u0436\u0434\u044b\u0439","sch_periodEveryDay":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sch_periodEveryMonth":"\u041a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","sch_periodEveryWeek":"\u041a\u0430\u0436\u0434\u0443\u044e \u043d\u0435\u0434\u0435\u043b\u044e","sch_periodEveryYear":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434","sch_periodHours":"\u0447\u0430\u0441\u043e\u0432","sch_periodMinutes":"\u043c\u0438\u043d\u0443\u0442","sch_periodMonth":"\u043c\u0435\u0441\u044f\u0446","sch_periodMonthly":"\u0435\u0436\u0435\u043c\u0435\u0441\u044f\u0447\u043d\u043e","sch_periodOnce":"\u043e\u0434\u043d\u0430\u0436\u0434\u044b","sch_periodSpecificMonths":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043c\u0435\u0441\u044f\u0446\u044b","sch_periodWeek":"\u041d\u0435\u0434\u0435\u043b\u044e","sch_periodWeekdays":"\u0411\u0443\u0434\u043d\u0438\u0435 \u0434\u043d\u0438","sch_periodWeekend":"\u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435","sch_periodWeekly":"\u0435\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u043e","sch_periodWorkdays":"\u0420\u0430\u0431\u043e\u0447\u0438\u0435 \u0434\u043d\u0438","sch_periodYear":"\u0413\u043e\u0434","sch_periodYearly":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434","sch_specificTime":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","sch_time":"\u0412\u0440\u0435\u043c\u044f","sch_to":"\u0432","sch_valid":"\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439","sch_validFrom":"\u043e\u0442","sch_validTo":"\u0432","sch_wholeDay":"\u0412\u0435\u0441\u044c \u0434\u0435\u043d\u044c","sch_yearEveryMonth":"\u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","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\u043e","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"}')},252:function(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","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\u5b57","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","sc_cron":"\u5468\u671f\u4efb\u52a1","sc_date":"\u65e5\u671f","sc_dates":"\u65e5","sc_dows":"\u661f\u671f","sc_every":"\u6bcf","sc_everyN_dates":"\u6bcfN\u5929","sc_everyN_dows":"\u6bcf\u5468N\u5929","sc_everyN_hours":"\u6bcfN\u5c0f\u65f6\u4e00\u6b21","sc_everyN_minutes":"\u6bcfN\u5206\u949f","sc_everyN_months":"\u6bcfN\u4e2a\u6708","sc_everyN_seconds":"\u6bcfN\u79d2","sc_every_dates":"\u6bcf\u5929","sc_every_dows":"\u4e00\u5468\u7684\u6bcf\u4e00\u5929","sc_every_hours":"\u6bcf\u5c0f\u65f6","sc_every_minutes":"\u6bcf\u5206\u949f","sc_every_months":"\u6bcf\u6708","sc_every_seconds":"\u6bcf\u79d2","sc_from":"\u4ece","sc_hours":"\u5c0f\u65f6","sc_interval":"\u95f4\u9694","sc_intervalBetween":"\u95f4\u9694\u65f6\u95f4","sc_minutes":"\u5206\u949f","sc_months":"\u6708","sc_once":"\u4e00\u6b21","sc_period":"\u5468\u671f","sc_seconds":"\u79d2","sc_simple":"\u7b80\u5355\u6a21\u5f0f","sc_specific":"\u7279\u5b9a\u7684\u65f6\u95f4","sc_specific_dates":"\u7279\u5b9a\u7684\u65e5\u5b50","sc_specific_dows":"\u7279\u5b9a\u7684\u4e00\u5468","sc_specific_hours":"\u7279\u5b9a\u7684\u5c0f\u65f6","sc_specific_minutes":"\u7279\u5b9a\u7684\u5206\u949f","sc_specific_months":"\u7279\u5b9a\u7684\u6708\u4efd","sc_specific_seconds":"\u7279\u5b9a\u7684\u63cf\u8ff0","sc_time":"\u65f6\u95f4","sc_to":"\u81f3","sc_wizard":"\u5411\u5bfc\u6a21\u5f0f","sch_all":"\u5168\u9009","sch_astroDay":"\u5929\u6587\u767d\u5929","sch_astroNight":"\u5929\u6587\u591c\u665a","sch_astro_dawn":"\u9ece\u660e","sch_astro_dusk":"\u9ec4\u660f","sch_astro_goldenHour":"\u9ec4\u91d1\u65f6\u6bb5","sch_astro_goldenHourEnd":"\u9ec4\u91d1\u65f6\u6bb5\u7ed3\u675f","sch_astro_nadir":"\u5929\u5e95","sch_astro_nauticalDawn":"\u822a\u6d77\u9ece\u660e","sch_astro_nauticalDusk":"\u822a\u6d77\u9ec4\u660f","sch_astro_night":"\u591c\u665a","sch_astro_nightEnd":"\u591c\u665a\u7ed3\u675f","sch_astro_solarNoon":"\u6b63\u5348","sch_astro_sunrise":"\u65e5\u51fa","sch_astro_sunriseEnd":"\u65e5\u51fa\u7ed3\u675f","sch_astro_sunset":"\u65e5\u843d","sch_astro_sunsetStart":"\u65e5\u843d\u5f00\u59cb","sch_at":"\u5728","sch_desc_atTime":"\u7684%s","sch_desc_everyDay":"\u6bcf\u5929","sch_desc_everyHour":"\u6bcf\u5c0f\u65f6","sch_desc_everyMinute":"\u6bcf\u5206\u949f","sch_desc_everyMonth":"\u6bcf\u6708","sch_desc_everyNDay":"\u6bcf%s\u5929","sch_desc_everyNHours":"\u6bcf%s\u5c0f\u65f6","sch_desc_everyNMinutes":"\u6bcf%s\u5206\u949f","sch_desc_everyNMonths":"\u6bcf%s\u6708","sch_desc_everyNWeeks":"\u6bcf%s\u5468","sch_desc_everyNYears":"\u6bcf%s\u5e74","sch_desc_everyWeek":"\u6bcf\u5468","sch_desc_everyYear":"\u6bcf\u5e74","sch_desc_intervalFromTo":"\u4ece%s\u5230%s","sch_desc_never":"\u51b3\u4e0d","sch_desc_onDate":"\u5728%s\u7684%s\u4e0a","sch_desc_onDates":"\u5728%s\u548c%s\u4e0a","sch_desc_onEveryDate":"\u5728\u6bcf\u5929","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s\u548c%s","sch_desc_onWeekday":"\u5728%s\u4e0a","sch_desc_onWeekdays":"\u5728%s\u548c%s\u4e0a","sch_desc_onWeekends":"\u5728\u5468\u672b","sch_desc_onWorkdays":"\u5728\u5de5\u4f5c\u65e5","sch_desc_onceInPast":"\u5c06\u4e0d\u518d\u6267\u884c\uff0c\u56e0\u4e3a\u8d77\u59cb\u65f6\u95f4\u5df2\u7ecf\u662f\u8fc7\u53bb\u7684\u65f6\u95f4\u4e86\u3002","sch_desc_once_on":"\u5728%s\u4e0a","sch_desc_validFrom":"\u6765\u81ea%s","sch_desc_validFromTo":"\u4ece\u6267\u884c\u5230","sch_desc_validTo":"\u5230%s","sch_every":"\u6bcf","sch_exactTime":"\u7279\u5b9a\u7684\u65f6\u95f4","sch_from":"\u4ece","sch_fromTo":"\u4ece\u5230","sch_intervalTime":"\u95f4\u9694\u65f6\u95f4","sch_invert":"\u5012\u7f6e","sch_no_one":"\u53d6\u6d88\u5168\u9009","sch_on":"\u7684","sch_period":"\u5468\u671f","sch_periodDaily":"\u6bcf\u5929","sch_periodDates":"\u65e5\u671f","sch_periodDay":"\u5929","sch_periodEvery":"\u6bcf","sch_periodEveryDay":"\u6bcf\u5929","sch_periodEveryMonth":"\u6bcf\u6708","sch_periodEveryWeek":"\u6bcf\u5468","sch_periodEveryYear":"\u6bcf\u5e74","sch_periodHours":"\u5c0f\u65f6","sch_periodMinutes":"\u5206\u949f","sch_periodMonth":"\u6708","sch_periodMonthly":"\u6bcf\u6708\u4e00\u6b21","sch_periodOnce":"\u4e00\u6b21","sch_periodSpecificMonths":"\u7279\u5b9a\u7684\u6708\u4efd","sch_periodWeek":"\u5468","sch_periodWeekdays":"\u5de5\u4f5c\u65e5","sch_periodWeekend":"\u5468\u672b","sch_periodWeekly":"\u6bcf\u5468","sch_periodWorkdays":"\u5de5\u4f5c\u65e5","sch_periodYear":"\u5e74","sch_periodYearly":"\u6bcf\u5e74","sch_specificTime":"\u7279\u5b9a\u7684\u65f6\u95f4","sch_time":"\u65f6\u95f4","sch_to":"\u81f3","sch_valid":"\u751f\u6548","sch_validFrom":"\u4ece","sch_validTo":"\u81f3","sch_wholeDay":"\u4e00\u6574\u5929","sch_yearEveryMonth":"\u6bcf\u6708","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"}')},254:function(e,t,s){"use strict";s.r(t);var a=s(1),o=s.n(a),n=s(17),r=s.n(n),i=s(321),c=s(320),l=s(300),d=s(162),p=s.n(d),h=(s(204),s(13)),u=s(14),m=s(16),y=s(15),g=s(7),f=s(128),v=s.n(f),k=s(9),_=(s(205),s(76)),b=s.n(_),S=s(163),w=s.n(S),E=s(3),C=s.n(E),N=s(102),D=s.n(N),A=s(104),O=s.n(A),x=s(50),I=s(177),M=s(329),T=s(312),j=s(303),B=s(260),J=s(309),z=s(311),R=s(310),F=s(127),W=s(109),L=s(176),P=s(152),U=s(150),H=s(324),Y=s(126),Z=s.n(Y),Q=s(125),q=s.n(Q),V=s(167),K=s.n(V),G=s(23),X=s(78),$=s.n(X),ee=s(105),te=s.n(ee),se=s(106),ae=s.n(se),oe={type:"dark",root:{flexGrow:1,display:"flex",width:"100%",height:"100%"},menu:{width:300,depthOffset:20},colors:{primary:"#3399CC",secondary:"#164477",selected:{background:"#164477",color:"white"},error:{background:"#dc0300",color:"#FFFFFF"}},toolbar:{height:48},tabs:{height:48}},ne=s(144),re=s(149),ie=s(147),ce=s(146),le=s(145),de=s(328),pe=s(151),he=s(161),ue=s(330),me=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a;return Object(h.a)(this,s),(a=t.call(this,e)).handleCancel=function(){a.props.onClose()},a.handleOk=function(){a.props.onRename(a.oldId,a.state.id,a.state.name,a.state.instance),a.props.onClose()},a.handleChange=function(e){a.setState({name:e,id:a.getId(e)})},a.state={name:e.name,id:e.id,instance:e.instance||0},a.isShowInstance=!e.folder&&e.instances&&(e.instance||e.instances[0]||e.instances.length>1),a.prefix=a.getPrefix(e.id),a.oldId=e.id,a}return Object(u.a)(s,[{key:"getPrefix",value:function(e){var t=(e||"").split(".");return t.pop(),t.join(".")}},{key:"getId",value:function(e){return e=(e||"").replace(/[\\/\][*,;'"`<>?\s]/g,"_"),this.prefix+"."+e}},{key:"componentWillReceiveProps",value:function(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}))}},{key:"render",value:function(){var e=this;return o.a.createElement(le.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title"},o.a.createElement(re.a,{id:"confirmation-dialog-title"},C.a.t("Rename")),o.a.createElement(ie.a,null,o.a.createElement("form",{noValidate:!0,autoComplete:"off"},o.a.createElement(de.a,{style:{width:"100%"},id:"standard-name",label:C.a.t("Name"),value:this.state.name,onKeyPress:function(t){"Enter"===t.key&&(t.preventDefault(),setTimeout((function(){return e.handleOk()}),200))},onChange:function(t){return e.handleChange(t.target.value)},margin:"normal"}),o.a.createElement(de.a,{id:"standard-name-id",style:{width:"100%"},label:C.a.t("ID"),value:this.state.id,disabled:!0,margin:"normal"}),this.isShowInstance&&o.a.createElement(pe.a,null,o.a.createElement(ue.a,{htmlFor:"instance"},C.a.t("Instance")),o.a.createElement(he.a,{value:this.state.instance,onChange:function(t){return e.setState({instance:parseInt(t.target.value,10)})},inputProps:{name:"instance",id:"instance"}},this.props.instances.map((function(e){return o.a.createElement(P.a,{key:e,value:e},e||"0")})))))),o.a.createElement(ce.a,null,o.a.createElement(ne.a,{onClick:this.handleOk,color:"primary"},C.a.t("Ok")),o.a.createElement(ne.a,{onClick:this.handleCancel,color:"primary"},C.a.t("Cancel"))))}}]),s}(o.a.Component),ye=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a;return Object(h.a)(this,s),(a=t.call(this,e)).handleCancel=function(){a.props.onClose(null)},a.handleOk=function(){a.props.onDelete(a.state.id),a.props.onClose(a.props.value)},a.state={name:e.name,id:e.id},a}return Object(u.a)(s,[{key:"componentWillReceiveProps",value:function(e){e.name!==this.props.name&&this.setState({name:e.name}),e.id!==this.props.id&&this.setState({id:e.id})}},{key:"render",value:function(){return o.a.createElement(le.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title"},o.a.createElement(re.a,{id:"confirmation-dialog-title"},C.a.t("Are you sure?")),o.a.createElement(ie.a,null,o.a.createElement(k.MdDelete,null),o.a.createElement("span",{style:{fontSize:14,fontWeight:"bold"}},C.a.t("Delete %s",this.state.name))),o.a.createElement(ce.a,null,o.a.createElement(ne.a,{onClick:this.handleOk,color:"primary"},C.a.t("Ok")),o.a.createElement(ne.a,{onClick:this.handleCancel,color:"primary"},C.a.t("Cancel"))))}}]),s}(o.a.Component),ge=s(304),fe=s(305),ve=s(308),ke=s(307),_e=s(306),be=s(164),Se=s.n(be),we=s(165),Ee=s.n(we),Ce=s(166),Ne=s.n(Ce),De=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(){var e;Object(h.a)(this,s);for(var a=arguments.length,o=new Array(a),n=0;n1),a}return Object(u.a)(s,[{key:"getId",value:function(e){return e=(e=e||this.state.name||"").replace(/[\\/\][.*,;'"`<>?\s]/g,"_"),(this.state?this.state.parent:this.props.parent)+"."+e}},{key:"componentWillReceiveProps",value:function(e){e.name!==this.props.name&&this.setState({name:e.name})}},{key:"render",value:function(){var e=this;return o.a.createElement(le.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title"},o.a.createElement(re.a,{id:"confirmation-dialog-title"},this.props.title||C.a.t("Create new")),o.a.createElement(ie.a,null,o.a.createElement("form",{noValidate:!0,autoComplete:"off"},o.a.createElement(de.a,{style:{width:"100%"},id:"standard-name",error:!!this.state.error,label:C.a.t("Name"),value:this.state.name,helperText:this.state.error,onKeyPress:function(t){"Enter"===t.key&&(t.preventDefault(),setTimeout((function(){return e.handleOk()}),200))},onChange:function(t){return e.handleChange(t.target.value)},margin:"normal"}),o.a.createElement(pe.a,{style:{minWidth:100}},o.a.createElement(ue.a,{htmlFor:"parent"},C.a.t("Folder")),o.a.createElement(he.a,{style:{width:"100%"},value:this.state.parent,onChange:function(t){return e.setState({parent:t.target.value})},inputProps:{name:"parent",id:"parent"}},this.props.parents.map((function(t){var s=t.id.split(".");s.splice(0,2);var a=[],n="script.js";return s.forEach((function(t,s){n+="."+t;var o=e.props.parents.find((function(e){return e.id===n}));o?a.push(o.name):a.push(t)})),a.length||a.push(t.name),o.a.createElement(P.a,{key:t.id,value:t.id},a.join(" / "))})))),o.a.createElement(de.a,{id:"standard-name-id",style:{width:"100%"},label:C.a.t("ID"),value:this.getId(),disabled:!0,margin:"normal"}),this.isShowInstance&&o.a.createElement(pe.a,null,o.a.createElement(ue.a,{htmlFor:"instance"},C.a.t("Instance")),o.a.createElement(he.a,{value:this.state.instance,onChange:function(t){return e.setState({instance:parseInt(t.target.value,10)})},inputProps:{name:"instance",id:"instance"}},this.props.instances.map((function(e){return o.a.createElement(P.a,{key:"instance"+e,value:e},e||"0")})))))),o.a.createElement(ce.a,null,o.a.createElement(ne.a,{onClick:this.handleOk,disabled:!!this.state.error,color:"primary"},C.a.t("Ok")),o.a.createElement(ne.a,{onClick:this.handleCancel,color:"primary"},C.a.t("Cancel"))))}}]),s}(o.a.Component),xe=s(148),Ie=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a;return Object(h.a)(this,s),(a=t.call(this,e)).handleOk=function(){a.props.onClose&&a.props.onClose()},console.log("Error created"),a}return Object(u.a)(s,[{key:"render",value:function(){var e=this;return o.a.createElement(le.a,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:function(){return e.handleOk()},"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},o.a.createElement(re.a,{className:this.props.classes.titleBackground,classes:{root:this.props.classes.titleColor},id:"alert-dialog-title"},this.props.title||C.a.t("Error")),o.a.createElement(ie.a,null,o.a.createElement(xe.a,{id:"alert-dialog-description"},this.props.text||C.a.t("Unknown error!"))),o.a.createElement(ce.a,null,o.a.createElement(ne.a,{onClick:function(){return e.handleOk()},color:"primary",autoFocus:!0},C.a.t("Ok"))))}}]),s}(o.a.Component),Me=Object(g.a)((function(e){return{titleBackground:{background:oe.colors.error.background},titleColor:{color:oe.colors.error.color,"&>h2":{color:oe.colors.error.color}}}}))(Ie),Te=q.a[400],je=K.a[400],Be=Z.a[400],Je={Blockly:te.a,"Javascript/js":$.a,def:$.a,"TypeScript/ts":ae.a},ze=function(e,t,s){return s=s||C.a.getLanguage(),t&&t.common&&t.common.name?"object"===typeof t.common.name?t.common.name[s]||t.common.name.en:t.common.name:e.replace(/^script\.js./,"")},Re=function(e){var t,s=[],a=Object.keys(e);a.sort((function(e,t){return"script.js.common"!==e&&"script.js.global"!==e||"script.js.common"!==t&&"script.js.global"!==t?"script.js.common"===e||"script.js.global"===e||"script.js.common"===t||"script.js.global"===t||e>t?1:-1:e>t?1:-1}));for(var o=0;o2?r.join("."):null,instance:n.common.engine?parseInt(n.common.engine.split(".").pop(),10)||0:null})}s.sort((function(e,t){return e.parent||"folder"===e.type||t.parent||"folder"===t.type?e.parent||"folder"===e.type?t.parent||"folder"===t.type?(e.id.startsWith("script.js.common")||e.id.startsWith("script.js.global"))&&(t.id.startsWith("script.js.common")||t.id.startsWith("script.js.global"))?e.id===t.id?0:e.id>t.id?1:-1:e.id.startsWith("script.js.common")||e.id.startsWith("script.js.global")?1:t.id.startsWith("script.js.common")||t.id.startsWith("script.js.global")?-1:e.id===t.id?0:e.id>t.id?1:-1:1:-1:e.id===t.id?0:e.id>t.id?1:-1})),s.forEach((function(e,t){return e.index=t}));do{t=!1,s.forEach((function(e){if(e.parent&&!s.find((function(t){return t.id===e.parent}))){var a=e.parent.split(".");a.pop(),s.push({id:e.parent,title:e.parent.replace(/^script\.js./,""),depth:a.length-2,type:"folder",parent:a.length>2?a.join("."):null}),t=!0}}))}while(t);return s.forEach((function(e){if(e.parent){var t=s.find((function(t){return t.id===e.parent}));t&&(e.parentIndex=t.index)}})),s},Fe=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a;Object(h.a)(this,s),(a=t.call(this,e)).onDragUpdate=function(e,t){if(e.destination){for(var s=a.state.listItems[e.destination.index-1];s&&("folder"!==s.type||s.parent);)s=a.state.listItems[s.parentIndex];s?(a.setState({dragDepth:s.depth+1}),console.log("depth ".concat(s.depth+1))):(console.log("depth 0"),a.setState({dragDepth:0}))}};var n=window.localStorage?window.localStorage.getItem("SideMenu.expanded"):"[]";try{n=JSON.parse(n)||[]}catch(i){n=[]}a.inputRef=new o.a.createRef,a.state={listItems:Re(e.scripts||{}),expanded:n,problems:[],reorder:!1,theme:a.props.theme,dragDepth:0,draggedId:null,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:a.props.expertMode,searchText:"",width:a.props.width||300,typeFilter:window.localStorage&&window.localStorage.getItem("SideMenu.typeFilter")||"",statusFilter:window.localStorage&&window.localStorage.getItem("SideMenu.statusFilter")||"",runningInstances:a.props.runningInstances||{},scriptsHash:e.scriptsHash};var r=a.ensureSelectedIsVisible();return r&&(a.state.expanded=r),a.filterTimer=null,a.state.isAllZeroInstances=a.getIsAllZeroInstances(),a.problems=null,a.problemsTimer=null,a.onProblemUpdatedBound=a.onProblemUpdated.bind(Object(x.a)(a)),a}return Object(u.a)(s,[{key:"readProblems",value:function(e,t){var s=this;if(t||(t=Object.keys(this.props.scripts)),t&&t.length){var a=t.shift();if(this.props.scripts[a]&&"script"===this.props.scripts[a].type&&this.props.scripts[a].common&&this.props.scripts[a].common.enabled&&!a.match(/^script\.js\.global\./)){var o=this.props.scripts[a].common.engine.split(".").pop(),n=this,r="javascript."+o+".scriptProblem."+a.substring("script.js.".length);this.props.connection.getState(r,(function(s,a){n.onProblemUpdated(r,a),setTimeout((function(){return n.readProblems(e,t)}),0)}))}else setTimeout((function(){return s.readProblems(e,t)}),0)}else e&&e()}},{key:"componentDidMount",value:function(){var e=this;this.readProblems((function(){e.props.instances.forEach((function(t){e.props.connection.subscribeState("javascript."+t+".scriptProblem.*",e.onProblemUpdatedBound)}))}))}},{key:"componentWillUnmount",value:function(){var e=this;this.props.instances.forEach((function(t){e.props.connection.unsubscribeState("javascript."+t+".scriptProblem.*",e.onProblemUpdatedBound)}))}},{key:"onProblemUpdated",value:function(e,t){var s=this;if(t&&e){e="script.js."+e.replace(/^javascript\.\d+\.scriptProblem\./,""),this.problems||(this.problems=JSON.parse(JSON.stringify(this.state.problems)));var a=!1;if(t.val)-1===this.problems.indexOf(e)&&(this.problems.push(e),a=!0);else{var o=this.problems.indexOf(e);-1!==o&&(this.problems.splice(o,1),a=!0)}a&&!this.problemsTimer&&(this.problemsTimer=setTimeout((function(){s.problemsTimer=null,s.setState({problems:s.problems}),s.problems=null}),300))}}},{key:"filterList",value:function(e,t){var a=s.filterListStatic(e,this.state.listItems,this.state.searchMode,this.state.searchText,this.props.objects);a?this.setState(a,(function(){return t&&t()})):t&&t()}},{key:"ensureSelectedIsVisible",value:function(e,t){s.ensureSelectedIsVisibleStatic(e||this.state.selected,t||this.state.expanded,this.state.listItems)}},{key:"getIsAllZeroInstances",value:function(e,t){return e=e||this.state.listItems,t=t||this.state.instances,s.getIsAllZeroInstancesStatic(e||this.state.listItems,t||this.state.instances)}},{key:"saveExpanded",value:function(e){window.localStorage.setItem("SideMenu.expanded",JSON.stringify(e||this.state.expanded))}},{key:"showError",value:function(e){this.setState({errorText:e})}},{key:"onExpand",value:function(e,t){if(t&&t.stopPropagation(),-1===this.state.expanded.indexOf(e)){var s=this.state.expanded.concat([e]);this.setState({expanded:s}),this.saveExpanded(s)}}},{key:"onCollapse",value:function(e,t){t&&t.stopPropagation();var s=this.state.expanded.indexOf(e);if(-1!==s){var a=this.state.expanded.concat([]);a.splice(s,1),this.state.selected&&this.state.selected.startsWith(e+".")?(this.setState({expanded:a,selected:e}),window.localStorage&&window.localStorage.setItem("SideMenu.selected",e)):this.setState({expanded:a}),this.saveExpanded(a)}}},{key:"onDragEnd",value:function(e){if(e.destination){for(var t=e.destination.index>e.source.index?this.state.listItems[e.destination.index]:this.state.listItems[e.destination.index-1];t&&"folder"!==t.type&&t.parent;)t=this.state.listItems[t.parentIndex];var s=(t?t.id:"script.js")+"."+e.draggableId.split(".").pop();this.props.scripts[s]&&(s+="_"+C.a.t("copy")),this.props.onRename&&this.props.onRename(e.draggableId,s)}}},{key:"onDragStart",value:function(e){this.setState({dragDepth:this.state.listItems.find((function(t){return t.id===e.draggableId})).depth,draggedId:e.draggableId})}},{key:"renderItemButtons",value:function(e,t){var s=this;if(this.state.reorder)return null;if("folder"!==e.type){var a=e.enabled?Te:Be;return e.enabled&&-1!==this.state.problems.indexOf(e.id)&&(a=je),[o.a.createElement(F.a,{className:this.props.classes.iconButtons,onClick:function(t){t.stopPropagation(),s.props.onEnableDisable&&s.props.onEnableDisable(e.id,!e.enabled)},title:e.enabled?C.a.t("Pause script"):C.a.t("Run script"),key:"startStop",style:{color:a}},e.enabled?o.a.createElement(k.MdPause,null):o.a.createElement(k.MdPlayArrow,null)),this.state.width>350?o.a.createElement(F.a,{key:"delete",title:C.a.t("Delete script"),disabled:"script.js.global"===e.id||"script.js.common"===e.id,onClick:function(t){return s.onDelete(e,t)}},o.a.createElement(k.MdDelete,null)):null,o.a.createElement(F.a,{key:"openInEdit",title:C.a.t("Edit script or just double click"),onClick:function(t){return s.onEdit(e,t)}},o.a.createElement(k.MdInput,null))]}return this.state.width>350?"script.js"===e.id||"script.js.common"===e.id||"script.js.global"===e.id||t&&t.length?null:o.a.createElement(F.a,{key:"delete",title:C.a.t("Delete folder"),disabled:"script.js.global"===e.id||"script.js.common"===e.id,onClick:function(t){return s.onDelete(e,t)}},o.a.createElement(k.MdDelete,null)):void 0}},{key:"onDelete",value:function(e,t){var s=this;return t&&t.stopPropagation(),new Promise((function(t){"object"!==typeof e?s.setState({deleting:e}):s.setState({deleting:e.id})}))}},{key:"onEdit",value:function(e,t){this.onClick(e,t),this.props.onEdit&&this.props.onEdit(e.id)}},{key:"renderFolderButtons",value:function(e,t,s){var a=this;return this.state.reorder?"folder"!==e.type?o.a.createElement(k.MdDragHandle,{className:this.props.classes.gripHandle}):o.a.createElement("div",{className:this.props.classes.noGripHandle}):t&&t.length?o.a.createElement(F.a,{className:this.props.classes.expandButton,onClick:s?function(t){return a.onCollapse(e.id,t)}:function(t){return a.onExpand(e.id,t)}},s?o.a.createElement(k.MdExpandMore,{fontSize:"small"}):o.a.createElement(k.MdKeyboardArrowRight,{fontSize:"small"})):o.a.createElement("div",{className:this.props.classes.expandButton})}},{key:"getTextStyle",value:function(e){return this.state.reorder||"folder"===e.type?{whiteSpace:"nowrap",padding:"0 16px 0 0"}:{width:"calc(100% - ".concat(this.state.width>350?245:197,"px)"),overflow:"hidden",whiteSpace:"nowrap",flex:"none",padding:"0 16px 0 0"}}},{key:"onClick",value:function(e,t){if(t&&t.stopPropagation(),!this.state.reorder&&e){var s=this.ensureSelectedIsVisible(e),a={selected:e.id};s&&(a.expanded=s),this.setState(a),window.localStorage&&window.localStorage.setItem("SideMenu.selected",e.id)}}},{key:"onDblClick",value:function(e,t){(t&&t.stopPropagation(),this.state.reorder)||("folder"===e.type?-1!==this.state.expanded.indexOf(e.id)?this.onCollapse(e.id):this.onExpand(e.id):this.onEdit(e))}},{key:"isFilteredOut",value:function(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)))||"script.js.global"===e.id&&!this.state.expertMode))}},{key:"renderOneItem",value:function(e,t){var s=this,a=(this.state.statusFilter||this.state.typeFilter)&&e.filter((function(e){return e.parent===t.id&&!s.isFilteredOut(e)})),n=e.filter((function(e){return e.parent===t.id}));if(!this.isFilteredOut(t)&&("folder"!==t.type||!this.state.statusFilter&&!this.state.typeFilter||a.length)){var r=this.state.reorder?8+(this.state.draggedId===t.id?this.state.dragDepth:t.depth)*oe.menu.depthOffset:t.depth*oe.menu.depthOffset,i=t.title;if(this.state.searchText){var c=i.toLowerCase().indexOf(this.state.searchText.toLowerCase());-1!==c&&(i=[o.a.createElement("span",{key:"first"},i.substring(0,c)),o.a.createElement("span",{key:"second",style:{color:"orange"}},i.substring(c,c+this.state.searchText.length)),o.a.createElement("span",{key:"third"},i.substring(c+this.state.searchText.length))])}this.state.isAllZeroInstances||"folder"===t.type||(i=[o.a.createElement("span",{key:"instance",title:C.a.t("Instance"),className:this.props.classes.instances},"[",t.instance,"] "),o.a.createElement("span",{key:"title"},i)]);var l=Object.assign({marginLeft:r,cursor:"folder"===t.type&&this.state.reorder?"default":"inherit",opacity:t.filteredPartly?.5:1,width:"calc(100% - ".concat(r,"px)")},t.id!==this.state.selected||this.state.reorder?{}:oe.colors.selected);"script.js.global"===t.id&&t.id!==this.state.selected&&(l.color="#00a200");var d=!1;n&&n.length&&(d=-1!==this.state.expanded.indexOf(t.id));var p={};"script.js.global"===t.id?p.color="#356956":"script.js.common"===t.id&&(p.color="#4899e1");var h=o.a.createElement(B.a,{key:t.id,style:l,className:("folder"===t.type?this.props.classes.folder:this.props.classes.element)+" "+(this.state.reorder?this.props.classes.reorder:""),onClick:function(e){return s.onClick(t,e)},onDoubleClick:function(e){return s.onDblClick(t,e)}},this.renderFolderButtons(t,n,d),o.a.createElement(J.a,null,"folder"===t.type?d?o.a.createElement(G.FaFolderOpen,{style:p}):o.a.createElement(G.FaFolder,{style:p}):o.a.createElement("img",{className:this.props.classes.scriptIcon,alt:t.type,src:Je[t.type]||Je.def})),o.a.createElement(R.a,{classes:{primary:t.id!==this.state.selected||this.state.reorder?void 0:this.props.classes.selected},style:this.getTextStyle(t),primary:o.a.createElement("span",null,i,a&&a.length||n.length?o.a.createElement("span",{className:this.props.classes.childrenCount},a&&a.length!==n.length?"".concat(a.length,"(").concat(n.length,")"):n.length):null)}),o.a.createElement(z.a,null,this.renderItemButtons(t,n))),u=[this.state.reorder?o.a.createElement(W.b,{key:t.id,draggableId:t.id,index:t.index,isDragDisabled:"folder"===t.type},(function(e,t){return o.a.createElement("div",Object.assign({ref:e.innerRef},e.draggableProps,e.dragHandleProps,{style:(s=t.isDragging,a=e.draggableProps.style,Object(I.a)({userSelect:"none",background:s?"lightgreen":"inherit"},a))}),h);var s,a})):h];return n&&(this.state.reorder||-1!==this.state.expanded.indexOf(t.id))&&n.forEach((function(t){return u.push(s.renderOneItem(e,t))})),u}}},{key:"renderAllItems",value:function(e,t){var s=this,a=[];return e.forEach((function(o){return!o.parent&&a.push(s.renderOneItem(e,o,t))})),o.a.createElement(j.a,{dense:!0,disablePadding:!0},a)}},{key:"onAddNew",value:function(e){var t=this;e&&e.stopPropagation();for(var s=this.state.listItems.find((function(e){return e.id===t.state.selected})),a="script.js";s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({choosingType:!0})}},{key:"onCopy",value:function(e,t){e&&e.stopPropagation();for(var s=this.state.listItems.find((function(e){return e.id===t})),a="script.js";s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({copingScript:t})}},{key:"onAddNewFolder",value:function(e){var t=this;e&&e.stopPropagation();for(var s=this.state.listItems.find((function(e){return e.id===t.state.selected})),a="script.js";s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({creatingFolder:!0})}},{key:"onRename",value:function(e){e&&e.stopPropagation(),this.setState({renaming:this.state.selected})}},{key:"getUniqueName",value:function(e){var t=this,s=1,a=C.a.t("Script")+" ";if(e){var o=ze(e,this.props.objects[e]),n=o.match(/\d+$/);n?(a=o.replace(/\d+$/,""),s=parseInt(n[0],10)+1):a=o}for(;this.state.listItems.find((function(e){return e.id===t.parent+"."+a.replace(/\.\s/g,"_")+s}));)s++;return a+s}},{key:"getUniqueFolderName",value:function(){for(var e=this,t=1;this.state.listItems.find((function(s){return s.id===e.parent+"."+C.a.t("Folder")+"_"+t}));)t++;return C.a.t("Folder")+" "+t}},{key:"onCloseMenu",value:function(e){this.setState({menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null},e)}},{key:"getFilterBadge",value:function(){return[!0===this.state.statusFilter&&o.a.createElement(k.MdPlayArrow,{className:this.props.classes.filterIcon,style:{color:Te}}),!1===this.state.statusFilter&&o.a.createElement(k.MdPause,{className:this.props.classes.filterIcon,style:{color:Be}}),"Blockly"===this.state.typeFilter&&"Bl","Javascript/js"===this.state.typeFilter&&"JS","TypeScript/ts"===this.state.typeFilter&&"TS"]}},{key:"getMainMenu",value:function(e,t){var s=this;return o.a.createElement(L.a,{key:"menu",id:"long-menu",anchorEl:this.state.menuAnchorEl,open:this.state.menuOpened,onClose:function(){return s.setState({menuOpened:!1,menuAnchorEl:null})},PaperProps:{style:{maxHeight:360}}},this.state.width<=350?o.a.createElement(P.a,{key:"deleted",disabled:!this.state.selected||"script.js.global"===this.state.selected||"script.js.common"===this.state.selected||e&&e.length,onClick:function(e){e.stopPropagation(),e.preventDefault(),s.state.listItems.find((function(e){return e.parent===s.state.selected}))?s.showError(C.a.t("Cannot delete non empty item!")):s.setState({menuOpened:!1,menuAnchorEl:null},(function(){return s.onDelete(s.state.selected).then((function(){}))}))}},o.a.createElement(k.MdDelete,{className:this.props.classes.iconDropdownMenu,style:{color:"red"}}),C.a.t("Delete")):null,o.a.createElement(P.a,{key:"expertMode",selected:this.state.expertMode,onClick:function(e){e.stopPropagation(),e.preventDefault(),s.onCloseMenu((function(){return s.props.onExpertModeChange&&s.props.onExpertModeChange(!s.state.expertMode)}))}},o.a.createElement(k.MdPersonPin,{className:this.props.classes.iconDropdownMenu,style:{color:"orange"}}),C.a.t("Expert mode")),this.props.onExport&&o.a.createElement(P.a,{key:"exportAll",onClick:function(e){e.stopPropagation(),e.preventDefault(),s.onCloseMenu((function(){return s.props.onExport()}))}},o.a.createElement(G.FaFileExport,{className:this.props.classes.iconDropdownMenu}),C.a.t("Export all scripts")),this.props.onImport&&o.a.createElement(P.a,{key:"import",onClick:function(e){e.stopPropagation(),e.preventDefault(),s.onCloseMenu((function(){return s.props.onImport()}))}},o.a.createElement(G.FaFileImport,{className:this.props.classes.iconDropdownMenu}),C.a.t("Import scripts")),this.props.onThemeChange&&o.a.createElement(P.a,{key:"dark",onClick:function(e){s.onCloseMenu((function(){return s.props.onThemeChange("dark"===s.state.theme?"light":"dark")}))}},o.a.createElement(k.MdPalette,{className:this.props.classes.iconDropdownMenu}),"dark"===this.state.theme?C.a.t("Light style"):C.a.t("Dark style")),this.props.onAddNew&&o.a.createElement(P.a,{key:"copy",disabled:!this.state.selected||!t||"folder"===t.type,onClick:function(e){var t=s.state.selected;s.onCloseMenu((function(){return s.onCopy(e,t)}))}},o.a.createElement(k.MdContentCopy,{className:this.props.classes.iconDropdownMenu}),C.a.t("Copy script")))}},{key:"getToolbarButtons",value:function(){var e=this,t=[],s=this.props.classes;if(this.state.searchMode)t.push(o.a.createElement(H.a,{key:"searchInputRoof",rootRef:this.inputRef},o.a.createElement(U.a,{key:"searchInput",value:this.state.searchText,className:s.toolbarSearch,ref:this.inputRef,autoFocus:!0,placeholder:C.a.t("Search..."),onChange:function(t){e.setState({searchText:t.target.value}),e.filterTimer&&clearTimeout(e.filterTimer),e.filterTimer=setTimeout((function(){e.filterTimer=null,e.filterList(!0),e.props.onSearch&&e.props.onSearch(e.state.searchText)}),400)}}))),t.push(o.a.createElement(F.a,{key:"disableSearch",className:s.toolbarButtons,style:{float:"right"},title:C.a.t("End search mode"),onClick:function(t){t.stopPropagation(),e.filterList(!1,(function(){return e.props.onSearch&&e.props.onSearch(e.state.searchText)}))}},o.a.createElement(k.MdFormatClear,null))),this.state.searchText&&t.push(o.a.createElement(F.a,{key:"cleanSearch",mini:"true",title:C.a.t("Clear search input"),className:s.toolbarButtons,style:{marginTop:7,float:"right"},onClick:function(t){t.stopPropagation(),e.setState({searchText:""},(function(){e.filterList(!0),e.props.onSearch&&e.props.onSearch(e.state.searchText)}))}},o.a.createElement(k.MdClose,{fontSize:"small"})));else{if(!this.state.reorder){t.push(o.a.createElement(F.a,{key:"menuButton","aria-label":"More","aria-owns":this.state.menuOpened?"long-menu":void 0,title:C.a.t("Menu"),"aria-haspopup":"true",onClick:function(t){t.stopPropagation(),t.preventDefault(),e.setState({menuOpened:!0,menuAnchorEl:t.currentTarget})}},o.a.createElement(k.MdMoreVert,null)));var a,n=this.state.listItems.find((function(t){return t.id===e.state.selected}));n&&this.state.width<=350&&"folder"===n.type&&(a=this.state.listItems.filter((function(t){return t.parent===e.state.selected}))),t.push(this.getMainMenu(a,n)),t.push(o.a.createElement(F.a,{key:"new-script",title:C.a.t("Create new script"),className:s.toolbarButtons,style:{color:this.state.reorder?"red":"inherit"},onClick:function(t){return e.onAddNew(t)}},o.a.createElement(k.MdAdd,null))),t.push(o.a.createElement(F.a,{key:"new-folder",title:C.a.t("Create new folder"),className:s.toolbarButtons,style:{color:this.state.reorder?"red":"inherit"},onClick:function(){return e.onAddNewFolder()}},o.a.createElement(k.MdCreateNewFolder,null)))}t.push(o.a.createElement(F.a,{key:"search",disabled:this.state.reorder,className:s.toolbarButtons,title:C.a.t("Search in scripts"),style:{float:"right"},onClick:function(t){t.stopPropagation(),e.setState({searchMode:!0})}},o.a.createElement(k.MdSearch,null))),t.push(o.a.createElement(F.a,{key:"reorder",title:C.a.t("Reorder scripts in folders"),className:s.toolbarButtons,style:{color:this.state.reorder?"red":"inherit",float:"right"},onClick:function(t){t.stopPropagation(),e.setState({reorder:!e.state.reorder,draggedId:""})}},o.a.createElement(k.MdSwapVert,null))),!this.state.reorder&&this.state.selected&&"script.js.global"!==this.state.selected&&"script.js.common"!==this.state.selected&&t.push(o.a.createElement(F.a,{className:s.toolbarButtons,title:C.a.t("Rename"),key:"rename",onClick:function(t){return e.onRename(t)}},o.a.createElement(k.MdEdit,null)))}return t}},{key:"getFolders",value:function(){var e=[{id:"script.js",name:C.a.t("Root folder")}];return this.state.listItems.forEach((function(t){return"folder"===t.type&&e.push({id:t.id,name:t.title})})),e}},{key:"onCollapseAll",value:function(){this.setState({expanded:[]}),this.saveExpanded([])}},{key:"onExpandAll",value:function(){var e=this,t=[];this.state.listItems.forEach((function(s){e.state.listItems.find((function(e){return e.parent===s.id}))&&t.push(s.id)})),this.setState({expanded:t}),this.saveExpanded(t)}},{key:"getBottomButtons",value:function(){var e=this;return[o.a.createElement(k.MdPause,{key:"filterByRunning",className:this.props.classes.footerButtons,style:{color:Te,opacity:"running"===this.state.statusFilter?1:.3,background:"running"===this.state.statusFilter?"gray":"inherit"},title:C.a.t("Show only running scripts"),onClick:function(t){t.stopPropagation(),t.preventDefault();var s="running"===e.state.statusFilter?"":"running";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),e.setState({statusFilter:s})}}),o.a.createElement(k.MdPlayArrow,{key:"filterByPaused",title:C.a.t("Show only paused scripts"),className:this.props.classes.footerButtons,style:{color:Be,opacity:"paused"===this.state.statusFilter?1:.3,background:"paused"===this.state.statusFilter?"gray":"inherit"},onClick:function(t){var s="paused"===e.state.statusFilter?"":"paused";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),e.setState({statusFilter:s})}}),o.a.createElement(k.MdPause,{key:"filterByProblem",title:C.a.t("Show only scripts with problems"),className:this.props.classes.footerButtons,style:{color:je,opacity:"problems"===this.state.statusFilter?1:.3,background:"problems"===this.state.statusFilter?"gray":"inherit"},onClick:function(t){var s="problems"===e.state.statusFilter?"":"problems";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),e.setState({statusFilter:s})}}),o.a.createElement("img",{key:"filterBlockly",className:this.props.classes.footerButtons,alt:"Blockly",style:{opacity:"Blockly"===this.state.typeFilter?1:.3,background:"Blockly"===this.state.typeFilter?"gray":"inherit"},src:Je.Blockly||Je.def,onClick:function(t){var s="Blockly"===e.state.typeFilter?"":"Blockly";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),e.setState({typeFilter:s})}}),o.a.createElement("img",{key:"filterJS",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:Je["Javascript/js"]||Je.def,onClick:function(t){var s="Javascript/js"===e.state.typeFilter?"":"Javascript/js";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),e.setState({typeFilter:s})}}),o.a.createElement("img",{key:"filterTS",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:Je["TypeScript/ts"]||Je.def,onClick:function(t){var s="TypeScript/ts"===e.state.typeFilter?"":"TypeScript/ts";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),e.setState({typeFilter:s})}}),o.a.createElement(k.MdUnfoldMore,{key:"expandAll",className:this.props.classes.footerButtons+" "+this.props.classes.footerButtonsRight,title:C.a.t("Expand all"),onClick:function(){return e.onExpandAll()}}),this.state.expanded.length?o.a.createElement(k.MdUnfoldLess,{key:"collapseAll",className:this.props.classes.footerButtons+" "+this.props.classes.footerButtonsRight,title:C.a.t("Collapse all"),onClick:function(){return e.onCollapseAll()}}):null]}},{key:"render",value:function(){var e=this,t=this.props.classes,s=this.state.renaming&&this.state.listItems.find((function(t){return t.id===e.state.renaming})),a=this.state.copingScript&&this.props.objects[this.state.copingScript];return[o.a.createElement(M.a,{key:"drawer",variant:"permanent",className:t.menu,classes:{paper:t.drawerPaper},anchor:"left",onClick:function(){return e.onClick({id:""})}},o.a.createElement("div",{className:t.toolbar},this.getToolbarButtons()),o.a.createElement(T.a,null),o.a.createElement(W.a,{onDragStart:function(t){return e.onDragStart(t)},onDragEnd:function(t){return e.onDragEnd(t)},onDragUpdate:function(t){return e.onDragUpdate(t)}},o.a.createElement(W.c,{droppableId:"droppable"},(function(s,a){return o.a.createElement("div",{ref:s.innerRef,className:t.innerMenu},e.renderAllItems(e.state.listItems))}))),o.a.createElement(T.a,null),o.a.createElement("div",{className:t.footer},this.getBottomButtons())),s?o.a.createElement(me,{key:"dialog-rename",name:s.title,title:C.a.t("Rename"),id:this.state.renaming,folder:"folder"===s.type,instance:s.instance,instances:this.props.instances,onClose:function(){return e.setState({renaming:!1})},onRename:function(t,s,a,o){return e.props.onRename&&e.props.onRename(t,s,a,o)}}):null,this.state.deleting?o.a.createElement(ye,{key:"dialog-delete",name:this.state.listItems.find((function(t){return t.id===e.state.deleting})).title,id:this.state.deleting,onClose:function(){return e.setState({deleting:!1})},onDelete:function(t){return e.props.onDelete&&e.props.onDelete(t)}}):null,this.state.choosingType?o.a.createElement(Ae,{key:"dialog-script-type",onClose:function(t){e.setState({choosingType:!1}),t&&e.setState({creatingScript:t})}}):null,this.state.creatingScript?o.a.createElement(Oe,{key:"dialog-new-script",onClose:function(){return e.setState({creatingScript:!1})},title:C.a.t("Create new script"),name:this.getUniqueName(),parents:this.getFolders(),folder:!1,existingItems:this.state.listItems.map((function(e){return e.id})),instance:this.props.instances[0]||0,instances:this.props.instances,type:this.state.creatingScript,parent:this.parent,onAdd:function(t,s,a,o){e.props.onAddNew&&e.props.onAddNew(t,s,!1,a,o)}}):null,this.state.copingScript?o.a.createElement(Oe,{key:"dialog-copy-script",onClose:function(){return e.setState({copingScript:""})},title:C.a.t("Copy script"),name:this.getUniqueName(this.state.copingScript),parents:this.getFolders(),folder:!1,instance:parseInt(a&&a.common&&a.common.engine&&a.common.engine.split(".").pop()||0,10),instances:this.props.instances,type:a&&a.common&&a.common.engineType||"Javascript/js",parent:this.parent,onAdd:function(t,s,a,o){var n=e.state.copingScript&&e.props.objects[e.state.copingScript];n&&n.common&&(n.common.enabled=!1),e.props.onAddNew&&e.props.onAddNew(t,s,!1,a,o,n&&n.common&&n.common.source)}}):null,this.state.creatingFolder?o.a.createElement(Oe,{key:"dialog-new-folder",onClose:function(){return e.setState({creatingFolder:!1})},title:C.a.t("Create new folder"),parents:this.getFolders(),name:this.getUniqueFolderName(),parent:this.parent,onAdd:function(t,s){e.props.onAddNew&&e.props.onAddNew(t,s,!0)}}):null,this.state.errorText?o.a.createElement(Me,{onClose:function(){return e.setState({errorText:""})},text:this.state.errorText}):null]}}],[{key:"filterListStatic",value:function(e,t,s,a,o){t=JSON.parse(JSON.stringify(t));var n=!1,r={listItems:t};if(!1!==e&&s&&a){var i=a.toLowerCase();if(t.forEach((function(e){var t=e.title.toLowerCase();e.filteredPartly=!1;var s=-1!==t.indexOf(i);if(!s&&o&&o[e.id]&&o[e.id].common&&o[e.id].common.source)if("Blockly"===o[e.id].common.engineType){var a=o[e.id].common.source.lastIndexOf("//");s=-1!==o[e.id].common.source.substring(0,a).toLowerCase().indexOf(i)}else s=-1!==o[e.id].common.source.toLowerCase().indexOf(i);s?e.filtered&&(e.filtered=!1,n=!0):e.filtered||(e.filtered=!0,n=!0)})),n)for(var c=t.length-1;c>=0;c--){var l=t[c];if(!l.filtered||l.filteredPartly){var d=l;do{d.parent&&t[d.parentIndex]&&(n=!0,t[d.parentIndex].filteredPartly=!0),d=d.parent&&t[d.parentIndex]?t[d.parentIndex]:null}while(d)}}}else t.forEach((function(e){(e.filtered||e.filteredPartly)&&(e.filtered=!1,e.filteredPartly=!1,n=!0)})),!1===e&&(r.searchText="",r.searchMode=!1,n=!0);return n?r:null}},{key:"ensureSelectedIsVisibleStatic",value:function(e,t,s){t=JSON.parse(JSON.stringify(t));var a=!1,o="object"===typeof e?e:s.find((function(t){return t.id===e}));do{(o=o&&o.parent&&s.find((function(e){return e.id===o.parent})))&&-1===t.indexOf(o.id)&&(t.push(o.id),a=!0)}while(o);return a&&t}},{key:"getDerivedStateFromProps",value:function(e,t){var a={},o=!1;if(t.expertMode!==e.expertMode&&(o=!0,a.expertMode=e.expertMode),t.scriptsHash!==e.scriptsHash&&e.scripts){var n=Re(e.scripts||{});if(a.listItems=n,t.searchText){var r=s.filterListStatic(!0,n,t.searchMode,t.searchText,e.objects);r&&Object.assign(a,r)}var i=s.getIsAllZeroInstancesStatic(n,e.instances||[]),c=s.ensureSelectedIsVisibleStatic(t.selected,t.expanded,t.listItems);a.isAllZeroInstances=i,c&&(a.expanded=c),o=!0}if(t.width!==e.width&&(o=!0,a.width=e.width),t.theme!==e.theme&&(o=!0,a.theme=e.theme),e.selectId&&t.selected!==e.selectId){var l=t.listItems.find((function(t){return t.id===e.selectId}));if(!t.reorder&&l){var d=s.ensureSelectedIsVisibleStatic(l,t.expanded,t.listItems);a.selected=l.id,d&&(a.expanded=d),o=!0,window.localStorage&&window.localStorage.setItem("SideMenu.selected",l.id)}}return o?a:null}},{key:"getIsAllZeroInstancesStatic",value:function(e,t){var s=!t[0]&&t.length<=1;return s&&e.forEach((function(e){"folder"!==e.type&&0!==e.instance&&(s=!1)})),s}}]),s}(o.a.Component),We=Object(g.a)((function(e){return{drawerPaper:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},toolbar:{height:oe.toolbar.height},toolbarButtons:{color:"dark"===e.palette.type?"white !important":"black !important"},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"},filterIcon:{width:18,height:18,borderRadius:2,marginRight:5},scriptIcon:{width:18,height:18,borderRadius:2},gripHandle:{paddingRight:13},noGripHandle:{width:29},folder:{background:"dark"===e.palette.type?"#6a6a6a":"#e2e2e2",cursor:"pointer",padding:0,userSelect:"none"},element:{cursor:"pointer",padding:0,userSelect:"none"},reorder:{padding:"9px 16px 9px 9px"},expandButton:{width:37,height:37},selected:oe.colors.selected,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.type?"#ffffff":"#111111",cursor:"pointer",marginTop:1,marginRight:2,height:22,width:22},footerButtonsRight:{float:"right"}}}))(Fe),Le=s(88);var Pe={},Ue=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a;return Object(h.a)(this,s),(a=t.call(this,e)).state={lines:{},goBottom:!0,selected:null,editing:a.props.editing||[]},a.lastIndex=null,a.messagesEnd=o.a.createRef(),a.logHandlerBound=a.logHandler.bind(Object(x.a)(a)),a}return Object(u.a)(s,[{key:"generateLine",value:function(e){return o.a.createElement("tr",{key:"tr_"+e.ts+"_"+e.message.substr(-10),className:this.props.classes[e.severity]},o.a.createElement("td",{key:"tdTime",className:this.props.classes.trTime},function(e){var t,s=e.getHours();return s<10&&(s="0"+s.toString()),t=s+":",(s=e.getMinutes())<10&&(s="0"+s.toString()),t+=s+":",(s=e.getSeconds())<10&&(s="0"+s.toString()),t+=s+".",(s=e.getMilliseconds())<10?s="00"+s.toString():s<100&&(s="0"+s.toString()),t+=s}(new Date(e.ts))),o.a.createElement("td",{key:"tdSeverity",className:this.props.classes.trSeverity},e.severity),o.a.createElement("td",{key:"tdMessage"},e.message))}},{key:"scrollToBottom",value:function(){this.messagesEnd&&this.messagesEnd.current&&this.messagesEnd.current.scrollIntoView({behavior:"smooth"})}},{key:"logHandler",value:function(e){var t=this.state.lines,s=this.state.editing.find((function(t){return-1!==e.message.indexOf(t)}));if(s){var a=t[s]||[],o=Pe[s]||[];a.push(this.generateLine(e));var n=e.severity;"info"!==n&&"warn"!==n||(n+=" ");var r,i=new Date(e.ts);o.push("".concat(i.toLocaleString(),".").concat((r=i.getMilliseconds(),r<10?"00"+r:r<100?"0"+r:r),"\t[").concat(n,"]: ").concat(e.message)),a.length>300&&(a.splice(0,a.length-300),o.splice(0,a.length-300)),Pe[s]=o,t[s]=a,this.setState({lines:t})}}},{key:"componentDidMount",value:function(){this.props.connection.registerLogHandler(this.logHandlerBound)}},{key:"componentWillUnmount",value:function(){this.props.connection.unregisterLogHandler(this.logHandlerBound)}},{key:"componentDidUpdate",value:function(){this.state.goBottom&&this.scrollToBottom()}},{key:"onCopy",value:function(){!function(e){var t=window.document.createElement("textarea");t.value=e,window.document.body.appendChild(t),t.select(),window.document.execCommand("copy"),window.document.body.removeChild(t)}((Pe[this.state.selected]||[]).join("\n"))}},{key:"clearLog",value:function(){var e=this.state.lines;e[this.state.selected]&&(e[this.state.selected]=[]),Pe[this.state.selected]&&(Pe[this.state.selected]=[]),this.setState({lines:e})}},{key:"render",value:function(){var e=this,t=this.state.selected&&this.state.lines[this.state.selected];return o.a.createElement("div",{className:this.props.classes.logBox},o.a.createElement("div",{className:this.props.classes.toolbox,key:"toolbox"},o.a.createElement(F.a,{className:this.props.classes.iconButtons,onClick:function(){return e.setState({goBottom:!e.state.goBottom})},color:this.state.goBottom?"secondary":""},o.a.createElement(k.MdVerticalAlignBottom,null)),t&&t.length?o.a.createElement(F.a,{className:this.props.classes.iconButtons,onClick:function(){return e.clearLog()}},o.a.createElement(k.MdDeleteForever,null)):null,t&&t.length?o.a.createElement(F.a,{className:this.props.classes.iconButtons,onClick:function(){return e.onCopy()}},o.a.createElement(k.MdContentCopy,null)):null,this.props.onLayoutChange?o.a.createElement(F.a,{className:this.props.classes.iconButtons,onClick:function(){return e.props.onLayoutChange()},title:C.a.t("Change layout")},o.a.createElement("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),this.state.selected&&t&&t.length?o.a.createElement("div",{className:this.props.classes.logBoxInner,key:"logList"},o.a.createElement("table",{key:"logTable",className:this.props.classes.table},o.a.createElement("tbody",null,t)),o.a.createElement("div",{key:"logScrollPoint",ref:this.messagesEnd,style:{float:"left",clear:"both"}})):o.a.createElement("div",{key:"logList",className:this.props.classes.logBoxInner,style:{paddingLeft:10}},C.a.t("Log outputs")))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var s=!1,a={};if(e.selected!==t.selected){var o=e.selected,n=t.lines;n[o]=n[o]||[],Pe[o]=Pe[o]||[],a.selected=o,s=!0}if(JSON.stringify(e.editing)!==JSON.stringify(t.editing)){var r=JSON.parse(JSON.stringify(e.editing)),i=t.lines;for(var c in Pe)Pe.hasOwnProperty(c)&&-1===r.indexOf(c)&&(delete Pe[c],delete i[c]);a.editing=r}return s?a:null}}]),s}(o.a.Component),He=Object(Le.withStyles)((function(e){return{logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:{color:"dark"===e.palette.type?"white":"black",width:"calc(100% - ".concat(34,"px)"),height:"100%",marginLeft:34,overflow:"auto",position:"relative"},info:{background:"dark"===e.palette.type?"darkgrey":"lightgrey",color:(e.palette.type,"black")},error:{background:"#FF0000",color:"dark"===e.palette.type?"black":"white"},warn:{background:"#FF8000",color:"dark"===e.palette.type?"black":"white"},debug:{background:"gray",opacity:.8,color:"dark"===e.palette.type?"black":"white"},silly:{background:"gray",opacity:.6,color:"dark"===e.palette.type?"black":"white"},table:{fontFamily:"monospace",width:"100%"},toolbox:{position:"absolute",top:0,left:0,marginLeft:2,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)"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4},layoutIcon:{width:24,height:24,background:"dark"===e.palette.type?"#9d9d9d":void 0,borderRadius:"dark"===e.palette.type?30:void 0}}}))(Ue),Ye=s(158),Ze=s(322),Qe=s(317),qe=s(319),Ve=s(326),Ke=s(325),Ge=s(169),Xe=s.n(Ge),$e=s(175),et=s(313);var tt,st=0,at=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a;return Object(h.a)(this,s),(a=t.call(this,e)).state={name:"current",isDark:e.isDark||!1,language:e.language||"javascript",readOnly:e.readOnly||!1,alive:!0,check:!1,searchText:a.props.searchText||""},a.monacoDiv=null,a.editor=null,a.monaco=window.monaco,a.insert="",a.originalCode=e.code||"",a.globalTypingHandles=[],a.typings={},a.lastSearch="",a}return Object(u.a)(s,[{key:"waitForMonaco",value:function(e){var t=this;if(this.monaco)e&&e();else{if(this.monaco=window.monaco,this.monacoCounter=this.monacoCounter||0,this.monacoCounter++,!this.monaco&&this.monacoCounter<20)return console.log("wait for monaco loaded"),setTimeout((function(){return t.waitForMonaco(e)}),200);this.monacoCounter>=20&&console.error("Cannot load monaco!")}}},{key:"componentDidMount",value:function(){var e=this;if(!this.monaco&&(this.monaco=window.monaco,!this.monaco))return console.log("wait for monaco loaded"),this.waitForMonaco((function(){return e.componentDidMount()}));if(!this.editor){this.props.onRegisterSelect&&this.props.onRegisterSelect((function(){return e.editor.getModel().getValueInRange(e.editor.getSelection())}));var t=this.monaco.languages.typescript.typescriptDefaults.getCompilerOptions();t.target=this.monaco.languages.typescript.ScriptTarget.ES2015,t.allowJs=!0,t.checkJs=!1!==this.props.checkJs,t.noLib=!0,t.lib=[],t.moduleResolution=this.monaco.languages.typescript.ModuleResolutionKind.NodeJs,this.monaco.languages.typescript.typescriptDefaults.setCompilerOptions(t),this.setTypeCheck(!1),this.editor=this.monaco.editor.create(this.monacoDiv,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0}),this.editor.onDidChangeModelContent((function(t){return e.onChange(e.editor.getValue())}));var s=this.props.connection.getScripts().instances[0];(s||0===s)&&this.props.connection.sendTo("javascript."+s,"loadTypings",null,(function(t){e.setState({alive:!0,check:!0}),e.setTypeCheck(!0),t.typings?(e.typings=t.typings,e.setEditorTypings()):console.error("failed to load typings: ".concat(t.error))})),this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KEY_S,(function(){return e.onForceSave()})),setTimeout((function(){return e.highlightText(e.state.searchText)}))}var a={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(a),this.editor.focus(),this.editor.setValue(this.originalCode)}},{key:"setEditorOptions",value:function(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"))}},{key:"componentWillUnmount",value:function(){this.editor&&(this.props.onRegisterSelect&&this.props.onRegisterSelect(null),this.editor.dispose(),this.editor=null)}},{key:"setEditorLanguage",value:function(e){var t=this.editor.getModel(),s=t.getValue(),a=t.uri.path,o="string"===typeof a&&a.indexOf(".")>-1?a.substr(0,a.lastIndexOf(".")):"index",n="javascript"===e?"js":"typescript"===e?"ts":"coffee"===e?"coffee":e;t.dispose();var r="javascript"===e||"typescript"===e?"typescript":e,i=this.monaco.editor.createModel(s,r,this.monaco.Uri.from({path:"".concat(o).concat(st++,".").concat(n)}));this.editor.setModel(i)}},{key:"setTypeCheck",value:function(e){var t={noSemanticValidation:!this.state.alive||!e,noSyntaxValidation:!this.state.alive};this.monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions(t)}},{key:"addTypingsToEditor",value:function(e,t,s){try{var a=this.monaco.languages.typescript.typescriptDefaults.addExtraLib(t,e);s&&this.globalTypingHandles.push(a)}catch(o){}}},{key:"setEditorTypings",value:function(){var e,t=Object($e.a)(this.globalTypingHandles);try{for(t.s();!(e=t.n()).done;){var s=e.value;s&&s.dispose()}}catch(l){t.e(l)}finally{t.f()}for(var a,o=(a=this.state.name,/^script\.js\.global\./.test(a)),n=this.state.name+".d.ts",r=0,i=Object.keys(this.typings);r=0;o--)if("//"===s[o].substring(0,2)){a=s[o].substring(2);break}if("'+e+"");var t=e.replace(/[\n\r]/g,"").match(/(.*)<\/variables>/);if(t){var s=this.Blockly.utils.xml.textToDomDocument(""+t[1]+"");if(s){var a=s.childNodes&&s.childNodes[0]&&s.childNodes[0].childNodes;if(a)for(var o=0;o.*<\/variables>/g,""),window.scripts.loading=!0;var n=this.Blockly.Xml.textToDom(e);if("xml"===n.nodeName)for(var r=0;r';window.scripts.loading=!0;var s=this.Blockly.Xml.textToDom(t);this.Blockly.Xml.domToWorkspace(s,this.blocklyWorkspace),window.scripts.loading=!1}catch(a){console.error(a),window.alert("Cannot extract Blockly code!")}setTimeout((function(){return e.ignoreChanges=!1}),100)}}},{key:"onBlocklyChanged",value:function(){this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange()}},{key:"componentDidUpdate",value:function(){var e=this;if(this.blockly&&(this.didUpdate&&(clearTimeout(this.didUpdate),this.didUpdate=null),!this.blocklyWorkspace)){window.addEventListener("resize",this.onResizeBind,!1),ut=ut||this.getToolbox(),tt=tt||this.Blockly.Xml.textToDom(ut),this.blocklyWorkspace=this.Blockly.inject(this.blockly,{media:"google-blockly/media/",toolbox:tt,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}}),window.scripts={blocklyWorkspace:this.blocklyWorkspace},this.blocklyWorkspace.addChangeListener((function(t){if(e.someSelected&&Date.now()-e.someSelectedTime>500){var s=e.blocklyWorkspace.getAllBlocks();e.someSelected=null,s.forEach((function(e){return e.removeSelect()}))}t.type!==e.Blockly.Events.UI&&t.type!==e.Blockly.Events.CREATE&&(e.ignoreChanges||(e.changeTimer&&clearTimeout(e.changeTimer),e.changeTimer=setTimeout((function(){e.changeTimer=null,e.onBlocklyChanged()}),200)))})),this.loadCode(),this.onResize();var t=document.getElementsByClassName("blocklyToolboxDiv")[0];this.blockly.appendChild(t),this.updateBackground(),setTimeout((function(){return e.searchId()}),200)}}},{key:"updateBackground",value:function(){var e=document.getElementsByClassName("blocklyMainBackground")[0];if("dark"===this.state.theme){for(var t=0,s=0;s',this.Blockly[o].blocks)this.Blockly[o].blocks.hasOwnProperty(n)&&(t+=this.Blockly[o].blocks[n]);t+=""}e=e.replace("%%CUSTOM_BLOCKS%%",t)}return e}},{key:"render",value:function(){var e=this;return this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout((function(){e.didUpdate=null,e.componentDidUpdate()}),100),[o.a.createElement("div",{key:"blocklyDOM",ref:function(t){return e.blockly=t},style:{width:"100%",height:"100%",position:"relative"}}),this.state.message?o.a.createElement(D.a,{key:"dialogMessage",text:"object"===typeof this.state.message?this.state.message.text:this.state.message,title:"object"===typeof this.state.message?this.state.message.title:"",onClose:function(){return e.setState({message:""})}}):null,this.state.error?o.a.createElement(Me,{key:"dialogError",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:function(){e.blinkBlock&&(e.blocklyBlinkBlock(e.blinkBlock),e.blinkBlock=null),e.setState({error:""})}}):null,this.state.exportText?o.a.createElement(ct,{key:"dialogExport",theme:this.props.theme,onClose:function(){return e.setState({exportText:""})},text:this.state.exportText}):null,this.state.importText?o.a.createElement(dt,{key:"dialogImport",theme:this.props.theme,onClose:function(t){e.setState({importText:!1}),e.onImportBlocks(t)}}):null]):null}}],[{key:"loadJS",value:function(e,t,s){var a=document.createElement("script");try{a.src=e,a.onload=t,a.onreadystatechange=t,a.onerror=t,(s||window.document.body).appendChild(a)}catch(o){console.error("Cannot load "+e+": "+o),t&&t()}}},{key:"loadScripts",value:function(e,t){if(!e||!e.length)return t&&t();var a=e.pop();-1===mt.indexOf(a)?(mt.push(a),s.loadJS("../../adapter/"+a+"/blockly.js",(function(){return setTimeout((function(){return s.loadScripts(e,t)}),0)}))):setTimeout((function(){return s.loadScripts(e,t)}),0)}},{key:"loadCustomBlockly",value:function(e,t){var a=[];for(var o in e)e.hasOwnProperty(o)&&e[o]&&o.match(/^system\.adapter\./)&&"adapter"===e[o].type&&e[o].common&&e[o].common.blockly&&(console.log("Detected custom blockly: "+e[o].common.name),a.push(e[o].common.name));s.loadScripts(a,t)}},{key:"loadXMLDoc",value:function(e){return(window.DOMParser?function(e){return(new window.DOMParser).parseFromString(e,"text/xml")}:"undefined"!=typeof window.ActiveXObject&&new window.ActiveXObject("Microsoft.XMLDOM")?function(e){var t=new window.ActiveXObject("Microsoft.XMLDOM");return t.async="false",t.loadXML(e),t}:function(){return null})(e)}},{key:"searchXml",value:function(e,t,a,o){if(o=o||[],"BLOCK"===e.tagName&&(a=e.id),"FIELD"===e.tagName)for(var n=0;n-1||e.indexOf("L")>0}function p(e,t){return d(e)&&!d(t)?1:e-t}function h(e){var t,s=+e,a=0;return 0!==s&&isFinite(s)&&(a=(t=s)<0?Math.ceil(t):Math.floor(t)),a}function u(e){var t=e%10;return e+(1===h(e%100/10)?s.ORDINALS.th:1===t?s.ORDINALS.st:2===t?s.ORDINALS.nd:3===t?s.ORDINALS.rd:s.ORDINALS.th)}function m(e){if(e.length<2)return u(e);var t=e.pop();return e.join(", ")+" "+s.and+" "+u(t)}function y(e,t){return"dow"===t?s.DOW[e-1]:"mon"===t?s.MONTH[e-1]:void 0}function g(e,t){if(e.length<2)return y(""+e[0],t);for(var a,o=""+e.pop(),n="",r=0;a=e[r];r++)n.length>0&&(n+=", "),n+=y(a,t);return n+" "+s.and+" "+y(o,t)}function f(e){return e<10?"0"+e:e}return function(e,t){var a=s.Every+" ";if(e.h&&e.m&&e.h.length<=2&&e.m.length<=2&&t&&e.s&&e.s.length<=2){for(var o=[],n=0;n1)for(var c=parseInt(i[1],10),l=parseInt(i[0],10);l<=c;l++)s.push(l);else s.push(parseInt(n[r],10))}(s=s.map((function(e){return parseInt(e,10)}))).sort();for(var d=s.length-1;d>=0;d--)s[d]===s[d+1]&&s.splice(d+1,1);return s}function Ot(e,t){if("object"!==typeof e&&(e=[e]),e.length===t)return"*";var s=[];if(!e.length)return"-";(e=e.map((function(e){return parseInt(e,10)}))).sort((function(e,t){return e-t}));for(var a=e[0],o=e[0],n=1;n60&&(s.period=60),s.period<1&&(s.period=1),s.minutes>60&&(s.minutes=60),s.minutes<1&&(s.minutes=1),s.hours>24&&(s.hours=24),s.hours<1&&(s.hours=1),e.extended)t="".concat(s.minutes>1?"*/"+s.minutes:"*"," ").concat(s.hours>1?"*/"+s.hours:"*"," * * *");else switch(s.unit){case Tt.seconds:t="".concat(s.period>1?"*/"+s.period:"*"," * * * * *");break;case Tt.minutes:t="".concat(s.period>1?"*/"+s.period:"*"," * * * *")}}else if(e.mode===Mt.intervalBetween){var a,o=e.intervalBetween||{};switch(o.timeFrom=o.timeFrom||0,o.timeTo=void 0===o.timeTo?24:o.timeTo,a=0===o.timeFrom&&24===o.timeTo?"*":o.timeFrom!==o.timeTo?o.timeFrom+"-"+o.timeTo:"*",o.period>60&&(o.period=60),o.period<1&&(o.period=1),o.unit=o.unit||Tt.minutes,o.unit){case Tt.seconds:t="".concat(o.period>1?"*/"+o.period:"*"," * ").concat(a," * * ").concat(this.periodArray2text(o.weekdays));break;case Tt.minutes:t="".concat(o.period>1?"*/"+o.period:"*"," ").concat(a," * * ").concat(this.periodArray2text(o.weekdays))}}else if(e.mode===Mt.specific){var n=e.specific||{},r=(n.time||"00:00").split(":"),i=parseInt(r[1],10)||0;i>59&&(i=59),i<0&&(i=0);var c=parseInt(r[0],10)||0;c>23&&(c=59),c<0&&(c=0),t="".concat(i," ").concat(c," * * ").concat(this.periodArray2text(n.weekdays||[]))}else if(e.mode===Mt.once){var l=e.once||{};l.date||(l.date=(new Date).getDate()+"."+Bt((new Date).getMonth()+1));var d=(l.time||"00:00").split(":"),p=l.date.split("."),h=parseInt(d[1],10)||0;h>59&&(h=59),h<0&&(h=0);var u=parseInt(d[0],10)||0;u>23&&(u=59),u<0&&(u=0);var m=parseInt(p[0],10)||1;m>31&&(m=31),m<1&&(u=1);var y=parseInt(p[1],10)||1;y>12&&(y=12),y<1&&(y=1),t="".concat(h," ").concat(u," ").concat(m," ").concat(y," *")}return t}}]),s}(o.a.Component),Rt=Object(g.a)((function(e){return{mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}}}))(zt),Ft=(s(132),s(318)),Wt=(s(130),["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]),Lt=["January","February","March","April","May","June","July","August","September","October","November","December"],Pt="minutes",Ut="hours",Ht=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function Yt(e){return e<10?"0"+e:""+e}var Zt={time:{exactTime:!1,start:"00:00",end:"23:59",mode:"hours",interval:1},period:{once:"",days:1,dows:"",dates:"",weeks:0,months:"",years:0,yearMonth:0,yearDate:0},valid:{from:"",to:""}};function Qt(e){var t=e.split(".");if(3===t.length)return t[2]+"-"+t[1]+"-"+t[0]}var qt=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a,n;if(Object(h.a)(this,s),(a=t.call(this,e)).props.schedule&&"string"===typeof a.props.schedule&&"{"===a.props.schedule[0])try{n=JSON.parse(a.props.schedule)}catch(r){}return n&&Object.keys(n).length||!a.props.onChange||setTimeout((function(){return a.onChange(a.state.schedule,!0)}),200),n=n||{},(n=Object.assign({},Zt,n)).valid.from=n.valid.from||a.now2string(),a.refFrom=o.a.createRef(),a.refTo=o.a.createRef(),a.refOnce=o.a.createRef(),a.state={schedule:n,desc:a.state2text(n)},JSON.stringify(n)!==a.props.schedule&&setTimeout((function(){return a.props.onChange&&a.props.onChange(JSON.stringify(n))}),100),a}return Object(u.a)(s,[{key:"onChange",value:function(e,t){var s=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(t||s){s&&this.setState({schedule:e,desc:this.state2text(e)});var a=JSON.parse(JSON.stringify(e));if(a.period.once){var o=a.period.once;delete a.period,a.period={once:o},delete a.valid}else if(a.period.days){var n=a.period.days,r=a.period.dows;delete a.period,a.period={days:n},r&&"[]"!==r&&(a.period.dows=r)}else if(a.period.weeks){var i=a.period.weeks,c=a.period.dows;delete a.period,a.period={weeks:i},c&&"[]"!==c&&(a.period.dows=c)}else if(a.period.months){var l=a.period.months,d=a.period.dates;delete a.period,a.period={months:l},d&&"[]"!==d&&(a.period.dates=d)}else if(a.period.years){var p=a.period.years,h=a.period.yearMonth,u=a.period.yearDate;delete a.period,a.period={years:p,yearDate:u},h&&(a.period.yearMonth=h)}if(a.time.exactTime?(delete a.time.end,delete a.time.mode,delete a.time.interval):delete a.time.exactTime,a.valid){if(a.valid.to||delete a.valid.to,1===a.period.days||1===a.period.weeks||1===a.period.months||1===a.period.years){var m=this.string2date(a.valid.from),y=new Date;y.setHours(0),y.setMinutes(0),y.setSeconds(0),y.setMilliseconds(0),m<=y&&delete a.valid.from}a.valid.from||a.valid.to||delete a.valid}this.props.onChange&&this.props.onChange(JSON.stringify(a))}}},{key:"state2text",value:function(e){var t=[],s=this.string2date(e.valid.from);if(e.period.once){var a=this.string2date(e.period.once),o=new Date;if(o.setMilliseconds(0),o.setSeconds(0),o.setMinutes(0),o.setHours(0),aDate.now()&&e.valid.to?t.push(C.a.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):s.getTime()>Date.now()?t.push(C.a.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&t.push(C.a.t("sch_desc_validTo",e.valid.to))),t.join(" ")}},{key:"getTimePeriodElements",value:function(){var e=this,t=this.state.schedule,s=!1,a=!1,n=!1,r=!0;return"00:00"===t.time.start&&"24:00"===t.time.end?(s=!0,r=!1):"sunrise"===t.time.start?(a=!0,r=!1):"sunset"===t.time.start&&(n=!0,r=!1),o.a.createElement("div",{key:"timePeriod",className:this.props.classes.rowDiv},o.a.createElement("div",{className:this.props.classes.modeDiv},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:!t.time.exactTime,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.exactTime=!1,e.onChange(t)}}),label:C.a.t("sch_intervalTime")})),o.a.createElement("div",{className:this.props.classes.settingsDiv},o.a.createElement("div",{className:this.props.classes.settingsDiv},!t.time.exactTime&&o.a.createElement("div",null,o.a.createElement("div",null,o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:r,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="00:00",t.time.end="23:59",e.onChange(t)}}),label:r?"":C.a.t("sch_fromTo")}),r&&[o.a.createElement(de.a,{className:this.props.classes.inputTime,style:{marginRight:10},key:"exactTimeFrom",type:"time",value:this.state.schedule.time.start,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.start=t.target.value,e.onChange(s)},InputLabelProps:{shrink:!0},label:C.a.t("sch_from"),margin:"normal"}),o.a.createElement(de.a,{className:this.props.classes.inputTime,key:"exactTimeTo",type:"time",value:this.state.schedule.time.end,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.end=t.target.value,e.onChange(s)},InputLabelProps:{shrink:!0},label:C.a.t("sch_to"),margin:"normal"})])),!t.time.exactTime&&o.a.createElement("div",null,o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:s,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="00:00",t.time.end="24:00",e.onChange(t)}}),label:C.a.t("sch_wholeDay")})),!t.time.exactTime&&o.a.createElement("div",null,o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:a,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="sunrise",t.time.end="sunset",e.onChange(t)}}),label:C.a.t("sch_astroDay")})),!t.time.exactTime&&o.a.createElement("div",null,o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:n,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="sunset",t.time.end="sunrise",e.onChange(t)}}),label:C.a.t("sch_astroNight")}))),!t.time.exactTime&&this.getPeriodSettingsMinutes()))}},{key:"getTimeExactElements",value:function(){var e=this,t=-1!==Ht.indexOf(this.state.schedule.time.start);return o.a.createElement("div",{key:"timeExact",className:this.props.classes.rowDiv},o.a.createElement("div",{className:this.props.classes.modeDiv},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:this.state.schedule.time.exactTime,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.exactTime=!0,e.onChange(t)}}),label:C.a.t("sch_exactTime")})),this.state.schedule.time.exactTime&&o.a.createElement(he.a,{value:t?this.state.schedule.time.start:"00:00",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.start=t.target.value,e.onChange(s)}},o.a.createElement(P.a,{key:"specific",value:"00:00"},C.a.t("sch_specificTime")),Ht.map((function(e){return o.a.createElement(P.a,{key:e,value:e},C.a.t("sch_astro_"+e))}))),this.state.schedule.time.exactTime&&!t&&o.a.createElement("div",{className:this.props.classes.settingsDiv},o.a.createElement(de.a,{className:this.props.classes.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.start=t.target.value,e.onChange(s)},InputLabelProps:{shrink:!0},margin:"normal"})))}},{key:"getDivider",value:function(){return o.a.createElement("hr",{className:this.props.classes.hr})}},{key:"getPeriodModes",value:function(){var e=this,t=this.state.schedule,s=!t.period.dows&&!t.period.months&&!t.period.dates&&!t.period.years&&!t.period.days&&!t.period.weeks;return s&&!t.period.once&&(t.period.once=this.now2string(!0)),[o.a.createElement("div",{key:"once",className:this.props.classes.rowDiv+" "+this.props.classes.rowOnce},o.a.createElement("div",{className:this.props.classes.modeDiv},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:s,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.once=t.period.once||e.now2string(!0),t.period.dows="",t.period.months="",t.period.dates="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.days=0,e.onChange(t)}}),label:C.a.t("sch_periodOnce")})),s&&o.a.createElement("div",{className:this.props.classes.settingsDiv},o.a.createElement(de.a,{className:this.props.classes.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:Qt(t.period.once),onChange:function(t){e.timerOnce&&clearTimeout(e.timerOnce),e.refOnce.current.style.background="#ff000030",e.timerOnce=setTimeout((function(t){e.timerOnce=null,e.refOnce.current.style.background="";var s=JSON.parse(JSON.stringify(e.state.schedule)),a=e.string2date(t);"Invalid Date"!==a.toString()&&(s.period.once=Yt(a.getDate())+"."+Yt(a.getMonth()+1)+"."+a.getFullYear(),e.onChange(s))}),1500,t.target.value)},InputLabelProps:{shrink:!0},label:C.a.t("sch_at"),margin:"normal"}))),o.a.createElement("div",{key:"days",className:this.props.classes.rowDiv+" "+this.props.classes.rowDays},o.a.createElement("div",{className:this.props.classes.modeDiv},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:!!t.period.days,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.days=1,t.period.dows="",t.period.months="",t.period.dates="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.once="",e.onChange(t)}}),label:C.a.t("sch_periodDaily")})),o.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsDaily(),t.period.days?this.getPeriodSettingsWeekdays():null)),o.a.createElement("div",{key:"weeks",className:this.props.classes.rowDiv+" "+this.props.classes.rowDows},o.a.createElement("div",{className:this.props.classes.modeDiv},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:!!t.period.weeks,onClick:function(){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.weeks=t.period.weeks?0:1,s.period.dows=t.period.dows||"[0]",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.days=0,s.period.once="",e.onChange(s)}}),label:C.a.t("sch_periodWeekly")})),o.a.createElement("div",{className:this.props.classes.settingsDiv},o.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsWeekly()),o.a.createElement("div",{className:this.props.classes.settingsDiv+" "+this.props.classes.rowDowsDows},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),o.a.createElement("div",{key:"months",className:this.props.classes.rowDiv+" "+this.props.classes.rowMonths},o.a.createElement("div",{className:this.props.classes.modeDiv},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:!!t.period.months,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months=1,t.period.dows="",t.period.dates="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.days=0,t.period.once="",e.onChange(t)}}),label:C.a.t("sch_periodMonthly")})),o.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsMonthly(),t.period.months?o.a.createElement("div",null,o.a.createElement("div",{className:this.props.classes.settingsDiv+" "+this.props.classes.rowMonthsDates},o.a.createElement(_t.a,{control:o.a.createElement(Ke.a,{className:this.props.classes.inputRadio,checked:!!t.period.dates,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months=t.period.months||1;for(var s=[],a=1;a<=31;a++)s.push(a);t.period.dates=t.period.dates||JSON.stringify(s),t.period.dows="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.days=0,t.period.once="",e.onChange(t)}}),label:C.a.t("sch_periodDates")})),o.a.createElement("div",{className:this.props.classes.settingsDiv+" "+this.props.classes.rowMonthsDates},this.getPeriodSettingsDates())):null)),o.a.createElement("div",{key:"years",className:this.props.classes.rowDiv+" "+this.props.classes.rowYears},o.a.createElement("div",{className:this.props.classes.modeDiv},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:!!t.period.years,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.years=1,t.period.yearDate=1,t.period.yearMonth=1,t.period.dows="",t.period.months=0,t.period.dates="",t.period.weeks=0,t.period.days=0,t.period.once="",e.onChange(t)}}),label:C.a.t("sch_periodYearly")})),o.a.createElement("div",{className:this.props.classes.settingsDiv},o.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsYearly()),!!t.period.years&&o.a.createElement("div",{className:this.props.classes.settingsDiv},o.a.createElement("span",null,C.a.t("sch_on")),o.a.createElement(U.a,{key:"input",value:this.state.schedule.period.yearDate,className:this.props.classes.inputEvery,type:"number",min:"1",max:"31",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.yearDate=parseInt(t.target.value,10),s.period.yearDate<1&&(s.period.yearDate=31),s.period.yearDate>31&&(s.period.yearDate=1),e.onChange(s)}}),o.a.createElement(he.a,{value:t.period.yearMonth,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.yearMonth=t.target.value,e.onChange(s)}},o.a.createElement(P.a,{key:"every",value:0},C.a.t("sch_yearEveryMonth")),Lt.map((function(e,t){return o.a.createElement(P.a,{key:e,value:t+1},C.a.t(e))}))))))]}},{key:"getPeriodSettingsMinutes",value:function(){var e=this;return o.a.createElement("div",{style:{display:"inline-block"}},o.a.createElement("label",null,C.a.t("sch_every")),o.a.createElement(U.a,{value:this.state.schedule.time.interval,style:{verticalAlign:"bottom"},className:this.props.classes.inputEvery,type:"number",min:"1",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.interval=parseInt(t.target.value,10),e.onChange(s)}}),o.a.createElement(he.a,{value:this.state.schedule.time.mode,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.mode=t.target.value,e.onChange(s)}},o.a.createElement(P.a,{value:Pt},C.a.t("sch_periodMinutes")),o.a.createElement(P.a,{value:Ut},C.a.t("sch_periodHours"))))}},{key:"getPeriodSettingsWeekdays",value:function(){var e=this,t=this.state.schedule,s=t.period.dows&&"[1, 2, 3, 4, 5]"!==t.period.dows&&"[0, 6]"!==t.period.dows;return[o.a.createElement("div",{key:"workdays"},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:"[1, 2, 3, 4, 5]"===t.period.dows,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.dows="[1, 2, 3, 4, 5]",t.period.days&&(t.period.days=1),e.onChange(t)}}),label:C.a.t("sch_periodWorkdays")})),o.a.createElement("div",{key:"weekend"},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:"[0, 6]"===t.period.dows,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.dows="[0, 6]",t.period.days&&(t.period.days=1),e.onChange(t)}}),label:C.a.t("sch_periodWeekend")})),o.a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},o.a.createElement(_t.a,{style:{verticalAlign:"top"},control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:s,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.dows="[0,1,2,3,4,5,6]",t.period.days&&(t.period.days=1),e.onChange(t)}}),label:C.a.t("sch_periodWeekdays")}),s&&(1===t.period.days||t.period.weeks)&&o.a.createElement(Ft.a,{row:!0,className:this.props.classes.inputGroup,style:{width:150}},[1,2,3,4,5,6,0].map((function(s){return o.a.createElement(_t.a,{key:"specific_"+s,className:e.props.classes.inputGroupElement,control:o.a.createElement(Ke.a,{className:e.props.classes.inputSmallCheck,checked:-1!==t.period.dows.indexOf(""+s),onChange:function(t){var a,o=JSON.parse(JSON.stringify(e.state.schedule));try{a=JSON.parse(o.period.dows)}catch(t){a=[]}t.target.checked&&-1===a.indexOf(s)?a.push(s):t.target.checked||-1===a.indexOf(s)||a.splice(a.indexOf(s),1),a.sort((function(e,t){return e-t})),o.period.dows=JSON.stringify(a),o.period.days&&(o.period.days=1),e.onChange(o)}}),label:C.a.t(Wt[s])})}))))]}},{key:"getPeriodSettingsDaily",value:function(){var e=this;if(this.state.schedule.period.days){var t=this.state.schedule;return[o.a.createElement("div",{key:"every_day"},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:1===t.period.days&&!t.period.dows,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.days=1,t.period.dows="",e.onChange(t)}}),label:C.a.t("sch_periodEveryDay")})),o.a.createElement("div",{key:"everyN_day"},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:t.period.days>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.days=2,t.period.dows="",e.onChange(t)}}),label:C.a.t("sch_periodEvery")}),t.period.days>1&&[o.a.createElement(U.a,{key:"input",value:this.state.schedule.period.days,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.days=parseInt(t.target.value,10),s.period.dows="",e.onChange(s)}}),o.a.createElement("span",{key:"span",style:{paddingRight:10}},C.a.t("sch_periodDay"))])]}}},{key:"getPeriodSettingsWeekly",value:function(){var e=this;if(this.state.schedule.period.weeks){var t=this.state.schedule;return[o.a.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},o.a.createElement("div",null,o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:1===t.period.weeks,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.weeks=1,e.onChange(t)}}),label:C.a.t("sch_periodEveryWeek")})),o.a.createElement("div",null,o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:t.period.weeks>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.weeks=2,e.onChange(t)}}),label:C.a.t("sch_periodEvery")}),t.period.weeks>1&&[o.a.createElement(U.a,{value:this.state.schedule.period.weeks,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.weeks=parseInt(t.target.value,10),e.onChange(s)}}),o.a.createElement("span",null,C.a.t("sch_periodWeek"))]))]}}},{key:"getPeriodSettingsDates",value:function(){var e=this;if(this.state.schedule.period.dates){for(var t=this.state.schedule,s=[],a=1;a<=31;a++)s.push(a);var n=JSON.parse(t.period.dates);return o.a.createElement(Ft.a,{row:!0,className:this.props.classes.inputGroup,style:{maxWidth:620}},o.a.createElement(_t.a,{className:this.props.classes.inputDateDay,control:o.a.createElement(Ke.a,{className:this.props.classes.inputDateDayCheck,checked:31===n.length,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],o=1;o<=31;o++)a.push(o);s.period.dates=JSON.stringify(a),e.onChange(s)}}),label:C.a.t("sch_all")}),o.a.createElement(_t.a,{className:this.props.classes.inputDateDay,control:o.a.createElement(Ke.a,{className:this.props.classes.inputDateDayCheck,checked:!n.length,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.dates="[]",e.onChange(s)}}),label:C.a.t("sch_no_one")}),31!==n.length&&!!n.length&&o.a.createElement(_t.a,{className:this.props.classes.inputDateDay,control:o.a.createElement(Ke.a,{className:this.props.classes.inputDateDayCheck,checked:!1,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],o=JSON.parse(s.period.dates),n=1;n<=31;n++)-1===o.indexOf(n)&&a.push(n);a.sort((function(e,t){return e-t})),s.period.dates=JSON.stringify(a),e.onChange(s)}}),label:C.a.t("sch_invert")}),o.a.createElement("div",null),s.map((function(s){return o.a.createElement(_t.a,{key:"date_"+s,className:e.props.classes.inputDateDay,style:s?{}:{opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:o.a.createElement(Ke.a,{className:e.props.classes.inputDateDayCheck,checked:-1!==JSON.parse(t.period.dates).indexOf(s),onChange:function(t){var a,o=JSON.parse(JSON.stringify(e.state.schedule));try{a=JSON.parse(o.period.dates)}catch(t){a=[]}t.target.checked&&-1===a.indexOf(s)?a.push(s):t.target.checked||-1===a.indexOf(s)||a.splice(a.indexOf(s),1),a.sort((function(e,t){return e-t})),o.period.dates=JSON.stringify(a),e.onChange(o)}}),label:s<10?[o.a.createElement("span",{key:"0",style:{opacity:0}},"0"),o.a.createElement("span",{key:"num"},s)]:s})})))}}},{key:"getPeriodSettingsMonthly",value:function(){var e=this;if(this.state.schedule.period.months){var t=this.state.schedule,s="string"===typeof t.period.months?JSON.parse(t.period.months):[];return[o.a.createElement("div",{key:"every"},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:"number"===typeof t.period.months&&1===t.period.months,onClick:function(){JSON.parse(JSON.stringify(e.state.schedule)).period.months=1,e.onChange(t)}}),label:C.a.t("sch_periodEveryMonth")})),o.a.createElement("div",{key:"everyN"},o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:"number"===typeof t.period.months&&t.period.months>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months=2,e.onChange(t)}}),label:C.a.t("sch_periodEvery")}),"number"===typeof t.period.months&&t.period.months>1&&[o.a.createElement(U.a,{value:t.period.months,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.months=parseInt(t.target.value,10),s.period.months<1&&(s.period.months=1),e.onChange(s)}}),o.a.createElement("span",null,C.a.t("sch_periodMonth"))]),o.a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},o.a.createElement(_t.a,{style:{verticalAlign:"top"},control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:"string"===typeof t.period.months,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",e.onChange(t)}}),label:C.a.t("sch_periodSpecificMonths")}),"string"===typeof t.period.months&&o.a.createElement(Ft.a,{row:!0,className:this.props.classes.inputGroup},o.a.createElement(_t.a,{className:this.props.classes.inputDateDay,control:o.a.createElement(Ke.a,{className:this.props.classes.inputDateDayCheck,checked:12===s.length,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],o=1;o<=12;o++)a.push(o);s.period.months=JSON.stringify(a),e.onChange(s)}}),label:C.a.t("sch_all")}),o.a.createElement(_t.a,{className:this.props.classes.inputDateDay,control:o.a.createElement(Ke.a,{className:this.props.classes.inputDateDayCheck,checked:!s.length,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.months="[]",e.onChange(s)}}),label:C.a.t("sch_no_one")}),12!==s.length&&!!s.length&&o.a.createElement(_t.a,{className:this.props.classes.inputDateDay,control:o.a.createElement(Ke.a,{className:this.props.classes.inputDateDayCheck,checked:!1,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],o=JSON.parse(s.period.months),n=1;n<=12;n++)-1===o.indexOf(n)&&a.push(n);a.sort((function(e,t){return e-t})),s.period.months=JSON.stringify(a),e.onChange(s)}}),label:C.a.t("sch_invert")}),o.a.createElement("div",null),Lt.map((function(s,a){return o.a.createElement(_t.a,{className:e.props.classes.inputGroupElement,control:o.a.createElement(Ke.a,{className:e.props.classes.inputSmallCheck,checked:-1!==JSON.parse(t.period.months).indexOf(a+1),onChange:function(t){var s,o=JSON.parse(JSON.stringify(e.state.schedule));try{s=JSON.parse(o.period.months)}catch(t){s=[]}t.target.checked&&-1===s.indexOf(a+1)?s.push(a+1):t.target.checked||-1===s.indexOf(a+1)||s.splice(s.indexOf(a+1),1),s.sort((function(e,t){return e-t})),o.period.months=JSON.stringify(s),e.onChange(o)}}),label:C.a.t(s)})}))))]}}},{key:"getPeriodSettingsYearly",value:function(){var e=this;if(this.state.schedule.period.years){var t=this.state.schedule;return[o.a.createElement("div",null,o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:1===t.period.years,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.years=1,e.onChange(t)}}),label:C.a.t("sch_periodEveryYear")})),o.a.createElement("div",null,o.a.createElement(_t.a,{control:o.a.createElement(kt.a,{className:this.props.classes.inputRadio,checked:t.period.years>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.years=2,e.onChange(t)}}),label:C.a.t("sch_periodEvery")}),t.period.years>1&&[o.a.createElement(U.a,{value:this.state.schedule.period.years,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.years=parseInt(t.target.value,10),s.period.years<1&&(s.period.years=1),e.onChange(s)}}),o.a.createElement("span",null,C.a.t("sch_periodYear"))])]}}},{key:"now2string",value:function(e){var t=new Date;return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),e&&(t.setDate(t.getDate()+2),t.setMilliseconds(t.getMilliseconds()-1)),Yt(t.getDate())+"."+Yt(t.getMonth()+1)+"."+Yt(t.getFullYear())}},{key:"string2date",value:function(e){var t=e.split(".");return 1===t.length?(t=e.split("-"),new Date(parseInt(t[0],10),parseInt(t[1],10)-1,parseInt(t[2],10))):new Date(parseInt(t[2],10),parseInt(t[1],10)-1,parseInt(t[0],10))}},{key:"getValidSettings",value:function(){var e=this,t=this.state.schedule;return o.a.createElement("div",{className:this.props.classes.rowDiv},o.a.createElement("div",{className:this.props.classes.modeDiv,style:{verticalAlign:"middle"}},o.a.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},C.a.t("sch_valid")),o.a.createElement("span",null,C.a.t("sch_validFrom"))),o.a.createElement("div",{className:this.props.classes.settingsDiv},o.a.createElement(de.a,{className:this.props.classes.inputDate,style:{marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:Qt(t.valid.from),type:"date",onChange:function(t){e.timerFrom&&clearTimeout(e.timerFrom),e.refFrom.current.style.background="#ff000030",e.timerFrom=setTimeout((function(t){e.timerFrom=null,e.refFrom.current.style.background="";var s=JSON.parse(JSON.stringify(e.state.schedule)),a=e.string2date(t);"Invalid Date"!==a.toString()&&(s.valid.from=Yt(a.getDate())+"."+Yt(a.getMonth()+1)+"."+a.getFullYear(),e.onChange(s))}),1500,t.target.value)},InputLabelProps:{shrink:!0},margin:"normal"}),o.a.createElement(_t.a,{control:o.a.createElement(Ke.a,{className:this.props.classes.inputRadio,checked:!!t.valid.to,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.valid.to=t.valid.to?"":e.now2string(!0),e.onChange(t)}}),label:C.a.t("sch_validTo")}),!!t.valid.to&&o.a.createElement(de.a,{inputRef:this.refTo,className:this.props.classes.inputDate,style:{marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:Qt(t.valid.to),onChange:function(t){e.timerTo&&clearTimeout(e.timerTo),e.refTo.current.style.background="#ff000030",e.timerTo=setTimeout((function(t){e.timerTo=null,e.refTo.current.style.background="";var s=JSON.parse(JSON.stringify(e.state.schedule)),a=e.string2date(t);"Invalid Date"!==a.toString()&&(s.valid.to=Yt(a.getDate())+"."+Yt(a.getMonth()+1)+"."+a.getFullYear(),e.onChange(s))}),1500,t.target.value)},InputLabelProps:{shrink:!0},margin:"normal"})))}},{key:"render",value:function(){return o.a.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},o.a.createElement("div",null,this.state.desc),o.a.createElement("div",{className:this.props.classes.scrollWindow},o.a.createElement("h5",null,C.a.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),this.getDivider(),o.a.createElement("h5",null,C.a.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&this.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}]),s}(o.a.Component),Vt=Object(g.a)((function(e){return{hr:{border:0,borderTop:"1px solid gray"},scrollWindow:{width:"100%",overflow:"auto",height:"calc(100% - 22px)"},rowDiv:{width:"100%"},modeDiv:{width:200,display:"inline-block",verticalAlign:"top"},settingsDiv:{display:"inline-block",verticalAlign:"top"},inputTime:{width:90,marginTop:0,marginLeft:5},inputDate:{width:140,marginTop:0,marginLeft:5},inputEvery:{width:40,marginLeft:5,marginRight:5},inputRadio:{padding:"4px 12px",verticalAlign:"top"},inputGroup:{maxWidth:400,display:"inline-block"},inputGroupElement:{width:120},inputDateDay:{width:60},inputDateDayCheck:{padding:4},inputSmallCheck:{padding:0},rowOnce:{},rowDays:{background:"dark"!==e.palette.type?"#ddeaff":"#4b5057"},rowDows:{background:"dark"!==e.palette.type?"#DDFFDD":"#52646c"},rowDates:{background:"dark"!==e.palette.type?"#DDDDFF":"#747a86"},rowWeeks:{background:"dark"!==e.palette.type?"#DDDDFF":"#717680"},rowMonths:{background:"dark"!==e.palette.type?"#DDFFFF":"#1f5557"},rowMonthsDates:{background:"dark"!==e.palette.type?"#EEFFFF":"#3c5737",maxWidth:600},rowYears:{background:"dark"!==e.palette.type?"#fbffdd":"#574b33"},rowDaysDows:{background:"dark"!==e.palette.type?"#EEEAFF":"#573544",paddingLeft:10,paddingBottom:10},rowDowsDows:{background:"dark"!==e.palette.type?"#EEFFEE":"#3d4c54",paddingLeft:10,paddingBottom:10}}}))(qt),Kt=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a,o;return Object(h.a)(this,s),(a=t.call(this,e)).props.cron&&"string"===typeof a.props.cron&&"{"!==a.props.cron.replace(/^["']/,"")[0]?o=a.props.cron.replace(/['"]/g,"").trim():"string"===typeof(o=a.props.cron||"{}")&&(o=o.replace(/^["']/,"").replace(/["']\n?$/,"")),a.state={cron:o,mode:a.props.simple?"simple":"object"===typeof o||"{"===o[0]?"wizard":Rt.cron2state(a.props.cron||"* * * * *")?"simple":"complex"},a}return Object(u.a)(s,[{key:"handleCancel",value:function(){this.props.onClose()}},{key:"handleOk",value:function(){this.props.onOk(this.state.cron),this.props.onClose()}},{key:"setMode",value:function(e){this.setState({mode:e})}},{key:"render",value:function(){var e=this;return o.a.createElement(le.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,classes:{paper:this.props.classes.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},o.a.createElement(re.a,{id:"cron-dialog-title"},this.props.title||C.a.t("Define schedule...")),o.a.createElement(ie.a,{style:{height:"100%",overflow:"hidden"}},!this.props.simple&&o.a.createElement("div",null,o.a.createElement(kt.a,{key:"wizard",checked:"wizard"===this.state.mode,onChange:function(t){return e.setMode("wizard")}}),o.a.createElement("label",{onClick:function(t){return e.setMode("wizard")},style:"wizard"!==this.state.mode?{color:"lightgrey"}:{}},C.a.t("sc_wizard")),o.a.createElement(kt.a,{key:"simple",checked:"simple"===this.state.mode,onChange:function(t){return e.setMode("simple")}}),o.a.createElement("label",{onClick:function(t){return e.setMode("simple")},style:"simple"!==this.state.mode?{color:"lightgrey"}:{}},C.a.t("sc_simple")),o.a.createElement(kt.a,{key:"complex",checked:"complex"===this.state.mode,onChange:function(t){return e.setMode("complex")}}),o.a.createElement("label",{onClick:function(t){return e.setMode("complex")},style:"complex"!==this.state.mode?{color:"lightgrey"}:{}},C.a.t("sc_cron"))),"simple"===this.state.mode&&o.a.createElement(Rt,{cronExpression:this.state.cron,onChange:function(t){return e.setState({cron:t})},language:C.a.getLanguage()}),"wizard"===this.state.mode&&o.a.createElement(Vt,{schedule:this.state.cron,onChange:function(t){return e.setState({cron:t})},language:C.a.getLanguage()}),"complex"===this.state.mode&&o.a.createElement(It,{cronExpression:this.state.cron,onChange:function(t){return e.setState({cron:t})},language:C.a.getLanguage()})),o.a.createElement(ce.a,null,o.a.createElement(ne.a,{onClick:function(){return e.handleOk()},color:"primary"},this.props.ok||C.a.t("Ok")),o.a.createElement(ne.a,{onClick:function(){return e.handleCancel()},color:"secondary"},this.props.cancel||C.a.t("Cancel"))))}}]),s}(o.a.Component),Gt=Object(Le.withStyles)((function(e){return{headerID:{fontWeight:"bold",fontStyle:"italic"},radio:{display:"inline-block"},dialogPaper:{height:"calc(100% - 96px)"}}}))(Kt),Xt=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a;return Object(h.a)(this,s),(a=t.call(this,e)).state={source:a.props.source},!a.state.source&&a.props.isReturn&&(a.state.source="\nreturn false"),a}return Object(u.a)(s,[{key:"componentDidMount",value:function(){setTimeout((function(){try{window.document.getElementById("source-text-area").focus()}catch(e){}}),100)}},{key:"handleCancel",value:function(){this.props.onClose(!1)}},{key:"handleOk",value:function(){this.props.isReturn&&-1===this.state.source.indexOf("return ")||this.props.onClose(this.state.source)}},{key:"onChange",value:function(e){this.setState({source:e})}},{key:"render",value:function(){var e=this,t=this.props.classes;return o.a.createElement(le.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"lg",classes:{paper:t.dialog},fullWidth:!0,open:!0,"aria-labelledby":"source-dialog-title"},o.a.createElement(re.a,{id:"source-dialog-title"},C.a.t("Function editor")),o.a.createElement(ie.a,{className:t.fullHeight},this.props.args&&o.a.createElement("div",{key:"arguments",className:t.args},o.a.createElement("span",{className:t.argsTitle},C.a.t("function (")),this.props.args,o.a.createElement("span",{className:t.argsTitle},")")),o.a.createElement(at,{className:t.textArea,style:{height:this.props.args?"calc(100% - 30px)":"100%"},key:"scriptEditor",name:"blockly",connection:this.props.connection,readOnly:!1,checkJs:!1,code:this.state.source,isDark:"dark"===this.props.theme,onChange:function(t){return e.onChange(t)},language:"javascript"})),o.a.createElement(ce.a,null,o.a.createElement(ne.a,{onClick:function(t){return e.handleOk()},color:"primary"},C.a.t("Save")),o.a.createElement(ne.a,{onClick:function(t){return e.handleCancel()},color:"secondary"},C.a.t("Cancel"))))}}]),s}(o.a.Component),$t=Object(g.a)((function(e){return{textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:{color:"dark"===e.palette.type?"white":"black",height:30,width:"100%",fontSize:16},argsTitle:{color:"dark"===e.palette.type?"white":"black",fontWeight:"bold"}}}))(Xt),es={Blockly:te.a,"Javascript/js":$.a,def:$.a,"TypeScript/ts":ae.a},ts=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a;Object(h.a)(this,s),a=t.call(this,e);var n=window.localStorage.getItem("Editor.selected")||"",r=window.localStorage.getItem("Editor.editing")||"[]";try{r=JSON.parse(r)}catch(l){r=[]}n&&-1===r.indexOf(n)&&r.push(n),a.tabsRef=o.a.createRef(),a.state={selected:n,editing:r,changed:{},blockly:null,debugEnabled:!1,verboseEnabled:!1,showBlocklyCode:!1,showSelectId:!1,showCron:!1,showScript:!1,insert:"",searchText:"",theme:a.props.theme,visible:e.visible,cmdToBlockly:"",menuOpened:!!a.props.menuOpened,menuTabsOpened:!1,menuTabsAnchorEl:null,runningInstances:a.props.runningInstances||{},showDebugMenu:!1,toast:""},a.setChangedInAdmin(),a.selectId={initValue:null,callback:null},a.cron={initValue:null,callback:null},a.scriptDialog={initValue:null,callback:null,args:null,isReturn:!1};var i=[];if(a.props.objects)for(var c in a.props.objects)a.props.objects.hasOwnProperty(c)&&c.startsWith("system.adapter.")&&a.props.objects[c]&&"instance"===a.props.objects[c].type&&i.push(c);return window.systemLang=C.a.getLanguage(),window.main={objects:a.props.objects,instances:i,selectIdDialog:function(e,t){a.selectId.callback=t,a.selectId.initValue=e,a.setState({showSelectId:!0})},cronDialog:function(e,t){a.cron.callback=t,a.cron.initValue=e,a.setState({showCron:!0})},showScriptDialog:function(e,t,s,o){a.scriptDialog.callback=o,a.scriptDialog.initValue=e,a.scriptDialog.args=t,a.scriptDialog.isReturn=s||!1,a.setState({showScript:!0})}},a.objects=e.objects,a.scripts={},!a.state.selected&&a.state.editing.length&&(a.state.selected=a.state.editing[0]),a.props.onSelectedChange&&a.state.selected&&setTimeout((function(){return a.props.onSelectedChange(a.state.selected,a.state.editing)}),100),a.onBrowserCloseBound=a.onBrowserClose.bind(Object(x.a)(a)),a}return Object(u.a)(s,[{key:"setChangedInAdmin",value:function(){var e=this,t=Object.keys(this.state.changed).find((function(t){return e.state.changed[t]}));"undefined"!==typeof window.parent&&window.parent&&(window.parent.configNotSaved=t)}},{key:"componentDidMount",value:function(){window.addEventListener("beforeunload",this.onBrowserCloseBound,!1)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("beforeunload",this.onBrowserCloseBound)}},{key:"onBrowserClose",value:function(e){var t=this,s=Object.keys(this.scripts).find((function(e){return JSON.stringify(t.scripts[e])!==JSON.stringify(t.props.objects[e].common)}));if(s){console.log("Script "+console.log("Script "+JSON.stringify(this.scripts[s])));var a=C.a.t("Configuration not saved.");return(e=e||window.event)&&(e.returnValue=a),a}}},{key:"removeNonExistingScripts",value:function(e,t){e=e||this.props,t=t||{};var s=!1;if(this.state.editing&&e.objects["system.config"]&&this.state.editing.find((function(t){return!e.objects[t]}))){for(var a=JSON.parse(JSON.stringify(this.state.editing)),o=a.length-1;o>=0;o--)this.objects[a[o]]||(s=!0,a.splice(o,1));s&&(t.editing=a),this.state.selected&&!this.objects[this.state.selected]&&(s=!0,t.selected=a[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.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}},{key:"UNSAFE_componentWillReceiveProps",value:function(e){var t=this,s={},a=!1;if(JSON.stringify(e.runningInstances)!==JSON.stringify(this.state.runningInstances)&&(a=!0,s.runningInstances=e.runningInstances),this.state.menuOpened!==e.menuOpened&&(s.menuOpened=e.menuOpened,a=!0),this.state.theme!==e.theme&&(s.theme=e.theme,a=!0),this.removeNonExistingScripts(e,s)&&(a=!0),this.state.searchText!==e.searchText&&(s.searchText=e.searchText,a=!0),this.objects!==e.objects){for(var o in this.objects=e.objects,window.main.objects=e.objects,this.scripts)if(this.scripts.hasOwnProperty(o)){var n=this.scripts[o].source;this.scripts[o]=JSON.parse(JSON.stringify(this.objects[o].common)),this.scripts[o].source=n}var r=[];for(var i in window.main.objects)window.main.objects.hasOwnProperty(i)&&i.startsWith("system.adapter.")&&window.main.objects[i]&&"instance"===window.main.objects[i].type&&r.push(i);window.main.instances=r,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)&&(s.blockly="Blockly"===this.scripts[this.state.selected].engineType,a=!0),this.state.verboseEnabled!==this.scripts[this.state.selected].verbose&&(s.verboseEnabled=this.scripts[this.state.selected].verbose,a=!0),this.state.debugEnabled!==this.scripts[this.state.selected].debug&&(s.debugEnabled=this.scripts[this.state.selected].debug,a=!0));for(var c=JSON.parse(JSON.stringify(this.state.editing)),l=c.length-1;l>=0;l--)this.objects[c[l]]||(a=!0,c.splice(l,1),void 0!==this.state.changed[c[l]]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),delete s.changed[c[l]]));this.state.selected&&!this.objects[this.state.selected]&&(s.selected=c[0]||""),a&&(s.editing=c)}else for(var d in this.scripts)if(this.scripts.hasOwnProperty(d))if(this.objects[d]&&this.objects[d].common){var p=this.scripts[d].source,h=JSON.parse(JSON.stringify(this.scripts[d]));h.source=this.objects[d].common.source,JSON.stringify(h)!==JSON.stringify(this.objects[d].common)&&(this.scripts[d]=JSON.parse(JSON.stringify(this.objects[d].common)),this.scripts[d].source=p),p!==this.objects[d].common.source?this.state.changed[d]?this.objects[d].from&&this.objects[d].from.startsWith("system.adapter.javascript.")&&(this.objects[d].from="system.adapter.admin.0",this.setState({toast:C.a.t("Script %s was modified on disk.",d.split(".").pop())})):this.scripts[d].source=this.objects[d].common.source:this.state.changed[d]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed[d]=!1,a=!0)}else if(delete this.scripts[d],this.state.selected===d){if(-1!==this.state.editing.indexOf(d)){var u=JSON.parse(JSON.stringify(this.state.editing)),m=u.indexOf(d);-1!==m&&(u.splice(m,1),s.editing=u,a=!0)}s.selected=this.state.editing[0]||"",a=!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)));var y=this.props.objects[e.selected]&&this.props.objects[e.selected].common,g=y&&JSON.stringify(this.scripts[e.selected])!==JSON.stringify(y),f=JSON.parse(JSON.stringify(this.state.editing));e.selected&&-1===f.indexOf(e.selected)&&(f.push(e.selected),this.props.onSelectedChange(e.selected,f),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(f))),a=!0,s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed[e.selected]=g,s.editing=f,s.selected=e.selected,s.blockly="Blockly"===this.scripts[e.selected].engineType,s.verboseEnabled=this.scripts[e.selected].verbose,s.debugEnabled=this.scripts[e.selected].debug,s.showBlocklyCode=!1}this.state.visible!==e.visible&&(a=!0,s.visible=e.visible),a&&this.setState(s,(function(){return t.setChangedInAdmin()}))}},{key:"onRestart",value:function(){this.props.onRestart&&this.props.onRestart(this.state.selected)}},{key:"onSave",value:function(){var e=this;if(this.state.changed[this.state.selected]){var t=JSON.parse(JSON.stringify(this.state.changed));t[this.state.selected]=!1,this.setState({changed:t},(function(){e.setChangedInAdmin(),e.props.onChange&&e.props.onChange(e.state.selected,e.scripts[e.state.selected])}))}}},{key:"onCancel",value:function(){var e=this;this.scripts[this.state.selected]=JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));var t=JSON.parse(JSON.stringify(this.state.changed));t[this.state.selected]=!1,this.setState({changed:t},(function(){return e.setChangedInAdmin()}))}},{key:"onRegisterSelect",value:function(e){this.getSelect=e}},{key:"onConvert2JS",value:function(){var e=this;this.showConfirmDialog(C.a.t("It will not be possible to revert this operation."),(function(t){if(t){e.scripts[e.state.selected].engineType="Javascript/js";var s=e.scripts[e.state.selected].source.split("\n");s.pop(),e.scripts[e.state.selected].source=s.join("\n");var a=e.state.selected,o=JSON.parse(JSON.stringify(e.state.changed));o[e.state.selected]=!0,e.setState({changed:o,blockly:!1,selected:""},(function(){e.setChangedInAdmin(),setTimeout((function(){return e.setState({selected:a})}),100)}))}}))}},{key:"onChange",value:function(e){var t=this;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);var s=JSON.stringify(this.scripts[this.state.selected])!==JSON.stringify(this.props.objects[this.state.selected].common);if(s!==(this.state.changed[this.state.selected]||!1)){var a=JSON.parse(JSON.stringify(this.state.changed));a[this.state.selected]=s,this.objects[this.state.selected].from="system.adapter.admin.0",this.setState({changed:a},(function(){return t.setChangedInAdmin()}))}}},{key:"onTabChange",value:function(e,t){window.localStorage&&window.localStorage.setItem("Editor.selected",t);var s=this.scripts[t]||this.props.objects[t]&&this.props.objects[t].common;this.setState({selected:t,blockly:"Blockly"===s.engineType,showBlocklyCode:!1,verboseEnabled:s.verbose,debugEnabled:s.debug}),this.props.onSelectedChange&&this.props.onSelectedChange(t,this.state.editing)}},{key:"isScriptChanged",value:function(e){return this.scripts[e]&&this.props.objects[e]&&JSON.stringify(this.scripts[e])!==JSON.stringify(this.props.objects[e].common)}},{key:"onTabClose",value:function(e,t){var s=this;t&&t.stopPropagation();var a=this.state.editing.indexOf(e);if(-1!==this.state.editing.indexOf(e))if(this.isScriptChanged(e))this.showConfirmDialog(C.a.t("Discard changes for %s",this.props.objects[e].common.name),(function(t){t&&(delete s.scripts[e],s.onTabClose(e))}));else{var o=JSON.parse(JSON.stringify(this.state.editing));o.splice(a,1);var n={editing:o};if(e===this.state.selected?o.length?0===a||1===o.length?n.selected=o[0]:n.selected=o[a-1]:n.selected="":this.state.selected&&!o.length&&(n.selected=""),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(o)),void 0!==n.selected){n.changed=n.changed||JSON.parse(JSON.stringify(this.state.changed)),n.changed[n.selected]=this.isScriptChanged(n.selected);var r=n.selected&&(this.scripts[n.selected]||this.props.objects[n.selected]&&this.props.objects[n.selected].common);n.blockly=!!r&&"Blockly"===r.engineType,n.verboseEnabled=!!r&&r.verbose,n.debugEnabled=!!r&&r.debug,n.showBlocklyCode=!1}this.setState(n,(function(){s.setChangedInAdmin(),void 0!==n.selected?(s.props.onSelectedChange&&s.props.onSelectedChange(n.selected,s.state.editing),window.localStorage&&window.localStorage.setItem("Editor.selected",n.selected)):s.props.onSelectedChange&&s.props.onSelectedChange(s.state.selected,s.state.editing)}))}}},{key:"showConfirmDialog",value:function(e,t){this.confirmCallback=t,this.setState({confirm:e})}},{key:"sendCommandToBlockly",value:function(e){var t=this;this.setState({cmdToBlockly:e},(function(){return setTimeout((function(){return t.setState({cmdToBlockly:""})}),200)}))}},{key:"getTabs",value:function(){var e=this;return this.state.editing.length?[o.a.createElement(Ze.a,{component:"div",key:"tabs1",value:this.state.selected,onChange:function(t,s){return e.onTabChange(t,s)},indicatorColor:"primary",style:{position:"relative",width:this.state.editing.length>1?"calc(100% - 50px)":"100%",display:"inline-block"},textColor:"primary",variant:"scrollable",scrollButtons:"auto"},this.state.editing.map((function(t){if(e.props.objects[t]){var s=e.props.objects[t].common.name,a="";s.length>18&&(a=s,s=s.substring(0,15)+"...");var n=e.props.objects[t].common&&e.scripts[t]&&e.props.objects[t].common.source!==e.scripts[t].source,r=[o.a.createElement("img",{key:"icon",alt:"",src:es[e.props.objects[t].common.engineType]||es.def,className:e.props.classes.tabIcon}),o.a.createElement("div",{key:"text",className:e.props.classes.tabText+" "+(e.isScriptChanged(t)?e.props.classes.tabChanged:"")},s),n?o.a.createElement("span",{key:"changedSign",className:e.props.classes.tabChangedIcon},"\u25a3"):null,o.a.createElement("span",{key:"icon2",className:e.props.classes.closeButton},o.a.createElement(k.MdClose,{key:"close",onClick:function(s){return e.onTabClose(t,s)},fontSize:"small"}))];return o.a.createElement(Qe.a,{component:"div",href:"#"+t,key:t,label:r,className:e.props.classes.tabButton,value:t,title:a,classes:{wrapper:e.props.classes.tabButtonWrapper}})}var i=[o.a.createElement("div",{key:"text",className:e.props.classes.tabText+" "+(e.isScriptChanged(t)?e.props.classes.tabChanged:"")},t.split(".").pop()),o.a.createElement("span",{key:"icon",className:e.props.classes.closeButton},o.a.createElement(k.MdClose,{key:"close",onClick:function(s){return e.onTabClose(t,s)},fontSize:"small"}))];return o.a.createElement(Qe.a,{component:"div",href:"#"+t,key:t,label:i,value:t,classes:{wrapper:e.props.classes.tabButtonWrapper}})}))),this.state.editing.length>1?o.a.createElement(F.a,{key:"menuButton",href:"#","aria-label":"Close all but current",className:this.props.classes.tabMenuButton,title:C.a.t("Close all but current"),"aria-haspopup":"false",onClick:function(t){var s=[e.state.selected];Object.keys(e.scripts).forEach((function(t){return t!==e.state.selected&&JSON.stringify(e.scripts[t])!==JSON.stringify(e.props.objects[t].common)&&s.push(t)})),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(s)),e.setState({menuTabsOpened:!1,menuTabsAnchorEl:null,editing:s})}},o.a.createElement(k.MdClearAll,null)):null]:o.a.createElement("div",{key:"tabs2",className:this.props.classes.toolbar},o.a.createElement(ne.a,{key:"select1",disabled:!0,className:this.props.classes.hintButton,href:""},o.a.createElement("span",{key:"select2"},C.a.t("Click on this icon")),o.a.createElement(k.MdInput,{key:"select3",className:this.props.classes.hintIcon}),o.a.createElement("span",{key:"select4"},C.a.t("for edit or create script"))))}},{key:"getDebugMenu",value:function(){var e=this;return this.state.showDebugMenu?o.a.createElement(L.a,{key:"menuDebug",id:"menu-debug",anchorEl:this.state.menuDebugAnchorEl,open:this.state.showDebugMenu,onClose:function(){return e.setState({showDebugMenu:!1,menuDebugAnchorEl:null})},PaperProps:{style:{maxHeight:360}}},o.a.createElement(P.a,{key:"debugEnabled",title:C.a.t("debug_help"),onClick:function(t){t.stopPropagation(),t.preventDefault(),e.setState({showDebugMenu:!1,menuDebugAnchorEl:null,debugEnabled:!e.state.debugEnabled},(function(){return e.onChange({debug:e.state.debugEnabled})}))}},o.a.createElement(Ke.a,{checked:this.state.debugEnabled}),o.a.createElement(k.MdBugReport,{className:this.props.classes.menuIcon,style:{color:"#02a102"}}),C.a.t("debug")),o.a.createElement(P.a,{key:"verboseEnabled",title:C.a.t("verbose_help"),onClick:function(t){t.stopPropagation(),t.preventDefault(),e.setState({showDebugMenu:!1,menuDebugAnchorEl:null,verboseEnabled:!e.state.verboseEnabled},(function(){return e.onChange({verbose:e.state.verboseEnabled})}))}},o.a.createElement(Ke.a,{checked:this.state.verboseEnabled}),o.a.createElement(k.MdPlaylistAddCheck,{className:this.props.classes.menuIcon,style:{color:"#70aae9"}}),C.a.t("verbose"))):null}},{key:"getDebugBadge",value:function(){return[this.state.debugEnabled&&this.state.verboseEnabled&&o.a.createElement(k.MdBugReport,{key:"DebugVerbose",className:this.props.classes.menuIcon,style:{color:"#70aae9"}}),this.state.debugEnabled&&!this.state.verboseEnabled&&o.a.createElement(k.MdBugReport,{key:"DebugNoVerbose",className:this.props.classes.menuIcon,style:{color:"#02a102"}}),!this.state.debugEnabled&&this.state.verboseEnabled&&o.a.createElement(k.MdPlaylistAddCheck,{key:"noDebugVerbose",className:this.props.classes.menuIcon,style:{color:"#70aae9"}})]}},{key:"getToolbar",value:function(){var e=this,t=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine],s=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].enabled;if(this.state.selected){var a=this.state.changed[this.state.selected];return o.a.createElement(Ye.a,{variant:"dense",className:this.props.classes.toolbar,key:"toolbar1"},this.state.menuOpened&&this.props.onLocate&&o.a.createElement(F.a,{className:this.props.classes.toolbarButtons,key:"locate",title:C.a.t("Locate file"),onClick:function(){return e.props.onLocate(e.state.selected)}},o.a.createElement(k.MdGpsFixed,null)),!a&&t&&o.a.createElement(F.a,{key:"restart",variant:"contained",className:this.props.classes.toolbarButtons,onClick:function(){return e.onRestart()},title:C.a.t("Restart")},o.a.createElement(k.MdRefresh,null)),!a&&!s&&o.a.createElement("span",{className:this.props.classes.notRunning},C.a.t("Script is not running")),!a&&s&&!t&&o.a.createElement("span",{className:this.props.classes.notRunning},C.a.t("Instance is disabled")),a&&o.a.createElement(ne.a,{key:"save",variant:"contained",color:"secondary",className:this.props.classes.textButton,onClick:function(){return e.onSave()}},C.a.t("Save"),o.a.createElement(k.MdSave,null)),a&&o.a.createElement(ne.a,{key:"cancel",variant:"contained",className:this.props.classes.textButton,onClick:function(){return e.onCancel()}},C.a.t("Cancel"),o.a.createElement(k.MdCancel,null)),o.a.createElement("div",{style:{flex:2}}),this.state.blockly&&!this.state.showBlocklyCode&&o.a.createElement(F.a,{key:"export","aria-label":"Export Blocks",title:C.a.t("Export blocks"),className:this.props.classes.toolbarButtons,onClick:function(){return e.sendCommandToBlockly("export")}},o.a.createElement(G.FaFileExport,null)),this.state.blockly&&!this.state.showBlocklyCode&&o.a.createElement(F.a,{key:"import","aria-label":"Import Blocks",title:C.a.t("Import blocks"),className:this.props.classes.toolbarButtons,onClick:function(){return e.sendCommandToBlockly("import")}},o.a.createElement(G.FaFileImport,null)),this.state.blockly&&!this.state.showBlocklyCode&&o.a.createElement(F.a,{key:"check","aria-label":"Check code",title:C.a.t("Check blocks"),className:this.props.classes.toolbarButtons,onClick:function(){return e.sendCommandToBlockly("check")}},o.a.createElement(G.FaFlagCheckered,null)),!this.state.blockly&&!this.state.showBlocklyCode&&o.a.createElement(F.a,{key:"select-cron","aria-label":"create CRON",title:C.a.t("Create or edit CRON or time wizard"),className:this.props.classes.toolbarButtons,onClick:function(){return e.setState({showCron:!0})}},o.a.createElement(G.FaClock,null)),!this.state.blockly&&!this.state.showBlocklyCode&&o.a.createElement(F.a,{key:"select-id","aria-label":"select ID",title:C.a.t("Insert object ID"),className:this.props.classes.toolbarButtons,onClick:function(){return e.setState({showSelectId:!0})}},o.a.createElement(G.FaClipboardList,null)),this.state.blockly&&this.state.showBlocklyCode&&o.a.createElement(ne.a,{key:"convert2js","aria-label":"convert to javascript",title:C.a.t("Convert blockly to javascript for ever."),onClick:function(){return e.onConvert2JS()}},"Blockly=>JS"),this.state.blockly&&o.a.createElement(ne.a,{key:"blockly-code","aria-label":"blockly",title:C.a.t("Show javascript code"),className:this.props.classes.toolbarButtons,color:this.state.showBlocklyCode?"secondary":"inherit",style:{padding:"0 5px"},onClick:function(){return e.setState({showBlocklyCode:!e.state.showBlocklyCode})}},o.a.createElement("img",{alt:"blockly2js",src:Xe.a})),!this.state.showBlocklyCode&&o.a.createElement(F.a,{key:"debug","aria-label":"Debug menu",title:C.a.t("Debug options"),className:this.props.classes.toolbarButtons,onClick:function(t){return e.setState({showDebugMenu:!0,menuDebugAnchorEl:t.currentTarget})}},o.a.createElement(qe.a,{className:this.props.classes.badgeMargin,badgeContent:this.getDebugBadge()},o.a.createElement(k.MdBuild,null))))}return null}},{key:"getScriptEditor",value:function(){var e=this;return this.state.selected&&this.props.objects[this.state.selected]&&null!==this.state.blockly&&(!this.state.blockly||this.state.showBlocklyCode)?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),o.a.createElement("div",{className:this.props.classes.editorDiv,key:"scriptEditorDiv"},o.a.createElement(at,{key:"scriptEditor",name:this.state.selected,insert:this.state.insert,onInserted:function(){return e.setState({insert:""})},onForceSave:function(){return e.onSave()},searchText:this.state.searchText,onRegisterSelect:function(t){return e.onRegisterSelect(t)},readOnly:this.state.showBlocklyCode,changed:this.state.changed[this.state.selected],code:this.scripts[this.state.selected].source||"",isDark:"dark"===this.state.theme,connection:this.props.connection,onChange:function(t){return e.onChange({script:t})},language:"TypeScript/ts"===this.scripts[this.state.selected].engineType?"typescript":"javascript"}))):null}},{key:"getBlocklyEditor",value:function(){var e=this;return this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly&&!this.state.showBlocklyCode&&this.state.visible?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),o.a.createElement("div",{className:this.props.classes.editorDiv,key:"blocklyEditorDiv"},o.a.createElement(gt,{command:this.state.cmdToBlockly,key:"BlocklyEditor",theme:this.state.theme,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",onChange:function(t){return e.onChange({script:t})}}))):null}},{key:"getConfirmDialog",value:function(){var e=this;return this.state.confirm?o.a.createElement(O.a,{key:"dialogConfirm1",text:this.state.confirm,onClose:function(t){if(e.confirmCallback){var s=e.confirmCallback;e.confirmCallback=null,s(t)}e.setState({confirm:""})}}):null}},{key:"getSelectIdDialog",value:function(){var e=this;return this.state.showSelectId?o.a.createElement(vt.a,{key:"dialogSelectID1",prefix:"../..",theme:this.props.theme,connection:this.props.connection,selected:this.selectId.callback?this.selectId.initValue||"":this.getSelect?this.getSelect():"",statesOnly:!0,onClose:function(){return e.setState({showSelectId:!1})},onOk:function(t,s){e.selectId.initValue=null,e.selectId.callback?(e.selectId.callback(t),e.selectId.callback=null):e.setState({insert:"'".concat(t,"'/*").concat(s,"*/")})}}):null}},{key:"getCronDialog",value:function(){var e=this;return this.state.showCron?o.a.createElement(Gt,{key:"dialogCron1",cron:this.cron.callback?this.cron.initValue||"":this.getSelect?this.getSelect():"* * * * *",onClose:function(){return e.setState({showCron:!1})},onOk:function(t){e.cron.initValue=null,e.cron.callback?(e.cron.callback(t),e.cron.callback=null):e.setState({insert:"'".concat(t,"'")})}}):null}},{key:"getEditorDialog",value:function(){var e=this;return this.state.showScript?o.a.createElement($t,{key:"scriptEditorDialog",source:this.scriptDialog.initValue,args:this.scriptDialog.args?this.scriptDialog.args.join(", "):"",isReturn:this.scriptDialog.isReturn,connection:this.props.connection,theme:this.state.theme,onClose:function(t){e.scriptDialog.initValue=null,e.scriptDialog.callback&&(!1!==t&&e.scriptDialog.callback(t||""),e.scriptDialog.callback=null),e.setState({showScript:!1})}}):null}},{key:"getToast",value:function(){var e=this;return o.a.createElement(Ve.a,{key:"toast",anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!!this.state.toast,autoHideDuration:6e3,onClose:function(){return e.setState({toast:""})},ContentProps:{"aria-describedby":"message-id"},message:o.a.createElement("span",{id:"message-id"},this.state.toast),action:[o.a.createElement(F.a,{key:"close","aria-label":"close",color:"inherit",className:this.props.classes.closeToast,onClick:function(){return e.setState({toast:""})}},o.a.createElement(k.MdClose,null))]})}},{key:"render",value:function(){var e=this;return this.state.selected&&this.props.objects[this.state.selected]&&null===this.state.blockly&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),setTimeout((function(){var t={blockly:"Blockly"===e.scripts[e.state.selected].engineType,showBlocklyCode:!1,debugEnabled:e.scripts[e.state.selected].debug,verboseEnabled:e.scripts[e.state.selected].verbose};e.removeNonExistingScripts(null,t),e.setState(t)}),100)),[this.getTabs(),this.getToolbar(),this.getScriptEditor(),this.getBlocklyEditor(),this.getConfirmDialog(),this.getSelectIdDialog(),this.getCronDialog(),this.getEditorDialog(),this.getDebugMenu(),this.getToast()]}}]),s}(o.a.Component),ss=Object(g.a)((function(e){return{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},editorDiv:{height:"calc(100% - ".concat(oe.toolbar.height+38+1,"px)"),width:"100%",overflow:"hidden",position:"relative"},textButton:{marginRight:10,minHeight:24,padding:"6px 16px"},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},closeButton:{position:"absolute",top:8,right:0,zIndex:10,padding:8,cursor:"pointer"},notRunning:{color:"#ffbc00"},tabButton:{},tabButtonWrapper:{display:"inline-block"},menuIcon:{width:18,height:18,borderRadius:2,marginRight:5}}}))(ts),as=s(174),os=function(e){Object(m.a)(s,e);var t=Object(y.a)(s);function s(e){var a;return Object(h.a)(this,s),(a=t.call(this,e)).state={error:"",imageStatus:""},a}return Object(u.a)(s,[{key:"componentDidMount",value:function(){setTimeout((function(){try{window.document.getElementById("import-text-area").focus()}catch(e){}}),100)}},{key:"handleCancel",value:function(){this.props.onClose()}},{key:"onChange",value:function(e){this.setState({text:e.target.value})}},{key:"handleDropFile",value:function(e){var t=this;if(e&&e.hasOwnProperty("target")&&(e=e.target.files),e||e.length){var a=e[e.length-1];a&&s.readFileDataUrl(a,(function(e,s){e?t.setState({error:e}):t.props.onClose(s&&s.data)}))}}},{key:"render",value:function(){var e=this,t=this.props.classes,s=t.dropzone+" "+("accepted"===this.state.imageStatus?t.dropzoneAccepted:"rejected"===this.state.imageStatus?t.dropzoneRejected:"");return o.a.createElement(le.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"lg",classes:{paper:t.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title"},o.a.createElement(re.a,{id:"import-dialog-title"},C.a.t("Import scripts")),o.a.createElement(ie.a,{className:t.fullHeight},o.a.createElement(as.a,{key:"image-drop",maxSize:5e7,acceptClassName:t.dropzoneAccepted,rejectClassName:t.dropzoneRejected,onDrop:function(t){return e.handleDropFile(t)},multiple:!1,accept:"application/zip,application/x-zip-compressed",className:s},(function(t){var s=t.getRootProps,a=t.getInputProps,n=t.isDragActive;return t.isDragReject?("rejected"!==e.state.imageStatus&&e.setState({imageStatus:"rejected"}),o.a.createElement("div",Object.assign({className:e.props.classes.dropzoneDiv},s()),o.a.createElement("input",a()),o.a.createElement("span",{key:"text",className:e.props.classes.text},C.a.t("Some files will be rejected")),o.a.createElement(k.MdCancel,{key:"icon",className:e.props.classes.icon+" "+e.props.classes.iconError}))):n?("accepted"!==e.state.imageStatus&&e.setState({imageStatus:"accepted"}),o.a.createElement("div",Object.assign({className:e.props.classes.dropzoneDiv},s()),o.a.createElement("input",a()),o.a.createElement("span",{key:"text",className:e.props.classes.text},C.a.t("All files will be accepted")),o.a.createElement(k.MdPlusOne,{key:"icon",className:e.props.classes.icon+" "+e.props.classes.iconOk}))):("wait"!==e.state.imageStatus&&e.setState({imageStatus:"wait"}),o.a.createElement("div",Object.assign({className:e.props.classes.dropzoneDiv},s()),o.a.createElement("input",a()),o.a.createElement("span",{key:"text",className:e.props.classes.text},C.a.t("Drop some files here or click...")),o.a.createElement(k.MdFileUpload,{key:"icon",className:e.props.classes.icon})))})),this.state.error?o.a.createElement(Me,{text:this.state.error,onClose:function(){return e.setState({error:""})}}):null),o.a.createElement(ce.a,null,o.a.createElement(ne.a,{onClick:function(){return e.handleCancel()},color:"secondary"},C.a.t("Close"))))}}],[{key:"readFileDataUrl",value:function(e,t){var s=new FileReader;s.onload=function(){t(null,{data:s.result,name:e.name})},s.onabort=function(){console.error("file reading was aborted"),t(C.a.t("file reading was aborted"))},s.onerror=function(e){console.error("file reading has failed"),t(C.a.t("file reading has failed: %s",e))},s.readAsDataURL(e)}}]),s}(o.a.Component),ns=Object(g.a)((function(e){return{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}}}))(os),rs=function(e){Object(m.a)(a,e);var t=Object(y.a)(a);function a(e){var o;Object(h.a)(this,a),(o=t.call(this,e)).objects={},C.a.setTranslations({en:s(243),de:s(244),es:s(245),fr:s(246),it:s(247),nl:s(248),pl:s(249),pt:s(250),ru:s(251),"zh-cn":s(252)}),o.state={connected:!1,progress:0,ready:!1,updateScripts:0,scriptsHash:0,instances:[],updating:!1,resizing:!1,selected:null,logMessage:{},editing:[],menuOpened:!window.localStorage||"false"!==window.localStorage.getItem("App.menuOpened"),menuSelectId:"",errorText:"",expertMode:!!window.localStorage&&"true"===window.localStorage.getItem("App.expertMode"),logHorzLayout:!!window.localStorage&&"true"===window.localStorage.getItem("App.logHorzLayout"),runningInstances:{},confirm:"",importFile:!1,message:"",searchText:"",themeType:window.localStorage&&window.localStorage.getItem("App.theme")||"light"},o.logSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.logSize"))||150,o.menuSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.menuSize"))||500,o.scripts={},o.hosts=[],o.importFile=null;var n=parseInt(window.location.port,10);if(isNaN(n))switch(window.location.protocol){case"https:":n=443;break;default:n=80}return n&&3e3!==n||(n=8081),o.socket=new b.a({port:n,autoSubscribes:["script.*","system.adapter.javascript.*"],autoSubscribeLog:!0,onProgress:function(e){e===_.PROGRESS.CONNECTING?o.setState({connected:!1}):e===_.PROGRESS.READY?o.setState({connected:!0,progress:100}):o.setState({connected:!0,progress:Math.round(_.PROGRESS.READY/e*100)})},onReady:function(e,t){C.a.setLanguage(o.socket.systemLang),window.systemLang=o.socket.systemLang,o.subscribeOnAlive(),o.onObjectChange(e,t,!0)},onObjectChange:function(e,t){return o.onObjectChange(e,t)},onError:function(e){console.error(e)},onBlocklyChanges:function(){o.confirmCallback=function(e){return e&&window.location.reload()},o.setState({confirm:C.a.t("Some blocks were updated. Reload admin?")})},onLog:function(e){}}),o}return Object(u.a)(a,[{key:"subscribeOnAlive",value:function(){var e=this;!this.subscribeDone&&this.socket&&(this.subscribeDone=!0,this.socket.subscribeState("system.adapter.javascript.*.alive",(function(t,s){if(t&&(t=t&&t.substring(0,t.length-6),e.state.runningInstances[t]!==(!!s&&s.val))){var a=JSON.parse(JSON.stringify(e.state.runningInstances));a[t]=!!s&&s.val,e.setState({runningInstances:a})}})))}},{key:"onObjectChange",value:function(e,t,s){var a=this;this.objects=e;var o={},n={};t.list.forEach((function(t){return o[t]=e[t]})),t.groups.forEach((function(t){return o[t]=e[t]})),this.hosts=t.hosts,window.localStorage&&"true"!==window.localStorage.getItem("App.expertMode")&&"false"!==window.localStorage.getItem("App.expertMode")&&t.list.find((function(e){return e.startsWith("script.js.global.")}))&&(n.expertMode=!0);var r=this.state.scriptsHash;this.compareScripts(t)&&r++,t.instances.sort(),this.scripts=o,n.instances=t.instances,n.scriptsHash=r,void 0!==s&&(n.ready=s),gt.loadCustomBlockly(e,(function(){return a.setState(n)}))}},{key:"compareScripts",value:function(e){var 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(var a=0;a ").concat(t)),this.setState({updating:!0}),this.scripts[e]&&"script"===this.scripts[e].type){var r=JSON.parse(JSON.stringify(this.scripts[e].common));r.name=s||r.name,void 0!==a&&(r.engine="system.adapter.javascript."+a);var i=t.split(".");i.pop();var c=i.join(".");this.scripts[c]&&"script"===this.scripts[c].type&&(i.pop(),t=i.join(".")+"."+t.split(".").pop()),o=this.socket.updateScript(e,t,r)}else o=this.socket.renameGroup(e,t,s);o.then((function(){return n.setState({updating:!1})})).catch((function(e){return"canceled"!==e&&n.showError(e)}))}},{key:"onUpdateScript",value:function(e,t){var s=this;this.scripts[e]&&"script"===this.scripts[e].type&&this.socket.updateScript(e,e,t).then((function(){})).catch((function(e){return"canceled"!==e&&s.showError(e)}))}},{key:"onSelect",value:function(e){var t=this;this.objects[e]&&this.objects[e].common&&"script"===this.objects[e].type&&this.setState({selected:e,menuSelectId:e},(function(){return setTimeout((function(){return t.setState({menuSelectId:""})}))}),300)}},{key:"onExpertModeChange",value:function(e){this.state.expertMode!==e&&(window.localStorage&&window.localStorage.setItem("App.expertMode",e?"true":"false"),this.setState({expertMode:e}))}},{key:"showError",value:function(e){this.setState({errorText:e})}},{key:"showMessage",value:function(e){this.setState({message:e})}},{key:"onDelete",value:function(e){var t=this;this.socket.delObject(e).then((function(){})).catch((function(e){return t.showError(e)}))}},{key:"onEdit",value:function(e){this.state.selected!==e&&this.setState({selected:e})}},{key:"onAddNew",value:function(e,t,s,a,o,n){var r=this,i=new RegExp("^".concat(e,"\\."));Object.keys(this.objects).find((function(t){return e===t||i.test(e)}))?this.showError(C.a.t("Yet exists!")):s?this.socket.setObject(e,{common:{name:t,expert:!0},type:"channel"}).then((function(){return setTimeout((function(){return r.setState({menuSelectId:e},(function(){return setTimeout((function(){return r.setState({menuSelectId:""})}))}),300)}),1e3)})).catch((function(e){return r.showError(e)})):this.socket.setObject(e,{common:{name:t,expert:!0,engineType:o,engine:"system.adapter.javascript."+(a||0),source:n||"",debug:!1,verbose:!1},type:"script"}).then((function(){setTimeout((function(){return r.onSelect(e)}),1e3)})).catch((function(e){r.showError(e)}))}},{key:"onEnableDisable",value:function(e,t){var s=this;if(this.scripts[e]&&"script"===this.scripts[e].type){var a=this.objects[e].common;a.enabled=t,a.expert=!0,this.socket.updateScript(e,e,a).then((function(){})).catch((function(e){return"canceled"!==e&&s.showError(e)}))}}},{key:"getLiveHost",value:function(e,t){var s=this;if(t||(t=JSON.parse(JSON.stringify(this.hosts))||[]),t.length){var a=t.shift();this.socket.getState(a+".alive",(function(o,n){!o&&n&&n.val?e(a):setTimeout((function(){return s.getLiveHost(e,t)}))}))}else e()}},{key:"onExport",value:function(){var e=this;this.getLiveHost((function(t){if(t){var s=new Date,a=s.getFullYear(),o=s.getMonth()+1;o<10&&(o="0"+o),a+="-"+o,(o=s.getDate())<10&&(o="0"+o),a+="-"+o+"-",e.socket.socket.emit("sendToHost",t,"readObjectsAsZip",{adapter:"javascript",id:"script.js",link:a+"scripts.zip"},(function(t){if("string"===typeof t){var s=document.createElement("a"),o=t.split(".zip.");s.href="/zip/"+o[0]+"/"+o[1],document.body.appendChild(s),s.click(),s.remove()}else if(t.error&&e.showError(t.error),t.data){var n=document.createElement("a");n.href="data: application/zip;base64,"+t.data,n.download=a+"scripts.zip",document.body.appendChild(n),n.click(),n.remove()}}))}else e.showError(C.a.t("No active host found"))}))}},{key:"onImport",value:function(e){this.importFile=e,e?(this.confirmCallback=this.onImportConfirmed.bind(this),this.setState({importFile:!1,confirm:C.a.t("Existing scripts will be overwritten.")})):this.setState({importFile:!1})}},{key:"onImportConfirmed",value:function(e){var t=this,s=this.importFile;this.importFile=null,e&&s&&(s=s.split(",")[1],this.getLiveHost((function(e){e?t.socket.socket.emit("sendToHost",e,"writeObjectsAsZip",{data:s,adapter:"javascript",id:"script.js"},(function(e){"permissionError"===e?t.showError(C.a.t(e)):!e||e.error?t.showError(e?C.a.t(e.error):C.a.t("Unknown error")):t.showMessage(C.a.t("Done"))})):t.showError(C.a.t("No active host found"))})))}},{key:"toggleLogLayout",value:function(){window.localStorage&&window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}},{key:"renderMain",value:function(){var e=this,t=this.props.classes,s=this.state.errorText?o.a.createElement(Me,{key:"dialogError",onClose:function(){return e.setState({errorText:""})},text:this.state.errorText}):null;return[this.state.message?o.a.createElement(D.a,{key:"dialogMessage",onClose:function(){return e.setState({message:""})},text:this.state.message}):null,s,this.state.importFile?o.a.createElement(ns,{key:"dialogImportFile",onClose:function(t){return e.onImport(t)}}):null,this.state.confirm?o.a.createElement(O.a,{key:"dialogConfirm",onClose:function(t){e.state.confirm&&e.setState({confirm:""}),e.confirmCallback&&e.confirmCallback(t),e.confirmCallback=null},text:this.state.confirm}):null,o.a.createElement("div",{className:t.content+" iobVerticalSplitter",key:"main"},o.a.createElement("div",{key:"closeMenu",className:t.menuOpenCloseButton,onClick:function(){window.localStorage&&window.localStorage.setItem("App.menuOpened",e.state.menuOpened?"false":"true"),e.setState({menuOpened:!e.state.menuOpened,resizing:!0}),setTimeout((function(){return e.setState({resizing:!1})}),300)}},this.state.menuOpened?o.a.createElement(k.MdArrowBack,null):o.a.createElement(k.MdMenu,null)),o.a.createElement(v.a,{key:"splitterLayout",vertical:!this.state.logHorzLayout,primaryMinSize:100,secondaryInitialSize:this.logSize,onDragStart:function(){return e.setState({resizing:!0})},onSecondaryPaneSizeChange:function(t){return e.logSize=parseFloat(t)},onDragEnd:function(){e.setState({resizing:!1}),window.localStorage&&window.localStorage.setItem("App.logSize",e.logSize.toString())}},o.a.createElement(ss,{key:"editor",visible:!this.state.resizing,connection:this.socket,onLocate:function(t){return e.setState({menuSelectId:t})},runningInstances:this.state.runningInstances,menuOpened:this.state.menuOpened,searchText:this.state.searchText,theme:this.state.themeType,onChange:function(t,s){return e.onUpdateScript(t,s)},onSelectedChange:function(t,s){var a={},o=!1;t!==e.state.selected&&(o=!0,a.selected=t),JSON.stringify(s)!==JSON.stringify(e.state.editing)&&(o=!0,a.editing=JSON.parse(JSON.stringify(s))),o&&e.setState(a)},onRestart:function(t){return e.socket.extendObject(t,{common:{enabled:!0}})},selected:this.state.selected&&this.objects[this.state.selected]&&"script"===this.objects[this.state.selected].type?this.state.selected:"",objects:this.objects}),o.a.createElement(He,{key:"log",verticalLayout:!this.state.logHorzLayout,onLayoutChange:function(){return e.toggleLogLayout()},editing:this.state.editing,connection:this.socket,selected:this.state.selected})))]}},{key:"render",value:function(){var e=this,t=this.props.classes;return this.state.ready?o.a.createElement("div",{className:t.root},o.a.createElement(v.a,{key:"menuSplitter",vertical:!1,primaryMinSize:300,primaryIndex:1,secondaryMinSize:300,secondaryInitialSize:this.menuSize,customClassName:t.splitterDivs+" "+(this.state.menuOpened?"":t.menuDivWithoutMenu),onDragStart:function(){return e.setState({resizing:!0})},onSecondaryPaneSizeChange:function(t){return e.menuSize=parseFloat(t)},onDragEnd:function(){e.setState({resizing:!1}),window.localStorage&&window.localStorage.setItem("App.menuSize",e.menuSize.toString())}},o.a.createElement("div",{className:t.mainDiv,key:"menu"},o.a.createElement(We,{key:"sidemenu",scripts:this.scripts,objects:this.objects,scriptsHash:this.state.scriptsHash,instances:this.state.instances,update:this.state.updateScripts,onRename:this.onRename.bind(this),onSelect:this.onSelect.bind(this),connection:this.socket,selectId:this.state.menuSelectId,onEdit:this.onEdit.bind(this),expertMode:this.state.expertMode,theme:this.state.themeType,onThemeChange:function(t){window.localStorage&&window.localStorage.setItem("App.theme",t),e.setState({themeType:t},(function(){return e.props.onThemeChange(t)}))},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:function(){return e.setState({importFile:!0})},onSearch:function(t){return e.setState({searchText:t})}})),this.renderMain())):o.a.createElement(w.a,{theme:this.state.themeType})}}]),a}(a.Component),is=Object(g.a)((function(e){return{root:oe.root,menuDiv:{overflow:"hidden"},splitterDivs:{"&>div":{overflow:"hidden",width:"100%",height:"100%"},"& .layout-splitter":{background:"dark"===oe.type?"#595858":"#ccc;"}},mainDiv:{width:"100%",height:"100%",overflow:"hidden"},content:{width:"100%",height:"100%",backgroundColor:e.palette.background.default,position:"relative"},splitterDivWithMenu:{width:"calc(100% - ".concat(oe.menu.width,"px)"),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:oe.colors.secondary,color:oe.colors.primary,paddingLeft:3,"&:hover":{color:"white"}}}}))(rs);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}$/));var cs=s(131),ls=window.localStorage&&window.localStorage.getItem("App.theme")||"light";console.log("iobroker.javascript@"+cs.a),"localhost:3000"!==window.location.host&&i.a({dsn:"https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56",release:"iobroker.javascript@"+cs.a,integrations:[new c.a]}),function e(){return"undefined"===typeof Map&&console.log("Something is wrong"),r.a.render(o.a.createElement(l.a,{theme:p()(ls)},o.a.createElement(is,{onThemeChange:function(t){ls=t,e()}})),document.getElementById("root"))}(),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))},78:function(e,t){e.exports="data:image/png;base64,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"}},[[196,1,2]]]); +//# sourceMappingURL=main.05429a24.chunk.js.map \ No newline at end of file diff --git a/admin/static/js/main.3fbbcb42.chunk.js.LICENSE.txt b/admin/static/js/main.05429a24.chunk.js.LICENSE.txt similarity index 100% rename from admin/static/js/main.3fbbcb42.chunk.js.LICENSE.txt rename to admin/static/js/main.05429a24.chunk.js.LICENSE.txt diff --git a/admin/static/js/main.05429a24.chunk.js.map b/admin/static/js/main.05429a24.chunk.js.map new file mode 100644 index 000000000..5eb11a757 --- /dev/null +++ b/admin/static/js/main.05429a24.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["assets/blockly.png","assets/typescript.png","assets/tileJS.png","assets/tileTS.png","assets/tileBlockly.png","assets/blockly2js.png","Theme.js","Dialogs/Rename.js","Dialogs/Delete.js","Dialogs/AddNewScript.js","Dialogs/New.js","Dialogs/Error.js","SideMenu.js","Log.js","Components/ScriptEditorVanilaMonaco.js","Components/BlocklyEditor.js","Dialogs/Export.js","Dialogs/Import.js","Components/simple-cron/cron2text.js","Components/simple-cron/jquery.cron.locale.js","Components/simple-cron/cronText.js","Components/ComplexCron.js","Components/simple-cron/SimpleCron.js","Components/Schedule.js","Dialogs/Cron.js","Dialogs/ScriptEditor.js","Editor.js","Dialogs/ImportFile.js","App.js","serviceWorker.js","index.js","assets/js.png"],"names":["module","exports","type","root","flexGrow","display","width","height","menu","depthOffset","colors","primary","secondary","selected","background","color","error","toolbar","tabs","DialogRename","props","handleCancel","onClose","handleOk","onRename","oldId","state","id","name","instance","handleChange","setState","getId","isShowInstance","folder","instances","length","prefix","getPrefix","parts","split","pop","join","replace","this","nextProps","Dialog","disableBackdropClick","disableEscapeKeyDown","maxWidth","fullWidth","open","aria-labelledby","DialogTitle","I18n","t","DialogContent","noValidate","autoComplete","TextField","style","label","value","onKeyPress","ev","key","preventDefault","setTimeout","onChange","e","target","margin","disabled","FormControl","InputLabel","htmlFor","Select","parseInt","inputProps","map","MenuItem","DialogActions","Button","onClick","React","Component","DialogDelete","onDelete","fontSize","fontWeight","DialogAddNew","html","lang","getLanguage","window","focus","Card","className","classes","card","CardActionArea","CardMedia","media","image","ImgJS","title","CardContent","text","CardActions","size","openHtml","ImgTS","ImgBlockly","textAlign","getJSCard","getBlocklyCard","getTSCard","withStyles","DialogNew","onAdd","existingItems","indexOf","parent","helperText","minWidth","parents","splice","names","forEach","n","i","el","find","item","push","DialogError","console","log","aria-describedby","titleBackground","titleColor","DialogContentText","autoFocus","theme","Themes","COLOR_RUN","green","COLOR_PROBLEM","yellow","COLOR_PAUSE","red","images","def","ImgTypeScript","getObjectName","obj","common","en","prepareList","data","modified","result","ids","Object","keys","sort","a","b","enabled","depth","engineType","engine","startsWith","index","it","parentIndex","SideDrawer","onDragUpdate","update","provided","destination","listItems","dragDepth","expanded","localStorage","getItem","JSON","parse","inputRef","createRef","scripts","problems","reorder","draggedId","creatingScript","creatingFolder","copingScript","renaming","deleting","choosingType","errorText","menuOpened","menuAnchorEl","searchMode","expertMode","searchText","typeFilter","statusFilter","runningInstances","scriptsHash","newExp","ensureSelectedIsVisible","filterTimer","isAllZeroInstances","getIsAllZeroInstances","problemsTimer","onProblemUpdatedBound","onProblemUpdated","bind","cb","tasks","shift","match","that","_id","substring","connection","getState","err","readProblems","subscribeState","unsubscribeState","stringify","changed","val","pos","isSearchEnabled","newState","filterListStatic","objects","ensureSelectedIsVisibleStatic","getIsAllZeroInstancesStatic","setItem","stopPropagation","concat","saveExpanded","source","newId","draggableId","event","children","IconButton","iconButtons","onEnableDisable","onEdit","Promise","resolve","isExpanded","gripHandle","noGripHandle","expandButton","onCollapse","onExpand","whiteSpace","padding","overflow","flex","filtered","filteredPartly","items","childrenFiltered","filter","isFilteredOut","depthPx","Theme","toLowerCase","assign","marginLeft","cursor","opacity","iconStyle","inner","ListItem","element","onDoubleClick","onDblClick","renderFolderButtons","ListItemIcon","scriptIcon","alt","src","ListItemText","undefined","getTextStyle","childrenCount","ListItemSecondaryAction","renderItemButtons","isDragDisabled","snapshot","ref","innerRef","draggableProps","dragHandleProps","isDragging","draggableStyle","userSelect","renderOneItem","dragging","List","dense","disablePadding","copyId","word","m","menuAnchorFilterEl","filterIcon","selectedItem","Menu","anchorEl","PaperProps","maxHeight","MENU_ITEM_HEIGHT","showError","then","iconDropdownMenu","onCloseMenu","onExpertModeChange","onExport","onImport","onThemeChange","onAddNew","onCopy","RootRef","rootRef","Input","toolbarSearch","placeholder","clearTimeout","filterList","onSearch","toolbarButtons","float","mini","marginTop","aria-label","aria-owns","aria-haspopup","currentTarget","getMainMenu","onAddNewFolder","folders","footerButtons","Blockly","footerButtonsRight","onExpandAll","onCollapseAll","renamingItem","copingItem","Drawer","variant","paper","drawerPaper","anchor","getToolbarButtons","Divider","onDragStart","onDragEnd","droppableId","innerMenu","renderAllItems","footer","getBottomButtons","newName","newInstance","getUniqueName","getFolders","getUniqueFolderName","found","lastIndexOf","nState","selectId","position","palette","lineHeight","paddingRight","iconOnTheRight","right","top","overflowX","overflowY","borderRadius","marginRight","backgroundColor","gText","Log","lines","goBottom","editing","lastIndex","messagesEnd","logHandlerBound","logHandler","message","ts","substr","severity","trTime","d","getHours","toString","getMinutes","getSeconds","getMilliseconds","getTimeString","Date","trSeverity","current","scrollIntoView","behavior","allLines","generateLine","ms","date","toLocaleString","registerLogHandler","unregisterLogHandler","scrollToBottom","str","document","createElement","body","appendChild","select","execCommand","removeChild","copyToClipboard","logBox","toolbox","clearLog","onLayoutChange","layoutIcon","verticalLayout","logBoxInner","table","clear","paddingLeft","hasOwnProperty","info","warn","debug","silly","fontFamily","left","boxShadow","toolboxXml","ScriptEditor","isDark","language","readOnly","alive","check","monacoDiv","editor","monaco","insert","originalCode","code","globalTypingHandles","typings","lastSearch","monacoCounter","waitForMonaco","componentDidMount","onRegisterSelect","getModel","getValueInRange","getSelection","compilerOptions","languages","typescript","typescriptDefaults","ScriptTarget","ES2015","allowJs","checkJs","noLib","lib","moduleResolution","ModuleResolutionKind","NodeJs","setCompilerOptions","setTypeCheck","create","lineNumbers","scrollBeyondLastLine","automaticLayout","onDidChangeModelContent","getValue","scriptAdapterInstance","getScripts","sendTo","setEditorTypings","addCommand","KeyMod","CtrlCmd","KeyCode","KEY_S","onForceSave","highlightText","options","selectOnLineNumbers","setEditorOptions","setValue","setEditorLanguage","updateOptions","lineWrap","wordWrap","typeCheck","setTheme","dispose","model","uri","path","filenameWithoutExtension","extension","newLanguage","newModel","createModel","Uri","from","setModel","noSemanticValidation","noSyntaxValidation","setDiagnosticsOptions","isGlobal","handle","addExtraLib","isGlobalScript","test","partialDeclarationsPath","addTypingsToEditor","selection","range","Range","startLineNumber","startColumn","endLineNumber","endColumn","executeEdits","forceMoveMarkers","findMatches","r","setSelection","revealLine","row","getPosition","lineNumber","col","column","insertTextIntoEditor","onInserted","newValue","Fab","bottom","zIndex","forceUpdate","DialogExport","popper","getElementById","dialog","textArea","textAreaLight","Popper","placement","transition","TransitionProps","Fade","timeout","Paper","typography","tabIndex","aria-hidden","spacing","unit","DialogImport","fullHeight","resize","languageBlocklyLoaded","languageOwnLoaded","toolboxText","scriptsLoaded","BlocklyEditor","blockly","blocklyWorkspace","exportText","importText","someSelected","changeTimer","onResizeBind","onResize","lastCommand","blinkBlock","loadLanguages","dom","Xml","workspaceToDom","searchXml","allBlocks","getAllBlocks","blocks","searchBlocks","addSelect","someSelectedTime","now","removeSelect","command","blocklyCheckBlocks","badBlock","blocklyBlinkBlock","exportBlocks","importBlocks","searchId","updateBackground","loadCode","fileLang","setAttribute","onload","onreadystatechange","readyState","getElementsByTagName","fileCustom","svgResize","xml","l","decodeURIComponent","atob","block","unselect","isShadow","connections","getConnections_","conn","j","targetConnection","warningText","blocklyGetUnconnectedBlock","blocklyGetBlockWithWarning","sourceBlock_","INPUT_VALUE","OUTPUT_VALUE","_optional","warning","oneWay","JavaScript","workspaceToCode","domToText","btoa","encodeURIComponent","xmlBlock","blockToDom","dragMode_","DRAG_FREE","deleteNext","xy","getRelativeToSurfaceXY","RTL","x","y","domToPrettyText","trim","variables","vars","utils","textToDomDocument","nodes","childNodes","createVariable","loading","xmlBlocks","textToDom","nodeName","paste","onBlocklyChanged","ignoreChanges","jsCode2Blockly","domToWorkspace","alert","blocklyRemoveOrphanedShadows","didUpdate","addEventListener","getToolbox","inject","zoom","controls","wheel","startScale","maxScale","minScale","scaleSpeed","move","scrollbars","drag","trashcan","grid","colour","snap","addChangeListener","masterEvent","Events","UI","CREATE","getElementsByClassName","classList","darkBackground","add","remove","removeEventListener","blocklyCode2JSCode","outerHTML","p1","MSG","CustomBlocks","_b","Words","HUE","componentDidUpdate","onImportBlocks","url","callback","location","scriptTag","onerror","adapter","loadJS","loadScripts","toLoad","DOMParser","xmlStr","parseFromString","ActiveXObject","xmlDoc","async","loadXML","_result","tagName","attributes","innerText","node","stroke","fill","cronToText","cronspec","withSeconds","locale","NAMES","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","SUN","MON","TUE","WED","THU","FRI","SAT","REPLACEMENTS","FIELDS","s","h","D","M","Y","offset","arguments","max","isNaN","Math","min","sched","inc","addHash","schedules","curSched","hash","dc","field","clone","slice","cloneSchedule","except1","except2","exceptions","addWeekday","incSplit","rangeSplit","addRange","isHash","itemSorter","toInt","argumentForCoercion","number","coercedNumber","isFinite","ceil","floor","ordinal","ORDINALS","th","st","nd","rd","numberList","numbers","lastVal","numberToDateName","DOW","MONTH","dateList","outputText","zeroPad","schedule","Every","hm","k","and","scheduleToSentence","expr","hasSeconds","prepared","toUpperCase","prepareExpr","f","component","components","parseExpr","parseCron","JQUERY_CRON_LOCALE","convertCronToText","cron","seconds","correctCasus","WEEKDAYS","MONTHS","convertMinusIntoArray","p","iMax","convertArrayIntoMinus","newParts","start","end","ComplexCron","cronExpression","cron2state","extended","tab","state2cron","modes","minutes","hours","dates","months","dows","recalcCron","nums","values","numberButton","onToggle","every","everyN","periodSelect","verticalAlign","num","InputLabelProps","shrink","getDigitsSelector","mainDiv","FormControlLabel","control","Checkbox","checked","AppBar","appBar","Tabs","active","Tab","tabContent","getPeriodsTab","cronParts","slider","numberButtonBreak","PERIODIC","once","interval","intervalBetween","specific","PERIODIC_TYPES","DEFAULT_STATE","mode","period","SimpleCron","time","timeFrom","timeTo","weekdays","settings","day","marginBottom","formControl","formControlMarginRight","getDate","getMonth","formControlPaddingTop","getControlsTime","getControlsDate","getControlsPeriodElements","hour","getControlsWeekdaysElements","onModeChange","getOnceElements","getIntervalElements","getIntervalBetweenElements","getSpecificTimeElements","list","part","_parts","dow","text2weekdays","periodArray2text","partsDate","month","paddingTop","PERIODS","ASTRO","DEFAULT","exactTime","days","weeks","years","yearMonth","yearDate","valid","to","string2USdate","Schedule","now2string","refFrom","refTo","refOnce","desc","state2text","force","isDiff","copy","string2date","today","setHours","setMinutes","setSeconds","setMilliseconds","validFrom","tDows","last","tMonths","getTime","wholeDay","night","fromTo","rowDiv","modeDiv","Radio","inputRadio","_schedule","settingsDiv","inputTime","getPeriodSettingsMinutes","isAstro","hr","isOnce","rowOnce","inputDate","defaultValue","timerOnce","getFullYear","rowDays","getPeriodSettingsDaily","getPeriodSettingsWeekdays","rowDows","getPeriodSettingsWeekly","rowDowsDows","rowMonths","getPeriodSettingsMonthly","rowMonthsDates","getPeriodSettingsDates","rowYears","getPeriodSettingsYearly","inputEvery","isSpecific","FormGroup","inputGroup","inputGroupElement","inputSmallCheck","parsedDates","inputDateDay","inputDateDayCheck","pointerEvents","parsedMonths","isEnd","setDate","timerFrom","timerTo","scrollWindow","getTimePeriodElements","getTimeExactElements","getDivider","getPeriodModes","getValidSettings","border","borderTop","rowDates","rowWeeks","rowDaysDows","paddingBottom","DialogCron","simple","onOk","dialogPaper","setMode","ok","cancel","headerID","fontStyle","radio","DialogScriptEditor","isReturn","args","argsTitle","Editor","tabsRef","debugEnabled","verboseEnabled","showBlocklyCode","showSelectId","showCron","showScript","visible","cmdToBlockly","menuTabsOpened","menuTabsAnchorEl","showDebugMenu","toast","setChangedInAdmin","initValue","scriptDialog","systemLang","main","selectIdDialog","cronDialog","showScriptDialog","onSelectedChange","onBrowserCloseBound","onBrowserClose","isChanged","configNotSaved","returnValue","_changed","verbose","removeNonExistingScripts","oldSource","commonLocal","nextCommon","onRestart","func","getSelect","showConfirmDialog","nowSelected","script","isScriptChanged","onTabClose","question","confirmCallback","confirm","cmd","onTabChange","indicatorColor","textColor","scrollButtons","tabIcon","tabText","tabChanged","tabChangedIcon","closeButton","href","tabButton","wrapper","tabButtonWrapper","tabMenuButton","_event","hintButton","hintIcon","menuDebugAnchorEl","menuIcon","isInstanceRunning","isScriptRunning","Toolbar","onLocate","notRunning","textButton","onSave","onCancel","sendCommandToBlockly","onConvert2JS","ImgBlockly2Js","Badge","badgeMargin","badgeContent","getDebugBadge","editorDiv","resizing","statesOnly","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","ContentProps","action","closeToast","getTabs","getToolbar","getScriptEditor","getBlocklyEditor","getConfirmDialog","getSelectIdDialog","getCronDialog","getEditorDialog","getDebugMenu","getToast","minHeight","hintText","textOverflow","DialogImportFile","imageStatus","files","file","readFileDataUrl","dropzone","dropzoneAccepted","dropzoneRejected","maxSize","acceptClassName","rejectClassName","onDrop","handleDropFile","multiple","accept","getRootProps","getInputProps","isDragActive","isDragReject","dropzoneDiv","icon","iconError","iconOk","reader","FileReader","onabort","readAsDataURL","borderWidth","borderStyle","borderColor","boxSizing","transform","App","setTranslations","require","connected","progress","ready","updateScripts","updating","logMessage","menuSelectId","logHorzLayout","importFile","themeType","logSize","parseFloat","menuSize","hosts","port","protocol","socket","Connection","autoSubscribes","autoSubscribeLog","onProgress","PROGRESS","CONNECTING","READY","round","onReady","setLanguage","subscribeOnAlive","onObjectChange","onError","onBlocklyChanges","reload","onLog","subscribeDone","isReady","nScripts","groups","compareScripts","loadCustomBlockly","newScripts","oldIds","newIds","oldScript","newScript","promise","parentID","updateScript","renameGroup","catch","delObject","isFolder","reg","RegExp","setObject","expert","onSelect","_list","getLiveHost","host","emit","link","click","download","onImportConfirmed","showMessage","errorDialog","content","menuOpenCloseButton","primaryMinSize","secondaryInitialSize","onSecondaryPaneSizeChange","onUpdateScript","extendObject","toggleLogLayout","primaryIndex","secondaryMinSize","customClassName","splitterDivs","menuDivWithoutMenu","SideMenu","renderMain","menuDiv","default","splitterDivWithMenu","Boolean","hostname","version","Sentry","dsn","release","integrations","SentryIntegrations","build","Map","ReactDOM","render","createTheme","_theme","navigator","serviceWorker","registration","unregister"],"mappings":"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B,SACpB,YAAoB,gEACpB,kBAAoB,8CACpB,KAAoB,yCACpB,OAAoB,uCACpB,YAAoB,gDACpB,OAAoB,6CACpB,mBAAoB,yFACpB,kBAAoB,gGACpB,oBAAqB,+FACrB,SAAoB,GACpB,iBAAoB,iHACpB,YAAoB,8CACpB,GAAoB,SACpB,GAAoB,SACpB,GAAoB,UAGxBqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,MAERM,MAAO,CACH,SACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,UAGJD,IAAK,CACD,MACA,MACA,MACA,MACA,MACA,MACA,OAGJ,MAAoB,SACpB,IAAoB,KACpB,YAAoB,iBACpB,kBAAoB,qBACpB,KAAoB,QACpB,OAAoB,SACpB,YAAoB,YACpB,OAAoB,UACpB,mBAAoB,oBACpB,kBAAoB,sBACpB,oBAAoB,2BACpB,SAAoB,SACpB,iBAAoB,iBACpB,YAAoB,UACpB,GAAoB,OACpB,GAAoB,MACpB,GAAoB,QAGxBqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IAERM,MAAO,CACH,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJD,IAAK,CACD,MACA,MACA,MACA,MACA,MACA,KACA,OAEJ,MAAqB,OACrB,IAAqB,IACrB,YAAqB,cACrB,kBAAqB,cACrB,KAAqB,MACrB,OAAqB,SACrB,YAAqB,YACrB,OAAqB,UACrB,mBAAqB,oBACrB,kBAAqB,kBACrB,oBAAqB,kBACrB,SAAqB,MACrB,iBAAqB,eACrB,YAAqB,SACrB,GAAqB,IACrB,GAAqB,QACrB,GAAqB,MAGzBqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IAERM,MAAO,CACH,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJD,IAAK,CACD,MACA,MACA,MACA,MACA,MACA,MACA,OAEJ,MAAwB,OACxB,IAAwB,IACxB,YAAwB,WACxB,kBAAwB,mBACxB,KAAwB,OACxB,OAAwB,SACxB,YAAwB,YACxB,OAAwB,UACxB,mBAAwB,oBACxB,kBAAwB,kBACxB,oBAAwB,qBACxB,SAAwB,KACxB,iBAAwB,oBACxB,YAAwB,UACxB,GAAwB,KACxB,GAAwB,KACxB,GAAwB,UAG5BqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,MAERM,MAAO,CACH,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,WACA,MACA,OAEJD,IAAK,CACD,MACA,MACA,MACA,WACA,MACA,WACA,OAEJ,MAAoB,iBACpB,IAAoB,IACpB,YAAoB,aACpB,kBAAoB,WACpB,KAAoB,UACpB,OAAoB,WACpB,YAAoB,WACpB,OAAoB,UACpB,mBAAoB,wBACpB,kBAAoB,YACpB,oBAAqB,wBACrB,SAAoB,IACpB,iBAAoB,6BACpB,YAAoB,iBACpB,GAAoB,IACpB,GAAoB,IACpB,GAAoB,KAGxBqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IAERM,MAAO,CACH,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJD,IAAK,CACD,MACA,MACA,MACA,MACA,MACA,MACA,OAEJ,MAAwB,OACxB,IAAwB,IACxB,YAAwB,cACxB,kBAAwB,mBACxB,KAAwB,OACxB,OAAwB,SACxB,YAAwB,YACxB,OAAwB,UACxB,mBAAwB,oBACxB,kBAAwB,kBACxB,oBAAwB,mBACxB,SAAwB,WACxB,iBAAwB,cACxB,YAAwB,SACxB,GAAwB,IACxB,GAAwB,KACxB,GAAwB,MAG5BqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IAERM,MAAO,CACH,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJD,IAAK,CACD,MACA,MACA,KACA,KACA,MACA,OACA,MAEJ,MAAwB,OACxB,IAAwB,KACxB,YAAwB,WACxB,kBAAwB,oBACxB,KAAwB,MACxB,OAAwB,SACxB,YAAwB,aACxB,OAAwB,SACxB,mBAAwB,mBACxB,kBAAwB,mBACxB,oBAAwB,iBACxB,SAAwB,QACxB,iBAAwB,iBACxB,YAAwB,UACxB,GAAwB,KACxB,GAAwB,KACxB,GAAwB,MAG5BqB,QAA8B,CAC1B9B,SAAU,CACNC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IAERM,MAAO,CACH,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,qBACA,sBAEJD,IAAK,CACD,qBACA,qBACA,qBACA,qBACA,qBACA,qBACA,sBAEJ,MAAoB,SACpB,IAAoB,SACpB,YAAoB,eACpB,kBAAoB,uCACpB,KAAoB,eACpB,OAAoB,eACpB,YAAoB,qBACpB,OAAoB,SACpB,mBAAoB,2BACpB,kBAAoB,qBACpB,oBAAqB,6CACrB,SAAoB,SACpB,iBAAoB,2BACpB,YAAoB,eACpB,GAAoB,SACpB,GAAoB,SACpB,GAAoB,WAGTqB,MCxbAC,OANf,SAA2BC,EAAMnvB,GAC7B,IAAMopB,EAAyC,IAA3B+F,EAAKvyB,MAAM,KAAKJ,OAEpC,OA/CJ,SAAsBuE,EAAMquB,GAyCxB,OAFAruB,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GAFAA,GADAA,GADAA,GADAA,GADAA,GADAA,GAFAA,GADAA,GAFAA,GADAA,GAFAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GAFAA,GADAA,GADAA,GADAA,GADAA,EAAOA,EAAKhE,QAAQ,0FAAwB,8EAChCA,QAAQ,4FAAwB,8EAChCA,QAAQ,wEAAwB,4DAChCA,QAAQ,gGAAwB,oFAChCA,QAAQ,4CAAwB,mDAEhCA,QAAQ,yDAAwB,+FAChCA,QAAQ,+DAAwB,qGAChCA,QAAQ,mDAAwB,yFAChCA,QAAQ,yDAAwB,+FAChCA,QAAQ,6CAAwB,mFAChCA,QAAQ,6CAAwB,mFAChCA,QAAQ,6CAAwB,mFAChCA,QAAQ,+DAAyB,qGACjCA,QAAQ,qEAA0B,2GAClCA,QAAQ,+DAAyB,qGACjCA,QAAQ,yDAAwB,+FAChCA,QAAQ,+DAAyB,qGAEjCA,QAAQ,4FAAyB,iGACjCA,QAAQ,6GAAmC,iFAE3CA,QAAQ,6GAAmC,iFAC3CA,QAAQ,4FAAwB,8EAEhCA,QAAQ,4CAAyB,sCACjCA,QAAQ,4CAAyB,0BACjCA,QAAQ,4CAAyB,gCACjCA,QAAQ,4CAAyB,gCACjCA,QAAQ,4CAAyB,gCACjCA,QAAQ,sDAAyB,uCAEjCA,QAAQ,kBAAwB,iBAChCA,QAAQ,kCAAmC,oBAC3CA,QAAQ,iBAAwB,gBAChCA,QAAQ,eAAwB,gBAChCA,QAAQ,iBAAwB,gBAChCA,QAAQ,iCAAkC,mBAC1CA,QAAQ,0BAA2B,gCAQxCsyB,CADInG,GAAWiG,EAAM/F,EAAa6F,GAAmBjvB,IAASivB,GAAmBhrB,MCDtFqrB,GAAW,CACb,SACA,SACA,UACA,YACA,WACA,SACA,WACA,UAEEC,GAAS,CACX,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,YAIJ,SAASC,GAAsBtxB,EAAOitB,GAClC,IAAI9mB,EAAS,GACb,GAAc,MAAVnG,EAAe,CACf,GAAY,KAARitB,GAAsB,KAARA,GAAsB,IAARA,EAC5B,IAAK,IAAI7oB,EAAI,EAAGA,EAAI6oB,EAAK7oB,IACrB+B,EAAO3B,KAAKJ,QAGhB,IAAK,IAAIA,EAAI,EAAGA,GAAK6oB,EAAK7oB,IACtB+B,EAAO3B,KAAKJ,GAGpB,OAAO+B,EAGX,IADA,IAAM1H,GAASuB,GAAS,IAAI2V,WAAWjX,MAAM,KACpC6yB,EAAI,EAAGA,EAAI9yB,EAAMH,OAAQizB,IAC9B,GAAM9yB,EAAM8yB,GAAGxL,OAAOznB,OAAtB,CACA,IAAMyO,EAAQtO,EAAM8yB,GAAGxL,OAAOrnB,MAAM,KACpC,GAAIqO,EAAMzO,OAAS,EAEf,IADA,IAAIkzB,EAAOzwB,SAASgM,EAAM,GAAI,IACrB3I,EAAIrD,SAASgM,EAAM,GAAI,IAAK3I,GAAKotB,EAAMptB,IAC5C+B,EAAO3B,KAAKJ,QAGhB+B,EAAO3B,KAAKzD,SAAStC,EAAM8yB,GAAI,MAGvCprB,EAASA,EAAOlF,KAAI,SAAAuF,GAAC,OAAIzF,SAASyF,EAAG,QAE9BD,OAIP,IAAK,IAAIgrB,EAAIprB,EAAO7H,OAAS,EAAGizB,GAAK,EAAGA,IAChCprB,EAAOorB,KAAOprB,EAAOorB,EAAI,IACzBprB,EAAOnC,OAAOutB,EAAI,EAAG,GAK7B,OAAOprB,EAIX,SAASsrB,GAAsBzxB,EAAOitB,GAIlC,GAHqB,kBAAVjtB,IACPA,EAAQ,CAACA,IAETA,EAAM1B,SAAW2uB,EACjB,MAAO,IAEX,IAAMyE,EAAW,GACjB,IAAK1xB,EAAM1B,OACP,MAAO,KAEX0B,EAAQA,EAAMiB,KAAI,SAAAuF,GAAC,OAAIzF,SAASyF,EAAG,QAE7BD,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAGC,KAIxB,IAFA,IAAIkrB,EAAQ3xB,EAAM,GACd4xB,EAAM5xB,EAAM,GACPuxB,EAAI,EAAGA,EAAIvxB,EAAM1B,OAAQizB,IAC1BvxB,EAAMuxB,GAAK,IAAMxwB,SAASf,EAAMuxB,EAAI,GAAI,KACpCI,IAAUC,EACVF,EAASltB,KAAKmtB,GACPC,EAAM,IAAMD,EACnBD,EAASltB,KAAKmtB,EAAQ,IAAMC,GAE5BF,EAASltB,KAAKmtB,EAAQ,IAAMC,GAEhCD,EAAQ3xB,EAAMuxB,GACdK,EAAM5xB,EAAMuxB,IAEZK,EAAM5xB,EAAMuxB,GAYpB,OARII,IAAUC,EACVF,EAASltB,KAAKmtB,GACPC,EAAM,IAAMD,EACnBD,EAASltB,KAAKmtB,EAAQ,IAAMC,GAE5BF,EAASltB,KAAKmtB,EAAQ,IAAMC,GAGzBF,EAAS9yB,KAAK,K,IAGnBizB,G,kDACF,WAAYv0B,GAAQ,IAAD,sBAEf,IAAI2zB,EAA6C,kBADjD,cAAM3zB,IACkBA,MAAMw0B,eAA+B,EAAKx0B,MAAMw0B,eAAejzB,QAAQ,QAAS,IAAIA,QAAQ,WAAY,IAAM,GACtH,MAAZoyB,EAAK,KACLA,EAAO,IAEX,IAAMrzB,EAAQi0B,EAAYE,WAAWd,GAAQ,aAN9B,OAQf,EAAKrzB,MAAQ,CACTo0B,UAAU,EACVC,KAAuB,IAAlBr0B,EAAMszB,QAAoB,EAAI,EACnCD,KAAMY,EAAYK,WAAWt0B,GAC7Bu0B,MAAO,CACHjB,QAAS,KACTkB,QAAS,KACTC,MAAO,KACPC,MAAO,KACPC,OAAQ,KACRC,KAAM,OAGdnsB,OAAOiH,OAAO,EAAK1P,MAAOA,GACtB,EAAKA,MAAMqzB,OAAS,EAAK3zB,MAAMw0B,gBAC/BzxB,YAAW,kBAAM,EAAK/C,MAAMgD,UAAY,EAAKhD,MAAMgD,SAAS,EAAK1C,MAAMqzB,QAAO,KAvBnE,E,yDAyDL,IAAD,OACLA,EAAOY,EAAYK,WAAWpzB,KAAKlB,OACnCqzB,IAASnyB,KAAKlB,MAAMqzB,MACpBnyB,KAAKb,SAAS,CAACgzB,SAAO,WAClB,EAAK3zB,MAAMgD,UAAY,EAAKhD,MAAMgD,SAAS,EAAK1C,MAAMqzB,W,+BAKzDA,GACDA,IAASnyB,KAAKlB,MAAMqzB,OACpBnyB,KAAKb,SAAS,CAACgzB,SACfnyB,KAAKxB,MAAMgD,UAAYxB,KAAKxB,MAAMgD,SAAS2wB,M,+BAI1C7sB,EAAGhI,EAAM6wB,GAAM,IAAD,OACnB,IAAU,IAAN7oB,EACAtF,KAAKb,SAAS,CAAC,CAAC7B,GAAO,MAAM,kBAAM,EAAKq2B,qBACrC,IAAU,IAANruB,EACK,KAAR6oB,GAAsB,KAARA,EACdnuB,KAAKb,SAAS,CAAC,CAAC7B,GAAO,MAAM,kBAAM,EAAKq2B,gBAExC3zB,KAAKb,SAAS,CAAC,CAAC7B,GAAO,MAAM,kBAAM,EAAKq2B,oBAEzC,CACH,IAAIC,EAAOpB,GAAsBxyB,KAAKlB,MAAMxB,GAAO6wB,GAC7CpiB,EAAM6nB,EAAK/uB,QAAQS,IACZ,IAATyG,EACA6nB,EAAK1uB,OAAO6G,EAAK,IAEjB6nB,EAAKluB,KAAKJ,GACVsuB,EAAKnsB,QAETzH,KAAKb,SAAS,CAAC,CAAC7B,GAAOq1B,GAAsBiB,EAAMzF,KAAO,kBAAM,EAAKwF,mB,wCAI3Dr2B,EAAM6wB,GAAM,IAAD,OACrB0F,EAAS,GACb,GAAY,IAAR1F,EACA0F,EAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QACnB,GAAY,KAAR1F,GAAsB,KAARA,EACrB,IAAK,IAAI7oB,EAAI,EAAGA,EAAI6oB,EAAK7oB,IACrBuuB,EAAOnuB,KAAKJ,QAGhB,IAAK,IAAIA,EAAI,EAAGA,GAAK6oB,EAAK7oB,IACtBuuB,EAAOnuB,KAAKJ,GAGpB,IAAM3F,EAAQ6yB,GAAsBxyB,KAAKlB,MAAMxB,GAAO6wB,GACtD,MAAO,CACF,kBAAC7rB,GAAA,EAAD,CACGjB,IAAI,YACJsS,QAAS,WACTtQ,UAAWrD,KAAKxB,MAAM8E,QAAQwwB,aAE9B31B,MAAO,UACPoE,QAAS,kBAAM,EAAKwxB,UAAS,EAAOz2B,EAAM6wB,KAAOztB,IAAKC,EAAE,iBAC3D,kBAAC2B,GAAA,EAAD,CACGjB,IAAI,SACJsS,QAAS,YAETtQ,UAAWrD,KAAKxB,MAAM8E,QAAQwwB,aAC9B31B,MAAO,YACPoE,QAAS,kBAAM,EAAKwxB,UAAS,EAAMz2B,EAAM6wB,KAAOztB,IAAKC,EAAE,eAC1D,yBAAKU,IAAI,OACLwyB,EAAO1xB,KAAI,SAAAmD,GAAC,MACT,CAAW,IAAR6oB,GAAmB,IAAN7oB,GACP,KAAR6oB,GAAoB,IAAN7oB,GACN,KAAR6oB,MAAiB7oB,EAAI,GAAK,KAClB,KAAR6oB,GAAc7oB,KAAOA,EAAI,KACjB,KAAR6oB,GAAc7oB,KAAOA,EAAI,GACzB,yBAAKjE,IAAK,WAAaiE,EAAGtE,MAAO,CAACtD,MAAO,UAAc,KACnD,kBAAC4E,GAAA,EAAD,CACGjB,IAAK,IAAMiE,EACXqO,SAA+B,IAAtBhU,EAAMkF,QAAQS,GAAY,YAAc,WACjDjC,UAAW,EAAK7E,MAAM8E,QAAQwwB,aAC9B31B,OAA6B,IAAtBwB,EAAMkF,QAAQS,GAAY,YAAc,UAC/C/C,QAAS,kBAAM,EAAKwxB,SAASzuB,EAAGhI,EAAM6wB,KAAe,IAARA,EAAYztB,IAAKC,EAAE2xB,GAAShtB,IAAe,KAAR6oB,EAAaoE,GAAOjtB,EAAI,GAAKA,W,oCAKvHhI,EAAM6wB,GAAM,IAIlB/V,EAJiB,OACjBlX,EAAQlB,KAAKlB,MAAMxB,GACnB02B,EAAkB,MAAV9yB,EACR+yB,GAA4C,IAAnC/yB,EAAM2V,WAAWhS,QAAQ,KAEtC,GAA+B,OAA3B7E,KAAKlB,MAAMu0B,MAAM/1B,GAAgB,CACjC8a,EAAS4b,EAAQ,QAAWC,EAAS,SAAW,WAChD,IAAMZ,EAAQvqB,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAMu0B,QAEnD,OADAA,EAAM/1B,GAAQ8a,EACP7W,YAAW,kBAAM,EAAKpC,SAAS,CAACk0B,UAAQ,kBAAM,EAAKM,kBAAe,KAW7E,OATIK,EAAmC,UAA3Bh0B,KAAKlB,MAAMu0B,MAAM/1B,GACzB22B,EAAoC,WAA3Bj0B,KAAKlB,MAAMu0B,MAAM/1B,GAC1B8a,EAASpY,KAAKlB,MAAMu0B,MAAM/1B,GAG1B22B,IACA/yB,EAAQe,SAASf,EAAMnB,QAAQ,KAAM,IAAK,KAAO,GAG7C,6BACJ,kBAACiC,GAAA,EAAD,CACIqB,UAAWrD,KAAKxB,MAAM8E,QAAQ4wB,aAC9BlzB,MAAO,CAACmzB,cAAe,UACvBjzB,MAAOkX,EACP5W,SAAU,SAAAC,GACN,IAAM4xB,EAAQvqB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMu0B,QAEnD,GADAA,EAAM/1B,GAAQmE,EAAEC,OAAOR,MACA,UAAnBO,EAAEC,OAAOR,MACT,EAAK/B,SAAS,CAAC,CAAC7B,GAAO,IAAK+1B,UAAQ,kBAAM,EAAKM,qBAC5C,GAAuB,WAAnBlyB,EAAEC,OAAOR,MAAoB,CACpC,IAAMkzB,EAAMnyB,SAAS,EAAKnD,MAAMxB,GAAMuZ,WAAW9W,QAAQ,KAAM,IAAK,KAAO,EAC3E,EAAKZ,SAAS,CAAC,CAAC7B,GAAO,KAAO82B,EAAKf,UAAQ,kBAAM,EAAKM,qBACnD,GAAuB,aAAnBlyB,EAAEC,OAAOR,MAAsB,CACtC,IAAIkzB,EAAMnyB,SAAS,EAAKnD,MAAMxB,GAAMsC,MAAM,KAAK,GAAI,KAAO,EAC1DgG,QAAQC,IAAIuuB,GACPA,GAAiB,WAAT92B,GAA8B,UAATA,IAC9B82B,EAAM,GAEV,EAAKj1B,SAAS,CAAC,CAAC7B,GAAOq1B,GAAsByB,EAAKjG,GAAMkF,UAAQ,kBAAM,EAAKM,mBAGnF,kBAACvxB,EAAA,EAAD,CAAUf,IAAI,QAAQH,MAAM,SAASR,IAAKC,EAAE,YAAcrD,IAC1D,kBAAC8E,EAAA,EAAD,CAAUf,IAAI,SAASH,MAAM,UAAUR,IAAKC,EAAE,aAAerD,IAC7D,kBAAC8E,EAAA,EAAD,CAAUf,IAAI,WAAWH,MAAM,YAAYR,IAAKC,EAAE,eAAiBrD,KAEtE22B,IAAU,EACVA,GAAW,kBAAClzB,GAAA,EAAD,CACRM,IAAI,WACJJ,MAAOP,IAAKC,EAAE,MAAQrD,GACtB4D,MAAOA,EACPotB,IAAK,EACLH,IAAKA,EACL3sB,SAAU,SAAAC,GACN,EAAKtC,SAAS,CAAC,CAAC7B,GAAO,KAAOmE,EAAEC,OAAOR,QAAQ,kBAAM,EAAKyyB,iBAE9DU,gBAAiB,CAACC,QAAQ,GAC1Bh3B,KAAK,SACLqE,OAAO,YAETqyB,IAAUC,GAAUj0B,KAAKu0B,kBAAkBj3B,EAAM6wB,M,wCAIzCgE,EAAMnvB,GACpB,OAAsC,IAAlCmvB,EAAKvyB,MAAM,KAAKiF,QAAQ,KACjBnE,IAAKC,EAAE,gBAEPuxB,GAAkBC,EAAMnvB,K,+BAI7B,IAAD,OACCmwB,GAA6B,IAAvBnzB,KAAKlB,MAAMszB,QAAoBpyB,KAAKlB,MAAMq0B,IAAMnzB,KAAKlB,MAAMq0B,IAAM,EAC7E,OACI,yBAAK9vB,UAAWrD,KAAKxB,MAAM8E,QAAQkxB,SAC/B,yBAAKxzB,MAAO,CAACiY,YAAa,EAAGvb,MAAO,SAAS,kBAACqD,GAAA,EAAD,CAAWC,MAAO,CAACtD,MAAO,QAASwD,MAAOlB,KAAKlB,MAAMqzB,KAAMvwB,UAAU,KAClH,yBAAKZ,MAAO,CAACiY,YAAa,EAAGvb,MAAO,OAAQC,OAAQ,KAAMqC,KAAKkyB,kBAAkBlyB,KAAKlB,MAAMqzB,KAAMnyB,KAAKxB,MAAMqb,UAAY,OACzH,kBAAC4a,GAAA,EAAD,CACIC,QAAS,kBAACC,GAAA,EAAD,CAAUC,QAAS50B,KAAKlB,MAAMszB,QACpB5wB,SAAU,SAAAC,GAAC,OAAI,EAAKtC,SAAS,CAACizB,UAAS3wB,EAAEC,OAAOkzB,SAAU,MAAc,kBAAM,EAAKjB,mBACtG1yB,MAAOP,IAAKC,EAAE,iBAElB,kBAACk0B,GAAA,EAAD,CAAQ5f,SAAS,SAAS3R,QAAS,CAAC/F,KAAMyC,KAAKxB,MAAM8E,QAAQwxB,QAAS32B,MAAM,aACxE,kBAAC42B,GAAA,EAAD,CAAM7zB,MAAOlB,KAAKlB,MAAMq0B,IAAK9vB,UAAWrD,KAAKxB,MAAM8E,QAAQwxB,OAAQ32B,MAAM,YAAYqD,SAAU,SAACwzB,EAAQ7B,GAAT,OAC3F,EAAKh0B,SAAS,CAACg0B,WACS,IAAvBnzB,KAAKlB,MAAMszB,SAAqB,kBAAC6C,GAAA,EAAD,CAAKl2B,GAAG,aAAakC,MAAOP,IAAKC,EAAE,gBACpE,kBAACs0B,GAAA,EAAD,CAAMl2B,GAAG,UAAUkC,MAAOP,IAAKC,EAAE,gBACjC,kBAACs0B,GAAA,EAAD,CAAMl2B,GAAG,QAAQkC,MAAOP,IAAKC,EAAE,cAC/B,kBAACs0B,GAAA,EAAD,CAAMl2B,GAAG,QAAQkC,MAAOP,IAAKC,EAAE,cAC/B,kBAACs0B,GAAA,EAAD,CAAMl2B,GAAG,SAASkC,MAAOP,IAAKC,EAAE,eAChC,kBAACs0B,GAAA,EAAD,CAAMl2B,GAAG,OAAOkC,MAAOP,IAAKC,EAAE,eAG7B,IAARwyB,GAAc,yBAAK9vB,UAAWrD,KAAKxB,MAAM8E,QAAQ4xB,YAAal1B,KAAKm1B,cAAc,UAAW,KACpF,IAARhC,GAAc,yBAAK9vB,UAAWrD,KAAKxB,MAAM8E,QAAQ4xB,YAAal1B,KAAKm1B,cAAc,UAAW,KACpF,IAARhC,GAAc,yBAAK9vB,UAAWrD,KAAKxB,MAAM8E,QAAQ4xB,YAAal1B,KAAKm1B,cAAc,QAAS,KAClF,IAARhC,GAAc,yBAAK9vB,UAAWrD,KAAKxB,MAAM8E,QAAQ4xB,YAAal1B,KAAKm1B,cAAc,QAAS,KAClF,IAARhC,GAAc,yBAAK9vB,UAAWrD,KAAKxB,MAAM8E,QAAQ4xB,YAAal1B,KAAKm1B,cAAc,SAAU,KACnF,IAARhC,GAAc,yBAAK9vB,UAAWrD,KAAKxB,MAAM8E,QAAQ4xB,YAAal1B,KAAKm1B,cAAc,OAAQ,Q,kCAtNpFhD,GAEd,IAAMiD,GADNjD,EAAOA,EAAKpyB,QAAQ,QAAS,IAAIknB,QACVrnB,MAAM,KAAKuC,KAAI,SAAAswB,GAAC,OAAIA,EAAExL,UACvChK,EAAU,GAiBhB,OAfyB,IAArBmY,EAAU51B,QACVyd,EAAQmV,QAAUgD,EAAU,IAAM,IAClCnY,EAAQqW,QAAU8B,EAAU,IAAM,IAClCnY,EAAQsW,MAAQ6B,EAAU,IAAM,IAChCnY,EAAQuW,MAAQ4B,EAAU,IAAM,IAChCnY,EAAQwW,OAAS2B,EAAU,IAAM,IACjCnY,EAAQyW,KAAO0B,EAAU,IAAM,MAE/BnY,EAAQmV,SAAU,EAClBnV,EAAQqW,QAAU8B,EAAU,IAAM,IAClCnY,EAAQsW,MAAQ6B,EAAU,IAAM,IAChCnY,EAAQuW,MAAQ4B,EAAU,IAAM,IAChCnY,EAAQwW,OAAS2B,EAAU,IAAM,IACjCnY,EAAQyW,KAAO0B,EAAU,IAAM,KAE5BnY,I,iCAEOne,GACd,IAAIiF,EAAI,UAAMjF,EAAMw0B,QAAZ,YAAuBx0B,EAAMy0B,MAA7B,YAAsCz0B,EAAM00B,MAA5C,YAAqD10B,EAAM20B,OAA3D,YAAqE30B,EAAM40B,MAInF,OAHsB,IAAlB50B,EAAMszB,UACNruB,EAAOjF,EAAMszB,QAAU,IAAMruB,GAE1BA,M,GAvDWvB,IAAMC,WA8PjBgC,gBAhZA,SAAA0B,GAAK,MAAK,CACrBquB,QAAS,CACL92B,MAAO,OACPC,OAAQ,OACRkQ,SAAU,QAEdqmB,aAAc,CAEVz2B,QAAS,QACTC,MAAO,KAEX23B,OAAQ,CACJ1iB,UAAW,GACXlV,QAAS,QACTC,MAAO,QAEXw3B,WAAY,CACRtnB,QAAS,IAEbkmB,aAAc,CACVlmB,QAAS,EACT5I,SAAU,GACVrD,OAAQ,GAEZ2zB,kBAAmB,CACf73B,QAAS,SAEbq3B,OAAQ,CACJ32B,MAAO,YAoXAsG,CAAmBsuB,IChY5BwC,GAAW,CACbC,KAAM,OACNC,SAAU,WACVC,gBAAiB,kBACjBC,SAAU,YAERC,GAAiB,CACnBxD,QAAS,UACTkB,QAAS,WAGPhB,GAAW,CACb,SACA,SACA,UACA,YACA,WACA,SACA,WACA,UAGJ,SAAS1kB,GAAQwmB,GACb,OAAIA,EAAM,GAAW,IAAMA,EACpB,GAAKA,EAEhB,IAAMyB,GAAgB,CAClBC,KAAMP,GAASE,SACfA,SAAU,CACNM,OAAQ,EACRpU,KAAMiU,GAAetC,UAIvB0C,G,kDACF,WAAYx3B,GAAQ,IAAD,sBAEf,IAAI2zB,EAA6C,kBADjD,cAAM3zB,IACkBA,MAAMw0B,eAA+B,EAAKx0B,MAAMw0B,eAAejzB,QAAQ,QAAS,IAAIA,QAAQ,WAAY,IAAM,GACtH,MAAZoyB,EAAK,KACLA,EAAO,IAEX,IAAMrzB,EAAQk3B,EAAW/C,WAAWd,GAAQ,cAAgB0D,GAN7C,OAQf,EAAK/2B,MAAQ,CACTo0B,UAAU,EACVf,KAAM6D,EAAW5C,WAAWt0B,GAC5Bg3B,KAAM,WACNN,KAAM,CACFS,KAAM,QACNve,KAAM,IAEV+d,SAAU,CACNM,OAAQ,EACRpU,KAAMiU,GAAetC,SAEzBoC,gBAAiB,CACbK,OAAQ,EACRpU,KAAMiU,GAAetC,QACrB4C,SAAU,EACVC,OAAQ,GACRC,SAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAEjCT,SAAU,CACNM,KAAM,QACNG,SAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,KAGrC7uB,OAAOiH,OAAO,EAAK1P,MAAOA,GAEtB,EAAKA,MAAMqzB,OAAS,EAAK3zB,MAAMw0B,gBAC/BzxB,YAAW,kBAAM,EAAK/C,MAAMgD,UAAY,EAAKhD,MAAMgD,SAAS,EAAK1C,MAAMqzB,QAAO,KAnCnE,E,yDAmUfnyB,KAAKwB,SAASw0B,EAAW5C,WAAWpzB,KAAKlB,U,kDAGjBxB,GAAO,IAAD,OACxB+4B,EAAWr2B,KAAKlB,MAAMxB,GAC5B,OAAQ,yBAAK+D,IAAI,WAAWL,MAAO,CAACiY,YAAa,EAAGvb,MAAO,OAAQ2C,SAAU,MACzE,4BAAKK,IAAKC,EAAE,gBACX,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGwB,KAAI,SAAAm0B,GAAG,OACpB,kBAAC7B,GAAA,EAAD,CACIpzB,IAAKixB,GAASgE,GACd5B,QACI,kBAACC,GAAA,EAAD,CACIC,SAA6C,IAApCyB,EAASD,SAASvxB,QAAQyxB,GACnC90B,SAAU,SAAAC,GACN,IAAM40B,EAAWvtB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMxB,KAChDyO,EAAMsqB,EAASD,SAASvxB,QAAQyxB,GACtC70B,EAAEC,OAAOkzB,UAAoB,IAAT7oB,GAAcsqB,EAASD,SAAS1wB,KAAK4wB,IACxD70B,EAAEC,OAAOkzB,UAAoB,IAAT7oB,GAAcsqB,EAASD,SAASlxB,OAAO6G,EAAK,GACjEsqB,EAASD,SAAS3uB,OAClB,EAAKtI,SAAS,CAAC,CAAC7B,GAAO+4B,IAAW,kBAAM,EAAK1C,iBAEjDzyB,MAAOo1B,EAAIzf,aAGnB5V,MAAOP,IAAKC,EAAE2xB,GAASgE,Y,gDAKbh5B,GAAO,IAAD,OACtB+4B,EAAWr2B,KAAKlB,MAAMxB,GAE5B,OAAI0C,KAAKlB,MAAMo0B,SACH,yBAAK7xB,IAAI,SAASL,MAAO,CAACiY,YAAa,EAAGxb,QAAS,iBACvD,wBAAIuD,MAAO,CAACu1B,aAAc,IAAK71B,IAAKC,EAAE,cACtC,kBAACI,GAAA,EAAD,CACIC,MAAO,CAAC2R,UAAW,EAAG4jB,aAAc,EAAGpC,cAAe,UACtD9yB,IAAI,QACJJ,MAAOP,IAAKC,EAAE,cACdO,MAAOm1B,EAAS/C,QAChB9xB,SAAU,SAAAC,GACN,IAAM40B,EAAWvtB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMxB,KACtD+4B,EAAS/C,QAAUrxB,SAASR,EAAEC,OAAOR,MAAO,IACxCm1B,EAAS/C,QAAU,IAAG+C,EAAS/C,QAAU,GAC7C,EAAKn0B,SAAS,CAAC,CAAC7B,GAAO+4B,IAAW,kBAAM,EAAK1C,iBAEjDrF,IAAK,EACLH,IAAK,GACL7wB,KAAK,SACL+2B,gBAAiB,CAACC,QAAQ,GAC1B3yB,OAAO,WAEX,kBAACZ,GAAA,EAAD,CACIC,MAAO,CAAC2R,UAAW,EAAG4jB,aAAc,EAAGpC,cAAe,UACtD9yB,IAAI,QACJJ,MAAOP,IAAKC,EAAE,YACdO,MAAOm1B,EAAS9C,MAChB/xB,SAAU,SAAAC,GACN,IAAM40B,EAAWvtB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMxB,KACtD+4B,EAAS9C,MAAQtxB,SAASR,EAAEC,OAAOR,MAAO,IACtCm1B,EAAS9C,MAAQ,IAAG8C,EAAS9C,MAAQ,GACzC,EAAKp0B,SAAS,CAAC,CAAC7B,GAAO+4B,IAAW,kBAAM,EAAK1C,iBAEjDrF,IAAK,EACLH,IAAK,GACL7wB,KAAK,SACL+2B,gBAAiB,CAACC,QAAQ,GAC1B3yB,OAAO,YAIP,yBAAKN,IAAI,SAASL,MAAO,CAACiY,YAAa,EAAGxb,QAAS,iBACvD,wBAAIuD,MAAO,CAACu1B,aAAc,IAAK71B,IAAKC,EAAE,cACtC,kBAACI,GAAA,EAAD,CACIC,MAAO,CAAC2R,UAAW,EAAG4jB,aAAc,EAAGpC,cAAe,UACtD9yB,IAAI,QACJJ,MAAOP,IAAKC,EAAE,YACdO,MAAOm1B,EAASN,OAChBv0B,SAAU,SAAAC,GACN,IAAM40B,EAAWvtB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMxB,KACtD+4B,EAASN,OAAS9zB,SAASR,EAAEC,OAAOR,MAAO,IACvCm1B,EAASN,OAAS,IAAGM,EAASN,OAAS,GAC3C,EAAK52B,SAAS,CAAC,CAAC7B,GAAO+4B,IAAW,kBAAM,EAAK1C,iBAEjDrF,IAAK,EACLH,IAAK,GACL7wB,KAAK,SACL+2B,gBAAiB,CAACC,QAAQ,GAC1B3yB,OAAO,WACT,kBAACK,GAAA,EAAD,CACFhB,MAAO,CAACmzB,cAAe,UACvBjzB,MAAOm1B,EAAS1U,KAChBngB,SAAU,SAAAC,GACN,IAAM40B,EAAWvtB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMxB,KACtD+4B,EAAS1U,KAAOlgB,EAAEC,OAAOR,MACzB,EAAK/B,SAAS,CAAC,CAAC7B,GAAO+4B,IAAW,kBAAM,EAAK1C,kBAEhDpsB,OAAOC,KAAKouB,IAAgBzzB,KAAI,SAAA2zB,GAAI,OAAK,kBAAC1zB,EAAA,EAAD,CAAUf,IAAKu0B,GAAeE,GAAO50B,MAAO00B,GAAeE,IAAQp1B,IAAKC,EAAE,MAAQi1B,GAAeE,Y,sCAKvIx4B,GAAO,IAAD,OACZ+4B,EAAWr2B,KAAKlB,MAAMxB,GAC5B,OAAQ,kBAACuE,GAAA,EAAD,CAAawB,UAAWrD,KAAKxB,MAAM8E,QAAQkzB,YAAalzB,QAAS,CAAC/F,KAAMyC,KAAKxB,MAAM8E,QAAQmzB,yBAC/F,kBAAC11B,GAAA,EAAD,CACIM,IAAI,KACJJ,MAAOP,IAAKC,EAAE,WACdO,MAAOm1B,EAASJ,KAChB34B,KAAK,OACLkE,SAAU,SAAAC,GACN,IAAM40B,EAAWvtB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMxB,KACtD+4B,EAASJ,KAAOx0B,EAAEC,OAAOR,MACzB,EAAK/B,SAAS,CAAC,CAAC7B,GAAO+4B,IAAW,kBAAM,EAAK1C,iBAEjDU,gBAAiB,CAACC,QAAQ,GAC1B3yB,OAAO,c,sCAKHrE,GAAO,IAAD,OACZ+4B,EAAWr2B,KAAKlB,MAAMxB,GAE5B,IAAK+4B,EAAS3e,KAAM,CAChB,IAAMf,EAAI,IAAIO,KACdmf,EAAS3e,KAAOf,EAAE+f,UAAY,IAAO9oB,GAAQ+I,EAAEggB,WAAa,GAIhE,OAAQ,kBAAC90B,GAAA,EAAD,CAAawB,UAAWrD,KAAKxB,MAAM8E,QAAQkzB,aAC/C,kBAACz1B,GAAA,EAAD,CACIM,IAAI,OACJJ,MAAOP,IAAKC,EAAE,WACdO,MAAOm1B,EAAS3e,KAChBpa,KAAK,OACL4E,WAAY,CAACmB,UAAWrD,KAAKxB,MAAM8E,QAAQszB,uBAC3Cp1B,SAAU,SAAAC,GACN,IAAM40B,EAAWvtB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMxB,KACtD+4B,EAAS3e,KAAOjW,EAAEC,OAAOR,MACzB,EAAK/B,SAAS,CAAC,CAAC7B,GAAO+4B,IAAW,kBAAM,EAAK1C,iBAEjDU,gBAAiB,CAACC,QAAQ,GAC1B3yB,OAAO,c,wCAMf,OAAQ,yBAAKX,MAAO,CAACyN,WAAY,IAC5BzO,KAAK62B,gBAAgB,QACrB72B,KAAK82B,gBAAgB,W,4CAK1B,OAAO92B,KAAK+2B,0BAA0B,c,mDAGZ,IAAD,OACnBV,EAAWr2B,KAAKlB,MAAM42B,gBAC5B,MAAO,CACH11B,KAAK+2B,0BAA0B,mBAC9B,yBAAK11B,IAAI,UAAUL,MAAO,CAACiY,YAAa,EAAGxb,QAAS,eAAgB02B,cAAe,QAChF,wBAAInzB,MAAO,CAACu1B,aAAc,IAAK71B,IAAKC,EAAE,aACtC,kBAACkB,GAAA,EAAD,CAAawB,UAAWrD,KAAKxB,MAAM8E,QAAQkzB,aACvC,kBAAC10B,GAAA,EAAD,CAAYwyB,QAAM,EAACvyB,QAAQ,yBAAyBrB,IAAKC,EAAE,YAC3D,kBAACqB,GAAA,EAAD,CACAhB,MAAO,CAACtD,MAAO,KACfwD,MAAOm1B,EAASH,SAChB10B,SAAU,SAAAC,GACN,IAAM40B,EAAWvtB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAM42B,kBACtDW,EAASH,SAAWj0B,SAASR,EAAEC,OAAOR,MAAO,IAC7C,EAAK/B,SAAS,CAACu2B,gBAAiBW,IAAW,kBAAM,EAAK1C,kBAEzD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAIxxB,KAAI,SAAA60B,GAAI,OAAK,kBAAC50B,EAAA,EAAD,CAAUf,IAAK,KAAO21B,EAAM91B,MAAO81B,GAAOppB,GAAQopB,GAAQ,YAG5I,kBAACn1B,GAAA,EAAD,CAAawB,UAAWrD,KAAKxB,MAAM8E,QAAQkzB,aACvC,kBAAC10B,GAAA,EAAD,CAAYwyB,QAAM,EAACvyB,QAAQ,yBAAyBrB,IAAKC,EAAE,UAC3D,kBAACqB,GAAA,EAAD,CACIhB,MAAO,CAACtD,MAAO,KACfwD,MAAOm1B,EAASF,OAChB30B,SAAU,SAAAC,GACN,IAAM40B,EAAWvtB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAM42B,kBACtDW,EAASF,OAASl0B,SAASR,EAAEC,OAAOR,MAAO,IAC3C,EAAK/B,SAAS,CAACu2B,gBAAiBW,IAAW,kBAAM,EAAK1C,kBAEzD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAIxxB,KAAI,SAAA60B,GAAI,OAAK,kBAAC50B,EAAA,EAAD,CAAUf,IAAK,KAAO21B,EAAM91B,MAAO81B,GAAOppB,GAAQopB,GAAQ,aAIrJh3B,KAAKi3B,4BAA4B,sB,gDAKrC,MAAO,CACF,yBAAK51B,IAAI,OAAOL,MAAO,CAACyN,WAAY,IAAKzO,KAAK62B,gBAAgB,aAC/D72B,KAAKi3B,4BAA4B,e,mCAI5BnB,GAAO,IAAD,OACXA,IAAS91B,KAAKlB,MAAMg3B,MACpB91B,KAAKb,SAAS,CAAC22B,SAAO,kBAAM,EAAKnC,kB,+BAIhCxB,GACDA,IAASnyB,KAAKlB,MAAMqzB,OACpBnyB,KAAKb,SAAS,CAACgzB,SACfnyB,KAAKxB,MAAMgD,UAAYxB,KAAKxB,MAAMgD,SAAS2wB,M,+BAIzC,IAAD,OACL,OACI,yBAAK9uB,UAAWrD,KAAKxB,MAAM8E,QAAQkxB,SAC/B,yBAAKxzB,MAAO,CAACiY,YAAa,EAAGvb,MAAO,SAAS,kBAACqD,GAAA,EAAD,CAAWC,MAAO,CAACtD,MAAO,QAASwD,MAAOlB,KAAKlB,MAAMqzB,KAAMvwB,UAAU,KAClH,yBAAKZ,MAAO,CAACiY,YAAa,EAAGvb,MAAO,OAAQC,OAAQ,KAAMu0B,GAAkBlyB,KAAKlB,MAAMqzB,KAAMnyB,KAAKxB,MAAMqb,UAAY,OACpH,6BAAK,kBAAChY,GAAA,EAAD,CAAab,MAAO,CAACyN,WAAY,EAAGkE,UAAW,GAAItP,UAAWrD,KAAKxB,MAAM8E,QAAQkzB,aAClF,kBAAC10B,GAAA,EAAD,KAAapB,IAAKC,EAAE,WACpB,kBAACqB,GAAA,EAAD,CACId,MAAOlB,KAAKlB,MAAMg3B,KAClBt0B,SAAU,SAAAC,GAAC,OAAI,EAAKy1B,aAAaz1B,EAAEC,OAAOR,QAC1CgB,WAAY,CAAClD,KAAM,OAAQD,GAAI,SAC9BwI,OAAOC,KAAK+tB,IAAUpzB,KAAI,SAAA2zB,GAAI,OAAK,kBAAC1zB,EAAA,EAAD,CAAUf,IAAKk0B,GAASO,GAAO50B,MAAOq0B,GAASO,IAAQp1B,IAAKC,EAAE,MAAQ40B,GAASO,WAG1H91B,KAAKlB,MAAMg3B,OAASP,GAASC,MAAQx1B,KAAKm3B,kBAC1Cn3B,KAAKlB,MAAMg3B,OAASP,GAASE,UAAYz1B,KAAKo3B,sBAC9Cp3B,KAAKlB,MAAMg3B,OAASP,GAASG,iBAAmB11B,KAAKq3B,6BACrDr3B,KAAKlB,MAAMg3B,OAASP,GAASI,UAAY31B,KAAKs3B,8B,wCArgBnCC,EAAMpJ,GAE1B,GADAA,EAAMA,GAAO,EACToJ,EAAK/3B,SAAW2uB,EAChB,MAAO,IAKP,IAHA,IAAIpqB,EAAO,GACP8uB,EAAQ,KACRC,EAAM,KACDxtB,EAAI,EAAGA,EAAIiyB,EAAK/3B,OAAQ8F,IACf,OAAVutB,GACAA,EAAQ0E,EAAKjyB,GACbwtB,EAAMyE,EAAKjyB,KACJiyB,EAAKjyB,EAAI,GAAK,IAAMiyB,EAAKjyB,KAG5ButB,IAAUC,EACV/uB,EAAK2B,KAAKmtB,EAAQ,IAAMC,GAExB/uB,EAAK2B,KAAKmtB,GAEdA,EAAQ0E,EAAKjyB,IAPbwtB,EAAMyE,EAAKjyB,IAgBnB,OALIutB,IAAUC,EACV/uB,EAAK2B,KAAKmtB,EAAQ,IAAMC,GAExB/uB,EAAK2B,KAAKmtB,GAEP9uB,EAAKjE,KAAK,O,oCAIJiE,GACjB,GAAa,MAATA,EACA,MAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAExB,IAAMpE,EAAQoE,EAAKnE,MAAM,KACnB23B,EAAO,GAsBb,OArBA53B,EAAMyF,SAAQ,SAAAoyB,GACV,IAAMC,EAASD,EAAK53B,MAAM,KAC1B,GAAsB,IAAlB63B,EAAOj4B,OAGP,IAFA,IAAMqzB,EAAQ5wB,SAASw1B,EAAO,GAAI,IAC5B3E,EAAM7wB,SAASw1B,EAAO,GAAI,IACvBnB,EAAMzD,EAAOyD,GAAOxD,EAAKwD,KACa,IAAvCiB,EAAK1yB,QAAgB,IAARyxB,EAAY,EAAIA,IAC7BiB,EAAK7xB,KAAa,IAAR4wB,EAAY,EAAIA,OAIrB,MAATkB,IACAA,EAAO,GAEXA,EAAOv1B,SAASu1B,EAAM,KACM,IAAxBD,EAAK1yB,QAAQ2yB,IACbD,EAAK7xB,KAAK8xB,MAItBD,EAAK9vB,OACE8vB,I,iCAGOpF,GAEd,IAAMiD,GADNjD,EAAOA,EAAKpyB,QAAQ,QAAS,IAAIknB,QACVrnB,MAAM,KACvBqd,EAAU,GACVne,EAAQ,CACVg3B,KAAM,IA0HV,OAxHyB,IAArBV,EAAU51B,QACVyd,EAAQmV,QAAUgD,EAAU,IAAM,IAClCnY,EAAQqW,QAAU8B,EAAU,IAAM,IAClCnY,EAAQsW,MAAQ6B,EAAU,IAAM,IAChCnY,EAAQvF,KAAO0d,EAAU,IAAM,IAC/BnY,EAAQwW,OAAS2B,EAAU,IAAM,IACjCnY,EAAQya,IAAMtC,EAAU,IAAM,MAE9BnY,EAAQmV,QAAU,KAClBnV,EAAQqW,QAAU8B,EAAU,IAAM,IAClCnY,EAAQsW,MAAQ6B,EAAU,IAAM,IAChCnY,EAAQvF,KAAO0d,EAAU,IAAM,IAC/BnY,EAAQwW,OAAS2B,EAAU,IAAM,IACjCnY,EAAQya,IAAMtC,EAAU,IAAM,KAIV,OAApBnY,EAAQmV,SACY,MAApBnV,EAAQqW,SACU,MAAlBrW,EAAQsW,OACS,MAAjBtW,EAAQvF,MACW,MAAnBuF,EAAQwW,SACR30B,EAAMg3B,KAAOP,GAASE,SACtB32B,EAAM22B,SAAW,CACbM,OAAQ,EACRpU,KAAMiU,GAAetC,UAGL,MAApBrW,EAAQmV,SACY,MAApBnV,EAAQqW,SACU,MAAlBrW,EAAQsW,OACS,MAAjBtW,EAAQvF,MACW,MAAnBuF,EAAQwW,QACR30B,EAAMg3B,KAAOP,GAASE,SACtB32B,EAAM22B,SAAW,CACbM,OAAQ,EACRpU,KAAMiU,GAAexD,UAGL,OAApBnV,EAAQmV,UAC0B,IAAlCnV,EAAQqW,QAAQzuB,QAAQ,MACN,MAAlBoY,EAAQsW,OACS,MAAjBtW,EAAQvF,MACW,MAAnBuF,EAAQwW,QACR30B,EAAMg3B,KAAOP,GAASE,SACtB32B,EAAM22B,SAAW,CACbM,OAAQ9zB,SAASgb,EAAQqW,QAAQ1zB,MAAM,KAAK,GAAI,IAChD+hB,KAAMiU,GAAetC,UAIL,OAApBrW,EAAQmV,UAAsD,IAAlCnV,EAAQmV,QAAQvtB,QAAQ,MAChC,MAApBoY,EAAQqW,SACU,MAAlBrW,EAAQsW,OACS,MAAjBtW,EAAQvF,MACW,MAAnBuF,EAAQwW,QACR30B,EAAMg3B,KAAOP,GAASE,SACtB32B,EAAM22B,SAAW,CACbM,OAAQ9zB,SAASgb,EAAQmV,QAAQxyB,MAAM,KAAK,GAAI,IAChD+hB,KAAMiU,GAAexD,UAIL,OAApBnV,EAAQmV,UAAsD,IAAlCnV,EAAQmV,QAAQvtB,QAAQ,MAChC,MAApBoY,EAAQqW,UACwB,IAAhCrW,EAAQsW,MAAM1uB,QAAQ,MACL,MAAjBoY,EAAQvF,MACW,MAAnBuF,EAAQwW,QACR30B,EAAMg3B,KAAOP,GAASG,gBACtB52B,EAAM42B,gBAAkB,CACpBK,OAAQ9zB,SAASgb,EAAQmV,QAAQxyB,MAAM,KAAK,GAAI,IAChD+hB,KAAMiU,GAAexD,QACrB8D,SAAUj0B,SAASgb,EAAQsW,MAAM3zB,MAAM,KAAK,GAAI,IAChDu2B,OAAQl0B,SAASgb,EAAQsW,MAAM3zB,MAAM,KAAK,GAAI,IAC9Cw2B,SAAUJ,EAAW2B,cAAc1a,EAAQya,OAI3B,OAApBza,EAAQmV,UAC0B,IAAlCnV,EAAQqW,QAAQzuB,QAAQ,OACQ,IAAhCoY,EAAQsW,MAAM1uB,QAAQ,MACL,MAAjBoY,EAAQvF,MACW,MAAnBuF,EAAQwW,QACR30B,EAAMg3B,KAAOP,GAASG,gBACtB52B,EAAM42B,gBAAkB,CACpBK,OAAQ9zB,SAASgb,EAAQqW,QAAQ1zB,MAAM,KAAK,GAAI,IAChD+hB,KAAMiU,GAAetC,QACrB4C,SAAUj0B,SAASgb,EAAQsW,MAAM3zB,MAAM,KAAK,GAAI,IAChDu2B,OAAQl0B,SAASgb,EAAQsW,MAAM3zB,MAAM,KAAK,GAAI,IAC9Cw2B,SAAUJ,EAAW2B,cAAc1a,EAAQya,OAI3B,OAApBza,EAAQmV,SACRnwB,SAASgb,EAAQqW,QAAS,IAAIzc,aAAeoG,EAAQqW,SACrDrxB,SAASgb,EAAQsW,MAAO,IAAI1c,aAAeoG,EAAQsW,OAClC,MAAjBtW,EAAQvF,MACW,MAAnBuF,EAAQwW,QACR30B,EAAMg3B,KAAOP,GAASI,SACtB72B,EAAM62B,SAAW,CACbM,KAAMroB,GAAQ3L,SAASgb,EAAQsW,MAAO,KAAO,IAAM3lB,GAAQ3L,SAASgb,EAAQqW,QAAS,KACrF8C,SAAUJ,EAAW2B,cAAc1a,EAAQya,OAI3B,OAApBza,EAAQmV,SACRnwB,SAASgb,EAAQqW,QAAS,IAAIzc,aAAeoG,EAAQqW,SACrDrxB,SAASgb,EAAQsW,MAAO,IAAI1c,aAAeoG,EAAQsW,OACnDtxB,SAASgb,EAAQvF,KAAM,IAAIb,aAAeoG,EAAQvF,MAClDzV,SAASgb,EAAQwW,OAAQ,IAAI5c,aAAeoG,EAAQwW,QACpC,MAAhBxW,EAAQya,MACR54B,EAAMg3B,KAAOP,GAASC,KACtB12B,EAAM02B,KAAO,CACTS,KAAMroB,GAAQ3L,SAASgb,EAAQsW,MAAO,KAAO,IAAM3lB,GAAQ3L,SAASgb,EAAQqW,QAAS,KACrF5b,KAAM9J,GAAQ3L,SAASgb,EAAQvF,KAAM,KAAO,IAAM9J,GAAQ3L,SAASgb,EAAQwW,OAAQ,KAEnF2C,SAAUJ,EAAW2B,cAAc1a,EAAQya,OAI/C54B,EAAMg3B,KACCh3B,EAEA,O,iCAIGA,GACd,IAAIqzB,EAAO,YACX,GAAIrzB,EAAMg3B,OAASP,GAASE,SAAU,CAClC,IAAMY,EAAWv3B,EAAM22B,UAAY,GAUnC,GATIY,EAASN,OAAS,KAAIM,EAASN,OAAS,IACxCM,EAASN,OAAS,IAAGM,EAASN,OAAS,GAEvCM,EAAS/C,QAAU,KAAI+C,EAAS/C,QAAU,IAC1C+C,EAAS/C,QAAU,IAAG+C,EAAS/C,QAAU,GAEzC+C,EAAS9C,MAAQ,KAAI8C,EAAS9C,MAAQ,IACtC8C,EAAS9C,MAAQ,IAAG8C,EAAS9C,MAAQ,GAErCz0B,EAAMo0B,SACNf,EAAI,UAAMkE,EAAS/C,QAAU,EAAI,KAAO+C,EAAS/C,QAAU,IAAvD,YAA8D+C,EAAS9C,MAAQ,EAAI,KAAO8C,EAAS9C,MAAQ,IAA3G,eAEJ,OAAQ8C,EAAS1U,MACb,KAAKiU,GAAexD,QAChBD,EAAI,UAAMkE,EAASN,OAAS,EAAI,KAAOM,EAASN,OAAS,IAArD,cACJ,MACJ,KAAKH,GAAetC,QAChBnB,EAAI,UAAMkE,EAASN,OAAS,EAAI,KAAOM,EAASN,OAAS,IAArD,kBAMb,GAAIj3B,EAAMg3B,OAASP,GAASG,gBAAiB,CAChD,IACInC,EADE8C,EAAWv3B,EAAM42B,iBAAmB,GAY1C,OAVAW,EAASH,SAAWG,EAASH,UAAY,EACzCG,EAASF,YAA6B3mB,IAApB6mB,EAASF,OAAuB,GAAKE,EAASF,OAE5D5C,EADsB,IAAtB8C,EAASH,UAAsC,KAApBG,EAASF,OAC5B,IAEAE,EAASH,WAAaG,EAASF,OAASE,EAASH,SAAW,IAAMG,EAASF,OAAS,IAE5FE,EAASN,OAAS,KAAIM,EAASN,OAAS,IACxCM,EAASN,OAAS,IAAGM,EAASN,OAAS,GAC3CM,EAAS1U,KAAO0U,EAAS1U,MAAQiU,GAAetC,QACxC+C,EAAS1U,MACb,KAAKiU,GAAexD,QAChBD,EAAI,UAAMkE,EAASN,OAAS,EAAI,KAAOM,EAASN,OAAS,IAArD,cAA8DxC,EAA9D,gBAA2EvzB,KAAK43B,iBAAiBvB,EAASD,WAC9G,MACJ,KAAKR,GAAetC,QAChBnB,EAAI,UAAMkE,EAASN,OAAS,EAAI,KAAOM,EAASN,OAAS,IAArD,YAA4DxC,EAA5D,gBAAyEvzB,KAAK43B,iBAAiBvB,EAASD,iBAKjH,GAAIt3B,EAAMg3B,OAASP,GAASI,SAAU,CACzC,IAAMU,EAAWv3B,EAAM62B,UAAY,GAC7Bh2B,GAAS02B,EAASJ,MAAQ,SAASr2B,MAAM,KAC3C0zB,EAAUrxB,SAAStC,EAAM,GAAI,KAAO,EACpC2zB,EAAU,KAAIA,EAAU,IACxBA,EAAU,IAAGA,EAAU,GAC3B,IAAIC,EAAQtxB,SAAStC,EAAM,GAAI,KAAO,EAClC4zB,EAAQ,KAAIA,EAAQ,IACpBA,EAAQ,IAAGA,EAAQ,GAEvBpB,EAAI,UAAMmB,EAAN,YAAiBC,EAAjB,gBAA8BvzB,KAAK43B,iBAAiBvB,EAASD,UAAY,UAC1E,GAAIt3B,EAAMg3B,OAASP,GAASC,KAAM,CACrC,IAAMa,EAAWv3B,EAAM02B,MAAQ,GAC1Ba,EAAS3e,OACV2e,EAAS3e,MAAO,IAAIR,MAAOwf,UAAY,IAAM9oB,IAAQ,IAAIsJ,MAAOyf,WAAa,IAEjF,IAAMh3B,GAAS02B,EAASJ,MAAQ,SAASr2B,MAAM,KACzCi4B,EAAYxB,EAAS3e,KAAK9X,MAAM,KAClC0zB,EAAUrxB,SAAStC,EAAM,GAAI,KAAO,EACpC2zB,EAAU,KAAIA,EAAU,IACxBA,EAAU,IAAGA,EAAU,GAC3B,IAAIC,EAAQtxB,SAAStC,EAAM,GAAI,KAAO,EAClC4zB,EAAQ,KAAIA,EAAQ,IACpBA,EAAQ,IAAGA,EAAQ,GACvB,IAAI7b,EAAOzV,SAAS41B,EAAU,GAAI,KAAO,EACrCngB,EAAO,KAAIA,EAAO,IAClBA,EAAO,IAAG6b,EAAQ,GACtB,IAAIuE,EAAQ71B,SAAS41B,EAAU,GAAI,KAAO,EACtCC,EAAQ,KAAIA,EAAQ,IACpBA,EAAQ,IAAGA,EAAQ,GAEvB3F,EAAI,UAAMmB,EAAN,YAAiBC,EAAjB,YAA0B7b,EAA1B,YAAkCogB,EAAlC,MAER,OAAO3F,M,GAhUU3vB,IAAMC,WAyjBhBgC,gBA7mBA,SAAA0B,GAAK,MAAK,CACrBquB,QAAS,CACL92B,MAAO,OACPC,OAAQ,OACRkQ,SAAU,QAEd2oB,YAAa,CACT70B,OAAQ,EACRqD,SAAU,KAEdyxB,uBAAwB,CACpB9gB,YAAa,GAEjBihB,sBAAuB,CACnBmB,WAAY,QA+lBLtzB,CAAmBuxB,I,mBC7gB5B1D,I,OAAW,CACb,SACA,SACA,UACA,YACA,WACA,SACA,WACA,WAEEC,GAAS,CACX,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,YAEEyF,GACS,UADTA,GAEO,QAEPC,GAAQ,CACV,UACA,aACA,gBACA,YACA,aACA,cACA,SACA,OACA,eACA,QACA,WACA,eACA,OACA,SAGJ,SAASrqB,GAAQwmB,GACb,OAAIA,EAAM,GAAW,IAAMA,EACpB,GAAKA,EAuChB,IAAM8D,GAAU,CACZjC,KAAM,CACFkC,WAAW,EAEXtF,MAAO,QACPC,IAAK,QAELgD,KAAM,QACNL,SAAU,GAEdM,OAAQ,CACJP,KAAM,GACN4C,KAAM,EACN1E,KAAM,GACNF,MAAO,GACP6E,MAAO,EACP5E,OAAQ,GAER6E,MAAO,EACPC,UAAW,EACXC,SAAU,GAEdC,MAAO,CACHpa,KAAM,GACNqa,GAAI,KAGZ,SAASC,GAAcjhB,GACnB,IAAM/X,EAAQ+X,EAAK9X,MAAM,KACzB,GAAqB,IAAjBD,EAAMH,OACN,OAAOG,EAAM,GAAK,IAAMA,EAAM,GAAK,IAAMA,EAAM,G,IAIjDi5B,G,kDACF,WAAYp6B,GAAQ,IAAD,EAEXyyB,EACJ,GAHe,qBACf,cAAMzyB,IAEGA,MAAMyyB,UAA2C,kBAAxB,EAAKzyB,MAAMyyB,UAAoD,MAA3B,EAAKzyB,MAAMyyB,SAAS,GACtF,IACIA,EAAWnoB,KAAKC,MAAM,EAAKvK,MAAMyyB,UACnC,MAAOxvB,IANE,OAWTwvB,GAAa1pB,OAAOC,KAAKypB,GAAUzxB,SAAW,EAAKhB,MAAMgD,UAC3DD,YAAW,kBAAM,EAAKC,SAAS,EAAK1C,MAAMmyB,UAAU,KAAO,KAE/DA,EAAWA,GAAY,IACvBA,EAAW1pB,OAAOiH,OAAO,GAAI0pB,GAASjH,IAC7BwH,MAAMpa,KAAO4S,EAASwH,MAAMpa,MAAQ,EAAKwa,aAElD,EAAKC,QAAUt2B,IAAMyG,YACrB,EAAK8vB,MAAQv2B,IAAMyG,YACnB,EAAK+vB,QAAUx2B,IAAMyG,YAErB,EAAKnK,MAAQ,CACTmyB,WACAgI,KAAM,EAAKC,WAAWjI,IAGtBnoB,KAAK8C,UAAUqlB,KAAc,EAAKzyB,MAAMyyB,UACxC1vB,YAAW,kBAAM,EAAK/C,MAAMgD,UAAY,EAAKhD,MAAMgD,SAASsH,KAAK8C,UAAUqlB,MAAY,KA5B5E,E,qDAgCVA,EAAUkI,GACf,IAAMC,EAAStwB,KAAK8C,UAAUqlB,KAAcnoB,KAAK8C,UAAU5L,KAAKlB,MAAMmyB,UACtE,GAAIkI,GAASC,EAAQ,CACjBA,GAAUp5B,KAAKb,SAAS,CAAC8xB,WAAUgI,KAAMj5B,KAAKk5B,WAAWjI,KACzD,IAAMoI,EAAOvwB,KAAKC,MAAMD,KAAK8C,UAAUqlB,IACvC,GAAIoI,EAAKtD,OAAOP,KAAM,CAClB,IAAIA,EAAO6D,EAAKtD,OAAOP,YAChB6D,EAAKtD,OACZsD,EAAKtD,OAAS,CAACP,eACR6D,EAAKZ,WAEhB,GAAIY,EAAKtD,OAAOqC,KAAM,CAClB,IAAIA,EAAOiB,EAAKtD,OAAOqC,KACnB1E,EAAO2F,EAAKtD,OAAOrC,YAChB2F,EAAKtD,OACZsD,EAAKtD,OAAS,CAACqC,QACX1E,GAAiB,OAATA,IACR2F,EAAKtD,OAAOrC,KAAOA,QAG3B,GAAI2F,EAAKtD,OAAOsC,MAAO,CACnB,IAAIA,EAAQgB,EAAKtD,OAAOsC,MACpB3E,EAAO2F,EAAKtD,OAAOrC,YAChB2F,EAAKtD,OACZsD,EAAKtD,OAAS,CAACsC,SACX3E,GAAiB,OAATA,IACR2F,EAAKtD,OAAOrC,KAAOA,QAG3B,GAAI2F,EAAKtD,OAAOtC,OAAQ,CACpB,IAAIA,EAAS4F,EAAKtD,OAAOtC,OACrBD,EAAQ6F,EAAKtD,OAAOvC,aACjB6F,EAAKtD,OACZsD,EAAKtD,OAAS,CAACtC,UACXD,GAAmB,OAAVA,IACT6F,EAAKtD,OAAOvC,MAAQA,QAG5B,GAAI6F,EAAKtD,OAAOuC,MAAO,CACnB,IAAIA,EAAQe,EAAKtD,OAAOuC,MACpBC,EAAYc,EAAKtD,OAAOwC,UACxBC,EAAWa,EAAKtD,OAAOyC,gBACpBa,EAAKtD,OACZsD,EAAKtD,OAAS,CAACuC,QAAOE,YAClBD,IACAc,EAAKtD,OAAOwC,UAAYA,GAWhC,GAPIc,EAAKpD,KAAKkC,kBACHkB,EAAKpD,KAAKnD,WACVuG,EAAKpD,KAAKH,YACVuD,EAAKpD,KAAKR,iBAEV4D,EAAKpD,KAAKkC,UAEjBkB,EAAKZ,MAAO,CAIZ,GAHKY,EAAKZ,MAAMC,WACLW,EAAKZ,MAAMC,GAEG,IAArBW,EAAKtD,OAAOqC,MAAoC,IAAtBiB,EAAKtD,OAAOsC,OAAsC,IAAvBgB,EAAKtD,OAAOtC,QAAsC,IAAtB4F,EAAKtD,OAAOuC,MAAa,CAC1G,IAAMja,EAAOre,KAAKs5B,YAAYD,EAAKZ,MAAMpa,MACnCkb,EAAQ,IAAIriB,KAClBqiB,EAAMC,SAAS,GACfD,EAAME,WAAW,GACjBF,EAAMG,WAAW,GACjBH,EAAMI,gBAAgB,GAClBtb,GAAQkb,UACDF,EAAKZ,MAAMpa,KAGrBgb,EAAKZ,MAAMpa,MAASgb,EAAKZ,MAAMC,WACzBW,EAAKZ,MAIpBz4B,KAAKxB,MAAMgD,UAAYxB,KAAKxB,MAAMgD,SAASsH,KAAK8C,UAAUytB,O,iCAIvDpI,GACP,IAAIgI,EAAO,GACPW,EAAY55B,KAAKs5B,YAAYrI,EAASwH,MAAMpa,MAChD,GAAI4S,EAAS8E,OAAOP,KAAM,CAEtB,IAAIA,EAAOx1B,KAAKs5B,YAAYrI,EAAS8E,OAAOP,MACxC/R,EAAM,IAAIvM,KAOd,GANAuM,EAAIkW,gBAAgB,GACpBlW,EAAIiW,WAAW,GACfjW,EAAIgW,WAAW,GACfhW,EAAI+V,SAAS,GAGThE,EAAO/R,EAEP,OAAO/iB,IAAKC,EAAE,uBAGds4B,EAAKvzB,KAAKhF,IAAKC,EAAE,mBAAoBswB,EAAS8E,OAAOP,YAG7D,GAAIvE,EAAS8E,OAAOqC,KAChB,GAA6B,IAAzBnH,EAAS8E,OAAOqC,KAChB,GAAInH,EAAS8E,OAAOrC,KAAM,CACtB,IAAMA,EAAO5qB,KAAKC,MAAMkoB,EAAS8E,OAAOrC,MACxC,GAAoB,IAAhBA,EAAKl0B,QAA4B,IAAZk0B,EAAK,IAAwB,IAAZA,EAAK,GAE3CuF,EAAKvzB,KAAKhF,IAAKC,EAAE,6BACd,GAAoB,IAAhB+yB,EAAKl0B,QAA4B,IAAZk0B,EAAK,IAAwB,IAAZA,EAAK,IAAwB,IAAZA,EAAK,IAAwB,IAAZA,EAAK,IAAwB,IAAZA,EAAK,GAErGuF,EAAKvzB,KAAKhF,IAAKC,EAAE,4BACd,CACH,IAAMk5B,EAAQnG,EAAKvxB,KAAI,SAAAm0B,GAAG,OAAI51B,IAAKC,EAAE2xB,GAASgE,OAC9C,GAAqB,IAAjBuD,EAAMr6B,OAENy5B,EAAKvzB,KAAKhF,IAAKC,EAAE,qBAAsBk5B,EAAM,UAC1C,GAAqB,IAAjBA,EAAMr6B,OAEby5B,EAAKvzB,KAAKhF,IAAKC,EAAE,0BACd,CACH,IAAMm5B,EAAOD,EAAMh6B,MAEnBo5B,EAAKvzB,KAAKhF,IAAKC,EAAE,sBAAuBk5B,EAAM/5B,KAAK,MAAOg6B,WAIlEb,EAAKvzB,KAAKhF,IAAKC,EAAE,2BAGrBs4B,EAAKvzB,KAAKhF,IAAKC,EAAE,qBAAsBswB,EAAS8E,OAAOqC,YAG/D,GAAInH,EAAS8E,OAAOsC,MAAO,CAOvB,GAN8B,IAA1BpH,EAAS8E,OAAOsC,MAChBY,EAAKvzB,KAAKhF,IAAKC,EAAE,uBAEjBs4B,EAAKvzB,KAAKhF,IAAKC,EAAE,uBAAwBswB,EAAS8E,OAAOsC,SAGzDpH,EAAS8E,OAAOrC,KAuBhB,OAAOhzB,IAAKC,EAAE,kBAtBd,IAAM+yB,EAAO5qB,KAAKC,MAAMkoB,EAAS8E,OAAOrC,MACxC,GAAoB,IAAhBA,EAAKl0B,QAA4B,IAAZk0B,EAAK,IAAwB,IAAZA,EAAK,GAE3CuF,EAAKvzB,KAAKhF,IAAKC,EAAE,6BACd,GAAoB,IAAhB+yB,EAAKl0B,QAA4B,IAAZk0B,EAAK,IAAwB,IAAZA,EAAK,IAAwB,IAAZA,EAAK,IAAwB,IAAZA,EAAK,IAAwB,IAAZA,EAAK,GAErGuF,EAAKvzB,KAAKhF,IAAKC,EAAE,4BACd,CACH,IAAMk5B,EAAQnG,EAAKvxB,KAAI,SAAAm0B,GAAG,OAAI51B,IAAKC,EAAE2xB,GAASgE,OAC9C,GAAqB,IAAjBuD,EAAMr6B,OAENy5B,EAAKvzB,KAAKhF,IAAKC,EAAE,qBAAsBk5B,EAAM,UAC1C,GAAqB,IAAjBA,EAAMr6B,OAEby5B,EAAKvzB,KAAKhF,IAAKC,EAAE,0BACd,CACH,IAAMm5B,EAAOD,EAAMh6B,MAEnBo5B,EAAKvzB,KAAKhF,IAAKC,EAAE,sBAAuBk5B,EAAM/5B,KAAK,MAAOg6B,WAO1E,GAAI7I,EAAS8E,OAAOtC,OAAQ,CACxB,GAAIxC,EAAS8E,OAAOvC,MAAO,CACvB,IAAMA,EAAQ1qB,KAAKC,MAAMkoB,EAAS8E,OAAOvC,OACzC,GAAqB,IAAjBA,EAAMh0B,OAENy5B,EAAKvzB,KAAKhF,IAAKC,EAAE,kBAAmB6yB,EAAM,UACvC,GAAqB,KAAjBA,EAAMh0B,OACby5B,EAAKvzB,KAAKhF,IAAKC,EAAE,6BACd,KAAK6yB,EAAMh0B,OACd,OAAOkB,IAAKC,EAAE,kBAEd,IAAMm5B,EAAOtG,EAAM3zB,MAEnBo5B,EAAKvzB,KAAKhF,IAAKC,EAAE,mBAAoB6yB,EAAM1zB,KAAK,MAAOg6B,UAG3Db,EAAKvzB,KAAKhF,IAAKC,EAAE,yBAGrB,GAA+B,IAA3BswB,EAAS8E,OAAOtC,OAChBwF,EAAKvzB,KAAKhF,IAAKC,EAAE,6BACd,GAAsC,kBAA3BswB,EAAS8E,OAAOtC,OAC9BwF,EAAKvzB,KAAKhF,IAAKC,EAAE,wBAAyBswB,EAAS8E,OAAOtC,aACvD,CACH,IACMsG,EADSjxB,KAAKC,MAAMkoB,EAAS8E,OAAOtC,QACnBtxB,KAAI,SAAA21B,GAAK,OAAIp3B,IAAKC,EAAE4xB,GAAOuF,EAAQ,OAC1D,IAAKiC,EAAQv6B,OAET,OAAOkB,IAAKC,EAAE,kBACX,GAAuB,IAAnBo5B,EAAQv6B,OAEfy5B,EAAKvzB,KAAKhF,IAAKC,EAAE,mBAAoBo5B,EAAQ,UAC1C,GAAuB,KAAnBA,EAAQv6B,OAEfy5B,EAAKvzB,KAAKhF,IAAKC,EAAE,4BACd,CACH,IAAMm5B,EAAOC,EAAQl6B,MAErBo5B,EAAKvzB,KAAKhF,IAAKC,EAAE,oBAAqBo5B,EAAQj6B,KAAK,MAAOg6B,WAKlE7I,EAAS8E,OAAOuC,QACc,IAA1BrH,EAAS8E,OAAOuC,MAChBW,EAAKvzB,KAAKhF,IAAKC,EAAE,uBAEjBs4B,EAAKvzB,KAAKhF,IAAKC,EAAE,uBAAwBswB,EAAS8E,OAAOuC,QAE7DW,EAAKvzB,KAAKhF,IAAKC,EAAE,kBAAmBswB,EAAS8E,OAAOyC,SAAUvH,EAAS8E,OAAOwC,UAAY73B,IAAKC,EAAE4xB,GAAOtB,EAAS8E,OAAOwC,UAAY,IAAM73B,IAAKC,EAAE,0BAIrJ,GAAIswB,EAASgF,KAAKkC,WAC8B,IAAxCF,GAAMpzB,QAAQosB,EAASgF,KAAKpD,OAE5BoG,EAAKvzB,KAAKhF,IAAKC,EAAE,kBAAmBD,IAAKC,EAAE,aAAeswB,EAASgF,KAAKpD,SAGxEoG,EAAKvzB,KAAKhF,IAAKC,EAAE,kBAAmBswB,EAASgF,KAAKpD,YAEnD,CACC5B,EAASgF,KAAKH,OAASkC,GACQ,IAA3B/G,EAASgF,KAAKR,SAEdwD,EAAKvzB,KAAKhF,IAAKC,EAAE,yBAGjBs4B,EAAKvzB,KAAKhF,IAAKC,EAAE,yBAA0BswB,EAASgF,KAAKR,WAG9B,IAA3BxE,EAASgF,KAAKR,SAEdwD,EAAKvzB,KAAKhF,IAAKC,EAAE,uBAGjBs4B,EAAKvzB,KAAKhF,IAAKC,EAAE,uBAAwBswB,EAASgF,KAAKR,WAG/D,IAAM5C,GAAgD,IAAxCoF,GAAMpzB,QAAQosB,EAASgF,KAAKpD,OAAgBnyB,IAAKC,EAAE,aAAeswB,EAASgF,KAAKpD,OAAS5B,EAASgF,KAAKpD,MAC/GC,GAA4C,IAAtCmF,GAAMpzB,QAAQosB,EAASgF,KAAKnD,KAAcpyB,IAAKC,EAAE,aAAeswB,EAASgF,KAAKnD,KAAO7B,EAASgF,KAAKnD,KACjG,UAAVD,GAA8B,UAARC,GAA2B,UAARA,IAEzCmG,EAAKvzB,KAAKhF,IAAKC,EAAE,0BAA2BkyB,EAAOC,IAiB3D,OAbK7B,EAAS8E,OAAOP,OAEboE,EAAUI,UAAY9iB,KAAKuM,OAASwN,EAASwH,MAAMC,GAEnDO,EAAKvzB,KAAKhF,IAAKC,EAAE,uBAAwBswB,EAASwH,MAAMpa,KAAM4S,EAASwH,MAAMC,KACtEkB,EAAUI,UAAY9iB,KAAKuM,MAElCwV,EAAKvzB,KAAKhF,IAAKC,EAAE,qBAAsBswB,EAASwH,MAAMpa,OAC/C4S,EAASwH,MAAMC,IAEtBO,EAAKvzB,KAAKhF,IAAKC,EAAE,mBAAoBswB,EAASwH,MAAMC,MAGrDO,EAAKn5B,KAAK,O,8CAGI,IAAD,OACdmxB,EAAWjxB,KAAKlB,MAAMmyB,SACxBgJ,GAAW,EACX3D,GAAM,EACN4D,GAAQ,EACRC,GAAS,EAYb,MAX4B,UAAxBlJ,EAASgF,KAAKpD,OAA2C,UAAtB5B,EAASgF,KAAKnD,KACjDmH,GAAW,EACXE,GAAS,GACsB,YAAxBlJ,EAASgF,KAAKpD,OACrByD,GAAM,EACN6D,GAAS,GACsB,WAAxBlJ,EAASgF,KAAKpD,QACrBqH,GAAQ,EACRC,GAAS,GAIT,yBAAK94B,IAAI,aAAagC,UAAWrD,KAAKxB,MAAM8E,QAAQ82B,QAChD,yBAAK/2B,UAAWrD,KAAKxB,MAAM8E,QAAQ+2B,SAC/B,kBAAC5F,GAAA,EAAD,CAAkBC,QAAS,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,SAAU3D,EAASgF,KAAKkC,UAAW51B,QAAS,WACpH,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKkC,WAAY,EAC3B,EAAK32B,SAASg5B,MACZv5B,MAAOP,IAAKC,EAAE,uBAExB,yBAAK0C,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAC/B,yBAAKp3B,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,cAC7BxJ,EAASgF,KAAKkC,WAAc,6BAC1B,6BAAK,kBAAC1D,GAAA,EAAD,CAAkBC,QAAS,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAASuF,EAAQ53B,QAAS,WACvG,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKpD,MAAQ,QACvB2H,EAAUvE,KAAKnD,IAAM,QACrB,EAAKtxB,SAASg5B,MACZv5B,MAAQk5B,EAAgC,GAAvBz5B,IAAKC,EAAE,gBACzBw5B,GAAU,CACN,kBAACp5B,GAAA,EAAD,CACGsC,UAAWrD,KAAKxB,MAAM8E,QAAQo3B,UAC9B15B,MAAO,CAAC2U,YAAa,IACrBtU,IAAI,gBACJ/D,KAAK,OACL4D,MAAOlB,KAAKlB,MAAMmyB,SAASgF,KAAKpD,MAEhCrxB,SAAU,SAAAC,GACN,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKpD,MAAQpxB,EAAEC,OAAOR,MAChC,EAAKM,SAASg5B,IAElBnG,gBAAiB,CAACC,QAAQ,GAC1BrzB,MAAOP,IAAKC,EAAE,YACdgB,OAAO,WAEV,kBAACZ,GAAA,EAAD,CACGsC,UAAWrD,KAAKxB,MAAM8E,QAAQo3B,UAC9Br5B,IAAI,cACJ/D,KAAK,OACL4D,MAAOlB,KAAKlB,MAAMmyB,SAASgF,KAAKnD,IAEhCtxB,SAAU,SAAAC,GACN,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKnD,IAAMrxB,EAAEC,OAAOR,MAC9B,EAAKM,SAASg5B,IAElBnG,gBAAiB,CAACC,QAAQ,GAC1BrzB,MAAOP,IAAKC,EAAE,UACdgB,OAAO,eAMrBsvB,EAASgF,KAAKkC,WAAc,6BAAK,kBAAC1D,GAAA,EAAD,CAAkBC,QAAS,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAASqF,EAAU13B,QAAS,WACvI,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKpD,MAAQ,QACvB2H,EAAUvE,KAAKnD,IAAM,QACrB,EAAKtxB,SAASg5B,MACZv5B,MAAOP,IAAKC,EAAE,oBAElBswB,EAASgF,KAAKkC,WAAc,6BAAK,kBAAC1D,GAAA,EAAD,CAAkBC,QAAS,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAAS0B,EAAK/zB,QAAS,WAClI,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKpD,MAAQ,UACvB2H,EAAUvE,KAAKnD,IAAM,SACrB,EAAKtxB,SAASg5B,MACZv5B,MAAOP,IAAKC,EAAE,oBAElBswB,EAASgF,KAAKkC,WAAc,6BAAK,kBAAC1D,GAAA,EAAD,CAAkBC,QAAS,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAASsF,EAAO33B,QAAS,WACpI,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKpD,MAAQ,SACvB2H,EAAUvE,KAAKnD,IAAM,UACrB,EAAKtxB,SAASg5B,MACZv5B,MAAOP,IAAKC,EAAE,uBAEtBswB,EAASgF,KAAKkC,WAAan4B,KAAK26B,+B,6CAK1B,IAAD,OACbC,GAA6D,IAAnD3C,GAAMpzB,QAAQ7E,KAAKlB,MAAMmyB,SAASgF,KAAKpD,OAEvD,OAAQ,yBAAKxxB,IAAI,YAAagC,UAAWrD,KAAKxB,MAAM8E,QAAQ82B,QACxD,yBAAK/2B,UAAWrD,KAAKxB,MAAM8E,QAAQ+2B,SAC/B,kBAAC5F,GAAA,EAAD,CAAkBC,QAAS,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAAS50B,KAAKlB,MAAMmyB,SAASgF,KAAKkC,UAAW51B,QAAS,WAC9H,IAAM0uB,EAAWnoB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACtDA,EAASgF,KAAKkC,WAAY,EAC1B,EAAK32B,SAASyvB,MACZhwB,MAAOP,IAAKC,EAAE,oBAEvBX,KAAKlB,MAAMmyB,SAASgF,KAAKkC,WACrB,kBAACn2B,GAAA,EAAD,CAAQd,MAAO05B,EAAU56B,KAAKlB,MAAMmyB,SAASgF,KAAKpD,MAAQ,QAClDrxB,SAAU,SAAAC,GACN,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKpD,MAAQpxB,EAAEC,OAAOR,MAChC,EAAKM,SAASg5B,KAGvB,kBAACp4B,EAAA,EAAD,CAAUf,IAAI,WAAWH,MAAO,SAAUR,IAAKC,EAAE,qBAChDs3B,GAAM91B,KAAI,SAAA0K,GAAK,OAAK,kBAACzK,EAAA,EAAD,CAAUf,IAAKwL,EAAO3L,MAAO2L,GAAQnM,IAAKC,EAAE,aAAekM,QAGvF7M,KAAKlB,MAAMmyB,SAASgF,KAAKkC,YAAcyC,GACnC,yBAAKv3B,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAAa,kBAAC15B,GAAA,EAAD,CAC7CsC,UAAWrD,KAAKxB,MAAM8E,QAAQo3B,UAC9Br5B,IAAI,iBACJH,MAAOlB,KAAKlB,MAAMmyB,SAASgF,KAAKpD,MAChCv1B,KAAK,OAELkE,SAAU,SAAAC,GACN,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKpD,MAAQpxB,EAAEC,OAAOR,MAChC,EAAKM,SAASg5B,IAElBnG,gBAAiB,CAACC,QAAQ,GAC1B3yB,OAAO,e,mCAOnB,OAAQ,wBAAI0B,UAAWrD,KAAKxB,MAAM8E,QAAQu3B,O,uCAG5B,IAAD,OACP5J,EAAWjxB,KAAKlB,MAAMmyB,SACtB6J,GAAU7J,EAAS8E,OAAOrC,OAASzC,EAAS8E,OAAOtC,SAAWxC,EAAS8E,OAAOvC,QAAUvC,EAAS8E,OAAOuC,QAAUrH,EAAS8E,OAAOqC,OAASnH,EAAS8E,OAAOsC,MAKjK,OAJIyC,IAAW7J,EAAS8E,OAAOP,OAC3BvE,EAAS8E,OAAOP,KAAOx1B,KAAK64B,YAAW,IAGpC,CAEF,yBAAKx3B,IAAI,OAAOgC,UAAWrD,KAAKxB,MAAM8E,QAAQ82B,OAAS,IAAMp6B,KAAKxB,MAAM8E,QAAQy3B,SAC7E,yBAAK13B,UAAWrD,KAAKxB,MAAM8E,QAAQ+2B,SAC/B,kBAAC5F,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAASkG,EAAQv4B,QAAS,WACvF,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOP,KAAOgF,EAAUzE,OAAOP,MAAQ,EAAKqD,YAAW,GACjE2B,EAAUzE,OAAOrC,KAAO,GACxB8G,EAAUzE,OAAOtC,OAAS,GAC1B+G,EAAUzE,OAAOvC,MAAQ,GACzBgH,EAAUzE,OAAOuC,MAAQ,EACzBkC,EAAUzE,OAAOyC,SAAW,EAC5BgC,EAAUzE,OAAOwC,UAAY,EAC7BiC,EAAUzE,OAAOsC,MAAQ,EACzBmC,EAAUzE,OAAOqC,KAAO,EACxB,EAAK52B,SAASg5B,MAEpBv5B,MAAOP,IAAKC,EAAE,qBAE3Bm6B,GAAW,yBAAKz3B,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAC1C,kBAAC15B,GAAA,EAAD,CACGsC,UAAWrD,KAAKxB,MAAM8E,QAAQ03B,UAC9B19B,KAAK,OACLyS,IAAK/P,KAAKg5B,QACV33B,IAAI,cACJ45B,aAActC,GAAc1H,EAAS8E,OAAOP,MAE5Ch0B,SAAU,SAAAC,GACN,EAAKy5B,WAAa7oB,aAAa,EAAK6oB,WAEpC,EAAKlC,QAAQ5hB,QAAQpW,MAAM9C,WAAa,YACxC,EAAKg9B,UAAY35B,YAAW,SAAAL,GACxB,EAAKg6B,UAAY,KACjB,EAAKlC,QAAQ5hB,QAAQpW,MAAM9C,WAAa,GACxC,IAAMs8B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACjDvZ,EAAO,EAAK4hB,YAAYp4B,GACN,iBAApBwW,EAAKb,aACL2jB,EAAUzE,OAAOP,KAAO5nB,GAAQ8J,EAAKgf,WAAa,IAAM9oB,GAAQ8J,EAAKif,WAAa,GAAK,IAAMjf,EAAKyjB,cAClG,EAAK35B,SAASg5B,MAEnB,KAAM/4B,EAAEC,OAAOR,QAEtBmzB,gBAAiB,CAACC,QAAQ,GAC1BrzB,MAAOP,IAAKC,EAAE,UACdgB,OAAO,aAOlB,yBAAKN,IAAI,OAAOgC,UAAWrD,KAAKxB,MAAM8E,QAAQ82B,OAAS,IAAMp6B,KAAKxB,MAAM8E,QAAQ83B,SAC7E,yBAAK/3B,UAAWrD,KAAKxB,MAAM8E,QAAQ+2B,SAC/B,kBAAC5F,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,UAAW3D,EAAS8E,OAAOqC,KAAM71B,QAAS,WAC5G,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACtDuJ,EAAUzE,OAAOqC,KAAO,EACxBoC,EAAUzE,OAAOrC,KAAO,GACxB8G,EAAUzE,OAAOtC,OAAS,GAC1B+G,EAAUzE,OAAOvC,MAAQ,GACzBgH,EAAUzE,OAAOuC,MAAQ,EACzBkC,EAAUzE,OAAOyC,SAAW,EAC5BgC,EAAUzE,OAAOwC,UAAY,EAC7BiC,EAAUzE,OAAOsC,MAAQ,EACzBmC,EAAUzE,OAAOP,KAAO,GACzB,EAAKh0B,SAASg5B,MAElBv5B,MAAOP,IAAKC,EAAE,sBAEzB,yBAAK0C,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAC9Bz6B,KAAKq7B,yBACLpK,EAAS8E,OAAOqC,KAAOp4B,KAAKs7B,4BAA8B,OAsBlE,yBAAKj6B,IAAI,QAAQgC,UAAWrD,KAAKxB,MAAM8E,QAAQ82B,OAAS,IAAMp6B,KAAKxB,MAAM8E,QAAQi4B,SAC9E,yBAAKl4B,UAAWrD,KAAKxB,MAAM8E,QAAQ+2B,SAC/B,kBAAC5F,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,UAAW3D,EAAS8E,OAAOsC,MAAO91B,QAAS,WACpH,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOsC,MAAQpH,EAAS8E,OAAOsC,MAAQ,EAAI,EACrDmC,EAAUzE,OAAOrC,KAAOzC,EAAS8E,OAAOrC,MAAQ,MAChD8G,EAAUzE,OAAOtC,OAAS,GAC1B+G,EAAUzE,OAAOvC,MAAQ,GACzBgH,EAAUzE,OAAOuC,MAAQ,EACzBkC,EAAUzE,OAAOyC,SAAW,EAC5BgC,EAAUzE,OAAOwC,UAAY,EAC7BiC,EAAUzE,OAAOqC,KAAO,EACxBoC,EAAUzE,OAAOP,KAAO,GACxB,EAAKh0B,SAASg5B,MAElBv5B,MAAOP,IAAKC,EAAE,uBAElB,yBAAK0C,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAC/B,yBAAKp3B,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAAcz6B,KAAKw7B,2BACtD,yBAAKn4B,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,YAAc,IAAMz6B,KAAKxB,MAAM8E,QAAQm4B,aAAcz7B,KAAKlB,MAAMmyB,SAAS8E,OAAOsC,MAAQr4B,KAAKs7B,4BAA8B,QAMrK,yBAAKj6B,IAAI,SAASgC,UAAWrD,KAAKxB,MAAM8E,QAAQ82B,OAAS,IAAMp6B,KAAKxB,MAAM8E,QAAQo4B,WAC/E,yBAAKr4B,UAAWrD,KAAKxB,MAAM8E,QAAQ+2B,SAC/B,kBAAC5F,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,UAAW3D,EAAS8E,OAAOtC,OAAQlxB,QAAS,WAClH,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACtDuJ,EAAUzE,OAAOtC,OAAS,EAC1B+G,EAAUzE,OAAOrC,KAAO,GACxB8G,EAAUzE,OAAOvC,MAAQ,GACzBgH,EAAUzE,OAAOuC,MAAQ,EACzBkC,EAAUzE,OAAOyC,SAAW,EAC5BgC,EAAUzE,OAAOwC,UAAY,EAC7BiC,EAAUzE,OAAOsC,MAAQ,EACzBmC,EAAUzE,OAAOqC,KAAO,EACxBoC,EAAUzE,OAAOP,KAAO,GACzB,EAAKh0B,SAASg5B,MAElBv5B,MAAOP,IAAKC,EAAE,wBAErB,yBAAK0C,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAC9Bz6B,KAAK27B,2BACL1K,EAAS8E,OAAOtC,OAAU,6BACvB,yBAAKpwB,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,YAAc,IAAMz6B,KAAKxB,MAAM8E,QAAQs4B,gBACtE,kBAACnH,GAAA,EAAD,CAAkBC,QAAU,kBAACC,GAAA,EAAD,CAAUtxB,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,UAAW3D,EAAS8E,OAAOvC,MAAOjxB,QAAS,WACvH,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOtC,OAAS+G,EAAUzE,OAAOtC,QAAU,EAErD,IADA,IAAMD,EAAQ,GACLluB,EAAI,EAAGA,GAAK,GAAIA,IACrBkuB,EAAM9tB,KAAKJ,GAEfk1B,EAAUzE,OAAOvC,MAAQgH,EAAUzE,OAAOvC,OAAS1qB,KAAK8C,UAAU4nB,GAClEgH,EAAUzE,OAAOrC,KAAO,GACxB8G,EAAUzE,OAAOuC,MAAQ,EACzBkC,EAAUzE,OAAOyC,SAAW,EAC5BgC,EAAUzE,OAAOwC,UAAY,EAC7BiC,EAAUzE,OAAOsC,MAAQ,EACzBmC,EAAUzE,OAAOqC,KAAO,EACxBoC,EAAUzE,OAAOP,KAAO,GAExB,EAAKh0B,SAASg5B,MAElBv5B,MAAOP,IAAKC,EAAE,sBAClB,yBAAK0C,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,YAAc,IAAMz6B,KAAKxB,MAAM8E,QAAQs4B,gBACrE57B,KAAK67B,2BAEJ,OAMjB,yBAAKx6B,IAAI,QAAQgC,UAAWrD,KAAKxB,MAAM8E,QAAQ82B,OAAS,IAAMp6B,KAAKxB,MAAM8E,QAAQw4B,UAC9E,yBAAKz4B,UAAWrD,KAAKxB,MAAM8E,QAAQ+2B,SAC/B,kBAAC5F,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,UAAW3D,EAAS8E,OAAOuC,MAAO/1B,QAAS,WACrH,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACtDuJ,EAAUzE,OAAOuC,MAAQ,EACzBkC,EAAUzE,OAAOyC,SAAW,EAC5BgC,EAAUzE,OAAOwC,UAAY,EAC7BiC,EAAUzE,OAAOrC,KAAO,GACxB8G,EAAUzE,OAAOtC,OAAS,EAC1B+G,EAAUzE,OAAOvC,MAAQ,GACzBgH,EAAUzE,OAAOsC,MAAQ,EACzBmC,EAAUzE,OAAOqC,KAAO,EACxBoC,EAAUzE,OAAOP,KAAO,GACzB,EAAKh0B,SAASg5B,MAElBv5B,MAAOP,IAAKC,EAAE,uBAEjB,yBAAK0C,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAC/B,yBAAKp3B,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAAcz6B,KAAK+7B,6BACnD9K,EAAS8E,OAAOuC,OAAU,yBAAKj1B,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAC5D,8BAAO/5B,IAAKC,EAAE,WACd,kBAACuR,EAAA,EAAD,CAAO7Q,IAAI,QAAQH,MAAOlB,KAAKlB,MAAMmyB,SAAS8E,OAAOyC,SAAUn1B,UAAWrD,KAAKxB,MAAM8E,QAAQ04B,WAAY1+B,KAAK,SAASgxB,IAAI,IAAIH,IAAI,KAAK3sB,SAAU,SAAAC,GAC9I,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOyC,SAAWv2B,SAASR,EAAEC,OAAOR,MAAO,IACjDs5B,EAAUzE,OAAOyC,SAAW,IAAGgC,EAAUzE,OAAOyC,SAAW,IAC3DgC,EAAUzE,OAAOyC,SAAW,KAAIgC,EAAUzE,OAAOyC,SAAW,GAChE,EAAKh3B,SAASg5B,MAElB,kBAACx4B,GAAA,EAAD,CAAQd,MAAO+vB,EAAS8E,OAAOwC,UAC1B/2B,SAAU,SAAAC,GACN,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOwC,UAAY92B,EAAEC,OAAOR,MACtC,EAAKM,SAASg5B,KAGnB,kBAACp4B,EAAA,EAAD,CAAUf,IAAI,QAAQH,MAAO,GAAIR,IAAKC,EAAE,uBACvC4xB,GAAOpwB,KAAI,SAAC21B,EAAOxyB,GAAR,OAAe,kBAAClD,EAAA,EAAD,CAAUf,IAAKy2B,EAAO52B,MAAOoE,EAAI,GAAI5E,IAAKC,EAAEm3B,c,iDAQnE,IAAD,OACvB,OAAQ,yBAAK92B,MAAO,CAACvD,QAAS,iBAC1B,+BAAQiD,IAAKC,EAAE,cACf,kBAACuR,EAAA,EAAD,CAAOhR,MAAOlB,KAAKlB,MAAMmyB,SAASgF,KAAKR,SAChCz0B,MAAO,CAAEmzB,cAAe,UACxB9wB,UAAWrD,KAAKxB,MAAM8E,QAAQ04B,WAAY1+B,KAAK,SAASgxB,IAAI,IAAI9sB,SAAU,SAAAC,GAC7E,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKR,SAAWxzB,SAASR,EAAEC,OAAOR,MAAO,IACnD,EAAKM,SAASg5B,MAElB,kBAACx4B,GAAA,EAAD,CAAQd,MAAOlB,KAAKlB,MAAMmyB,SAASgF,KAAKH,KAChCt0B,SAAU,SAAAC,GACN,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUvE,KAAKH,KAAOr0B,EAAEC,OAAOR,MAC/B,EAAKM,SAASg5B,KAGtB,kBAACp4B,EAAA,EAAD,CAAUlB,MAAO82B,IAAkBt3B,IAAKC,EAAE,sBAC1C,kBAACyB,EAAA,EAAD,CAAUlB,MAAO82B,IAAgBt3B,IAAKC,EAAE,wB,kDAKvB,IAAD,OAElBswB,EAAWjxB,KAAKlB,MAAMmyB,SACtBgL,EAAahL,EAAS8E,OAAOrC,MAAiC,oBAAzBzC,EAAS8E,OAAOrC,MAAuD,WAAzBzC,EAAS8E,OAAOrC,KACzG,MAAO,CACF,yBAAKryB,IAAI,YAAW,kBAACozB,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAAkC,oBAAzB3D,EAAS8E,OAAOrC,KAA4BnxB,QAAS,WACxJ,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOrC,KAAO,kBACpB8G,EAAUzE,OAAOqC,OACjBoC,EAAUzE,OAAOqC,KAAO,GAE5B,EAAK52B,SAASg5B,MAElBv5B,MAAOP,IAAKC,EAAE,yBAEjB,yBAAKU,IAAI,WAAU,kBAACozB,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAAkC,WAAzB3D,EAAS8E,OAAOrC,KAAmBnxB,QAAS,WAC9I,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOrC,KAAO,SACpB8G,EAAUzE,OAAOqC,OACjBoC,EAAUzE,OAAOqC,KAAO,GAE5B,EAAK52B,SAASg5B,MAElBv5B,MAAOP,IAAKC,EAAE,wBAEjB,yBAAKU,IAAI,WAAWL,MAAO,CAACmzB,cAAe,QAAQ,kBAACM,GAAA,EAAD,CAAkBzzB,MAAO,CAACmzB,cAAe,OACtCO,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAASqH,EAAY15B,QAAS,WACxI,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOrC,KAAO,kBACpB8G,EAAUzE,OAAOqC,OACjBoC,EAAUzE,OAAOqC,KAAO,GAE5B,EAAK52B,SAASg5B,MAGlBv5B,MAAOP,IAAKC,EAAE,wBACbs7B,IAAwC,IAAzBhL,EAAS8E,OAAOqC,MAAcnH,EAAS8E,OAAOsC,QAAW,kBAAC6D,GAAA,EAAD,CAAWpc,KAAG,EAACzc,UAAWrD,KAAKxB,MAAM8E,QAAQ64B,WAAYn7B,MAAO,CAACtD,MAAO,MAC5I,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAGyE,KAAI,SAAAmD,GAAC,OACjB,kBAACmvB,GAAA,EAAD,CAAkBpzB,IAAK,YAAciE,EAAGjC,UAAW,EAAK7E,MAAM8E,QAAQ84B,kBAAmB1H,QACpF,kBAACC,GAAA,EAAD,CAAUtxB,UAAW,EAAK7E,MAAM8E,QAAQ+4B,gBAAiBzH,SAAmD,IAA1C3D,EAAS8E,OAAOrC,KAAK7uB,QAAQ,GAAKS,GAC9F9D,SAAU,SAAAC,GACN,IACIiyB,EADE8G,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WAEvD,IACIyC,EAAO5qB,KAAKC,MAAMyxB,EAAUzE,OAAOrC,MACrC,MAAOjyB,GACLiyB,EAAO,GAEPjyB,EAAEC,OAAOkzB,UAAgC,IAArBlB,EAAK7uB,QAAQS,GACjCouB,EAAKhuB,KAAKJ,GACF7D,EAAEC,OAAOkzB,UAAgC,IAArBlB,EAAK7uB,QAAQS,IACzCouB,EAAKxuB,OAAOwuB,EAAK7uB,QAAQS,GAAI,GAEjCouB,EAAKjsB,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAIC,KACxB6yB,EAAUzE,OAAOrC,KAAO5qB,KAAK8C,UAAU8nB,GACnC8G,EAAUzE,OAAOqC,OACjBoC,EAAUzE,OAAOqC,KAAO,GAE5B,EAAK52B,SAASg5B,MAI5Bv5B,MAAOP,IAAKC,EAAE2xB,GAAShtB,c,+CAOnB,IAAD,OACrB,GAAKtF,KAAKlB,MAAMmyB,SAAS8E,OAAOqC,KAAhC,CAGA,IAAMnH,EAAWjxB,KAAKlB,MAAMmyB,SAC5B,MAAO,CACF,yBAAK5vB,IAAI,aAAY,kBAACozB,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAAkC,IAAzB3D,EAAS8E,OAAOqC,OAAenH,EAAS8E,OAAOrC,KAAMnxB,QAAS,WACnJ,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACtDuJ,EAAUzE,OAAOqC,KAAO,EACxBoC,EAAUzE,OAAOrC,KAAO,GACzB,EAAKlyB,SAASg5B,MAEbv5B,MAAOP,IAAKC,EAAE,yBACrC,yBAAKU,IAAI,cAAa,kBAACozB,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAAS3D,EAAS8E,OAAOqC,KAAO,EAAG71B,QAAS,WACxH,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOqC,KAAO,EACxBoC,EAAUzE,OAAOrC,KAAO,GACxB,EAAKlyB,SAASg5B,MAEdv5B,MAAOP,IAAKC,EAAE,qBACjCswB,EAAS8E,OAAOqC,KAAO,GAAK,CAAE,kBAAClmB,EAAA,EAAD,CAAO7Q,IAAI,QAAQH,MAAOlB,KAAKlB,MAAMmyB,SAAS8E,OAAOqC,KAAM/0B,UAAWrD,KAAKxB,MAAM8E,QAAQ04B,WAAY1+B,KAAK,SAASgxB,IAAI,IAAI9sB,SAAU,SAAAC,GAChK,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOqC,KAAOn2B,SAASR,EAAEC,OAAOR,MAAO,IACjDs5B,EAAUzE,OAAOrC,KAAO,GACxB,EAAKlyB,SAASg5B,MACT,0BAAMn5B,IAAI,OAAOL,MAAO,CAACoU,aAAc,KAAM1U,IAAKC,EAAE,wB,gDAK9C,IAAD,OACtB,GAAKX,KAAKlB,MAAMmyB,SAAS8E,OAAOsC,MAAhC,CAGA,IAAMpH,EAAWjxB,KAAKlB,MAAMmyB,SAC5B,MAAO,CACF,yBAAK5vB,IAAI,SAASL,MAAO,CAACvD,QAAS,eAAgB02B,cAAe,QAC3D,6BAAK,kBAACM,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAAmC,IAA1B3D,EAAS8E,OAAOsC,MAAa91B,QAAS,WACzG,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOsC,MAAQ,EACzB,EAAK72B,SAASg5B,MAGbv5B,MAAOP,IAAKC,EAAE,0BACvC,6BACI,kBAAC8zB,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAAS3D,EAAS8E,OAAOsC,MAAQ,EAAG91B,QAAS,WACtG,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOsC,MAAQ,EACzB,EAAK72B,SAASg5B,MAGlBv5B,MAAOP,IAAKC,EAAE,qBAC7BswB,EAAS8E,OAAOsC,MAAQ,GAAK,CAAE,kBAACnmB,EAAA,EAAD,CAAOhR,MAAOlB,KAAKlB,MAAMmyB,SAAS8E,OAAOsC,MAAOh1B,UAAWrD,KAAKxB,MAAM8E,QAAQ04B,WAAY1+B,KAAK,SAASgxB,IAAI,IAAI9sB,SAAU,SAAAC,GACtJ,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOsC,MAAQp2B,SAASR,EAAEC,OAAOR,MAAO,IAClD,EAAKM,SAASg5B,MACT,8BAAO95B,IAAKC,EAAE,0B,+CAMjB,IAAD,OACrB,GAAKX,KAAKlB,MAAMmyB,SAAS8E,OAAOvC,MAAhC,CAMA,IAHA,IAAMvC,EAAWjxB,KAAKlB,MAAMmyB,SAEtBuC,EAAQ,GACLluB,EAAI,EAAGA,GAAK,GAAIA,IACrBkuB,EAAM9tB,KAAKJ,GAGf,IAAMg3B,EAAcxzB,KAAKC,MAAMkoB,EAAS8E,OAAOvC,OAE/C,OACI,kBAAC0I,GAAA,EAAD,CAAWpc,KAAG,EAACzc,UAAWrD,KAAKxB,MAAM8E,QAAQ64B,WAAYn7B,MAAO,CAACX,SAAU,MACvE,kBAACo0B,GAAA,EAAD,CAAkBpxB,UAAWrD,KAAKxB,MAAM8E,QAAQi5B,aAC5C7H,QACI,kBAACC,GAAA,EAAD,CAAUtxB,UAAWrD,KAAKxB,MAAM8E,QAAQk5B,kBAAmB5H,QAAgC,KAAvB0H,EAAY98B,OAC5EgC,SAAU,SAAAC,GAGN,IAFA,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACjDuC,EAAQ,GACLluB,EAAI,EAAGA,GAAK,GAAIA,IACrBkuB,EAAM9tB,KAAKJ,GAEfk1B,EAAUzE,OAAOvC,MAAQ1qB,KAAK8C,UAAU4nB,GACxC,EAAKhyB,SAASg5B,MAGxBv5B,MAAOP,IAAKC,EAAE,aAEpB,kBAAC8zB,GAAA,EAAD,CAAkBpxB,UAAWrD,KAAKxB,MAAM8E,QAAQi5B,aAC5C7H,QACI,kBAACC,GAAA,EAAD,CAAUtxB,UAAWrD,KAAKxB,MAAM8E,QAAQk5B,kBAAmB5H,SAAU0H,EAAY98B,OAC7EgC,SAAU,SAAAC,GACN,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOvC,MAAQ,KACzB,EAAKhyB,SAASg5B,MAGxBv5B,MAAOP,IAAKC,EAAE,gBAEI,KAAvB27B,EAAY98B,UAAmB88B,EAAY98B,QAAW,kBAACi1B,GAAA,EAAD,CAAkBpxB,UAAWrD,KAAKxB,MAAM8E,QAAQi5B,aACnG7H,QACI,kBAACC,GAAA,EAAD,CAAUtxB,UAAWrD,KAAKxB,MAAM8E,QAAQk5B,kBAAmB5H,SAAS,EAChEpzB,SAAU,SAAAC,GAIN,IAHA,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACjD5pB,EAAS,GACTi1B,EAAcxzB,KAAKC,MAAMyxB,EAAUzE,OAAOvC,OACvCluB,EAAI,EAAGA,GAAK,GAAIA,KACW,IAA5Bg3B,EAAYz3B,QAAQS,IACpB+B,EAAO3B,KAAKJ,GAGpB+B,EAAOI,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAIC,KAC1B6yB,EAAUzE,OAAOvC,MAAQ1qB,KAAK8C,UAAUvE,GACxC,EAAK7F,SAASg5B,MAGxBv5B,MAAOP,IAAKC,EAAE,gBAEpB,8BACH6yB,EAAMrxB,KAAI,SAAAmD,GAAC,OACP,kBAACmvB,GAAA,EAAD,CAAkBpzB,IAAK,QAAUiE,EAAGjC,UAAW,EAAK7E,MAAM8E,QAAQi5B,aAAcv7B,MAAQsE,EAAgF,GAA5E,CAACqJ,QAAS,EAAGD,OAAQ,UAAW2B,WAAY,OAAQosB,cAAe,QAC1J/H,QACI,kBAACC,GAAA,EAAD,CAAUtxB,UAAW,EAAK7E,MAAM8E,QAAQk5B,kBAAmB5H,SAA2D,IAAlD9rB,KAAKC,MAAMkoB,EAAS8E,OAAOvC,OAAO3uB,QAAQS,GACpG9D,SAAU,SAAAC,GACN,IACI+xB,EADEgH,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WAEvD,IACIuC,EAAQ1qB,KAAKC,MAAMyxB,EAAUzE,OAAOvC,OACtC,MAAO/xB,GACL+xB,EAAQ,GAER/xB,EAAEC,OAAOkzB,UAAiC,IAAtBpB,EAAM3uB,QAAQS,GAClCkuB,EAAM9tB,KAAKJ,GACH7D,EAAEC,OAAOkzB,UAAiC,IAAtBpB,EAAM3uB,QAAQS,IAC1CkuB,EAAMtuB,OAAOsuB,EAAM3uB,QAAQS,GAAI,GAEnCkuB,EAAM/rB,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAIC,KACzB6yB,EAAUzE,OAAOvC,MAAQ1qB,KAAK8C,UAAU4nB,GACxC,EAAKhyB,SAASg5B,MAG9Bv5B,MAAOqE,EAAI,GAAK,CAAE,0BAAMjE,IAAI,IAAIL,MAAO,CAAC2N,QAAS,IAA/B,KAA+C,0BAAMtN,IAAI,OAAOiE,IAAcA,W,iDAKxF,IAAD,OACvB,GAAKtF,KAAKlB,MAAMmyB,SAAS8E,OAAOtC,OAAhC,CAGA,IAAMxC,EAAWjxB,KAAKlB,MAAMmyB,SACtByL,EAAiD,kBAA3BzL,EAAS8E,OAAOtC,OAAsB3qB,KAAKC,MAAMkoB,EAAS8E,OAAOtC,QAAW,GAExG,MAAO,CACF,yBAAKpyB,IAAI,SAAQ,kBAACozB,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAA2C,kBAA3B3D,EAAS8E,OAAOtC,QAAkD,IAA3BxC,EAAS8E,OAAOtC,OAAclxB,QAAS,WAC/IuG,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WAC7C8E,OAAOtC,OAAS,EAC1B,EAAKjyB,SAASyvB,MAGlBhwB,MAAOP,IAAKC,EAAE,2BACrC,yBAAKU,IAAI,UAAS,kBAACozB,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAA2C,kBAA3B3D,EAAS8E,OAAOtC,QAAuBxC,EAAS8E,OAAOtC,OAAS,EAAGlxB,QAAS,WAChK,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOtC,OAAS,EAC1B,EAAKjyB,SAASg5B,MAGlBv5B,MAAOP,IAAKC,EAAE,qBACC,kBAA3BswB,EAAS8E,OAAOtC,QAAuBxC,EAAS8E,OAAOtC,OAAS,GAAK,CAAE,kBAACvhB,EAAA,EAAD,CAAOhR,MAAO+vB,EAAS8E,OAAOtC,OAAQpwB,UAAWrD,KAAKxB,MAAM8E,QAAQ04B,WAAY1+B,KAAK,SAASgxB,IAAI,IAAI9sB,SAAU,SAAAC,GAC3L,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOtC,OAASxxB,SAASR,EAAEC,OAAOR,MAAO,IAC/Cs5B,EAAUzE,OAAOtC,OAAS,IAAG+G,EAAUzE,OAAOtC,OAAS,GAC3D,EAAKjyB,SAASg5B,MACT,8BAAO95B,IAAKC,EAAE,sBAE1B,yBAAMU,IAAI,WAAWL,MAAO,CAACmzB,cAAe,QAAQ,kBAACM,GAAA,EAAD,CAAkBzzB,MAAO,CAACmzB,cAAe,OAAQO,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAA2C,kBAA3B3D,EAAS8E,OAAOtC,OAAqBlxB,QAAS,WACnM,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOtC,OAAS,+BAC1B,EAAKjyB,SAASg5B,MAGlBv5B,MAAOP,IAAKC,EAAE,8BACC,kBAA3BswB,EAAS8E,OAAOtC,QACvB,kBAACyI,GAAA,EAAD,CAAWpc,KAAG,EAACzc,UAAWrD,KAAKxB,MAAM8E,QAAQ64B,YAC1C,kBAAC1H,GAAA,EAAD,CAAkBpxB,UAAWrD,KAAKxB,MAAM8E,QAAQi5B,aAC9B7H,QACI,kBAACC,GAAA,EAAD,CAAUtxB,UAAWrD,KAAKxB,MAAM8E,QAAQk5B,kBAAmB5H,QAAiC,KAAxB8H,EAAal9B,OACvEgC,SAAU,SAAAC,GAGN,IAFA,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACjDwC,EAAS,GACNnuB,EAAI,EAAGA,GAAK,GAAIA,IACrBmuB,EAAO/tB,KAAKJ,GAEhBk1B,EAAUzE,OAAOtC,OAAS3qB,KAAK8C,UAAU6nB,GACzC,EAAKjyB,SAASg5B,MAG9Bv5B,MAAOP,IAAKC,EAAE,aAElC,kBAAC8zB,GAAA,EAAD,CAAkBpxB,UAAWrD,KAAKxB,MAAM8E,QAAQi5B,aAC9B7H,QACI,kBAACC,GAAA,EAAD,CAAUtxB,UAAWrD,KAAKxB,MAAM8E,QAAQk5B,kBAAmB5H,SAAU8H,EAAal9B,OACxEgC,SAAU,SAAAC,GACN,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOtC,OAAS,KAC1B,EAAKjyB,SAASg5B,MAG9Bv5B,MAAOP,IAAKC,EAAE,gBAET,KAAxB+7B,EAAal9B,UAAmBk9B,EAAal9B,QAAW,kBAACi1B,GAAA,EAAD,CAAkBpxB,UAAWrD,KAAKxB,MAAM8E,QAAQi5B,aAChC7H,QACI,kBAACC,GAAA,EAAD,CAAUtxB,UAAWrD,KAAKxB,MAAM8E,QAAQk5B,kBAAmB5H,SAAS,EAC1DpzB,SAAU,SAAAC,GAIN,IAHA,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACjD5pB,EAAS,GACTq1B,EAAe5zB,KAAKC,MAAMyxB,EAAUzE,OAAOtC,QACxCnuB,EAAI,EAAGA,GAAK,GAAIA,KACY,IAA7Bo3B,EAAa73B,QAAQS,IACrB+B,EAAO3B,KAAKJ,GAGpB+B,EAAOI,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAIC,KAC1B6yB,EAAUzE,OAAOtC,OAAS3qB,KAAK8C,UAAUvE,GACzC,EAAK7F,SAASg5B,MAG9Bv5B,MAAOP,IAAKC,EAAE,gBAEzF,8BACC4xB,GAAOpwB,KAAI,SAAC21B,EAAOxyB,GAAR,OAAe,kBAACmvB,GAAA,EAAD,CAAkBpxB,UAAW,EAAK7E,MAAM8E,QAAQ84B,kBACvE1H,QACI,kBAACC,GAAA,EAAD,CAAUtxB,UAAW,EAAK7E,MAAM8E,QAAQ+4B,gBAAiBzH,SAAgE,IAAvD9rB,KAAKC,MAAMkoB,EAAS8E,OAAOtC,QAAQ5uB,QAAQS,EAAI,GACvG9D,SAAU,SAAAC,GACN,IACIgyB,EADE+G,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WAEvD,IACIwC,EAAS3qB,KAAKC,MAAMyxB,EAAUzE,OAAOtC,QACvC,MAAOhyB,GACLgyB,EAAS,GAEThyB,EAAEC,OAAOkzB,UAAsC,IAA3BnB,EAAO5uB,QAAQS,EAAI,GACvCmuB,EAAO/tB,KAAKJ,EAAI,GACR7D,EAAEC,OAAOkzB,UAAsC,IAA3BnB,EAAO5uB,QAAQS,EAAI,IAC/CmuB,EAAOvuB,OAAOuuB,EAAO5uB,QAAQS,EAAI,GAAI,GAEzCmuB,EAAOhsB,MAAK,SAACC,EAAGC,GAAJ,OAAUD,EAAIC,KAC1B6yB,EAAUzE,OAAOtC,OAAS3qB,KAAK8C,UAAU6nB,GACzC,EAAKjyB,SAASg5B,MAIhCv5B,MAAOP,IAAKC,EAAEm3B,c,gDAOP,IAAD,OACtB,GAAK93B,KAAKlB,MAAMmyB,SAAS8E,OAAOuC,MAAhC,CAGA,IAAMrH,EAAWjxB,KAAKlB,MAAMmyB,SAC5B,MAAO,CACF,6BAAK,kBAACwD,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAAmC,IAA1B3D,EAAS8E,OAAOuC,MAAa/1B,QAAS,WACtG,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOuC,MAAQ,EACzB,EAAK92B,SAASg5B,MAGlBv5B,MAAOP,IAAKC,EAAE,0BACrC,6BAAK,kBAAC8zB,GAAA,EAAD,CAAkBC,QAAU,kBAAC4F,GAAA,EAAD,CAAOj3B,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,QAAS3D,EAAS8E,OAAOuC,MAAQ,EAAG/1B,QAAS,WACpG,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOuC,MAAQ,EACzB,EAAK92B,SAASg5B,MAGlBv5B,MAAOP,IAAKC,EAAE,qBACjCswB,EAAS8E,OAAOuC,MAAQ,GAAK,CAAE,kBAACpmB,EAAA,EAAD,CAAOhR,MAAOlB,KAAKlB,MAAMmyB,SAAS8E,OAAOuC,MAAOj1B,UAAWrD,KAAKxB,MAAM8E,QAAQ04B,WAAY1+B,KAAK,SAASgxB,IAAI,IAAI9sB,SAAU,SAAAC,GACtJ,IAAM+4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAUzE,OAAOuC,MAAQr2B,SAASR,EAAEC,OAAOR,MAAO,IAC9Cs5B,EAAUzE,OAAOuC,MAAQ,IAAGkC,EAAUzE,OAAOuC,MAAQ,GACzD,EAAK92B,SAASg5B,MACT,8BAAO95B,IAAKC,EAAE,yB,iCAKxBg8B,GACP,IAAMhmB,EAAI,IAAIO,KAUd,OATAP,EAAE6iB,SAAS,GACX7iB,EAAE8iB,WAAW,GACb9iB,EAAE+iB,WAAW,GACb/iB,EAAEgjB,gBAAgB,GACdgD,IACAhmB,EAAEimB,QAAQjmB,EAAE+f,UAAY,GACxB/f,EAAEgjB,gBAAgBhjB,EAAEK,kBAAoB,IAGrCpJ,GAAQ+I,EAAE+f,WAAa,IAAM9oB,GAAQ+I,EAAEggB,WAAa,GAAK,IAAM/oB,GAAQ+I,EAAEwkB,iB,kCAGxEpjB,GACR,IAAIpY,EAAQoY,EAAInY,MAAM,KACtB,OAAqB,IAAjBD,EAAMH,QACNG,EAAQoY,EAAInY,MAAM,KACX,IAAIsX,KAAKjV,SAAStC,EAAM,GAAI,IAAKsC,SAAStC,EAAM,GAAI,IAAM,EAAGsC,SAAStC,EAAM,GAAI,MAEhF,IAAIuX,KAAKjV,SAAStC,EAAM,GAAI,IAAKsC,SAAStC,EAAM,GAAI,IAAM,EAAGsC,SAAStC,EAAM,GAAI,O,yCAI3E,IAAD,OACTsxB,EAAWjxB,KAAKlB,MAAMmyB,SAE5B,OACI,yBAAK5tB,UAAWrD,KAAKxB,MAAM8E,QAAQ82B,QAC/B,yBAAK/2B,UAAWrD,KAAKxB,MAAM8E,QAAQ+2B,QAASr5B,MAAO,CAACmzB,cAAe,WAC/D,0BAAMnzB,MAAO,CAAC6B,WAAY,OAAQuS,aAAc,KAAM1U,IAAKC,EAAE,cAC7D,8BAAOD,IAAKC,EAAE,mBAElB,yBAAK0C,UAAWrD,KAAKxB,MAAM8E,QAAQm3B,aAC/B,kBAAC15B,GAAA,EAAD,CACIsC,UAAWrD,KAAKxB,MAAM8E,QAAQ03B,UAC9Bh6B,MAAO,CAAC2U,YAAa,IACrBtU,IAAI,gBACJ2H,SAAUhJ,KAAK84B,QACfmC,aAActC,GAAc1H,EAASwH,MAAMpa,MAC3C/gB,KAAK,OAELkE,SAAU,SAAAC,GACN,EAAKo7B,WAAaxqB,aAAa,EAAKwqB,WAEpC,EAAK/D,QAAQ1hB,QAAQpW,MAAM9C,WAAa,YAExC,EAAK2+B,UAAYt7B,YAAW,SAAAL,GACxB,EAAK27B,UAAY,KACjB,EAAK/D,QAAQ1hB,QAAQpW,MAAM9C,WAAa,GACxC,IAAMs8B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACjDvZ,EAAO,EAAK4hB,YAAYp4B,GACN,iBAApBwW,EAAKb,aACL2jB,EAAU/B,MAAMpa,KAAOzQ,GAAQ8J,EAAKgf,WAAa,IAAM9oB,GAAQ8J,EAAKif,WAAa,GAAK,IAAMjf,EAAKyjB,cACjG,EAAK35B,SAASg5B,MAEnB,KAAM/4B,EAAEC,OAAOR,QAEtBmzB,gBAAiB,CAACC,QAAQ,GAC1B3yB,OAAO,WAEX,kBAAC8yB,GAAA,EAAD,CAAkBC,QAAU,kBAACC,GAAA,EAAD,CAAUtxB,UAAWrD,KAAKxB,MAAM8E,QAAQi3B,WAAY3F,UAAW3D,EAASwH,MAAMC,GAAIn2B,QAAS,WACnH,IAAMi4B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACvDuJ,EAAU/B,MAAMC,GAAK8B,EAAU/B,MAAMC,GAAK,GAAK,EAAKG,YAAW,GAC/D,EAAKr3B,SAASg5B,MAEdv5B,MAAOP,IAAKC,EAAE,mBACXswB,EAASwH,MAAMC,IACd,kBAAC33B,GAAA,EAAD,CACIiI,SAAUhJ,KAAK+4B,MACf11B,UAAWrD,KAAKxB,MAAM8E,QAAQ03B,UAC9Bh6B,MAAO,CAAC2U,YAAa,IACrBtU,IAAI,gBACJ/D,KAAK,OACL29B,aAActC,GAAc1H,EAASwH,MAAMC,IAE3Cl3B,SAAU,SAAAC,GACN,EAAKq7B,SAAWzqB,aAAa,EAAKyqB,SAElC,EAAK/D,MAAM3hB,QAAQpW,MAAM9C,WAAa,YACtC,EAAK4+B,QAAUv7B,YAAW,SAAAL,GACtB,EAAK47B,QAAU,KACf,EAAK/D,MAAM3hB,QAAQpW,MAAM9C,WAAa,GACtC,IAAMs8B,EAAY1xB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMmyB,WACjDvZ,EAAO,EAAK4hB,YAAYp4B,GACN,iBAApBwW,EAAKb,aACL2jB,EAAU/B,MAAMC,GAAK9qB,GAAQ8J,EAAKgf,WAAa,IAAM9oB,GAAQ8J,EAAKif,WAAa,GAAK,IAAMjf,EAAKyjB,cAC/F,EAAK35B,SAASg5B,MAEnB,KAAM/4B,EAAEC,OAAOR,QAEtBmzB,gBAAiB,CAACC,QAAQ,GAC1B3yB,OAAO,e,+BAQ/B,OAAQ,yBAAKX,MAAO,CAACrD,OAAQ,oBAAqBD,MAAO,OAAQmQ,SAAU,WACvE,6BAAM7N,KAAKlB,MAAMm6B,MACjB,yBAAK51B,UAAWrD,KAAKxB,MAAM8E,QAAQy5B,cAC/B,4BAAKr8B,IAAKC,EAAE,aACXX,KAAKg9B,wBACLh9B,KAAKi9B,uBACLj9B,KAAKk9B,aACN,4BAAKx8B,IAAKC,EAAE,eACXX,KAAKm9B,kBACJn9B,KAAKlB,MAAMmyB,SAAS8E,OAAOP,MAAQx1B,KAAKk9B,cACxCl9B,KAAKlB,MAAMmyB,SAAS8E,OAAOP,MAAQx1B,KAAKo9B,yB,GApoCnC56B,IAAMC,WA+oCdgC,gBAt2CA,SAAA0B,GAAK,MAAK,CACrB00B,GAAI,CACAwC,OAAQ,EACRC,UAAW,kBAEfP,aAAc,CACVr/B,MAAO,OACPmQ,SAAU,OACVlQ,OAAQ,qBAEZy8B,OAAQ,CACJ18B,MAAO,QAEX28B,QAAS,CACL38B,MAAO,IACPD,QAAS,eACT02B,cAAe,OAEnBsG,YAAa,CACTh9B,QAAS,eACT02B,cAAe,OAEnBuG,UAAW,CACPh9B,MAAO,GACPiV,UAAW,EACXlE,WAAY,GAEhBusB,UAAW,CACPt9B,MAAO,IACPiV,UAAW,EACXlE,WAAY,GAEhButB,WAAY,CACRt+B,MAAO,GACP+Q,WAAY,EACZkH,YAAa,GAEjB4kB,WAAY,CACR3sB,QAAS,WACTumB,cAAe,OAEnBgI,WAAY,CACR97B,SAAU,IACV5C,QAAS,gBAEb2+B,kBAAmB,CACf1+B,MAAO,KAEX6+B,aAAc,CACV7+B,MAAO,IAEX8+B,kBAAmB,CACf5uB,QAAS,GAEbyuB,gBAAiB,CACbzuB,QAAS,GAEbmtB,QAAS,GAITK,QAAS,CACLl9B,WAAmC,SAAvBiI,EAAM+O,QAAQ5X,KAAkB,UAAa,WAE7Di+B,QAAS,CACLr9B,WAAmC,SAAvBiI,EAAM+O,QAAQ5X,KAAkB,UAAa,WAE7DigC,SAAU,CACNr/B,WAAmC,SAAvBiI,EAAM+O,QAAQ5X,KAAkB,UAAa,WAE7DkgC,SAAU,CACNt/B,WAAmC,SAAvBiI,EAAM+O,QAAQ5X,KAAkB,UAAa,WAE7Do+B,UAAW,CACPx9B,WAAmC,SAAvBiI,EAAM+O,QAAQ5X,KAAkB,UAAa,WAE7Ds+B,eAAgB,CACZ19B,WAAmC,SAAvBiI,EAAM+O,QAAQ5X,KAAkB,UAAa,UACzD+C,SAAU,KAEdy7B,SAAU,CACN59B,WAAmC,SAAvBiI,EAAM+O,QAAQ5X,KAAkB,UAAa,WAE7DmgC,YAAa,CACTv/B,WAAmC,SAAvBiI,EAAM+O,QAAQ5X,KAAkB,UAAa,UACzD2b,YAAa,GACbykB,cAAe,IAEnBjC,YAAa,CACTv9B,WAAmC,SAAvBiI,EAAM+O,QAAQ5X,KAAkB,UAAa,UACzD2b,YAAa,GACbykB,cAAe,OA2wCRj5B,CAAmBm0B,ICt1C5B+E,G,kDACF,WAAYn/B,GAAQ,IAAD,EAEX2zB,EAFW,4BACf,cAAM3zB,IAEGA,MAAM2zB,MAAmC,kBAApB,EAAK3zB,MAAM2zB,MAAiE,MAA5C,EAAK3zB,MAAM2zB,KAAKpyB,QAAQ,QAAS,IAAI,GAC/FoyB,EAAO,EAAK3zB,MAAM2zB,KAAKpyB,QAAQ,QAAS,IAAIknB,OAGxB,kBADpBkL,EAAO,EAAK3zB,MAAM2zB,MAAQ,QAEtBA,EAAOA,EAAKpyB,QAAQ,QAAS,IAAIA,QAAQ,WAAY,KAI7D,EAAKjB,MAAS,CACVqzB,OACA2D,KAAM,EAAKt3B,MAAMo/B,OACb,SACiB,kBAATzL,GAAiC,MAAZA,EAAK,GAC9B,SACC6D,GAAW/C,WAAW,EAAKz0B,MAAM2zB,MAAQ,aAAe,SAAW,WAlBjE,E,2DAuBfnyB,KAAKxB,MAAME,Y,iCAIXsB,KAAKxB,MAAMq/B,KAAK79B,KAAKlB,MAAMqzB,MAC3BnyB,KAAKxB,MAAME,Y,8BAGPo3B,GACJ91B,KAAKb,SAAS,CAAC22B,W,+BAGT,IAAD,OACL,OACI,kBAAC51B,GAAA,EAAD,CACIC,sBAAoB,EACpBC,sBAAoB,EACpBC,SAAS,KACTC,WAAW,EACXgD,QAAS,CAACsQ,MAAO5T,KAAKxB,MAAM8E,QAAQw6B,aACpCv9B,MAAM,EACNC,kBAAgB,qBAEhB,kBAACC,GAAA,EAAD,CAAa1B,GAAG,qBAAqBiB,KAAKxB,MAAMqF,OAASnD,IAAKC,EAAE,uBAChE,kBAACC,GAAA,EAAD,CAAeI,MAAO,CAACrD,OAAQ,OAAQkQ,SAAU,YAC3C7N,KAAKxB,MAAMo/B,QAAW,6BACpB,kBAACtD,GAAA,EAAD,CACIj5B,IAAI,SACJuzB,QAA6B,WAApB50B,KAAKlB,MAAMg3B,KACpBt0B,SAAU,SAAAC,GAAC,OAAI,EAAKs8B,QAAQ,aAC9B,2BAAOx7B,QAAS,SAAAd,GAAC,OAAI,EAAKs8B,QAAQ,WAC3B/8B,MAA2B,WAApBhB,KAAKlB,MAAMg3B,KAAoB,CAAC33B,MAAO,aAAe,IAAKuC,IAAKC,EAAE,cAElF,kBAAC25B,GAAA,EAAD,CACIj5B,IAAI,SACJuzB,QAA6B,WAApB50B,KAAKlB,MAAMg3B,KACpBt0B,SAAU,SAAAC,GAAC,OAAI,EAAKs8B,QAAQ,aAC9B,2BAAOx7B,QAAS,SAAAd,GAAC,OAAI,EAAKs8B,QAAQ,WAC3B/8B,MAA2B,WAApBhB,KAAKlB,MAAMg3B,KAAoB,CAAC33B,MAAO,aAAe,IAAKuC,IAAKC,EAAE,cAClF,kBAAC25B,GAAA,EAAD,CACIj5B,IAAI,UACJuzB,QAA6B,YAApB50B,KAAKlB,MAAMg3B,KACpBt0B,SAAU,SAAAC,GAAC,OAAI,EAAKs8B,QAAQ,cAC9B,2BAAOx7B,QAAS,SAAAd,GAAC,OAAI,EAAKs8B,QAAQ,YAAY/8B,MAA2B,YAApBhB,KAAKlB,MAAMg3B,KAAqB,CAAC33B,MAAO,aAAe,IAAKuC,IAAKC,EAAE,aAEzG,WAApBX,KAAKlB,MAAMg3B,MACP,kBAAC,GAAD,CACG9C,eAAgBhzB,KAAKlB,MAAMqzB,KAC3B3wB,SAAU,SAAA2wB,GAAI,OAAI,EAAKhzB,SAAS,CAACgzB,UACjCtY,SAAUnZ,IAAKuC,gBAEF,WAApBjD,KAAKlB,MAAMg3B,MACP,kBAAC,GAAD,CACG7E,SAAUjxB,KAAKlB,MAAMqzB,KACrB3wB,SAAU,SAAA2wB,GAAI,OAAI,EAAKhzB,SAAS,CAACgzB,UACjCtY,SAAUnZ,IAAKuC,gBAEF,YAApBjD,KAAKlB,MAAMg3B,MACP,kBAAC,GAAD,CACG9C,eAAgBhzB,KAAKlB,MAAMqzB,KAC3B3wB,SAAU,SAAA2wB,GAAI,OAAI,EAAKhzB,SAAS,CAACgzB,UACjCtY,SAAUnZ,IAAKuC,iBAG3B,kBAACZ,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAQC,QAAS,kBAAM,EAAK5D,YAAgBR,MAAM,WAAW6B,KAAKxB,MAAMw/B,IAAMt9B,IAAKC,EAAE,OACrF,kBAAC2B,GAAA,EAAD,CAAQC,QAAS,kBAAM,EAAK9D,gBAAgBN,MAAM,aAAa6B,KAAKxB,MAAMy/B,QAAUv9B,IAAKC,EAAE,iB,GA1FtF6B,IAAMC,WA8GhBgC,0BA3HA,SAAA0B,GAAK,MAAK,CACrB+3B,SAAU,CACNr7B,WAAY,OACZs7B,UAAW,UAEfC,MAAO,CACH3gC,QAAS,gBAEbqgC,YAAa,CACTngC,OAAQ,wBAkHD8G,CAAmBk5B,ICxG5BU,G,kDACF,WAAY7/B,GAAQ,IAAD,8BACf,cAAMA,IACDM,MAAQ,CACT4N,OAAQ,EAAKlO,MAAMkO,SAElB,EAAK5N,MAAM4N,QAAU,EAAKlO,MAAM8/B,WACjC,EAAKx/B,MAAM4N,OAAS,kBANT,E,gEAYfnL,YAAW,WACP,IACI2B,OAAO8U,SAAS4I,eAAe,oBAAoBzd,QACrD,MAAO1B,OAGV,O,qCAIHzB,KAAKxB,MAAME,SAAQ,K,iCAIfsB,KAAKxB,MAAM8/B,WAAsD,IAA1Ct+B,KAAKlB,MAAM4N,OAAO7H,QAAQ,YAGjD7E,KAAKxB,MAAME,QAAQsB,KAAKlB,MAAM4N,U,+BAI7BxL,GACLlB,KAAKb,SAAS,CAACuN,OAAQxL,M,+BAGjB,IAAD,OACCoC,EAAUtD,KAAKxB,MAAM8E,QAE3B,OACI,kBAACpD,GAAA,EAAD,CACIC,sBAAoB,EACpBC,sBAAoB,EACpBC,SAAS,KACTiD,QAAS,CAACsQ,MAAOtQ,EAAQud,QACzBvgB,WAAW,EACXC,MAAM,EACNC,kBAAgB,uBAEhB,kBAACC,GAAA,EAAD,CAAa1B,GAAG,uBAAuB2B,IAAKC,EAAE,oBAC9C,kBAACC,GAAA,EAAD,CAAeyC,UAAWC,EAAQue,YAC7B7hB,KAAKxB,MAAM+/B,MAAS,yBAAKl9B,IAAI,YAAYgC,UAAWC,EAAQi7B,MACzD,0BAAMl7B,UAAWC,EAAQk7B,WAAY99B,IAAKC,EAAE,eAC3CX,KAAKxB,MAAM+/B,KACZ,0BAAMl7B,UAAWC,EAAQk7B,WAAzB,MAEJ,kBAAC,GAAD,CACIn7B,UAAWC,EAAQwd,SACnB9f,MAAO,CAACrD,OAAQqC,KAAKxB,MAAM+/B,KAAO,oBAAsB,QACxDl9B,IAAI,eACJrC,KAAM,UACNsM,WAAYtL,KAAKxB,MAAM8M,WACvBwO,UAAU,EACV0B,SAAS,EACTlB,KAAMta,KAAKlB,MAAM4N,OACjBkN,OAA6B,SAArB5Z,KAAKxB,MAAM2H,MACnB3E,SAAU,SAAA6e,GAAQ,OAAI,EAAK7e,SAAS6e,IACpCxG,SAAU,gBAGlB,kBAACxX,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAQC,QAAS,SAAAsK,GAAK,OAAI,EAAKlO,YAAYR,MAAM,WAAWuC,IAAKC,EAAE,SACnE,kBAAC2B,GAAA,EAAD,CAAQC,QAAS,SAAAsK,GAAK,OAAI,EAAKpO,gBAAgBN,MAAM,aAAauC,IAAKC,EAAE,iB,GA1E5D6B,IAAMC,WA2FxBgC,gBAnHA,SAAA0B,GAAK,MAAK,CACrB2a,SAAU,CACNpjB,MAAO,oBACPokB,OAAQ,QAEZjB,OAAQ,CACJljB,OAAQ,OAEZkkB,WAAY,CACRlkB,OAAQ,OACRkQ,SAAU,UAEd0wB,KAAM,CACFpgC,MAA8B,SAAvBgI,EAAM+O,QAAQ5X,KAAkB,QAAU,QACjDK,OAAQ,GACRD,MAAO,OACPkF,SAAU,IAEd47B,UAAW,CACPrgC,MAA8B,SAAvBgI,EAAM+O,QAAQ5X,KAAkB,QAAU,QACjDuF,WAAY,WA+FL4B,CAAmB45B,ICnF5B13B,GAAS,CACX,QAAWvC,KACX,gBAAiBR,IACjBgD,IAAKhD,IACL,gBAAiBiD,MA6Ff43B,G,kDACF,WAAYjgC,GAAQ,IAAD,sBACf,cAAMA,GAEN,IAAMP,EAAWiF,OAAO0F,aAAaC,QAAQ,oBAAsB,GAC/DoN,EAAU/S,OAAO0F,aAAaC,QAAQ,mBAAqB,KAC/D,IACIoN,EAAUnN,KAAKC,MAAMkN,GACvB,MAAOxU,GACLwU,EAAU,GAEVhY,IAA2C,IAA/BgY,EAAQpR,QAAQ5G,IAC5BgY,EAAQvQ,KAAKzH,GAGjB,EAAKygC,QAAUl8B,IAAMyG,YAErB,EAAKnK,MAAQ,CACTb,SAAUA,EACVgY,QAASA,EACTpK,QAAS,GACTuW,QAAS,KACTuc,cAAc,EACdC,gBAAgB,EAChBC,iBAAiB,EACjBC,cAAc,EACdC,UAAU,EACVC,YAAY,EACZ5kB,OAAQ,GACRnQ,WAAY,GACZ9D,MAAO,EAAK3H,MAAM2H,MAClB84B,QAASzgC,EAAMygC,QACfC,aAAc,GACdr1B,aAAc,EAAKrL,MAAMqL,WACzBs1B,gBAAgB,EAChBC,iBAAkB,KAClBh1B,iBAAkB,EAAK5L,MAAM4L,kBAAoB,GACjDi1B,eAAe,EACfC,MAAO,IAGX,EAAKC,oBAIL,EAAKvqB,SAAW,CACZwqB,UAAW,KACX5U,SAAU,MAEd,EAAKuH,KAAO,CACRqN,UAAW,KACX5U,SAAU,MAEd,EAAK6U,aAAe,CAChBD,UAAW,KACX5U,SAAU,KACV2T,KAAM,KACND,UAAU,GAGd,IAAM/+B,EAAY,GAClB,GAAI,EAAKf,MAAM2N,QACX,IAAK,IAAIpN,KAAM,EAAKP,MAAM2N,QAClB,EAAK3N,MAAM2N,QAAQ+M,eAAena,IAAOA,EAAGiJ,WAAW,oBAAsB,EAAKxJ,MAAM2N,QAAQpN,IAAuC,aAAhC,EAAKP,MAAM2N,QAAQpN,GAAIzB,MAC9HiC,EAAUmG,KAAK3G,GA/DZ,OAoEfmE,OAAOw8B,WAAah/B,IAAKuC,cACzBC,OAAOy8B,KAAO,CACVxzB,QAAS,EAAK3N,MAAM2N,QACpB5M,YACAqgC,eAAgB,SAACJ,EAAWz0B,GACxB,EAAKiK,SAAS4V,SAAW7f,EACzB,EAAKiK,SAASwqB,UAAYA,EAC1B,EAAKrgC,SAAS,CAAC2/B,cAAc,KAEjCe,WAAY,SAACL,EAAWz0B,GACpB,EAAKonB,KAAKvH,SAAW7f,EACrB,EAAKonB,KAAKqN,UAAYA,EACtB,EAAKrgC,SAAS,CAAC4/B,UAAU,KAE7Be,iBAAkB,SAAC5+B,EAAOq9B,EAAMD,EAAUvzB,GACtC,EAAK00B,aAAa7U,SAAW7f,EAC7B,EAAK00B,aAAaD,UAAYt+B,EAC9B,EAAKu+B,aAAalB,KAAOA,EACzB,EAAKkB,aAAanB,SAAWA,IAAY,EACzC,EAAKn/B,SAAS,CAAC6/B,YAAY,MAGnC,EAAK7yB,QAAU3N,EAAM2N,QAGrB,EAAKjD,QAAU,IAEV,EAAKpK,MAAMb,UAAY,EAAKa,MAAMmX,QAAQzW,SAC3C,EAAKV,MAAMb,SAAW,EAAKa,MAAMmX,QAAQ,IAIzC,EAAKzX,MAAMuhC,kBAAoB,EAAKjhC,MAAMb,UAC1CsD,YAAW,kBAAM,EAAK/C,MAAMuhC,iBAAiB,EAAKjhC,MAAMb,SAAU,EAAKa,MAAMmX,WAAU,KAE3F,EAAK+pB,oBAAsB,EAAKC,eAAen1B,KAApB,gBAvGZ,E,gEA0GE,IAAD,OACVo1B,EAAY34B,OAAOC,KAAKxH,KAAKlB,MAAM+M,SAASrG,MAAK,SAAAzG,GAAE,OAAI,EAAKD,MAAM+M,QAAQ9M,MAEnD,qBAAlBmE,OAAO4B,QAA0B5B,OAAO4B,SAC/C5B,OAAO4B,OAAOq7B,eAAiBD,K,0CAKnCh9B,OAAOmlB,iBAAiB,eAAgBroB,KAAKggC,qBAAqB,K,6CAIlE98B,OAAO8mB,oBAAoB,eAAgBhqB,KAAKggC,uB,qCAGrCv+B,GAAI,IAAD,OACRy+B,EAAY34B,OAAOC,KAAKxH,KAAKkJ,SAAS1D,MAAK,SAAAzG,GAAE,OAC/C+J,KAAK8C,UAAU,EAAK1C,QAAQnK,MAAS+J,KAAK8C,UAAU,EAAKpN,MAAM2N,QAAQpN,GAAIiI,WAE/E,GAAMk5B,EAAW,CACbt6B,QAAQC,IAAI,UAAYD,QAAQC,IAAI,UAAYiD,KAAK8C,UAAU5L,KAAKkJ,QAAQg3B,MAC5E,IAAM5pB,EAAU5V,IAAKC,EAAE,4BAQvB,OAPAc,EAAIA,GAAKyB,OAAO2J,SAGZpL,EAAE2+B,YAAc9pB,GAIbA,K,+CAIUrW,EAAWgM,GAChChM,EAAYA,GAAaD,KAAKxB,MAC9ByN,EAAWA,GAAY,GAEvB,IAAIo0B,GAAW,EACf,GAAIrgC,KAAKlB,MAAMmX,SAAWhW,EAAUkM,QAAQ,kBACjBnM,KAAKlB,MAAMmX,QAAQzQ,MAAK,SAAAzG,GAAE,OAAKkB,EAAUkM,QAAQpN,MAEpD,CAGhB,IADA,IAAMkX,EAAUnN,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAMmX,UAC5C3Q,EAAI2Q,EAAQzW,OAAS,EAAG8F,GAAK,EAAGA,IAChCtF,KAAKmM,QAAQ8J,EAAQ3Q,MACtB+6B,GAAW,EACXpqB,EAAQ/Q,OAAOI,EAAG,IAGtB+6B,IACAp0B,EAASgK,QAAUA,GAEnBjW,KAAKlB,MAAMb,WAAa+B,KAAKmM,QAAQnM,KAAKlB,MAAMb,YAChDoiC,GAAW,EACXp0B,EAAShO,SAAWgY,EAAQ,IAAM,GAC9BjW,KAAKkJ,QAAQ+C,EAAShO,YAClB+B,KAAKlB,MAAMsjB,WAA4D,YAA/CpiB,KAAKkJ,QAAQ+C,EAAShO,UAAU6J,cACxDmE,EAASmW,QAAyD,YAA/CpiB,KAAKkJ,QAAQ+C,EAAShO,UAAU6J,WACnDu4B,GAAW,GAEXrgC,KAAKlB,MAAM8/B,iBAAmB5+B,KAAKkJ,QAAQ+C,EAAShO,UAAUqiC,UAC9Dr0B,EAAS2yB,eAAiB5+B,KAAKkJ,QAAQ+C,EAAShO,UAAUqiC,QAC1DD,GAAW,GAEXrgC,KAAKlB,MAAM6/B,eAAiB3+B,KAAKkJ,QAAQ+C,EAAShO,UAAUob,QAC5DpN,EAAS0yB,aAAe3+B,KAAKkJ,QAAQ+C,EAAShO,UAAUob,MACxDgnB,GAAW,KAM/B,OAAOA,I,uDAGsBpgC,GAAY,IAAD,OAClCgM,EAAW,GACbo0B,GAAW,EA4Bf,GA3BIv3B,KAAK8C,UAAU3L,EAAUmK,oBAAsBtB,KAAK8C,UAAU5L,KAAKlB,MAAMsL,oBACzEi2B,GAAW,EACXp0B,EAAS7B,iBAAmBnK,EAAUmK,kBAGtCpK,KAAKlB,MAAM+K,aAAe5J,EAAU4J,aACpCoC,EAASpC,WAAa5J,EAAU4J,WAChCw2B,GAAW,GAGXrgC,KAAKlB,MAAMqH,QAAUlG,EAAUkG,QAC/B8F,EAAS9F,MAAQlG,EAAUkG,MAC3Bk6B,GAAW,GAIXrgC,KAAKugC,yBAAyBtgC,EAAWgM,KACzCo0B,GAAW,GAIXrgC,KAAKlB,MAAMmL,aAAehK,EAAUgK,aACpCgC,EAAShC,WAAahK,EAAUgK,WAChCo2B,GAAW,GAIXrgC,KAAKmM,UAAYlM,EAAUkM,QAAS,CAKpC,IAAK,IAAMpN,KAJXiB,KAAKmM,QAAUlM,EAAUkM,QACzBjJ,OAAOy8B,KAAKxzB,QAAUlM,EAAUkM,QAGfnM,KAAKkJ,QAClB,GAAKlJ,KAAKkJ,QAAQgQ,eAAena,GAAjC,CACA,IAAM2N,EAAS1M,KAAKkJ,QAAQnK,GAAI2N,OAChC1M,KAAKkJ,QAAQnK,GAAM+J,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKmM,QAAQpN,GAAIiI,SAC9DhH,KAAKkJ,QAAQnK,GAAI2N,OAASA,EAG9B,IAAMnN,EAAY,GAClB,IAAK,IAAIR,KAAMmE,OAAOy8B,KAAKxzB,QACnBjJ,OAAOy8B,KAAKxzB,QAAQ+M,eAAena,IAAOA,EAAGiJ,WAAW,oBAAsB9E,OAAOy8B,KAAKxzB,QAAQpN,IAAwC,aAAjCmE,OAAOy8B,KAAKxzB,QAAQpN,GAAIzB,MACjIiC,EAAUmG,KAAK3G,GAGvBmE,OAAOy8B,KAAKpgC,UAAYA,EAGpBS,KAAKlB,MAAMb,UAAY+B,KAAKmM,QAAQnM,KAAKlB,MAAMb,YAC/C+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAY+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,WAAa6K,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKmM,QAAQnM,KAAKlB,MAAMb,UAAU+I,SACjIhH,KAAKlB,MAAMsjB,WAA8D,YAAjDpiB,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAU6J,cAC1DmE,EAASmW,QAA2D,YAAjDpiB,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAU6J,WACrDu4B,GAAW,GAEXrgC,KAAKlB,MAAM8/B,iBAAmB5+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAUqiC,UAChEr0B,EAAS2yB,eAAiB5+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAUqiC,QAC5DD,GAAW,GAEXrgC,KAAKlB,MAAM6/B,eAAiB3+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAUob,QAC9DpN,EAAS0yB,aAAe3+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAUob,MAC1DgnB,GAAW,IAMnB,IADA,IAAMpqB,EAAUnN,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAMmX,UAC5C3Q,EAAI2Q,EAAQzW,OAAS,EAAG8F,GAAK,EAAGA,IAChCtF,KAAKmM,QAAQ8J,EAAQ3Q,MACtB+6B,GAAW,EACXpqB,EAAQ/Q,OAAOI,EAAG,QACqBkK,IAAnCxP,KAAKlB,MAAM+M,QAAQoK,EAAQ3Q,MAC3B2G,EAASJ,QAAUI,EAASJ,SAAW/C,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAM+M,iBACrEI,EAASJ,QAAQoK,EAAQ3Q,MAIxCtF,KAAKlB,MAAMb,WAAa+B,KAAKmM,QAAQnM,KAAKlB,MAAMb,YAChDgO,EAAShO,SAAWgY,EAAQ,IAAM,IAElCoqB,IACAp0B,EAASgK,QAAUA,QAIvB,IAAK,IAAMlX,KAAMiB,KAAKkJ,QAClB,GAAKlJ,KAAKkJ,QAAQgQ,eAAena,GACjC,GAAIiB,KAAKmM,QAAQpN,IAAOiB,KAAKmM,QAAQpN,GAAIiI,OAAQ,CAC7C,IAAMw5B,EAAYxgC,KAAKkJ,QAAQnK,GAAI2N,OAC7B+zB,EAAc33B,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKkJ,QAAQnK,KAC3D0hC,EAAY/zB,OAAS1M,KAAKmM,QAAQpN,GAAIiI,OAAO0F,OAEzC5D,KAAK8C,UAAU60B,KAAiB33B,KAAK8C,UAAU5L,KAAKmM,QAAQpN,GAAIiI,UAChEhH,KAAKkJ,QAAQnK,GAAM+J,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKmM,QAAQpN,GAAIiI,SAC9DhH,KAAKkJ,QAAQnK,GAAI2N,OAAS8zB,GAG1BA,IAAcxgC,KAAKmM,QAAQpN,GAAIiI,OAAO0F,OAEjC1M,KAAKlB,MAAM+M,QAAQ9M,GAIhBiB,KAAKmM,QAAQpN,GAAIsf,MAAQre,KAAKmM,QAAQpN,GAAIsf,KAAKrW,WAAW,gCAC1DhI,KAAKmM,QAAQpN,GAAIsf,KAAO,yBAExBre,KAAKb,SAAS,CAACmgC,MAAO5+B,IAAKC,EAAE,kCAAmC5B,EAAGa,MAAM,KAAKC,UALlFG,KAAKkJ,QAAQnK,GAAI2N,OAAS1M,KAAKmM,QAAQpN,GAAIiI,OAAO0F,OASlD1M,KAAKlB,MAAM+M,QAAQ9M,KACnBkN,EAASJ,QAAUI,EAASJ,SAAW/C,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAM+M,UAC5EI,EAASJ,QAAQ9M,IAAM,EACvBshC,GAAW,QAKnB,UADOrgC,KAAKkJ,QAAQnK,GAChBiB,KAAKlB,MAAMb,WAAac,EAAI,CAC5B,IAAwC,IAApCiB,KAAKlB,MAAMmX,QAAQpR,QAAQ9F,GAAY,CACvC,IAAMkX,EAAUnN,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAMmX,UAC/ClK,EAAMkK,EAAQpR,QAAQ9F,IACf,IAATgN,IACAkK,EAAQ/Q,OAAO6G,EAAK,GACpBE,EAASgK,QAAUA,EACnBoqB,GAAW,GAGnBp0B,EAAShO,SAAW+B,KAAKlB,MAAMmX,QAAQ,IAAM,GAC7CoqB,GAAW,EAM3B,GAAIrgC,KAAKlB,MAAMb,WAAagC,EAAUhC,UAAYgC,EAAUhC,SAAU,CAC9DgC,EAAUhC,WACV+B,KAAKkJ,QAAQjJ,EAAUhC,UAAY+B,KAAKkJ,QAAQjJ,EAAUhC,WAAa6K,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKxB,MAAM2N,QAAQlM,EAAUhC,UAAU+I,UAG5I,IAAM05B,EAAa1gC,KAAKxB,MAAM2N,QAAQlM,EAAUhC,WAAa+B,KAAKxB,MAAM2N,QAAQlM,EAAUhC,UAAU+I,OAE9F6E,EAAU60B,GAAc53B,KAAK8C,UAAU5L,KAAKkJ,QAAQjJ,EAAUhC,aAAe6K,KAAK8C,UAAU80B,GAE5FzqB,EAAUnN,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAMmX,UACjDhW,EAAUhC,WAAqD,IAAzCgY,EAAQpR,QAAQ5E,EAAUhC,YAChDgY,EAAQvQ,KAAKzF,EAAUhC,UACvB+B,KAAKxB,MAAMuhC,iBAAiB9/B,EAAUhC,SAAUgY,GAChD/S,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,iBAAkBxD,KAAK8C,UAAUqK,KAGxFoqB,GAAW,EACXp0B,EAASJ,QAAUI,EAASJ,SAAW/C,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAM+M,UAC5EI,EAASJ,QAAQ5L,EAAUhC,UAAY4N,EACvCI,EAASgK,QAAUA,EACnBhK,EAAShO,SAAWgC,EAAUhC,SAC9BgO,EAASmW,QAA0D,YAAhDpiB,KAAKkJ,QAAQjJ,EAAUhC,UAAU6J,WACpDmE,EAAS2yB,eAAiB5+B,KAAKkJ,QAAQjJ,EAAUhC,UAAUqiC,QAC3Dr0B,EAAS0yB,aAAe3+B,KAAKkJ,QAAQjJ,EAAUhC,UAAUob,MACzDpN,EAAS4yB,iBAAkB,EAK3B7+B,KAAKlB,MAAMmgC,UAAYh/B,EAAUg/B,UACjCoB,GAAW,EACXp0B,EAASgzB,QAAUh/B,EAAUg/B,SAEjCoB,GAAYrgC,KAAKb,SAAS8M,GAAU,kBAAM,EAAKszB,yB,kCAI/Cv/B,KAAKxB,MAAMmiC,WAAa3gC,KAAKxB,MAAMmiC,UAAU3gC,KAAKlB,MAAMb,Y,+BAGlD,IAAD,OACL,GAAI+B,KAAKlB,MAAM+M,QAAQ7L,KAAKlB,MAAMb,UAAW,CACzC,IAAM4N,EAAU/C,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAM+M,UACrDA,EAAQ7L,KAAKlB,MAAMb,WAAY,EAC/B+B,KAAKb,SAAS,CAAC0M,YAAU,WACrB,EAAK0zB,oBACL,EAAK/gC,MAAMgD,UAAY,EAAKhD,MAAMgD,SAAS,EAAK1C,MAAMb,SAAU,EAAKiL,QAAQ,EAAKpK,MAAMb,iB,iCAKxF,IAAD,OACP+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAY6K,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKxB,MAAM2N,QAAQnM,KAAKlB,MAAMb,UAAU+I,SAEtG,IAAM6E,EAAU/C,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAM+M,UACrDA,EAAQ7L,KAAKlB,MAAMb,WAAY,EAE/B+B,KAAKb,SAAS,CAAC0M,YAAU,kBAAM,EAAK0zB,yB,uCAGvBqB,GACb5gC,KAAK6gC,UAAYD,I,qCAGL,IAAD,OACX5gC,KAAK8gC,kBAAkBpgC,IAAKC,EAAE,sDAAsD,SAAA0G,GAChF,GAAIA,EAAQ,CACR,EAAK6B,QAAQ,EAAKpK,MAAMb,UAAU6J,WAAa,gBAC/C,IACMiO,EADO,EAAK7M,QAAQ,EAAKpK,MAAMb,UAAUyO,OAC1B9M,MAAM,MAC3BmW,EAAMlW,MACN,EAAKqJ,QAAQ,EAAKpK,MAAMb,UAAUyO,OAASqJ,EAAMjW,KAAK,MACtD,IAAMihC,EAAc,EAAKjiC,MAAMb,SAEzB4N,EAAU/C,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAM+M,UACrDA,EAAQ,EAAK/M,MAAMb,WAAY,EAE/B,EAAKkB,SAAS,CAAC0M,UAASuW,SAAS,EAAOnkB,SAAU,KAAK,WACnD,EAAKshC,oBAELh+B,YAAW,kBAAM,EAAKpC,SAAS,CAAClB,SAAU8iC,MAAe,c,+BAMhE9jB,GAAU,IAAD,YAESzN,KADvByN,EAAUA,GAAW,IACT+jB,SACRhhC,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAUyO,OAASuQ,EAAQ+jB,aAEjCxxB,IAAlByN,EAAQ5D,QACRrZ,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAUob,MAAQ4D,EAAQ5D,YAE9B7J,IAApByN,EAAQqjB,UACRtgC,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAUqiC,QAAUrjB,EAAQqjB,SAExD,IAAMD,EAAWv3B,KAAK8C,UAAU5L,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,aAAe6K,KAAK8C,UAAU5L,KAAKxB,MAAM2N,QAAQnM,KAAKlB,MAAMb,UAAU+I,QAC9H,GAAIq5B,KAAcrgC,KAAKlB,MAAM+M,QAAQ7L,KAAKlB,MAAMb,YAAa,GAAQ,CAEjE,IAAM4N,EAAU/C,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAM+M,UACrDA,EAAQ7L,KAAKlB,MAAMb,UAAYoiC,EAC/BrgC,KAAKmM,QAAQnM,KAAKlB,MAAMb,UAAUogB,KAAO,yBACzCre,KAAKb,SAAS,CAAC0M,YAAU,kBAAM,EAAK0zB,0B,kCAKhC1yB,EAAO5O,GACfiF,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,kBAAmBrO,GACtE,IAAM+I,EAAShH,KAAKkJ,QAAQjL,IAAc+B,KAAKxB,MAAM2N,QAAQlO,IAAa+B,KAAKxB,MAAM2N,QAAQlO,GAAU+I,OACvGhH,KAAKb,SAAS,CAAClB,WAAUmkB,QAA+B,YAAtBpb,EAAOc,WAA0B+2B,iBAAiB,EAAOD,eAAgB53B,EAAOs5B,QAAS3B,aAAc33B,EAAOqS,QAChJrZ,KAAKxB,MAAMuhC,kBAAoB//B,KAAKxB,MAAMuhC,iBAAiB9hC,EAAU+B,KAAKlB,MAAMmX,W,sCAGpElX,GACZ,OAAOiB,KAAKkJ,QAAQnK,IAAOiB,KAAKxB,MAAM2N,QAAQpN,IAAO+J,KAAK8C,UAAU5L,KAAKkJ,QAAQnK,MAAS+J,KAAK8C,UAAU5L,KAAKxB,MAAM2N,QAAQpN,GAAIiI,U,iCAGzHjI,EAAI0C,GAAI,IAAD,OACdA,GAAKA,EAAE8K,kBAEP,IAAMR,EAAM/L,KAAKlB,MAAMmX,QAAQpR,QAAQ9F,GACvC,IAAwC,IAApCiB,KAAKlB,MAAMmX,QAAQpR,QAAQ9F,GAC3B,GAAIiB,KAAKihC,gBAAgBliC,GACrBiB,KAAK8gC,kBAAkBpgC,IAAKC,EAAE,yBAA0BX,KAAKxB,MAAM2N,QAAQpN,GAAIiI,OAAOhI,OAAO,SAAAg/B,GACrFA,WACO,EAAK90B,QAAQnK,GACpB,EAAKmiC,WAAWniC,WAGrB,CACH,IAAMkX,EAAUnN,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAMmX,UACrDA,EAAQ/Q,OAAO6G,EAAK,GACpB,IAAME,EAAW,CAACgK,WAelB,GAdIlX,IAAOiB,KAAKlB,MAAMb,SACdgY,EAAQzW,OACI,IAARuM,GAAgC,IAAnBkK,EAAQzW,OACrByM,EAAShO,SAAWgY,EAAQ,GAE5BhK,EAAShO,SAAWgY,EAAQlK,EAAM,GAGtCE,EAAShO,SAAW,GAEjB+B,KAAKlB,MAAMb,WAAagY,EAAQzW,SACvCyM,EAAShO,SAAW,IAExBiF,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,iBAAkBxD,KAAK8C,UAAUqK,SAC1DzG,IAAtBvD,EAAShO,SAAwB,CACjCgO,EAASJ,QAAUI,EAASJ,SAAW/C,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKlB,MAAM+M,UAC5EI,EAASJ,QAAQI,EAAShO,UAAY+B,KAAKihC,gBAAgBh1B,EAAShO,UACpE,IAAM+I,EAASiF,EAAShO,WAAa+B,KAAKkJ,QAAQ+C,EAAShO,WAAc+B,KAAKxB,MAAM2N,QAAQF,EAAShO,WAAa+B,KAAKxB,MAAM2N,QAAQF,EAAShO,UAAU+I,QACxJiF,EAASmW,UAAUpb,GAA+B,YAAtBA,EAAOc,WACnCmE,EAAS2yB,iBAAiB53B,GAASA,EAAOs5B,QAC1Cr0B,EAAS0yB,eAAe33B,GAASA,EAAOqS,MACxCpN,EAAS4yB,iBAAkB,EAG/B7+B,KAAKb,SAAS8M,GAAU,WACpB,EAAKszB,yBAEqB/vB,IAAtBvD,EAAShO,UACT,EAAKO,MAAMuhC,kBAAoB,EAAKvhC,MAAMuhC,iBAAiB9zB,EAAShO,SAAU,EAAKa,MAAMmX,SACzF/S,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,kBAAmBL,EAAShO,WAE/E,EAAKO,MAAMuhC,kBAAoB,EAAKvhC,MAAMuhC,iBAAiB,EAAKjhC,MAAMb,SAAU,EAAKa,MAAMmX,e,wCAO7FkrB,EAAUp2B,GACxB/K,KAAKohC,gBAAkBr2B,EACvB/K,KAAKb,SAAS,CAACkiC,QAASF,M,2CAGPG,GAAM,IAAD,OACtBthC,KAAKb,SAAS,CAAC+/B,aAAcoC,IAAM,kBAC/B//B,YAAW,kBACP,EAAKpC,SAAS,CAAC+/B,aAAc,OAAM,U,gCAGpC,IAAD,OACN,OAAIl/B,KAAKlB,MAAMmX,QAAQzW,OACZ,CAAE,kBAACu1B,GAAA,EAAD,CACDlD,UAAW,MACXxwB,IAAI,QACJH,MAAOlB,KAAKlB,MAAMb,SAClBuD,SAAU,SAACqL,EAAO3L,GAAR,OAAkB,EAAKqgC,YAAY10B,EAAO3L,IACpDsgC,eAAe,UACfxgC,MAAO,CAACiU,SAAU,WAAYvX,MAAOsC,KAAKlB,MAAMmX,QAAQzW,OAAS,EAAI,oBAAsB,OAAQ/B,QAAS,gBAC5GgkC,UAAU,UACV9tB,QAAQ,aACR+tB,cAAc,QAEb1hC,KAAKlB,MAAMmX,QAAQ9T,KAAI,SAAApD,GACpB,GAAK,EAAKP,MAAM2N,QAAQpN,GAYjB,CACH,IAAIgF,EAAO,EAAKvF,MAAM2N,QAAQpN,GAAIiI,OAAOhI,KACrC6E,EAAQ,GACRE,EAAKvE,OAAS,KACdqE,EAAQE,EACRA,EAAOA,EAAKsH,UAAU,EAAG,IAAM,OAEnC,IAAMQ,EAAU,EAAKrN,MAAM2N,QAAQpN,GAAIiI,QAAU,EAAKkC,QAAQnK,IAAO,EAAKP,MAAM2N,QAAQpN,GAAIiI,OAAO0F,SAAW,EAAKxD,QAAQnK,GAAI2N,OACzHzL,EAAQ,CACT,yBAAKI,IAAI,OAAOgO,IAAK,GAAIC,IAAK3I,GAAO,EAAKnI,MAAM2N,QAAQpN,GAAIiI,OAAOc,aAAenB,GAAOC,IAAKvD,UAAW,EAAK7E,MAAM8E,QAAQq+B,UAC5H,yBAAKtgC,IAAI,OAAOgC,UAAW,EAAK7E,MAAM8E,QAAQs+B,QAAU,KAAO,EAAKX,gBAAgBliC,GAAM,EAAKP,MAAM8E,QAAQu+B,WAAa,KAAM99B,GACjI8H,EAAW,0BAAMxK,IAAI,cAAcgC,UAAW,EAAK7E,MAAM8E,QAAQw+B,gBAAtD,UAAkF,KAC5F,0BAAMzgC,IAAI,QAAQgC,UAAW,EAAK7E,MAAM8E,QAAQy+B,aAAa,kBAAC,UAAD,CAAW1gC,IAAI,QAAQkB,QAAS,SAAAd,GAAC,OAAI,EAAKy/B,WAAWniC,EAAI0C,IAAImB,SAAS,YAExI,OAAQ,kBAACqyB,GAAA,EAAD,CACJpD,UAAW,MACXmQ,KAAM,IAAMjjC,EACZsC,IAAKtC,EACLkC,MAAOA,EACPoC,UAAW,EAAK7E,MAAM8E,QAAQ2+B,UAC9B/gC,MAAOnC,EACP8E,MAAOA,EACPP,QAAS,CAAC4+B,QAAS,EAAK1jC,MAAM8E,QAAQ6+B,oBAjC1C,IAAMlhC,EAAQ,CACT,yBAAKI,IAAI,OAAOgC,UAAW,EAAK7E,MAAM8E,QAAQs+B,QAAU,KAAO,EAAKX,gBAAgBliC,GAAM,EAAKP,MAAM8E,QAAQu+B,WAAa,KAAM9iC,EAAGa,MAAM,KAAKC,OAC9I,0BAAMwB,IAAI,OAAOgC,UAAW,EAAK7E,MAAM8E,QAAQy+B,aAAa,kBAAC,UAAD,CAAW1gC,IAAI,QAAQkB,QAAS,SAAAd,GAAC,OAAI,EAAKy/B,WAAWniC,EAAI0C,IAAImB,SAAS,YACvI,OAAQ,kBAACqyB,GAAA,EAAD,CACJpD,UAAW,MACXmQ,KAAM,IAAMjjC,EACZsC,IAAKtC,EACLkC,MAAOA,EACPC,MAAOnC,EACPuE,QAAS,CAAC4+B,QAAS,EAAK1jC,MAAM8E,QAAQ6+B,wBA6BtDniC,KAAKlB,MAAMmX,QAAQzW,OAAS,EAAK,kBAACuN,EAAA,EAAD,CAC7B1L,IAAI,aACJ2gC,KAAK,IACLpvB,aAAW,wBACXvP,UAAWrD,KAAKxB,MAAM8E,QAAQ8+B,cAC9Bv+B,MAAOnD,IAAKC,EAAE,yBACdmS,gBAAc,QACdvQ,QAAS,SAAA8/B,GACL,IAAMpsB,EAAU,CAAC,EAAKnX,MAAMb,UAE5BsJ,OAAOC,KAAK,EAAK0B,SAAS9D,SAAQ,SAAArG,GAAE,OAChCA,IAAO,EAAKD,MAAMb,UAClB6K,KAAK8C,UAAU,EAAK1C,QAAQnK,MAAS+J,KAAK8C,UAAU,EAAKpN,MAAM2N,QAAQpN,GAAIiI,SAC3EiP,EAAQvQ,KAAK3G,MAGjBmE,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,iBAAkBxD,KAAK8C,UAAUqK,IACpF,EAAK9W,SAAS,CAACggC,gBAAgB,EAAOC,iBAAkB,KAAMnpB,QAASA,MAG3E,kBAAC,aAAD,OACa,MAGb,yBAAK5U,IAAI,QAAQgC,UAAWrD,KAAKxB,MAAM8E,QAAQjF,SACnD,kBAACiE,GAAA,EAAD,CAAQjB,IAAI,UAAUO,UAAU,EAAMyB,UAAWrD,KAAKxB,MAAM8E,QAAQg/B,WAAYN,KAAK,IACjF,0BAAM3gC,IAAI,WAAWX,IAAKC,EAAE,uBAC5B,kBAAC,UAAD,CAAYU,IAAI,UAAUgC,UAAWrD,KAAKxB,MAAM8E,QAAQi/B,WACxD,0BAAMlhC,IAAI,WAAWX,IAAKC,EAAE,kC,qCAM5B,IAAD,OACX,OAAKX,KAAKlB,MAAMugC,cAER,kBAACpuB,EAAA,EAAD,CACJ5P,IAAI,YACJtC,GAAG,aACHmS,SAAUlR,KAAKlB,MAAM0jC,kBACrBjiC,KAAMP,KAAKlB,MAAMugC,cACjB3gC,QAAS,kBAAM,EAAKS,SAAS,CAACkgC,eAAe,EAAOmD,kBAAmB,QACvErxB,WAAY,CACRnQ,MAAO,CACHoQ,UAAWC,OAInB,kBAACjP,EAAA,EAAD,CAAUf,IAAI,eACJwC,MAAOnD,IAAKC,EAAE,cACd4B,QAAS,SAAAsK,GACLA,EAAMN,kBACNM,EAAMvL,iBACN,EAAKnC,SAAS,CAACkgC,eAAe,EAAOmD,kBAAmB,KAAM7D,cAAe,EAAK7/B,MAAM6/B,eAAe,kBAAM,EAAKn9B,SAAS,CAAC6X,MAAO,EAAKva,MAAM6/B,oBAExJ,kBAAChK,GAAA,EAAD,CAAUC,QAAS50B,KAAKlB,MAAM6/B,eAC9B,kBAAC,cAAD,CAAWt7B,UAAWrD,KAAKxB,MAAM8E,QAAQm/B,SAAUzhC,MAAO,CAAC7C,MAhsBvD,aAisBHuC,IAAKC,EAAE,UAEZ,kBAACyB,EAAA,EAAD,CAAUf,IAAI,iBACJwC,MAAOnD,IAAKC,EAAE,gBACd4B,QAAS,SAAAsK,GACLA,EAAMN,kBACNM,EAAMvL,iBACN,EAAKnC,SAAS,CAACkgC,eAAe,EAAOmD,kBAAmB,KAAM5D,gBAAiB,EAAK9/B,MAAM8/B,iBAAiB,kBAAM,EAAKp9B,SAAS,CAAC8+B,QAAS,EAAKxhC,MAAM8/B,sBAE9J,kBAACjK,GAAA,EAAD,CAAUC,QAAS50B,KAAKlB,MAAM8/B,iBAC9B,kBAAC,qBAAD,CAAav7B,UAAWrD,KAAKxB,MAAM8E,QAAQm/B,SAAUzhC,MAAO,CAAC7C,MA1sBvD,aA2sBLuC,IAAKC,EAAE,aAlCsB,O,sCAwCtC,MAAO,CACHX,KAAKlB,MAAM6/B,cAAgB3+B,KAAKlB,MAAM8/B,gBAAoB,kBAAC,cAAD,CAAWv9B,IAAI,eAAegC,UAAWrD,KAAKxB,MAAM8E,QAAQm/B,SAAUzhC,MAAO,CAAC7C,MAltB9H,aAmtBV6B,KAAKlB,MAAM6/B,eAAiB3+B,KAAKlB,MAAM8/B,gBAAmB,kBAAC,cAAD,CAAWv9B,IAAI,iBAAiBgC,UAAWrD,KAAKxB,MAAM8E,QAAQm/B,SAAUzhC,MAAO,CAAC7C,MAptBlI,cAqtBP6B,KAAKlB,MAAM6/B,cAAgB3+B,KAAKlB,MAAM8/B,gBAAmB,kBAAC,qBAAD,CAAav9B,IAAI,iBAAiBgC,UAAWrD,KAAKxB,MAAM8E,QAAQm/B,SAAUzhC,MAAO,CAAC7C,MAptBlI,gB,mCAwtBJ,IAAD,OACHukC,EAAoB1iC,KAAKlB,MAAMb,UAAY+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,WAAa+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAU8J,QAAU/H,KAAKlB,MAAMsL,iBAAiBpK,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAU8J,QAC1L46B,EAAkB3iC,KAAKlB,MAAMb,UAAY+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,WAAa+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAU2J,QAEtH,GAAI5H,KAAKlB,MAAMb,SAAU,CACrB,IAAM4N,EAAU7L,KAAKlB,MAAM+M,QAAQ7L,KAAKlB,MAAMb,UAC9C,OACI,kBAAC2kC,GAAA,EAAD,CAASjvB,QAAQ,QAAQtQ,UAAWrD,KAAKxB,MAAM8E,QAAQjF,QAASgD,IAAI,YAC/DrB,KAAKlB,MAAM+K,YAAc7J,KAAKxB,MAAMqkC,UAAa,kBAAC91B,EAAA,EAAD,CAAY1J,UAAWrD,KAAKxB,MAAM8E,QAAQkP,eAAgBnR,IAAI,SAASwC,MAAOnD,IAAKC,EAAE,eAAgB4B,QAAS,kBAAM,EAAK/D,MAAMqkC,SAAS,EAAK/jC,MAAMb,YAAW,kBAAC,aAAD,QAC9M4N,GAAW62B,GAAsB,kBAAC31B,EAAA,EAAD,CAAY1L,IAAI,UAAUsS,QAAQ,YAAYtQ,UAAWrD,KAAKxB,MAAM8E,QAAQkP,eAAgBjQ,QAAS,kBAAM,EAAKo+B,aAAa98B,MAAOnD,IAAKC,EAAE,YAAY,kBAAC,YAAD,QACxLkL,IAAY82B,GAAoB,0BAAMt/B,UAAWrD,KAAKxB,MAAM8E,QAAQw/B,YAAapiC,IAAKC,EAAE,2BACxFkL,GAAW82B,IAAoBD,GAAsB,0BAAMr/B,UAAWrD,KAAKxB,MAAM8E,QAAQw/B,YAAapiC,IAAKC,EAAE,yBAC9GkL,GAAY,kBAACvJ,GAAA,EAAD,CAAQjB,IAAI,OAAOsS,QAAQ,YAAYxV,MAAM,YAAYkF,UAAWrD,KAAKxB,MAAM8E,QAAQy/B,WAAYxgC,QAAS,kBAAM,EAAKygC,WAAWtiC,IAAKC,EAAE,QAAQ,kBAAC,SAAD,OAC7JkL,GAAY,kBAACvJ,GAAA,EAAD,CAAQjB,IAAI,SAASsS,QAAQ,YAAYtQ,UAAWrD,KAAKxB,MAAM8E,QAAQy/B,WAAYxgC,QAAS,kBAAM,EAAK0gC,aAAaviC,IAAKC,EAAE,UAAU,kBAAC,WAAD,OAClJ,yBAAKK,MAAO,CAAC8M,KAAM,KAElB9N,KAAKlB,MAAMsjB,UAAYpiB,KAAKlB,MAAM+/B,iBAC9B,kBAAC9xB,EAAA,EAAD,CAAY1L,IAAI,SAASuR,aAAW,gBACxB/O,MAAOnD,IAAKC,EAAE,iBACtB0C,UAAWrD,KAAKxB,MAAM8E,QAAQkP,eAC9BjQ,QAAS,kBAAM,EAAK2gC,qBAAqB,YAC9C,kBAAC,eAAD,OAEHljC,KAAKlB,MAAMsjB,UAAYpiB,KAAKlB,MAAM+/B,iBAC9B,kBAAC9xB,EAAA,EAAD,CAAY1L,IAAI,SAASuR,aAAW,gBACxB/O,MAAOnD,IAAKC,EAAE,iBACd0C,UAAWrD,KAAKxB,MAAM8E,QAAQkP,eAC9BjQ,QAAS,kBAAM,EAAK2gC,qBAAqB,YAClD,kBAAC,eAAD,OAEPljC,KAAKlB,MAAMsjB,UAAYpiB,KAAKlB,MAAM+/B,iBAC9B,kBAAC9xB,EAAA,EAAD,CAAY1L,IAAI,QAAQuR,aAAW,aACvB/O,MAAOnD,IAAKC,EAAE,gBACd0C,UAAWrD,KAAKxB,MAAM8E,QAAQkP,eAC9BjQ,QAAS,kBAAM,EAAK2gC,qBAAqB,WAClD,kBAAC,kBAAD,QAENljC,KAAKlB,MAAMsjB,UAAYpiB,KAAKlB,MAAM+/B,iBAAoB,kBAAC9xB,EAAA,EAAD,CAAY1L,IAAI,cAAcuR,aAAW,cAC7B/O,MAAOnD,IAAKC,EAAE,sCACd0C,UAAWrD,KAAKxB,MAAM8E,QAAQkP,eAC9BjQ,QAAS,kBAAM,EAAKpD,SAAS,CAAC4/B,UAAU,MAAQ,kBAAC,UAAD,QAElH/+B,KAAKlB,MAAMsjB,UAAYpiB,KAAKlB,MAAM+/B,iBAAoB,kBAAC9xB,EAAA,EAAD,CAAY1L,IAAI,YAAYuR,aAAW,YAC3B/O,MAAOnD,IAAKC,EAAE,oBACd0C,UAAWrD,KAAKxB,MAAM8E,QAAQkP,eAC9BjQ,QAAS,kBAAM,EAAKpD,SAAS,CAAC2/B,cAAc,MAAQ,kBAAC,kBAAD,OAEvH9+B,KAAKlB,MAAMsjB,SAAWpiB,KAAKlB,MAAM+/B,iBAAoB,kBAACv8B,GAAA,EAAD,CAAQjB,IAAI,aAAauR,aAAW,wBAC5B/O,MAAOnD,IAAKC,EAAE,2CACd4B,QAAS,kBAAM,EAAK4gC,iBAF5B,eAKrDnjC,KAAKlB,MAAMsjB,SAAY,kBAAC9f,GAAA,EAAD,CAAQjB,IAAI,eAAeuR,aAAW,UAC9B/O,MAAOnD,IAAKC,EAAE,wBACd0C,UAAWrD,KAAKxB,MAAM8E,QAAQkP,eAC9BrU,MAAO6B,KAAKlB,MAAM+/B,gBAAkB,YAAc,UAClD79B,MAAO,CAAC4M,QAAS,SACjBrL,QAAS,kBAAM,EAAKpD,SAAS,CAAC0/B,iBAAkB,EAAK//B,MAAM+/B,oBACvF,yBAAKxvB,IAAI,aAAaC,IAAK8zB,SAE7BpjC,KAAKlB,MAAM+/B,iBAAoB,kBAAC9xB,EAAA,EAAD,CAAY1L,IAAI,QAAQuR,aAAW,aACvB/O,MAAOnD,IAAKC,EAAE,iBACd0C,UAAWrD,KAAKxB,MAAM8E,QAAQkP,eAC9BjQ,QAAS,SAAAd,GAAC,OAAI,EAAKtC,SAAS,CAACkgC,eAAe,EAAMmD,kBAAmB/gC,EAAEsR,kBAChH,kBAACswB,GAAA,EAAD,CAAOhgC,UAAWrD,KAAKxB,MAAM8E,QAAQggC,YAAaC,aAAcvjC,KAAKwjC,iBACjE,kBAAC,UAAD,SAMhB,OAAO,O,wCAII,IAAD,OACd,OAAIxjC,KAAKlB,MAAMb,UAAY+B,KAAKxB,MAAM2N,QAAQnM,KAAKlB,MAAMb,WAAoC,OAAvB+B,KAAKlB,MAAMsjB,WAAsBpiB,KAAKlB,MAAMsjB,SAAWpiB,KAAKlB,MAAM+/B,kBACpI7+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAY+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,WAAa6K,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKxB,MAAM2N,QAAQnM,KAAKlB,MAAMb,UAAU+I,SAEnI,yBAAK3D,UAAWrD,KAAKxB,MAAM8E,QAAQmgC,UAAWpiC,IAAI,mBACtD,kBAAC,GAAD,CACIA,IAAI,eACJrC,KAAMgB,KAAKlB,MAAMb,SACjBmc,OAAQpa,KAAKlB,MAAMsb,OACnBgG,WAAY,kBAAM,EAAKjhB,SAAS,CAACib,OAAQ,MACzC2C,YAAa,kBAAM,EAAKimB,UACxB/4B,WAAYjK,KAAKlB,MAAMmL,WACvB4Q,iBAAkB,SAAA+lB,GAAI,OAAI,EAAK/lB,iBAAiB+lB,IAChD9mB,SAAU9Z,KAAKlB,MAAM+/B,gBACrBhzB,QAAS7L,KAAKlB,MAAM+M,QAAQ7L,KAAKlB,MAAMb,UACvCqc,KAAMta,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAUyO,QAAU,GAClDkN,OAA6B,SAArB5Z,KAAKlB,MAAMqH,MACnBmF,WAAYtL,KAAKxB,MAAM8M,WACvB9J,SAAU,SAAA6e,GAAQ,OAAI,EAAK7e,SAAS,CAACw/B,OAAQ3gB,KAC7CxG,SAA2D,kBAAjD7Z,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAU6J,WAAiC,aAAe,iBAI7F,O,yCAIK,IAAD,OACf,OAAI9H,KAAKlB,MAAMb,UAAY+B,KAAKxB,MAAM2N,QAAQnM,KAAKlB,MAAMb,WAAc+B,KAAKlB,MAAMsjB,UAAYpiB,KAAKlB,MAAM+/B,iBAAoB7+B,KAAKlB,MAAMmgC,SACpIj/B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAY+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,WAAa6K,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKxB,MAAM2N,QAAQnM,KAAKlB,MAAMb,UAAU+I,SAEnI,yBAAK3D,UAAWrD,KAAKxB,MAAM8E,QAAQmgC,UAAWpiC,IAAI,oBACtD,kBAAC,GAAD,CACIsiB,QAAS3jB,KAAKlB,MAAMogC,aACpB79B,IAAI,gBACJ8E,MAAOnG,KAAKlB,MAAMqH,MAClB8D,WAAYjK,KAAKlB,MAAMmL,WACvBy5B,SAAU1jC,KAAKxB,MAAMklC,SACrBppB,KAAMta,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAUyO,QAAU,GAClDlL,SAAU,SAAA6e,GAAQ,OAAI,EAAK7e,SAAS,CAACw/B,OAAQ3gB,SAI9C,O,yCAIK,IAAD,OACf,OAAIrgB,KAAKlB,MAAMuiC,QACH,kBAAC,IAAD,CACJhgC,IAAI,iBACJ0C,KAAM/D,KAAKlB,MAAMuiC,QACjB3iC,QAAS,SAAA2I,GACL,GAAI,EAAK+5B,gBAAiB,CACtB,IAAMr2B,EAAK,EAAKq2B,gBAChB,EAAKA,gBAAkB,KACvBr2B,EAAG1D,GAEP,EAAKlI,SAAS,CAACkiC,QAAS,QAIzB,O,0CAIM,IAAD,OAChB,OAAIrhC,KAAKlB,MAAMggC,aACH,kBAAC,KAAD,CACJz9B,IAAI,kBACJ5B,OAAQ,QACR0G,MAAOnG,KAAKxB,MAAM2H,MAClBmF,WAAYtL,KAAKxB,MAAM8M,WACvBrN,SAAU+B,KAAKgV,SAAS4V,SAAW5qB,KAAKgV,SAASwqB,WAAa,GAAKx/B,KAAK6gC,UAAY7gC,KAAK6gC,YAAc,GACvG8C,YAAY,EACZjlC,QAAS,kBAAM,EAAKS,SAAS,CAAC2/B,cAAc,KAC5CjB,KAAM,SAAC5/B,EAAUe,GACb,EAAKgW,SAASwqB,UAAY,KACtB,EAAKxqB,SAAS4V,UACd,EAAK5V,SAAS4V,SAAS3sB,GACvB,EAAK+W,SAAS4V,SAAW,MAEzB,EAAKzrB,SAAS,CAACib,OAAO,IAAD,OAAMnc,EAAN,cAAoBe,EAApB,WAK1B,O,sCAIE,IAAD,OACZ,OAAIgB,KAAKlB,MAAMigC,SACH,kBAAC,GAAD,CACJ19B,IAAI,cACJ8wB,KAAMnyB,KAAKmyB,KAAKvH,SAAW5qB,KAAKmyB,KAAKqN,WAAa,GAAKx/B,KAAK6gC,UAAY7gC,KAAK6gC,YAAc,YAC3FniC,QAAS,kBAAM,EAAKS,SAAS,CAAC4/B,UAAU,KACxClB,KAAM,SAAA1L,GACF,EAAKA,KAAKqN,UAAY,KAClB,EAAKrN,KAAKvH,UACV,EAAKuH,KAAKvH,SAASuH,GACnB,EAAKA,KAAKvH,SAAW,MAErB,EAAKzrB,SAAS,CAACib,OAAO,IAAD,OAAM+X,EAAN,UAK1B,O,wCAII,IAAD,OACd,OAAInyB,KAAKlB,MAAMkgC,WACH,kBAAC,GAAD,CACJ39B,IAAI,qBACJqL,OAAQ1M,KAAKy/B,aAAaD,UAC1BjB,KAAMv+B,KAAKy/B,aAAalB,KAAOv+B,KAAKy/B,aAAalB,KAAKz+B,KAAK,MAAQ,GACnEw+B,SAAUt+B,KAAKy/B,aAAanB,SAC5BhzB,WAAYtL,KAAKxB,MAAM8M,WACvBnF,MAAOnG,KAAKlB,MAAMqH,MAClBzH,QAAS,SAAA2I,GACL,EAAKo4B,aAAaD,UAAY,KAC1B,EAAKC,aAAa7U,YACP,IAAXvjB,GAAoB,EAAKo4B,aAAa7U,SAASvjB,GAAU,IACzD,EAAKo4B,aAAa7U,SAAW,MAEjC,EAAKzrB,SAAS,CAAC6/B,YAAY,OAI5B,O,iCAIH,IAAD,OACP,OAAQ,kBAAC4E,GAAA,EAAD,CACJviC,IAAI,QACJwiC,aAAc,CACVC,SAAU,SACVC,WAAY,QAEhBxjC,OAAQP,KAAKlB,MAAMwgC,MACnB0E,iBAAkB,IAClBtlC,QAAS,kBAAM,EAAKS,SAAS,CAACmgC,MAAO,MACrC2E,aAAc,CAAC,mBAAoB,cACnC3tB,QAAS,0BAAMvX,GAAG,cAAciB,KAAKlB,MAAMwgC,OAC3C4E,OAAQ,CACJ,kBAACn3B,EAAA,EAAD,CACI1L,IAAI,QACJuR,aAAW,QACXzU,MAAM,UACNkF,UAAWrD,KAAKxB,MAAM8E,QAAQ6gC,WAC9B5hC,QAAS,kBAAM,EAAKpD,SAAS,CAACmgC,MAAO,OACxC,kBAAC,UAAD,Y,+BAMH,IAAD,OAiBL,OAhBIt/B,KAAKlB,MAAMb,UAAY+B,KAAKxB,MAAM2N,QAAQnM,KAAKlB,MAAMb,WAAoC,OAAvB+B,KAAKlB,MAAMsjB,UAC7EpiB,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,UAAY+B,KAAKkJ,QAAQlJ,KAAKlB,MAAMb,WAAa6K,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKxB,MAAM2N,QAAQnM,KAAKlB,MAAMb,UAAU+I,SAC3IzF,YAAW,WACP,IAAM0K,EAAW,CACbmW,QAA0D,YAAjD,EAAKlZ,QAAQ,EAAKpK,MAAMb,UAAU6J,WAC3C+2B,iBAAiB,EACjBF,aAAc,EAAKz1B,QAAQ,EAAKpK,MAAMb,UAAUob,MAChDulB,eAAgB,EAAK11B,QAAQ,EAAKpK,MAAMb,UAAUqiC,SAItD,EAAKC,yBAAyB,KAAMt0B,GACpC,EAAK9M,SAAS8M,KACf,MAGA,CACHjM,KAAKokC,UACLpkC,KAAKqkC,aACLrkC,KAAKskC,kBACLtkC,KAAKukC,mBACLvkC,KAAKwkC,mBACLxkC,KAAKykC,oBACLzkC,KAAK0kC,gBACL1kC,KAAK2kC,kBACL3kC,KAAK4kC,eACL5kC,KAAK6kC,gB,GAt4BIriC,IAAMC,WA05BZgC,gBA/+BA,SAAA0B,GAAK,MAAK,CAErB9H,QAAS,CACLymC,UAAW,GACXrrB,UAAW,kHAEfjH,eAAgB,CACZ5E,QAAS,EACTa,WAAY,GAEhBg1B,UAAW,CACP9lC,OAAO,eAAD,OAAiB2Q,GAAMjQ,QAAQV,OAAS,GAA8B,EAAtE,OACND,MAAO,OACPmQ,SAAU,SACVoH,SAAU,YAEd8tB,WAAY,CACRptB,YAAa,GACbmvB,UAAW,GACXl3B,QAAS,YAEb+zB,QAAS,CACLjkC,MAAO,GACPC,OAAQ,GACRw2B,cAAe,SACfoC,aAAc,EACd5gB,YAAa,EACbD,aAAc,GAElB6sB,SAAU,CAEN30B,QAAS,eAEbm3B,SAAU,GAGVzC,WAAY,CACR3vB,UAAW,EACXlE,WAAY,IAEhB2zB,cAAe,CACXntB,SAAU,WACVM,IAAK,EACLD,MAAO,GAEXusB,WAAY,CACR1jC,MAAOgI,EAAM+O,QAAQlX,UAAU2hC,MAEnCiC,QAAS,CACLvhC,SAAU,IACV2kC,aAAc,WACdr3B,WAAY,SACZE,SAAU,SACVpQ,QAAS,eACT02B,cAAe,UAEnB2N,eAAgB,CACZ3jC,MAAO,UACPyE,SAAU,IAEdm/B,YAAa,CACT9sB,SAAU,WACVM,IAAK,EACLD,MAAO,EACPkL,OAAQ,GACR5S,QAAS,EACTc,OAAQ,WAEZo0B,WAAY,CACR3kC,MAAO,WAEX8jC,UAAW,GAGXE,iBAAkB,CACd1kC,QAAS,gBAEbglC,SAAU,CACN/kC,MAAO,GACPC,OAAQ,GACR+X,aAAc,EACdC,YAAa,MA85BNlR,CAAmBg6B,I,UCj+B5BwG,G,kDAEF,WAAYzmC,GAAQ,IAAD,8BACf,cAAMA,IACDM,MAAQ,CACTV,MAAO,GACP8mC,YAAa,IAJF,E,gEASf3jC,YAAW,WACP,IACI2B,OAAO8U,SAAS4I,eAAe,oBAAoBzd,QACrD,MAAO1B,OAGV,O,qCAIHzB,KAAKxB,MAAME,Y,+BAGN+C,GACLzB,KAAKb,SAAS,CAAC4E,KAAMtC,EAAEC,OAAOR,U,qCAoBnBikC,GAAQ,IAAD,OAKlB,GAJIA,GAASA,EAAMjsB,eAAe,YAC9BisB,EAAQA,EAAMzjC,OAAOyjC,OAGpBA,GAAUA,EAAM3lC,OAArB,CAIA,IAAM4lC,EAAOD,EAAMA,EAAM3lC,OAAS,GAE7B4lC,GAGLH,EAAiBI,gBAAgBD,GAAM,SAAC55B,EAAKnE,GACrCmE,EACA,EAAKrM,SAAS,CAACf,MAAOoN,IAEtB,EAAKhN,MAAME,QAAQ2I,GAAUA,EAAOF,Y,+BAKtC,IAAD,OACC7D,EAAUtD,KAAKxB,MAAM8E,QACrBD,EAAYC,EAAQgiC,SAAW,KAAkC,aAA3BtlC,KAAKlB,MAAMomC,YAA6B5hC,EAAQiiC,iBAA+C,aAA3BvlC,KAAKlB,MAAMomC,YAA6B5hC,EAAQkiC,iBAAmB,IAEnL,OACI,kBAACtlC,GAAA,EAAD,CACIC,sBAAoB,EACpBC,sBAAoB,EACpBC,SAAS,KACTiD,QAAS,CAACsQ,MAAOtQ,EAAQud,QACzBvgB,WAAW,EACXC,MAAM,EACNC,kBAAgB,uBAEhB,kBAACC,GAAA,EAAD,CAAa1B,GAAG,uBAAuB2B,IAAKC,EAAE,mBAC9C,kBAACC,GAAA,EAAD,CAAeyC,UAAWC,EAAQue,YAC9B,kBAAC,KAAD,CAAYxgB,IAAI,aAEJokC,QAAS,IACTC,gBAAiBpiC,EAAQiiC,iBACzBI,gBAAiBriC,EAAQkiC,iBACzBI,OAAQ,SAAAT,GAAK,OAAI,EAAKU,eAAeV,IACrCW,UAAU,EACVC,OAAO,+CACP1iC,UAAWA,IAEf,YAAiE,IAA9D2iC,EAA6D,EAA7DA,aAAcC,EAA+C,EAA/CA,cAAeC,EAAgC,EAAhCA,aAC5B,OAD4D,EAAlBC,cAEP,aAA3B,EAAKrnC,MAAMomC,aACX,EAAK/lC,SAAS,CAAC+lC,YAAa,aAG5B,uCAAK7hC,UAAW,EAAK7E,MAAM8E,QAAQ8iC,aAAiBJ,KAChD,0BAAWC,KACX,0BAAM5kC,IAAI,OAAOgC,UAAW,EAAK7E,MAAM8E,QAAQS,MAAOrD,IAAKC,EAAE,gCAC7D,kBAAC,WAAD,CAAQU,IAAI,OAAOgC,UAAW,EAAK7E,MAAM8E,QAAQ+iC,KAAO,IAAM,EAAK7nC,MAAM8E,QAAQgjC,cAElFJ,GACwB,aAA3B,EAAKpnC,MAAMomC,aACX,EAAK/lC,SAAS,CAAC+lC,YAAa,aAI5B,uCAAK7hC,UAAW,EAAK7E,MAAM8E,QAAQ8iC,aAAiBJ,KAChD,0BAAWC,KACX,0BAAM5kC,IAAI,OAAOgC,UAAW,EAAK7E,MAAM8E,QAAQS,MAAOrD,IAAKC,EAAE,+BAC7D,kBAAC,YAAD,CAAUU,IAAI,OAAOgC,UAAW,EAAK7E,MAAM8E,QAAQ+iC,KAAO,IAAM,EAAK7nC,MAAM8E,QAAQijC,YAG5D,SAA3B,EAAKznC,MAAMomC,aACX,EAAK/lC,SAAS,CAAC+lC,YAAa,SAG5B,uCAAK7hC,UAAW,EAAK7E,MAAM8E,QAAQ8iC,aAAiBJ,KAChD,0BAAWC,KACX,0BAAM5kC,IAAI,OAAOgC,UAAW,EAAK7E,MAAM8E,QAAQS,MAAOrD,IAAKC,EAAE,qCAC7D,kBAAC,eAAD,CAAYU,IAAI,OAAOgC,UAAW,EAAK7E,MAAM8E,QAAQ+iC,YAM5ErmC,KAAKlB,MAAMV,MAAS,kBAAC,GAAD,CAAa2F,KAAM/D,KAAKlB,MAAMV,MAAOM,QAAS,kBAAM,EAAKS,SAAS,CAACf,MAAO,QAAW,MAE9G,kBAACiE,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,CAAQC,QAAS,kBAAM,EAAK9D,gBAAgBN,MAAM,aAAauC,IAAKC,EAAE,e,uCAzG/DykC,EAAMr6B,GACzB,IAAMy7B,EAAS,IAAIC,WACnBD,EAAOliB,OAAS,WACZvZ,EAAG,KAAM,CAAC5D,KAAMq/B,EAAOn/B,OAAQrI,KAAMomC,EAAKpmC,QAE9CwnC,EAAOE,QAAU,WACb9gC,QAAQxH,MAAM,4BACd2M,EAAGrK,IAAKC,EAAE,8BAEd6lC,EAAOzb,QAAU,SAACtpB,GACdmE,QAAQxH,MAAM,2BACd2M,EAAGrK,IAAKC,EAAE,8BAA+Bc,KAG7C+kC,EAAOG,cAAcvB,O,GA1CE5iC,IAAMC,WAiJtBgC,gBAxMA,SAAA0B,GAAK,MAAK,CACrB0a,OAAQ,CACJljB,OAAQ,OAEZkkB,WAAY,CACRlkB,OAAQ,OACRkQ,SAAU,UAEdy3B,SAAU,CACN3yB,UAAW,GACXjV,MAAO,OACPkpC,YAAa,EACbC,YAAa,SACbC,YAAa,UACbziC,UAAW,SACX0iC,UAAW,aACXhP,WAAY,GACZriB,aAAc,GACd/X,OAAQ,qBAEZyoC,YAAa,CACT1oC,MAAO,OACPC,OAAQ,QAEZ6nC,iBAAkB,CACdsB,YAAa,WAEjBvB,iBAAkB,CACduB,YAAa,WAEjBT,KAAM,CACF1oC,OAAQ,MACRD,MAAO,MACPS,MAAO,UACP8W,SAAU,WACVM,IAAK,MACLiE,KAAM,MACNwtB,UAAW,uBACXxmB,OAAQ,GAEZ8lB,UAAW,CACPnoC,MAAO,WAEXooC,OAAQ,CACJpoC,MAAO,WAEX4F,KAAM,CACFwR,IAAK,MACLiE,KAAM,MACNwtB,UAAW,uBACX7oC,MAAO,UACP8W,SAAU,WACVuL,OAAQ,MAoJD/b,CAAmBwgC,IC7H5BgC,G,kDACF,WAAYzoC,GAAQ,IAAD,uBACf,cAAMA,IACD2N,QAAU,GAGfzL,IAAKwmC,gBAAgB,CACjB,GAAMC,EAAQ,KACd,GAAMA,EAAQ,KACd,GAAMA,EAAQ,KACd,GAAMA,EAAQ,KACd,GAAMA,EAAQ,KACd,GAAMA,EAAQ,KACd,GAAMA,EAAQ,KACd,GAAMA,EAAQ,KACd,GAAMA,EAAQ,KACd,QAASA,EAAQ,OAGrB,EAAKroC,MAAQ,CACTsoC,WAAW,EACXC,SAAU,EACVC,OAAO,EACPC,cAAe,EACfl9B,YAAa,EACb9K,UAAW,GACXioC,UAAU,EACV9D,UAAU,EACVzlC,SAAU,KACVwpC,WAAY,GACZxxB,QAAS,GACTpM,YAAY3G,OAAO0F,cAAiE,UAAlD1F,OAAO0F,aAAaC,QAAQ,kBAC9D6+B,aAAc,GACd99B,UAAW,GACXI,aAAY9G,OAAO0F,cAAiE,SAAlD1F,OAAO0F,aAAaC,QAAQ,kBAC9D8+B,gBAAezkC,OAAO0F,cAAoE,SAArD1F,OAAO0F,aAAaC,QAAQ,qBACjEuB,iBAAkB,GAClBi3B,QAAS,GACTuG,YAAY,EACZtxB,QAAS,GACTrM,WAAY,GACZ49B,UAAW3kC,OAAO0F,cAAe1F,OAAO0F,aAAaC,QAAQ,cAA0B,SAG3F,EAAKi/B,QAAU5kC,OAAO0F,cAAem/B,WAAW7kC,OAAO0F,aAAaC,QAAQ,iBAAyB,IACrG,EAAKm/B,SAAW9kC,OAAO0F,cAAem/B,WAAW7kC,OAAO0F,aAAaC,QAAQ,kBAA0B,IACvG,EAAKK,QAAU,GACf,EAAK++B,MAAQ,GACb,EAAKL,WAAa,KAElB,IAAIM,EAAOjmC,SAASiB,OAAO2nB,SAASqd,KAAM,IAC1C,GAAI9Z,MAAM8Z,GACN,OAAQhlC,OAAO2nB,SAASsd,UACpB,IAAK,SACDD,EAAO,IACP,MACJ,QACIA,EAAO,GAxDJ,OA6DVA,GAAiB,MAATA,IACTA,EAAO,MAGX,EAAKE,OAAS,IAAIC,IAAW,CACzBH,OACAI,eAAgB,CAAC,WAAY,+BAC7BC,kBAAkB,EAClBC,WAAY,SAAAnB,GACJA,IAAaoB,WAASC,WACtB,EAAKvpC,SAAS,CAACioC,WAAW,IACnBC,IAAaoB,WAASE,MAC7B,EAAKxpC,SAAS,CAACioC,WAAW,EAAMC,SAAU,MAE1C,EAAKloC,SAAS,CAACioC,WAAW,EAAMC,SAAUhZ,KAAKua,MAAMH,WAASE,MAAQtB,EAAW,QAGzFwB,QAAS,SAAC18B,EAASjD,GACfxI,IAAKooC,YAAY,EAAKV,OAAO1I,YAC7Bx8B,OAAOw8B,WAAa,EAAK0I,OAAO1I,WAChC,EAAKqJ,mBACL,EAAKC,eAAe78B,EAASjD,GAAS,IAE1C8/B,eAAgB,SAAC78B,EAASjD,GAAV,OAAsB,EAAK8/B,eAAe78B,EAASjD,IACnE+/B,QAAS,SAAAz9B,GACL5F,QAAQxH,MAAMoN,IAElB09B,iBAAkB,WACd,EAAK9H,gBAAkB,SAAA/5B,GAAM,OAAIA,GAAUnE,OAAO2nB,SAASse,UAC3D,EAAKhqC,SAAS,CAACkiC,QAAS3gC,IAAKC,EAAE,8CAEnCyoC,MAAO,SAAA9yB,OA5FI,E,+DAmGC,IAAD,QACVtW,KAAKqpC,eAAiBrpC,KAAKooC,SAC5BpoC,KAAKqpC,eAAgB,EACrBrpC,KAAKooC,OAAO18B,eAAe,qCAAqC,SAAC3M,EAAID,GACjE,GAAIC,IACAA,EAAKA,GAAMA,EAAGsM,UAAU,EAAGtM,EAAGS,OAAS,GAEnC,EAAKV,MAAMsL,iBAAiBrL,QAASD,GAAQA,EAAMgN,MAAc,CACjE,IAAM1B,EAAmBtB,KAAKC,MAAMD,KAAK8C,UAAU,EAAK9M,MAAMsL,mBAC9DA,EAAiBrL,KAAOD,GAAQA,EAAMgN,IACtC,EAAK3M,SAAS,CAACiL,4B,qCAOpB+B,EAASjD,EAASogC,GAAU,IAAD,OACtCtpC,KAAKmM,QAAUA,EAEf,IAAMo9B,EAAW,GACXt9B,EAAW,GAEjB/C,EAAQquB,KAAKnyB,SAAQ,SAAArG,GAAE,OAAIwqC,EAASxqC,GAAMoN,EAAQpN,MAClDmK,EAAQsgC,OAAOpkC,SAAQ,SAAArG,GAAE,OAAIwqC,EAASxqC,GAAMoN,EAAQpN,MACpDiB,KAAKioC,MAAQ/+B,EAAQ++B,MAEjB/kC,OAAO0F,cAAkE,SAAlD1F,OAAO0F,aAAaC,QAAQ,mBAAkF,UAAlD3F,OAAO0F,aAAaC,QAAQ,mBAE3GK,EAAQquB,KAAK/xB,MAAK,SAAAzG,GAAE,OAAIA,EAAGiJ,WAAW,0BACtCiE,EAASjC,YAAa,GAI9B,IAAIK,EAAcrK,KAAKlB,MAAMuL,YACzBrK,KAAKypC,eAAevgC,IACpBmB,IAEJnB,EAAQ3J,UAAUkI,OAClBzH,KAAKkJ,QAAUqgC,EACft9B,EAAS1M,UAAY2J,EAAQ3J,UAC7B0M,EAAS5B,YAAcA,OAEPmF,IAAZ85B,IACAr9B,EAASq7B,MAAQgC,GAGrBnnB,GAAcunB,kBAAkBv9B,GAAS,kBAAM,EAAKhN,SAAS8M,Q,qCAGlD09B,GACX,IAAMC,EAASriC,OAAOC,KAAKxH,KAAKkJ,SAC1B2gC,EAAStiC,OAAOC,KAAKmiC,GAC3B,GAAIC,EAAOpqC,SAAWqqC,EAAOrqC,OAEzB,OADAQ,KAAKkJ,QAAUlJ,KAAK2pC,YACb,EAEX,GAAI7gC,KAAK8C,UAAUg+B,KAAY9gC,KAAK8C,UAAUi+B,GAE1C,OADA7pC,KAAKkJ,QAAUlJ,KAAK2pC,YACb,EAEX,IAAK,IAAIrkC,EAAI,EAAGA,EAAIskC,EAAOpqC,OAAQ8F,IAAK,CACpC,IAAIwkC,EAAY9pC,KAAKkJ,QAAQ0gC,EAAOtkC,IAAI0B,OACpC+iC,EAAYJ,EAAWC,EAAOtkC,IAAI0B,OACtC,GAAI8iC,EAAU9qC,OAAS+qC,EAAU/qC,KAE7B,OADAgB,KAAKkJ,QAAUlJ,KAAK2pC,YACb,EAEX,GAAIG,EAAU/hC,SAAWgiC,EAAUhiC,OAE/B,OADA/H,KAAKkJ,QAAUlJ,KAAK2pC,YACb,EAEX,GAAIG,EAAUhiC,aAAeiiC,EAAUjiC,WAEnC,OADA9H,KAAKkJ,QAAUlJ,KAAK2pC,YACb,EAEX,GAAIG,EAAUliC,UAAYmiC,EAAUniC,QAEhC,OADA5H,KAAKkJ,QAAUlJ,KAAK2pC,YACb,K,+BAKV9qC,EAAO8N,EAAO6H,EAASC,GAAc,IAEtCu1B,EAFqC,OAOzC,GANApkC,QAAQC,IAAR,iBAAsBhH,EAAtB,eAAkC8N,IAElC3M,KAAKb,SAAS,CAACqoC,UAAU,IAIrBxnC,KAAKkJ,QAAQrK,IAAuC,WAA7BmB,KAAKkJ,QAAQrK,GAAOvB,KAAmB,CAC9D,IAAM0J,EAAS8B,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKkJ,QAAQrK,GAAOmI,SAC7DA,EAAOhI,KAAOwV,GAAWxN,EAAOhI,UACZwQ,IAAhBiF,IACAzN,EAAOe,OAAS,6BAA+B0M,GAGnD,IAAM9U,EAAQgN,EAAM/M,MAAM,KAC1BD,EAAME,MACN,IAAMoqC,EAAWtqC,EAAMG,KAAK,KAExBE,KAAKkJ,QAAQ+gC,IAA6C,WAAhCjqC,KAAKkJ,QAAQ+gC,GAAU3sC,OACjDqC,EAAME,MACN8M,EAAQhN,EAAMG,KAAK,KAAO,IAAM6M,EAAM/M,MAAM,KAAKC,OAGrDmqC,EAAUhqC,KAAKooC,OAAO8B,aAAarrC,EAAO8N,EAAO3F,QAEjDgjC,EAAUhqC,KAAKooC,OAAO+B,YAAYtrC,EAAO8N,EAAO6H,GAGpDw1B,EACKz4B,MAAK,kBAAM,EAAKpS,SAAS,CAACqoC,UAAU,OACpC4C,OAAM,SAAA5+B,GAAG,MAAY,aAARA,GAAsB,EAAK8F,UAAU9F,Q,qCAG5CzM,EAAIiI,GAAS,IAAD,OACnBhH,KAAKkJ,QAAQnK,IAAiC,WAA1BiB,KAAKkJ,QAAQnK,GAAIzB,MACrC0C,KAAKooC,OAAO8B,aAAanrC,EAAIA,EAAIiI,GAC5BuK,MAAK,eACL64B,OAAM,SAAA5+B,GAAG,MAAY,aAARA,GAAsB,EAAK8F,UAAU9F,Q,+BAItDvN,GAAW,IAAD,OACX+B,KAAKmM,QAAQlO,IAAa+B,KAAKmM,QAAQlO,GAAU+I,QAA0C,WAAhChH,KAAKmM,QAAQlO,GAAUX,MAClF0C,KAAKb,SAAS,CAAClB,WAAUypC,aAAczpC,IAAW,kBAC9CsD,YAAW,kBAAM,EAAKpC,SAAS,CAACuoC,aAAc,UAAO,O,yCAI9C19B,GACXhK,KAAKlB,MAAMkL,aAAeA,IAC1B9G,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,iBAAkBtC,EAAa,OAAS,SAC3FhK,KAAKb,SAAS,CAAE6K,kB,gCAIdwB,GACNxL,KAAKb,SAAS,CAAEyK,UAAW4B,M,kCAGnB8K,GACRtW,KAAKb,SAAS,CAAEmX,c,+BAGXvX,GAAK,IAAD,OACTiB,KAAKooC,OAAOiC,UAAUtrC,GACrBwS,MAAK,eACL64B,OAAM,SAAA5+B,GAAG,OACN,EAAK8F,UAAU9F,Q,6BAGhBzM,GACCiB,KAAKlB,MAAMb,WAAac,GACxBiB,KAAKb,SAAS,CAAClB,SAAUc,M,+BAIxBA,EAAIC,EAAMsrC,EAAUrrC,EAAU3B,EAAMoP,GAAS,IAAD,OAC3C69B,EAAM,IAAIC,OAAJ,WAAezrC,EAAf,QAERwI,OAAOC,KAAKxH,KAAKmM,SAAS3G,MAAK,SAAA4F,GAAG,OAAIrM,IAAOqM,GAAOm/B,EAAIzrB,KAAK/f,MAC7DiB,KAAKsR,UAAU5Q,IAAKC,EAAE,gBAItB2pC,EACAtqC,KAAKooC,OAAOqC,UAAU1rC,EAAI,CACtBiI,OAAQ,CACJhI,OACA0rC,QAAQ,GAEZptC,KAAM,YAELiU,MAAK,kBACFhQ,YAAW,kBAAM,EAAKpC,SAAS,CAACuoC,aAAc3oC,IAAK,kBAC/CwC,YAAW,kBAAM,EAAKpC,SAAS,CAACuoC,aAAc,UAAO,OAAM,QAClE0C,OAAM,SAAA5+B,GAAG,OACN,EAAK8F,UAAU9F,MAEvBxL,KAAKooC,OAAOqC,UAAU1rC,EAAI,CACtBiI,OAAQ,CACJhI,OACA0rC,QAAQ,EACR5iC,WAAYxK,EACZyK,OAAQ,8BAAgC9I,GAAY,GACpDyN,OAAQA,GAAU,GAClB2M,OAAO,EACPinB,SAAS,GAEbhjC,KAAM,WACPiU,MAAK,WACJhQ,YAAW,kBAAM,EAAKopC,SAAS5rC,KAAK,QACrCqrC,OAAM,SAAA5+B,GACL,EAAK8F,UAAU9F,Q,sCAKXzM,EAAI6I,GAAU,IAAD,OACzB,GAAI5H,KAAKkJ,QAAQnK,IAAiC,WAA1BiB,KAAKkJ,QAAQnK,GAAIzB,KAAmB,CACxD,IAAM0J,EAAShH,KAAKmM,QAAQpN,GAAIiI,OAChCA,EAAOY,QAAUA,EACjBZ,EAAO0jC,QAAS,EAChB1qC,KAAKooC,OAAO8B,aAAanrC,EAAIA,EAAIiI,GAC5BuK,MAAK,eACL64B,OAAM,SAAA5+B,GAAG,MAAY,aAARA,GAAsB,EAAK8F,UAAU9F,S,kCAInDT,EAAI6/B,GAAQ,IAAD,OAKnB,GAJKA,IACDA,EAAQ9hC,KAAKC,MAAMD,KAAK8C,UAAU5L,KAAKioC,SAAW,IAGlD2C,EAAMprC,OAAQ,CACd,IAAMT,EAAK6rC,EAAM3/B,QACjBjL,KAAKooC,OAAO78B,SAASxM,EAAK,UAAU,SAACyM,EAAK1M,IACjC0M,GAAO1M,GAASA,EAAMgN,IACvBf,EAAGhM,GAEHwC,YAAW,kBAAM,EAAKspC,YAAY9/B,EAAI6/B,cAI9C7/B,M,iCAII,IAAD,OACP/K,KAAK6qC,aAAY,SAAAC,GACb,GAAKA,EAAL,CAKA,IAAMn0B,EAAI,IAAIO,KACVQ,EAAOf,EAAEwkB,cACTtqB,EAAI8F,EAAEggB,WAAa,EACnB9lB,EAAI,KACJA,EAAI,IAAMA,GAEd6G,GAAQ,IAAM7G,GACdA,EAAI8F,EAAE+f,WACE,KACJ7lB,EAAI,IAAMA,GAEd6G,GAAQ,IAAM7G,EAAI,IAElB,EAAKu3B,OAAOA,OAAO2C,KAAK,aAAcD,EAAM,mBAAoB,CAC5D9f,QAAS,aACTjsB,GAAI,YACJisC,KAAMtzB,EAAO,gBACd,SAAAvQ,GACC,GAAoB,kBAATA,EAAmB,CAE1B,IAAMO,EAAIsQ,SAASC,cAAc,KAE3BtY,EAAQwH,EAAKvH,MAAM,SACzB8H,EAAEs6B,KAAO,QAAUriC,EAAM,GAAK,IAAMA,EAAM,GAC1CqY,SAASE,KAAKC,YAAYzQ,GAC1BA,EAAEujC,QACFvjC,EAAEqiB,cAGF,GADA5iB,EAAK/I,OAAS,EAAKkT,UAAUnK,EAAK/I,OAC9B+I,EAAKA,KAAM,CACX,IAAMO,EAAIsQ,SAASC,cAAc,KACjCvQ,EAAEs6B,KAAO,gCAAkC76B,EAAKA,KAChDO,EAAEwjC,SAAWxzB,EAAO,cACpBM,SAASE,KAAKC,YAAYzQ,GAC1BA,EAAEujC,QACFvjC,EAAEqiB,kBAvCV,EAAKzY,UAAU5Q,IAAKC,EAAE,8B,+BA8CzBwG,GACLnH,KAAK4nC,WAAazgC,EACdA,GACAnH,KAAKohC,gBAAkBphC,KAAKmrC,kBAAkBrgC,KAAK9K,MACnDA,KAAKb,SAAS,CAACyoC,YAAY,EAAOvG,QAAS3gC,IAAKC,EAAE,4CAElDX,KAAKb,SAAS,CAACyoC,YAAY,M,wCAIjB5J,GAAK,IAAD,OACd72B,EAAOnH,KAAK4nC,WAChB5nC,KAAK4nC,WAAa,KACd5J,GAAM72B,IACNA,EAAOA,EAAKvH,MAAM,KAAK,GACvBI,KAAK6qC,aAAY,SAAAC,GACRA,EAIL,EAAK1C,OAAOA,OAAO2C,KAAK,aAAcD,EAAM,oBAAqB,CAC7D3jC,KAAMA,EACN6jB,QAAS,aACTjsB,GAAI,cACL,SAAAoI,GACc,oBAATA,EACA,EAAKmK,UAAU5Q,IAAKC,EAAEwG,KACdA,GAAQA,EAAK/I,MACrB,EAAKkT,UAAUnK,EAAOzG,IAAKC,EAAEwG,EAAK/I,OAASsC,IAAKC,EAAE,kBAElD,EAAKyqC,YAAY1qC,IAAKC,EAAE,YAb5B,EAAK2Q,UAAU5Q,IAAKC,EAAE,+B,wCAqBlCuC,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,oBAAqBtM,KAAKlB,MAAM6oC,cAAgB,QAAU,QAC7G3nC,KAAKb,SAAS,CAACwoC,eAAgB3nC,KAAKlB,MAAM6oC,kB,mCAGhC,IAAD,OACFrkC,EAAWtD,KAAKxB,MAAhB8E,QACD+nC,EAAcrrC,KAAKlB,MAAM8K,UAAa,kBAAC,GAAD,CAAavI,IAAI,cAAc3C,QAAS,kBAAM,EAAKS,SAAS,CAACyK,UAAW,MAAM7F,KAAM/D,KAAKlB,MAAM8K,YAAgB,KAC3J,MAAO,CACH5J,KAAKlB,MAAMwX,QAAW,kBAAC,IAAD,CAAejV,IAAI,gBAAgB3C,QAAS,kBAAM,EAAKS,SAAS,CAACmX,QAAS,MAAMvS,KAAM/D,KAAKlB,MAAMwX,UAAc,KACrI+0B,EACArrC,KAAKlB,MAAM8oC,WAAc,kBAAC,GAAD,CAAkBvmC,IAAI,mBAAmB3C,QAAS,SAAAyI,GAAI,OAAI,EAAKyK,SAASzK,MAAa,KAC9GnH,KAAKlB,MAAMuiC,QAAW,kBAAC,IAAD,CAClBhgC,IAAI,gBACJ3C,QAAS,SAAA2I,GACL,EAAKvI,MAAMuiC,SAAW,EAAKliC,SAAS,CAACkiC,QAAS,KAC9C,EAAKD,iBAAmB,EAAKA,gBAAgB/5B,GAC7C,EAAK+5B,gBAAkB,MAE3Br9B,KAAM/D,KAAKlB,MAAMuiC,UAAc,KAClC,yBAAKh+B,UAAWC,EAAQgoC,QAAU,uBAAwBjqC,IAAI,QAC3D,yBAAKA,IAAI,YAAYgC,UAAWC,EAAQioC,oBAAqBhpC,QAAS,WAClEW,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,iBAAkB,EAAKxN,MAAM+K,WAAa,QAAU,QACvG,EAAK1K,SAAS,CAAC0K,YAAa,EAAK/K,MAAM+K,WAAY65B,UAAU,IAC7DniC,YAAW,kBAAM,EAAKpC,SAAS,CAACukC,UAAU,MAAS,OAElD1jC,KAAKlB,MAAM+K,WAAc,kBAAC,cAAD,MAAuB,kBAAC,SAAD,OAErD,kBAAC,IAAD,CACIxI,IAAI,iBACJyiC,UAAW9jC,KAAKlB,MAAM6oC,cACtB6D,eAAgB,IAChBC,qBAAsBzrC,KAAK8nC,QAE3B7zB,YAAa,kBAAM,EAAK9U,SAAS,CAACukC,UAAU,KAC5CgI,0BAA2B,SAAAznC,GAAI,OAAI,EAAK6jC,QAAUC,WAAW9jC,IAC7DiQ,UAAW,WACP,EAAK/U,SAAS,CAACukC,UAAU,IACzBxgC,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,cAAe,EAAKw7B,QAAQjxB,cAGnF,kBAAC,GAAD,CACIxV,IAAI,SACJ49B,SAAUj/B,KAAKlB,MAAM4kC,SACrBp4B,WAAYtL,KAAKooC,OAEjBvF,SAAU,SAAA6E,GAAY,OAAI,EAAKvoC,SAAS,CAACuoC,kBACzCt9B,iBAAkBpK,KAAKlB,MAAMsL,iBAC7BP,WAAY7J,KAAKlB,MAAM+K,WACvBI,WAAYjK,KAAKlB,MAAMmL,WACvB9D,MAAOnG,KAAKlB,MAAM+oC,UAClBrmC,SAAU,SAACzC,EAAIiI,GAAL,OAAgB,EAAK2kC,eAAe5sC,EAAIiI,IAClD+4B,iBAAkB,SAAChhC,EAAIkX,GACnB,IAAMhK,EAAW,GACbJ,GAAU,EACV9M,IAAO,EAAKD,MAAMb,WAClB4N,GAAU,EACVI,EAAShO,SAAWc,GAEpB+J,KAAK8C,UAAUqK,KAAanN,KAAK8C,UAAU,EAAK9M,MAAMmX,WACtDpK,GAAU,EACVI,EAASgK,QAAUnN,KAAKC,MAAMD,KAAK8C,UAAUqK,KAEjDpK,GAAW,EAAK1M,SAAS8M,IAE7B00B,UAAW,SAAA5hC,GAAE,OAAI,EAAKqpC,OAAOwD,aAAa7sC,EAAI,CAACiI,OAAQ,CAACY,SAAS,MACjE3J,SAAU+B,KAAKlB,MAAMb,UAAY+B,KAAKmM,QAAQnM,KAAKlB,MAAMb,WAAwD,WAA3C+B,KAAKmM,QAAQnM,KAAKlB,MAAMb,UAAUX,KAAoB0C,KAAKlB,MAAMb,SAAW,GAClJkO,QAASnM,KAAKmM,UAElB,kBAAC,GAAD,CAAK9K,IAAI,MAAMwX,gBAAiB7Y,KAAKlB,MAAM6oC,cAAehvB,eAAgB,kBAAM,EAAKkzB,mBAAmB51B,QAASjW,KAAKlB,MAAMmX,QAAS3K,WAAYtL,KAAKooC,OAAQnqC,SAAU+B,KAAKlB,MAAMb,gB,+BAMzL,IAAD,OACEqF,EAAWtD,KAAKxB,MAAhB8E,QAEP,OAAKtD,KAAKlB,MAAMwoC,MAMR,yBAAKjkC,UAAWC,EAAQ/F,MACpB,kBAAC,IAAD,CACI8D,IAAI,eACJyiC,UAAU,EACV0H,eAAgB,IAChBM,aAAc,EACdC,iBAAkB,IAClBN,qBAAsBzrC,KAAKgoC,SAC3BgE,gBAAiB1oC,EAAQ2oC,aAAe,KAAQjsC,KAAKlB,MAAM+K,WAA0C,GAA7BvG,EAAQ4oC,oBAChFj4B,YAAa,kBAAM,EAAK9U,SAAS,CAACukC,UAAU,KAC5CgI,0BAA2B,SAAAznC,GAAI,OAAI,EAAK+jC,SAAWD,WAAW9jC,IAC9DiQ,UAAW,WACP,EAAK/U,SAAS,CAACukC,UAAU,IACzBxgC,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,eAAgB,EAAK07B,SAASnxB,cAGrF,yBAAKxT,UAAWC,EAAQkxB,QAASnzB,IAAI,QACjC,kBAAC8qC,GAAD,CACI9qC,IAAI,WACJ6H,QAASlJ,KAAKkJ,QACdiD,QAASnM,KAAKmM,QACd9B,YAAarK,KAAKlB,MAAMuL,YACxB9K,UAAWS,KAAKlB,MAAMS,UACtB+I,OAAQtI,KAAKlB,MAAMyoC,cACnB3oC,SAAUoB,KAAKpB,SAASkM,KAAK9K,MAC7B2qC,SAAU3qC,KAAK2qC,SAAS7/B,KAAK9K,MAC7BsL,WAAYtL,KAAKooC,OACjBpzB,SAAUhV,KAAKlB,MAAM4oC,aACrBx6B,OAAQlN,KAAKkN,OAAOpC,KAAK9K,MACzBgK,WAAYhK,KAAKlB,MAAMkL,WACvB7D,MAAOnG,KAAKlB,MAAM+oC,UAClBh2B,cAAe,SAAA1L,GACXjD,OAAO0F,cAAgB1F,OAAO0F,aAAa0D,QAAQ,YAAanG,GAChE,EAAKhH,SAAS,CAAC0oC,UAAW1hC,IAAQ,kBAAM,EAAK3H,MAAMqT,cAAc1L,OAErEiE,iBAAkBpK,KAAKlB,MAAMsL,iBAC7BsH,mBAAoB1R,KAAK0R,mBAAmB5G,KAAK9K,MACjD2C,SAAU3C,KAAK2C,SAASmI,KAAK9K,MAC7B8R,SAAW9R,KAAK8R,SAAShH,KAAK9K,MAC9BiN,gBAAiBjN,KAAKiN,gBAAgBnC,KAAK9K,MAC3C2R,SAAU3R,KAAK2R,SAAS7G,KAAK9K,MAC7BtC,MAAOsC,KAAKgoC,SACZp2B,SAAU,kBAAM,EAAKzS,SAAS,CAACyoC,YAAY,KAC3Cr1B,SAAU,SAAAtI,GAAU,OAAI,EAAK9K,SAAS,CAAC8K,mBAG9CjK,KAAKosC,eAlDV,kBAAC,IAAD,CAAQjmC,MAAOnG,KAAKlB,MAAM+oC,gB,GAhf5BplC,aAyiBHgC,gBA7mBA,SAAA0B,GAAK,MAAK,CACrB5I,KAAM+Q,GAAM/Q,KACZ8uC,QAAS,CACLx+B,SAAU,UAEdo+B,aAAc,CACV,QAAS,CACLp+B,SAAU,SACVnQ,MAAO,OACPC,OAAQ,QAEZ,qBAAsB,CACnBO,WAA2B,SAAfoQ,GAAMhR,KAAkB,UAAY,UAGvDk3B,QAAS,CACL92B,MAAO,OACPC,OAAQ,OACRkQ,SAAU,UAUdy9B,QAAS,CACL5tC,MAAO,OACPC,OAAQ,OACRiY,gBAAiBzP,EAAM+O,QAAQhX,WAAWouC,QAC1Cr3B,SAAU,YAEds3B,oBAAqB,CACjB7uC,MAAM,eAAD,OAAiB4Q,GAAM1Q,KAAKF,MAA5B,OACLC,OAAQ,QAEZuuC,mBAAoB,CAChB,oBAAqB,CACjBzuC,QAAS,QAEb,qBAAsB,CAClBA,QAAS,SAGjB4pC,SAAU,CACN1lC,OAAQ,KAEZ4pC,oBAAqB,CACjBt2B,SAAU,WACVuE,KAAM,EACN9D,aAAc,cACdH,IAAK,EACLwiB,WAAY,EACZrpB,OAAQ,UACR8R,OAAQ,EACR7iB,OAAQ,GACRD,MAAO,GACPQ,WAAYoQ,GAAMxQ,OAAOE,UACzBG,MAAOmQ,GAAMxQ,OAAOC,QACpBkb,YAAa,EACb,UAAW,CACP9a,MAAO,aA8iBJsG,CAAmBwiC,ICxnBduF,QACW,cAA7BtpC,OAAO2nB,SAAS4hB,UAEe,UAA7BvpC,OAAO2nB,SAAS4hB,UAEhBvpC,OAAO2nB,SAAS4hB,SAASvhC,MACvB,2D,cCNF/E,GAAQjD,OAAO0F,cAAe1F,OAAO0F,aAAaC,QAAQ,cAA0B,QAExFjD,QAAQC,IAAI,uBAAyB6mC,MAgBR,mBAAzBxpC,OAAO2nB,SAASigB,MAChB6B,IAAY,CACRC,IAAK,kEACLC,QAAS,uBAAyBH,KAClCI,aAAc,CACV,IAAIC,OAnBhB,SAASC,IAIL,MAHmB,qBAARC,KACPrnC,QAAQC,IAAI,sBAETqnC,IAASC,OAAO,kBAAC,IAAD,CAAkBhnC,MAAOinC,IAAYjnC,KACxD,kBAAC,GAAD,CAAK0L,cAAe,SAAAw7B,GAChBlnC,GAAQknC,EACRL,QAEah1B,SAAS4I,eAAe,SAejDosB,GDqFM,kBAAmBM,WACrBA,UAAUC,cAAcjG,MAAM/1B,MAAK,SAAAi8B,GACjCA,EAAaC,iB,iBE/HnBrwC,EAAOC,QAAU,+yF","file":"static/js/main.05429a24.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","export default {\n type: 'dark',\n root: {\n flexGrow: 1,\n display: 'flex',\n width: '100%',\n height: '100%'\n },\n menu: {\n width: 300,\n depthOffset: 20\n },\n colors: {\n primary: '#3399CC',\n secondary: '#164477',\n selected: {\n background: '#164477',\n color: 'white'\n },\n error: {\n background: '#dc0300',\n color: '#FFFFFF'\n }\n },\n toolbar: {\n height: 48\n },\n tabs: {\n height: 48\n }\n};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport TextField from '@material-ui/core/TextField';\nimport FormControl from '@material-ui/core/FormControl';\nimport Select from '@material-ui/core/Select';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport MenuItem from '@material-ui/core/MenuItem';\n\nimport I18n from '@iobroker/adapter-react/i18n';\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 (\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}\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 '@material-ui/core/Button';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport {MdDelete as IconDelete} from 'react-icons/md';\n\nimport I18n from '@iobroker/adapter-react/i18n';\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 (\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}\n\nDialogDelete.propTypes = {\n onClose: PropTypes.func,\n onDelete: PropTypes.func,\n name: PropTypes.string,\n id: PropTypes.string,\n};\n\nexport default DialogDelete;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport CardActions from '@material-ui/core/CardActions';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardMedia from '@material-ui/core/CardMedia';\n\nimport ImgJS from '../assets/tileJS.png';\nimport ImgTS from '../assets/tileTS.png';\nimport ImgBlockly from '../assets/tileBlockly.png';\n\nimport I18n from '@iobroker/adapter-react/i18n';\n\nconst styles = {\n card: {\n maxWidth: 345,\n display: 'inline-block',\n margin: '0 10px 0 10px'\n },\n media: {\n height: 100,\n },\n text: {\n maxWidth: 200,\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 (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('JS description')}
\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('TS description')}
\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('Blockly description')}
\n
\n
\n \n \n \n \n
);\n }\n render() {\n return (\n \n {I18n.t('Add new script')}\n \n {this.getJSCard()}\n {this.getBlocklyCard()}\n {this.getTSCard()}\n \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 Button from '@material-ui/core/Button';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport TextField from '@material-ui/core/TextField';\nimport FormControl from '@material-ui/core/FormControl';\nimport Select from '@material-ui/core/Select';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport MenuItem from '@material-ui/core/MenuItem';\n\nimport I18n from '@iobroker/adapter-react/i18n';\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, '_');\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 (\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}\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 DialogNew;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {withStyles} from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\n\nimport I18n from '@iobroker/adapter-react/i18n';\nimport Themes from '../Theme';\n\nconst styles = theme => ({\n titleBackground: {\n background: Themes.colors.error.background\n },\n titleColor: {\n color: Themes.colors.error.color,\n '&>h2': {\n color: Themes.colors.error.color,\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 (\n 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}\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 '@material-ui/core/styles';\nimport Drawer from '@material-ui/core/Drawer';\nimport Divider from '@material-ui/core/Divider';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport IconButton from '@material-ui/core/IconButton';\nimport {DragDropContext, Droppable, Draggable} from 'react-beautiful-dnd';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Input from '@material-ui/core/Input';\nimport RootRef from '@material-ui/core/RootRef';\n\nimport red from '@material-ui/core/colors/red';\nimport green from '@material-ui/core/colors/green';\nimport yellow from '@material-ui/core/colors/yellow';\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 {MdDragHandle as IconGrip} from 'react-icons/md';\nimport {MdExpandMore as IconCollapse} from 'react-icons/md';\nimport {MdKeyboardArrowRight as IconExpand} 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';\n\nimport ImgJS from './assets/js.png';\nimport ImgBlockly from './assets/blockly.png';\nimport ImgTypeScript from './assets/typescript.png';\n\nimport Theme from './Theme';\nimport I18n from '@iobroker/adapter-react/i18n';\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';\n\nconst MENU_ITEM_HEIGHT = 48;\nconst COLOR_RUN = green[400];\nconst COLOR_PROBLEM = yellow[400];\nconst COLOR_PAUSE = red[400];\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.type === 'dark'? 'white !important' : 'black !important'\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 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 },\n gripHandle: {\n paddingRight: 13\n },\n noGripHandle: {\n width: 29\n },\n folder: {\n background: theme.palette.type === 'dark' ? '#6a6a6a' : '#e2e2e2',\n cursor: 'pointer',\n padding: 0,\n userSelect: 'none'\n },\n element: {\n cursor: 'pointer',\n padding: 0,\n userSelect: 'none'\n },\n reorder: {\n padding: '9px 16px 9px 9px',\n },\n expandButton: {\n width: 37,\n height: 37\n },\n selected: Theme.colors.selected,\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.type === '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\nconst images = {\n 'Blockly': ImgBlockly,\n 'Javascript/js': ImgJS,\n def: ImgJS,\n 'TypeScript/ts': ImgTypeScript,\n};\n\nconst getItemStyle = (isDragging, draggableStyle) => ({\n userSelect: 'none',\n background: isDragging ? 'lightgreen' : 'inherit',\n ...draggableStyle,\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;\n } else {\n return obj.common.name;\n }\n } else {\n return id.replace(/^script\\.js./, '');\n }\n};\n\nconst prepareList = data => {\n const result = [];\n const ids = Object.keys(data);\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 - 2,\n type: obj.type === 'script' ? obj.common.engineType : 'folder',\n parent: parts.length > 2 ? 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) return 0;\n return a.id > b.id ? 1 : -1;\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) return 0;\n return a.id > b.id ? 1 : -1;\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) return 0;\n return a.id > b.id ? 1 : -1;\n }\n }\n });\n\n // Fill all index\n result.forEach((item, i) => item.index = i);\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.replace(/^script\\.js./, ''),\n depth: parts.length - 2,\n type: 'folder',\n parent: parts.length > 2 ? parts.join('.') : null\n });\n modified = true;\n }\n }\n });\n } while (modified);\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\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 theme: this.props.theme,\n dragDepth: 0,\n draggedId: null,\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 };\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\\./)\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('script.js.'.length);\n\n this.props.connection.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.connection.subscribeState('javascript.' + instance + '.scriptProblem.*', this.onProblemUpdatedBound);\n });\n });\n }\n\n componentWillUnmount() {\n this.props.instances.forEach(instance => {\n this.props.connection.unsubscribeState('javascript.' + instance + '.scriptProblem.*', this.onProblemUpdatedBound);\n });\n }\n\n onProblemUpdated(id, state) {\n if (!state || !id) return;\n id = 'script.js.' + 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.indexOf(text) !== -1;\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().indexOf(text) !== -1;\n } else {\n found = objects[item.id].common.source.toLowerCase().indexOf(text) !== -1;\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.objects\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.objects);\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.theme !== props.theme) {\n changed = true;\n newState.theme = props.theme;\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(err) {\n this.setState({errorText: err});\n }\n\n onExpand(id, e) {\n e && e.stopPropagation();\n if (this.state.expanded.indexOf(id) === -1) {\n const expanded = this.state.expanded.concat([id]);\n this.setState({expanded});\n this.saveExpanded(expanded);\n }\n }\n\n onCollapse(id, e) {\n e && e.stopPropagation();\n const pos = this.state.expanded.indexOf(id);\n if (pos !== -1) {\n const expanded = this.state.expanded.concat([]);\n expanded.splice(pos, 1);\n if (this.state.selected && this.state.selected.startsWith(id + '.')) {\n this.setState({expanded, selected: id});\n window.localStorage && window.localStorage.setItem('SideMenu.selected', id);\n } else {\n this.setState({expanded});\n }\n this.saveExpanded(expanded);\n }\n }\n\n onDragEnd(result) {\n // dropped outside the list\n if (!result.destination) {\n return;\n }\n let item = result.destination.index > result.source.index ? this.state.listItems[result.destination.index] : this.state.listItems[result.destination.index - 1];\n while (item && (item.type !== 'folder' && item.parent)) {\n item = this.state.listItems[item.parentIndex];\n }\n let parent = item ? item.id : 'script.js';\n let newId = parent + '.' + result.draggableId.split('.').pop();\n if (this.props.scripts[newId]) {\n newId += '_' + I18n.t('copy');\n }\n this.props.onRename && this.props.onRename(result.draggableId, newId);\n }\n\n onDragStart(event) {\n // fill the drag depth\n this.setState({\n dragDepth: this.state.listItems.find(i => i.id === event.draggableId).depth,\n draggedId: event.draggableId\n });\n }\n\n onDragUpdate = (update, provided) => {\n if (!update.destination) return;\n let item = this.state.listItems[update.destination.index - 1];\n while (item && (item.type !== 'folder' || item.parent)) {\n item = this.state.listItems[item.parentIndex];\n }\n if (item) {\n this.setState({dragDepth: item.depth + 1});\n console.log(`depth ${item.depth + 1}`);\n } else {\n console.log(`depth 0`);\n this.setState({dragDepth: 0});\n }\n };\n\n renderItemButtons(item, children) {\n if (this.state.reorder) return null;\n if (item.type !== 'folder') {\n let color = item.enabled ? COLOR_RUN : COLOR_PAUSE;\n if (item.enabled && this.state.problems.indexOf(item.id) !== -1) {\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 key=\"startStop\"\n style={{color}}>\n {item.enabled ? () : ()}\n ),\n this.state.width > 350 ? ( this.onDelete(item, e)}>) : null,\n ( this.onEdit(item, e)}>),\n ];\n } else if (this.state.width > 350) {\n if (item.id !== 'script.js' && item.id !== 'script.js.common' && item.id !== 'script.js.global' && (!children || !children.length)) {\n return ( this.onDelete(item, e)}>);\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 renderFolderButtons(item, children, isExpanded) {\n if (this.state.reorder) {\n if (item.type !== 'folder') {\n return ();\n } else {\n return (
);\n }\n }\n if (children && children.length) {\n return (\n this.onCollapse(item.id, e) : e => this.onExpand(item.id, e)}>\n {isExpanded ? () : ()}\n \n );\n } else {\n return (
);\n }\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 > 350 ? 245 : 197}px)`,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flex: 'none',\n padding: '0 16px 0 0'\n };\n } else {\n return {\n whiteSpace: 'nowrap',\n padding: '0 16px 0 0'\n };\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) return;\n if (item.type === 'folder') {\n const isExpanded = this.state.expanded.indexOf(item.id) !== -1;\n if (isExpanded) {\n this.onCollapse(item.id);\n } else {\n this.onExpand(item.id);\n }\n } else {\n this.onEdit(item);\n }\n }\n\n isFilteredOut(item) {\n if (item.filtered && !item.filteredPartly) return true;\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 === 'script.js.global' && !this.state.expertMode);\n }\n\n renderOneItem(items, item) {\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\n const depthPx = this.state.reorder ?\n 8 + (this.state.draggedId === item.id ? this.state.dragDepth : item.depth) * Theme.menu.depthOffset :\n item.depth * Theme.menu.depthOffset;\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 = [([{item.instance}] ), (\n {title})];\n }\n\n const style = Object.assign({\n marginLeft: depthPx,\n cursor: item.type === 'folder' && this.state.reorder ? 'default' : 'inherit',\n opacity: item.filteredPartly ? 0.5 : 1,\n width: `calc(100% - ${depthPx}px)`\n }, item.id === this.state.selected && !this.state.reorder ? Theme.colors.selected : {});\n\n if (item.id === 'script.js.global' && item.id !== this.state.selected) {\n style.color = '#00a200';\n }\n\n let isExpanded = false;\n if (children && children.length) {\n isExpanded = this.state.expanded.indexOf(item.id) !== -1;\n }\n\n let iconStyle = {};\n if (item.id === 'script.js.global') {\n iconStyle.color = '#356956';\n } else if (item.id === 'script.js.common') {\n iconStyle.color = '#4899e1';\n }\n\n const inner =\n ( this.onClick(item, e)}\n onDoubleClick={e => this.onDblClick(item, e)}\n >\n {this.renderFolderButtons(item, children, isExpanded)}\n {item.type === 'folder' ? (isExpanded ? () : ()) : (\n {item.type})}\n {title}{(childrenFiltered && childrenFiltered.length) || children.length ? ({childrenFiltered && childrenFiltered.length !== children.length ? `${childrenFiltered.length}(${children.length})` : children.length}) : null})}/>\n {this.renderItemButtons(item, children)}\n );\n\n const result = [this.state.reorder ? (\n \n {(provided, snapshot) => (\n
\n {inner}\n
\n )}\n
) : inner];\n\n if (children && (this.state.reorder || this.state.expanded.indexOf(item.id) !== -1)) {\n children.forEach(it => result.push(this.renderOneItem(items, it)));\n }\n return result;\n }\n\n renderAllItems(items, dragging) {\n const result = [];\n items.forEach(item => !item.parent && result.push(this.renderOneItem(items, item, dragging)));\n\n return ({result});\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 = 'script.js';\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 = 'script.js';\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 = 'script.js';\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.objects[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 <= 350 ? ( {\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 }}>{I18n.t('Expert mode')}\n \n {this.props.onExport && ( {\n event.stopPropagation();\n event.preventDefault();\n this.onCloseMenu(() => this.props.onExport());\n }}>{I18n.t('Export all scripts')}\n )}\n {this.props.onImport && ( {\n event.stopPropagation();\n event.preventDefault();\n this.onCloseMenu(() => this.props.onImport());\n }}>{I18n.t('Import scripts')}\n )}\n {this.props.onThemeChange && ( {\n //event.stopPropagation();\n //event.preventDefault();\n this.onCloseMenu(() =>\n this.props.onThemeChange(this.state.theme === 'dark' ? 'light' : 'dark'));\n }}>{this.state.theme === 'dark' ? I18n.t('Light style') : I18n.t('Dark style')}\n )}\n {this.props.onAddNew && ( {\n const selected = this.state.selected;\n this.onCloseMenu(() => this.onCopy(event, selected))\n }}>\n {I18n.t('Copy script')}\n )}\n );\n }\n\n // render menu and toolbar\n getToolbarButtons() {\n const result = [];\n const classes = this.props.classes;\n if (this.state.searchMode) {\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 result.push(( {\n e.stopPropagation();\n this.filterList(false, () => this.props.onSearch && this.props.onSearch(this.state.searchText));\n }}\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 >));\n } else {\n if (!this.state.reorder) {\n // Open Menu\n result.push((\n {\n event.stopPropagation();\n event.preventDefault();\n this.setState({menuOpened: true, menuAnchorEl: event.currentTarget});\n }}\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 <= 350 && 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 >));\n\n // New Folder\n result.push(( this.onAddNewFolder()}\n >));\n }\n\n // Search\n result.push(( {\n e.stopPropagation();\n this.setState({searchMode: true});\n }}\n >));\n\n // Reorder button\n result.push(( {\n e.stopPropagation();\n this.setState({reorder: !this.state.reorder, draggedId: ''});\n }}\n >));\n\n if (!this.state.reorder && this.state.selected && this.state.selected !== 'script.js.global' && this.state.selected !== 'script.js.common') {\n // Rename\n result.push(( this.onRename(e)}\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\n }\n return result;\n }\n\n getFolders() {\n const folders = [{id: 'script.js', name: I18n.t('Root folder')}];\n this.state.listItems.forEach(item => item.type === 'folder' && folders.push({id: item.id, name: item.title}));\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 if (this.state.listItems.find(it => it.parent === item.id)) {\n expanded.push(item.id);\n }\n });\n this.setState({expanded});\n this.saveExpanded(expanded);\n }\n\n getBottomButtons() {\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 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 ( this.onExpandAll()}/>),\n this.state.expanded.length ? ( this.onCollapseAll()}/>) : null,\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.objects[this.state.copingScript];\n\n return [(\n this.onClick({id: ''})}\n >\n
\n {this.getToolbarButtons()}\n
\n \n this.onDragStart(e)}\n onDragEnd={e => this.onDragEnd(e)}\n onDragUpdate={e => this.onDragUpdate(e)}\n >\n \n {(provided, snapshot) => (\n
\n {this.renderAllItems(this.state.listItems)}\n
\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 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 this.state.choosingType ? ( {\n this.setState({choosingType: false});\n type && this.setState({creatingScript: type})\n }}\n />) : null,\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 }}\n />) : null,\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.objects[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 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) => {\n this.props.onAddNew && this.props.onAddNew(id, name, true);\n }}\n />) : null,\n this.state.errorText ? ( this.setState({errorText: ''})} text={this.state.errorText}/>) : null\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 connection: PropTypes.object,\n theme: 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 objects: PropTypes.object,\n onSearch: PropTypes.func,\n onThemeChange: PropTypes.func,\n width: PropTypes.number\n};\n\nexport default withStyles(styles)(SideDrawer);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\n\nimport IconButton from '@material-ui/core/IconButton';\nimport {MdDeleteForever as IconDelete} from 'react-icons/md';\nimport {MdVerticalAlignBottom as IconBottom} from 'react-icons/md';\nimport {MdContentCopy as IconCopy} from 'react-icons/md';\n\nimport I18n from '@iobroker/adapter-react/i18n';\nimport {withStyles} from '@material-ui/core/styles/index';\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) i = '0' + i.toString();\n text = i + ':';\n\n i = d.getMinutes();\n if (i < 10) i = '0' + i.toString();\n text += i + ':';\n i = d.getSeconds();\n if (i < 10) i = '0' + i.toString();\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 color: theme.palette.type === 'dark' ? 'white' : 'black',\n width: `calc(100% - ${TOOLBOX_WIDTH}px)`,\n height: '100%',\n marginLeft: TOOLBOX_WIDTH,\n overflow: 'auto',\n position: 'relative'\n },\n info: {\n background: theme.palette.type === 'dark' ? 'darkgrey' : 'lightgrey',\n color: theme.palette.type === 'dark' ? 'black' : 'black'\n },\n error: {\n background: '#FF0000',\n color: theme.palette.type === 'dark' ? 'black' : 'white'\n },\n warn: {\n background: '#FF8000',\n color: theme.palette.type === 'dark' ? 'black' : 'white'\n },\n debug: {\n background: 'gray',\n opacity: 0.8,\n color: theme.palette.type === 'dark' ? 'black' : 'white'\n },\n silly: {\n background: 'gray',\n opacity: 0.6,\n color: theme.palette.type === 'dark' ? 'black' : 'white'\n },\n table: {\n fontFamily: 'monospace',\n width: '100%',\n\n },\n toolbox: {\n position: 'absolute',\n top: 0,\n left: 0,\n marginLeft: 2,\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 },\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.type === 'dark' ? '#9d9d9d' : undefined,\n borderRadius: theme.palette.type === 'dark' ? 30 : undefined,\n },\n});\n\nfunction copyToClipboard(str) {\n const el = window.document.createElement('textarea');\n el.value = str;\n window.document.body.appendChild(el);\n el.select();\n window.document.execCommand('copy');\n window.document.body.removeChild(el);\n}\n\nfunction paddingMs(ms) {\n if (ms < 10) return '00' + ms;\n if (ms < 100) return '0' + ms;\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 this.logHandlerBound = this.logHandler.bind(this);\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 logHandler(message) {\n let allLines = this.state.lines;\n const selected = this.state.editing.find(id => message.message.indexOf(id) !== -1);\n if (!selected) return;\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.connection.registerLogHandler(this.logHandlerBound);\n }\n\n componentWillUnmount() {\n this.props.connection.unregisterLogHandler(this.logHandlerBound);\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 let allLines = state.lines;\n\n for (const id in gText) {\n if (gText.hasOwnProperty(id)) {\n if (editing.indexOf(id) === -1) {\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 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 render() {\n const lines = this.state.selected && this.state.lines[this.state.selected];\n return (\n
\n
\n this.setState({goBottom: !this.state.goBottom})} color={this.state.goBottom ? 'secondary' : ''}>\n {lines && lines.length ? ( this.clearLog()}>) : null}\n {lines && lines.length ? ( this.onCopy()}>) : null}\n {this.props.onLayoutChange ? ( this.props.onLayoutChange()} title={I18n.t('Change layout')}>\"split\") : null}\n
\n {this.state.selected && lines && lines.length ?\n (
\n {lines}
\n
\n
) :\n (
{I18n.t('Log outputs')}
)\n }\n
\n );\n }\n}\n\nLog.propTypes = {\n selected: PropTypes.string,\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';\nimport Fab from '@material-ui/core/Fab';\n\nimport {MdGTranslate as IconNoCheck} from 'react-icons/md';\nimport I18n from '@iobroker/adapter-react/i18n';\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 };\n this.monacoDiv = null; //ref\n this.editor = null;\n this.monaco = window.monaco;\n this.insert = '';\n this.originalCode = props.code || '';\n this.globalTypingHandles = [];\n this.typings = {}; // TypeScript declarations\n this.lastSearch = '';\n }\n\n waitForMonaco(cb) {\n if (!this.monaco) {\n this.monaco = window.monaco;\n this.monacoCounter = this.monacoCounter || 0;\n this.monacoCounter++;\n if (!this.monaco && this.monacoCounter < 20) {\n console.log('wait for monaco loaded');\n return setTimeout(() => this.waitForMonaco(cb), 200);\n } else if (this.monacoCounter >= 20) {\n console.error('Cannot load monaco!');\n }\n } else {\n cb && cb();\n }\n }\n\n componentDidMount() {\n if (!this.monaco) {\n this.monaco = window.monaco;\n if (!this.monaco) {\n console.log('wait for monaco loaded');\n return this.waitForMonaco(() => this.componentDidMount());\n }\n }\n if (!this.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.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 });\n\n this.editor.onDidChangeModelContent(e =>\n this.onChange(this.editor.getValue()));\n\n // Load typings for the JS editor\n /** @type {string} */\n let scriptAdapterInstance = this.props.connection.getScripts().instances[0];\n if (scriptAdapterInstance || scriptAdapterInstance === 0) {\n this.props.connection.sendTo('javascript.' + scriptAdapterInstance, 'loadTypings', null, result => {\n this.setState({alive: true, check: true});\n this.setTypeCheck(true);\n if (result.typings) {\n this.typings = result.typings;\n this.setEditorTypings();\n } else {\n console.error(`failed to load typings: ${result.error}`);\n }\n });\n }\n this.editor.addCommand(this.monaco.KeyMod.CtrlCmd | this.monaco.KeyCode.KEY_S, () =>\n this.onForceSave());\n\n setTimeout(() => this.highlightText(this.state.searchText));\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 this.setEditorOptions(options);\n this.editor.focus();\n this.editor.setValue(this.originalCode);\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) return;\n if (options.language) this.setEditorLanguage(options.language);\n if (options.readOnly !== undefined) this.editor.updateOptions({readOnly: options.readOnly});\n if (options.lineWrap !== undefined) this.editor.updateOptions({wordWrap: options.lineWrap ? 'on' : 'off'});\n if (options.typeCheck !== undefined) this.setTypeCheck(options.typeCheck);\n if (options.isDark !== undefined) this.monaco.editor.setTheme(options.isDark ? 'vs-dark' : 'vs');\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\" | \"coffee\"} EditorLanguage */\n\n /**\n * Sets the language of the code editor\n * @param {monaco.editor.IStandaloneCodeEditor} editorInstance The editor instance to change the options for\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 const filenameWithoutExtension =\n typeof uri === 'string' && uri.indexOf('.') > -1\n ? uri.substr(0, uri.lastIndexOf('.'))\n : 'index';\n const extension =\n language === 'javascript' ? 'js'\n : language === 'typescript' ? 'ts'\n : language === 'coffee' ? 'coffee'\n : language;\n // get rid of the original model\n model.dispose();\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, newLanguage, this.monaco.Uri.from({path: `${filenameWithoutExtension}${index++}.${extension}`})\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 * Adds the given declaration file to the editor\n * @param {string} path The file path of the typings to add\n * @param {string} typings The declaration file to add\n * @param {boolean} [isGlobal=false] Whethere the file is a global declaration file\n * @returns {void}\n */\n addTypingsToEditor(path, typings, isGlobal) {\n try {\n const handle = this.monaco.languages.typescript.typescriptDefaults.addExtraLib(typings, path);\n if (isGlobal) this.globalTypingHandles.push(handle);\n } catch (e) { /* might be added already */}\n }\n\n setEditorTypings() {\n // clear previously added global typings\n for (const handle of this.globalTypingHandles) {\n handle && handle.dispose();\n }\n\n const isGlobalScript = isIdOfGlobalScript(this.state.name);\n // The filename of the declarations this script can see if it is a global script\n const partialDeclarationsPath = this.state.name + '.d.ts';\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') continue;\n if (path.startsWith('script.js.global') && path !== partialDeclarationsPath) continue;\n }\n this.addTypingsToEditor(path, this.typings[path], isGlobalScript);\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, selection.startColumn,\n selection.endLineNumber, selection.endColumn\n );\n this.editor.executeEdits('', [{range: range, text: text, forceMoveMarkers: true}]);\n this.editor.focus();\n }\n\n highlightText(text) {\n let 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 {\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 UNSAFE_componentWillReceiveProps(nextProps) {\n const options = {};\n if (this.state.name !== nextProps.name) {\n this.setState({name: nextProps.name});\n this.originalCode = nextProps.code || '';\n this.editor && this.editor.setValue(nextProps.code);\n this.highlightText(this.lastSearch);\n }\n\n // if the code not yet changed, update the new code\n if (!nextProps.changed && nextProps.code !== this.originalCode) {\n this.originalCode = nextProps.code;\n this.editor.setValue(this.originalCode);\n }\n\n if (nextProps.searchText !== this.lastSearch) {\n this.lastSearch = nextProps.searchText;\n this.highlightText(this.lastSearch);\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 (nextProps.insert) {\n this.insertTextIntoEditor(nextProps.insert);\n setTimeout(() => this.props.onInserted && this.props.onInserted(), 100);\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) {\n setTimeout(() => {\n this.monaco = window.monaco;\n this.forceUpdate()\n }, 200);\n return null;\n }\n\n return (\n
this.monacoDiv = el} style={{width: '100%', height: '100%', overflow: 'hidden', position: 'relative'}}>\n {!this.state.check && ()}\n
\n );\n }\n}\n\nScriptEditor.propTypes = {\n connection: 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\nexport default ScriptEditor;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {withStyles} from '@material-ui/core/styles';\n\nimport I18n from '@iobroker/adapter-react/i18n';\nimport DialogMessage from '@iobroker/adapter-react/Dialogs/Message';\nimport DialogError from '../Dialogs/Error';\nimport DialogExport from '../Dialogs/Export';\nimport DialogImport from '../Dialogs/Import';\n\nlet languageBlocklyLoaded = false;\nlet languageOwnLoaded = false;\nlet toolboxText = null;\nlet toolboxXml;\nlet scriptsLoaded = [];\nconst styles = theme => ({\n darkBackground: {\n stroke: '#3a3a3a !important',\n fill: '#515151 !important'\n }\n});\n\nclass BlocklyEditor extends React.Component {\n constructor(props) {\n super(props);\n\n this.blockly = null; //ref\n this.blocklyWorkspace = null;\n this.toolbox = null;\n this.Blockly = window.Blockly;\n\n this.state = {\n languageOwnLoaded,\n languageBlocklyLoaded,\n changed: false,\n message: '',\n error: '',\n theme: this.props.theme,\n exportText: '',\n importText: false,\n searchText: this.props.searchText || '',\n };\n this.originalCode = props.code || '';\n\n this.someSelected = null;\n this.changeTimer = null;\n\n this.onResizeBind = this.onResize.bind(this);\n\n this.lastCommand = '';\n this.lastSearch = this.props.searchText || '';\n this.blinkBlock = null;\n this.loadLanguages();\n }\n\n static loadJS(url, callback, location) {\n const scriptTag = document.createElement('script');\n try {\n scriptTag.src = url;\n\n scriptTag.onload = callback;\n scriptTag.onreadystatechange = callback;\n scriptTag.onerror = callback;\n\n (location || window.document.body).appendChild(scriptTag);\n } catch (e) {\n console.error('Cannot load ' + url + ': ' + e);\n callback && callback();\n }\n };\n\n static loadScripts(scripts, callback) {\n if (!scripts || !scripts.length) {\n return callback && callback();\n }\n const adapter = scripts.pop();\n if (scriptsLoaded.indexOf(adapter) === -1) {\n scriptsLoaded.push(adapter);\n BlocklyEditor.loadJS('../../adapter/' + adapter + '/blockly.js', (/*data, textStatus, jqxhr*/) =>\n setTimeout(() => BlocklyEditor.loadScripts(scripts, callback), 0));\n } else {\n setTimeout(() => BlocklyEditor.loadScripts(scripts, callback), 0);\n }\n }\n\n static loadCustomBlockly(objects, callback) {\n // get all adapters, that can have blockly\n const toLoad = [];\n for (const id in objects) {\n if (\n !objects.hasOwnProperty(id) ||\n !objects[id] ||\n !id.match(/^system\\.adapter\\./) ||\n objects[id].type !== 'adapter'\n ) {\n continue;\n }\n\n if (objects[id].common && objects[id].common.blockly) {\n console.log('Detected custom blockly: ' + objects[id].common.name);\n toLoad.push(objects[id].common.name);\n }\n }\n\n BlocklyEditor.loadScripts(toLoad, callback);\n }\n\n static loadXMLDoc(text) {\n let parseXml;\n if (window.DOMParser) {\n parseXml = function(xmlStr) {\n return ( new window.DOMParser() ).parseFromString(xmlStr, \"text/xml\");\n };\n } else if (typeof window.ActiveXObject != \"undefined\" && new window.ActiveXObject(\"Microsoft.XMLDOM\")) {\n parseXml = function(xmlStr) {\n var xmlDoc = new window.ActiveXObject(\"Microsoft.XMLDOM\");\n xmlDoc.async = \"false\";\n xmlDoc.loadXML(xmlStr);\n return xmlDoc;\n };\n } else {\n parseXml = function() { return null; }\n }\n return parseXml(text);\n }\n\n static searchXml(root, text, _id, _result) {\n _result = _result || [];\n if (root.tagName === 'BLOCK') {\n _id = root.id;\n }\n if (root.tagName === 'FIELD') {\n for (let a = 0; a < root.attributes.length; a++) {\n const val = (root.attributes[a].value || '').toLowerCase();\n if (root.attributes[a].nodeName === 'name' && (val === 'oid' || val === 'text')) {\n if (root.innerText.toLowerCase().indexOf(text) !== -1) {\n _result.push(_id);\n }\n }\n }\n }\n root.childNodes.forEach(node => BlocklyEditor.searchXml(node, text, _id, _result));\n return _result;\n }\n\n searchBlocks(text) {\n if (this.blocklyWorkspace) {\n const dom = this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);\n const ids = BlocklyEditor.searchXml(dom, text.toLowerCase());\n const allBlocks = this.blocklyWorkspace.getAllBlocks();\n const result = [];\n allBlocks.filter(b => ids.indexOf(b.id) !== -1).forEach(b => result.push(b));\n return result;\n }\n }\n\n searchId() {\n const blocks = this.lastSearch && this.searchBlocks(this.lastSearch);\n if (blocks && blocks.length) {\n this.someSelected = blocks;\n this.someSelected.forEach(b => b.addSelect());\n this.someSelectedTime = Date.now();\n } else if (this.someSelected) {\n // remove selection\n this.someSelected.forEach(b => b.removeSelect());\n this.someSelected = null;\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.command && this.lastCommand !== nextProps.command) {\n this.lastCommand = nextProps.command;\n setTimeout(() => this.lastCommand = '', 300);\n if (this.lastCommand === 'check') {\n this.blocklyCheckBlocks((err, badBlock) => {\n if (!err) {\n this.setState({message: I18n.t('Ok')});\n } else {\n badBlock && this.blocklyBlinkBlock(badBlock);\n this.setState({error: {text: I18n.t(err), title: I18n.t('Error was found')}});\n this.blinkBlock = badBlock;\n }\n });\n } else if (this.lastCommand === 'export') {\n this.exportBlocks();\n } else if (this.lastCommand === 'import') {\n this.importBlocks();\n }\n }\n\n if (nextProps.searchText !== this.lastSearch) {\n this.lastSearch = nextProps.searchText;\n this.searchId();\n }\n\n if (this.state.theme !== nextProps.theme) {\n this.setState({theme: nextProps.theme}, () => this.updateBackground());\n }\n\n if (this.originalCode !== nextProps.code) {\n this.originalCode = nextProps.code || '';\n this.loadCode();\n this.searchId();\n }\n }\n\n loadLanguages() {\n // load blockly language\n if (!languageBlocklyLoaded) {\n const fileLang = window.document.createElement('script');\n fileLang.setAttribute('type', 'text/javascript');\n fileLang.setAttribute('src', 'google-blockly/msg/js/' + I18n.getLanguage() + '.js');\n\n // most browsers\n fileLang.onload = () => {\n languageBlocklyLoaded = true;\n this.setState({languageBlocklyLoaded});\n };\n // IE 6 & 7\n fileLang.onreadystatechange = () => {\n if (this.readyState === 'complete') {\n languageBlocklyLoaded = true;\n this.setState({languageBlocklyLoaded});\n }\n };\n window.document.getElementsByTagName('head')[0].appendChild(fileLang);\n }\n if (!languageOwnLoaded) {\n const fileCustom = window.document.createElement('script');\n fileCustom.setAttribute('type', 'text/javascript');\n fileCustom.setAttribute('src', 'google-blockly/own/msg/' + I18n.getLanguage() + '.js');\n // most browsers\n fileCustom.onload = () => {\n languageOwnLoaded = true;\n this.setState({languageOwnLoaded});\n };\n // IE 6 & 7\n fileCustom.onreadystatechange = () => {\n if (this.readyState === 'complete') {\n languageOwnLoaded = true;\n this.setState({languageOwnLoaded});\n }\n };\n window.document.getElementsByTagName('head')[0].appendChild(fileCustom);\n }\n }\n\n onResize() {\n this.Blockly.svgResize(this.blocklyWorkspace);\n }\n\n jsCode2Blockly(text) {\n text = text || '';\n const lines = text.split(/[\\r\\n]+|\\r|\\n/g);\n let xml = '';\n for (let l = lines.length - 1; l >= 0; l--) {\n if (lines[l].substring(0, 2) === '//') {\n xml = lines[l].substring(2);\n break;\n }\n }\n if (xml.substring(0, 4) === ' block.select(), i);\n setTimeout(() => block.unselect(), i + 150);\n }\n }\n\n blocklyRemoveOrphanedShadows() {\n if (this.blocklyWorkspace) {\n let blocks = this.blocklyWorkspace.getAllBlocks();\n let block;\n for (let i = 0; (block = blocks[i]); i++) {\n if (block.isShadow()) {\n const connections = block.getConnections_(true);\n let conn;\n for (let j = 0; (conn = connections[j]); j++) {\n if (!conn.targetConnection) {\n // remove it\n block.dispose();\n break;\n }\n }\n }\n }\n }\n }\n\n blocklyCheckBlocks(cb) {\n let warningText;\n if (!this.blocklyWorkspace || this.blocklyWorkspace.getAllBlocks().length === 0) {\n cb && cb('no blocks found');\n return;\n }\n let badBlock = this.blocklyGetUnconnectedBlock();\n if (badBlock) {\n warningText = 'not properly connected';\n } else {\n badBlock = this.blocklyGetBlockWithWarning();\n if (badBlock) warningText = 'warning on this block';\n }\n\n if (badBlock) {\n if (cb) {\n cb(warningText, badBlock);\n } else {\n this.blocklyBlinkBlock(badBlock);\n }\n return false;\n }\n\n cb();\n\n return true;\n }\n\n // get unconnected block\n blocklyGetUnconnectedBlock () {\n const blocks = this.blocklyWorkspace.getAllBlocks();\n let block;\n for (let i = 0; (block = blocks[i]); i++) {\n const connections = block.getConnections_(true);\n let conn;\n for (let j = 0; (conn = connections[j]); j++) {\n if (!conn.sourceBlock_ || ((conn.type === this.Blockly.INPUT_VALUE || conn.type === this.Blockly.OUTPUT_VALUE) && !conn.targetConnection && !conn._optional)) {\n return block;\n }\n }\n }\n return null;\n }\n\n // get block with warning\n blocklyGetBlockWithWarning() {\n const blocks = this.blocklyWorkspace.getAllBlocks();\n let block;\n for (let i = 0; (block = blocks[i]); i++) {\n if (block.warning) {\n return block;\n }\n }\n return null;\n }\n\n blocklyCode2JSCode(oneWay) {\n let code = this.Blockly.JavaScript.workspaceToCode(this.blocklyWorkspace);\n if (!oneWay) {\n code += '\\n';\n const dom = this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);\n const text = this.Blockly.Xml.domToText(dom);\n code += '//' + btoa(encodeURIComponent(text));\n }\n\n return code;\n }\n\n exportBlocks() {\n let exportText;\n if (this.Blockly.selected) {\n const xmlBlock = this.Blockly.Xml.blockToDom(this.Blockly.selected);\n if (this.Blockly.dragMode_ !== this.Blockly.DRAG_FREE) {\n this.Blockly.Xml.deleteNext(xmlBlock);\n }\n // Encode start position in XML.\n const xy = this.Blockly.selected.getRelativeToSurfaceXY();\n xmlBlock.setAttribute('x', this.Blockly.selected.RTL ? -xy.x : xy.x);\n xmlBlock.setAttribute('y', xy.y);\n\n exportText = this.Blockly.Xml.domToPrettyText(xmlBlock);\n } else {\n const dom = this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);\n exportText = this.Blockly.Xml.domToPrettyText(dom);\n }\n this.setState({exportText});\n }\n\n importBlocks() {\n this.setState({importText: true});\n }\n\n onImportBlocks(xml) {\n xml = (xml || '').trim();\n if (xml) {\n try {\n if (!xml.startsWith('';\n }\n let variables = xml.replace(/[\\n\\r]/g, '').match(/(.*)<\\/variables>/);\n if (variables) {\n let vars = this.Blockly.utils.xml.textToDomDocument('' + variables[1] + '');\n if (vars) {\n let nodes = vars.childNodes && vars.childNodes[0] && vars.childNodes[0].childNodes;\n if (nodes) {\n for (let i = 0; i < nodes.length; i++) {\n nodes[i].id && this.blocklyWorkspace.createVariable(nodes[i].id);\n }\n }\n }\n }\n xml = xml.replace(/[\\n\\r]/g, '').replace(/.*<\\/variables>/g, '');\n window.scripts.loading = true;\n let xmlBlocks = this.Blockly.Xml.textToDom(xml);\n if (xmlBlocks.nodeName === 'xml') {\n for (let b = 0; b < xmlBlocks.children.length; b++) {\n this.blocklyWorkspace.paste(xmlBlocks.children[b]);\n }\n } else {\n this.blocklyWorkspace.paste(xmlBlocks);\n }\n\n window.scripts.loading = false;\n\n\n this.onBlocklyChanged();\n } catch (e) {\n this.setState({error: {text: e, title: I18n.t('Import error')}});\n }\n }\n }\n\n loadCode() {\n if (!this.blocklyWorkspace) {\n return;\n }\n\n this.ignoreChanges = true;\n this.blocklyWorkspace.clear();\n\n try {\n const xml = this.jsCode2Blockly(this.originalCode) || '';\n window.scripts.loading = true;\n const dom = this.Blockly.Xml.textToDom(xml);\n this.Blockly.Xml.domToWorkspace(dom, this.blocklyWorkspace);\n window.scripts.loading = false;\n } catch (e) {\n console.error(e);\n window.alert('Cannot extract Blockly code!');\n }\n setTimeout(() => this.ignoreChanges = false, 100);\n }\n\n onBlocklyChanged() {\n this.blocklyRemoveOrphanedShadows();\n this.setState({changed: true});\n this.onChange();\n }\n\n componentDidUpdate() {\n if (!this.blockly) return;\n if (this.didUpdate) {\n clearTimeout(this.didUpdate);\n this.didUpdate = null;\n }\n\n if (this.blocklyWorkspace) return;\n\n window.addEventListener('resize', this.onResizeBind, false);\n toolboxText = toolboxText || this.getToolbox();\n toolboxXml = toolboxXml || this.Blockly.Xml.textToDom(toolboxText);\n\n this.blocklyWorkspace = this.Blockly.inject(\n this.blockly,\n {\n media: 'google-blockly/media/',\n toolbox: toolboxXml,\n zoom: {\n controls: true,\n wheel: false,\n startScale: 1.0,\n maxScale: 3,\n minScale: 0.3,\n scaleSpeed: 1.2\n },\n move: {\n scrollbars: true,\n drag: true,\n wheel: true\n },\n trashcan: true,\n grid: {\n spacing: 25,\n length: 3,\n colour: '#ccc',\n snap: true\n }\n }\n );\n // for blockly itself\n window.scripts = {\n blocklyWorkspace: this.blocklyWorkspace\n };\n\n // Listen to events on master workspace.\n this.blocklyWorkspace.addChangeListener(masterEvent => {\n if (this.someSelected && Date.now() - this.someSelectedTime > 500) {\n const allBlocks = this.blocklyWorkspace.getAllBlocks();\n this.someSelected = null;\n allBlocks.forEach(b => b.removeSelect());\n }\n\n if (masterEvent.type === this.Blockly.Events.UI || masterEvent.type === this.Blockly.Events.CREATE) {\n return; // Don't mirror UI events.\n }\n if (this.ignoreChanges) return;\n this.changeTimer && clearTimeout(this.changeTimer);\n this.changeTimer = setTimeout(() => {\n this.changeTimer = null;\n this.onBlocklyChanged();\n }, 200);\n\n });\n this.loadCode();\n this.onResize();\n // Move toolbar to the valid position\n const toolbar = document.getElementsByClassName('blocklyToolboxDiv')[0];\n this.blockly.appendChild(toolbar);\n\n this.updateBackground();\n setTimeout(() => this.searchId(), 200); // select found blocks\n }\n\n updateBackground() {\n const background = document.getElementsByClassName('blocklyMainBackground')[0];\n if (this.state.theme === 'dark') {\n let found = 0;\n for (let i = 0; i < background.classList.length; i++) {\n if (background.classList[i] === this.props.classes.darkBackground) {\n found = true;\n break;\n }\n }\n if (!found) {\n background.classList.add(this.props.classes.darkBackground);\n }\n } else {\n background.classList.remove(this.props.classes.darkBackground);\n }\n }\n\n componentWillUnmount() {\n if (!this.blocklyWorkspace) return;\n this.blocklyWorkspace.dispose();\n this.blocklyWorkspace = null;\n this.changeTimer && clearTimeout(this.changeTimer);\n this.changeTimer = null;\n window.removeEventListener('resize', this.onResizeBind);\n }\n\n onChange() {\n this.originalCode = this.blocklyCode2JSCode();\n this.props.onChange && this.props.onChange(this.originalCode);\n }\n\n getToolbox() {\n // Interpolate translated messages into toolbox.\n let toolboxText = window.document.getElementById('toolbox').outerHTML;\n toolboxText = toolboxText.replace(/{(\\w+)}/g, (m, p1) => window.MSG[p1]);\n\n if (this.Blockly.CustomBlocks) {\n let blocks = '';\n const lang = I18n.getLanguage();\n for (let cb = 0; cb < this.Blockly.CustomBlocks.length; cb++) {\n const name = this.Blockly.CustomBlocks[cb];\n // add blocks\n blocks += '';\n for (const _b in this.Blockly[name].blocks) {\n if (this.Blockly[name].blocks.hasOwnProperty(_b)) {\n blocks += this.Blockly[name].blocks[_b];\n }\n }\n blocks += '';\n }\n toolboxText = toolboxText.replace('%%CUSTOM_BLOCKS%%', blocks);\n }\n\n return toolboxText;\n }\n\n render() {\n if (this.state.languageBlocklyLoaded && this.state.languageOwnLoaded) {\n this.didUpdate = setTimeout(() => {\n this.didUpdate = null;\n this.componentDidUpdate();\n }, 100);\n\n return [\n (
this.blockly = el} style={{\n //marginLeft: 180,\n width: '100%',//'calc(100% - 180px)',\n height: '100%',\n //overflow: 'hidden',\n position: 'relative'}}/>),\n\n this.state.message ?\n ( this.setState({message: ''})}\n />) :\n null,\n\n this.state.error ?\n ( {\n if (this.blinkBlock) {\n this.blocklyBlinkBlock(this.blinkBlock);\n this.blinkBlock = null;\n }\n this.setState({error: ''});\n }}/>) :\n null,\n\n this.state.exportText ? ( this.setState({exportText: ''})} text={this.state.exportText}/>) : null,\n\n this.state.importText ? ( {\n this.setState({importText: false});\n this.onImportBlocks(text);\n }}/>) : null\n ];\n } else {\n return null;\n }\n }\n}\n\nBlocklyEditor.propTypes = {\n command: PropTypes.string,\n onChange: PropTypes.func,\n searchText: PropTypes.string,\n theme: PropTypes.string\n};\n\nexport default withStyles(styles)(BlocklyEditor);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport Popper from '@material-ui/core/Popper';\nimport Fade from '@material-ui/core/Fade';\nimport Paper from '@material-ui/core/Paper';\n\nimport I18n from '@iobroker/adapter-react/i18n';\n\nconst styles = theme => ({\n textArea: {\n width: '100%',\n height: '100%',\n },\n textAreaLight: {\n background: 'lightgray'\n },\n dialog: {\n height: '95%'\n },\n typography: {\n padding: theme.spacing.unit * 2,\n },\n});\nclass DialogExport extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: null,\n popper: ''\n };\n }\n handleCancel = () => {\n this.props.onClose();\n };\n\n onCopy(event) {\n const el = window.document.getElementById('copy_input');\n if (el) {\n el.select();\n window.document.execCommand('copy');\n const target = event.currentTarget;\n\n setTimeout(() => {\n window.document.execCommand('copy');\n this.setState({popper: I18n.t('Copied'), anchorEl: target});\n setTimeout(() => this.setState({popper: '', anchorEl: null}), 1000);\n }, 50);\n\n }\n /*el.value = this.props.text;\n window.document.body.appendChild(el);\n el.select();*/\n }\n\n render() {\n const classes = this.props.classes;\n\n return (\n \n {I18n.t('Export selected blocks')}\n \n {this.props.text}\n \n \n \n \n\n \n {({ TransitionProps }) => (\n \n \n

{this.state.popper}

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