From f13ae9e1673c453f29ddab6e9efbe5644834f74c Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 1 Jul 2020 17:41:47 -0400 Subject: [PATCH 01/19] Overhauls and Refactors Alarms --- _maps/map_files/Delta/delta.dmm | 2 +- .../MetaStation/MetaStation.v41A.II.dmm | 2 +- _maps/map_files/cyberiad/cyberiad.dmm | 6 +- code/__HELPERS/game.dm | 18 ++ code/__HELPERS/lists.dm | 3 - code/_globalvars/lists/objects.dm | 5 +- code/_onclick/hud/ai.dm | 2 +- code/controllers/subsystem/alarm.dm | 31 -- code/controllers/verbs.dm | 5 +- code/game/area/Space Station 13 areas.dm | 4 +- code/game/area/areas.dm | 279 ++++++++++++++---- code/game/machinery/camera/camera.dm | 26 +- code/game/machinery/camera/motion.dm | 21 +- code/game/machinery/computer/atmos_alert.dm | 120 ++++---- .../game/machinery/computer/buildandrepair.dm | 7 +- code/game/machinery/computer/station_alert.dm | 102 +++++-- code/game/machinery/doors/firedoor.dm | 25 ++ code/game/machinery/firealarm.dm | 37 ++- code/game/objects/items/blueprints.dm | 10 + code/game/turfs/turf.dm | 7 + code/modules/alarm/alarm.dm | 136 --------- code/modules/alarm/alarm_handler.dm | 103 ------- code/modules/alarm/atmosphere_alarm.dm | 19 -- code/modules/alarm/burglar_alarm.dm | 2 - code/modules/alarm/camera_alarm.dm | 2 - code/modules/alarm/fire_alarm.dm | 11 - code/modules/alarm/motion_alarm.dm | 2 - code/modules/alarm/power_alarm.dm | 10 - code/modules/mob/living/silicon/ai/ai.dm | 93 +++++- code/modules/mob/living/silicon/ai/life.dm | 2 - code/modules/mob/living/silicon/robot/life.dm | 1 - .../modules/mob/living/silicon/robot/robot.dm | 77 ++++- code/modules/mob/living/silicon/silicon.dm | 147 +++++---- code/modules/mob/living/silicon/subsystems.dm | 22 -- .../computers/machinery/console_presets.dm | 2 +- .../file_system/programs/engineering/alarm.dm | 144 +++++---- code/modules/nano/modules/alarm_monitor.dm | 90 ------ code/modules/power/apc.dm | 15 +- code/modules/power/lighting.dm | 26 +- code/modules/power/singularity/investigate.dm | 4 - icons/obj/lighting.dmi | Bin 90876 -> 91428 bytes paradise.dme | 12 - .../tgui/interfaces/AtmosAlertConsole.js | 47 +++ .../interfaces/NtosStationAlertConsole.js | 12 + .../tgui/interfaces/StationAlertConsole.js | 68 +++++ tgui/packages/tgui/public/tgui.bundle.js | 6 +- 46 files changed, 982 insertions(+), 783 deletions(-) delete mode 100644 code/controllers/subsystem/alarm.dm delete mode 100644 code/modules/alarm/alarm.dm delete mode 100644 code/modules/alarm/alarm_handler.dm delete mode 100644 code/modules/alarm/atmosphere_alarm.dm delete mode 100644 code/modules/alarm/burglar_alarm.dm delete mode 100644 code/modules/alarm/camera_alarm.dm delete mode 100644 code/modules/alarm/fire_alarm.dm delete mode 100644 code/modules/alarm/motion_alarm.dm delete mode 100644 code/modules/alarm/power_alarm.dm delete mode 100644 code/modules/nano/modules/alarm_monitor.dm delete mode 100644 code/modules/power/singularity/investigate.dm create mode 100644 tgui/packages/tgui/interfaces/AtmosAlertConsole.js create mode 100644 tgui/packages/tgui/interfaces/NtosStationAlertConsole.js create mode 100644 tgui/packages/tgui/interfaces/StationAlertConsole.js diff --git a/_maps/map_files/Delta/delta.dmm b/_maps/map_files/Delta/delta.dmm index 93815774e61..db82306dfb0 100644 --- a/_maps/map_files/Delta/delta.dmm +++ b/_maps/map_files/Delta/delta.dmm @@ -47768,7 +47768,7 @@ pixel_y = 3 }, /obj/item/circuitboard/powermonitor, -/obj/item/circuitboard/stationalert_all{ +/obj/item/circuitboard/stationalert{ pixel_x = 3; pixel_y = -3 }, diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index f7eda3fe8ee..c9abda7be72 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -31415,7 +31415,7 @@ pixel_x = -2; pixel_y = 2 }, -/obj/item/circuitboard/stationalert_all{ +/obj/item/circuitboard/stationalert{ pixel_x = 1; pixel_y = -1 }, diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index f3bc26c9600..06115f9b175 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -36029,7 +36029,7 @@ }, /area/bridge) "bnW" = ( -/obj/machinery/computer/station_alert/all, +/obj/machinery/computer/station_alert, /turf/simulated/floor/plasteel{ dir = 0; icon_state = "yellow" @@ -73537,7 +73537,7 @@ pixel_x = -2; pixel_y = 2 }, -/obj/item/circuitboard/stationalert_all{ +/obj/item/circuitboard/stationalert{ pixel_x = 1; pixel_y = -1 }, @@ -76805,7 +76805,7 @@ pixel_x = 32; pixel_y = 0 }, -/obj/machinery/computer/station_alert/all, +/obj/machinery/computer/station_alert, /obj/structure/cable/yellow{ d1 = 4; d2 = 8; diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index b519130bb4f..d30db22e3f7 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -31,6 +31,24 @@ areas |= T.loc return areas +/proc/get_open_turf_in_dir(atom/center, dir) + var/turf/T = get_ranged_target_turf(center, dir, 1) + if(T && !T.density) + return T + +/proc/get_adjacent_open_turfs(atom/center) + . = list(get_open_turf_in_dir(center, NORTH), + get_open_turf_in_dir(center, SOUTH), + get_open_turf_in_dir(center, EAST), + get_open_turf_in_dir(center, WEST)) + listclearnulls(.) + +/proc/get_adjacent_open_areas(atom/center) + . = list() + var/list/adjacent_turfs = get_adjacent_open_turfs(center) + for(var/I in adjacent_turfs) + . |= get_area(I) + // Like view but bypasses luminosity check /proc/hear(var/range, var/atom/source) diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm index f9b9850bd2d..f25b28e6a94 100644 --- a/code/__HELPERS/lists.dm +++ b/code/__HELPERS/lists.dm @@ -672,9 +672,6 @@ proc/dd_sortedObjectList(list/incoming) /obj/machinery/camera/dd_SortValue() return "[c_tag]" -/datum/alarm/dd_SortValue() - return "[sanitize(last_name)]" - //Picks from the list, with some safeties, and returns the "default" arg if it fails #define DEFAULTPICK(L, default) ((istype(L, /list) && L:len) ? pick(L) : default) diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 931a0e394e8..0f5b1045c64 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -9,6 +9,7 @@ GLOBAL_LIST_INIT(mechas_list, list()) //list of all mechs. Used by hostile mo GLOBAL_LIST_INIT(spacepods_list, list()) //list of all space pods. Used by hostile mobs target tracking. GLOBAL_LIST_INIT(joblist, list()) //list of all jobstypes, minus borg and AI GLOBAL_LIST_INIT(airlocks, list()) //list of all airlocks +GLOBAL_LIST_EMPTY(alarmdisplay) //list of all machines or programs that can display station alerts GLOBAL_LIST_INIT(singularities, list()) //list of all singularities GLOBAL_LIST_INIT(janitorial_equipment, list()) //list of janitorial equipment GLOBAL_LIST_INIT(crafting_recipes, list()) //list of all crafting recipes @@ -16,7 +17,7 @@ GLOBAL_LIST_INIT(prisoncomputer_list, list()) GLOBAL_LIST_INIT(celltimers_list, list()) // list of all cell timers GLOBAL_LIST_INIT(cell_logs, list()) GLOBAL_LIST_INIT(navigation_computers, list()) -GLOBAL_LIST_INIT(zombie_infection_list, list()) +GLOBAL_LIST_INIT(zombie_infection_list, list()) GLOBAL_LIST_INIT(all_areas, list()) GLOBAL_LIST_INIT(machines, list()) @@ -48,7 +49,7 @@ GLOBAL_LIST_EMPTY(ladders) GLOBAL_LIST_INIT(active_diseases, list()) //List of Active disease in all mobs; purely for quick referencing. GLOBAL_LIST_EMPTY(mob_spawners) // All mob_spawn objects - +GLOBAL_LIST_EMPTY(alert_consoles) // Station alert consoles, /obj/machinery/computer/station_alert GLOBAL_LIST_EMPTY(explosive_walls) GLOBAL_LIST_EMPTY(engine_beacon_list) diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm index ada0ce8cd30..856f724f925 100644 --- a/code/_onclick/hud/ai.dm +++ b/code/_onclick/hud/ai.dm @@ -64,7 +64,7 @@ /obj/screen/ai/alerts/Click() if(isAI(usr)) var/mob/living/silicon/ai/AI = usr - AI.subsystem_alarm_monitor() + AI.ai_alerts() /obj/screen/ai/announcement name = "Make Announcement" diff --git a/code/controllers/subsystem/alarm.dm b/code/controllers/subsystem/alarm.dm deleted file mode 100644 index 289adf6de40..00000000000 --- a/code/controllers/subsystem/alarm.dm +++ /dev/null @@ -1,31 +0,0 @@ -SUBSYSTEM_DEF(alarms) - name = "Alarms" - init_order = INIT_ORDER_ALARMS // 2 - offline_implications = "Alarms (Power, camera, fire, etc) will no longer be checked. No immediate action is needed." - var/datum/alarm_handler/atmosphere/atmosphere_alarm = new() - var/datum/alarm_handler/burglar/burglar_alarm = new() - var/datum/alarm_handler/camera/camera_alarm = new() - var/datum/alarm_handler/fire/fire_alarm = new() - var/datum/alarm_handler/motion/motion_alarm = new() - var/datum/alarm_handler/power/power_alarm = new() - var/list/datum/alarm/all_handlers - -/datum/controller/subsystem/alarms/Initialize(start_timeofday) - all_handlers = list(SSalarms.atmosphere_alarm, SSalarms.burglar_alarm, SSalarms.camera_alarm, SSalarms.fire_alarm, SSalarms.motion_alarm, SSalarms.power_alarm) - return ..() - -/datum/controller/subsystem/alarms/fire() - for(var/datum/alarm_handler/AH in all_handlers) - AH.process() - -/datum/controller/subsystem/alarms/proc/active_alarms() - var/list/all_alarms = new () - for(var/datum/alarm_handler/AH in all_handlers) - var/list/alarms = AH.alarms - all_alarms += alarms - - return all_alarms - -/datum/controller/subsystem/alarms/proc/number_of_active_alarms() - var/list/alarms = active_alarms() - return alarms.len diff --git a/code/controllers/verbs.dm b/code/controllers/verbs.dm index 3eaed85c303..f32b1b78f60 100644 --- a/code/controllers/verbs.dm +++ b/code/controllers/verbs.dm @@ -20,7 +20,7 @@ message_admins("Admin [key_name_admin(usr)] has restarted the [controller] controller.") /client/proc/debug_controller(controller in list("failsafe", "Master", "Ticker", "Air", "Jobs", "Sun", "Radio", "Configuration", "pAI", - "Cameras", "Garbage", "Event", "Alarm", "Nano", "Vote", "Fires", + "Cameras", "Garbage", "Event", "Nano", "Vote", "Fires", "Mob", "NPC Pool", "Shuttle", "Timer", "Weather", "Space", "Mob Hunt Server","Input")) set category = "Debug" set name = "Debug Controller" @@ -64,9 +64,6 @@ if("Event") debug_variables(SSevents) feedback_add_details("admin_verb","DEvent") - if("Alarm") - debug_variables(SSalarms) - feedback_add_details("admin_verb", "DAlarm") if("Nano") debug_variables(SSnanoui) feedback_add_details("admin_verb","DNano") diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm index 9070d1409f6..a099bcae805 100644 --- a/code/game/area/Space Station 13 areas.dm +++ b/code/game/area/Space Station 13 areas.dm @@ -79,10 +79,10 @@ GLOBAL_LIST_EMPTY(ghostteleportlocs) /area/space/atmosalert() return -/area/space/fire_alert() +/area/space/firealert(obj/source) return -/area/space/fire_reset() +/area/space/firereset(obj/source) return /area/space/readyalert() diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index da80a6e775c..db62e8373ef 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -57,6 +57,11 @@ var/list/ambientsounds = GENERIC_SOUNDS + var/list/firedoors + var/list/cameras + var/list/firealarms + var/firedoors_last_closed_on = 0 + var/fast_despawn = FALSE var/can_get_auto_cryod = TRUE var/hide_attacklogs = FALSE // For areas such as thunderdome, lavaland syndiebase, etc which generate a lot of spammy attacklogs. Reduces log priority. @@ -125,35 +130,6 @@ cameras += C return cameras - -/area/proc/atmosalert(danger_level, var/alarm_source, var/force = FALSE) - if(report_alerts) - if(danger_level == ATMOS_ALARM_NONE) - SSalarms.atmosphere_alarm.clearAlarm(src, alarm_source) - else - SSalarms.atmosphere_alarm.triggerAlarm(src, alarm_source, severity = danger_level) - - //Check all the alarms before lowering atmosalm. Raising is perfectly fine. If force = 1 we don't care. - for(var/obj/machinery/alarm/AA in src) - if(!(AA.stat & (NOPOWER|BROKEN)) && !AA.shorted && AA.report_danger_level && !force) - danger_level = max(danger_level, AA.danger_level) - - if(danger_level != atmosalm) - if(danger_level < ATMOS_ALARM_WARNING && atmosalm >= ATMOS_ALARM_WARNING) - //closing the doors on red and opening on green provides a bit of hysteresis that will hopefully prevent fire doors from opening and closing repeatedly due to noise - air_doors_open() - else if(danger_level >= ATMOS_ALARM_DANGER && atmosalm < ATMOS_ALARM_DANGER) - air_doors_close() - - atmosalm = danger_level - for(var/obj/machinery/alarm/AA in src) - AA.update_icon() - - GLOB.air_alarm_repository.update_cache(src) - return 1 - GLOB.air_alarm_repository.update_cache(src) - return 0 - /area/proc/air_doors_close() if(!air_doors_activated) air_doors_activated = TRUE @@ -179,44 +155,170 @@ D.open() -/area/proc/fire_alert() - if(!fire) - fire = 1 //used for firedoor checks - updateicon() - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - air_doors_close() +/area/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() -/area/proc/fire_reset() - if(fire) - fire = 0 //used for firedoor checks - updateicon() - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - air_doors_open() +/** + * Generate a power alert for this area + * + * Sends to all ai players, alert consoles, drones and alarm monitor programs in the world + */ +/area/proc/poweralert(state, obj/source) + if(state != poweralm) + poweralm = state + if(istype(source)) //Only report power alarms on the z-level where the source is located. + for(var/item in GLOB.silicon_mob_list) + var/mob/living/silicon/aiPlayer = item + if(state == 1) + aiPlayer.cancelAlarm("Power", src, source) + else + aiPlayer.triggerAlarm("Power", src, cameras, source) - return + for(var/item in GLOB.alert_consoles) + var/obj/machinery/computer/station_alert/a = item + if(state == 1) + a.cancelAlarm("Power", src, source) + else + a.triggerAlarm("Power", src, cameras, source) -/area/proc/burglaralert(var/obj/trigger) - if(always_unpowered == 1) //no burglar alarms in space/asteroid + /* for(var/item in GLOB.alarmdisplay) //TO-DO:TGUI--Uncomment Modular computers + var/datum/computer_file/program/alarm_monitor/p = item + if(state == 1) + p.cancelAlarm("Power", src, source) + else + p.triggerAlarm("Power", src, cameras, source) */ + +/** + * Generate an atmospheric alert for this area + * + * Sends to all ai players, alert consoles, drones and alarm monitor programs in the world + */ +/area/proc/atmosalert(danger_level, obj/source) + if(danger_level != atmosalm) + if (danger_level==2) + + for(var/item in GLOB.silicon_mob_list) + var/mob/living/silicon/aiPlayer = item + aiPlayer.triggerAlarm("Atmosphere", src, cameras, source) + for(var/item in GLOB.alert_consoles) + var/obj/machinery/computer/station_alert/a = item + a.triggerAlarm("Atmosphere", src, cameras, source) + /* for(var/item in GLOB.alarmdisplay) //TO-DO:TGUI--Uncomment Modular computers + var/datum/computer_file/program/alarm_monitor/p = item + p.triggerAlarm("Atmosphere", src, cameras, source) */ + + else if(src.atmosalm == 2) + for(var/item in GLOB.silicon_mob_list) + var/mob/living/silicon/aiPlayer = item + aiPlayer.cancelAlarm("Atmosphere", src, source) + for(var/item in GLOB.alert_consoles) + var/obj/machinery/computer/station_alert/a = item + a.cancelAlarm("Atmosphere", src, source) + /* for(var/item in GLOB.alarmdisplay) //TO-DO:TGUI--Uncomment Modular computers + var/datum/computer_file/program/alarm_monitor/p = item + p.cancelAlarm("Atmosphere", src, source) */ + + src.atmosalm = danger_level + return 1 + return 0 + +/** + * Try to close all the firedoors in the area + */ +/area/proc/ModifyFiredoors(opening) + if(firedoors) + firedoors_last_closed_on = world.time + for(var/FD in firedoors) + var/obj/machinery/door/firedoor/D = FD + var/cont = !D.welded + if(cont && opening) //don't open if adjacent area is on fire + for(var/I in D.affecting_areas) + var/area/A = I + if(A.fire) + cont = FALSE + break + if(cont && D.is_operational()) + if(D.operating) + D.nextstate = opening ? FD_OPEN : FD_CLOSED + else if(!(D.density ^ opening)) + INVOKE_ASYNC(D, (opening ? /obj/machinery/door/firedoor.proc/open : /obj/machinery/door/firedoor.proc/close)) + +/** + * Generate a firealarm alert for this area + * + * Sends to all ai players, alert consoles, drones and alarm monitor programs in the world + * + * Also starts the area processing on SSobj + */ +/area/proc/firealert(obj/source) + if(always_unpowered == 1) //no fire alarms in space/asteroid return - //Trigger alarm effect - set_fire_alarm_effect() + if(!fire) + set_fire_alarm_effect() + ModifyFiredoors(FALSE) + for(var/item in firealarms) + var/obj/machinery/firealarm/F = item + F.update_icon() - //Lockdown airlocks - for(var/obj/machinery/door/airlock/A in src) - spawn(0) - A.close() - if(A.density) - A.lock() + for(var/item in GLOB.alert_consoles) + var/obj/machinery/computer/station_alert/a = item + a.triggerAlarm("Fire", src, cameras, source) + for(var/item in GLOB.silicon_mob_list) + var/mob/living/silicon/aiPlayer = item + aiPlayer.triggerAlarm("Fire", src, cameras, source) +/* for(var/item in GLOB.alarmdisplay) //TO-DO:TGUI--Uncomment Modular computers + var/datum/computer_file/program/alarm_monitor/p = item + p.triggerAlarm("Fire", src, cameras, source) */ - SSalarms.burglar_alarm.triggerAlarm(src, trigger) - spawn(600) - SSalarms.burglar_alarm.clearAlarm(src, trigger) + START_PROCESSING(SSobj, src) -/area/proc/set_fire_alarm_effect() - fire = 1 - updateicon() - mouse_opacity = MOUSE_OPACITY_TRANSPARENT +/** + * Reset the firealarm alert for this area + * + * resets the alert sent to all ai players, alert consoles, drones and alarm monitor programs + * in the world + * + * Also cycles the icons of all firealarms and deregisters the area from processing on SSOBJ + */ +/area/proc/firereset(obj/source) + if(fire) + unset_fire_alarm_effects() + ModifyFiredoors(TRUE) + for(var/item in firealarms) + var/obj/machinery/firealarm/F = item + F.update_icon() + + for(var/item in GLOB.silicon_mob_list) + var/mob/living/silicon/aiPlayer = item + aiPlayer.cancelAlarm("Fire", src, source) + for(var/item in GLOB.alert_consoles) + var/obj/machinery/computer/station_alert/a = item + a.cancelAlarm("Fire", src, source) +/* for(var/item in GLOB.alarmdisplay) //TO-DO:TGUI--Uncomment Modular computers + var/datum/computer_file/program/alarm_monitor/p = item + p.cancelAlarm("Fire", src, source) */ + + STOP_PROCESSING(SSobj, src) + +/** + * If 100 ticks has elapsed, toggle all the firedoors closed again + */ +/area/process() + if(firedoors_last_closed_on + 100 < world.time) //every 10 seconds + ModifyFiredoors(FALSE) + +/** + * Close and lock a door passed into this proc + * + * Does this need to exist on area? probably not + */ +/area/proc/close_and_lock_door(obj/machinery/door/DOOR) + set waitfor = FALSE + DOOR.close() + if(DOOR.density) + DOOR.lock() /area/proc/readyalert() if(!eject) @@ -240,13 +342,64 @@ mouse_opacity = MOUSE_OPACITY_TRANSPARENT updateicon() +/** + * Raise a burglar alert for this area + * + * Close and locks all doors in the area and alerts silicon mobs of a break in + * + * Alarm auto resets after 600 ticks + */ +/area/proc/burglaralert(obj/trigger) + if(always_unpowered) //no burglar alarms in space/asteroid + return + + //Trigger alarm effect + set_fire_alarm_effect() + //Lockdown airlocks + for(var/obj/machinery/door/DOOR in src) + close_and_lock_door(DOOR) + + for(var/i in GLOB.silicon_mob_list) + var/mob/living/silicon/SILICON = i + if(SILICON.triggerAlarm("Burglar", src, cameras, trigger)) + //Cancel silicon alert after 1 minute + addtimer(CALLBACK(SILICON, /mob/living/silicon.proc/cancelAlarm,"Burglar",src,trigger), 600) + +/** + * Trigger the fire alarm visual affects in an area + * + * Updates the fire light on fire alarms in the area and sets all lights to emergency mode + */ +/area/proc/set_fire_alarm_effect() + fire = TRUE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + for(var/alarm in firealarms) + var/obj/machinery/firealarm/F = alarm + F.update_fire_light(fire) + for(var/obj/machinery/light/L in src) + L.update() + +/** + * unset the fire alarm visual affects in an area + * + * Updates the fire light on fire alarms in the area and sets all lights to emergency mode + */ +/area/proc/unset_fire_alarm_effects() + fire = FALSE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + for(var/alarm in firealarms) + var/obj/machinery/firealarm/F = alarm + F.update_fire_light(fire) + for(var/obj/machinery/light/L in src) + L.update() + /area/proc/updateicon() - if((fire || eject || party) && (!requires_power||power_environ))//If it doesn't require power, can still activate this proc. - if(fire && !eject && !party) + if((eject || party) && (!requires_power||power_environ))//If it doesn't require power, can still activate this proc. + if(!eject && !party) icon_state = "red" - else if(!fire && eject && !party) + else if(eject && !party) icon_state = "red" - else if(party && !fire && !eject) + else if(party && !eject) icon_state = "party" else icon_state = "blue-red" diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index b66cad8d328..6b0b06d1124 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -22,12 +22,14 @@ var/invuln = null var/obj/item/camera_bug/bug = null var/obj/item/camera_assembly/assembly = null + var/area/myarea = null //OTHER var/view_range = 7 var/short_range = 2 + var/alarm_on = FALSE var/busy = FALSE var/emped = FALSE //Number of consecutive EMP's on this camera @@ -44,6 +46,9 @@ GLOB.cameranet.cameras += src GLOB.cameranet.addCamera(src) + if(isturf(loc)) + myarea = get_area(src) + LAZYADD(myarea.cameras, src) if(is_station_level(z) && prob(3) && !start_active) toggle_cam(null, FALSE) wires.CutAll() @@ -59,10 +64,14 @@ QDEL_NULL(wires) GLOB.cameranet.removeCamera(src) //Will handle removal from the camera network and the chunks, so we don't need to worry about that GLOB.cameranet.cameras -= src + if(isarea(myarea)) + LAZYREMOVE(myarea.cameras, src) var/area/ai_monitored/A = get_area(src) if(istype(A)) A.motioncamera = null area_motion = null + cancelCameraAlarm() + cancelAlarm() return ..() /obj/machinery/camera/emp_act(severity) @@ -282,9 +291,16 @@ status = !status if(can_use()) GLOB.cameranet.addCamera(src) + if(isturf(loc)) + myarea = get_area(src) + LAZYADD(myarea.cameras, src) + else + myarea = null else set_light(0) GLOB.cameranet.removeCamera(src) + if(isarea(myarea)) + LAZYREMOVE(myarea.cameras, src) GLOB.cameranet.updateChunk(x, y, z) var/change_msg = "deactivates" if(status) @@ -313,12 +329,14 @@ to_chat(O, "The screen bursts into static.") /obj/machinery/camera/proc/triggerCameraAlarm() - if(is_station_contact(z)) - SSalarms.camera_alarm.triggerAlarm(loc, src) + alarm_on = TRUE + for(var/mob/living/silicon/S in GLOB.silicon_mob_list) + S.triggerAlarm("Camera", get_area(src), list(src), src) /obj/machinery/camera/proc/cancelCameraAlarm() - if(is_station_contact(z)) - SSalarms.camera_alarm.clearAlarm(loc, src) + alarm_on = FALSE + for(var/mob/living/silicon/S in GLOB.silicon_mob_list) + S.cancelAlarm("Camera", get_area(src), src) /obj/machinery/camera/proc/can_use() if(!status) diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index 16fb6eca204..1525c1e6fd0 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -19,7 +19,8 @@ triggerAlarm() else if(detectTime == -1) for(var/mob/target in motionTargets) - if(target.stat == 2) lostTarget(target) + if(target.stat == 2) + lostTarget(target) // If not detecting with motion camera... if(!area_motion) // See if the camera is still in range @@ -42,19 +43,21 @@ cancelAlarm() /obj/machinery/camera/proc/cancelAlarm() - if(!status || (stat & NOPOWER)) - return FALSE - if(detectTime == -1 && is_station_contact(z)) - SSalarms.motion_alarm.clearAlarm(loc, src) + if(detectTime == -1) + for(var/i in GLOB.silicon_mob_list) + var/mob/living/silicon/aiPlayer = i + if(status) + aiPlayer.cancelAlarm("Motion", get_area(src), src) detectTime = 0 return TRUE /obj/machinery/camera/proc/triggerAlarm() - if(!status || (stat & NOPOWER)) + if(!detectTime) return FALSE - if(!detectTime || !is_station_contact(z)) - return FALSE - SSalarms.motion_alarm.triggerAlarm(loc, src) + for(var/mob/living/silicon/aiPlayer in GLOB.player_list) + if(status) + aiPlayer.triggerAlarm("Motion", get_area(src), list(src), src) + visible_message("A red light flashes on the [src]!") detectTime = -1 return TRUE diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 123cee3ae4e..ea47d19a7e2 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -1,84 +1,88 @@ -GLOBAL_LIST_EMPTY(priority_air_alarms) -GLOBAL_LIST_EMPTY(minor_air_alarms) - - /obj/machinery/computer/atmos_alert name = "atmospheric alert computer" desc = "Used to access the station's atmospheric sensors." circuit = /obj/item/circuitboard/atmos_alert + var/ui_x = 350 + var/ui_y = 300 icon_keyboard = "atmos_key" icon_screen = "alert:0" light_color = LIGHT_COLOR_CYAN + var/list/priority_alarms = list() + var/list/minor_alarms = list() + var/receive_frequency = ATMOS_FIRE_FREQ + var/datum/radio_frequency/radio_connection -/obj/machinery/computer/atmos_alert/New() - ..() - SSalarms.atmosphere_alarm.register(src, /obj/machinery/computer/station_alert/.proc/update_icon) +/obj/machinery/computer/atmos_alert/Initialize(mapload) + . = ..() + set_frequency(receive_frequency) /obj/machinery/computer/atmos_alert/Destroy() - SSalarms.atmosphere_alarm.unregister(src) - return ..() + SSradio.remove_object(src, receive_frequency) + return ..() /obj/machinery/computer/atmos_alert/attack_hand(mob/user) - ui_interact(user) + tgui_interact(user) -/obj/machinery/computer/atmos_alert/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open) +/obj/machinery/computer/atmos_alert/tgui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "atmos_alert.tmpl", src.name, 500, 500) + ui = new(user, src, ui_key, "AtmosAlertConsole", name, ui_x, ui_y, master_ui, state) ui.open() - ui.set_auto_update(1) -/obj/machinery/computer/atmos_alert/ui_data(mob/user, datum/topic_state/state) - var/data[0] - var/major_alarms[0] - var/minor_alarms[0] +/obj/machinery/computer/atmos_alert/tgui_data(mob/user) + var/list/data = list() - for(var/datum/alarm/alarm in SSalarms.atmosphere_alarm.major_alarms()) - major_alarms[++major_alarms.len] = list("name" = sanitize(alarm.alarm_name()), "ref" = "\ref[alarm]") - - for(var/datum/alarm/alarm in SSalarms.atmosphere_alarm.minor_alarms()) - minor_alarms[++minor_alarms.len] = list("name" = sanitize(alarm.alarm_name()), "ref" = "\ref[alarm]") - - data["priority_alarms"] = major_alarms - data["minor_alarms"] = minor_alarms + data["priority"] = list() + for(var/zone in priority_alarms) + data["priority"] += zone + data["minor"] = list() + for(var/zone in minor_alarms) + data["minor"] += zone return data -/obj/machinery/computer/atmos_alert/update_icon() - var/list/alarms = SSalarms.atmosphere_alarm.major_alarms() - if(alarms.len) - icon_screen = "alert:2" - else - alarms = SSalarms.atmosphere_alarm.minor_alarms() - if(alarms.len) - icon_screen = "alert:1" - else - icon_screen = "alert:0" - ..() - -/obj/machinery/computer/atmos_alert/Topic(href, href_list) +/obj/machinery/computer/atmos_alert/tgui_act(action, params) if(..()) - return 1 + return + switch(action) + if("clear") + var/zone = params["zone"] + if(zone in priority_alarms) + to_chat(usr, "Priority alarm for [zone] cleared.") + priority_alarms -= zone + . = TRUE + if(zone in minor_alarms) + to_chat(usr, "Minor alarm for [zone] cleared.") + minor_alarms -= zone + . = TRUE + update_icon() - if(href_list["clear_alarm"]) - var/datum/alarm/alarm = locate(href_list["clear_alarm"]) in SSalarms.atmosphere_alarm.alarms - if(alarm) - for(var/datum/alarm_source/alarm_source in alarm.sources) - var/obj/machinery/alarm/air_alarm = alarm_source.source - if(istype(air_alarm)) - var/list/new_ref = list("atmos_reset" = 1) - air_alarm.Topic(href, new_ref, state = GLOB.air_alarm_topic) - update_icon() - return 1 +/obj/machinery/computer/atmos_alert/proc/set_frequency(new_frequency) + SSradio.remove_object(src, receive_frequency) + receive_frequency = new_frequency + radio_connection = SSradio.add_object(src, receive_frequency, filter = RADIO_ATMOSIA) -GLOBAL_DATUM_INIT(air_alarm_topic, /datum/topic_state/air_alarm_topic, new) +/obj/machinery/computer/atmos_alert/receive_signal(datum/signal/signal) + if(!signal) + return -/datum/topic_state/air_alarm_topic/href_list(var/mob/user) - var/list/extra_href = list() - extra_href["remote_connection"] = 1 - extra_href["remote_access"] = 1 + var/zone = signal.data["zone"] + var/severity = signal.data["alert"] - return extra_href + if(!zone || !severity) + return -/datum/topic_state/air_alarm_topic/can_use_topic(var/src_object, var/mob/user) - return STATUS_INTERACTIVE + minor_alarms -= zone + priority_alarms -= zone + if(severity == "severe") + priority_alarms += zone + else if (severity == "minor") + minor_alarms += zone + update_icon() + +/obj/machinery/computer/atmos_alert/update_icon() + if(priority_alarms.len) + icon_screen = "alert:1" + else + icon_screen = "alert:0" + ..() diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index b502d6e5441..a07f3c04348 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -165,12 +165,9 @@ /obj/item/circuitboard/stationalert_engineering name = "Circuit Board (Station Alert Console (Engineering))" build_path = /obj/machinery/computer/station_alert -/obj/item/circuitboard/stationalert_security - name = "Circuit Board (Station Alert Console (Security))" +/obj/item/circuitboard/stationalert + name = "Circuit Board (Station Alert Console)" build_path = /obj/machinery/computer/station_alert -/obj/item/circuitboard/stationalert_all - name = "Circuit Board (Station Alert Console (All))" - build_path = /obj/machinery/computer/station_alert/all /obj/item/circuitboard/atmos_alert name = "Circuit Board (Atmospheric Alert Computer)" build_path = /obj/machinery/computer/atmos_alert diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 607918442ea..75cfbdd3e83 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -6,48 +6,98 @@ icon_screen = "alert:0" light_color = LIGHT_COLOR_CYAN circuit = /obj/item/circuitboard/stationalert_engineering - var/datum/nano_module/alarm_monitor/alarm_monitor - var/monitor_type = /datum/nano_module/alarm_monitor/engineering + var/ui_x = 325 + var/ui_y = 500 + var/alarms = list("Fire" = list(), "Atmosphere" = list(), "Power" = list()) -/obj/machinery/computer/station_alert/security - monitor_type = /datum/nano_module/alarm_monitor/security - circuit = /obj/item/circuitboard/stationalert_security - -/obj/machinery/computer/station_alert/all - monitor_type = /datum/nano_module/alarm_monitor/all - circuit = /obj/item/circuitboard/stationalert_all - -/obj/machinery/computer/station_alert/New() - ..() - alarm_monitor = new monitor_type(src) - alarm_monitor.register(src, /obj/machinery/computer/station_alert/.proc/update_icon) +/obj/machinery/computer/station_alert/Initialize(mapload) + . = ..() + GLOB.alert_consoles += src /obj/machinery/computer/station_alert/Destroy() - alarm_monitor.unregister(src) - QDEL_NULL(alarm_monitor) + GLOB.alert_consoles -= src return ..() /obj/machinery/computer/station_alert/attack_ai(mob/user) add_fingerprint(user) if(stat & (BROKEN|NOPOWER)) return - interact(user) + tgui_interact(user) /obj/machinery/computer/station_alert/attack_hand(mob/user) add_fingerprint(user) if(stat & (BROKEN|NOPOWER)) return - interact(user) + tgui_interact(user) -/obj/machinery/computer/station_alert/interact(mob/user) - alarm_monitor.ui_interact(user) +/obj/machinery/computer/station_alert/tgui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "StationAlertConsole", name, ui_x, ui_y, master_ui, state) + ui.open() + +/obj/machinery/computer/station_alert/tgui_data(mob/user) + var/list/data = list() + + data["alarms"] = list() + for(var/class in alarms) + data["alarms"][class] = list() + for(var/area in alarms[class]) + data["alarms"][class] += area + + return data + +/obj/machinery/computer/station_alert/proc/triggerAlarm(class, area/A, O, obj/source) + if(source.z != z) + return + if(stat & (BROKEN)) + return + + var/list/L = alarms[class] + for(var/I in L) + if(I == A.name) + var/list/alarm = L[I] + var/list/sources = alarm[3] + if(!(source in sources)) + sources += source + return TRUE + var/obj/machinery/camera/C = null + var/list/CL = null + if(O && islist(O)) + CL = O + if(CL.len == 1) + C = CL[1] + else if(O && istype(O, /obj/machinery/camera)) + C = O + L[A.name] = list(A, (C ? C : O), list(source)) + return TRUE + + +/obj/machinery/computer/station_alert/proc/cancelAlarm(class, area/A, obj/origin) + if(stat & (BROKEN)) + return + var/list/L = alarms[class] + var/cleared = FALSE + for (var/I in L) + if (I == A.name) + var/list/alarm = L[I] + var/list/srcs = alarm[3] + if(origin in srcs) + srcs -= origin + if(srcs.len == 0) + cleared = TRUE + L -= I + return !cleared /obj/machinery/computer/station_alert/update_icon() - if(alarm_monitor) - var/list/alarms = alarm_monitor.major_alarms() - if(alarms.len) - icon_screen = "alert:2" - else - icon_screen = "alert:0" + var/active_alarms = FALSE + for(var/cat in alarms) + var/list/L = alarms[cat] + if(L.len) + active_alarms = TRUE + if(active_alarms) + icon_screen = "alert:2" + else + icon_screen = "alert:0" ..() diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 37dbdb6c9c0..c509675868b 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -28,6 +28,11 @@ var/nextstate = null var/boltslocked = TRUE var/active_alarm = FALSE + var/list/affecting_areas + +/obj/machinery/door/firedoor/Initialize(mapload) + . = ..() + CalculateAffectingAreas() /obj/machinery/door/firedoor/examine(mob/user) . = ..() @@ -40,11 +45,31 @@ else . += "The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor." +/obj/machinery/door/firedoor/proc/CalculateAffectingAreas() + remove_from_areas() + affecting_areas = get_adjacent_open_areas(src) | get_area(src) + for(var/I in affecting_areas) + var/area/A = I + LAZYADD(A.firedoors, src) + /obj/machinery/door/firedoor/closed icon_state = "door_closed" opacity = TRUE density = TRUE +//see also turf/AfterChange for adjacency shennanigans + +/obj/machinery/door/firedoor/proc/remove_from_areas() + if(affecting_areas) + for(var/I in affecting_areas) + var/area/A = I + LAZYREMOVE(A.firedoors, src) + +/obj/machinery/door/firedoor/Destroy() + remove_from_areas() + affecting_areas.Cut() + return ..() + /obj/machinery/door/firedoor/Bumped(atom/AM) if(panel_open || operating) return diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index f12361f1664..280d126b3dc 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -25,12 +25,18 @@ FIRE ALARM active_power_usage = 6 power_channel = ENVIRON resistance_flags = FIRE_PROOF + + light_power = 0 + light_range = 7 + light_color = "#ff3232" + var/last_process = 0 var/wiresexposed = 0 var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone var/report_fire_alarms = TRUE // Should triggered fire alarms also trigger an actual alarm? var/show_alert_level = TRUE // Should fire alarms display the current alert level? + var/area/myarea = null /obj/machinery/firealarm/no_alarm report_fire_alarms = FALSE @@ -191,6 +197,7 @@ FIRE ALARM /obj/machinery/firealarm/obj_break(damage_flag) if(!(stat & BROKEN) && !(flags & NODECONSTRUCT) && buildstage != 0) //can't break the electronics if there isn't any inside. stat |= BROKEN + LAZYREMOVE(myarea.firealarms, src) update_icon() /obj/machinery/firealarm/deconstruct(disassembled = TRUE) @@ -203,6 +210,14 @@ FIRE ALARM new /obj/item/stack/cable_coil(loc, 3) qdel(src) +/obj/machinery/firealarm/proc/update_fire_light(fire) + if(fire == !!light_power) + return // do nothing if we're already active + if(fire) + set_light(l_power = 0.8) + else + set_light(l_power = 0) + /obj/machinery/firealarm/process()//Note: this processing was mostly phased out due to other code, and only runs when needed if(stat & (NOPOWER|BROKEN)) return @@ -289,23 +304,13 @@ FIRE ALARM if(!working) return var/area/A = get_area(src) - A.fire_reset() + A.firereset(src) - for(var/obj/machinery/firealarm/FA in A) - if(is_station_contact(z) && FA.report_fire_alarms) - SSalarms.fire_alarm.clearAlarm(loc, FA) - -/obj/machinery/firealarm/proc/alarm(var/duration = 0) +/obj/machinery/firealarm/proc/alarm() if(!working) return - var/area/A = get_area(src) - for(var/obj/machinery/firealarm/FA in A) - if(is_station_contact(z) && FA.report_fire_alarms) - SSalarms.fire_alarm.triggerAlarm(loc, FA, duration) - else - A.fire_alert() // Manually trigger alarms if the alarm isn't reported - + A.firealert(src) // Manually trigger alarms if the alarm isn't reported update_icon() /obj/machinery/firealarm/New(location, direction, building) @@ -323,8 +328,14 @@ FIRE ALARM else overlays += image('icons/obj/monitors.dmi', "overlay_green") + myarea = get_area(src) + LAZYADD(myarea.firealarms, src) update_icon() +/obj/machinery/firealarm/Destroy() + LAZYREMOVE(myarea.firealarms, src) + return ..() + /* FIRE ALARM CIRCUIT Just a object used in constructing fire alarms diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 5f5c62abd21..97e46e3abb5 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -221,6 +221,12 @@ A.contents += thing thing.change_area(old_area, A) + var/area/oldA = get_area(get_turf(usr)) + var/list/firedoors = oldA.firedoors + for(var/door in firedoors) + var/obj/machinery/door/firedoor/FD = door + FD.CalculateAffectingAreas() + interact() area_created = TRUE return area_created @@ -236,6 +242,10 @@ return set_area_machinery_title(A,str,prevname) A.name = str + if(A.firedoors) + for(var/D in A.firedoors) + var/obj/machinery/door/firedoor/FD = D + FD.CalculateAffectingAreas() to_chat(usr, "You rename the '[prevname]' to '[str]'.") interact() return 1 diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index e174634123d..a273d8990b2 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -277,6 +277,13 @@ if(SSair && !ignore_air) SSair.add_to_active(src) + //update firedoor adjacency + var/list/turfs_to_check = get_adjacent_open_turfs(src) | src + for(var/I in turfs_to_check) + var/turf/T = I + for(var/obj/machinery/door/firedoor/FD in T) + FD.CalculateAffectingAreas() + if(!keep_cabling && !can_have_cabling()) for(var/obj/structure/cable/C in contents) qdel(C) diff --git a/code/modules/alarm/alarm.dm b/code/modules/alarm/alarm.dm deleted file mode 100644 index 752d3232d23..00000000000 --- a/code/modules/alarm/alarm.dm +++ /dev/null @@ -1,136 +0,0 @@ -#define ALARM_RESET_DELAY 100 // How long will the alarm/trigger remain active once origin/source has been found to be gone? - -/datum/alarm_source - var/source = null // The source trigger - var/source_name = "" // The name of the source should it be lost (for example a destroyed camera) - var/duration = 0 // How long this source will be alarming, 0 for indefinetely. - var/severity = 1 // How severe the alarm from this source is. - var/start_time = 0 // When this source began alarming. - var/end_time = 0 // Use to set when this trigger should clear, in case the source is lost. - -/datum/alarm_source/New(var/atom/source) - src.source = source - start_time = world.time - source_name = source.get_source_name() - -/datum/alarm - var/atom/origin //Used to identify the alarm area. - var/list/sources = new() //List of sources triggering the alarm. Used to determine when the alarm should be cleared. - var/list/sources_assoc = new() //Associative list of source triggers. Used to efficiently acquire the alarm source. - var/list/cameras //List of cameras that can be switched to, if the player has that capability. - var/area/last_area //The last acquired area, used should origin be lost (for example a destroyed borg containing an alarming camera). - var/area/last_name //The last acquired name, used should origin be lost - var/area/last_camera_area //The last area in which cameras where fetched, used to see if the camera list should be updated. - var/end_time //Used to set when this alarm should clear, in case the origin is lost. - -/datum/alarm/New(var/atom/origin, var/atom/source, var/duration, var/severity) - src.origin = origin - - cameras() // Sets up both cameras and last alarm area. - set_source_data(source, duration, severity) - -/datum/alarm/process() - // Has origin gone missing? - if(!origin && !end_time) - end_time = world.time + ALARM_RESET_DELAY - for(var/datum/alarm_source/AS in sources) - // Has the alarm passed its best before date? - if((AS.end_time && world.time > AS.end_time) || (AS.duration && world.time > (AS.start_time + AS.duration))) - sources -= AS - // Has the source gone missing? Then reset the normal duration and set end_time - if(!AS.source && !AS.end_time) // end_time is used instead of duration to ensure the reset doesn't remain in the future indefinetely. - AS.duration = 0 - AS.end_time = world.time + ALARM_RESET_DELAY - -/datum/alarm/proc/set_source_data(var/atom/source, var/duration, var/severity) - var/datum/alarm_source/AS = sources_assoc[source] - if(!AS) - AS = new/datum/alarm_source(source) - sources += AS - sources_assoc[source] = AS - // Currently only non-0 durations can be altered (normal alarms VS EMP blasts) - if(AS.duration) - duration = duration SECONDS - AS.duration = duration - AS.severity = severity - -/datum/alarm/proc/clear(var/source) - var/datum/alarm_source/AS = sources_assoc[source] - sources -= AS - sources_assoc -= source - -/datum/alarm/proc/alarm_area() - if(!origin) - return last_area - - last_area = origin.get_alarm_area() - return last_area - -/datum/alarm/proc/alarm_name() - if(!origin) - return last_name - - last_name = origin.get_alarm_name() - return last_name - -/datum/alarm/proc/cameras() - // If the alarm origin has changed area, for example a borg containing an alarming camera, reset the list of cameras - if(cameras && (last_camera_area != alarm_area())) - cameras = null - - // The list of cameras is also reset by /proc/invalidateCameraCache() - if(!cameras) - cameras = origin ? origin.get_alarm_cameras() : last_area.get_alarm_cameras() - - last_camera_area = last_area - return cameras - -/datum/alarm/proc/max_severity() - var/max_severity = 0 - for(var/datum/alarm_source/AS in sources) - max_severity = max(AS.severity, max_severity) - - return max_severity - -/****************** -* Assisting procs * -******************/ -/atom/proc/get_alarm_area() - var/area/A = get_area(src) - return A - -/area/get_alarm_area() - return src - -/atom/proc/get_alarm_name() - var/area/A = get_area(src) - return A.name - -/area/get_alarm_name() - return name - -/mob/get_alarm_name() - return name - -/atom/proc/get_source_name() - return name - -/obj/machinery/camera/get_source_name() - return c_tag - -/atom/proc/get_alarm_cameras() - var/area/A = get_area(src) - return A.get_cameras() - -/area/get_alarm_cameras() - return get_cameras() - -/mob/living/silicon/robot/get_alarm_cameras() - var/list/cameras = ..() - if(camera) - cameras += camera - - return cameras - -/mob/living/silicon/robot/syndicate/get_alarm_cameras() - return list() diff --git a/code/modules/alarm/alarm_handler.dm b/code/modules/alarm/alarm_handler.dm deleted file mode 100644 index 56a673bb5b4..00000000000 --- a/code/modules/alarm/alarm_handler.dm +++ /dev/null @@ -1,103 +0,0 @@ -#define ALARM_RAISED 1 -#define ALARM_CLEARED 0 - -/datum/alarm_handler - var/category = "" - var/list/datum/alarm/alarms = new // All alarms, to handle cases when an origin has been deleted with one or more active alarms - var/list/datum/alarm/alarms_assoc = new // Associative list of alarms, to efficiently acquire them based on origin. - var/list/listeners = new // A list of all objects interested in alarm changes. - -/datum/alarm_handler/process() - for(var/datum/alarm/A in alarms) - A.process() - check_alarm_cleared(A) - -/datum/alarm_handler/proc/triggerAlarm(var/atom/origin, var/atom/source, var/duration = 0, var/severity = 1) - var/new_alarm - //Proper origin and source mandatory - if(!(origin && source)) - return - origin = origin.get_alarm_origin() - - new_alarm = 0 - //see if there is already an alarm of this origin - var/datum/alarm/existing = alarms_assoc[origin] - if(existing) - existing.set_source_data(source, duration, severity) - else - existing = new/datum/alarm(origin, source, duration, severity) - new_alarm = 1 - - alarms |= existing - alarms_assoc[origin] = existing - if(new_alarm) - alarms = dd_sortedObjectList(alarms) - on_alarm_change(existing, ALARM_RAISED) - - return new_alarm - -/datum/alarm_handler/proc/clearAlarm(var/atom/origin, var/source) - //Proper origin and source mandatory - if(!(origin && source)) - return - origin = origin.get_alarm_origin() - - var/datum/alarm/existing = alarms_assoc[origin] - if(existing) - existing.clear(source) - return check_alarm_cleared(existing) - -/datum/alarm_handler/proc/has_major_alarms() - if(alarms && alarms.len) - return 1 - return 0 - -/datum/alarm_handler/proc/major_alarms() - return alarms - -/datum/alarm_handler/proc/minor_alarms() - return alarms - -/datum/alarm_handler/proc/check_alarm_cleared(var/datum/alarm/alarm) - if((alarm.end_time && world.time > alarm.end_time) || !alarm.sources.len) - alarms -= alarm - alarms_assoc -= alarm.origin - on_alarm_change(alarm, ALARM_CLEARED) - return 1 - return 0 - -/datum/alarm_handler/proc/on_alarm_change(var/datum/alarm/alarm, var/was_raised) - for(var/obj/machinery/camera/C in alarm.cameras()) - if(was_raised) - C.network.Add(category) - else - C.network.Remove(category) - notify_listeners(alarm, was_raised) - -/datum/alarm_handler/proc/get_alarm_severity_for_origin(var/atom/origin) - if(!origin) - return - - origin = origin.get_alarm_origin() - var/datum/alarm/existing = alarms_assoc[origin] - if(!existing) - return - - return existing.max_severity() - -/atom/proc/get_alarm_origin() - return src - -/turf/get_alarm_origin() - var/area/area = get_area(src) - return area // Very important to get area.master, as dynamic lightning can and will split areas. - -/datum/alarm_handler/proc/register(var/object, var/procName) - listeners[object] = procName - -/datum/alarm_handler/proc/unregister(var/object) - listeners -= object - -/datum/alarm_handler/proc/notify_listeners(var/alarm, var/was_raised) - for(var/listener in listeners) - call(listener, listeners[listener])(src, alarm, was_raised) diff --git a/code/modules/alarm/atmosphere_alarm.dm b/code/modules/alarm/atmosphere_alarm.dm deleted file mode 100644 index cc29b40ac44..00000000000 --- a/code/modules/alarm/atmosphere_alarm.dm +++ /dev/null @@ -1,19 +0,0 @@ -/datum/alarm_handler/atmosphere - category = "Atmosphere Alarms" - -/datum/alarm_handler/atmosphere/triggerAlarm(var/atom/origin, var/atom/source, var/duration = 0, var/severity = 1) - ..() - -/datum/alarm_handler/atmosphere/major_alarms() - var/list/major_alarms = new() - for(var/datum/alarm/A in alarms) - if(A.max_severity() > 1) - major_alarms.Add(A) - return major_alarms - -/datum/alarm_handler/atmosphere/minor_alarms() - var/list/minor_alarms = new() - for(var/datum/alarm/A in alarms) - if(A.max_severity() == 1) - minor_alarms.Add(A) - return minor_alarms diff --git a/code/modules/alarm/burglar_alarm.dm b/code/modules/alarm/burglar_alarm.dm deleted file mode 100644 index c55cb12deef..00000000000 --- a/code/modules/alarm/burglar_alarm.dm +++ /dev/null @@ -1,2 +0,0 @@ -/datum/alarm_handler/burglar - category = "Burglar Alarms" diff --git a/code/modules/alarm/camera_alarm.dm b/code/modules/alarm/camera_alarm.dm deleted file mode 100644 index bef53ad466f..00000000000 --- a/code/modules/alarm/camera_alarm.dm +++ /dev/null @@ -1,2 +0,0 @@ -/datum/alarm_handler/camera - category = "Camera Alarms" diff --git a/code/modules/alarm/fire_alarm.dm b/code/modules/alarm/fire_alarm.dm deleted file mode 100644 index dfae3cc8177..00000000000 --- a/code/modules/alarm/fire_alarm.dm +++ /dev/null @@ -1,11 +0,0 @@ -/datum/alarm_handler/fire - category = "Fire Alarms" - -/datum/alarm_handler/fire/on_alarm_change(var/datum/alarm/alarm, var/was_raised) - var/area/A = alarm.origin - if(istype(A)) - if(was_raised) - A.fire_alert() - else - A.fire_reset() - ..() diff --git a/code/modules/alarm/motion_alarm.dm b/code/modules/alarm/motion_alarm.dm deleted file mode 100644 index fd7e6febe48..00000000000 --- a/code/modules/alarm/motion_alarm.dm +++ /dev/null @@ -1,2 +0,0 @@ -/datum/alarm_handler/motion - category = "Motion Alarms" diff --git a/code/modules/alarm/power_alarm.dm b/code/modules/alarm/power_alarm.dm deleted file mode 100644 index 4a0947a8f94..00000000000 --- a/code/modules/alarm/power_alarm.dm +++ /dev/null @@ -1,10 +0,0 @@ -/datum/alarm_handler/power - category = "Power Alarms" - -/datum/alarm_handler/power/on_alarm_change(var/datum/alarm/alarm, var/was_raised) - var/area/A = alarm.origin - if(istype(A)) - A.power_alert(was_raised) - ..() - -/area/proc/power_alert(var/alarming) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 85c4ceac427..3a506a28690 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -241,6 +241,39 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( return show_borg_info() +/mob/living/silicon/ai/proc/ai_alerts() + var/dat = "Current Station Alerts\n" + dat += "Close

" + for(var/cat in alarms) + dat += text("[]
\n", cat) + var/list/L = alarms[cat] + if(L.len) + for(var/alarm in L) + var/list/alm = L[alarm] + var/area/A = alm[1] + var/C = alm[2] + var/list/sources = alm[3] + dat += "" + if(C && istype(C, /list)) + var/dat2 = "" + for (var/obj/machinery/camera/I in C) + dat2 += text("[][]", (dat2=="") ? "" : " | ", I.c_tag) + dat += text("-- [] ([])", A.name, (dat2!="") ? dat2 : "No Camera") + else if(C && istype(C, /obj/machinery/camera)) + var/obj/machinery/camera/Ctmp = C + dat += text("-- [] ([])", A.name, Ctmp.c_tag) + else + dat += text("-- [] (No Camera)", A.name) + if(sources.len > 1) + dat += text("- [] sources", sources.len) + dat += "
\n" + else + dat += "-- All Systems Nominal
\n" + dat += "
\n" + + viewalerts = TRUE + src << browse(dat, "window=aialerts&can_close=0") + /mob/living/silicon/ai/proc/show_borg_info() stat(null, text("Connected cyborgs: [connected_robots.len]")) for(var/mob/living/silicon/robot/R in connected_robots) @@ -608,8 +641,8 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( src << browse(null, t1) if(href_list["switchcamera"]) switchCamera(locate(href_list["switchcamera"])) in GLOB.cameranet.cameras - if(href_list["showalerts"]) - subsystem_alarm_monitor() + if (href_list["showalerts"]) + ai_alerts() if(href_list["show_paper"]) if(last_paper_seen) src << browse(last_paper_seen, "window=show_paper") @@ -784,6 +817,62 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( Bot.call_bot(src, waypoint) +/mob/living/silicon/ai/triggerAlarm(class, area/A, O, obj/alarmsource) + if(alarmsource.z != z) + return + var/list/L = alarms[class] + for (var/I in L) + if (I == A.name) + var/list/alarm = L[I] + var/list/sources = alarm[3] + if (!(alarmsource in sources)) + sources += alarmsource + return 1 + var/obj/machinery/camera/C = null + var/list/CL = null + if (O && istype(O, /list)) + CL = O + if (CL.len == 1) + C = CL[1] + else if (O && istype(O, /obj/machinery/camera)) + C = O + L[A.name] = list(A, (C) ? C : O, list(alarmsource)) + if (O) + if (C && C.can_use()) + queueAlarm("--- [class] alarm detected in [A.name]! ([C.c_tag])", class) + else if (CL && CL.len) + var/foo = 0 + var/dat2 = "" + for (var/obj/machinery/camera/I in CL) + dat2 += text("[][]", (!foo) ? "" : " | ", I.c_tag) //I'm not fixing this shit... + foo = 1 + queueAlarm(text ("--- [] alarm detected in []! ([])", class, A.name, dat2), class) + else + queueAlarm(text("--- [] alarm detected in []! (No Camera)", class, A.name), class) + else + queueAlarm(text("--- [] alarm detected in []! (No Camera)", class, A.name), class) + if(viewalerts) + ai_alerts() + return 1 + +/mob/living/silicon/ai/cancelAlarm(class, area/A, obj/origin) + var/list/L = alarms[class] + var/cleared = 0 + for (var/I in L) + if (I == A.name) + var/list/alarm = L[I] + var/list/srcs = alarm[3] + if (origin in srcs) + srcs -= origin + if (srcs.len == 0) + cleared = 1 + L -= I + if(cleared) + queueAlarm("--- [class] alarm in [A.name] has been cleared.", class, 0) + if (viewalerts) + ai_alerts() + return !cleared + /mob/living/silicon/ai/proc/switchCamera(obj/machinery/camera/C) if(!tracking) diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 61151e35c92..106eaf86d37 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -132,8 +132,6 @@ sleep(50) theAPC = null - process_queued_alarms() - /mob/living/silicon/ai/updatehealth(reason = "none given") if(status_flags & GODMODE) health = 100 diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 07080e694bf..9ad5c9491ba 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -13,7 +13,6 @@ handle_robot_cell() process_locks() update_items() - process_queued_alarms() /mob/living/silicon/robot/proc/handle_robot_cell() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index d7f42a9ceb5..6fa22aed5ab 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -540,6 +540,34 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( src.verbs -= GLOB.robot_verbs_default src.verbs -= silicon_subsystems +/mob/living/silicon/robot/verb/cmd_robot_alerts() + set category = "Robot Commands" + set name = "Show Alerts" + if(usr.stat == DEAD) + to_chat(src, "Alert: You are dead.") + return //won't work if dead + robot_alerts() + +/mob/living/silicon/robot/proc/robot_alerts() + var/dat = "" + for(var/cat in alarms) + dat += text("[cat]
\n") + var/list/L = alarms[cat] + if (L.len) + for (var/alarm in L) + var/list/alm = L[alarm] + var/area/A = alm[1] + dat += "" + dat += text("-- [A.name]") + dat += "
\n" + else + dat += "-- All Systems Nominal
\n" + dat += "
\n" + + var/datum/browser/alerts = new(usr, "robotalerts", "Current Station Alerts", 400, 410) + alerts.set_content(dat) + alerts.open() + /mob/living/silicon/robot/proc/ionpulse() if(!ionpulse_on) return @@ -601,6 +629,47 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /mob/living/silicon/robot/InCritical() return low_power_mode +/mob/living/silicon/robot/triggerAlarm(class, area/A, O, obj/alarmsource) + if(alarmsource.z != z) + return + if(stat == DEAD) + return 1 + var/list/L = alarms[class] + for(var/I in L) + if (I == A.name) + var/list/alarm = L[I] + var/list/sources = alarm[3] + if (!(alarmsource in sources)) + sources += alarmsource + return 1 + var/obj/machinery/camera/C = null + var/list/CL = null + if(O && istype(O, /list)) + CL = O + if (CL.len == 1) + C = CL[1] + else if(O && istype(O, /obj/machinery/camera)) + C = O + L[A.name] = list(A, (C) ? C : O, list(alarmsource)) + queueAlarm(text("--- [class] alarm detected in [A.name]!"), class) + return 1 + +/mob/living/silicon/robot/cancelAlarm(class, area/A, obj/origin) + var/list/L = alarms[class] + var/cleared = 0 + for(var/I in L) + if (I == A.name) + var/list/alarm = L[I] + var/list/srcs = alarm[3] + if (origin in srcs) + srcs -= origin + if (srcs.len == 0) + cleared = 1 + L -= I + if(cleared) + queueAlarm("--- [class] alarm in [A.name] has been cleared.", class, 0) + return !cleared + /mob/living/silicon/robot/ex_act(severity) switch(severity) if(1.0) @@ -1020,10 +1089,6 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( src << browse(null, t1) return 1 - if(href_list["showalerts"]) - subsystem_alarm_monitor() - return 1 - if(href_list["mod"]) var/obj/item/O = locate(href_list["mod"]) if(istype(O) && (O.loc == src)) @@ -1038,6 +1103,10 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( activate_module(O) installed_modules() + //Show alerts window if user clicked on "Show alerts" in chat + if(href_list["showalerts"]) + robot_alerts() + if(href_list["deact"]) var/obj/item/O = locate(href_list["deact"]) if(activated(O)) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index c923e0912b7..af8f192dda8 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -11,9 +11,10 @@ var/list/stating_laws = list()// Channels laws are currently being stated on var/list/alarms_to_show = list() var/list/alarms_to_clear = list() + var/list/alarm_types_show = list("Motion" = 0, "Fire" = 0, "Atmosphere" = 0, "Power" = 0, "Camera" = 0) + var/list/alarm_types_clear = list("Motion" = 0, "Fire" = 0, "Atmosphere" = 0, "Power" = 0, "Camera" = 0) //var/list/hud_list[10] var/list/speech_synthesizer_langs = list() //which languages can be vocalized by the speech synthesizer - var/list/alarm_handlers = list() // List of alarm handlers this silicon is registered to var/designation = "" var/obj/item/camera/siliconcam/aiCamera = null //photography //Used in say.dm, allows for pAIs to have different say flavor text, as well as silicons, although the latter is not implemented. @@ -25,9 +26,6 @@ //var/sensor_mode = 0 //Determines the current HUD. - var/next_alarm_notice - var/list/datum/alarm/queued_alarms = new() - hud_possible = list(SPECIALROLE_HUD, DIAG_STAT_HUD, DIAG_HUD) @@ -55,10 +53,90 @@ /mob/living/silicon/Destroy() GLOB.silicon_mob_list -= src - for(var/datum/alarm_handler/AH in alarm_handlers) - AH.unregister(src) return ..() +/mob/living/silicon/proc/cancelAlarm() + return + +/mob/living/silicon/proc/triggerAlarm() + return + +/mob/living/silicon/proc/queueAlarm(message, type, incoming = 1) + var/in_cooldown = (alarms_to_show.len > 0 || alarms_to_clear.len > 0) + if(incoming) + alarms_to_show += message + alarm_types_show[type] += 1 + else + alarms_to_clear += message + alarm_types_clear[type] += 1 + + if(in_cooldown) + return + + addtimer(CALLBACK(src, .proc/show_alarms), 3 SECONDS) + +/mob/living/silicon/proc/show_alarms() + if(alarms_to_show.len < 5) + for(var/msg in alarms_to_show) + to_chat(src, msg) + else if(alarms_to_show.len) + + var/msg = "--- " + + if(alarm_types_show["Burglar"]) + msg += "BURGLAR: [alarm_types_show["Burglar"]] alarms detected. - " + + if(alarm_types_show["Motion"]) + msg += "MOTION: [alarm_types_show["Motion"]] alarms detected. - " + + if(alarm_types_show["Fire"]) + msg += "FIRE: [alarm_types_show["Fire"]] alarms detected. - " + + if(alarm_types_show["Atmosphere"]) + msg += "ATMOSPHERE: [alarm_types_show["Atmosphere"]] alarms detected. - " + + if(alarm_types_show["Power"]) + msg += "POWER: [alarm_types_show["Power"]] alarms detected. - " + + if(alarm_types_show["Camera"]) + msg += "CAMERA: [alarm_types_show["Camera"]] alarms detected. - " + + msg += "\[Show Alerts\]" + to_chat(src, msg) + + if(alarms_to_clear.len < 3) + for(var/msg in alarms_to_clear) + to_chat(src, msg) + + else if(alarms_to_clear.len) + var/msg = "--- " + + if(alarm_types_clear["Motion"]) + msg += "MOTION: [alarm_types_clear["Motion"]] alarms cleared. - " + + if(alarm_types_clear["Fire"]) + msg += "FIRE: [alarm_types_clear["Fire"]] alarms cleared. - " + + if(alarm_types_clear["Atmosphere"]) + msg += "ATMOSPHERE: [alarm_types_clear["Atmosphere"]] alarms cleared. - " + + if(alarm_types_clear["Power"]) + msg += "POWER: [alarm_types_clear["Power"]] alarms cleared. - " + + if(alarm_types_show["Camera"]) + msg += "CAMERA: [alarm_types_clear["Camera"]] alarms cleared. - " + + msg += "\[Show Alerts\]" + to_chat(src, msg) + + + alarms_to_show.Cut() + alarms_to_clear.Cut() + for(var/key in alarm_types_show) + alarm_types_show[key] = 0 + for(var/key in alarm_types_clear) + alarm_types_clear[key] = 0 + /mob/living/silicon/rename_character(oldname, newname) // we actually don't want it changing minds and stuff if(!newname) @@ -283,63 +361,6 @@ if("Disable") to_chat(src, "Sensor augmentations disabled.") -/mob/living/silicon/proc/receive_alarm(var/datum/alarm_handler/alarm_handler, var/datum/alarm/alarm, was_raised) - if(!next_alarm_notice) - next_alarm_notice = world.time + 10 SECONDS - - var/list/alarms = queued_alarms[alarm_handler] - if(was_raised) - // Raised alarms are always set - alarms[alarm] = 1 - else - // Alarms that were raised but then cleared before the next notice are instead removed - if(alarm in alarms) - alarms -= alarm - // And alarms that have only been cleared thus far are set as such - else - alarms[alarm] = -1 - -/mob/living/silicon/proc/process_queued_alarms() - if(next_alarm_notice && (world.time > next_alarm_notice)) - next_alarm_notice = 0 - - var/alarm_raised = 0 - for(var/datum/alarm_handler/AH in queued_alarms) - var/list/alarms = queued_alarms[AH] - var/reported = 0 - for(var/datum/alarm/A in alarms) - if(alarms[A] == 1) - if(!reported) - reported = 1 - to_chat(src, "--- [AH.category] Detected ---") - raised_alarm(A) - - for(var/datum/alarm_handler/AH in queued_alarms) - var/list/alarms = queued_alarms[AH] - var/reported = 0 - for(var/datum/alarm/A in alarms) - if(alarms[A] == -1) - if(!reported) - reported = 1 - to_chat(src, "--- [AH.category] Cleared ---") - to_chat(src, "\The [A.alarm_name()].") - - if(alarm_raised) - to_chat(src, "\[Show Alerts\]") - - for(var/datum/alarm_handler/AH in queued_alarms) - var/list/alarms = queued_alarms[AH] - alarms.Cut() - -/mob/living/silicon/proc/raised_alarm(var/datum/alarm/A) - to_chat(src, "[A.alarm_name()]!") - -/mob/living/silicon/ai/raised_alarm(var/datum/alarm/A) - var/cameratext = "" - for(var/obj/machinery/camera/C in A.cameras()) - cameratext += "[(cameratext == "")? "" : "|"][C.c_tag]" - to_chat(src, "[A.alarm_name()]! ([(cameratext)? cameratext : "No Camera"])") - /mob/living/silicon/adjustToxLoss(var/amount) return STATUS_UPDATE_NONE diff --git a/code/modules/mob/living/silicon/subsystems.dm b/code/modules/mob/living/silicon/subsystems.dm index d18d41a40cf..65a92d07008 100644 --- a/code/modules/mob/living/silicon/subsystems.dm +++ b/code/modules/mob/living/silicon/subsystems.dm @@ -8,13 +8,11 @@ /mob/living/silicon var/list/silicon_subsystems = list( - /mob/living/silicon/proc/subsystem_alarm_monitor, /mob/living/silicon/proc/subsystem_law_manager ) /mob/living/silicon/ai silicon_subsystems = list( - /mob/living/silicon/proc/subsystem_alarm_monitor, /mob/living/silicon/proc/subsystem_atmos_control, /mob/living/silicon/proc/subsystem_crew_monitor, /mob/living/silicon/proc/subsystem_law_manager, @@ -23,7 +21,6 @@ /mob/living/silicon/robot/drone silicon_subsystems = list( - /mob/living/silicon/proc/subsystem_alarm_monitor, /mob/living/silicon/proc/subsystem_law_manager, /mob/living/silicon/proc/subsystem_power_monitor ) @@ -32,30 +29,11 @@ register_alarms = 0 /mob/living/silicon/proc/init_subsystems() - alarm_monitor = new(src) atmos_control = new(src) crew_monitor = new(src) law_manager = new(src) power_monitor = new(src) - if(!register_alarms) - return - - var/list/register_to = list(SSalarms.atmosphere_alarm, SSalarms.burglar_alarm, SSalarms.camera_alarm, SSalarms.fire_alarm, SSalarms.motion_alarm, SSalarms.power_alarm) - for(var/datum/alarm_handler/AH in register_to) - AH.register(src, /mob/living/silicon/proc/receive_alarm) - queued_alarms[AH] = list() // Makes sure alarms remain listed in consistent order - alarm_handlers |= AH - -/******************** -* Alarm Monitor * -********************/ -/mob/living/silicon/proc/subsystem_alarm_monitor() - set name = "Alarm Monitor" - set category = "Subsystems" - - alarm_monitor.ui_interact(usr, state = GLOB.self_state) - /******************** * Atmos Control * ********************/ diff --git a/code/modules/modular_computers/computers/machinery/console_presets.dm b/code/modules/modular_computers/computers/machinery/console_presets.dm index 4f1bd269337..a2357fd9ebe 100644 --- a/code/modules/modular_computers/computers/machinery/console_presets.dm +++ b/code/modules/modular_computers/computers/machinery/console_presets.dm @@ -35,7 +35,7 @@ /obj/machinery/modular_computer/console/preset/engineering/install_programs() var/obj/item/computer_hardware/hard_drive/hard_drive = cpu.all_components[MC_HDD] hard_drive.store_file(new/datum/computer_file/program/power_monitor()) - hard_drive.store_file(new/datum/computer_file/program/alarm_monitor()) +// hard_drive.store_file(new/datum/computer_file/program/alarm_monitor()) //TO-DO:TGUI--Uncomment Modular computers hard_drive.store_file(new/datum/computer_file/program/supermatter_monitor()) // ===== RESEARCH CONSOLE ===== diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm index 8cb47337a6d..87576935e06 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm @@ -7,65 +7,103 @@ requires_ntnet = 1 network_destination = "alarm monitoring network" size = 5 - var/list/datum/alarm_handler/alarm_handlers + var/tgui_id = "NtosStationAlertConsole" + var/ui_x = 315 + var/ui_y = 500 -/datum/computer_file/program/alarm_monitor/New() + var/has_alert = 0 + var/alarms = list("Fire" = list(), "Atmosphere" = list(), "Power" = list()) + +/datum/computer_file/program/alarm_monitor/process_tick() ..() - alarm_handlers = list(SSalarms.atmosphere_alarm, SSalarms.fire_alarm, SSalarms.power_alarm) - for(var/datum/alarm_handler/AH in alarm_handlers) - AH.register(src, /datum/computer_file/program/alarm_monitor/proc/update_icon) -/datum/computer_file/program/alarm_monitor/Destroy() - for(var/datum/alarm_handler/AH in alarm_handlers) - AH.unregister(src) - QDEL_NULL(alarm_handlers) - return ..() - -/datum/computer_file/program/alarm_monitor/proc/update_icon() - for(var/datum/alarm_handler/AH in alarm_handlers) - if(AH.has_major_alarms()) - program_icon_state = "alert-red" - ui_header = "alarm_red.gif" + if(has_alert) + program_icon_state = "alert-red" + ui_header = "alarm_red.gif" + update_computer_icon() + else + if(!has_alert) + program_icon_state = "alert-green" + ui_header = "alarm_green.gif" update_computer_icon() - return 1 - program_icon_state = "alert-green" - ui_header = "alarm_green.gif" - update_computer_icon() - return 0 + return 1 -/datum/computer_file/program/alarm_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open) - if(!ui) - var/datum/asset/assets = get_asset_datum(/datum/asset/simple/headers) - assets.send(user) - ui = new(user, src, ui_key, "alarm_monitor.tmpl", "Alarm Monitoring", 575, 700) - ui.set_auto_update(1) - ui.set_layout_key("program") - ui.open() - -/datum/computer_file/program/alarm_monitor/ui_data(mob/user) +/datum/computer_file/program/alarm_monitor/tgui_data(mob/user) var/list/data = get_header_data() - var/categories[0] - for(var/datum/alarm_handler/AH in alarm_handlers) - categories[++categories.len] = list("category" = AH.category, "alarms" = list()) - for(var/datum/alarm/A in AH.major_alarms()) - var/cameras[0] - var/lost_sources[0] - - if(isAI(user)) - for(var/obj/machinery/camera/C in A.cameras()) - cameras[++cameras.len] = C.nano_structure() - for(var/datum/alarm_source/AS in A.sources) - if(!AS.source) - lost_sources[++lost_sources.len] = AS.source_name - - categories[categories.len]["alarms"] += list(list( - "name" = sanitize(A.alarm_name()), - "origin_lost" = A.origin == null, - "has_cameras" = cameras.len, - "cameras" = cameras, - "lost_sources" = lost_sources.len ? sanitize(english_list(lost_sources, nothing_text = "", and_text = ", ")) : "")) - data["categories"] = categories + data["alarms"] = list() + for(var/class in alarms) + data["alarms"][class] = list() + for(var/area in alarms[class]) + data["alarms"][class] += area return data + +/datum/computer_file/program/alarm_monitor/proc/triggerAlarm(class, area/A, O, obj/source) + if(is_station_level(source.z)) + if(!(A.type in GLOB.the_station_areas)) + return + else if(!is_mining_level(source.z) || istype(A, /area/ruin)) + return + + var/list/L = alarms[class] + for(var/I in L) + if (I == A.name) + var/list/alarm = L[I] + var/list/sources = alarm[3] + if (!(source in sources)) + sources += source + return 1 + var/obj/machinery/camera/C = null + var/list/CL = null + if(O && istype(O, /list)) + CL = O + if (CL.len == 1) + C = CL[1] + else if(O && istype(O, /obj/machinery/camera)) + C = O + L[A.name] = list(A, (C ? C : O), list(source)) + + update_alarm_display() + + return 1 + + +/datum/computer_file/program/alarm_monitor/proc/cancelAlarm(class, area/A, obj/origin) + var/list/L = alarms[class] + var/cleared = 0 + var/arealevelalarm = FALSE // set to TRUE for alarms that set/clear whole areas + if(class=="Fire") + arealevelalarm = TRUE + for(var/I in L) + if(I == A.name) + if(!arealevelalarm) // the traditional behaviour + var/list/alarm = L[I] + var/list/srcs = alarm[3] + if (origin in srcs) + srcs -= origin + if (srcs.len == 0) + cleared = 1 + L -= I + else + L -= I // wipe the instances entirely + cleared = 1 + + + update_alarm_display() + return !cleared + +/datum/computer_file/program/alarm_monitor/proc/update_alarm_display() + has_alert = FALSE + for(var/cat in alarms) + var/list/L = alarms[cat] + if(L.len) + has_alert = TRUE + +/datum/computer_file/program/alarm_monitor/run_program(mob/user) + . = ..(user) + GLOB.alarmdisplay += src + +/datum/computer_file/program/alarm_monitor/kill_program(forced = FALSE) + GLOB.alarmdisplay -= src + ..() diff --git a/code/modules/nano/modules/alarm_monitor.dm b/code/modules/nano/modules/alarm_monitor.dm deleted file mode 100644 index cee3820b102..00000000000 --- a/code/modules/nano/modules/alarm_monitor.dm +++ /dev/null @@ -1,90 +0,0 @@ -/datum/nano_module/alarm_monitor - name = "Alarm monitor" - var/list_cameras = 0 // Whether or not to list camera references. A future goal would be to merge this with the enginering/security camera console. Currently really only for AI-use. - var/list/datum/alarm_handler/alarm_handlers // The particular list of alarm handlers this alarm monitor should present to the user. - -/datum/nano_module/alarm_monitor/all/New() - ..() - alarm_handlers = list(SSalarms.atmosphere_alarm, SSalarms.burglar_alarm, SSalarms.camera_alarm, SSalarms.fire_alarm, SSalarms.motion_alarm, SSalarms.power_alarm) - -/datum/nano_module/alarm_monitor/engineering/New() - ..() - alarm_handlers = list(SSalarms.atmosphere_alarm, SSalarms.fire_alarm, SSalarms.power_alarm) - -/datum/nano_module/alarm_monitor/security/New() - ..() - alarm_handlers = list(SSalarms.burglar_alarm, SSalarms.camera_alarm, SSalarms.motion_alarm) - -/datum/nano_module/alarm_monitor/proc/register(var/object, var/procName) - for(var/datum/alarm_handler/AH in alarm_handlers) - AH.register(object, procName) - -/datum/nano_module/alarm_monitor/proc/unregister(var/object) - for(var/datum/alarm_handler/AH in alarm_handlers) - AH.unregister(object) - -/datum/nano_module/alarm_monitor/proc/all_alarms() - var/list/all_alarms = new() - for(var/datum/alarm_handler/AH in alarm_handlers) - all_alarms += AH.alarms - - return all_alarms - -/datum/nano_module/alarm_monitor/proc/major_alarms() - var/list/all_alarms = new() - for(var/datum/alarm_handler/AH in alarm_handlers) - all_alarms += AH.major_alarms() - - return all_alarms - -/datum/nano_module/alarm_monitor/proc/minor_alarms() - var/list/all_alarms = new() - for(var/datum/alarm_handler/AH in alarm_handlers) - all_alarms += AH.minor_alarms() - - return all_alarms - -/datum/nano_module/alarm_monitor/Topic(ref, href_list) - if(..()) - return 1 - if(href_list["switchTo"]) - var/obj/machinery/camera/C = locate(href_list["switchTo"]) in GLOB.cameranet.cameras - if(!C || !isAI(usr)) - return - - usr.switch_to_camera(C) - return 1 - -/datum/nano_module/alarm_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = GLOB.default_state) - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open) - if(!ui) - ui = new(user, src, ui_key, "alarm_monitor.tmpl", "Alarm Monitoring Console", 800, 800, state = state) - ui.open() - ui.set_auto_update(1) - -/datum/nano_module/alarm_monitor/ui_data(mob/user, ui_key = "main", datum/topic_state/state = GLOB.default_state) - var/data[0] - - var/categories[0] - for(var/datum/alarm_handler/AH in alarm_handlers) - categories[++categories.len] = list("category" = AH.category, "alarms" = list()) - for(var/datum/alarm/A in AH.major_alarms()) - var/cameras[0] - var/lost_sources[0] - - if(isAI(user)) - for(var/obj/machinery/camera/C in A.cameras()) - cameras[++cameras.len] = C.nano_structure() - for(var/datum/alarm_source/AS in A.sources) - if(!AS.source) - lost_sources[++lost_sources.len] = AS.source_name - - categories[categories.len]["alarms"] += list(list( - "name" = sanitize(A.alarm_name()), - "origin_lost" = A.origin == null, - "has_cameras" = cameras.len, - "cameras" = cameras, - "lost_sources" = lost_sources.len ? sanitize(english_list(lost_sources, nothing_text = "", and_text = ", ")) : "")) - data["categories"] = categories - - return data diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index f613f34a8fd..fde884d0a85 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -1195,31 +1195,27 @@ lighting = autoset(lighting, 1) environ = autoset(environ, 1) autoflag = 3 - if(report_power_alarm && is_station_contact(z)) - SSalarms.power_alarm.clearAlarm(loc, src) + area.poweralert(1, src) else if(cell.charge < 1250 && cell.charge > 750 && longtermpower < 0) // <30%, turn off equipment if(autoflag != 2) equipment = autoset(equipment, 2) lighting = autoset(lighting, 1) environ = autoset(environ, 1) - if(report_power_alarm && is_station_contact(z)) - SSalarms.power_alarm.triggerAlarm(loc, src) + area.poweralert(0, src) autoflag = 2 else if(cell.charge < 750 && cell.charge > 10) // <15%, turn off lighting & equipment if((autoflag > 1 && longtermpower < 0) || (autoflag > 1 && longtermpower >= 0)) equipment = autoset(equipment, 2) lighting = autoset(lighting, 2) environ = autoset(environ, 1) - if(report_power_alarm && is_station_contact(z)) - SSalarms.power_alarm.triggerAlarm(loc, src) + area.poweralert(0, src) autoflag = 1 else if(cell.charge <= 0) // zero charge, turn all off if(autoflag != 0) equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - if(report_power_alarm && is_station_contact(z)) - SSalarms.power_alarm.triggerAlarm(loc, src) + area.poweralert(0, src) autoflag = 0 // now trickle-charge the cell @@ -1274,8 +1270,7 @@ equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - if(report_power_alarm && is_station_contact(z)) - SSalarms.power_alarm.triggerAlarm(loc, src) + area.poweralert(0, src) autoflag = 0 // update icon & area power if anything changed diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 0a31d882488..fb4df95ac10 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -177,6 +177,8 @@ var/nightshift_light_power = 0.45 var/nightshift_light_color = "#FFDDCC" + var/bulb_emergency_colour = "#FF3232" // determines the colour of the light while it's in emergency mode + // the smaller bulb light fixture /obj/machinery/light/small @@ -238,7 +240,11 @@ switch(status) // set icon_states if(LIGHT_OK) - icon_state = "[base_state][on]" + var/area/A = get_area(src) + if(A && A.fire) + icon_state = "[base_state]_emergency" + else + icon_state = "[base_state][on]" if(LIGHT_EMPTY) icon_state = "[base_state]-empty" on = FALSE @@ -260,10 +266,20 @@ on = FALSE update_icon() if(on) - var/BR = nightshift_enabled ? nightshift_light_range : brightness_range - var/PO = nightshift_enabled ? nightshift_light_power : brightness_power - var/CO = nightshift_enabled ? nightshift_light_color : brightness_color - var/matching = light_range == BR && light_power == PO && light_color == CO + var/BR = brightness_range + var/PO = brightness_power + var/CO = brightness_color + if(color) + CO = color + var/area/A = get_area(src) + if(A && A.fire) + CO = bulb_emergency_colour + else if(nightshift_enabled) + BR = nightshift_light_range + PO = nightshift_light_power + if(!color) + CO = nightshift_light_color + var/matching = light && BR == light.light_range && PO == light.light_power && CO == light.light_color if(!matching) switchcount++ if(rigged) diff --git a/code/modules/power/singularity/investigate.dm b/code/modules/power/singularity/investigate.dm deleted file mode 100644 index 43e8c9f8a8b..00000000000 --- a/code/modules/power/singularity/investigate.dm +++ /dev/null @@ -1,4 +0,0 @@ -/area/engine/engineering/power_alert(var/alarming) - if(alarming) - investigate_log("has a power alarm!","singulo") - ..() diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index f8943c2c39b9d622428a5bda2bdbd543e5631d4b..49b594c1656a96a586901b4ce35d294d8e68707e 100644 GIT binary patch literal 91428 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 literal 90876 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 z%0A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 z { + const { act, data } = useBackend(context); + const priorityAlerts = data.priority || []; + const minorAlerts = data.minor || []; + return ( + + +
+
    + {priorityAlerts.length === 0 && ( +
  • + No Priority Alerts +
  • + )} + {priorityAlerts.map(alert => ( +
  • +
  • + ))} + {minorAlerts.length > 0 && ( +
  • + No Minor Alerts +
  • + )} + {minorAlerts.map(alert => ( +
  • +
  • + ))} +
+
+
+
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/NtosStationAlertConsole.js b/tgui/packages/tgui/interfaces/NtosStationAlertConsole.js new file mode 100644 index 00000000000..67fdbcc9361 --- /dev/null +++ b/tgui/packages/tgui/interfaces/NtosStationAlertConsole.js @@ -0,0 +1,12 @@ +import { NtosWindow } from '../layouts'; +import { StationAlertConsoleContent } from './StationAlertConsole'; + +export const NtosStationAlertConsole = () => { + return ( + + + + + + ); +}; diff --git a/tgui/packages/tgui/interfaces/StationAlertConsole.js b/tgui/packages/tgui/interfaces/StationAlertConsole.js new file mode 100644 index 00000000000..504467f9850 --- /dev/null +++ b/tgui/packages/tgui/interfaces/StationAlertConsole.js @@ -0,0 +1,68 @@ +import { Fragment } from 'inferno'; +import { useBackend } from '../backend'; +import { Section } from '../components'; +import { Window } from '../layouts'; + +export const StationAlertConsole = () => { + return ( + + + + + + ); +}; + +export const StationAlertConsoleContent = (props, context) => { + const { data } = useBackend(context); + const categories = data.alarms || []; + const fire = categories['Fire'] || []; + const atmos = categories['Atmosphere'] || []; + const power = categories['Power'] || []; + return ( + +
+
    + {fire.length === 0 && ( +
  • + Systems Nominal +
  • + )} + {fire.map(alert => ( +
  • + {alert} +
  • + ))} +
+
+
+
    + {atmos.length === 0 && ( +
  • + Systems Nominal +
  • + )} + {atmos.map(alert => ( +
  • + {alert} +
  • + ))} +
+
+
+
    + {power.length === 0 && ( +
  • + Systems Nominal +
  • + )} + {power.map(alert => ( +
  • + {alert} +
  • + ))} +
+
+
+ ); +}; diff --git a/tgui/packages/tgui/public/tgui.bundle.js b/tgui/packages/tgui/public/tgui.bundle.js index 5aa1ea3a049..686bce0d285 100644 --- a/tgui/packages/tgui/public/tgui.bundle.js +++ b/tgui/packages/tgui/public/tgui.bundle.js @@ -1,5 +1,5 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=167)}([function(e,t,n){"use strict";var r=n(2),o=n(16).f,i=n(25),a=n(18),u=n(85),c=n(125),s=n(58);e.exports=function(e,t){var n,l,f,d,p,h=e.target,v=e.global,g=e.stat;if(n=v?r:g?r[h]||u(h,{}):(r[h]||{}).prototype)for(l in t){if(d=t[l],f=e.noTargetGet?(p=o(n,l))&&p.value:n[l],!s(v?l:h+(g?".":"#")+l,e.forced)&&f!==undefined){if(typeof d==typeof f)continue;c(d,f)}(e.sham||f&&f.sham)&&i(d,"sham",!0),a(n,l,d,e)}}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(121))},function(e,t,n){"use strict";t.__esModule=!0;var r=n(382);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=r[e])}))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var r=n(1);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(e,t,n){"use strict";var r=n(4);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var r,o=n(99),i=n(5),a=n(2),u=n(4),c=n(14),s=n(70),l=n(25),f=n(18),d=n(11).f,p=n(31),h=n(45),v=n(10),g=n(55),m=a.Int8Array,y=m&&m.prototype,b=a.Uint8ClampedArray,_=b&&b.prototype,x=m&&p(m),w=y&&p(y),E=Object.prototype,C=E.isPrototypeOf,S=v("toStringTag"),N=g("TYPED_ARRAY_TAG"),k=o&&!!h&&"Opera"!==s(a.opera),O=!1,A={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},I=function(e){var t=s(e);return"DataView"===t||c(A,t)},T=function(e){return u(e)&&c(A,s(e))};for(r in A)a[r]||(k=!1);if((!k||"function"!=typeof x||x===Function.prototype)&&(x=function(){throw TypeError("Incorrect invocation")},k))for(r in A)a[r]&&h(a[r],x);if((!k||!w||w===E)&&(w=x.prototype,k))for(r in A)a[r]&&h(a[r].prototype,w);if(k&&p(_)!==w&&h(_,w),i&&!c(w,S))for(r in O=!0,d(w,S,{get:function(){return u(this)?this[N]:undefined}}),A)a[r]&&l(a[r],N,r);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:k,TYPED_ARRAY_TAG:O&&N,aTypedArray:function(e){if(T(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(h){if(C.call(x,e))return e}else for(var t in A)if(c(A,r)){var n=a[t];if(n&&(e===n||C.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(i){if(n)for(var r in A){var o=a[r];o&&c(o.prototype,e)&&delete o.prototype[e]}w[e]&&!n||f(w,e,n?t:k&&y[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var r,o;if(i){if(h){if(n)for(r in A)(o=a[r])&&c(o,e)&&delete o[e];if(x[e]&&!n)return;try{return f(x,e,n?t:k&&m[e]||t)}catch(u){}}for(r in A)!(o=a[r])||o[e]&&!n||f(o,e,t)}},isView:I,isTypedArray:T,TypedArray:x,TypedArrayPrototype:w}},function(e,t,n){"use strict";var r=n(26),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n0&&(t.style=c),t};t.computeBoxProps=g;var m=function(e){var t=e.textColor||e.color,n=e.backgroundColor;return(0,r.classes)([s(t)&&"color-"+t,s(n)&&"color-bg-"+n])};t.computeBoxClassName=m;var y=function(e){var t=e.as,n=void 0===t?"div":t,r=e.className,a=e.children,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["as","className","children"]);if("function"==typeof a)return a(g(e));var c="string"==typeof r?r+" "+m(u):m(u),s=g(u);return(0,o.createVNode)(i.VNodeFlags.HtmlElement,n,c,a,i.ChildFlags.UnknownChildren,s)};t.Box=y,y.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},function(e,t,n){"use strict";var r=n(43),o=n(54),i=n(12),a=n(8),u=n(60),c=[].push,s=function(e){var t=1==e,n=2==e,s=3==e,l=4==e,f=6==e,d=5==e||f;return function(p,h,v,g){for(var m,y,b=i(p),_=o(b),x=r(h,v,3),w=a(_.length),E=0,C=g||u,S=t?C(p,w):n?C(p,0):undefined;w>E;E++)if((d||E in _)&&(y=x(m=_[E],E,b),e))if(t)S[E]=y;else if(y)switch(e){case 3:return!0;case 5:return m;case 6:return E;case 2:c.call(S,m)}else if(l)return!1;return f?-1:s||l?l:S}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(e,t,n){"use strict";var r=n(5),o=n(67),i=n(41),a=n(21),u=n(29),c=n(14),s=n(122),l=Object.getOwnPropertyDescriptor;t.f=r?l:function(e,t){if(e=a(e),t=u(t,!0),s)try{return l(e,t)}catch(n){}if(c(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(2),o=n(25),i=n(14),a=n(85),u=n(86),c=n(30),s=c.get,l=c.enforce,f=String(String).split("String");(e.exports=function(e,t,n,u){var c=!!u&&!!u.unsafe,s=!!u&&!!u.enumerable,d=!!u&&!!u.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),l(n).source=f.join("string"==typeof t?t:"")),e!==r?(c?!d&&e[t]&&(s=!0):delete e[t],s?e[t]=n:o(e,t,n)):s?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||u(this)}))},function(e,t,n){"use strict";var r=n(5),o=n(1),i=n(14),a=Object.defineProperty,u={},c=function(e){throw e};e.exports=function(e,t){if(i(u,e))return u[e];t||(t={});var n=[][e],s=!!i(t,"ACCESSORS")&&t.ACCESSORS,l=i(t,0)?t[0]:c,f=i(t,1)?t[1]:undefined;return u[e]=!!n&&!o((function(){if(s&&!r)return!0;var e={length:-1};s?a(e,1,{enumerable:!0,get:c}):e[1]=1,n.call(e,l,f)}))}},function(e,t,n){"use strict";function r(e,t,n,r,o,i,a){try{var u=e[i](a),c=u.value}catch(s){return void n(s)}u.done?t(c):Promise.resolve(c).then(r,o)}t.__esModule=!0,t.winset=t.winget=t.runCommand=t.callByondAsync=t.callByond=t.IS_IE8=void 0;var o=window.Byond,i=function(){var e=navigator.userAgent.match(/Trident\/(\d+).+?;/i);if(!e)return null;var t=e[1];return t?parseInt(t,10):null}(),a=null!==i&&i<=6;t.IS_IE8=a;var u=function(e,t){void 0===t&&(t={}),o.call(e,t)};t.callByond=u;var c=function(e,t){void 0===t&&(t={}),window.__callbacks__=window.__callbacks__||[];var n=window.__callbacks__.length,r=new Promise((function(e){window.__callbacks__.push(e)}));return o.call(e,Object.assign({},t,{callback:"__callbacks__["+n+"]"})),r};t.callByondAsync=c;t.runCommand=function(e){return u("winset",{command:e})};var s=function(){var e,t=(e=regeneratorRuntime.mark((function n(e,t){var r;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,c("winget",{id:e,property:t});case 2:return r=n.sent,n.abrupt("return",r[t]);case 4:case"end":return n.stop()}}),n)})),function(){var t=this,n=arguments;return new Promise((function(o,i){var a=e.apply(t,n);function u(e){r(a,o,i,u,c,"next",e)}function c(e){r(a,o,i,u,c,"throw",e)}u(undefined)}))});return function(e,n){return t.apply(this,arguments)}}();t.winget=s;t.winset=function(e,t,n){var r;return u("winset",((r={})[e+"."+t]=n,r))}},function(e,t,n){"use strict";var r=n(54),o=n(17);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var r=n(126),o=n(14),i=n(132),a=n(11).f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});o(t,e)||a(t,e,{value:i.f(e)})}},function(e,t,n){"use strict";var r=n(17),o=/"/g;e.exports=function(e,t,n,i){var a=String(r(e)),u="<"+t;return""!==n&&(u+=" "+n+'="'+String(i).replace(o,""")+'"'),u+">"+a+""}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e){return r((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";var r=n(5),o=n(11),i=n(41);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r=Math.ceil,o=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?o:r)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";var r={}.toString;e.exports=function(e){return r.call(e).slice(8,-1)}},function(e,t,n){"use strict";var r=n(4);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var r,o,i,a=n(124),u=n(2),c=n(4),s=n(25),l=n(14),f=n(68),d=n(56),p=u.WeakMap;if(a){var h=new p,v=h.get,g=h.has,m=h.set;r=function(e,t){return m.call(h,e,t),t},o=function(e){return v.call(h,e)||{}},i=function(e){return g.call(h,e)}}else{var y=f("state");d[y]=!0,r=function(e,t){return s(e,y,t),t},o=function(e){return l(e,y)?e[y]:{}},i=function(e){return l(e,y)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!c(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var r=n(14),o=n(12),i=n(68),a=n(98),u=i("IE_PROTO"),c=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){return e=o(e),r(e,u)?e[u]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?c:null}},function(e,t,n){"use strict";var r=n(126),o=n(2),i=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var r=n(0),o=n(2),i=n(5),a=n(111),u=n(7),c=n(73),s=n(50),l=n(41),f=n(25),d=n(8),p=n(140),h=n(155),v=n(29),g=n(14),m=n(70),y=n(4),b=n(37),_=n(45),x=n(42).f,w=n(156),E=n(15).forEach,C=n(49),S=n(11),N=n(16),k=n(30),O=n(75),A=k.get,I=k.set,T=S.f,M=N.f,V=Math.round,L=o.RangeError,P=c.ArrayBuffer,j=c.DataView,B=u.NATIVE_ARRAY_BUFFER_VIEWS,R=u.TYPED_ARRAY_TAG,F=u.TypedArray,D=u.TypedArrayPrototype,K=u.aTypedArrayConstructor,z=u.isTypedArray,U=function(e,t){for(var n=0,r=t.length,o=new(K(e))(r);r>n;)o[n]=t[n++];return o},Y=function(e,t){T(e,t,{get:function(){return A(this)[t]}})},H=function(e){var t;return e instanceof P||"ArrayBuffer"==(t=m(e))||"SharedArrayBuffer"==t},W=function(e,t){return z(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},$=function(e,t){return W(e,t=v(t,!0))?l(2,e[t]):M(e,t)},G=function(e,t,n){return!(W(e,t=v(t,!0))&&y(n)&&g(n,"value"))||g(n,"get")||g(n,"set")||n.configurable||g(n,"writable")&&!n.writable||g(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};i?(B||(N.f=$,S.f=G,Y(D,"buffer"),Y(D,"byteOffset"),Y(D,"byteLength"),Y(D,"length")),r({target:"Object",stat:!0,forced:!B},{getOwnPropertyDescriptor:$,defineProperty:G}),e.exports=function(e,t,n){var i=e.match(/\d+$/)[0]/8,u=e+(n?"Clamped":"")+"Array",c="get"+e,l="set"+e,v=o[u],g=v,m=g&&g.prototype,S={},N=function(e,t){T(e,t,{get:function(){return function(e,t){var n=A(e);return n.view[c](t*i+n.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,r){var o=A(e);n&&(r=(r=V(r))<0?0:r>255?255:255&r),o.view[l](t*i+o.byteOffset,r,!0)}(this,t,e)},enumerable:!0})};B?a&&(g=t((function(e,t,n,r){return s(e,g,u),O(y(t)?H(t)?r!==undefined?new v(t,h(n,i),r):n!==undefined?new v(t,h(n,i)):new v(t):z(t)?U(g,t):w.call(g,t):new v(p(t)),e,g)})),_&&_(g,F),E(x(v),(function(e){e in g||f(g,e,v[e])})),g.prototype=m):(g=t((function(e,t,n,r){s(e,g,u);var o,a,c,l=0,f=0;if(y(t)){if(!H(t))return z(t)?U(g,t):w.call(g,t);o=t,f=h(n,i);var v=t.byteLength;if(r===undefined){if(v%i)throw L("Wrong length");if((a=v-f)<0)throw L("Wrong length")}else if((a=d(r)*i)+f>v)throw L("Wrong length");c=a/i}else c=p(t),o=new P(a=c*i);for(I(e,{buffer:o,byteOffset:f,byteLength:a,length:c,view:new j(o)});l"+e+"<\/script>"},h=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(o){}var e,t;h=r?function(e){e.write(p("")),e.close();var t=e.parentWindow.Object;return e=null,t}(r):((t=s("iframe")).style.display="none",c.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(p("document.F=Object")),e.close(),e.F);for(var n=a.length;n--;)delete h.prototype[a[n]];return h()};u[f]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(d.prototype=o(e),n=new d,d.prototype=null,n[f]=e):n=h(),t===undefined?n:i(n,t)}},function(e,t,n){"use strict";var r=n(11).f,o=n(14),i=n(10)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){"use strict";var r=n(10),o=n(37),i=n(11),a=r("unscopables"),u=Array.prototype;u[a]==undefined&&i.f(u,a,{configurable:!0,value:o(null)}),e.exports=function(e){u[a][e]=!0}},function(e,t,n){"use strict";var r=n(6),o=n(27),i=n(10)("species");e.exports=function(e,t){var n,a=r(e).constructor;return a===undefined||(n=r(a)[i])==undefined?t:o(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var r=n(127),o=n(89).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){"use strict";var r=n(27);e.exports=function(e,t,n){if(r(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var r=n(29),o=n(11),i=n(41);e.exports=function(e,t,n){var a=r(t);a in e?o.f(e,a,i(0,n)):e[a]=n}},function(e,t,n){"use strict";var r=n(6),o=n(138);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),t?e.call(n,i):n.__proto__=i,n}}():undefined)},function(e,t,n){"use strict";var r=n(56),o=n(4),i=n(14),a=n(11).f,u=n(55),c=n(64),s=u("meta"),l=0,f=Object.isExtensible||function(){return!0},d=function(e){a(e,s,{value:{objectID:"O"+ ++l,weakData:{}}})},p=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,s)){if(!f(e))return"F";if(!t)return"E";d(e)}return e[s].objectID},getWeakData:function(e,t){if(!i(e,s)){if(!f(e))return!0;if(!t)return!1;d(e)}return e[s].weakData},onFreeze:function(e){return c&&p.REQUIRED&&f(e)&&!i(e,s)&&d(e),e}};r[s]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.useSharedState=t.useLocalState=t.useBackend=t.backendReducer=t.backendSetSharedState=t.backendUpdate=void 0;var r=n(112),o=n(20);t.backendUpdate=function(e){return{type:"backend/update",payload:e}};var i=function(e,t){return{type:"backend/setSharedState",payload:{key:e,nextState:t}}};t.backendSetSharedState=i;t.backendReducer=function(e,t){var n=t.type,o=t.payload;if("backend/update"===n){var i=Object.assign({},e.config,{},o.config),a=Object.assign({},e.data,{},o.static_data,{},o.data),u=Object.assign({},e.shared);if(o.shared)for(var c=0,s=Object.keys(o.shared);c2?n-2:0),i=2;i=a){var u=[t].concat(o).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,r.callByond)("",{src:window.__ref__,action:"tgui:log",log:u})}},l=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),r=0;rn?n:e};t.clamp01=function(e){return e<0?0:e>1?1:e};t.scale=function(e,t,n){return(e-t)/(n-t)};t.round=function(e,t){return!e||isNaN(e)?e:(t|=0,i=(e*=n=Math.pow(10,t))>0|-(e<0),o=Math.abs(e%1)>=.4999999999854481,r=Math.floor(e),o&&(e=r+(i>0)),(o?e:Math.round(e))/n);var n,r,o,i};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(Math.max(t,0))};var r=function(e,t){return t&&e>=t[0]&&e<=t[1]};t.inRange=r;t.keyOfMatchingRange=function(e,t){for(var n=0,o=Object.keys(t);nl;)if((u=c[l++])!=u)return!0}else for(;s>l;l++)if((e||l in c)&&c[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},function(e,t,n){"use strict";var r=n(1),o=/#|\.prototype\./,i=function(e,t){var n=u[a(e)];return n==s||n!=c&&("function"==typeof t?r(t):!!t)},a=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",s=i.POLYFILL="P";e.exports=i},function(e,t,n){"use strict";var r=n(127),o=n(89);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){"use strict";var r=n(4),o=n(48),i=n(10)("species");e.exports=function(e,t){var n;return o(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var r=n(1),o=n(10),i=n(92),a=o("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(18);e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},function(e,t,n){"use strict";var r=n(1);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var r=n(6),o=n(94),i=n(8),a=n(43),u=n(95),c=n(135),s=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,l,f){var d,p,h,v,g,m,y,b=a(t,n,l?2:1);if(f)d=e;else{if("function"!=typeof(p=u(e)))throw TypeError("Target is not iterable");if(o(p)){for(h=0,v=i(e.length);v>h;h++)if((g=l?b(r(y=e[h])[0],y[1]):b(e[h]))&&g instanceof s)return g;return new s(!1)}d=p.call(e)}for(m=d.next;!(y=m.call(d)).done;)if("object"==typeof(g=c(d,b,y.value,l))&&g&&g instanceof s)return g;return new s(!1)}).stop=function(e){return new s(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tooltip=t.Tabs=t.Table=t.Slider=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.Modal=t.NanoMap=t.LabeledList=t.LabeledControls=t.Knob=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Divider=t.Dimmer=t.ColorBox=t.Collapsible=t.Chart=t.ByondUi=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var r=n(116);t.AnimatedNumber=r.AnimatedNumber;var o=n(402);t.BlockQuote=o.BlockQuote;var i=n(13);t.Box=i.Box;var a=n(117);t.Button=a.Button;var u=n(404);t.ByondUi=u.ByondUi;var c=n(406);t.Chart=c.Chart;var s=n(407);t.Collapsible=s.Collapsible;var l=n(408);t.ColorBox=l.ColorBox;var f=n(162);t.Dimmer=f.Dimmer;var d=n(163);t.Divider=d.Divider;var p=n(409);t.Dropdown=p.Dropdown;var h=n(164);t.Flex=h.Flex;var v=n(410);t.Grid=v.Grid;var g=n(118);t.Icon=g.Icon;var m=n(411);t.Input=m.Input;var y=n(412);t.Knob=y.Knob;var b=n(413);t.LabeledControls=b.LabeledControls;var _=n(414);t.LabeledList=_.LabeledList;var x=n(415);t.NanoMap=x.NanoMap;var w=n(416);t.Modal=w.Modal;var E=n(417);t.NoticeBox=E.NoticeBox;var C=n(120);t.NumberInput=C.NumberInput;var S=n(418);t.ProgressBar=S.ProgressBar;var N=n(419);t.Section=N.Section;var k=n(420);t.Slider=k.Slider;var O=n(119);t.Table=O.Table;var A=n(421);t.Tabs=A.Tabs;var I=n(161);t.Tooltip=I.Tooltip},function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},function(e,t,n){"use strict";var r=n(87),o=n(55),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t,n){"use strict";var r=n(32);e.exports=r("navigator","userAgent")||""},function(e,t,n){"use strict";var r=n(96),o=n(28),i=n(10)("toStringTag"),a="Arguments"==o(function(){return arguments}());e.exports=r?o:function(e){var t,n,r;return e===undefined?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},function(e,t,n){"use strict";var r=n(10)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},"return":function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(u){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(u){}return n}},function(e,t,n){"use strict";var r=n(27),o=n(12),i=n(54),a=n(8),u=function(e){return function(t,n,u,c){r(n);var s=o(t),l=i(s),f=a(s.length),d=e?f-1:0,p=e?-1:1;if(u<2)for(;;){if(d in l){c=l[d],d+=p;break}if(d+=p,e?d<0:f<=d)throw TypeError("Reduce of empty array with no initial value")}for(;e?d>=0:f>d;d+=p)d in l&&(c=n(c,l[d],d,s));return c}};e.exports={left:u(!1),right:u(!0)}},function(e,t,n){"use strict";var r=n(2),o=n(5),i=n(99),a=n(25),u=n(63),c=n(1),s=n(50),l=n(26),f=n(8),d=n(140),p=n(214),h=n(31),v=n(45),g=n(42).f,m=n(11).f,y=n(93),b=n(38),_=n(30),x=_.get,w=_.set,E=r.ArrayBuffer,C=E,S=r.DataView,N=S&&S.prototype,k=Object.prototype,O=r.RangeError,A=p.pack,I=p.unpack,T=function(e){return[255&e]},M=function(e){return[255&e,e>>8&255]},V=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},L=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},P=function(e){return A(e,23,4)},j=function(e){return A(e,52,8)},B=function(e,t){m(e.prototype,t,{get:function(){return x(this)[t]}})},R=function(e,t,n,r){var o=d(n),i=x(e);if(o+t>i.byteLength)throw O("Wrong index");var a=x(i.buffer).bytes,u=o+i.byteOffset,c=a.slice(u,u+t);return r?c:c.reverse()},F=function(e,t,n,r,o,i){var a=d(n),u=x(e);if(a+t>u.byteLength)throw O("Wrong index");for(var c=x(u.buffer).bytes,s=a+u.byteOffset,l=r(+o),f=0;fU;)(D=z[U++])in C||a(C,D,E[D]);K.constructor=C}v&&h(N)!==k&&v(N,k);var Y=new S(new C(2)),H=N.setInt8;Y.setInt8(0,2147483648),Y.setInt8(1,2147483649),!Y.getInt8(0)&&Y.getInt8(1)||u(N,{setInt8:function(e,t){H.call(this,e,t<<24>>24)},setUint8:function(e,t){H.call(this,e,t<<24>>24)}},{unsafe:!0})}else C=function(e){s(this,C,"ArrayBuffer");var t=d(e);w(this,{bytes:y.call(new Array(t),0),byteLength:t}),o||(this.byteLength=t)},S=function(e,t,n){s(this,S,"DataView"),s(e,C,"DataView");var r=x(e).byteLength,i=l(t);if(i<0||i>r)throw O("Wrong offset");if(i+(n=n===undefined?r-i:f(n))>r)throw O("Wrong length");w(this,{buffer:e,byteLength:n,byteOffset:i}),o||(this.buffer=e,this.byteLength=n,this.byteOffset=i)},o&&(B(C,"byteLength"),B(S,"buffer"),B(S,"byteLength"),B(S,"byteOffset")),u(S.prototype,{getInt8:function(e){return R(this,1,e)[0]<<24>>24},getUint8:function(e){return R(this,1,e)[0]},getInt16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return L(R(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return L(R(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return I(R(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return I(R(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,T,t)},setUint8:function(e,t){F(this,1,e,T,t)},setInt16:function(e,t){F(this,2,e,M,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,M,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,V,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,V,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,j,t,arguments.length>2?arguments[2]:undefined)}});b(C,"ArrayBuffer"),b(S,"DataView"),e.exports={ArrayBuffer:C,DataView:S}},function(e,t,n){"use strict";var r=n(0),o=n(2),i=n(58),a=n(18),u=n(46),c=n(65),s=n(50),l=n(4),f=n(1),d=n(71),p=n(38),h=n(75);e.exports=function(e,t,n){var v=-1!==e.indexOf("Map"),g=-1!==e.indexOf("Weak"),m=v?"set":"add",y=o[e],b=y&&y.prototype,_=y,x={},w=function(e){var t=b[e];a(b,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return g&&!l(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(i(e,"function"!=typeof y||!(g||b.forEach&&!f((function(){(new y).entries().next()})))))_=n.getConstructor(t,e,v,m),u.REQUIRED=!0;else if(i(e,!0)){var E=new _,C=E[m](g?{}:-0,1)!=E,S=f((function(){E.has(1)})),N=d((function(e){new y(e)})),k=!g&&f((function(){for(var e=new y,t=5;t--;)e[m](t,t);return!e.has(-0)}));N||((_=t((function(t,n){s(t,_,e);var r=h(new y,t,_);return n!=undefined&&c(n,r[m],r,v),r}))).prototype=b,b.constructor=_),(S||k)&&(w("delete"),w("has"),v&&w("get")),(k||C)&&w(m),g&&b.clear&&delete b.clear}return x[e]=_,r({global:!0,forced:_!=y},x),p(_,e),g||n.setStrong(_,e,v),_}},function(e,t,n){"use strict";var r=n(4),o=n(45);e.exports=function(e,t,n){var i,a;return o&&"function"==typeof(i=t.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(e,a),e}},function(e,t,n){"use strict";var r=Math.expm1,o=Math.exp;e.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:o(e)-1}:r},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var r=n(33),o=n(2),i=n(1);e.exports=r||!i((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete o[e]}))},function(e,t,n){"use strict";var r=n(6);e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var r,o,i=n(79),a=n(105),u=RegExp.prototype.exec,c=String.prototype.replace,s=u,l=(r=/a/,o=/b*/g,u.call(r,"a"),u.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=a.UNSUPPORTED_Y||a.BROKEN_CARET,d=/()??/.exec("")[1]!==undefined;(l||d||f)&&(s=function(e){var t,n,r,o,a=this,s=f&&a.sticky,p=i.call(a),h=a.source,v=0,g=e;return s&&(-1===(p=p.replace("y","")).indexOf("g")&&(p+="g"),g=String(e).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==e[a.lastIndex-1])&&(h="(?: "+h+")",g=" "+g,v++),n=new RegExp("^(?:"+h+")",p)),d&&(n=new RegExp("^"+h+"$(?!\\s)",p)),l&&(t=a.lastIndex),r=u.call(s?n:a,g),s?r?(r.input=r.input.slice(v),r[0]=r[0].slice(v),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:l&&r&&(a.lastIndex=a.global?r.index+r[0].length:t),d&&r&&r.length>1&&c.call(r[0],n,(function(){for(o=1;o")})),l="$0"==="a".replace(/./,"$0"),f=i("replace"),d=!!/./[f]&&""===/./[f]("a","$0"),p=!o((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,f){var h=i(e),v=!o((function(){var t={};return t[h]=function(){return 7},7!=""[e](t)})),g=v&&!o((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[c]=function(){return n},n.flags="",n[h]=/./[h]),n.exec=function(){return t=!0,null},n[h](""),!t}));if(!v||!g||"replace"===e&&(!s||!l||d)||"split"===e&&!p){var m=/./[h],y=n(h,""[e],(function(e,t,n,r,o){return t.exec===a?v&&!o?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:l,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:d}),b=y[0],_=y[1];r(String.prototype,e,b),r(RegExp.prototype,h,2==t?function(e,t){return _.call(e,this,t)}:function(e){return _.call(e,this)})}f&&u(RegExp.prototype[h],"sham",!0)}},function(e,t,n){"use strict";var r=n(28),o=n(80);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var i=n.call(e,t);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(e))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Window=t.NtosWindow=t.refocusLayout=t.Layout=void 0;var r=n(115);t.Layout=r.Layout,t.refocusLayout=r.refocusLayout;var o=n(401);t.NtosWindow=o.NtosWindow;var i=n(166);t.Window=i.Window},function(e,t,n){"use strict";var r=n(2),o=n(4),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){"use strict";var r=n(2),o=n(25);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){"use strict";var r=n(123),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},function(e,t,n){"use strict";var r=n(33),o=n(123);(e.exports=function(e,t){return o[e]||(o[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"\xa9 2020 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var r=n(32),o=n(42),i=n(90),a=n(6);e.exports=r("Reflect","ownKeys")||function(e){var t=o.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var r=n(1);e.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var r,o,i=n(2),a=n(69),u=i.process,c=u&&u.versions,s=c&&c.v8;s?o=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),e.exports=o&&+o},function(e,t,n){"use strict";var r=n(12),o=n(36),i=n(8);e.exports=function(e){for(var t=r(this),n=i(t.length),a=arguments.length,u=o(a>1?arguments[1]:undefined,n),c=a>2?arguments[2]:undefined,s=c===undefined?n:o(c,n);s>u;)t[u++]=e;return t}},function(e,t,n){"use strict";var r=n(10),o=n(62),i=r("iterator"),a=Array.prototype;e.exports=function(e){return e!==undefined&&(o.Array===e||a[i]===e)}},function(e,t,n){"use strict";var r=n(70),o=n(62),i=n(10)("iterator");e.exports=function(e){if(e!=undefined)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t,n){"use strict";var r={};r[n(10)("toStringTag")]="z",e.exports="[object z]"===String(r)},function(e,t,n){"use strict";var r=n(0),o=n(199),i=n(31),a=n(45),u=n(38),c=n(25),s=n(18),l=n(10),f=n(33),d=n(62),p=n(137),h=p.IteratorPrototype,v=p.BUGGY_SAFARI_ITERATORS,g=l("iterator"),m=function(){return this};e.exports=function(e,t,n,l,p,y,b){o(n,t,l);var _,x,w,E=function(e){if(e===p&&O)return O;if(!v&&e in N)return N[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},C=t+" Iterator",S=!1,N=e.prototype,k=N[g]||N["@@iterator"]||p&&N[p],O=!v&&k||E(p),A="Array"==t&&N.entries||k;if(A&&(_=i(A.call(new e)),h!==Object.prototype&&_.next&&(f||i(_)===h||(a?a(_,h):"function"!=typeof _[g]&&c(_,g,m)),u(_,C,!0,!0),f&&(d[C]=m))),"values"==p&&k&&"values"!==k.name&&(S=!0,O=function(){return k.call(this)}),f&&!b||N[g]===O||c(N,g,O),d[t]=O,p)if(x={values:E("values"),keys:y?O:E("keys"),entries:E("entries")},b)for(w in x)(v||S||!(w in N))&&s(N,w,x[w]);else r({target:t,proto:!0,forced:v||S},x);return x}},function(e,t,n){"use strict";var r=n(1);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},function(e,t,n){"use strict";var r=n(8),o=n(101),i=n(17),a=Math.ceil,u=function(e){return function(t,n,u){var c,s,l=String(i(t)),f=l.length,d=u===undefined?" ":String(u),p=r(n);return p<=f||""==d?l:(c=p-f,(s=o.call(d,a(c/d.length))).length>c&&(s=s.slice(0,c)),e?l+s:s+l)}};e.exports={start:u(!1),end:u(!0)}},function(e,t,n){"use strict";var r=n(26),o=n(17);e.exports="".repeat||function(e){var t=String(o(this)),n="",i=r(e);if(i<0||i==Infinity)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var r,o,i,a=n(2),u=n(1),c=n(28),s=n(43),l=n(130),f=n(84),d=n(149),p=a.location,h=a.setImmediate,v=a.clearImmediate,g=a.process,m=a.MessageChannel,y=a.Dispatch,b=0,_={},x=function(e){if(_.hasOwnProperty(e)){var t=_[e];delete _[e],t()}},w=function(e){return function(){x(e)}},E=function(e){x(e.data)},C=function(e){a.postMessage(e+"",p.protocol+"//"+p.host)};h&&v||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return _[++b]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},r(b),b},v=function(e){delete _[e]},"process"==c(g)?r=function(e){g.nextTick(w(e))}:y&&y.now?r=function(e){y.now(w(e))}:m&&!d?(i=(o=new m).port2,o.port1.onmessage=E,r=s(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||u(C)||"file:"===p.protocol?r="onreadystatechange"in f("script")?function(e){l.appendChild(f("script")).onreadystatechange=function(){l.removeChild(this),x(e)}}:function(e){setTimeout(w(e),0)}:(r=C,a.addEventListener("message",E,!1))),e.exports={set:h,clear:v}},function(e,t,n){"use strict";var r=n(4),o=n(28),i=n(10)("match");e.exports=function(e){var t;return r(e)&&((t=e[i])!==undefined?!!t:"RegExp"==o(e))}},function(e,t,n){"use strict";var r=n(1);function o(e,t){return RegExp(e,t)}t.UNSUPPORTED_Y=r((function(){var e=o("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),t.BROKEN_CARET=r((function(){var e=o("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},function(e,t,n){"use strict";var r=n(26),o=n(17),i=function(e){return function(t,n){var i,a,u=String(o(t)),c=r(n),s=u.length;return c<0||c>=s?e?"":undefined:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?e?u.charAt(c):i:e?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}};e.exports={codeAt:i(!1),charAt:i(!0)}},function(e,t,n){"use strict";var r=n(104);e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var r=n(10)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(o){}}return!1}},function(e,t,n){"use strict";var r=n(106).charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},function(e,t,n){"use strict";var r=n(1),o=n(77);e.exports=function(e){return r((function(){return!!o[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||o[e].name!==e}))}},function(e,t,n){"use strict";var r=n(2),o=n(1),i=n(71),a=n(7).NATIVE_ARRAY_BUFFER_VIEWS,u=r.ArrayBuffer,c=r.Int8Array;e.exports=!a||!o((function(){c(1)}))||!o((function(){new c(-1)}))||!i((function(e){new c,new c(null),new c(1.5),new c(e)}),!0)||o((function(){return 1!==new c(new u(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var r=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"},{id:"hydrogen",name:"Hydrogen",label:"H\u2082",color:"white"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),o=r.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return o&&o.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=r.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.uniqBy=t.reduce=t.sortBy=t.map=t.filter=t.toKeyedArray=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var r in e)t.call(e,r)&&n.push(e[r]);return n}return[]};t.toKeyedArray=function(e,t){return void 0===t&&(t="key"),r((function(e,n){var r;return Object.assign(((r={})[t]=n,r),e)}))(e)};t.filter=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],r=0;ru)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n=48&&r<=90?String.fromCharCode(r):"["+r+"]"},s=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,r=e.altKey,o=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:r,shiftKey:o,hasModifierKeys:n||r||o,keyString:c(n,r,o,t)}},l=function(){for(var e=0,t=Object.keys(u);e=0||(o[n]=e[n]);return o}var h=(0,c.createLogger)("Button"),v=function(e){var t=e.className,n=e.fluid,c=e.icon,d=e.color,v=e.disabled,g=e.selected,m=e.tooltip,y=e.tooltipPosition,b=e.ellipsis,_=e.content,x=e.iconRotation,w=e.iconSpin,E=e.children,C=e.onclick,S=e.onClick,N=p(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),k=!(!_&&!E);return C&&h.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.Box,Object.assign({className:(0,o.classes)(["Button",n&&"Button--fluid",v&&"Button--disabled",g&&"Button--selected",k&&"Button--hasContent",b&&"Button--ellipsis",d&&"string"==typeof d?"Button--color--"+d:"Button--color--default",t]),tabIndex:!v&&"0",unselectable:i.IS_IE8,onclick:function(e){(0,u.refocusLayout)(),!v&&S&&S(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===a.KEY_SPACE||t===a.KEY_ENTER?(e.preventDefault(),void(!v&&S&&S(e))):t===a.KEY_ESCAPE?(e.preventDefault(),void(0,u.refocusLayout)()):void 0}},N,{children:[c&&(0,r.createComponentVNode)(2,l.Icon,{name:c,rotation:x,spin:w}),_,E,m&&(0,r.createComponentVNode)(2,f.Tooltip,{content:m,position:y})]})))};t.Button=v,v.defaultHooks=o.pureComponentHooks;var g=function(e){var t=e.checked,n=p(e,["checked"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,v,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=g,v.Checkbox=g;var m=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}d(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmContent,o=void 0===n?"Confirm?":n,i=t.confirmColor,a=void 0===i?"bad":i,u=t.confirmIcon,c=t.icon,s=t.color,l=t.content,f=t.onClick,d=p(t,["confirmContent","confirmColor","confirmIcon","icon","color","content","onClick"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,v,Object.assign({content:this.state.clickedOnce?o:l,icon:this.state.clickedOnce?u:c,color:this.state.clickedOnce?a:s,onClick:function(){return e.state.clickedOnce?f():e.setClickedOnce(!0)}},d)))},t}(r.Component);t.ButtonConfirm=m,v.Confirm=m;var y=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,r.createRef)(),t.state={inInput:!1},t}d(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,i=t.content,u=t.icon,c=t.iconRotation,d=t.iconSpin,h=t.tooltip,v=t.tooltipPosition,g=t.color,m=void 0===g?"default":g,y=(t.placeholder,t.maxLength,p(t,["fluid","content","icon","iconRotation","iconSpin","tooltip","tooltipPosition","color","placeholder","maxLength"]));return(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.Box,Object.assign({className:(0,o.classes)(["Button",n&&"Button--fluid","Button--color--"+m])},y,{onClick:function(){return e.setInInput(!0)},children:[u&&(0,r.createComponentVNode)(2,l.Icon,{name:u,rotation:c,spin:d}),(0,r.createVNode)(1,"div",null,i,0),(0,r.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===a.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===a.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef),h&&(0,r.createComponentVNode)(2,f.Tooltip,{content:h,position:v})]})))},t}(r.Component);t.ButtonInput=y,v.Input=y},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var r=n(3),o=n(9),i=n(13);var a=/-o$/,u=function(e){var t=e.name,n=e.size,u=e.spin,c=e.className,s=e.style,l=void 0===s?{}:s,f=e.rotation,d=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["name","size","spin","className","style","rotation"]);n&&(l["font-size"]=100*n+"%"),"number"==typeof f&&(l.transform="rotate("+f+"deg)");var p=a.test(t),h=t.replace(a,"");return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({as:"i",className:(0,o.classes)([c,p?"far":"fas","fa-"+h,u&&"fa-spin"]),style:l},d)))};t.Icon=u,u.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var r=n(3),o=n(9),i=n(13);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){var t=e.className,n=e.collapsing,u=e.children,c=a(e,["className","collapsing","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"table",(0,o.classes)(["Table",n&&"Table--collapsing",t,(0,i.computeBoxClassName)(c)]),(0,r.createVNode)(1,"tbody",null,u,0),2,Object.assign({},(0,i.computeBoxProps)(c))))};t.Table=u,u.defaultHooks=o.pureComponentHooks;var c=function(e){var t=e.className,n=e.header,u=a(e,["className","header"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"tr",(0,o.classes)(["Table__row",n&&"Table__row--header",t,(0,i.computeBoxClassName)(e)]),null,1,Object.assign({},(0,i.computeBoxProps)(u))))};t.TableRow=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.className,n=e.collapsing,u=e.header,c=a(e,["className","collapsing","header"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"td",(0,o.classes)(["Table__cell",n&&"Table__cell--collapsing",u&&"Table__cell--header",t,(0,i.computeBoxClassName)(e)]),null,1,Object.assign({},(0,i.computeBoxProps)(c))))};t.TableCell=s,s.defaultHooks=o.pureComponentHooks,u.Row=c,u.Cell=s},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var r=n(3),o=n(53),i=n(9),a=n(20),u=n(116),c=n(13);var s=function(e){var t,n;function s(t){var n;n=e.call(this,t)||this;var i=t.value;return n.inputRef=(0,r.createRef)(),n.state={value:i,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,r=t.dragging,o=t.value,i=n.props.onDrag;r&&i&&i(e,o)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,r=t.minValue,i=t.maxValue,a=t.step,u=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),c=n.origin-e.screenY;if(t.dragging){var s=Number.isFinite(r)?r%a:0;n.internalValue=(0,o.clamp)(n.internalValue+c*a/u,r-a,i+a),n.value=(0,o.clamp)(n.internalValue-n.internalValue%a+s,r,i),n.origin=e.screenY}else Math.abs(c)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,r=t.onChange,o=t.onDrag,i=n.state,a=i.dragging,u=i.value,c=i.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!a,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),a)n.suppressFlicker(),r&&r(e,u),o&&o(e,u);else if(n.inputRef){var s=n.inputRef.current;s.value=c;try{s.focus(),s.select()}catch(l){}}},n}return n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,s.prototype.render=function(){var e=this,t=this.state,n=t.dragging,s=t.editing,l=t.value,f=t.suppressingFlicker,d=this.props,p=d.className,h=d.fluid,v=d.animated,g=d.value,m=d.unit,y=d.minValue,b=d.maxValue,_=d.height,x=d.width,w=d.lineHeight,E=d.fontSize,C=d.format,S=d.onChange,N=d.onDrag,k=g;(n||f)&&(k=l);var O=function(e){return(0,r.createVNode)(1,"div","NumberInput__content",e+(m?" "+m:""),0,{unselectable:a.IS_IE8})},A=v&&!n&&!f&&(0,r.createComponentVNode)(2,u.AnimatedNumber,{value:k,format:C,children:O})||O(C?C(k):k);return(0,r.createComponentVNode)(2,c.Box,{className:(0,i.classes)(["NumberInput",h&&"NumberInput--fluid",p]),minWidth:x,minHeight:_,lineHeight:w,fontSize:E,onMouseDown:this.handleDragStart,children:[(0,r.createVNode)(1,"div","NumberInput__barContainer",(0,r.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,o.clamp)((k-y)/(b-y)*100,0,100)+"%"}}),2),A,(0,r.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:s?undefined:"none",height:_,"line-height":w,"font-size":E},onBlur:function(t){if(s){var n=(0,o.clamp)(t.target.value,y,b);e.setState({editing:!1,value:n}),e.suppressFlicker(),S&&S(t,n),N&&N(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,o.clamp)(t.target.value,y,b);return e.setState({editing:!1,value:n}),e.suppressFlicker(),S&&S(t,n),void(N&&N(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},s}(r.Component);t.NumberInput=s,s.defaultHooks=i.pureComponentHooks,s.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(o){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,n){"use strict";var r=n(5),o=n(1),i=n(84);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var r=n(2),o=n(85),i=r["__core-js_shared__"]||o("__core-js_shared__",{});e.exports=i},function(e,t,n){"use strict";var r=n(2),o=n(86),i=r.WeakMap;e.exports="function"==typeof i&&/native code/.test(o(i))},function(e,t,n){"use strict";var r=n(14),o=n(88),i=n(16),a=n(11);e.exports=function(e,t){for(var n=o(t),u=a.f,c=i.f,s=0;sc;)r(u,n=t[c++])&&(~i(s,n)||s.push(n));return s}},function(e,t,n){"use strict";var r=n(91);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){"use strict";var r=n(5),o=n(11),i=n(6),a=n(59);e.exports=r?Object.defineProperties:function(e,t){i(e);for(var n,r=a(t),u=r.length,c=0;u>c;)o.f(e,n=r[c++],t[n]);return e}},function(e,t,n){"use strict";var r=n(32);e.exports=r("document","documentElement")},function(e,t,n){"use strict";var r=n(21),o=n(42).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return a&&"[object Window]"==i.call(e)?function(e){try{return o(e)}catch(t){return a.slice()}}(e):o(r(e))}},function(e,t,n){"use strict";var r=n(10);t.f=r},function(e,t,n){"use strict";var r=n(12),o=n(36),i=n(8),a=Math.min;e.exports=[].copyWithin||function(e,t){var n=r(this),u=i(n.length),c=o(e,u),s=o(t,u),l=arguments.length>2?arguments[2]:undefined,f=a((l===undefined?u:o(l,u))-s,u-c),d=1;for(s0;)s in n?n[c]=n[s]:delete n[c],c+=d,s+=d;return n}},function(e,t,n){"use strict";var r=n(48),o=n(8),i=n(43);e.exports=function a(e,t,n,u,c,s,l,f){for(var d,p=c,h=0,v=!!l&&i(l,f,3);h0&&r(d))p=a(e,t,d,o(d.length),p,s-1)-1;else{if(p>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[p]=d}p++}h++}return p}},function(e,t,n){"use strict";var r=n(6);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(a){var i=e["return"];throw i!==undefined&&r(i.call(e)),a}}},function(e,t,n){"use strict";var r=n(21),o=n(39),i=n(62),a=n(30),u=n(97),c=a.set,s=a.getterFor("Array Iterator");e.exports=u(Array,"Array",(function(e,t){c(this,{type:"Array Iterator",target:r(e),index:0,kind:t})}),(function(){var e=s(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){"use strict";var r,o,i,a=n(31),u=n(25),c=n(14),s=n(10),l=n(33),f=s("iterator"),d=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):d=!0),r==undefined&&(r={}),l||c(r,f)||u(r,f,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},function(e,t,n){"use strict";var r=n(4);e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var r=n(21),o=n(26),i=n(8),a=n(34),u=n(19),c=Math.min,s=[].lastIndexOf,l=!!s&&1/[1].lastIndexOf(1,-0)<0,f=a("lastIndexOf"),d=u("indexOf",{ACCESSORS:!0,1:0}),p=l||!f||!d;e.exports=p?function(e){if(l)return s.apply(this,arguments)||0;var t=r(this),n=i(t.length),a=n-1;for(arguments.length>1&&(a=c(a,o(arguments[1]))),a<0&&(a=n+a);a>=0;a--)if(a in t&&t[a]===e)return a||0;return-1}:s},function(e,t,n){"use strict";var r=n(26),o=n(8);e.exports=function(e){if(e===undefined)return 0;var t=r(e),n=o(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var r=n(27),o=n(4),i=[].slice,a={},u=function(e,t,n){if(!(t in a)){for(var r=[],o=0;o1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!m(this,e)}}),i(l.prototype,n?{get:function(e){var t=m(this,e);return t&&t.value},set:function(e,t){return g(this,0===e?0:e,t)}}:{add:function(e){return g(this,e=0===e?0:e,e)}}),f&&r(l.prototype,"size",{get:function(){return p(this).size}}),l},setStrong:function(e,t,n){var r=t+" Iterator",o=v(t),i=v(r);s(e,t,(function(e,t){h(this,{type:r,target:e,state:o(e),kind:t,last:undefined})}),(function(){for(var e=i(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),l(t)}}},function(e,t,n){"use strict";var r=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:r(1+e)}},function(e,t,n){"use strict";var r=n(4),o=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&o(e)===e}},function(e,t,n){"use strict";var r=n(2),o=n(51).trim,i=n(77),a=r.parseInt,u=/^[+-]?0[Xx]/,c=8!==a(i+"08")||22!==a(i+"0x16");e.exports=c?function(e,t){var n=o(String(e));return a(n,t>>>0||(u.test(n)?16:10))}:a},function(e,t,n){"use strict";var r=n(5),o=n(59),i=n(21),a=n(67).f,u=function(e){return function(t){for(var n,u=i(t),c=o(u),s=c.length,l=0,f=[];s>l;)n=c[l++],r&&!a.call(u,n)||f.push(e?[n,u[n]]:u[n]);return f}};e.exports={entries:u(!0),values:u(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var r=n(2);e.exports=r.Promise},function(e,t,n){"use strict";var r=n(69);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},function(e,t,n){"use strict";var r,o,i,a,u,c,s,l,f=n(2),d=n(16).f,p=n(28),h=n(103).set,v=n(149),g=f.MutationObserver||f.WebKitMutationObserver,m=f.process,y=f.Promise,b="process"==p(m),_=d(f,"queueMicrotask"),x=_&&_.value;x||(r=function(){var e,t;for(b&&(e=m.domain)&&e.exit();o;){t=o.fn,o=o.next;try{t()}catch(n){throw o?a():i=undefined,n}}i=undefined,e&&e.enter()},b?a=function(){m.nextTick(r)}:g&&!v?(u=!0,c=document.createTextNode(""),new g(r).observe(c,{characterData:!0}),a=function(){c.data=u=!u}):y&&y.resolve?(s=y.resolve(undefined),l=s.then,a=function(){l.call(s,r)}):a=function(){h.call(f,r)}),e.exports=x||function(e){var t={fn:e,next:undefined};i&&(i.next=t),o||(o=t,a()),i=t}},function(e,t,n){"use strict";var r=n(6),o=n(4),i=n(152);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var r=n(27),o=function(e){var t,n;this.promise=new e((function(e,r){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)};e.exports.f=function(e){return new o(e)}},function(e,t,n){"use strict";var r=n(0),o=n(80);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(e,t,n){"use strict";var r=n(69);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},function(e,t,n){"use strict";var r=n(343);e.exports=function(e,t){var n=r(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var r=n(12),o=n(8),i=n(95),a=n(94),u=n(43),c=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,s,l,f,d,p=r(e),h=arguments.length,v=h>1?arguments[1]:undefined,g=v!==undefined,m=i(p);if(m!=undefined&&!a(m))for(d=(f=m.call(p)).next,p=[];!(l=d.call(f)).done;)p.push(l.value);for(g&&h>2&&(v=u(v,arguments[2],2)),n=o(p.length),s=new(c(this))(n),t=0;n>t;t++)s[t]=g?v(p[t],t):p[t];return s}},function(e,t,n){"use strict";var r=n(63),o=n(46).getWeakData,i=n(6),a=n(4),u=n(50),c=n(65),s=n(15),l=n(14),f=n(30),d=f.set,p=f.getterFor,h=s.find,v=s.findIndex,g=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},b=function(e,t){return h(e.entries,(function(e){return e[0]===t}))};y.prototype={get:function(e){var t=b(this,e);if(t)return t[1]},has:function(e){return!!b(this,e)},set:function(e,t){var n=b(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=v(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,s){var f=e((function(e,r){u(e,f,t),d(e,{type:t,id:g++,frozen:undefined}),r!=undefined&&c(r,e[s],e,n)})),h=p(t),v=function(e,t,n){var r=h(e),a=o(i(t),!0);return!0===a?m(r).set(t,n):a[r.id]=n,e};return r(f.prototype,{"delete":function(e){var t=h(this);if(!a(e))return!1;var n=o(e);return!0===n?m(t)["delete"](e):n&&l(n,t.id)&&delete n[t.id]},has:function(e){var t=h(this);if(!a(e))return!1;var n=o(e);return!0===n?m(t).has(e):n&&l(n,t.id)}}),r(f.prototype,n?{get:function(e){var t=h(this);if(a(e)){var n=o(e);return!0===n?m(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return v(this,e,t)}}:{add:function(e){return v(this,e,!0)}}),f}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var r=n(397),o=n(20);function i(e,t,n,r,o,i,a){try{var u=e[i](a),c=u.value}catch(s){return void n(s)}u.done?t(c):Promise.resolve(c).then(r,o)}var a,u,c,s,l,f=(0,n(52).createLogger)("drag"),d=!1,p=!1,h=[0,0],v=function(e){return(0,o.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},g=function(e,t){return(0,o.winset)(e,"pos",t[0]+","+t[1])},m=function(){var e,t=(e=regeneratorRuntime.mark((function n(e){var t,r,o,i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return f.log("setting up"),a=e.config.window,n.next=4,v(a);case 4:t=n.sent,h=[t[0]-window.screenLeft,t[1]-window.screenTop],r=y(t),o=r[0],i=r[1],o&&g(a,i),f.debug("current state",{ref:a,screenOffset:h});case 9:case"end":return n.stop()}}),n)})),function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function u(e){i(a,r,o,u,c,"next",e)}function c(e){i(a,r,o,u,c,"throw",e)}u(undefined)}))});return function(e){return t.apply(this,arguments)}}();t.setupDrag=m;var y=function(e){var t=e[0],n=e[1],r=!1;return t<0?(t=0,r=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,r=!0),n<0?(n=0,r=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,r=!0),[r,[t,n]]};t.dragStartHandler=function(e){f.log("drag start"),d=!0,u=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",_),document.addEventListener("mouseup",b),_(e)};var b=function E(e){f.log("drag end"),_(e),document.removeEventListener("mousemove",_),document.removeEventListener("mouseup",E),d=!1},_=function(e){d&&(e.preventDefault(),g(a,(0,r.vecAdd)([e.screenX,e.screenY],h,u)))};t.resizeStartHandler=function(e,t){return function(n){c=[e,t],f.log("resize start",c),p=!0,u=[window.screenLeft-n.screenX,window.screenTop-n.screenY],s=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",w),document.addEventListener("mouseup",x),w(n)}};var x=function C(e){f.log("resize end",l),w(e),document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",C),p=!1},w=function(e){p&&(e.preventDefault(),(l=(0,r.vecAdd)(s,(0,r.vecMultiply)(c,(0,r.vecAdd)([e.screenX,e.screenY],(0,r.vecInverse)([window.screenLeft,window.screenTop]),u,[1,1]))))[0]=Math.max(l[0],250),l[1]=Math.max(l[1],120),function(e,t){(0,o.winset)(e,"size",t[0]+","+t[1])}(a,l))}},function(e,t,n){"use strict";function r(e){var t=0;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e)))return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?o-1:0),u=1;u1?r-1:0),i=1;i35;return(0,r.createVNode)(1,"div",(0,o.classes)(["Tooltip",a&&"Tooltip--long",i&&"Tooltip--"+i]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var r=n(3),o=n(9),i=n(13);t.Dimmer=function(e){var t=e.className,n=e.children,a=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Dimmer"].concat(t))},a,{children:(0,r.createVNode)(1,"div","Dimmer__inner",n,0)})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Divider=void 0;var r=n(3),o=n(9);t.Divider=function(e){var t=e.vertical,n=e.hidden;return(0,r.createVNode)(1,"div",(0,o.classes)(["Divider",n&&"Divider--hidden",t?"Divider--vertical":"Divider--horizontal"]))}},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var r=n(3),o=n(9),i=n(20),a=n(13);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t=e.className,n=e.direction,r=e.wrap,a=e.align,c=e.justify,s=e.inline,l=e.spacing,f=void 0===l?0:l,d=u(e,["className","direction","wrap","align","justify","inline","spacing"]);return Object.assign({className:(0,o.classes)(["Flex",i.IS_IE8&&("column"===n?"Flex--ie8--column":"Flex--ie8"),s&&"Flex--inline",f>0&&"Flex--spacing--"+f,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":r,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var s=function(e){return(0,r.normalizeProps)((0,r.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=s,s.defaultHooks=o.pureComponentHooks;var l=function(e){var t=e.className,n=e.grow,r=e.order,c=e.shrink,s=e.basis,l=void 0===s?e.width:s,f=e.align,d=u(e,["className","grow","order","shrink","basis","align"]);return Object.assign({className:(0,o.classes)(["Flex__item",i.IS_IE8&&"Flex__item--ie8",t]),style:Object.assign({},d.style,{"flex-grow":n,"flex-shrink":c,"flex-basis":(0,a.unit)(l),order:r,"align-self":f})},d)};t.computeFlexItemProps=l;var f=function(e){return(0,r.normalizeProps)((0,r.createComponentVNode)(2,a.Box,Object.assign({},l(e))))};t.FlexItem=f,f.defaultHooks=o.pureComponentHooks,s.Item=f},function(e,t,n){"use strict";t.__esModule=!0,t.DraggableControl=void 0;var r=n(3),o=n(53),i=n(9),a=n(116);var u=function(e,t){return e.screenX*t[0]+e.screenY*t[1]},c=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).inputRef=(0,r.createRef)(),n.state={value:t.value,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props,r=t.value,o=t.dragMatrix;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:u(e,o),value:r,internalValue:r}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,r=t.dragging,o=t.value,i=n.props.onDrag;r&&i&&i(e,o)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,r=t.minValue,i=t.maxValue,a=t.step,c=t.stepPixelSize,s=t.dragMatrix;n.setState((function(t){var n=Object.assign({},t),l=u(e,s)-n.origin;if(t.dragging){var f=Number.isFinite(r)?r%a:0;n.internalValue=(0,o.clamp)(n.internalValue+l*a/c,r-a,i+a),n.value=(0,o.clamp)(n.internalValue-n.internalValue%a+f,r,i),n.origin=u(e,s)}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,r=t.onChange,o=t.onDrag,i=n.state,a=i.dragging,u=i.value,c=i.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!a,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),a)n.suppressFlicker(),r&&r(e,u),o&&o(e,u);else if(n.inputRef){var s=n.inputRef.current;s.value=c;try{s.focus(),s.select()}catch(l){}}},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.state,n=t.dragging,i=t.editing,u=t.value,c=t.suppressingFlicker,s=this.props,l=s.animated,f=s.value,d=s.unit,p=s.minValue,h=s.maxValue,v=s.format,g=s.onChange,m=s.onDrag,y=s.children,b=s.height,_=s.lineHeight,x=s.fontSize,w=f;(n||c)&&(w=u);var E=function(e){return e+(d?" "+d:"")},C=l&&!n&&!c&&(0,r.createComponentVNode)(2,a.AnimatedNumber,{value:w,format:v,children:E})||E(v?v(w):w),S=(0,r.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:i?undefined:"none",height:b,"line-height":_,"font-size":x},onBlur:function(t){if(i){var n=(0,o.clamp)(t.target.value,p,h);e.setState({editing:!1,value:n}),e.suppressFlicker(),g&&g(t,n),m&&m(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,o.clamp)(t.target.value,p,h);return e.setState({editing:!1,value:n}),e.suppressFlicker(),g&&g(t,n),void(m&&m(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef);return y({dragging:n,editing:i,value:f,displayValue:w,displayElement:C,inputElement:S,handleDragStart:this.handleDragStart})},i}(r.Component);t.DraggableControl=c,c.defaultHooks=i.pureComponentHooks,c.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50,dragMatrix:[1,0]}},function(e,t,n){"use strict";t.__esModule=!0,t.Window=void 0;var r=n(3),o=n(9),i=n(422),a=n(47),u=n(20),c=n(66),s=n(112),l=n(159),f=n(114),d=n(52),p=n(115);var h=(0,d.createLogger)("Window"),v=function(e){var t,n;function c(){return e.apply(this,arguments)||this}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=c.prototype;return d.componentDidMount=function(){(0,p.refocusLayout)()},d.render=function(){var e=this.props,t=e.resizable,n=e.theme,c=e.children,d=(0,a.useBackend)(this.context),v=d.config,g=d.debugLayout,y=v.observer?v.statusi;)o.push(arguments[i++]);if(r=t,(p(t)||e!==undefined)&&!ie(e))return d(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ie(t))return t}),o[1]=t,H.apply(null,o)}});Y.prototype[D]||k(Y.prototype,D,Y.prototype.valueOf),j(Y,"Symbol"),T[F]=!0},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(2),a=n(14),u=n(4),c=n(11).f,s=n(125),l=i.Symbol;if(o&&"function"==typeof l&&(!("description"in l.prototype)||l().description!==undefined)){var f={},d=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof d?new l(e):e===undefined?l():l(e);return""===e&&(f[t]=!0),t};s(d,l);var p=d.prototype=l.prototype;p.constructor=d;var h=p.toString,v="Symbol(test)"==String(l("test")),g=/^Symbol\((.*)\)[^)]+$/;c(p,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=v?t.slice(7,-1):t.replace(g,"$1");return""===n?undefined:n}}),r({global:!0,forced:!0},{Symbol:d})}},function(e,t,n){"use strict";n(22)("asyncIterator")},function(e,t,n){"use strict";n(22)("hasInstance")},function(e,t,n){"use strict";n(22)("isConcatSpreadable")},function(e,t,n){"use strict";n(22)("iterator")},function(e,t,n){"use strict";n(22)("match")},function(e,t,n){"use strict";n(22)("replace")},function(e,t,n){"use strict";n(22)("search")},function(e,t,n){"use strict";n(22)("species")},function(e,t,n){"use strict";n(22)("split")},function(e,t,n){"use strict";n(22)("toPrimitive")},function(e,t,n){"use strict";n(22)("toStringTag")},function(e,t,n){"use strict";n(22)("unscopables")},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(48),a=n(4),u=n(12),c=n(8),s=n(44),l=n(60),f=n(61),d=n(10),p=n(92),h=d("isConcatSpreadable"),v=p>=51||!o((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),g=f("concat"),m=function(e){if(!a(e))return!1;var t=e[h];return t!==undefined?!!t:i(e)};r({target:"Array",proto:!0,forced:!v||!g},{concat:function(e){var t,n,r,o,i,a=u(this),f=l(a,0),d=0;for(t=-1,r=arguments.length;t9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n=9007199254740991)throw TypeError("Maximum allowed index exceeded");s(f,d++,i)}return f.length=d,f}})},function(e,t,n){"use strict";var r=n(0),o=n(133),i=n(39);r({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(e,t,n){"use strict";var r=n(0),o=n(15).every,i=n(34),a=n(19),u=i("every"),c=a("every");r({target:"Array",proto:!0,forced:!u||!c},{every:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(93),i=n(39);r({target:"Array",proto:!0},{fill:o}),i("fill")},function(e,t,n){"use strict";var r=n(0),o=n(15).filter,i=n(61),a=n(19),u=i("filter"),c=a("filter");r({target:"Array",proto:!0,forced:!u||!c},{filter:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(15).find,i=n(39),a=n(19),u=!0,c=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i("find")},function(e,t,n){"use strict";var r=n(0),o=n(15).findIndex,i=n(39),a=n(19),u=!0,c=a("findIndex");"findIndex"in[]&&Array(1).findIndex((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i("findIndex")},function(e,t,n){"use strict";var r=n(0),o=n(134),i=n(12),a=n(8),u=n(26),c=n(60);r({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=i(this),n=a(t.length),r=c(t,0);return r.length=o(r,t,t,n,0,e===undefined?1:u(e)),r}})},function(e,t,n){"use strict";var r=n(0),o=n(134),i=n(12),a=n(8),u=n(27),c=n(60);r({target:"Array",proto:!0},{flatMap:function(e){var t,n=i(this),r=a(n.length);return u(e),(t=c(n,0)).length=o(t,n,n,r,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var r=n(0),o=n(193);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},function(e,t,n){"use strict";var r=n(15).forEach,o=n(34),i=n(19),a=o("forEach"),u=i("forEach");e.exports=a&&u?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}},function(e,t,n){"use strict";var r=n(0),o=n(195);r({target:"Array",stat:!0,forced:!n(71)((function(e){Array.from(e)}))},{from:o})},function(e,t,n){"use strict";var r=n(43),o=n(12),i=n(135),a=n(94),u=n(8),c=n(44),s=n(95);e.exports=function(e){var t,n,l,f,d,p,h=o(e),v="function"==typeof this?this:Array,g=arguments.length,m=g>1?arguments[1]:undefined,y=m!==undefined,b=s(h),_=0;if(y&&(m=r(m,g>2?arguments[2]:undefined,2)),b==undefined||v==Array&&a(b))for(n=new v(t=u(h.length));t>_;_++)p=y?m(h[_],_):h[_],c(n,_,p);else for(d=(f=b.call(h)).next,n=new v;!(l=d.call(f)).done;_++)p=y?i(f,m,[l.value,_],!0):l.value,c(n,_,p);return n.length=_,n}},function(e,t,n){"use strict";var r=n(0),o=n(57).includes,i=n(39);r({target:"Array",proto:!0,forced:!n(19)("indexOf",{ACCESSORS:!0,1:0})},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i("includes")},function(e,t,n){"use strict";var r=n(0),o=n(57).indexOf,i=n(34),a=n(19),u=[].indexOf,c=!!u&&1/[1].indexOf(1,-0)<0,s=i("indexOf"),l=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:c||!s||!l},{indexOf:function(e){return c?u.apply(this,arguments)||0:o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(48)})},function(e,t,n){"use strict";var r=n(137).IteratorPrototype,o=n(37),i=n(41),a=n(38),u=n(62),c=function(){return this};e.exports=function(e,t,n){var s=t+" Iterator";return e.prototype=o(r,{next:i(1,n)}),a(e,s,!1,!0),u[s]=c,e}},function(e,t,n){"use strict";var r=n(0),o=n(54),i=n(21),a=n(34),u=[].join,c=o!=Object,s=a("join",",");r({target:"Array",proto:!0,forced:c||!s},{join:function(e){return u.call(i(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var r=n(0),o=n(139);r({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},function(e,t,n){"use strict";var r=n(0),o=n(15).map,i=n(61),a=n(19),u=i("map"),c=a("map");r({target:"Array",proto:!0,forced:!u||!c},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(44);r({target:"Array",stat:!0,forced:o((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)i(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var r=n(0),o=n(72).left,i=n(34),a=n(19),u=i("reduce"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduce:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(72).right,i=n(34),a=n(19),u=i("reduceRight"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduceRight:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(4),i=n(48),a=n(36),u=n(8),c=n(21),s=n(44),l=n(10),f=n(61),d=n(19),p=f("slice"),h=d("slice",{ACCESSORS:!0,0:0,1:2}),v=l("species"),g=[].slice,m=Math.max;r({target:"Array",proto:!0,forced:!p||!h},{slice:function(e,t){var n,r,l,f=c(this),d=u(f.length),p=a(e,d),h=a(t===undefined?d:t,d);if(i(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!i(n.prototype)?o(n)&&null===(n=n[v])&&(n=undefined):n=undefined,n===Array||n===undefined))return g.call(f,p,h);for(r=new(n===undefined?Array:n)(m(h-p,0)),l=0;p1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(27),i=n(12),a=n(1),u=n(34),c=[],s=c.sort,l=a((function(){c.sort(undefined)})),f=a((function(){c.sort(null)})),d=u("sort");r({target:"Array",proto:!0,forced:l||!f||!d},{sort:function(e){return e===undefined?s.call(i(this)):s.call(i(this),o(e))}})},function(e,t,n){"use strict";n(49)("Array")},function(e,t,n){"use strict";var r=n(0),o=n(36),i=n(26),a=n(8),u=n(12),c=n(60),s=n(44),l=n(61),f=n(19),d=l("splice"),p=f("splice",{ACCESSORS:!0,0:0,1:2}),h=Math.max,v=Math.min;r({target:"Array",proto:!0,forced:!d||!p},{splice:function(e,t){var n,r,l,f,d,p,g=u(this),m=a(g.length),y=o(e,m),b=arguments.length;if(0===b?n=r=0:1===b?(n=0,r=m-y):(n=b-2,r=v(h(i(t),0),m-y)),m+n-r>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(l=c(g,r),f=0;fm-r+n;f--)delete g[f-1]}else if(n>r)for(f=m-r;f>y;f--)p=f+n-1,(d=f+r-1)in g?g[p]=g[d]:delete g[p];for(f=0;f>1,v=23===t?o(2,-24)-o(2,-77):0,g=e<0||0===e&&1/e<0?1:0,m=0;for((e=r(e))!=e||e===1/0?(s=e!=e?1:0,c=p):(c=i(a(e)/u),e*(l=o(2,-c))<1&&(c--,l*=2),(e+=c+h>=1?v/l:v*o(2,1-h))*l>=2&&(c++,l/=2),c+h>=p?(s=0,c=p):c+h>=1?(s=(e*l-1)*o(2,t),c+=h):(s=e*o(2,h-1)*o(2,t),c=0));t>=8;f[m++]=255&s,s/=256,t-=8);for(c=c<0;f[m++]=255&c,c/=256,d-=8);return f[--m]|=128*g,f},unpack:function(e,t){var n,r=e.length,i=8*r-t-1,a=(1<>1,c=i-7,s=r-1,l=e[s--],f=127&l;for(l>>=7;c>0;f=256*f+e[s],s--,c-=8);for(n=f&(1<<-c)-1,f>>=-c,c+=t;c>0;n=256*n+e[s],s--,c-=8);if(0===f)f=1-u;else{if(f===a)return n?NaN:l?-1/0:1/0;n+=o(2,t),f-=u}return(l?-1:1)*n*o(2,f-t)}}},function(e,t,n){"use strict";var r=n(0),o=n(7);r({target:"ArrayBuffer",stat:!0,forced:!o.NATIVE_ARRAY_BUFFER_VIEWS},{isView:o.isView})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(73),a=n(6),u=n(36),c=n(8),s=n(40),l=i.ArrayBuffer,f=i.DataView,d=l.prototype.slice;r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:o((function(){return!new l(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(d!==undefined&&t===undefined)return d.call(a(this),e);for(var n=a(this).byteLength,r=u(e,n),o=u(t===undefined?n:t,n),i=new(s(this,l))(c(o-r)),p=new f(this),h=new f(i),v=0;r9999?"+":"";return n+o(i(e),n?6:4,0)+"-"+o(this.getUTCMonth()+1,2,0)+"-"+o(this.getUTCDate(),2,0)+"T"+o(this.getUTCHours(),2,0)+":"+o(this.getUTCMinutes(),2,0)+":"+o(this.getUTCSeconds(),2,0)+"."+o(t,3,0)+"Z"}:c},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(12),a=n(29);r({target:"Date",proto:!0,forced:o((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=i(this),n=a(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var r=n(25),o=n(223),i=n(10)("toPrimitive"),a=Date.prototype;i in a||r(a,i,o)},function(e,t,n){"use strict";var r=n(6),o=n(29);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return o(r(this),"number"!==e)}},function(e,t,n){"use strict";var r=n(18),o=Date.prototype,i=o.toString,a=o.getTime;new Date(NaN)+""!="Invalid Date"&&r(o,"toString",(function(){var e=a.call(this);return e==e?i.call(this):"Invalid Date"}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(141)})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(31),a=n(10)("hasInstance"),u=Function.prototype;a in u||o.f(u,a,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=i(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var r=n(5),o=n(11).f,i=Function.prototype,a=i.toString,u=/^\s*function ([^ (]*)/;r&&!("name"in i)&&o(i,"name",{configurable:!0,get:function(){try{return a.call(this).match(u)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var r=n(2);n(38)(r.JSON,"JSON",!0)},function(e,t,n){"use strict";var r=n(74),o=n(142);e.exports=r("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),o)},function(e,t,n){"use strict";var r=n(0),o=n(143),i=Math.acosh,a=Math.log,u=Math.sqrt,c=Math.LN2;r({target:"Math",stat:!0,forced:!i||710!=Math.floor(i(Number.MAX_VALUE))||i(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?a(e)+c:o(e-1+u(e-1)*u(e+1))}})},function(e,t,n){"use strict";var r=n(0),o=Math.asinh,i=Math.log,a=Math.sqrt;r({target:"Math",stat:!0,forced:!(o&&1/o(0)>0)},{asinh:function u(e){return isFinite(e=+e)&&0!=e?e<0?-u(-e):i(e+a(e*e+1)):e}})},function(e,t,n){"use strict";var r=n(0),o=Math.atanh,i=Math.log;r({target:"Math",stat:!0,forced:!(o&&1/o(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:i((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var r=n(0),o=n(102),i=Math.abs,a=Math.pow;r({target:"Math",stat:!0},{cbrt:function(e){return o(e=+e)*a(i(e),1/3)}})},function(e,t,n){"use strict";var r=n(0),o=Math.floor,i=Math.log,a=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-o(i(e+.5)*a):32}})},function(e,t,n){"use strict";var r=n(0),o=n(76),i=Math.cosh,a=Math.abs,u=Math.E;r({target:"Math",stat:!0,forced:!i||i(710)===Infinity},{cosh:function(e){var t=o(a(e)-1)+1;return(t+1/(t*u*u))*(u/2)}})},function(e,t,n){"use strict";var r=n(0),o=n(76);r({target:"Math",stat:!0,forced:o!=Math.expm1},{expm1:o})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(238)})},function(e,t,n){"use strict";var r=n(102),o=Math.abs,i=Math.pow,a=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),s=i(2,-126);e.exports=Math.fround||function(e){var t,n,i=o(e),l=r(e);return ic||n!=n?l*Infinity:l*n}},function(e,t,n){"use strict";var r=n(0),o=Math.hypot,i=Math.abs,a=Math.sqrt;r({target:"Math",stat:!0,forced:!!o&&o(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,r,o=0,u=0,c=arguments.length,s=0;u0?(r=n/s)*r:n;return s===Infinity?Infinity:s*a(o)}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=Math.imul;r({target:"Math",stat:!0,forced:o((function(){return-5!=i(4294967295,5)||2!=i.length}))},{imul:function(e,t){var n=+e,r=+t,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var r=n(0),o=Math.log,i=Math.LOG10E;r({target:"Math",stat:!0},{log10:function(e){return o(e)*i}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(143)})},function(e,t,n){"use strict";var r=n(0),o=Math.log,i=Math.LN2;r({target:"Math",stat:!0},{log2:function(e){return o(e)/i}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(102)})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(76),a=Math.abs,u=Math.exp,c=Math.E;r({target:"Math",stat:!0,forced:o((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return a(e=+e)<1?(i(e)-i(-e))/2:(u(e-1)-u(-e-1))*(c/2)}})},function(e,t,n){"use strict";var r=n(0),o=n(76),i=Math.exp;r({target:"Math",stat:!0},{tanh:function(e){var t=o(e=+e),n=o(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(i(e)+i(-e))}})},function(e,t,n){"use strict";n(38)(Math,"Math",!0)},function(e,t,n){"use strict";var r=n(0),o=Math.ceil,i=Math.floor;r({target:"Math",stat:!0},{trunc:function(e){return(e>0?i:o)(e)}})},function(e,t,n){"use strict";var r=n(5),o=n(2),i=n(58),a=n(18),u=n(14),c=n(28),s=n(75),l=n(29),f=n(1),d=n(37),p=n(42).f,h=n(16).f,v=n(11).f,g=n(51).trim,m=o.Number,y=m.prototype,b="Number"==c(d(y)),_=function(e){var t,n,r,o,i,a,u,c,s=l(e,!1);if("string"==typeof s&&s.length>2)if(43===(t=(s=g(s)).charCodeAt(0))||45===t){if(88===(n=s.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(s.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+s}for(a=(i=s.slice(2)).length,u=0;uo)return NaN;return parseInt(i,r)}return+s};if(i("Number",!m(" 0o1")||!m("0b1")||m("+0x1"))){for(var x,w=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof w&&(b?f((function(){y.valueOf.call(n)})):"Number"!=c(n))?s(new m(_(t)),n,w):_(t)},E=r?p(m):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),C=0;E.length>C;C++)u(m,x=E[C])&&!u(w,x)&&v(w,x,h(m,x));w.prototype=y,y.constructor=w,a(o,"Number",w)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(252)})},function(e,t,n){"use strict";var r=n(2).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&r(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(144)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var r=n(0),o=n(144),i=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(e){return o(e)&&i(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var r=n(0),o=n(259);r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},function(e,t,n){"use strict";var r=n(2),o=n(51).trim,i=n(77),a=r.parseFloat,u=1/a(i+"-0")!=-Infinity;e.exports=u?function(e){var t=o(String(e)),n=a(t);return 0===n&&"-"==t.charAt(0)?-0:n}:a},function(e,t,n){"use strict";var r=n(0),o=n(145);r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},function(e,t,n){"use strict";var r=n(0),o=n(26),i=n(262),a=n(101),u=n(1),c=1..toFixed,s=Math.floor,l=function f(e,t,n){return 0===t?n:t%2==1?f(e,t-1,n*e):f(e*e,t/2,n)};r({target:"Number",proto:!0,forced:c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!u((function(){c.call({})}))},{toFixed:function(e){var t,n,r,u,c=i(this),f=o(e),d=[0,0,0,0,0,0],p="",h="0",v=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*d[n],d[n]=r%1e7,r=s(r/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=d[t],d[t]=s(n/e),n=n%e*1e7},m=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==d[e]){var n=String(d[e]);t=""===t?n:t+a.call("0",7-n.length)+n}return t};if(f<0||f>20)throw RangeError("Incorrect fraction digits");if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(p="-",c=-c),c>1e-21)if(n=(t=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}(c*l(2,69,1))-69)<0?c*l(2,-t,1):c/l(2,t,1),n*=4503599627370496,(t=52-t)>0){for(v(0,n),r=f;r>=7;)v(1e7,0),r-=7;for(v(l(10,r,1),0),r=t-1;r>=23;)g(1<<23),r-=23;g(1<0?p+((u=h.length)<=f?"0."+a.call("0",f-u)+h:h.slice(0,u-f)+"."+h.slice(u-f)):p+h}})},function(e,t,n){"use strict";var r=n(28);e.exports=function(e){if("number"!=typeof e&&"Number"!=r(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var r=n(0),o=n(264);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(e,t,n){"use strict";var r=n(5),o=n(1),i=n(59),a=n(90),u=n(67),c=n(12),s=n(54),l=Object.assign,f=Object.defineProperty;e.exports=!l||o((function(){if(r&&1!==l({b:1},l(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=l({},e)[n]||"abcdefghijklmnopqrst"!=i(l({},t)).join("")}))?function(e,t){for(var n=c(e),o=arguments.length,l=1,f=a.f,d=u.f;o>l;)for(var p,h=s(arguments[l++]),v=f?i(h).concat(f(h)):i(h),g=v.length,m=0;g>m;)p=v[m++],r&&!d.call(h,p)||(n[p]=h[p]);return n}:l},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(5)},{create:n(37)})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(78),a=n(12),u=n(27),c=n(11);o&&r({target:"Object",proto:!0,forced:i},{__defineGetter__:function(e,t){c.f(a(this),e,{get:u(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(0),o=n(5);r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperties:n(129)})},function(e,t,n){"use strict";var r=n(0),o=n(5);r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperty:n(11).f})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(78),a=n(12),u=n(27),c=n(11);o&&r({target:"Object",proto:!0,forced:i},{__defineSetter__:function(e,t){c.f(a(this),e,{set:u(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(0),o=n(146).entries;r({target:"Object",stat:!0},{entries:function(e){return o(e)}})},function(e,t,n){"use strict";var r=n(0),o=n(64),i=n(1),a=n(4),u=n(46).onFreeze,c=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){c(1)})),sham:!o},{freeze:function(e){return c&&a(e)?c(u(e)):e}})},function(e,t,n){"use strict";var r=n(0),o=n(65),i=n(44);r({target:"Object",stat:!0},{fromEntries:function(e){var t={};return o(e,(function(e,n){i(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(21),a=n(16).f,u=n(5),c=o((function(){a(1)}));r({target:"Object",stat:!0,forced:!u||c,sham:!u},{getOwnPropertyDescriptor:function(e,t){return a(i(e),t)}})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(88),a=n(21),u=n(16),c=n(44);r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(e){for(var t,n,r=a(e),o=u.f,s=i(r),l={},f=0;s.length>f;)(n=o(r,t=s[f++]))!==undefined&&c(l,t,n);return l}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(131).f;r({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:i})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(12),a=n(31),u=n(98);r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!u},{getPrototypeOf:function(e){return a(i(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(147)})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(4),a=Object.isExtensible;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isExtensible:function(e){return!!i(e)&&(!a||a(e))}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(4),a=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isFrozen:function(e){return!i(e)||!!a&&a(e)}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(4),a=Object.isSealed;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isSealed:function(e){return!i(e)||!!a&&a(e)}})},function(e,t,n){"use strict";var r=n(0),o=n(12),i=n(59);r({target:"Object",stat:!0,forced:n(1)((function(){i(1)}))},{keys:function(e){return i(o(e))}})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(78),a=n(12),u=n(29),c=n(31),s=n(16).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupGetter__:function(e){var t,n=a(this),r=u(e,!0);do{if(t=s(n,r))return t.get}while(n=c(n))}})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(78),a=n(12),u=n(29),c=n(31),s=n(16).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupSetter__:function(e){var t,n=a(this),r=u(e,!0);do{if(t=s(n,r))return t.set}while(n=c(n))}})},function(e,t,n){"use strict";var r=n(0),o=n(4),i=n(46).onFreeze,a=n(64),u=n(1),c=Object.preventExtensions;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{preventExtensions:function(e){return c&&o(e)?c(i(e)):e}})},function(e,t,n){"use strict";var r=n(0),o=n(4),i=n(46).onFreeze,a=n(64),u=n(1),c=Object.seal;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{seal:function(e){return c&&o(e)?c(i(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(45)})},function(e,t,n){"use strict";var r=n(96),o=n(18),i=n(288);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(96),o=n(70);e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},function(e,t,n){"use strict";var r=n(0),o=n(146).values;r({target:"Object",stat:!0},{values:function(e){return o(e)}})},function(e,t,n){"use strict";var r=n(0),o=n(145);r({global:!0,forced:parseInt!=o},{parseInt:o})},function(e,t,n){"use strict";var r,o,i,a,u=n(0),c=n(33),s=n(2),l=n(32),f=n(148),d=n(18),p=n(63),h=n(38),v=n(49),g=n(4),m=n(27),y=n(50),b=n(28),_=n(86),x=n(65),w=n(71),E=n(40),C=n(103).set,S=n(150),N=n(151),k=n(292),O=n(152),A=n(293),I=n(30),T=n(58),M=n(10),V=n(92),L=M("species"),P="Promise",j=I.get,B=I.set,R=I.getterFor(P),F=f,D=s.TypeError,K=s.document,z=s.process,U=l("fetch"),Y=O.f,H=Y,W="process"==b(z),$=!!(K&&K.createEvent&&s.dispatchEvent),G=T(P,(function(){if(!(_(F)!==String(F))){if(66===V)return!0;if(!W&&"function"!=typeof PromiseRejectionEvent)return!0}if(c&&!F.prototype["finally"])return!0;if(V>=51&&/native code/.test(F))return!1;var e=F.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[L]=t,!(e.then((function(){}))instanceof t)})),q=G||!w((function(e){F.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!g(e)||"function"!=typeof(t=e.then))&&t},Q=function(e,t,n){if(!t.notified){t.notified=!0;var r=t.reactions;S((function(){for(var o=t.value,i=1==t.state,a=0;r.length>a;){var u,c,s,l=r[a++],f=i?l.ok:l.fail,d=l.resolve,p=l.reject,h=l.domain;try{f?(i||(2===t.rejection&&te(e,t),t.rejection=1),!0===f?u=o:(h&&h.enter(),u=f(o),h&&(h.exit(),s=!0)),u===l.promise?p(D("Promise-chain cycle")):(c=X(u))?c.call(u,d,p):d(u)):p(o)}catch(v){h&&!s&&h.exit(),p(v)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&Z(e,t)}))}},J=function(e,t,n){var r,o;$?((r=K.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),s.dispatchEvent(r)):r={promise:t,reason:n},(o=s["on"+e])?o(r):"unhandledrejection"===e&&k("Unhandled promise rejection",n)},Z=function(e,t){C.call(s,(function(){var n,r=t.value;if(ee(t)&&(n=A((function(){W?z.emit("unhandledRejection",r,e):J("unhandledrejection",e,r)})),t.rejection=W||ee(t)?2:1,n.error))throw n.value}))},ee=function(e){return 1!==e.rejection&&!e.parent},te=function(e,t){C.call(s,(function(){W?z.emit("rejectionHandled",e):J("rejectionhandled",e,t.value)}))},ne=function(e,t,n,r){return function(o){e(t,n,o,r)}},re=function(e,t,n,r){t.done||(t.done=!0,r&&(t=r),t.value=n,t.state=2,Q(e,t,!0))},oe=function ie(e,t,n,r){if(!t.done){t.done=!0,r&&(t=r);try{if(e===n)throw D("Promise can't be resolved itself");var o=X(n);o?S((function(){var r={done:!1};try{o.call(n,ne(ie,e,r,t),ne(re,e,r,t))}catch(i){re(e,r,i,t)}})):(t.value=n,t.state=1,Q(e,t,!1))}catch(i){re(e,{done:!1},i,t)}}};G&&(F=function(e){y(this,F,P),m(e),r.call(this);var t=j(this);try{e(ne(oe,this,t),ne(re,this,t))}catch(n){re(this,t,n)}},(r=function(e){B(this,{type:P,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:undefined})}).prototype=p(F.prototype,{then:function(e,t){var n=R(this),r=Y(E(this,F));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=W?z.domain:undefined,n.parent=!0,n.reactions.push(r),0!=n.state&&Q(this,n,!1),r.promise},"catch":function(e){return this.then(undefined,e)}}),o=function(){var e=new r,t=j(e);this.promise=e,this.resolve=ne(oe,e,t),this.reject=ne(re,e,t)},O.f=Y=function(e){return e===F||e===i?new o(e):H(e)},c||"function"!=typeof f||(a=f.prototype.then,d(f.prototype,"then",(function(e,t){var n=this;return new F((function(e,t){a.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof U&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return N(F,U.apply(s,arguments))}}))),u({global:!0,wrap:!0,forced:G},{Promise:F}),h(F,P,!1,!0),v(P),i=l(P),u({target:P,stat:!0,forced:G},{reject:function(e){var t=Y(this);return t.reject.call(undefined,e),t.promise}}),u({target:P,stat:!0,forced:c||G},{resolve:function(e){return N(c&&this===i?F:this,e)}}),u({target:P,stat:!0,forced:q},{all:function(e){var t=this,n=Y(t),r=n.resolve,o=n.reject,i=A((function(){var n=m(t.resolve),i=[],a=0,u=1;x(e,(function(e){var c=a++,s=!1;i.push(undefined),u++,n.call(t,e).then((function(e){s||(s=!0,i[c]=e,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),n.promise},race:function(e){var t=this,n=Y(t),r=n.reject,o=A((function(){var o=m(t.resolve);x(e,(function(e){o.call(t,e).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var r=n(0),o=n(33),i=n(148),a=n(1),u=n(32),c=n(40),s=n(151),l=n(18);r({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=c(this,u("Promise")),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then((function(){return n}))}:e,n?function(n){return s(t,e()).then((function(){throw n}))}:e)}}),o||"function"!=typeof i||i.prototype["finally"]||l(i.prototype,"finally",u("Promise").prototype["finally"])},function(e,t,n){"use strict";var r=n(0),o=n(32),i=n(27),a=n(6),u=n(1),c=o("Reflect","apply"),s=Function.apply;r({target:"Reflect",stat:!0,forced:!u((function(){c((function(){}))}))},{apply:function(e,t,n){return i(e),a(n),c?c(e,t,n):s.call(e,t,n)}})},function(e,t,n){"use strict";var r=n(0),o=n(32),i=n(27),a=n(6),u=n(4),c=n(37),s=n(141),l=n(1),f=o("Reflect","construct"),d=l((function(){function e(){}return!(f((function(){}),[],e)instanceof e)})),p=!l((function(){f((function(){}))})),h=d||p;r({target:"Reflect",stat:!0,forced:h,sham:h},{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(p&&!d)return f(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(s.apply(e,r))}var o=n.prototype,l=c(u(o)?o:Object.prototype),h=Function.apply.call(e,l,t);return u(h)?h:l}})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(6),a=n(29),u=n(11);r({target:"Reflect",stat:!0,forced:n(1)((function(){Reflect.defineProperty(u.f({},1,{value:1}),1,{value:2})})),sham:!o},{defineProperty:function(e,t,n){i(e);var r=a(t,!0);i(n);try{return u.f(e,r,n),!0}catch(o){return!1}}})},function(e,t,n){"use strict";var r=n(0),o=n(6),i=n(16).f;r({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=i(o(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var r=n(0),o=n(4),i=n(6),a=n(14),u=n(16),c=n(31);r({target:"Reflect",stat:!0},{get:function s(e,t){var n,r,l=arguments.length<3?e:arguments[2];return i(e)===l?e[t]:(n=u.f(e,t))?a(n,"value")?n.value:n.get===undefined?undefined:n.get.call(l):o(r=c(e))?s(r,t,l):void 0}})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(6),a=n(16);r({target:"Reflect",stat:!0,sham:!o},{getOwnPropertyDescriptor:function(e,t){return a.f(i(e),t)}})},function(e,t,n){"use strict";var r=n(0),o=n(6),i=n(31);r({target:"Reflect",stat:!0,sham:!n(98)},{getPrototypeOf:function(e){return i(o(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var r=n(0),o=n(6),i=Object.isExtensible;r({target:"Reflect",stat:!0},{isExtensible:function(e){return o(e),!i||i(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(88)})},function(e,t,n){"use strict";var r=n(0),o=n(32),i=n(6);r({target:"Reflect",stat:!0,sham:!n(64)},{preventExtensions:function(e){i(e);try{var t=o("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var r=n(0),o=n(6),i=n(4),a=n(14),u=n(1),c=n(11),s=n(16),l=n(31),f=n(41);r({target:"Reflect",stat:!0,forced:u((function(){var e=c.f({},"a",{configurable:!0});return!1!==Reflect.set(l(e),"a",1,e)}))},{set:function d(e,t,n){var r,u,p=arguments.length<4?e:arguments[3],h=s.f(o(e),t);if(!h){if(i(u=l(e)))return d(u,t,n,p);h=f(0)}if(a(h,"value")){if(!1===h.writable||!i(p))return!1;if(r=s.f(p,t)){if(r.get||r.set||!1===r.writable)return!1;r.value=n,c.f(p,t,r)}else c.f(p,t,f(0,n));return!0}return h.set!==undefined&&(h.set.call(p,n),!0)}})},function(e,t,n){"use strict";var r=n(0),o=n(6),i=n(138),a=n(45);a&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){o(e),i(t);try{return a(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var r=n(5),o=n(2),i=n(58),a=n(75),u=n(11).f,c=n(42).f,s=n(104),l=n(79),f=n(105),d=n(18),p=n(1),h=n(30).set,v=n(49),g=n(10)("match"),m=o.RegExp,y=m.prototype,b=/a/g,_=/a/g,x=new m(b)!==b,w=f.UNSUPPORTED_Y;if(r&&i("RegExp",!x||w||p((function(){return _[g]=!1,m(b)!=b||m(_)==_||"/a/i"!=m(b,"i")})))){for(var E=function(e,t){var n,r=this instanceof E,o=s(e),i=t===undefined;if(!r&&o&&e.constructor===E&&i)return e;x?o&&!i&&(e=e.source):e instanceof E&&(i&&(t=l.call(e)),e=e.source),w&&(n=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var u=a(x?new m(e,t):m(e,t),r?this:y,E);return w&&n&&h(u,{sticky:n}),u},C=function(e){e in E||u(E,e,{configurable:!0,get:function(){return m[e]},set:function(t){m[e]=t}})},S=c(m),N=0;S.length>N;)C(S[N++]);y.constructor=E,E.prototype=y,d(o,"RegExp",E)}v("RegExp")},function(e,t,n){"use strict";var r=n(5),o=n(11),i=n(79),a=n(105).UNSUPPORTED_Y;r&&("g"!=/./g.flags||a)&&o.f(RegExp.prototype,"flags",{configurable:!0,get:i})},function(e,t,n){"use strict";var r=n(18),o=n(6),i=n(1),a=n(79),u=RegExp.prototype,c=u.toString,s=i((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),l="toString"!=c.name;(s||l)&&r(RegExp.prototype,"toString",(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in u)?a.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var r=n(74),o=n(142);e.exports=r("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),o)},function(e,t,n){"use strict";var r=n(0),o=n(106).codeAt;r({target:"String",proto:!0},{codePointAt:function(e){return o(this,e)}})},function(e,t,n){"use strict";var r,o=n(0),i=n(16).f,a=n(8),u=n(107),c=n(17),s=n(108),l=n(33),f="".endsWith,d=Math.min,p=s("endsWith");o({target:"String",proto:!0,forced:!!(l||p||(r=i(String.prototype,"endsWith"),!r||r.writable))&&!p},{endsWith:function(e){var t=String(c(this));u(e);var n=arguments.length>1?arguments[1]:undefined,r=a(t.length),o=n===undefined?r:d(a(n),r),i=String(e);return f?f.call(t,i,o):t.slice(o-i.length,o)===i}})},function(e,t,n){"use strict";var r=n(0),o=n(36),i=String.fromCharCode,a=String.fromCodePoint;r({target:"String",stat:!0,forced:!!a&&1!=a.length},{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],o(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?i(t):i(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var r=n(0),o=n(107),i=n(17);r({target:"String",proto:!0,forced:!n(108)("includes")},{includes:function(e){return!!~String(i(this)).indexOf(o(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(106).charAt,o=n(30),i=n(97),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(e){a(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=u(this),n=t.string,o=t.index;return o>=n.length?{value:undefined,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var r=n(81),o=n(6),i=n(8),a=n(17),u=n(109),c=n(82);r("match",1,(function(e,t,n){return[function(t){var n=a(this),r=t==undefined?undefined:t[e];return r!==undefined?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var a=o(e),s=String(this);if(!a.global)return c(a,s);var l=a.unicode;a.lastIndex=0;for(var f,d=[],p=0;null!==(f=c(a,s));){var h=String(f[0]);d[p]=h,""===h&&(a.lastIndex=u(s,i(a.lastIndex),l)),p++}return 0===p?null:d}]}))},function(e,t,n){"use strict";var r=n(0),o=n(100).end;r({target:"String",proto:!0,forced:n(154)},{padEnd:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(100).start;r({target:"String",proto:!0,forced:n(154)},{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(21),i=n(8);r({target:"String",stat:!0},{raw:function(e){for(var t=o(e.raw),n=i(t.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(t[u++])),u]*>)/g,v=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(e,t,n,r){var g=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=g?"$":"$0";return[function(n,r){var o=c(this),i=n==undefined?undefined:n[e];return i!==undefined?i.call(n,o,r):t.call(String(o),n,r)},function(e,r){if(!g&&m||"string"==typeof r&&-1===r.indexOf(y)){var i=n(t,e,this,r);if(i.done)return i.value}var c=o(e),p=String(this),h="function"==typeof r;h||(r=String(r));var v=c.global;if(v){var _=c.unicode;c.lastIndex=0}for(var x=[];;){var w=l(c,p);if(null===w)break;if(x.push(w),!v)break;""===String(w[0])&&(c.lastIndex=s(p,a(c.lastIndex),_))}for(var E,C="",S=0,N=0;N=S&&(C+=p.slice(S,O)+V,S=O+k.length)}return C+p.slice(S)}];function b(e,n,r,o,a,u){var c=r+e.length,s=o.length,l=v;return a!==undefined&&(a=i(a),l=h),t.call(u,l,(function(t,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,r);case"'":return n.slice(c);case"<":u=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return t;if(l>s){var f=p(l/10);return 0===f?t:f<=s?o[f-1]===undefined?i.charAt(1):o[f-1]+i.charAt(1):t}u=o[l-1]}return u===undefined?"":u}))}}))},function(e,t,n){"use strict";var r=n(81),o=n(6),i=n(17),a=n(147),u=n(82);r("search",1,(function(e,t,n){return[function(t){var n=i(this),r=t==undefined?undefined:t[e];return r!==undefined?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var i=o(e),c=String(this),s=i.lastIndex;a(s,0)||(i.lastIndex=0);var l=u(i,c);return a(i.lastIndex,s)||(i.lastIndex=s),null===l?-1:l.index}]}))},function(e,t,n){"use strict";var r=n(81),o=n(104),i=n(6),a=n(17),u=n(40),c=n(109),s=n(8),l=n(82),f=n(80),d=n(1),p=[].push,h=Math.min,v=!d((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(e,t,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var r=String(a(this)),i=n===undefined?4294967295:n>>>0;if(0===i)return[];if(e===undefined)return[r];if(!o(e))return t.call(r,e,i);for(var u,c,s,l=[],d=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),h=0,v=new RegExp(e.source,d+"g");(u=f.call(v,r))&&!((c=v.lastIndex)>h&&(l.push(r.slice(h,u.index)),u.length>1&&u.index=i));)v.lastIndex===u.index&&v.lastIndex++;return h===r.length?!s&&v.test("")||l.push(""):l.push(r.slice(h)),l.length>i?l.slice(0,i):l}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var o=a(this),i=t==undefined?undefined:t[e];return i!==undefined?i.call(t,o,n):r.call(String(o),t,n)},function(e,o){var a=n(r,e,this,o,r!==t);if(a.done)return a.value;var f=i(e),d=String(this),p=u(f,RegExp),g=f.unicode,m=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(v?"y":"g"),y=new p(v?f:"^(?:"+f.source+")",m),b=o===undefined?4294967295:o>>>0;if(0===b)return[];if(0===d.length)return null===l(y,d)?[d]:[];for(var _=0,x=0,w=[];x1?arguments[1]:undefined,t.length)),r=String(e);return f?f.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){"use strict";var r=n(0),o=n(51).trim;r({target:"String",proto:!0,forced:n(110)("trim")},{trim:function(){return o(this)}})},function(e,t,n){"use strict";var r=n(0),o=n(51).end,i=n(110)("trimEnd"),a=i?function(){return o(this)}:"".trimEnd;r({target:"String",proto:!0,forced:i},{trimEnd:a,trimRight:a})},function(e,t,n){"use strict";var r=n(0),o=n(51).start,i=n(110)("trimStart"),a=i?function(){return o(this)}:"".trimStart;r({target:"String",proto:!0,forced:i},{trimStart:a,trimLeft:a})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("anchor")},{anchor:function(e){return o(this,"a","name",e)}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("big")},{big:function(){return o(this,"big","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("blink")},{blink:function(){return o(this,"blink","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("bold")},{bold:function(){return o(this,"b","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("fixed")},{fixed:function(){return o(this,"tt","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("fontcolor")},{fontcolor:function(e){return o(this,"font","color",e)}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("fontsize")},{fontsize:function(e){return o(this,"font","size",e)}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("italics")},{italics:function(){return o(this,"i","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("link")},{link:function(e){return o(this,"a","href",e)}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("small")},{small:function(){return o(this,"small","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("strike")},{strike:function(){return o(this,"strike","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("sub")},{sub:function(){return o(this,"sub","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("sup")},{sup:function(){return o(this,"sup","","")}})},function(e,t,n){"use strict";n(35)("Float32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";var r=n(26);e.exports=function(e){var t=r(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(35)("Float64",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Int8",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Int16",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Int32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}),!0)},function(e,t,n){"use strict";n(35)("Uint16",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Uint32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";var r=n(7),o=n(133),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("copyWithin",(function(e,t){return o.call(i(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(15).every,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("every",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(93),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("fill",(function(e){return o.apply(i(this),arguments)}))},function(e,t,n){"use strict";var r=n(7),o=n(15).filter,i=n(40),a=r.aTypedArray,u=r.aTypedArrayConstructor;(0,r.exportTypedArrayMethod)("filter",(function(e){for(var t=o(a(this),e,arguments.length>1?arguments[1]:undefined),n=i(this,this.constructor),r=0,c=t.length,s=new(u(n))(c);c>r;)s[r]=t[r++];return s}))},function(e,t,n){"use strict";var r=n(7),o=n(15).find,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("find",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(15).findIndex,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("findIndex",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(15).forEach,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("forEach",(function(e){o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(111);(0,n(7).exportTypedArrayStaticMethod)("from",n(156),r)},function(e,t,n){"use strict";var r=n(7),o=n(57).includes,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("includes",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(57).indexOf,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("indexOf",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(2),o=n(7),i=n(136),a=n(10)("iterator"),u=r.Uint8Array,c=i.values,s=i.keys,l=i.entries,f=o.aTypedArray,d=o.exportTypedArrayMethod,p=u&&u.prototype[a],h=!!p&&("values"==p.name||p.name==undefined),v=function(){return c.call(f(this))};d("entries",(function(){return l.call(f(this))})),d("keys",(function(){return s.call(f(this))})),d("values",v,!h),d(a,v,!h)},function(e,t,n){"use strict";var r=n(7),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=[].join;i("join",(function(e){return a.apply(o(this),arguments)}))},function(e,t,n){"use strict";var r=n(7),o=n(139),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("lastIndexOf",(function(e){return o.apply(i(this),arguments)}))},function(e,t,n){"use strict";var r=n(7),o=n(15).map,i=n(40),a=r.aTypedArray,u=r.aTypedArrayConstructor;(0,r.exportTypedArrayMethod)("map",(function(e){return o(a(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(u(i(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var r=n(7),o=n(111),i=r.aTypedArrayConstructor;(0,r.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(i(this))(t);t>e;)n[e]=arguments[e++];return n}),o)},function(e,t,n){"use strict";var r=n(7),o=n(72).left,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduce",(function(e){return o(i(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(72).right,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduceRight",(function(e){return o(i(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=Math.floor;i("reverse",(function(){for(var e,t=o(this).length,n=a(t/2),r=0;r1?arguments[1]:undefined,1),n=this.length,r=a(e),u=o(r.length),s=0;if(u+t>n)throw RangeError("Wrong length");for(;si;)l[i]=n[i++];return l}),i((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var r=n(7),o=n(15).some,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("some",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=[].sort;i("sort",(function(e){return a.call(o(this),e)}))},function(e,t,n){"use strict";var r=n(7),o=n(8),i=n(36),a=n(40),u=r.aTypedArray;(0,r.exportTypedArrayMethod)("subarray",(function(e,t){var n=u(this),r=n.length,c=i(e,r);return new(a(n,n.constructor))(n.buffer,n.byteOffset+c*n.BYTES_PER_ELEMENT,o((t===undefined?r:i(t,r))-c))}))},function(e,t,n){"use strict";var r=n(2),o=n(7),i=n(1),a=r.Int8Array,u=o.aTypedArray,c=o.exportTypedArrayMethod,s=[].toLocaleString,l=[].slice,f=!!a&&i((function(){s.call(new a(1))}));c("toLocaleString",(function(){return s.apply(f?l.call(u(this)):u(this),arguments)}),i((function(){return[1,2].toLocaleString()!=new a([1,2]).toLocaleString()}))||!i((function(){a.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var r=n(7).exportTypedArrayMethod,o=n(1),i=n(2).Uint8Array,a=i&&i.prototype||{},u=[].toString,c=[].join;o((function(){u.call({})}))&&(u=function(){return c.call(this)});var s=a.toString!=u;r("toString",u,s)},function(e,t,n){"use strict";var r,o=n(2),i=n(63),a=n(46),u=n(74),c=n(157),s=n(4),l=n(30).enforce,f=n(124),d=!o.ActiveXObject&&"ActiveXObject"in o,p=Object.isExtensible,h=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},v=e.exports=u("WeakMap",h,c);if(f&&d){r=c.getConstructor(h,"WeakMap",!0),a.REQUIRED=!0;var g=v.prototype,m=g["delete"],y=g.has,b=g.get,_=g.set;i(g,{"delete":function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),m.call(this,e)||t.frozen["delete"](e)}return m.call(this,e)},has:function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),y.call(this,e)||t.frozen.has(e)}return y.call(this,e)},get:function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),y.call(this,e)?b.call(this,e):t.frozen.get(e)}return b.call(this,e)},set:function(e,t){if(s(e)&&!p(e)){var n=l(this);n.frozen||(n.frozen=new r),y.call(this,e)?_.call(this,e,t):n.frozen.set(e,t)}else _.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(74)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(157))},function(e,t,n){"use strict";var r=n(0),o=n(2),i=n(103);r({global:!0,bind:!0,enumerable:!0,forced:!o.setImmediate||!o.clearImmediate},{setImmediate:i.set,clearImmediate:i.clear})},function(e,t,n){"use strict";var r=n(0),o=n(2),i=n(150),a=n(28),u=o.process,c="process"==a(u);r({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=c&&u.domain;i(t?t.bind(e):e)}})},function(e,t,n){"use strict";var r=n(0),o=n(2),i=n(69),a=[].slice,u=function(e){return function(t,n){var r=arguments.length>2,o=r?a.call(arguments,2):undefined;return e(r?function(){("function"==typeof t?t:Function(t)).apply(this,o)}:t,n)}};r({global:!0,bind:!0,forced:/MSIE .\./.test(i)},{setTimeout:u(o.setTimeout),setInterval:u(o.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Oe,t._HI=B,t._M=Ae,t._MCCC=Ve,t._ME=Te,t._MFCC=Le,t._MP=Ne,t._MR=ye,t.__render=Fe,t.createComponentVNode=function(e,t,n,r,o){var a=new A(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),r,function(e,t,n){var r=(32768&e?t.render:t).defaultProps;if(i(r))return n;if(i(n))return l(r,null);return k(n,r)}(e,t,n),function(e,t,n){if(4&e)return n;var r=(32768&e?t.render:t).defaultHooks;if(i(r))return n;if(i(n))return r;return k(n,r)}(e,t,o),t);C.createVNode&&C.createVNode(a);return a},t.createFragment=M,t.createPortal=function(e,t){var n=B(e);return I(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,r,o){e||(e=t),De(n,e,r,o)}},t.createTextVNode=T,t.createVNode=I,t.directClone=V,t.findDOMfromVNode=b,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case"$F":return 8192;default:return 1}},t.linkEvent=function(e,t){if(u(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&i(e.children)&&j(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?l(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=De,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var r=Array.isArray;function o(e){var t=typeof e;return"string"===t||"number"===t}function i(e){return null==e}function a(e){return null===e||!1===e||!0===e||void 0===e}function u(e){return"function"==typeof e}function c(e){return"string"==typeof e}function s(e){return null===e}function l(e,t){var n={};if(e)for(var r in e)n[r]=e[r];if(t)for(var o in t)n[o]=t[o];return n}function f(e){return!s(e)&&"object"==typeof e}var d={};t.EMPTY_OBJ=d;function p(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function v(e,t,n){s(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function m(e){for(var t=0;t0,h=s(d),v=c(d)&&"$"===d[0];p||h||v?(n=n||t.slice(0,l),(p||v)&&(f=V(f)),(h||v)&&(f.key="$"+l),n.push(f)):n&&n.push(f),f.flags|=65536}}i=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=V(t)),i=2;return e.children=n,e.childFlags=i,e}function B(e){return a(e)||o(e)?T(e,null):r(e)?M(e,0,null):16384&e.flags?V(e):e}var R="http://www.w3.org/1999/xlink",F="http://www.w3.org/XML/1998/namespace",D={"xlink:actuate":R,"xlink:arcrole":R,"xlink:href":R,"xlink:role":R,"xlink:show":R,"xlink:title":R,"xlink:type":R,"xml:base":F,"xml:lang":F,"xml:space":F};function K(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var z=K(0),U=K(null),Y=K(!0);function H(e,t){var n=t.$EV;return n||(n=t.$EV=K(null)),n[e]||1==++z[e]&&(U[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Q(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Q(t))}}(e);return document.addEventListener(p(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--z[e]&&(document.removeEventListener(p(e),U[e]),U[e]=null),n[e]=null)}function $(e,t,n,r){var o=function(e){return u(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&o.disabled)return;var i=o.$EV;if(i){var a=i[n];if(a&&(r.dom=o,a.event?a.event(a.data,e):a(e),e.cancelBubble))return}o=o.parentNode}while(!s(o))}function G(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function q(){return this.defaultPrevented}function X(){return this.cancelBubble}function Q(e){var t={dom:document};return e.isDefaultPrevented=q,e.isPropagationStopped=X,e.stopPropagation=G,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function J(e,t,n){if(e[t]){var r=e[t];r.event?r.event(r.data,n):r(n)}else{var o=t.toLowerCase();e[o]&&e[o](n)}}function Z(e,t){var n=function(n){var r=this.$V;if(r){var o=r.props||d,i=r.dom;if(c(e))J(o,e,n);else for(var a=0;a-1&&t.options[a]&&(u=t.options[a].value),n&&i(u)&&(u=e.defaultValue),ae(r,u)}}var se,le,fe=Z("onInput",pe),de=Z("onChange");function pe(e,t,n){var r=e.value,o=t.value;if(i(r)){if(n){var a=e.defaultValue;i(a)||a===o||(t.defaultValue=a,t.value=a)}}else o!==r&&(t.defaultValue=r,t.value=r)}function he(e,t,n,r,o,i){64&e?ie(r,n):256&e?ce(r,n,o,t):128&e&&pe(r,n,o),i&&(n.$V=t)}function ve(e,t,n){64&e?function(e,t){te(t.type)?(ee(e,"change",re),ee(e,"click",oe)):ee(e,"input",ne)}(t,n):256&e?function(e){ee(e,"change",ue)}(t):128&e&&function(e,t){ee(e,"input",fe),t.onChange&&ee(e,"change",de)}(t,n)}function ge(e){return e.type&&te(e.type)?!i(e.checked):!i(e.value)}function me(e){e&&!O(e,null)&&e.current&&(e.current=null)}function ye(e,t,n){e&&(u(e)||void 0!==e.current)&&n.push((function(){O(e,t)||void 0===e.current||(e.current=t)}))}function be(e,t){_e(e),_(e,t)}function _e(e){var t,n=e.flags,r=e.children;if(481&n){t=e.ref;var o=e.props;me(t);var a=e.childFlags;if(!s(o))for(var c=Object.keys(o),l=0,f=c.length;l0;for(var u in a&&(i=ge(n))&&ve(t,r,n),n)Se(u,null,n[u],r,o,i,null);a&&he(t,e,r,n,!0,i)}function ke(e,t,n){var r=B(e.render(t,e.state,n)),o=n;return u(e.getChildContext)&&(o=l(n,e.getChildContext())),e.$CX=o,r}function Oe(e,t,n,r,o,i){var a=new t(n,r),c=a.$N=Boolean(t.getDerivedStateFromProps||a.getSnapshotBeforeUpdate);if(a.$SVG=o,a.$L=i,e.children=a,a.$BS=!1,a.context=r,a.props===d&&(a.props=n),c)a.state=w(a,n,a.state);else if(u(a.componentWillMount)){a.$BR=!0,a.componentWillMount();var l=a.$PS;if(!s(l)){var f=a.state;if(s(f))a.state=l;else for(var p in l)f[p]=l[p];a.$PS=null}a.$BR=!1}return a.$LI=ke(a,n,r),a}function Ae(e,t,n,r,o,i){var a=e.flags|=16384;481&a?Te(e,t,n,r,o,i):4&a?function(e,t,n,r,o,i){var a=Oe(e,e.type,e.props||d,n,r,i);Ae(a.$LI,t,a.$CX,r,o,i),Ve(e.ref,a,i)}(e,t,n,r,o,i):8&a?(!function(e,t,n,r,o,i){Ae(e.children=B(function(e,t){return 32768&e.flags?e.type.render(e.props||d,e.ref,t):e.type(e.props||d,t)}(e,n)),t,n,r,o,i)}(e,t,n,r,o,i),Le(e,i)):512&a||16&a?Ie(e,t,o):8192&a?function(e,t,n,r,o,i){var a=e.children,u=e.childFlags;12&u&&0===a.length&&(u=e.childFlags=2,a=e.children=L());2===u?Ae(a,n,o,r,o,i):Me(a,n,t,r,o,i)}(e,n,t,r,o,i):1024&a&&function(e,t,n,r,o){Ae(e.children,e.ref,t,!1,null,o);var i=L();Ie(i,n,r),e.dom=i.dom}(e,n,t,o,i)}function Ie(e,t,n){var r=e.dom=document.createTextNode(e.children);s(t)||v(t,r,n)}function Te(e,t,n,r,o,a){var u=e.flags,c=e.props,l=e.className,f=e.children,d=e.childFlags,p=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,r=r||(32&u)>0);if(i(l)||""===l||(r?p.setAttribute("class",l):p.className=l),16===d)S(p,f);else if(1!==d){var h=r&&"foreignObject"!==e.type;2===d?(16384&f.flags&&(e.children=f=V(f)),Ae(f,p,n,h,null,a)):8!==d&&4!==d||Me(f,p,n,h,null,a)}s(t)||v(t,p,o),s(c)||Ne(e,u,c,p,r),ye(e.ref,p,a)}function Me(e,t,n,r,o,i){for(var a=0;a0,s!==l){var h=s||d;if((u=l||d)!==d)for(var v in(f=(448&o)>0)&&(p=ge(u)),u){var g=h[v],m=u[v];g!==m&&Se(v,g,m,c,r,p,e)}if(h!==d)for(var y in h)i(u[y])&&!i(h[y])&&Se(y,h[y],null,c,r,p,e)}var b=t.children,_=t.className;e.className!==_&&(i(_)?c.removeAttribute("class"):r?c.setAttribute("class",_):c.className=_);4096&o?function(e,t){e.textContent!==t&&(e.textContent=t)}(c,b):je(e.childFlags,t.childFlags,e.children,b,c,n,r&&"foreignObject"!==t.type,null,e,a);f&&he(o,t,c,u,!1,p);var x=t.ref,w=e.ref;w!==x&&(me(w),ye(x,c,a))}(e,t,r,o,p,f):4&p?function(e,t,n,r,o,i,a){var c=t.children=e.children;if(s(c))return;c.$L=a;var f=t.props||d,p=t.ref,h=e.ref,v=c.state;if(!c.$N){if(u(c.componentWillReceiveProps)){if(c.$BR=!0,c.componentWillReceiveProps(f,r),c.$UN)return;c.$BR=!1}s(c.$PS)||(v=l(v,c.$PS),c.$PS=null)}Be(c,v,f,n,r,o,!1,i,a),h!==p&&(me(h),ye(p,c,a))}(e,t,n,r,o,c,f):8&p?function(e,t,n,r,o,a,c){var s=!0,l=t.props||d,f=t.ref,p=e.props,h=!i(f),v=e.children;h&&u(f.onComponentShouldUpdate)&&(s=f.onComponentShouldUpdate(p,l));if(!1!==s){h&&u(f.onComponentWillUpdate)&&f.onComponentWillUpdate(p,l);var g=t.type,m=B(32768&t.flags?g.render(l,f,r):g(l,r));Pe(v,m,n,r,o,a,c),t.children=m,h&&u(f.onComponentDidUpdate)&&f.onComponentDidUpdate(p,l)}else t.children=v}(e,t,n,r,o,c,f):16&p?function(e,t){var n=t.children,r=t.dom=e.dom;n!==e.children&&(r.nodeValue=n)}(e,t):512&p?t.dom=e.dom:8192&p?function(e,t,n,r,o,i){var a=e.children,u=t.children,c=e.childFlags,s=t.childFlags,l=null;12&s&&0===u.length&&(s=t.childFlags=2,u=t.children=L());var f=0!=(2&s);if(12&c){var d=a.length;(8&c&&8&s||f||!f&&u.length>d)&&(l=b(a[d-1],!1).nextSibling)}je(c,s,a,u,n,r,o,l,e,i)}(e,t,n,r,o,f):function(e,t,n,r){var o=e.ref,i=t.ref,u=t.children;if(je(e.childFlags,t.childFlags,e.children,u,o,n,!1,null,e,r),t.dom=e.dom,o!==i&&!a(u)){var c=u.dom;g(o,c),h(i,c)}}(e,t,r,f)}function je(e,t,n,r,o,i,a,u,c,s){switch(e){case 2:switch(t){case 2:Pe(n,r,o,i,a,u,s);break;case 1:be(n,o);break;case 16:_e(n),S(o,r);break;default:!function(e,t,n,r,o,i){_e(e),Me(t,n,r,o,b(e,!0),i),_(e,n)}(n,r,o,i,a,s)}break;case 1:switch(t){case 2:Ae(r,o,i,a,u,s);break;case 1:break;case 16:S(o,r);break;default:Me(r,o,i,a,u,s)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:S(n,t))}(n,r,o);break;case 2:we(o),Ae(r,o,i,a,u,s);break;case 1:we(o);break;default:we(o),Me(r,o,i,a,u,s)}break;default:switch(t){case 16:xe(n),S(o,r);break;case 2:Ee(o,c,n),Ae(r,o,i,a,u,s);break;case 1:Ee(o,c,n);break;default:var l=0|n.length,f=0|r.length;0===l?f>0&&Me(r,o,i,a,u,s):0===f?Ee(o,c,n):8===t&&8===e?function(e,t,n,r,o,i,a,u,c,s){var l,f,d=i-1,p=a-1,h=0,v=e[h],g=t[h];e:{for(;v.key===g.key;){if(16384&g.flags&&(t[h]=g=V(g)),Pe(v,g,n,r,o,u,s),e[h]=g,++h>d||h>p)break e;v=e[h],g=t[h]}for(v=e[d],g=t[p];v.key===g.key;){if(16384&g.flags&&(t[p]=g=V(g)),Pe(v,g,n,r,o,u,s),e[d]=g,d--,p--,h>d||h>p)break e;v=e[d],g=t[p]}}if(h>d){if(h<=p)for(f=(l=p+1)p)for(;h<=d;)be(e[h++],n);else!function(e,t,n,r,o,i,a,u,c,s,l,f,d){var p,h,v,g=0,m=u,y=u,_=i-u+1,w=a-u+1,E=new Int32Array(w+1),C=_===r,S=!1,N=0,k=0;if(o<4||(_|w)<32)for(g=m;g<=i;++g)if(p=e[g],ku?S=!0:N=u,16384&h.flags&&(t[u]=h=V(h)),Pe(p,h,c,n,s,l,d),++k;break}!C&&u>a&&be(p,c)}else C||be(p,c);else{var O={};for(g=y;g<=a;++g)O[t[g].key]=g;for(g=m;g<=i;++g)if(p=e[g],km;)be(e[m++],c);E[u-y]=g+1,N>u?S=!0:N=u,16384&(h=t[u]).flags&&(t[u]=h=V(h)),Pe(p,h,c,n,s,l,d),++k}else C||be(p,c);else C||be(p,c)}if(C)Ee(c,f,e),Me(t,c,n,s,l,d);else if(S){var A=function(e){var t=0,n=0,r=0,o=0,i=0,a=0,u=0,c=e.length;c>Re&&(Re=c,se=new Int32Array(c),le=new Int32Array(c));for(;n>1]]0&&(le[n]=se[i-1]),se[i]=n)}i=o+1;var s=new Int32Array(i);a=se[i-1];for(;i-- >0;)s[i]=a,a=le[a],se[i]=0;return s}(E);for(u=A.length-1,g=w-1;g>=0;g--)0===E[g]?(16384&(h=t[N=g+y]).flags&&(t[N]=h=V(h)),Ae(h,c,n,s,(v=N+1)=0;g--)0===E[g]&&(16384&(h=t[N=g+y]).flags&&(t[N]=h=V(h)),Ae(h,c,n,s,(v=N+1)a?a:i,d=0;da)for(d=f;d=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var u=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(u&&c){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),x(n),s}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;x(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:E(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),s}},e}(e.exports);try{regeneratorRuntime=r}catch(o){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";!function(t,n){var r,o,i=t.html5||{},a=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,c=0,s={};function l(){var e=h.elements;return"string"==typeof e?e.split(" "):e}function f(e){var t=s[e._html5shiv];return t||(t={},c++,e._html5shiv=c,s[c]=t),t}function d(e,t,r){return t||(t=n),o?t.createElement(e):(r||(r=f(t)),!(i=r.cache[e]?r.cache[e].cloneNode():u.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e)).canHaveChildren||a.test(e)||i.tagUrn?i:r.frag.appendChild(i));var i}function p(e){e||(e=n);var t=f(e);return!h.shivCSS||r||t.hasCSS||(t.hasCSS=!!function(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",r.insertBefore(n.lastChild,r.firstChild)}(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),o||function(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return h.shivMethods?d(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/[\w\-:]+/g,(function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'}))+");return n}")(h,t.frag)}(e,t),e}!function(){try{var e=n.createElement("a");e.innerHTML="",r="hidden"in e,o=1==e.childNodes.length||function(){n.createElement("a");var e=n.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(t){r=!0,o=!0}}();var h={elements:i.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:"3.7.3",shivCSS:!1!==i.shivCSS,supportsUnknownElements:o,shivMethods:!1!==i.shivMethods,type:"default",shivDocument:p,createElement:d,createDocumentFragment:function(e,t){if(e||(e=n),o)return e.createDocumentFragment();for(var r=(t=t||f(e)).frag.cloneNode(),i=0,a=l(),u=a.length;i0?o(r(e),9007199254740991):0}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n0&&(t.style=c),t};t.computeBoxProps=g;var m=function(e){var t=e.textColor||e.color,n=e.backgroundColor;return(0,r.classes)([s(t)&&"color-"+t,s(n)&&"color-bg-"+n])};t.computeBoxClassName=m;var y=function(e){var t=e.as,n=void 0===t?"div":t,r=e.className,a=e.children,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["as","className","children"]);if("function"==typeof a)return a(g(e));var c="string"==typeof r?r+" "+m(u):m(u),s=g(u);return(0,o.createVNode)(i.VNodeFlags.HtmlElement,n,c,a,i.ChildFlags.UnknownChildren,s)};t.Box=y,y.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},function(e,t,n){"use strict";var r=n(44),o=n(56),i=n(12),a=n(8),u=n(62),c=[].push,s=function(e){var t=1==e,n=2==e,s=3==e,l=4==e,f=6==e,d=5==e||f;return function(p,h,v,g){for(var m,y,b=i(p),_=o(b),w=r(h,v,3),x=a(_.length),E=0,C=g||u,S=t?C(p,x):n?C(p,0):undefined;x>E;E++)if((d||E in _)&&(y=w(m=_[E],E,b),e))if(t)S[E]=y;else if(y)switch(e){case 3:return!0;case 5:return m;case 6:return E;case 2:c.call(S,m)}else if(l)return!1;return f?-1:s||l?l:S}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(e,t,n){"use strict";var r=n(5),o=n(68),i=n(42),a=n(21),u=n(29),c=n(14),s=n(122),l=Object.getOwnPropertyDescriptor;t.f=r?l:function(e,t){if(e=a(e),t=u(t,!0),s)try{return l(e,t)}catch(n){}if(c(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(3),o=n(25),i=n(14),a=n(85),u=n(86),c=n(30),s=c.get,l=c.enforce,f=String(String).split("String");(e.exports=function(e,t,n,u){var c=!!u&&!!u.unsafe,s=!!u&&!!u.enumerable,d=!!u&&!!u.noTargetGet;"function"==typeof n&&("string"!=typeof t||i(n,"name")||o(n,"name",t),l(n).source=f.join("string"==typeof t?t:"")),e!==r?(c?!d&&e[t]&&(s=!0):delete e[t],s?e[t]=n:o(e,t,n)):s?e[t]=n:a(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||u(this)}))},function(e,t,n){"use strict";var r=n(5),o=n(1),i=n(14),a=Object.defineProperty,u={},c=function(e){throw e};e.exports=function(e,t){if(i(u,e))return u[e];t||(t={});var n=[][e],s=!!i(t,"ACCESSORS")&&t.ACCESSORS,l=i(t,0)?t[0]:c,f=i(t,1)?t[1]:undefined;return u[e]=!!n&&!o((function(){if(s&&!r)return!0;var e={length:-1};s?a(e,1,{enumerable:!0,get:c}):e[1]=1,n.call(e,l,f)}))}},function(e,t,n){"use strict";function r(e,t,n,r,o,i,a){try{var u=e[i](a),c=u.value}catch(s){return void n(s)}u.done?t(c):Promise.resolve(c).then(r,o)}t.__esModule=!0,t.winset=t.winget=t.runCommand=t.callByondAsync=t.callByond=t.IS_IE8=void 0;var o=window.Byond,i=function(){var e=navigator.userAgent.match(/Trident\/(\d+).+?;/i);if(!e)return null;var t=e[1];return t?parseInt(t,10):null}(),a=null!==i&&i<=6;t.IS_IE8=a;var u=function(e,t){void 0===t&&(t={}),o.call(e,t)};t.callByond=u;var c=function(e,t){void 0===t&&(t={}),window.__callbacks__=window.__callbacks__||[];var n=window.__callbacks__.length,r=new Promise((function(e){window.__callbacks__.push(e)}));return o.call(e,Object.assign({},t,{callback:"__callbacks__["+n+"]"})),r};t.callByondAsync=c;t.runCommand=function(e){return u("winset",{command:e})};var s=function(){var e,t=(e=regeneratorRuntime.mark((function n(e,t){var r;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,c("winget",{id:e,property:t});case 2:return r=n.sent,n.abrupt("return",r[t]);case 4:case"end":return n.stop()}}),n)})),function(){var t=this,n=arguments;return new Promise((function(o,i){var a=e.apply(t,n);function u(e){r(a,o,i,u,c,"next",e)}function c(e){r(a,o,i,u,c,"throw",e)}u(undefined)}))});return function(e,n){return t.apply(this,arguments)}}();t.winget=s;t.winset=function(e,t,n){var r;return u("winset",((r={})[e+"."+t]=n,r))}},function(e,t,n){"use strict";var r=n(56),o=n(17);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var r=n(126),o=n(14),i=n(132),a=n(11).f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});o(t,e)||a(t,e,{value:i.f(e)})}},function(e,t,n){"use strict";var r=n(17),o=/"/g;e.exports=function(e,t,n,i){var a=String(r(e)),u="<"+t;return""!==n&&(u+=" "+n+'="'+String(i).replace(o,""")+'"'),u+">"+a+""}},function(e,t,n){"use strict";var r=n(1);e.exports=function(e){return r((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";var r=n(5),o=n(11),i=n(42);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){"use strict";var r=Math.ceil,o=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?o:r)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";var r={}.toString;e.exports=function(e){return r.call(e).slice(8,-1)}},function(e,t,n){"use strict";var r=n(4);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var r,o,i,a=n(124),u=n(3),c=n(4),s=n(25),l=n(14),f=n(69),d=n(58),p=u.WeakMap;if(a){var h=new p,v=h.get,g=h.has,m=h.set;r=function(e,t){return m.call(h,e,t),t},o=function(e){return v.call(h,e)||{}},i=function(e){return g.call(h,e)}}else{var y=f("state");d[y]=!0,r=function(e,t){return s(e,y,t),t},o=function(e){return l(e,y)?e[y]:{}},i=function(e){return l(e,y)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!c(t)||(n=o(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var r=n(14),o=n(12),i=n(69),a=n(98),u=i("IE_PROTO"),c=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){return e=o(e),r(e,u)?e[u]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?c:null}},function(e,t,n){"use strict";var r=n(126),o=n(3),i=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?i(r[e])||i(o[e]):r[e]&&r[e][t]||o[e]&&o[e][t]}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var r=n(1);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var r=n(0),o=n(3),i=n(5),a=n(111),u=n(7),c=n(74),s=n(52),l=n(42),f=n(25),d=n(8),p=n(140),h=n(155),v=n(29),g=n(14),m=n(71),y=n(4),b=n(38),_=n(46),w=n(43).f,x=n(156),E=n(15).forEach,C=n(51),S=n(11),N=n(16),k=n(30),O=n(76),A=k.get,I=k.set,T=S.f,M=N.f,V=Math.round,L=o.RangeError,P=c.ArrayBuffer,j=c.DataView,B=u.NATIVE_ARRAY_BUFFER_VIEWS,F=u.TYPED_ARRAY_TAG,R=u.TypedArray,D=u.TypedArrayPrototype,K=u.aTypedArrayConstructor,z=u.isTypedArray,U=function(e,t){for(var n=0,r=t.length,o=new(K(e))(r);r>n;)o[n]=t[n++];return o},Y=function(e,t){T(e,t,{get:function(){return A(this)[t]}})},H=function(e){var t;return e instanceof P||"ArrayBuffer"==(t=m(e))||"SharedArrayBuffer"==t},W=function(e,t){return z(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},$=function(e,t){return W(e,t=v(t,!0))?l(2,e[t]):M(e,t)},G=function(e,t,n){return!(W(e,t=v(t,!0))&&y(n)&&g(n,"value"))||g(n,"get")||g(n,"set")||n.configurable||g(n,"writable")&&!n.writable||g(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};i?(B||(N.f=$,S.f=G,Y(D,"buffer"),Y(D,"byteOffset"),Y(D,"byteLength"),Y(D,"length")),r({target:"Object",stat:!0,forced:!B},{getOwnPropertyDescriptor:$,defineProperty:G}),e.exports=function(e,t,n){var i=e.match(/\d+$/)[0]/8,u=e+(n?"Clamped":"")+"Array",c="get"+e,l="set"+e,v=o[u],g=v,m=g&&g.prototype,S={},N=function(e,t){T(e,t,{get:function(){return function(e,t){var n=A(e);return n.view[c](t*i+n.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,r){var o=A(e);n&&(r=(r=V(r))<0?0:r>255?255:255&r),o.view[l](t*i+o.byteOffset,r,!0)}(this,t,e)},enumerable:!0})};B?a&&(g=t((function(e,t,n,r){return s(e,g,u),O(y(t)?H(t)?r!==undefined?new v(t,h(n,i),r):n!==undefined?new v(t,h(n,i)):new v(t):z(t)?U(g,t):x.call(g,t):new v(p(t)),e,g)})),_&&_(g,R),E(w(v),(function(e){e in g||f(g,e,v[e])})),g.prototype=m):(g=t((function(e,t,n,r){s(e,g,u);var o,a,c,l=0,f=0;if(y(t)){if(!H(t))return z(t)?U(g,t):x.call(g,t);o=t,f=h(n,i);var v=t.byteLength;if(r===undefined){if(v%i)throw L("Wrong length");if((a=v-f)<0)throw L("Wrong length")}else if((a=d(r)*i)+f>v)throw L("Wrong length");c=a/i}else c=p(t),o=new P(a=c*i);for(I(e,{buffer:o,byteOffset:f,byteLength:a,length:c,view:new j(o)});l"+e+"<\/script>"},h=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(o){}var e,t;h=r?function(e){e.write(p("")),e.close();var t=e.parentWindow.Object;return e=null,t}(r):((t=s("iframe")).style.display="none",c.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(p("document.F=Object")),e.close(),e.F);for(var n=a.length;n--;)delete h.prototype[a[n]];return h()};u[f]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(d.prototype=o(e),n=new d,d.prototype=null,n[f]=e):n=h(),t===undefined?n:i(n,t)}},function(e,t,n){"use strict";var r=n(11).f,o=n(14),i=n(10)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,n){"use strict";var r=n(10),o=n(38),i=n(11),a=r("unscopables"),u=Array.prototype;u[a]==undefined&&i.f(u,a,{configurable:!0,value:o(null)}),e.exports=function(e){u[a][e]=!0}},function(e,t,n){"use strict";var r=n(6),o=n(27),i=n(10)("species");e.exports=function(e,t){var n,a=r(e).constructor;return a===undefined||(n=r(a)[i])==undefined?t:o(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var r=n(127),o=n(89).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){"use strict";var r=n(27);e.exports=function(e,t,n){if(r(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var r=n(29),o=n(11),i=n(42);e.exports=function(e,t,n){var a=r(t);a in e?o.f(e,a,i(0,n)):e[a]=n}},function(e,t,n){"use strict";var r=n(6),o=n(138);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),t?e.call(n,i):n.__proto__=i,n}}():undefined)},function(e,t,n){"use strict";var r=n(58),o=n(4),i=n(14),a=n(11).f,u=n(57),c=n(66),s=u("meta"),l=0,f=Object.isExtensible||function(){return!0},d=function(e){a(e,s,{value:{objectID:"O"+ ++l,weakData:{}}})},p=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,s)){if(!f(e))return"F";if(!t)return"E";d(e)}return e[s].objectID},getWeakData:function(e,t){if(!i(e,s)){if(!f(e))return!0;if(!t)return!1;d(e)}return e[s].weakData},onFreeze:function(e){return c&&p.REQUIRED&&f(e)&&!i(e,s)&&d(e),e}};r[s]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.Window=t.NtosWindow=t.refocusLayout=t.Layout=void 0;var r=n(115);t.Layout=r.Layout,t.refocusLayout=r.refocusLayout;var o=n(402);t.NtosWindow=o.NtosWindow;var i=n(166);t.Window=i.Window},function(e,t,n){"use strict";t.__esModule=!0,t.Tooltip=t.Tabs=t.Table=t.Slider=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.Modal=t.NanoMap=t.LabeledList=t.LabeledControls=t.Knob=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Divider=t.Dimmer=t.ColorBox=t.Collapsible=t.Chart=t.ByondUi=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var r=n(116);t.AnimatedNumber=r.AnimatedNumber;var o=n(403);t.BlockQuote=o.BlockQuote;var i=n(13);t.Box=i.Box;var a=n(117);t.Button=a.Button;var u=n(405);t.ByondUi=u.ByondUi;var c=n(407);t.Chart=c.Chart;var s=n(408);t.Collapsible=s.Collapsible;var l=n(409);t.ColorBox=l.ColorBox;var f=n(162);t.Dimmer=f.Dimmer;var d=n(163);t.Divider=d.Divider;var p=n(410);t.Dropdown=p.Dropdown;var h=n(164);t.Flex=h.Flex;var v=n(411);t.Grid=v.Grid;var g=n(118);t.Icon=g.Icon;var m=n(412);t.Input=m.Input;var y=n(413);t.Knob=y.Knob;var b=n(414);t.LabeledControls=b.LabeledControls;var _=n(415);t.LabeledList=_.LabeledList;var w=n(416);t.NanoMap=w.NanoMap;var x=n(417);t.Modal=x.Modal;var E=n(418);t.NoticeBox=E.NoticeBox;var C=n(120);t.NumberInput=C.NumberInput;var S=n(419);t.ProgressBar=S.ProgressBar;var N=n(420);t.Section=N.Section;var k=n(421);t.Slider=k.Slider;var O=n(119);t.Table=O.Table;var A=n(422);t.Tabs=A.Tabs;var I=n(161);t.Tooltip=I.Tooltip},function(e,t,n){"use strict";var r=n(28);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){"use strict";var r=n(32),o=n(11),i=n(10),a=n(5),u=i("species");e.exports=function(e){var t=r(e),n=o.f;a&&t&&!t[u]&&n(t,u,{configurable:!0,get:function(){return this}})}},function(e,t,n){"use strict";e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},function(e,t,n){"use strict";var r=n(17),o="["+n(78)+"]",i=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$"),u=function(e){return function(t){var n=String(r(t));return 1&e&&(n=n.replace(i,"")),2&e&&(n=n.replace(a,"")),n}};e.exports={start:u(1),end:u(2),trim:u(3)}},function(e,t,n){"use strict";t.__esModule=!0,t.logger=t.createLogger=void 0;n(158);var r=n(20),o=0,i=1,a=2,u=3,c=4,s=function(e,t){for(var n=arguments.length,o=new Array(n>2?n-2:0),i=2;i=a){var u=[t].concat(o).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,r.callByond)("",{src:window.__ref__,action:"tgui:log",log:u})}},l=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),r=0;rn?n:e};t.clamp01=function(e){return e<0?0:e>1?1:e};t.scale=function(e,t,n){return(e-t)/(n-t)};t.round=function(e,t){return!e||isNaN(e)?e:(t|=0,i=(e*=n=Math.pow(10,t))>0|-(e<0),o=Math.abs(e%1)>=.4999999999854481,r=Math.floor(e),o&&(e=r+(i>0)),(o?e:Math.round(e))/n);var n,r,o,i};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(Math.max(t,0))};var r=function(e,t){return t&&e>=t[0]&&e<=t[1]};t.inRange=r;t.keyOfMatchingRange=function(e,t){for(var n=0,o=Object.keys(t);nl;)if((u=c[l++])!=u)return!0}else for(;s>l;l++)if((e||l in c)&&c[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},function(e,t,n){"use strict";var r=n(1),o=/#|\.prototype\./,i=function(e,t){var n=u[a(e)];return n==s||n!=c&&("function"==typeof t?r(t):!!t)},a=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",s=i.POLYFILL="P";e.exports=i},function(e,t,n){"use strict";var r=n(127),o=n(89);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){"use strict";var r=n(4),o=n(50),i=n(10)("species");e.exports=function(e,t){var n;return o(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var r=n(1),o=n(10),i=n(92),a=o("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(18);e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},function(e,t,n){"use strict";var r=n(1);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var r=n(6),o=n(94),i=n(8),a=n(44),u=n(95),c=n(135),s=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,l,f){var d,p,h,v,g,m,y,b=a(t,n,l?2:1);if(f)d=e;else{if("function"!=typeof(p=u(e)))throw TypeError("Target is not iterable");if(o(p)){for(h=0,v=i(e.length);v>h;h++)if((g=l?b(r(y=e[h])[0],y[1]):b(e[h]))&&g instanceof s)return g;return new s(!1)}d=p.call(e)}for(m=d.next;!(y=m.call(d)).done;)if("object"==typeof(g=c(d,b,y.value,l))&&g&&g instanceof s)return g;return new s(!1)}).stop=function(e){return new s(!0,e)}},function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},function(e,t,n){"use strict";var r=n(87),o=n(57),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t,n){"use strict";var r=n(32);e.exports=r("navigator","userAgent")||""},function(e,t,n){"use strict";var r=n(96),o=n(28),i=n(10)("toStringTag"),a="Arguments"==o(function(){return arguments}());e.exports=r?o:function(e){var t,n,r;return e===undefined?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},function(e,t,n){"use strict";var r=n(10)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},"return":function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(u){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(u){}return n}},function(e,t,n){"use strict";var r=n(27),o=n(12),i=n(56),a=n(8),u=function(e){return function(t,n,u,c){r(n);var s=o(t),l=i(s),f=a(s.length),d=e?f-1:0,p=e?-1:1;if(u<2)for(;;){if(d in l){c=l[d],d+=p;break}if(d+=p,e?d<0:f<=d)throw TypeError("Reduce of empty array with no initial value")}for(;e?d>=0:f>d;d+=p)d in l&&(c=n(c,l[d],d,s));return c}};e.exports={left:u(!1),right:u(!0)}},function(e,t,n){"use strict";var r=n(3),o=n(5),i=n(99),a=n(25),u=n(65),c=n(1),s=n(52),l=n(26),f=n(8),d=n(140),p=n(215),h=n(31),v=n(46),g=n(43).f,m=n(11).f,y=n(93),b=n(39),_=n(30),w=_.get,x=_.set,E=r.ArrayBuffer,C=E,S=r.DataView,N=S&&S.prototype,k=Object.prototype,O=r.RangeError,A=p.pack,I=p.unpack,T=function(e){return[255&e]},M=function(e){return[255&e,e>>8&255]},V=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},L=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},P=function(e){return A(e,23,4)},j=function(e){return A(e,52,8)},B=function(e,t){m(e.prototype,t,{get:function(){return w(this)[t]}})},F=function(e,t,n,r){var o=d(n),i=w(e);if(o+t>i.byteLength)throw O("Wrong index");var a=w(i.buffer).bytes,u=o+i.byteOffset,c=a.slice(u,u+t);return r?c:c.reverse()},R=function(e,t,n,r,o,i){var a=d(n),u=w(e);if(a+t>u.byteLength)throw O("Wrong index");for(var c=w(u.buffer).bytes,s=a+u.byteOffset,l=r(+o),f=0;fU;)(D=z[U++])in C||a(C,D,E[D]);K.constructor=C}v&&h(N)!==k&&v(N,k);var Y=new S(new C(2)),H=N.setInt8;Y.setInt8(0,2147483648),Y.setInt8(1,2147483649),!Y.getInt8(0)&&Y.getInt8(1)||u(N,{setInt8:function(e,t){H.call(this,e,t<<24>>24)},setUint8:function(e,t){H.call(this,e,t<<24>>24)}},{unsafe:!0})}else C=function(e){s(this,C,"ArrayBuffer");var t=d(e);x(this,{bytes:y.call(new Array(t),0),byteLength:t}),o||(this.byteLength=t)},S=function(e,t,n){s(this,S,"DataView"),s(e,C,"DataView");var r=w(e).byteLength,i=l(t);if(i<0||i>r)throw O("Wrong offset");if(i+(n=n===undefined?r-i:f(n))>r)throw O("Wrong length");x(this,{buffer:e,byteLength:n,byteOffset:i}),o||(this.buffer=e,this.byteLength=n,this.byteOffset=i)},o&&(B(C,"byteLength"),B(S,"buffer"),B(S,"byteLength"),B(S,"byteOffset")),u(S.prototype,{getInt8:function(e){return F(this,1,e)[0]<<24>>24},getUint8:function(e){return F(this,1,e)[0]},getInt16:function(e){var t=F(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=F(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return L(F(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return L(F(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return I(F(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return I(F(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){R(this,1,e,T,t)},setUint8:function(e,t){R(this,1,e,T,t)},setInt16:function(e,t){R(this,2,e,M,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){R(this,2,e,M,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){R(this,4,e,V,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){R(this,4,e,V,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){R(this,4,e,P,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){R(this,8,e,j,t,arguments.length>2?arguments[2]:undefined)}});b(C,"ArrayBuffer"),b(S,"DataView"),e.exports={ArrayBuffer:C,DataView:S}},function(e,t,n){"use strict";var r=n(0),o=n(3),i=n(60),a=n(18),u=n(47),c=n(67),s=n(52),l=n(4),f=n(1),d=n(72),p=n(39),h=n(76);e.exports=function(e,t,n){var v=-1!==e.indexOf("Map"),g=-1!==e.indexOf("Weak"),m=v?"set":"add",y=o[e],b=y&&y.prototype,_=y,w={},x=function(e){var t=b[e];a(b,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return g&&!l(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(g&&!l(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(i(e,"function"!=typeof y||!(g||b.forEach&&!f((function(){(new y).entries().next()})))))_=n.getConstructor(t,e,v,m),u.REQUIRED=!0;else if(i(e,!0)){var E=new _,C=E[m](g?{}:-0,1)!=E,S=f((function(){E.has(1)})),N=d((function(e){new y(e)})),k=!g&&f((function(){for(var e=new y,t=5;t--;)e[m](t,t);return!e.has(-0)}));N||((_=t((function(t,n){s(t,_,e);var r=h(new y,t,_);return n!=undefined&&c(n,r[m],r,v),r}))).prototype=b,b.constructor=_),(S||k)&&(x("delete"),x("has"),v&&x("get")),(k||C)&&x(m),g&&b.clear&&delete b.clear}return w[e]=_,r({global:!0,forced:_!=y},w),p(_,e),g||n.setStrong(_,e,v),_}},function(e,t,n){"use strict";var r=n(4),o=n(46);e.exports=function(e,t,n){var i,a;return o&&"function"==typeof(i=t.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(e,a),e}},function(e,t,n){"use strict";var r=Math.expm1,o=Math.exp;e.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:o(e)-1}:r},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var r=n(33),o=n(3),i=n(1);e.exports=r||!i((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete o[e]}))},function(e,t,n){"use strict";var r=n(6);e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var r,o,i=n(80),a=n(105),u=RegExp.prototype.exec,c=String.prototype.replace,s=u,l=(r=/a/,o=/b*/g,u.call(r,"a"),u.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=a.UNSUPPORTED_Y||a.BROKEN_CARET,d=/()??/.exec("")[1]!==undefined;(l||d||f)&&(s=function(e){var t,n,r,o,a=this,s=f&&a.sticky,p=i.call(a),h=a.source,v=0,g=e;return s&&(-1===(p=p.replace("y","")).indexOf("g")&&(p+="g"),g=String(e).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==e[a.lastIndex-1])&&(h="(?: "+h+")",g=" "+g,v++),n=new RegExp("^(?:"+h+")",p)),d&&(n=new RegExp("^"+h+"$(?!\\s)",p)),l&&(t=a.lastIndex),r=u.call(s?n:a,g),s?r?(r.input=r.input.slice(v),r[0]=r[0].slice(v),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:l&&r&&(a.lastIndex=a.global?r.index+r[0].length:t),d&&r&&r.length>1&&c.call(r[0],n,(function(){for(o=1;o")})),l="$0"==="a".replace(/./,"$0"),f=i("replace"),d=!!/./[f]&&""===/./[f]("a","$0"),p=!o((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,f){var h=i(e),v=!o((function(){var t={};return t[h]=function(){return 7},7!=""[e](t)})),g=v&&!o((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[c]=function(){return n},n.flags="",n[h]=/./[h]),n.exec=function(){return t=!0,null},n[h](""),!t}));if(!v||!g||"replace"===e&&(!s||!l||d)||"split"===e&&!p){var m=/./[h],y=n(h,""[e],(function(e,t,n,r,o){return t.exec===a?v&&!o?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:l,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:d}),b=y[0],_=y[1];r(String.prototype,e,b),r(RegExp.prototype,h,2==t?function(e,t){return _.call(e,this,t)}:function(e){return _.call(e,this)})}f&&u(RegExp.prototype[h],"sham",!0)}},function(e,t,n){"use strict";var r=n(28),o=n(81);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var i=n.call(e,t);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(e))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(e,t)}},function(e,t,n){"use strict";var r=n(3),o=n(4),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){"use strict";var r=n(3),o=n(25);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){"use strict";var r=n(123),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},function(e,t,n){"use strict";var r=n(33),o=n(123);(e.exports=function(e,t){return o[e]||(o[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"\xa9 2020 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var r=n(32),o=n(43),i=n(90),a=n(6);e.exports=r("Reflect","ownKeys")||function(e){var t=o.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var r=n(1);e.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var r,o,i=n(3),a=n(70),u=i.process,c=u&&u.versions,s=c&&c.v8;s?o=(r=s.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),e.exports=o&&+o},function(e,t,n){"use strict";var r=n(12),o=n(37),i=n(8);e.exports=function(e){for(var t=r(this),n=i(t.length),a=arguments.length,u=o(a>1?arguments[1]:undefined,n),c=a>2?arguments[2]:undefined,s=c===undefined?n:o(c,n);s>u;)t[u++]=e;return t}},function(e,t,n){"use strict";var r=n(10),o=n(64),i=r("iterator"),a=Array.prototype;e.exports=function(e){return e!==undefined&&(o.Array===e||a[i]===e)}},function(e,t,n){"use strict";var r=n(71),o=n(64),i=n(10)("iterator");e.exports=function(e){if(e!=undefined)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t,n){"use strict";var r={};r[n(10)("toStringTag")]="z",e.exports="[object z]"===String(r)},function(e,t,n){"use strict";var r=n(0),o=n(200),i=n(31),a=n(46),u=n(39),c=n(25),s=n(18),l=n(10),f=n(33),d=n(64),p=n(137),h=p.IteratorPrototype,v=p.BUGGY_SAFARI_ITERATORS,g=l("iterator"),m=function(){return this};e.exports=function(e,t,n,l,p,y,b){o(n,t,l);var _,w,x,E=function(e){if(e===p&&O)return O;if(!v&&e in N)return N[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},C=t+" Iterator",S=!1,N=e.prototype,k=N[g]||N["@@iterator"]||p&&N[p],O=!v&&k||E(p),A="Array"==t&&N.entries||k;if(A&&(_=i(A.call(new e)),h!==Object.prototype&&_.next&&(f||i(_)===h||(a?a(_,h):"function"!=typeof _[g]&&c(_,g,m)),u(_,C,!0,!0),f&&(d[C]=m))),"values"==p&&k&&"values"!==k.name&&(S=!0,O=function(){return k.call(this)}),f&&!b||N[g]===O||c(N,g,O),d[t]=O,p)if(w={values:E("values"),keys:y?O:E("keys"),entries:E("entries")},b)for(x in w)(v||S||!(x in N))&&s(N,x,w[x]);else r({target:t,proto:!0,forced:v||S},w);return w}},function(e,t,n){"use strict";var r=n(1);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},function(e,t,n){"use strict";var r=n(8),o=n(101),i=n(17),a=Math.ceil,u=function(e){return function(t,n,u){var c,s,l=String(i(t)),f=l.length,d=u===undefined?" ":String(u),p=r(n);return p<=f||""==d?l:(c=p-f,(s=o.call(d,a(c/d.length))).length>c&&(s=s.slice(0,c)),e?l+s:s+l)}};e.exports={start:u(!1),end:u(!0)}},function(e,t,n){"use strict";var r=n(26),o=n(17);e.exports="".repeat||function(e){var t=String(o(this)),n="",i=r(e);if(i<0||i==Infinity)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var r,o,i,a=n(3),u=n(1),c=n(28),s=n(44),l=n(130),f=n(84),d=n(149),p=a.location,h=a.setImmediate,v=a.clearImmediate,g=a.process,m=a.MessageChannel,y=a.Dispatch,b=0,_={},w=function(e){if(_.hasOwnProperty(e)){var t=_[e];delete _[e],t()}},x=function(e){return function(){w(e)}},E=function(e){w(e.data)},C=function(e){a.postMessage(e+"",p.protocol+"//"+p.host)};h&&v||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return _[++b]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},r(b),b},v=function(e){delete _[e]},"process"==c(g)?r=function(e){g.nextTick(x(e))}:y&&y.now?r=function(e){y.now(x(e))}:m&&!d?(i=(o=new m).port2,o.port1.onmessage=E,r=s(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||u(C)||"file:"===p.protocol?r="onreadystatechange"in f("script")?function(e){l.appendChild(f("script")).onreadystatechange=function(){l.removeChild(this),w(e)}}:function(e){setTimeout(x(e),0)}:(r=C,a.addEventListener("message",E,!1))),e.exports={set:h,clear:v}},function(e,t,n){"use strict";var r=n(4),o=n(28),i=n(10)("match");e.exports=function(e){var t;return r(e)&&((t=e[i])!==undefined?!!t:"RegExp"==o(e))}},function(e,t,n){"use strict";var r=n(1);function o(e,t){return RegExp(e,t)}t.UNSUPPORTED_Y=r((function(){var e=o("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),t.BROKEN_CARET=r((function(){var e=o("^r","gy");return e.lastIndex=2,null!=e.exec("str")}))},function(e,t,n){"use strict";var r=n(26),o=n(17),i=function(e){return function(t,n){var i,a,u=String(o(t)),c=r(n),s=u.length;return c<0||c>=s?e?"":undefined:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?e?u.charAt(c):i:e?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}};e.exports={codeAt:i(!1),charAt:i(!0)}},function(e,t,n){"use strict";var r=n(104);e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var r=n(10)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,"/./"[e](t)}catch(o){}}return!1}},function(e,t,n){"use strict";var r=n(106).charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},function(e,t,n){"use strict";var r=n(1),o=n(78);e.exports=function(e){return r((function(){return!!o[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||o[e].name!==e}))}},function(e,t,n){"use strict";var r=n(3),o=n(1),i=n(72),a=n(7).NATIVE_ARRAY_BUFFER_VIEWS,u=r.ArrayBuffer,c=r.Int8Array;e.exports=!a||!o((function(){c(1)}))||!o((function(){new c(-1)}))||!i((function(e){new c,new c(null),new c(1.5),new c(e)}),!0)||o((function(){return 1!==new c(new u(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var r=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"},{id:"hydrogen",name:"Hydrogen",label:"H\u2082",color:"white"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),o=r.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return o&&o.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=r.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.uniqBy=t.reduce=t.sortBy=t.map=t.filter=t.toKeyedArray=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var r in e)t.call(e,r)&&n.push(e[r]);return n}return[]};t.toKeyedArray=function(e,t){return void 0===t&&(t="key"),r((function(e,n){var r;return Object.assign(((r={})[t]=n,r),e)}))(e)};t.filter=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],r=0;ru)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n=48&&r<=90?String.fromCharCode(r):"["+r+"]"},s=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,r=e.altKey,o=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:r,shiftKey:o,hasModifierKeys:n||r||o,keyString:c(n,r,o,t)}},l=function(){for(var e=0,t=Object.keys(u);e=0||(o[n]=e[n]);return o}var h=(0,c.createLogger)("Button"),v=function(e){var t=e.className,n=e.fluid,c=e.icon,d=e.color,v=e.disabled,g=e.selected,m=e.tooltip,y=e.tooltipPosition,b=e.ellipsis,_=e.content,w=e.iconRotation,x=e.iconSpin,E=e.children,C=e.onclick,S=e.onClick,N=p(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),k=!(!_&&!E);return C&&h.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.Box,Object.assign({className:(0,o.classes)(["Button",n&&"Button--fluid",v&&"Button--disabled",g&&"Button--selected",k&&"Button--hasContent",b&&"Button--ellipsis",d&&"string"==typeof d?"Button--color--"+d:"Button--color--default",t]),tabIndex:!v&&"0",unselectable:i.IS_IE8,onclick:function(e){(0,u.refocusLayout)(),!v&&S&&S(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===a.KEY_SPACE||t===a.KEY_ENTER?(e.preventDefault(),void(!v&&S&&S(e))):t===a.KEY_ESCAPE?(e.preventDefault(),void(0,u.refocusLayout)()):void 0}},N,{children:[c&&(0,r.createComponentVNode)(2,l.Icon,{name:c,rotation:w,spin:x}),_,E,m&&(0,r.createComponentVNode)(2,f.Tooltip,{content:m,position:y})]})))};t.Button=v,v.defaultHooks=o.pureComponentHooks;var g=function(e){var t=e.checked,n=p(e,["checked"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,v,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=g,v.Checkbox=g;var m=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}d(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmContent,o=void 0===n?"Confirm?":n,i=t.confirmColor,a=void 0===i?"bad":i,u=t.confirmIcon,c=t.icon,s=t.color,l=t.content,f=t.onClick,d=p(t,["confirmContent","confirmColor","confirmIcon","icon","color","content","onClick"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,v,Object.assign({content:this.state.clickedOnce?o:l,icon:this.state.clickedOnce?u:c,color:this.state.clickedOnce?a:s,onClick:function(){return e.state.clickedOnce?f():e.setClickedOnce(!0)}},d)))},t}(r.Component);t.ButtonConfirm=m,v.Confirm=m;var y=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,r.createRef)(),t.state={inInput:!1},t}d(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,i=t.content,u=t.icon,c=t.iconRotation,d=t.iconSpin,h=t.tooltip,v=t.tooltipPosition,g=t.color,m=void 0===g?"default":g,y=(t.placeholder,t.maxLength,p(t,["fluid","content","icon","iconRotation","iconSpin","tooltip","tooltipPosition","color","placeholder","maxLength"]));return(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.Box,Object.assign({className:(0,o.classes)(["Button",n&&"Button--fluid","Button--color--"+m])},y,{onClick:function(){return e.setInInput(!0)},children:[u&&(0,r.createComponentVNode)(2,l.Icon,{name:u,rotation:c,spin:d}),(0,r.createVNode)(1,"div",null,i,0),(0,r.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===a.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===a.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef),h&&(0,r.createComponentVNode)(2,f.Tooltip,{content:h,position:v})]})))},t}(r.Component);t.ButtonInput=y,v.Input=y},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var r=n(2),o=n(9),i=n(13);var a=/-o$/,u=function(e){var t=e.name,n=e.size,u=e.spin,c=e.className,s=e.style,l=void 0===s?{}:s,f=e.rotation,d=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["name","size","spin","className","style","rotation"]);n&&(l["font-size"]=100*n+"%"),"number"==typeof f&&(l.transform="rotate("+f+"deg)");var p=a.test(t),h=t.replace(a,"");return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({as:"i",className:(0,o.classes)([c,p?"far":"fas","fa-"+h,u&&"fa-spin"]),style:l},d)))};t.Icon=u,u.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var r=n(2),o=n(9),i=n(13);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){var t=e.className,n=e.collapsing,u=e.children,c=a(e,["className","collapsing","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"table",(0,o.classes)(["Table",n&&"Table--collapsing",t,(0,i.computeBoxClassName)(c)]),(0,r.createVNode)(1,"tbody",null,u,0),2,Object.assign({},(0,i.computeBoxProps)(c))))};t.Table=u,u.defaultHooks=o.pureComponentHooks;var c=function(e){var t=e.className,n=e.header,u=a(e,["className","header"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"tr",(0,o.classes)(["Table__row",n&&"Table__row--header",t,(0,i.computeBoxClassName)(e)]),null,1,Object.assign({},(0,i.computeBoxProps)(u))))};t.TableRow=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.className,n=e.collapsing,u=e.header,c=a(e,["className","collapsing","header"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"td",(0,o.classes)(["Table__cell",n&&"Table__cell--collapsing",u&&"Table__cell--header",t,(0,i.computeBoxClassName)(e)]),null,1,Object.assign({},(0,i.computeBoxProps)(c))))};t.TableCell=s,s.defaultHooks=o.pureComponentHooks,u.Row=c,u.Cell=s},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var r=n(2),o=n(55),i=n(9),a=n(20),u=n(116),c=n(13);var s=function(e){var t,n;function s(t){var n;n=e.call(this,t)||this;var i=t.value;return n.inputRef=(0,r.createRef)(),n.state={value:i,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,r=t.dragging,o=t.value,i=n.props.onDrag;r&&i&&i(e,o)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,r=t.minValue,i=t.maxValue,a=t.step,u=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),c=n.origin-e.screenY;if(t.dragging){var s=Number.isFinite(r)?r%a:0;n.internalValue=(0,o.clamp)(n.internalValue+c*a/u,r-a,i+a),n.value=(0,o.clamp)(n.internalValue-n.internalValue%a+s,r,i),n.origin=e.screenY}else Math.abs(c)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,r=t.onChange,o=t.onDrag,i=n.state,a=i.dragging,u=i.value,c=i.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!a,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),a)n.suppressFlicker(),r&&r(e,u),o&&o(e,u);else if(n.inputRef){var s=n.inputRef.current;s.value=c;try{s.focus(),s.select()}catch(l){}}},n}return n=e,(t=s).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,s.prototype.render=function(){var e=this,t=this.state,n=t.dragging,s=t.editing,l=t.value,f=t.suppressingFlicker,d=this.props,p=d.className,h=d.fluid,v=d.animated,g=d.value,m=d.unit,y=d.minValue,b=d.maxValue,_=d.height,w=d.width,x=d.lineHeight,E=d.fontSize,C=d.format,S=d.onChange,N=d.onDrag,k=g;(n||f)&&(k=l);var O=function(e){return(0,r.createVNode)(1,"div","NumberInput__content",e+(m?" "+m:""),0,{unselectable:a.IS_IE8})},A=v&&!n&&!f&&(0,r.createComponentVNode)(2,u.AnimatedNumber,{value:k,format:C,children:O})||O(C?C(k):k);return(0,r.createComponentVNode)(2,c.Box,{className:(0,i.classes)(["NumberInput",h&&"NumberInput--fluid",p]),minWidth:w,minHeight:_,lineHeight:x,fontSize:E,onMouseDown:this.handleDragStart,children:[(0,r.createVNode)(1,"div","NumberInput__barContainer",(0,r.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,o.clamp)((k-y)/(b-y)*100,0,100)+"%"}}),2),A,(0,r.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:s?undefined:"none",height:_,"line-height":x,"font-size":E},onBlur:function(t){if(s){var n=(0,o.clamp)(t.target.value,y,b);e.setState({editing:!1,value:n}),e.suppressFlicker(),S&&S(t,n),N&&N(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,o.clamp)(t.target.value,y,b);return e.setState({editing:!1,value:n}),e.suppressFlicker(),S&&S(t,n),void(N&&N(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},s}(r.Component);t.NumberInput=s,s.defaultHooks=i.pureComponentHooks,s.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(o){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,n){"use strict";var r=n(5),o=n(1),i=n(84);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var r=n(3),o=n(85),i=r["__core-js_shared__"]||o("__core-js_shared__",{});e.exports=i},function(e,t,n){"use strict";var r=n(3),o=n(86),i=r.WeakMap;e.exports="function"==typeof i&&/native code/.test(o(i))},function(e,t,n){"use strict";var r=n(14),o=n(88),i=n(16),a=n(11);e.exports=function(e,t){for(var n=o(t),u=a.f,c=i.f,s=0;sc;)r(u,n=t[c++])&&(~i(s,n)||s.push(n));return s}},function(e,t,n){"use strict";var r=n(91);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){"use strict";var r=n(5),o=n(11),i=n(6),a=n(61);e.exports=r?Object.defineProperties:function(e,t){i(e);for(var n,r=a(t),u=r.length,c=0;u>c;)o.f(e,n=r[c++],t[n]);return e}},function(e,t,n){"use strict";var r=n(32);e.exports=r("document","documentElement")},function(e,t,n){"use strict";var r=n(21),o=n(43).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return a&&"[object Window]"==i.call(e)?function(e){try{return o(e)}catch(t){return a.slice()}}(e):o(r(e))}},function(e,t,n){"use strict";var r=n(10);t.f=r},function(e,t,n){"use strict";var r=n(12),o=n(37),i=n(8),a=Math.min;e.exports=[].copyWithin||function(e,t){var n=r(this),u=i(n.length),c=o(e,u),s=o(t,u),l=arguments.length>2?arguments[2]:undefined,f=a((l===undefined?u:o(l,u))-s,u-c),d=1;for(s0;)s in n?n[c]=n[s]:delete n[c],c+=d,s+=d;return n}},function(e,t,n){"use strict";var r=n(50),o=n(8),i=n(44);e.exports=function a(e,t,n,u,c,s,l,f){for(var d,p=c,h=0,v=!!l&&i(l,f,3);h0&&r(d))p=a(e,t,d,o(d.length),p,s-1)-1;else{if(p>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[p]=d}p++}h++}return p}},function(e,t,n){"use strict";var r=n(6);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(a){var i=e["return"];throw i!==undefined&&r(i.call(e)),a}}},function(e,t,n){"use strict";var r=n(21),o=n(40),i=n(64),a=n(30),u=n(97),c=a.set,s=a.getterFor("Array Iterator");e.exports=u(Array,"Array",(function(e,t){c(this,{type:"Array Iterator",target:r(e),index:0,kind:t})}),(function(){var e=s(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(e,t,n){"use strict";var r,o,i,a=n(31),u=n(25),c=n(14),s=n(10),l=n(33),f=s("iterator"),d=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):d=!0),r==undefined&&(r={}),l||c(r,f)||u(r,f,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},function(e,t,n){"use strict";var r=n(4);e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var r=n(21),o=n(26),i=n(8),a=n(34),u=n(19),c=Math.min,s=[].lastIndexOf,l=!!s&&1/[1].lastIndexOf(1,-0)<0,f=a("lastIndexOf"),d=u("indexOf",{ACCESSORS:!0,1:0}),p=l||!f||!d;e.exports=p?function(e){if(l)return s.apply(this,arguments)||0;var t=r(this),n=i(t.length),a=n-1;for(arguments.length>1&&(a=c(a,o(arguments[1]))),a<0&&(a=n+a);a>=0;a--)if(a in t&&t[a]===e)return a||0;return-1}:s},function(e,t,n){"use strict";var r=n(26),o=n(8);e.exports=function(e){if(e===undefined)return 0;var t=r(e),n=o(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var r=n(27),o=n(4),i=[].slice,a={},u=function(e,t,n){if(!(t in a)){for(var r=[],o=0;o1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!m(this,e)}}),i(l.prototype,n?{get:function(e){var t=m(this,e);return t&&t.value},set:function(e,t){return g(this,0===e?0:e,t)}}:{add:function(e){return g(this,e=0===e?0:e,e)}}),f&&r(l.prototype,"size",{get:function(){return p(this).size}}),l},setStrong:function(e,t,n){var r=t+" Iterator",o=v(t),i=v(r);s(e,t,(function(e,t){h(this,{type:r,target:e,state:o(e),kind:t,last:undefined})}),(function(){for(var e=i(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),l(t)}}},function(e,t,n){"use strict";var r=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:r(1+e)}},function(e,t,n){"use strict";var r=n(4),o=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&o(e)===e}},function(e,t,n){"use strict";var r=n(3),o=n(53).trim,i=n(78),a=r.parseInt,u=/^[+-]?0[Xx]/,c=8!==a(i+"08")||22!==a(i+"0x16");e.exports=c?function(e,t){var n=o(String(e));return a(n,t>>>0||(u.test(n)?16:10))}:a},function(e,t,n){"use strict";var r=n(5),o=n(61),i=n(21),a=n(68).f,u=function(e){return function(t){for(var n,u=i(t),c=o(u),s=c.length,l=0,f=[];s>l;)n=c[l++],r&&!a.call(u,n)||f.push(e?[n,u[n]]:u[n]);return f}};e.exports={entries:u(!0),values:u(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var r=n(3);e.exports=r.Promise},function(e,t,n){"use strict";var r=n(70);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},function(e,t,n){"use strict";var r,o,i,a,u,c,s,l,f=n(3),d=n(16).f,p=n(28),h=n(103).set,v=n(149),g=f.MutationObserver||f.WebKitMutationObserver,m=f.process,y=f.Promise,b="process"==p(m),_=d(f,"queueMicrotask"),w=_&&_.value;w||(r=function(){var e,t;for(b&&(e=m.domain)&&e.exit();o;){t=o.fn,o=o.next;try{t()}catch(n){throw o?a():i=undefined,n}}i=undefined,e&&e.enter()},b?a=function(){m.nextTick(r)}:g&&!v?(u=!0,c=document.createTextNode(""),new g(r).observe(c,{characterData:!0}),a=function(){c.data=u=!u}):y&&y.resolve?(s=y.resolve(undefined),l=s.then,a=function(){l.call(s,r)}):a=function(){h.call(f,r)}),e.exports=w||function(e){var t={fn:e,next:undefined};i&&(i.next=t),o||(o=t,a()),i=t}},function(e,t,n){"use strict";var r=n(6),o=n(4),i=n(152);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var r=n(27),o=function(e){var t,n;this.promise=new e((function(e,r){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)};e.exports.f=function(e){return new o(e)}},function(e,t,n){"use strict";var r=n(0),o=n(81);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(e,t,n){"use strict";var r=n(70);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},function(e,t,n){"use strict";var r=n(344);e.exports=function(e,t){var n=r(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var r=n(12),o=n(8),i=n(95),a=n(94),u=n(44),c=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,s,l,f,d,p=r(e),h=arguments.length,v=h>1?arguments[1]:undefined,g=v!==undefined,m=i(p);if(m!=undefined&&!a(m))for(d=(f=m.call(p)).next,p=[];!(l=d.call(f)).done;)p.push(l.value);for(g&&h>2&&(v=u(v,arguments[2],2)),n=o(p.length),s=new(c(this))(n),t=0;n>t;t++)s[t]=g?v(p[t],t):p[t];return s}},function(e,t,n){"use strict";var r=n(65),o=n(47).getWeakData,i=n(6),a=n(4),u=n(52),c=n(67),s=n(15),l=n(14),f=n(30),d=f.set,p=f.getterFor,h=s.find,v=s.findIndex,g=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},b=function(e,t){return h(e.entries,(function(e){return e[0]===t}))};y.prototype={get:function(e){var t=b(this,e);if(t)return t[1]},has:function(e){return!!b(this,e)},set:function(e,t){var n=b(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=v(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,s){var f=e((function(e,r){u(e,f,t),d(e,{type:t,id:g++,frozen:undefined}),r!=undefined&&c(r,e[s],e,n)})),h=p(t),v=function(e,t,n){var r=h(e),a=o(i(t),!0);return!0===a?m(r).set(t,n):a[r.id]=n,e};return r(f.prototype,{"delete":function(e){var t=h(this);if(!a(e))return!1;var n=o(e);return!0===n?m(t)["delete"](e):n&&l(n,t.id)&&delete n[t.id]},has:function(e){var t=h(this);if(!a(e))return!1;var n=o(e);return!0===n?m(t).has(e):n&&l(n,t.id)}}),r(f.prototype,n?{get:function(e){var t=h(this);if(a(e)){var n=o(e);return!0===n?m(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return v(this,e,t)}}:{add:function(e){return v(this,e,!0)}}),f}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var r=n(398),o=n(20);function i(e,t,n,r,o,i,a){try{var u=e[i](a),c=u.value}catch(s){return void n(s)}u.done?t(c):Promise.resolve(c).then(r,o)}var a,u,c,s,l,f=(0,n(54).createLogger)("drag"),d=!1,p=!1,h=[0,0],v=function(e){return(0,o.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},g=function(e,t){return(0,o.winset)(e,"pos",t[0]+","+t[1])},m=function(){var e,t=(e=regeneratorRuntime.mark((function n(e){var t,r,o,i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return f.log("setting up"),a=e.config.window,n.next=4,v(a);case 4:t=n.sent,h=[t[0]-window.screenLeft,t[1]-window.screenTop],r=y(t),o=r[0],i=r[1],o&&g(a,i),f.debug("current state",{ref:a,screenOffset:h});case 9:case"end":return n.stop()}}),n)})),function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function u(e){i(a,r,o,u,c,"next",e)}function c(e){i(a,r,o,u,c,"throw",e)}u(undefined)}))});return function(e){return t.apply(this,arguments)}}();t.setupDrag=m;var y=function(e){var t=e[0],n=e[1],r=!1;return t<0?(t=0,r=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,r=!0),n<0?(n=0,r=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,r=!0),[r,[t,n]]};t.dragStartHandler=function(e){f.log("drag start"),d=!0,u=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",_),document.addEventListener("mouseup",b),_(e)};var b=function E(e){f.log("drag end"),_(e),document.removeEventListener("mousemove",_),document.removeEventListener("mouseup",E),d=!1},_=function(e){d&&(e.preventDefault(),g(a,(0,r.vecAdd)([e.screenX,e.screenY],h,u)))};t.resizeStartHandler=function(e,t){return function(n){c=[e,t],f.log("resize start",c),p=!0,u=[window.screenLeft-n.screenX,window.screenTop-n.screenY],s=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",x),document.addEventListener("mouseup",w),x(n)}};var w=function C(e){f.log("resize end",l),x(e),document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",C),p=!1},x=function(e){p&&(e.preventDefault(),(l=(0,r.vecAdd)(s,(0,r.vecMultiply)(c,(0,r.vecAdd)([e.screenX,e.screenY],(0,r.vecInverse)([window.screenLeft,window.screenTop]),u,[1,1]))))[0]=Math.max(l[0],250),l[1]=Math.max(l[1],120),function(e,t){(0,o.winset)(e,"size",t[0]+","+t[1])}(a,l))}},function(e,t,n){"use strict";function r(e){var t=0;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e)))return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?o-1:0),u=1;u1?r-1:0),i=1;i35;return(0,r.createVNode)(1,"div",(0,o.classes)(["Tooltip",a&&"Tooltip--long",i&&"Tooltip--"+i]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var r=n(2),o=n(9),i=n(13);t.Dimmer=function(e){var t=e.className,n=e.children,a=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Dimmer"].concat(t))},a,{children:(0,r.createVNode)(1,"div","Dimmer__inner",n,0)})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Divider=void 0;var r=n(2),o=n(9);t.Divider=function(e){var t=e.vertical,n=e.hidden;return(0,r.createVNode)(1,"div",(0,o.classes)(["Divider",n&&"Divider--hidden",t?"Divider--vertical":"Divider--horizontal"]))}},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var r=n(2),o=n(9),i=n(20),a=n(13);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t=e.className,n=e.direction,r=e.wrap,a=e.align,c=e.justify,s=e.inline,l=e.spacing,f=void 0===l?0:l,d=u(e,["className","direction","wrap","align","justify","inline","spacing"]);return Object.assign({className:(0,o.classes)(["Flex",i.IS_IE8&&("column"===n?"Flex--ie8--column":"Flex--ie8"),s&&"Flex--inline",f>0&&"Flex--spacing--"+f,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":r,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var s=function(e){return(0,r.normalizeProps)((0,r.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=s,s.defaultHooks=o.pureComponentHooks;var l=function(e){var t=e.className,n=e.grow,r=e.order,c=e.shrink,s=e.basis,l=void 0===s?e.width:s,f=e.align,d=u(e,["className","grow","order","shrink","basis","align"]);return Object.assign({className:(0,o.classes)(["Flex__item",i.IS_IE8&&"Flex__item--ie8",t]),style:Object.assign({},d.style,{"flex-grow":n,"flex-shrink":c,"flex-basis":(0,a.unit)(l),order:r,"align-self":f})},d)};t.computeFlexItemProps=l;var f=function(e){return(0,r.normalizeProps)((0,r.createComponentVNode)(2,a.Box,Object.assign({},l(e))))};t.FlexItem=f,f.defaultHooks=o.pureComponentHooks,s.Item=f},function(e,t,n){"use strict";t.__esModule=!0,t.DraggableControl=void 0;var r=n(2),o=n(55),i=n(9),a=n(116);var u=function(e,t){return e.screenX*t[0]+e.screenY*t[1]},c=function(e){var t,n;function i(t){var n;return(n=e.call(this,t)||this).inputRef=(0,r.createRef)(),n.state={value:t.value,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props,r=t.value,o=t.dragMatrix;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:u(e,o),value:r,internalValue:r}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,r=t.dragging,o=t.value,i=n.props.onDrag;r&&i&&i(e,o)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,r=t.minValue,i=t.maxValue,a=t.step,c=t.stepPixelSize,s=t.dragMatrix;n.setState((function(t){var n=Object.assign({},t),l=u(e,s)-n.origin;if(t.dragging){var f=Number.isFinite(r)?r%a:0;n.internalValue=(0,o.clamp)(n.internalValue+l*a/c,r-a,i+a),n.value=(0,o.clamp)(n.internalValue-n.internalValue%a+f,r,i),n.origin=u(e,s)}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,r=t.onChange,o=t.onDrag,i=n.state,a=i.dragging,u=i.value,c=i.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!a,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),a)n.suppressFlicker(),r&&r(e,u),o&&o(e,u);else if(n.inputRef){var s=n.inputRef.current;s.value=c;try{s.focus(),s.select()}catch(l){}}},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.state,n=t.dragging,i=t.editing,u=t.value,c=t.suppressingFlicker,s=this.props,l=s.animated,f=s.value,d=s.unit,p=s.minValue,h=s.maxValue,v=s.format,g=s.onChange,m=s.onDrag,y=s.children,b=s.height,_=s.lineHeight,w=s.fontSize,x=f;(n||c)&&(x=u);var E=function(e){return e+(d?" "+d:"")},C=l&&!n&&!c&&(0,r.createComponentVNode)(2,a.AnimatedNumber,{value:x,format:v,children:E})||E(v?v(x):x),S=(0,r.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:i?undefined:"none",height:b,"line-height":_,"font-size":w},onBlur:function(t){if(i){var n=(0,o.clamp)(t.target.value,p,h);e.setState({editing:!1,value:n}),e.suppressFlicker(),g&&g(t,n),m&&m(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,o.clamp)(t.target.value,p,h);return e.setState({editing:!1,value:n}),e.suppressFlicker(),g&&g(t,n),void(m&&m(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef);return y({dragging:n,editing:i,value:f,displayValue:x,displayElement:C,inputElement:S,handleDragStart:this.handleDragStart})},i}(r.Component);t.DraggableControl=c,c.defaultHooks=i.pureComponentHooks,c.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50,dragMatrix:[1,0]}},function(e,t,n){"use strict";t.__esModule=!0,t.Window=void 0;var r=n(2),o=n(9),i=n(423),a=n(36),u=n(20),c=n(49),s=n(112),l=n(159),f=n(114),d=n(54),p=n(115);var h=(0,d.createLogger)("Window"),v=function(e){var t,n;function c(){return e.apply(this,arguments)||this}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=c.prototype;return d.componentDidMount=function(){(0,p.refocusLayout)()},d.render=function(){var e=this.props,t=e.resizable,n=e.theme,c=e.children,d=(0,a.useBackend)(this.context),v=d.config,g=d.debugLayout,y=v.observer?v.statusi;)o.push(arguments[i++]);if(r=t,(p(t)||e!==undefined)&&!ie(e))return d(t)||(t=function(e,t){if("function"==typeof r&&(t=r.call(this,e,t)),!ie(t))return t}),o[1]=t,H.apply(null,o)}});Y.prototype[D]||k(Y.prototype,D,Y.prototype.valueOf),j(Y,"Symbol"),T[R]=!0},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(3),a=n(14),u=n(4),c=n(11).f,s=n(125),l=i.Symbol;if(o&&"function"==typeof l&&(!("description"in l.prototype)||l().description!==undefined)){var f={},d=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof d?new l(e):e===undefined?l():l(e);return""===e&&(f[t]=!0),t};s(d,l);var p=d.prototype=l.prototype;p.constructor=d;var h=p.toString,v="Symbol(test)"==String(l("test")),g=/^Symbol\((.*)\)[^)]+$/;c(p,"description",{configurable:!0,get:function(){var e=u(this)?this.valueOf():this,t=h.call(e);if(a(f,e))return"";var n=v?t.slice(7,-1):t.replace(g,"$1");return""===n?undefined:n}}),r({global:!0,forced:!0},{Symbol:d})}},function(e,t,n){"use strict";n(22)("asyncIterator")},function(e,t,n){"use strict";n(22)("hasInstance")},function(e,t,n){"use strict";n(22)("isConcatSpreadable")},function(e,t,n){"use strict";n(22)("iterator")},function(e,t,n){"use strict";n(22)("match")},function(e,t,n){"use strict";n(22)("replace")},function(e,t,n){"use strict";n(22)("search")},function(e,t,n){"use strict";n(22)("species")},function(e,t,n){"use strict";n(22)("split")},function(e,t,n){"use strict";n(22)("toPrimitive")},function(e,t,n){"use strict";n(22)("toStringTag")},function(e,t,n){"use strict";n(22)("unscopables")},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(50),a=n(4),u=n(12),c=n(8),s=n(45),l=n(62),f=n(63),d=n(10),p=n(92),h=d("isConcatSpreadable"),v=p>=51||!o((function(){var e=[];return e[h]=!1,e.concat()[0]!==e})),g=f("concat"),m=function(e){if(!a(e))return!1;var t=e[h];return t!==undefined?!!t:i(e)};r({target:"Array",proto:!0,forced:!v||!g},{concat:function(e){var t,n,r,o,i,a=u(this),f=l(a,0),d=0;for(t=-1,r=arguments.length;t9007199254740991)throw TypeError("Maximum allowed index exceeded");for(n=0;n=9007199254740991)throw TypeError("Maximum allowed index exceeded");s(f,d++,i)}return f.length=d,f}})},function(e,t,n){"use strict";var r=n(0),o=n(133),i=n(40);r({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(e,t,n){"use strict";var r=n(0),o=n(15).every,i=n(34),a=n(19),u=i("every"),c=a("every");r({target:"Array",proto:!0,forced:!u||!c},{every:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(93),i=n(40);r({target:"Array",proto:!0},{fill:o}),i("fill")},function(e,t,n){"use strict";var r=n(0),o=n(15).filter,i=n(63),a=n(19),u=i("filter"),c=a("filter");r({target:"Array",proto:!0,forced:!u||!c},{filter:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(15).find,i=n(40),a=n(19),u=!0,c=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{find:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i("find")},function(e,t,n){"use strict";var r=n(0),o=n(15).findIndex,i=n(40),a=n(19),u=!0,c=a("findIndex");"findIndex"in[]&&Array(1).findIndex((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i("findIndex")},function(e,t,n){"use strict";var r=n(0),o=n(134),i=n(12),a=n(8),u=n(26),c=n(62);r({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=i(this),n=a(t.length),r=c(t,0);return r.length=o(r,t,t,n,0,e===undefined?1:u(e)),r}})},function(e,t,n){"use strict";var r=n(0),o=n(134),i=n(12),a=n(8),u=n(27),c=n(62);r({target:"Array",proto:!0},{flatMap:function(e){var t,n=i(this),r=a(n.length);return u(e),(t=c(n,0)).length=o(t,n,n,r,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var r=n(0),o=n(194);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},function(e,t,n){"use strict";var r=n(15).forEach,o=n(34),i=n(19),a=o("forEach"),u=i("forEach");e.exports=a&&u?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}},function(e,t,n){"use strict";var r=n(0),o=n(196);r({target:"Array",stat:!0,forced:!n(72)((function(e){Array.from(e)}))},{from:o})},function(e,t,n){"use strict";var r=n(44),o=n(12),i=n(135),a=n(94),u=n(8),c=n(45),s=n(95);e.exports=function(e){var t,n,l,f,d,p,h=o(e),v="function"==typeof this?this:Array,g=arguments.length,m=g>1?arguments[1]:undefined,y=m!==undefined,b=s(h),_=0;if(y&&(m=r(m,g>2?arguments[2]:undefined,2)),b==undefined||v==Array&&a(b))for(n=new v(t=u(h.length));t>_;_++)p=y?m(h[_],_):h[_],c(n,_,p);else for(d=(f=b.call(h)).next,n=new v;!(l=d.call(f)).done;_++)p=y?i(f,m,[l.value,_],!0):l.value,c(n,_,p);return n.length=_,n}},function(e,t,n){"use strict";var r=n(0),o=n(59).includes,i=n(40);r({target:"Array",proto:!0,forced:!n(19)("indexOf",{ACCESSORS:!0,1:0})},{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}}),i("includes")},function(e,t,n){"use strict";var r=n(0),o=n(59).indexOf,i=n(34),a=n(19),u=[].indexOf,c=!!u&&1/[1].indexOf(1,-0)<0,s=i("indexOf"),l=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:c||!s||!l},{indexOf:function(e){return c?u.apply(this,arguments)||0:o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(50)})},function(e,t,n){"use strict";var r=n(137).IteratorPrototype,o=n(38),i=n(42),a=n(39),u=n(64),c=function(){return this};e.exports=function(e,t,n){var s=t+" Iterator";return e.prototype=o(r,{next:i(1,n)}),a(e,s,!1,!0),u[s]=c,e}},function(e,t,n){"use strict";var r=n(0),o=n(56),i=n(21),a=n(34),u=[].join,c=o!=Object,s=a("join",",");r({target:"Array",proto:!0,forced:c||!s},{join:function(e){return u.call(i(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var r=n(0),o=n(139);r({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},function(e,t,n){"use strict";var r=n(0),o=n(15).map,i=n(63),a=n(19),u=i("map"),c=a("map");r({target:"Array",proto:!0,forced:!u||!c},{map:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(45);r({target:"Array",stat:!0,forced:o((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)i(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var r=n(0),o=n(73).left,i=n(34),a=n(19),u=i("reduce"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduce:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(73).right,i=n(34),a=n(19),u=i("reduceRight"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduceRight:function(e){return o(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(4),i=n(50),a=n(37),u=n(8),c=n(21),s=n(45),l=n(10),f=n(63),d=n(19),p=f("slice"),h=d("slice",{ACCESSORS:!0,0:0,1:2}),v=l("species"),g=[].slice,m=Math.max;r({target:"Array",proto:!0,forced:!p||!h},{slice:function(e,t){var n,r,l,f=c(this),d=u(f.length),p=a(e,d),h=a(t===undefined?d:t,d);if(i(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!i(n.prototype)?o(n)&&null===(n=n[v])&&(n=undefined):n=undefined,n===Array||n===undefined))return g.call(f,p,h);for(r=new(n===undefined?Array:n)(m(h-p,0)),l=0;p1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(27),i=n(12),a=n(1),u=n(34),c=[],s=c.sort,l=a((function(){c.sort(undefined)})),f=a((function(){c.sort(null)})),d=u("sort");r({target:"Array",proto:!0,forced:l||!f||!d},{sort:function(e){return e===undefined?s.call(i(this)):s.call(i(this),o(e))}})},function(e,t,n){"use strict";n(51)("Array")},function(e,t,n){"use strict";var r=n(0),o=n(37),i=n(26),a=n(8),u=n(12),c=n(62),s=n(45),l=n(63),f=n(19),d=l("splice"),p=f("splice",{ACCESSORS:!0,0:0,1:2}),h=Math.max,v=Math.min;r({target:"Array",proto:!0,forced:!d||!p},{splice:function(e,t){var n,r,l,f,d,p,g=u(this),m=a(g.length),y=o(e,m),b=arguments.length;if(0===b?n=r=0:1===b?(n=0,r=m-y):(n=b-2,r=v(h(i(t),0),m-y)),m+n-r>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(l=c(g,r),f=0;fm-r+n;f--)delete g[f-1]}else if(n>r)for(f=m-r;f>y;f--)p=f+n-1,(d=f+r-1)in g?g[p]=g[d]:delete g[p];for(f=0;f>1,v=23===t?o(2,-24)-o(2,-77):0,g=e<0||0===e&&1/e<0?1:0,m=0;for((e=r(e))!=e||e===1/0?(s=e!=e?1:0,c=p):(c=i(a(e)/u),e*(l=o(2,-c))<1&&(c--,l*=2),(e+=c+h>=1?v/l:v*o(2,1-h))*l>=2&&(c++,l/=2),c+h>=p?(s=0,c=p):c+h>=1?(s=(e*l-1)*o(2,t),c+=h):(s=e*o(2,h-1)*o(2,t),c=0));t>=8;f[m++]=255&s,s/=256,t-=8);for(c=c<0;f[m++]=255&c,c/=256,d-=8);return f[--m]|=128*g,f},unpack:function(e,t){var n,r=e.length,i=8*r-t-1,a=(1<>1,c=i-7,s=r-1,l=e[s--],f=127&l;for(l>>=7;c>0;f=256*f+e[s],s--,c-=8);for(n=f&(1<<-c)-1,f>>=-c,c+=t;c>0;n=256*n+e[s],s--,c-=8);if(0===f)f=1-u;else{if(f===a)return n?NaN:l?-1/0:1/0;n+=o(2,t),f-=u}return(l?-1:1)*n*o(2,f-t)}}},function(e,t,n){"use strict";var r=n(0),o=n(7);r({target:"ArrayBuffer",stat:!0,forced:!o.NATIVE_ARRAY_BUFFER_VIEWS},{isView:o.isView})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(74),a=n(6),u=n(37),c=n(8),s=n(41),l=i.ArrayBuffer,f=i.DataView,d=l.prototype.slice;r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:o((function(){return!new l(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(d!==undefined&&t===undefined)return d.call(a(this),e);for(var n=a(this).byteLength,r=u(e,n),o=u(t===undefined?n:t,n),i=new(s(this,l))(c(o-r)),p=new f(this),h=new f(i),v=0;r9999?"+":"";return n+o(i(e),n?6:4,0)+"-"+o(this.getUTCMonth()+1,2,0)+"-"+o(this.getUTCDate(),2,0)+"T"+o(this.getUTCHours(),2,0)+":"+o(this.getUTCMinutes(),2,0)+":"+o(this.getUTCSeconds(),2,0)+"."+o(t,3,0)+"Z"}:c},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(12),a=n(29);r({target:"Date",proto:!0,forced:o((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=i(this),n=a(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var r=n(25),o=n(224),i=n(10)("toPrimitive"),a=Date.prototype;i in a||r(a,i,o)},function(e,t,n){"use strict";var r=n(6),o=n(29);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return o(r(this),"number"!==e)}},function(e,t,n){"use strict";var r=n(18),o=Date.prototype,i=o.toString,a=o.getTime;new Date(NaN)+""!="Invalid Date"&&r(o,"toString",(function(){var e=a.call(this);return e==e?i.call(this):"Invalid Date"}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(141)})},function(e,t,n){"use strict";var r=n(4),o=n(11),i=n(31),a=n(10)("hasInstance"),u=Function.prototype;a in u||o.f(u,a,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=i(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var r=n(5),o=n(11).f,i=Function.prototype,a=i.toString,u=/^\s*function ([^ (]*)/;r&&!("name"in i)&&o(i,"name",{configurable:!0,get:function(){try{return a.call(this).match(u)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var r=n(3);n(39)(r.JSON,"JSON",!0)},function(e,t,n){"use strict";var r=n(75),o=n(142);e.exports=r("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),o)},function(e,t,n){"use strict";var r=n(0),o=n(143),i=Math.acosh,a=Math.log,u=Math.sqrt,c=Math.LN2;r({target:"Math",stat:!0,forced:!i||710!=Math.floor(i(Number.MAX_VALUE))||i(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?a(e)+c:o(e-1+u(e-1)*u(e+1))}})},function(e,t,n){"use strict";var r=n(0),o=Math.asinh,i=Math.log,a=Math.sqrt;r({target:"Math",stat:!0,forced:!(o&&1/o(0)>0)},{asinh:function u(e){return isFinite(e=+e)&&0!=e?e<0?-u(-e):i(e+a(e*e+1)):e}})},function(e,t,n){"use strict";var r=n(0),o=Math.atanh,i=Math.log;r({target:"Math",stat:!0,forced:!(o&&1/o(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:i((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var r=n(0),o=n(102),i=Math.abs,a=Math.pow;r({target:"Math",stat:!0},{cbrt:function(e){return o(e=+e)*a(i(e),1/3)}})},function(e,t,n){"use strict";var r=n(0),o=Math.floor,i=Math.log,a=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-o(i(e+.5)*a):32}})},function(e,t,n){"use strict";var r=n(0),o=n(77),i=Math.cosh,a=Math.abs,u=Math.E;r({target:"Math",stat:!0,forced:!i||i(710)===Infinity},{cosh:function(e){var t=o(a(e)-1)+1;return(t+1/(t*u*u))*(u/2)}})},function(e,t,n){"use strict";var r=n(0),o=n(77);r({target:"Math",stat:!0,forced:o!=Math.expm1},{expm1:o})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(239)})},function(e,t,n){"use strict";var r=n(102),o=Math.abs,i=Math.pow,a=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),s=i(2,-126);e.exports=Math.fround||function(e){var t,n,i=o(e),l=r(e);return ic||n!=n?l*Infinity:l*n}},function(e,t,n){"use strict";var r=n(0),o=Math.hypot,i=Math.abs,a=Math.sqrt;r({target:"Math",stat:!0,forced:!!o&&o(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,r,o=0,u=0,c=arguments.length,s=0;u0?(r=n/s)*r:n;return s===Infinity?Infinity:s*a(o)}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=Math.imul;r({target:"Math",stat:!0,forced:o((function(){return-5!=i(4294967295,5)||2!=i.length}))},{imul:function(e,t){var n=+e,r=+t,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var r=n(0),o=Math.log,i=Math.LOG10E;r({target:"Math",stat:!0},{log10:function(e){return o(e)*i}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(143)})},function(e,t,n){"use strict";var r=n(0),o=Math.log,i=Math.LN2;r({target:"Math",stat:!0},{log2:function(e){return o(e)/i}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(102)})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(77),a=Math.abs,u=Math.exp,c=Math.E;r({target:"Math",stat:!0,forced:o((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return a(e=+e)<1?(i(e)-i(-e))/2:(u(e-1)-u(-e-1))*(c/2)}})},function(e,t,n){"use strict";var r=n(0),o=n(77),i=Math.exp;r({target:"Math",stat:!0},{tanh:function(e){var t=o(e=+e),n=o(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(i(e)+i(-e))}})},function(e,t,n){"use strict";n(39)(Math,"Math",!0)},function(e,t,n){"use strict";var r=n(0),o=Math.ceil,i=Math.floor;r({target:"Math",stat:!0},{trunc:function(e){return(e>0?i:o)(e)}})},function(e,t,n){"use strict";var r=n(5),o=n(3),i=n(60),a=n(18),u=n(14),c=n(28),s=n(76),l=n(29),f=n(1),d=n(38),p=n(43).f,h=n(16).f,v=n(11).f,g=n(53).trim,m=o.Number,y=m.prototype,b="Number"==c(d(y)),_=function(e){var t,n,r,o,i,a,u,c,s=l(e,!1);if("string"==typeof s&&s.length>2)if(43===(t=(s=g(s)).charCodeAt(0))||45===t){if(88===(n=s.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(s.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+s}for(a=(i=s.slice(2)).length,u=0;uo)return NaN;return parseInt(i,r)}return+s};if(i("Number",!m(" 0o1")||!m("0b1")||m("+0x1"))){for(var w,x=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof x&&(b?f((function(){y.valueOf.call(n)})):"Number"!=c(n))?s(new m(_(t)),n,x):_(t)},E=r?p(m):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),C=0;E.length>C;C++)u(m,w=E[C])&&!u(x,w)&&v(x,w,h(m,w));x.prototype=y,y.constructor=x,a(o,"Number",x)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(253)})},function(e,t,n){"use strict";var r=n(3).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&r(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(144)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var r=n(0),o=n(144),i=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(e){return o(e)&&i(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var r=n(0),o=n(260);r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},function(e,t,n){"use strict";var r=n(3),o=n(53).trim,i=n(78),a=r.parseFloat,u=1/a(i+"-0")!=-Infinity;e.exports=u?function(e){var t=o(String(e)),n=a(t);return 0===n&&"-"==t.charAt(0)?-0:n}:a},function(e,t,n){"use strict";var r=n(0),o=n(145);r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},function(e,t,n){"use strict";var r=n(0),o=n(26),i=n(263),a=n(101),u=n(1),c=1..toFixed,s=Math.floor,l=function f(e,t,n){return 0===t?n:t%2==1?f(e,t-1,n*e):f(e*e,t/2,n)};r({target:"Number",proto:!0,forced:c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!u((function(){c.call({})}))},{toFixed:function(e){var t,n,r,u,c=i(this),f=o(e),d=[0,0,0,0,0,0],p="",h="0",v=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*d[n],d[n]=r%1e7,r=s(r/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=d[t],d[t]=s(n/e),n=n%e*1e7},m=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==d[e]){var n=String(d[e]);t=""===t?n:t+a.call("0",7-n.length)+n}return t};if(f<0||f>20)throw RangeError("Incorrect fraction digits");if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(p="-",c=-c),c>1e-21)if(n=(t=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}(c*l(2,69,1))-69)<0?c*l(2,-t,1):c/l(2,t,1),n*=4503599627370496,(t=52-t)>0){for(v(0,n),r=f;r>=7;)v(1e7,0),r-=7;for(v(l(10,r,1),0),r=t-1;r>=23;)g(1<<23),r-=23;g(1<0?p+((u=h.length)<=f?"0."+a.call("0",f-u)+h:h.slice(0,u-f)+"."+h.slice(u-f)):p+h}})},function(e,t,n){"use strict";var r=n(28);e.exports=function(e){if("number"!=typeof e&&"Number"!=r(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var r=n(0),o=n(265);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(e,t,n){"use strict";var r=n(5),o=n(1),i=n(61),a=n(90),u=n(68),c=n(12),s=n(56),l=Object.assign,f=Object.defineProperty;e.exports=!l||o((function(){if(r&&1!==l({b:1},l(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=l({},e)[n]||"abcdefghijklmnopqrst"!=i(l({},t)).join("")}))?function(e,t){for(var n=c(e),o=arguments.length,l=1,f=a.f,d=u.f;o>l;)for(var p,h=s(arguments[l++]),v=f?i(h).concat(f(h)):i(h),g=v.length,m=0;g>m;)p=v[m++],r&&!d.call(h,p)||(n[p]=h[p]);return n}:l},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(5)},{create:n(38)})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(79),a=n(12),u=n(27),c=n(11);o&&r({target:"Object",proto:!0,forced:i},{__defineGetter__:function(e,t){c.f(a(this),e,{get:u(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(0),o=n(5);r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperties:n(129)})},function(e,t,n){"use strict";var r=n(0),o=n(5);r({target:"Object",stat:!0,forced:!o,sham:!o},{defineProperty:n(11).f})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(79),a=n(12),u=n(27),c=n(11);o&&r({target:"Object",proto:!0,forced:i},{__defineSetter__:function(e,t){c.f(a(this),e,{set:u(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var r=n(0),o=n(146).entries;r({target:"Object",stat:!0},{entries:function(e){return o(e)}})},function(e,t,n){"use strict";var r=n(0),o=n(66),i=n(1),a=n(4),u=n(47).onFreeze,c=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){c(1)})),sham:!o},{freeze:function(e){return c&&a(e)?c(u(e)):e}})},function(e,t,n){"use strict";var r=n(0),o=n(67),i=n(45);r({target:"Object",stat:!0},{fromEntries:function(e){var t={};return o(e,(function(e,n){i(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(21),a=n(16).f,u=n(5),c=o((function(){a(1)}));r({target:"Object",stat:!0,forced:!u||c,sham:!u},{getOwnPropertyDescriptor:function(e,t){return a(i(e),t)}})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(88),a=n(21),u=n(16),c=n(45);r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(e){for(var t,n,r=a(e),o=u.f,s=i(r),l={},f=0;s.length>f;)(n=o(r,t=s[f++]))!==undefined&&c(l,t,n);return l}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(131).f;r({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:i})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(12),a=n(31),u=n(98);r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!u},{getPrototypeOf:function(e){return a(i(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(147)})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(4),a=Object.isExtensible;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isExtensible:function(e){return!!i(e)&&(!a||a(e))}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(4),a=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isFrozen:function(e){return!i(e)||!!a&&a(e)}})},function(e,t,n){"use strict";var r=n(0),o=n(1),i=n(4),a=Object.isSealed;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isSealed:function(e){return!i(e)||!!a&&a(e)}})},function(e,t,n){"use strict";var r=n(0),o=n(12),i=n(61);r({target:"Object",stat:!0,forced:n(1)((function(){i(1)}))},{keys:function(e){return i(o(e))}})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(79),a=n(12),u=n(29),c=n(31),s=n(16).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupGetter__:function(e){var t,n=a(this),r=u(e,!0);do{if(t=s(n,r))return t.get}while(n=c(n))}})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(79),a=n(12),u=n(29),c=n(31),s=n(16).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupSetter__:function(e){var t,n=a(this),r=u(e,!0);do{if(t=s(n,r))return t.set}while(n=c(n))}})},function(e,t,n){"use strict";var r=n(0),o=n(4),i=n(47).onFreeze,a=n(66),u=n(1),c=Object.preventExtensions;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{preventExtensions:function(e){return c&&o(e)?c(i(e)):e}})},function(e,t,n){"use strict";var r=n(0),o=n(4),i=n(47).onFreeze,a=n(66),u=n(1),c=Object.seal;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{seal:function(e){return c&&o(e)?c(i(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(46)})},function(e,t,n){"use strict";var r=n(96),o=n(18),i=n(289);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(96),o=n(71);e.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},function(e,t,n){"use strict";var r=n(0),o=n(146).values;r({target:"Object",stat:!0},{values:function(e){return o(e)}})},function(e,t,n){"use strict";var r=n(0),o=n(145);r({global:!0,forced:parseInt!=o},{parseInt:o})},function(e,t,n){"use strict";var r,o,i,a,u=n(0),c=n(33),s=n(3),l=n(32),f=n(148),d=n(18),p=n(65),h=n(39),v=n(51),g=n(4),m=n(27),y=n(52),b=n(28),_=n(86),w=n(67),x=n(72),E=n(41),C=n(103).set,S=n(150),N=n(151),k=n(293),O=n(152),A=n(294),I=n(30),T=n(60),M=n(10),V=n(92),L=M("species"),P="Promise",j=I.get,B=I.set,F=I.getterFor(P),R=f,D=s.TypeError,K=s.document,z=s.process,U=l("fetch"),Y=O.f,H=Y,W="process"==b(z),$=!!(K&&K.createEvent&&s.dispatchEvent),G=T(P,(function(){if(!(_(R)!==String(R))){if(66===V)return!0;if(!W&&"function"!=typeof PromiseRejectionEvent)return!0}if(c&&!R.prototype["finally"])return!0;if(V>=51&&/native code/.test(R))return!1;var e=R.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[L]=t,!(e.then((function(){}))instanceof t)})),q=G||!x((function(e){R.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!g(e)||"function"!=typeof(t=e.then))&&t},Q=function(e,t,n){if(!t.notified){t.notified=!0;var r=t.reactions;S((function(){for(var o=t.value,i=1==t.state,a=0;r.length>a;){var u,c,s,l=r[a++],f=i?l.ok:l.fail,d=l.resolve,p=l.reject,h=l.domain;try{f?(i||(2===t.rejection&&te(e,t),t.rejection=1),!0===f?u=o:(h&&h.enter(),u=f(o),h&&(h.exit(),s=!0)),u===l.promise?p(D("Promise-chain cycle")):(c=X(u))?c.call(u,d,p):d(u)):p(o)}catch(v){h&&!s&&h.exit(),p(v)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&Z(e,t)}))}},J=function(e,t,n){var r,o;$?((r=K.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),s.dispatchEvent(r)):r={promise:t,reason:n},(o=s["on"+e])?o(r):"unhandledrejection"===e&&k("Unhandled promise rejection",n)},Z=function(e,t){C.call(s,(function(){var n,r=t.value;if(ee(t)&&(n=A((function(){W?z.emit("unhandledRejection",r,e):J("unhandledrejection",e,r)})),t.rejection=W||ee(t)?2:1,n.error))throw n.value}))},ee=function(e){return 1!==e.rejection&&!e.parent},te=function(e,t){C.call(s,(function(){W?z.emit("rejectionHandled",e):J("rejectionhandled",e,t.value)}))},ne=function(e,t,n,r){return function(o){e(t,n,o,r)}},re=function(e,t,n,r){t.done||(t.done=!0,r&&(t=r),t.value=n,t.state=2,Q(e,t,!0))},oe=function ie(e,t,n,r){if(!t.done){t.done=!0,r&&(t=r);try{if(e===n)throw D("Promise can't be resolved itself");var o=X(n);o?S((function(){var r={done:!1};try{o.call(n,ne(ie,e,r,t),ne(re,e,r,t))}catch(i){re(e,r,i,t)}})):(t.value=n,t.state=1,Q(e,t,!1))}catch(i){re(e,{done:!1},i,t)}}};G&&(R=function(e){y(this,R,P),m(e),r.call(this);var t=j(this);try{e(ne(oe,this,t),ne(re,this,t))}catch(n){re(this,t,n)}},(r=function(e){B(this,{type:P,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:undefined})}).prototype=p(R.prototype,{then:function(e,t){var n=F(this),r=Y(E(this,R));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=W?z.domain:undefined,n.parent=!0,n.reactions.push(r),0!=n.state&&Q(this,n,!1),r.promise},"catch":function(e){return this.then(undefined,e)}}),o=function(){var e=new r,t=j(e);this.promise=e,this.resolve=ne(oe,e,t),this.reject=ne(re,e,t)},O.f=Y=function(e){return e===R||e===i?new o(e):H(e)},c||"function"!=typeof f||(a=f.prototype.then,d(f.prototype,"then",(function(e,t){var n=this;return new R((function(e,t){a.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof U&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return N(R,U.apply(s,arguments))}}))),u({global:!0,wrap:!0,forced:G},{Promise:R}),h(R,P,!1,!0),v(P),i=l(P),u({target:P,stat:!0,forced:G},{reject:function(e){var t=Y(this);return t.reject.call(undefined,e),t.promise}}),u({target:P,stat:!0,forced:c||G},{resolve:function(e){return N(c&&this===i?R:this,e)}}),u({target:P,stat:!0,forced:q},{all:function(e){var t=this,n=Y(t),r=n.resolve,o=n.reject,i=A((function(){var n=m(t.resolve),i=[],a=0,u=1;w(e,(function(e){var c=a++,s=!1;i.push(undefined),u++,n.call(t,e).then((function(e){s||(s=!0,i[c]=e,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),n.promise},race:function(e){var t=this,n=Y(t),r=n.reject,o=A((function(){var o=m(t.resolve);w(e,(function(e){o.call(t,e).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},function(e,t,n){"use strict";var r=n(3);e.exports=function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var r=n(0),o=n(33),i=n(148),a=n(1),u=n(32),c=n(41),s=n(151),l=n(18);r({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=c(this,u("Promise")),n="function"==typeof e;return this.then(n?function(n){return s(t,e()).then((function(){return n}))}:e,n?function(n){return s(t,e()).then((function(){throw n}))}:e)}}),o||"function"!=typeof i||i.prototype["finally"]||l(i.prototype,"finally",u("Promise").prototype["finally"])},function(e,t,n){"use strict";var r=n(0),o=n(32),i=n(27),a=n(6),u=n(1),c=o("Reflect","apply"),s=Function.apply;r({target:"Reflect",stat:!0,forced:!u((function(){c((function(){}))}))},{apply:function(e,t,n){return i(e),a(n),c?c(e,t,n):s.call(e,t,n)}})},function(e,t,n){"use strict";var r=n(0),o=n(32),i=n(27),a=n(6),u=n(4),c=n(38),s=n(141),l=n(1),f=o("Reflect","construct"),d=l((function(){function e(){}return!(f((function(){}),[],e)instanceof e)})),p=!l((function(){f((function(){}))})),h=d||p;r({target:"Reflect",stat:!0,forced:h,sham:h},{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(p&&!d)return f(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(s.apply(e,r))}var o=n.prototype,l=c(u(o)?o:Object.prototype),h=Function.apply.call(e,l,t);return u(h)?h:l}})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(6),a=n(29),u=n(11);r({target:"Reflect",stat:!0,forced:n(1)((function(){Reflect.defineProperty(u.f({},1,{value:1}),1,{value:2})})),sham:!o},{defineProperty:function(e,t,n){i(e);var r=a(t,!0);i(n);try{return u.f(e,r,n),!0}catch(o){return!1}}})},function(e,t,n){"use strict";var r=n(0),o=n(6),i=n(16).f;r({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=i(o(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var r=n(0),o=n(4),i=n(6),a=n(14),u=n(16),c=n(31);r({target:"Reflect",stat:!0},{get:function s(e,t){var n,r,l=arguments.length<3?e:arguments[2];return i(e)===l?e[t]:(n=u.f(e,t))?a(n,"value")?n.value:n.get===undefined?undefined:n.get.call(l):o(r=c(e))?s(r,t,l):void 0}})},function(e,t,n){"use strict";var r=n(0),o=n(5),i=n(6),a=n(16);r({target:"Reflect",stat:!0,sham:!o},{getOwnPropertyDescriptor:function(e,t){return a.f(i(e),t)}})},function(e,t,n){"use strict";var r=n(0),o=n(6),i=n(31);r({target:"Reflect",stat:!0,sham:!n(98)},{getPrototypeOf:function(e){return i(o(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var r=n(0),o=n(6),i=Object.isExtensible;r({target:"Reflect",stat:!0},{isExtensible:function(e){return o(e),!i||i(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(88)})},function(e,t,n){"use strict";var r=n(0),o=n(32),i=n(6);r({target:"Reflect",stat:!0,sham:!n(66)},{preventExtensions:function(e){i(e);try{var t=o("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var r=n(0),o=n(6),i=n(4),a=n(14),u=n(1),c=n(11),s=n(16),l=n(31),f=n(42);r({target:"Reflect",stat:!0,forced:u((function(){var e=c.f({},"a",{configurable:!0});return!1!==Reflect.set(l(e),"a",1,e)}))},{set:function d(e,t,n){var r,u,p=arguments.length<4?e:arguments[3],h=s.f(o(e),t);if(!h){if(i(u=l(e)))return d(u,t,n,p);h=f(0)}if(a(h,"value")){if(!1===h.writable||!i(p))return!1;if(r=s.f(p,t)){if(r.get||r.set||!1===r.writable)return!1;r.value=n,c.f(p,t,r)}else c.f(p,t,f(0,n));return!0}return h.set!==undefined&&(h.set.call(p,n),!0)}})},function(e,t,n){"use strict";var r=n(0),o=n(6),i=n(138),a=n(46);a&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){o(e),i(t);try{return a(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var r=n(5),o=n(3),i=n(60),a=n(76),u=n(11).f,c=n(43).f,s=n(104),l=n(80),f=n(105),d=n(18),p=n(1),h=n(30).set,v=n(51),g=n(10)("match"),m=o.RegExp,y=m.prototype,b=/a/g,_=/a/g,w=new m(b)!==b,x=f.UNSUPPORTED_Y;if(r&&i("RegExp",!w||x||p((function(){return _[g]=!1,m(b)!=b||m(_)==_||"/a/i"!=m(b,"i")})))){for(var E=function(e,t){var n,r=this instanceof E,o=s(e),i=t===undefined;if(!r&&o&&e.constructor===E&&i)return e;w?o&&!i&&(e=e.source):e instanceof E&&(i&&(t=l.call(e)),e=e.source),x&&(n=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var u=a(w?new m(e,t):m(e,t),r?this:y,E);return x&&n&&h(u,{sticky:n}),u},C=function(e){e in E||u(E,e,{configurable:!0,get:function(){return m[e]},set:function(t){m[e]=t}})},S=c(m),N=0;S.length>N;)C(S[N++]);y.constructor=E,E.prototype=y,d(o,"RegExp",E)}v("RegExp")},function(e,t,n){"use strict";var r=n(5),o=n(11),i=n(80),a=n(105).UNSUPPORTED_Y;r&&("g"!=/./g.flags||a)&&o.f(RegExp.prototype,"flags",{configurable:!0,get:i})},function(e,t,n){"use strict";var r=n(18),o=n(6),i=n(1),a=n(80),u=RegExp.prototype,c=u.toString,s=i((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),l="toString"!=c.name;(s||l)&&r(RegExp.prototype,"toString",(function(){var e=o(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in u)?a.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var r=n(75),o=n(142);e.exports=r("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),o)},function(e,t,n){"use strict";var r=n(0),o=n(106).codeAt;r({target:"String",proto:!0},{codePointAt:function(e){return o(this,e)}})},function(e,t,n){"use strict";var r,o=n(0),i=n(16).f,a=n(8),u=n(107),c=n(17),s=n(108),l=n(33),f="".endsWith,d=Math.min,p=s("endsWith");o({target:"String",proto:!0,forced:!!(l||p||(r=i(String.prototype,"endsWith"),!r||r.writable))&&!p},{endsWith:function(e){var t=String(c(this));u(e);var n=arguments.length>1?arguments[1]:undefined,r=a(t.length),o=n===undefined?r:d(a(n),r),i=String(e);return f?f.call(t,i,o):t.slice(o-i.length,o)===i}})},function(e,t,n){"use strict";var r=n(0),o=n(37),i=String.fromCharCode,a=String.fromCodePoint;r({target:"String",stat:!0,forced:!!a&&1!=a.length},{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],o(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?i(t):i(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var r=n(0),o=n(107),i=n(17);r({target:"String",proto:!0,forced:!n(108)("includes")},{includes:function(e){return!!~String(i(this)).indexOf(o(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(106).charAt,o=n(30),i=n(97),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(e){a(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=u(this),n=t.string,o=t.index;return o>=n.length?{value:undefined,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var r=n(82),o=n(6),i=n(8),a=n(17),u=n(109),c=n(83);r("match",1,(function(e,t,n){return[function(t){var n=a(this),r=t==undefined?undefined:t[e];return r!==undefined?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var a=o(e),s=String(this);if(!a.global)return c(a,s);var l=a.unicode;a.lastIndex=0;for(var f,d=[],p=0;null!==(f=c(a,s));){var h=String(f[0]);d[p]=h,""===h&&(a.lastIndex=u(s,i(a.lastIndex),l)),p++}return 0===p?null:d}]}))},function(e,t,n){"use strict";var r=n(0),o=n(100).end;r({target:"String",proto:!0,forced:n(154)},{padEnd:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(100).start;r({target:"String",proto:!0,forced:n(154)},{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var r=n(0),o=n(21),i=n(8);r({target:"String",stat:!0},{raw:function(e){for(var t=o(e.raw),n=i(t.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(t[u++])),u]*>)/g,v=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(e,t,n,r){var g=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=g?"$":"$0";return[function(n,r){var o=c(this),i=n==undefined?undefined:n[e];return i!==undefined?i.call(n,o,r):t.call(String(o),n,r)},function(e,r){if(!g&&m||"string"==typeof r&&-1===r.indexOf(y)){var i=n(t,e,this,r);if(i.done)return i.value}var c=o(e),p=String(this),h="function"==typeof r;h||(r=String(r));var v=c.global;if(v){var _=c.unicode;c.lastIndex=0}for(var w=[];;){var x=l(c,p);if(null===x)break;if(w.push(x),!v)break;""===String(x[0])&&(c.lastIndex=s(p,a(c.lastIndex),_))}for(var E,C="",S=0,N=0;N=S&&(C+=p.slice(S,O)+V,S=O+k.length)}return C+p.slice(S)}];function b(e,n,r,o,a,u){var c=r+e.length,s=o.length,l=v;return a!==undefined&&(a=i(a),l=h),t.call(u,l,(function(t,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,r);case"'":return n.slice(c);case"<":u=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return t;if(l>s){var f=p(l/10);return 0===f?t:f<=s?o[f-1]===undefined?i.charAt(1):o[f-1]+i.charAt(1):t}u=o[l-1]}return u===undefined?"":u}))}}))},function(e,t,n){"use strict";var r=n(82),o=n(6),i=n(17),a=n(147),u=n(83);r("search",1,(function(e,t,n){return[function(t){var n=i(this),r=t==undefined?undefined:t[e];return r!==undefined?r.call(t,n):new RegExp(t)[e](String(n))},function(e){var r=n(t,e,this);if(r.done)return r.value;var i=o(e),c=String(this),s=i.lastIndex;a(s,0)||(i.lastIndex=0);var l=u(i,c);return a(i.lastIndex,s)||(i.lastIndex=s),null===l?-1:l.index}]}))},function(e,t,n){"use strict";var r=n(82),o=n(104),i=n(6),a=n(17),u=n(41),c=n(109),s=n(8),l=n(83),f=n(81),d=n(1),p=[].push,h=Math.min,v=!d((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(e,t,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var r=String(a(this)),i=n===undefined?4294967295:n>>>0;if(0===i)return[];if(e===undefined)return[r];if(!o(e))return t.call(r,e,i);for(var u,c,s,l=[],d=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),h=0,v=new RegExp(e.source,d+"g");(u=f.call(v,r))&&!((c=v.lastIndex)>h&&(l.push(r.slice(h,u.index)),u.length>1&&u.index=i));)v.lastIndex===u.index&&v.lastIndex++;return h===r.length?!s&&v.test("")||l.push(""):l.push(r.slice(h)),l.length>i?l.slice(0,i):l}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var o=a(this),i=t==undefined?undefined:t[e];return i!==undefined?i.call(t,o,n):r.call(String(o),t,n)},function(e,o){var a=n(r,e,this,o,r!==t);if(a.done)return a.value;var f=i(e),d=String(this),p=u(f,RegExp),g=f.unicode,m=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(v?"y":"g"),y=new p(v?f:"^(?:"+f.source+")",m),b=o===undefined?4294967295:o>>>0;if(0===b)return[];if(0===d.length)return null===l(y,d)?[d]:[];for(var _=0,w=0,x=[];w1?arguments[1]:undefined,t.length)),r=String(e);return f?f.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){"use strict";var r=n(0),o=n(53).trim;r({target:"String",proto:!0,forced:n(110)("trim")},{trim:function(){return o(this)}})},function(e,t,n){"use strict";var r=n(0),o=n(53).end,i=n(110)("trimEnd"),a=i?function(){return o(this)}:"".trimEnd;r({target:"String",proto:!0,forced:i},{trimEnd:a,trimRight:a})},function(e,t,n){"use strict";var r=n(0),o=n(53).start,i=n(110)("trimStart"),a=i?function(){return o(this)}:"".trimStart;r({target:"String",proto:!0,forced:i},{trimStart:a,trimLeft:a})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("anchor")},{anchor:function(e){return o(this,"a","name",e)}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("big")},{big:function(){return o(this,"big","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("blink")},{blink:function(){return o(this,"blink","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("bold")},{bold:function(){return o(this,"b","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("fixed")},{fixed:function(){return o(this,"tt","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("fontcolor")},{fontcolor:function(e){return o(this,"font","color",e)}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("fontsize")},{fontsize:function(e){return o(this,"font","size",e)}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("italics")},{italics:function(){return o(this,"i","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("link")},{link:function(e){return o(this,"a","href",e)}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("small")},{small:function(){return o(this,"small","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("strike")},{strike:function(){return o(this,"strike","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("sub")},{sub:function(){return o(this,"sub","","")}})},function(e,t,n){"use strict";var r=n(0),o=n(23);r({target:"String",proto:!0,forced:n(24)("sup")},{sup:function(){return o(this,"sup","","")}})},function(e,t,n){"use strict";n(35)("Float32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";var r=n(26);e.exports=function(e){var t=r(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(35)("Float64",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Int8",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Int16",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Int32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Uint8",(function(e){return function(t,n,r){return e(this,t,n,r)}}),!0)},function(e,t,n){"use strict";n(35)("Uint16",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";n(35)("Uint32",(function(e){return function(t,n,r){return e(this,t,n,r)}}))},function(e,t,n){"use strict";var r=n(7),o=n(133),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("copyWithin",(function(e,t){return o.call(i(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(15).every,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("every",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(93),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("fill",(function(e){return o.apply(i(this),arguments)}))},function(e,t,n){"use strict";var r=n(7),o=n(15).filter,i=n(41),a=r.aTypedArray,u=r.aTypedArrayConstructor;(0,r.exportTypedArrayMethod)("filter",(function(e){for(var t=o(a(this),e,arguments.length>1?arguments[1]:undefined),n=i(this,this.constructor),r=0,c=t.length,s=new(u(n))(c);c>r;)s[r]=t[r++];return s}))},function(e,t,n){"use strict";var r=n(7),o=n(15).find,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("find",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(15).findIndex,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("findIndex",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(15).forEach,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("forEach",(function(e){o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(111);(0,n(7).exportTypedArrayStaticMethod)("from",n(156),r)},function(e,t,n){"use strict";var r=n(7),o=n(59).includes,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("includes",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(59).indexOf,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("indexOf",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(3),o=n(7),i=n(136),a=n(10)("iterator"),u=r.Uint8Array,c=i.values,s=i.keys,l=i.entries,f=o.aTypedArray,d=o.exportTypedArrayMethod,p=u&&u.prototype[a],h=!!p&&("values"==p.name||p.name==undefined),v=function(){return c.call(f(this))};d("entries",(function(){return l.call(f(this))})),d("keys",(function(){return s.call(f(this))})),d("values",v,!h),d(a,v,!h)},function(e,t,n){"use strict";var r=n(7),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=[].join;i("join",(function(e){return a.apply(o(this),arguments)}))},function(e,t,n){"use strict";var r=n(7),o=n(139),i=r.aTypedArray;(0,r.exportTypedArrayMethod)("lastIndexOf",(function(e){return o.apply(i(this),arguments)}))},function(e,t,n){"use strict";var r=n(7),o=n(15).map,i=n(41),a=r.aTypedArray,u=r.aTypedArrayConstructor;(0,r.exportTypedArrayMethod)("map",(function(e){return o(a(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(u(i(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var r=n(7),o=n(111),i=r.aTypedArrayConstructor;(0,r.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(i(this))(t);t>e;)n[e]=arguments[e++];return n}),o)},function(e,t,n){"use strict";var r=n(7),o=n(73).left,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduce",(function(e){return o(i(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=n(73).right,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("reduceRight",(function(e){return o(i(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=Math.floor;i("reverse",(function(){for(var e,t=o(this).length,n=a(t/2),r=0;r1?arguments[1]:undefined,1),n=this.length,r=a(e),u=o(r.length),s=0;if(u+t>n)throw RangeError("Wrong length");for(;si;)l[i]=n[i++];return l}),i((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var r=n(7),o=n(15).some,i=r.aTypedArray;(0,r.exportTypedArrayMethod)("some",(function(e){return o(i(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var r=n(7),o=r.aTypedArray,i=r.exportTypedArrayMethod,a=[].sort;i("sort",(function(e){return a.call(o(this),e)}))},function(e,t,n){"use strict";var r=n(7),o=n(8),i=n(37),a=n(41),u=r.aTypedArray;(0,r.exportTypedArrayMethod)("subarray",(function(e,t){var n=u(this),r=n.length,c=i(e,r);return new(a(n,n.constructor))(n.buffer,n.byteOffset+c*n.BYTES_PER_ELEMENT,o((t===undefined?r:i(t,r))-c))}))},function(e,t,n){"use strict";var r=n(3),o=n(7),i=n(1),a=r.Int8Array,u=o.aTypedArray,c=o.exportTypedArrayMethod,s=[].toLocaleString,l=[].slice,f=!!a&&i((function(){s.call(new a(1))}));c("toLocaleString",(function(){return s.apply(f?l.call(u(this)):u(this),arguments)}),i((function(){return[1,2].toLocaleString()!=new a([1,2]).toLocaleString()}))||!i((function(){a.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var r=n(7).exportTypedArrayMethod,o=n(1),i=n(3).Uint8Array,a=i&&i.prototype||{},u=[].toString,c=[].join;o((function(){u.call({})}))&&(u=function(){return c.call(this)});var s=a.toString!=u;r("toString",u,s)},function(e,t,n){"use strict";var r,o=n(3),i=n(65),a=n(47),u=n(75),c=n(157),s=n(4),l=n(30).enforce,f=n(124),d=!o.ActiveXObject&&"ActiveXObject"in o,p=Object.isExtensible,h=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},v=e.exports=u("WeakMap",h,c);if(f&&d){r=c.getConstructor(h,"WeakMap",!0),a.REQUIRED=!0;var g=v.prototype,m=g["delete"],y=g.has,b=g.get,_=g.set;i(g,{"delete":function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),m.call(this,e)||t.frozen["delete"](e)}return m.call(this,e)},has:function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),y.call(this,e)||t.frozen.has(e)}return y.call(this,e)},get:function(e){if(s(e)&&!p(e)){var t=l(this);return t.frozen||(t.frozen=new r),y.call(this,e)?b.call(this,e):t.frozen.get(e)}return b.call(this,e)},set:function(e,t){if(s(e)&&!p(e)){var n=l(this);n.frozen||(n.frozen=new r),y.call(this,e)?_.call(this,e,t):n.frozen.set(e,t)}else _.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(75)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(157))},function(e,t,n){"use strict";var r=n(0),o=n(3),i=n(103);r({global:!0,bind:!0,enumerable:!0,forced:!o.setImmediate||!o.clearImmediate},{setImmediate:i.set,clearImmediate:i.clear})},function(e,t,n){"use strict";var r=n(0),o=n(3),i=n(150),a=n(28),u=o.process,c="process"==a(u);r({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=c&&u.domain;i(t?t.bind(e):e)}})},function(e,t,n){"use strict";var r=n(0),o=n(3),i=n(70),a=[].slice,u=function(e){return function(t,n){var r=arguments.length>2,o=r?a.call(arguments,2):undefined;return e(r?function(){("function"==typeof t?t:Function(t)).apply(this,o)}:t,n)}};r({global:!0,bind:!0,forced:/MSIE .\./.test(i)},{setTimeout:u(o.setTimeout),setInterval:u(o.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Oe,t._HI=B,t._M=Ae,t._MCCC=Ve,t._ME=Te,t._MFCC=Le,t._MP=Ne,t._MR=ye,t.__render=Re,t.createComponentVNode=function(e,t,n,r,o){var a=new A(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),r,function(e,t,n){var r=(32768&e?t.render:t).defaultProps;if(i(r))return n;if(i(n))return l(r,null);return k(n,r)}(e,t,n),function(e,t,n){if(4&e)return n;var r=(32768&e?t.render:t).defaultHooks;if(i(r))return n;if(i(n))return r;return k(n,r)}(e,t,o),t);C.createVNode&&C.createVNode(a);return a},t.createFragment=M,t.createPortal=function(e,t){var n=B(e);return I(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,r,o){e||(e=t),De(n,e,r,o)}},t.createTextVNode=T,t.createVNode=I,t.directClone=V,t.findDOMfromVNode=b,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case"$F":return 8192;default:return 1}},t.linkEvent=function(e,t){if(u(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&i(e.children)&&j(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?l(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=De,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var r=Array.isArray;function o(e){var t=typeof e;return"string"===t||"number"===t}function i(e){return null==e}function a(e){return null===e||!1===e||!0===e||void 0===e}function u(e){return"function"==typeof e}function c(e){return"string"==typeof e}function s(e){return null===e}function l(e,t){var n={};if(e)for(var r in e)n[r]=e[r];if(t)for(var o in t)n[o]=t[o];return n}function f(e){return!s(e)&&"object"==typeof e}var d={};t.EMPTY_OBJ=d;function p(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function v(e,t,n){s(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function m(e){for(var t=0;t0,h=s(d),v=c(d)&&"$"===d[0];p||h||v?(n=n||t.slice(0,l),(p||v)&&(f=V(f)),(h||v)&&(f.key="$"+l),n.push(f)):n&&n.push(f),f.flags|=65536}}i=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=V(t)),i=2;return e.children=n,e.childFlags=i,e}function B(e){return a(e)||o(e)?T(e,null):r(e)?M(e,0,null):16384&e.flags?V(e):e}var F="http://www.w3.org/1999/xlink",R="http://www.w3.org/XML/1998/namespace",D={"xlink:actuate":F,"xlink:arcrole":F,"xlink:href":F,"xlink:role":F,"xlink:show":F,"xlink:title":F,"xlink:type":F,"xml:base":R,"xml:lang":R,"xml:space":R};function K(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var z=K(0),U=K(null),Y=K(!0);function H(e,t){var n=t.$EV;return n||(n=t.$EV=K(null)),n[e]||1==++z[e]&&(U[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Q(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Q(t))}}(e);return document.addEventListener(p(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--z[e]&&(document.removeEventListener(p(e),U[e]),U[e]=null),n[e]=null)}function $(e,t,n,r){var o=function(e){return u(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&o.disabled)return;var i=o.$EV;if(i){var a=i[n];if(a&&(r.dom=o,a.event?a.event(a.data,e):a(e),e.cancelBubble))return}o=o.parentNode}while(!s(o))}function G(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function q(){return this.defaultPrevented}function X(){return this.cancelBubble}function Q(e){var t={dom:document};return e.isDefaultPrevented=q,e.isPropagationStopped=X,e.stopPropagation=G,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function J(e,t,n){if(e[t]){var r=e[t];r.event?r.event(r.data,n):r(n)}else{var o=t.toLowerCase();e[o]&&e[o](n)}}function Z(e,t){var n=function(n){var r=this.$V;if(r){var o=r.props||d,i=r.dom;if(c(e))J(o,e,n);else for(var a=0;a-1&&t.options[a]&&(u=t.options[a].value),n&&i(u)&&(u=e.defaultValue),ae(r,u)}}var se,le,fe=Z("onInput",pe),de=Z("onChange");function pe(e,t,n){var r=e.value,o=t.value;if(i(r)){if(n){var a=e.defaultValue;i(a)||a===o||(t.defaultValue=a,t.value=a)}}else o!==r&&(t.defaultValue=r,t.value=r)}function he(e,t,n,r,o,i){64&e?ie(r,n):256&e?ce(r,n,o,t):128&e&&pe(r,n,o),i&&(n.$V=t)}function ve(e,t,n){64&e?function(e,t){te(t.type)?(ee(e,"change",re),ee(e,"click",oe)):ee(e,"input",ne)}(t,n):256&e?function(e){ee(e,"change",ue)}(t):128&e&&function(e,t){ee(e,"input",fe),t.onChange&&ee(e,"change",de)}(t,n)}function ge(e){return e.type&&te(e.type)?!i(e.checked):!i(e.value)}function me(e){e&&!O(e,null)&&e.current&&(e.current=null)}function ye(e,t,n){e&&(u(e)||void 0!==e.current)&&n.push((function(){O(e,t)||void 0===e.current||(e.current=t)}))}function be(e,t){_e(e),_(e,t)}function _e(e){var t,n=e.flags,r=e.children;if(481&n){t=e.ref;var o=e.props;me(t);var a=e.childFlags;if(!s(o))for(var c=Object.keys(o),l=0,f=c.length;l0;for(var u in a&&(i=ge(n))&&ve(t,r,n),n)Se(u,null,n[u],r,o,i,null);a&&he(t,e,r,n,!0,i)}function ke(e,t,n){var r=B(e.render(t,e.state,n)),o=n;return u(e.getChildContext)&&(o=l(n,e.getChildContext())),e.$CX=o,r}function Oe(e,t,n,r,o,i){var a=new t(n,r),c=a.$N=Boolean(t.getDerivedStateFromProps||a.getSnapshotBeforeUpdate);if(a.$SVG=o,a.$L=i,e.children=a,a.$BS=!1,a.context=r,a.props===d&&(a.props=n),c)a.state=x(a,n,a.state);else if(u(a.componentWillMount)){a.$BR=!0,a.componentWillMount();var l=a.$PS;if(!s(l)){var f=a.state;if(s(f))a.state=l;else for(var p in l)f[p]=l[p];a.$PS=null}a.$BR=!1}return a.$LI=ke(a,n,r),a}function Ae(e,t,n,r,o,i){var a=e.flags|=16384;481&a?Te(e,t,n,r,o,i):4&a?function(e,t,n,r,o,i){var a=Oe(e,e.type,e.props||d,n,r,i);Ae(a.$LI,t,a.$CX,r,o,i),Ve(e.ref,a,i)}(e,t,n,r,o,i):8&a?(!function(e,t,n,r,o,i){Ae(e.children=B(function(e,t){return 32768&e.flags?e.type.render(e.props||d,e.ref,t):e.type(e.props||d,t)}(e,n)),t,n,r,o,i)}(e,t,n,r,o,i),Le(e,i)):512&a||16&a?Ie(e,t,o):8192&a?function(e,t,n,r,o,i){var a=e.children,u=e.childFlags;12&u&&0===a.length&&(u=e.childFlags=2,a=e.children=L());2===u?Ae(a,n,o,r,o,i):Me(a,n,t,r,o,i)}(e,n,t,r,o,i):1024&a&&function(e,t,n,r,o){Ae(e.children,e.ref,t,!1,null,o);var i=L();Ie(i,n,r),e.dom=i.dom}(e,n,t,o,i)}function Ie(e,t,n){var r=e.dom=document.createTextNode(e.children);s(t)||v(t,r,n)}function Te(e,t,n,r,o,a){var u=e.flags,c=e.props,l=e.className,f=e.children,d=e.childFlags,p=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,r=r||(32&u)>0);if(i(l)||""===l||(r?p.setAttribute("class",l):p.className=l),16===d)S(p,f);else if(1!==d){var h=r&&"foreignObject"!==e.type;2===d?(16384&f.flags&&(e.children=f=V(f)),Ae(f,p,n,h,null,a)):8!==d&&4!==d||Me(f,p,n,h,null,a)}s(t)||v(t,p,o),s(c)||Ne(e,u,c,p,r),ye(e.ref,p,a)}function Me(e,t,n,r,o,i){for(var a=0;a0,s!==l){var h=s||d;if((u=l||d)!==d)for(var v in(f=(448&o)>0)&&(p=ge(u)),u){var g=h[v],m=u[v];g!==m&&Se(v,g,m,c,r,p,e)}if(h!==d)for(var y in h)i(u[y])&&!i(h[y])&&Se(y,h[y],null,c,r,p,e)}var b=t.children,_=t.className;e.className!==_&&(i(_)?c.removeAttribute("class"):r?c.setAttribute("class",_):c.className=_);4096&o?function(e,t){e.textContent!==t&&(e.textContent=t)}(c,b):je(e.childFlags,t.childFlags,e.children,b,c,n,r&&"foreignObject"!==t.type,null,e,a);f&&he(o,t,c,u,!1,p);var w=t.ref,x=e.ref;x!==w&&(me(x),ye(w,c,a))}(e,t,r,o,p,f):4&p?function(e,t,n,r,o,i,a){var c=t.children=e.children;if(s(c))return;c.$L=a;var f=t.props||d,p=t.ref,h=e.ref,v=c.state;if(!c.$N){if(u(c.componentWillReceiveProps)){if(c.$BR=!0,c.componentWillReceiveProps(f,r),c.$UN)return;c.$BR=!1}s(c.$PS)||(v=l(v,c.$PS),c.$PS=null)}Be(c,v,f,n,r,o,!1,i,a),h!==p&&(me(h),ye(p,c,a))}(e,t,n,r,o,c,f):8&p?function(e,t,n,r,o,a,c){var s=!0,l=t.props||d,f=t.ref,p=e.props,h=!i(f),v=e.children;h&&u(f.onComponentShouldUpdate)&&(s=f.onComponentShouldUpdate(p,l));if(!1!==s){h&&u(f.onComponentWillUpdate)&&f.onComponentWillUpdate(p,l);var g=t.type,m=B(32768&t.flags?g.render(l,f,r):g(l,r));Pe(v,m,n,r,o,a,c),t.children=m,h&&u(f.onComponentDidUpdate)&&f.onComponentDidUpdate(p,l)}else t.children=v}(e,t,n,r,o,c,f):16&p?function(e,t){var n=t.children,r=t.dom=e.dom;n!==e.children&&(r.nodeValue=n)}(e,t):512&p?t.dom=e.dom:8192&p?function(e,t,n,r,o,i){var a=e.children,u=t.children,c=e.childFlags,s=t.childFlags,l=null;12&s&&0===u.length&&(s=t.childFlags=2,u=t.children=L());var f=0!=(2&s);if(12&c){var d=a.length;(8&c&&8&s||f||!f&&u.length>d)&&(l=b(a[d-1],!1).nextSibling)}je(c,s,a,u,n,r,o,l,e,i)}(e,t,n,r,o,f):function(e,t,n,r){var o=e.ref,i=t.ref,u=t.children;if(je(e.childFlags,t.childFlags,e.children,u,o,n,!1,null,e,r),t.dom=e.dom,o!==i&&!a(u)){var c=u.dom;g(o,c),h(i,c)}}(e,t,r,f)}function je(e,t,n,r,o,i,a,u,c,s){switch(e){case 2:switch(t){case 2:Pe(n,r,o,i,a,u,s);break;case 1:be(n,o);break;case 16:_e(n),S(o,r);break;default:!function(e,t,n,r,o,i){_e(e),Me(t,n,r,o,b(e,!0),i),_(e,n)}(n,r,o,i,a,s)}break;case 1:switch(t){case 2:Ae(r,o,i,a,u,s);break;case 1:break;case 16:S(o,r);break;default:Me(r,o,i,a,u,s)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:S(n,t))}(n,r,o);break;case 2:xe(o),Ae(r,o,i,a,u,s);break;case 1:xe(o);break;default:xe(o),Me(r,o,i,a,u,s)}break;default:switch(t){case 16:we(n),S(o,r);break;case 2:Ee(o,c,n),Ae(r,o,i,a,u,s);break;case 1:Ee(o,c,n);break;default:var l=0|n.length,f=0|r.length;0===l?f>0&&Me(r,o,i,a,u,s):0===f?Ee(o,c,n):8===t&&8===e?function(e,t,n,r,o,i,a,u,c,s){var l,f,d=i-1,p=a-1,h=0,v=e[h],g=t[h];e:{for(;v.key===g.key;){if(16384&g.flags&&(t[h]=g=V(g)),Pe(v,g,n,r,o,u,s),e[h]=g,++h>d||h>p)break e;v=e[h],g=t[h]}for(v=e[d],g=t[p];v.key===g.key;){if(16384&g.flags&&(t[p]=g=V(g)),Pe(v,g,n,r,o,u,s),e[d]=g,d--,p--,h>d||h>p)break e;v=e[d],g=t[p]}}if(h>d){if(h<=p)for(f=(l=p+1)p)for(;h<=d;)be(e[h++],n);else!function(e,t,n,r,o,i,a,u,c,s,l,f,d){var p,h,v,g=0,m=u,y=u,_=i-u+1,x=a-u+1,E=new Int32Array(x+1),C=_===r,S=!1,N=0,k=0;if(o<4||(_|x)<32)for(g=m;g<=i;++g)if(p=e[g],ku?S=!0:N=u,16384&h.flags&&(t[u]=h=V(h)),Pe(p,h,c,n,s,l,d),++k;break}!C&&u>a&&be(p,c)}else C||be(p,c);else{var O={};for(g=y;g<=a;++g)O[t[g].key]=g;for(g=m;g<=i;++g)if(p=e[g],km;)be(e[m++],c);E[u-y]=g+1,N>u?S=!0:N=u,16384&(h=t[u]).flags&&(t[u]=h=V(h)),Pe(p,h,c,n,s,l,d),++k}else C||be(p,c);else C||be(p,c)}if(C)Ee(c,f,e),Me(t,c,n,s,l,d);else if(S){var A=function(e){var t=0,n=0,r=0,o=0,i=0,a=0,u=0,c=e.length;c>Fe&&(Fe=c,se=new Int32Array(c),le=new Int32Array(c));for(;n>1]]0&&(le[n]=se[i-1]),se[i]=n)}i=o+1;var s=new Int32Array(i);a=se[i-1];for(;i-- >0;)s[i]=a,a=le[a],se[i]=0;return s}(E);for(u=A.length-1,g=x-1;g>=0;g--)0===E[g]?(16384&(h=t[N=g+y]).flags&&(t[N]=h=V(h)),Ae(h,c,n,s,(v=N+1)=0;g--)0===E[g]&&(16384&(h=t[N=g+y]).flags&&(t[N]=h=V(h)),Ae(h,c,n,s,(v=N+1)a?a:i,d=0;da)for(d=f;d=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var u=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(u&&c){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),s}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;w(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:E(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),s}},e}(e.exports);try{regeneratorRuntime=r}catch(o){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";!function(t,n){var r,o,i=t.html5||{},a=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,c=0,s={};function l(){var e=h.elements;return"string"==typeof e?e.split(" "):e}function f(e){var t=s[e._html5shiv];return t||(t={},c++,e._html5shiv=c,s[c]=t),t}function d(e,t,r){return t||(t=n),o?t.createElement(e):(r||(r=f(t)),!(i=r.cache[e]?r.cache[e].cloneNode():u.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e)).canHaveChildren||a.test(e)||i.tagUrn?i:r.frag.appendChild(i));var i}function p(e){e||(e=n);var t=f(e);return!h.shivCSS||r||t.hasCSS||(t.hasCSS=!!function(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x",r.insertBefore(n.lastChild,r.firstChild)}(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),o||function(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return h.shivMethods?d(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/[\w\-:]+/g,(function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'}))+");return n}")(h,t.frag)}(e,t),e}!function(){try{var e=n.createElement("a");e.innerHTML="",r="hidden"in e,o=1==e.childNodes.length||function(){n.createElement("a");var e=n.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(t){r=!0,o=!0}}();var h={elements:i.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:"3.7.3",shivCSS:!1!==i.shivCSS,supportsUnknownElements:o,shivMethods:!1!==i.shivMethods,type:"default",shivDocument:p,createElement:d,createDocumentFragment:function(e,t){if(e||(e=n),o)return e.createDocumentFragment();for(var r=(t=t||f(e)).frag.cloneNode(),i=0,a=l(),u=a.length;i3?u(a):null,b=String(a.key),_=String(a.char),x=a.location,w=a.keyCode||(a.keyCode=b)&&b.charCodeAt(0)||0,E=a.charCode||(a.charCode=_)&&_.charCodeAt(0)||0,C=a.bubbles,S=a.cancelable,N=a.repeat,k=a.locale,O=a.view||e;if(a.which||(a.which=a.keyCode),"initKeyEvent"in d)d.initKeyEvent(t,C,S,O,p,v,h,g,w,E);else if(0>>0),t=Element.prototype,n=t.querySelector,r=t.querySelectorAll;function o(t,n,r){t.setAttribute(e,null);var o=n.call(t,String(r).replace(/(^|,\s*)(:scope([ >]|$))/g,(function(t,n,r,o){return n+"["+e+"]"+(o||" ")})));return t.removeAttribute(e),o}t.querySelector=function(e){return o(this,n,e)},t.querySelectorAll=function(e){return o(this,r,e)}}()}}(window),function(e){var t=e.WeakMap||function(){var e,t=0,n=!1,r=!1;function o(t,o,i){r=i,n=!1,e=undefined,t.dispatchEvent(o)}function i(e){this.value=e}function u(){t++,this.__ce__=new a("@DOMMap:"+t+Math.random())}return i.prototype.handleEvent=function(t){n=!0,r?t.currentTarget.removeEventListener(t.type,this,!1):e=this.value},u.prototype={constructor:u,"delete":function(e){return o(e,this.__ce__,!0),n},get:function(t){o(t,this.__ce__,!1);var n=e;return e=undefined,n},has:function(e){return o(e,this.__ce__,!1),n},set:function(e,t){return o(e,this.__ce__,!0),e.addEventListener(this.__ce__.type,new i(t),!1),this}},u}();function n(){}function r(e,t,n){function o(e){o.once&&(e.currentTarget.removeEventListener(e.type,t,o),o.removed=!0),o.passive&&(e.preventDefault=r.preventDefault),"function"==typeof o.callback?o.callback.call(this,e):o.callback&&o.callback.handleEvent(e),o.passive&&delete e.preventDefault}return o.type=e,o.callback=t,o.capture=!!n.capture,o.passive=!!n.passive,o.once=!!n.once,o.removed=!1,o}n.prototype=(Object.create||Object)(null),r.preventDefault=function(){};var o,i,a=e.CustomEvent,u=e.dispatchEvent,c=e.addEventListener,s=e.removeEventListener,l=0,f=function(){l++},d=[].indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},p=function(e){return"".concat(e.capture?"1":"0",e.passive?"1":"0",e.once?"1":"0")};try{c("_",f,{once:!0}),u(new a("_")),u(new a("_")),s("_",f,{once:!0})}catch(h){}1!==l&&(i=new t,o=function(e){if(e){var t=e.prototype;t.addEventListener=function(e){return function(t,o,a){if(a&&"boolean"!=typeof a){var u,c,s,l=i.get(this),f=p(a);l||i.set(this,l=new n),t in l||(l[t]={handler:[],wrap:[]}),c=l[t],(u=d.call(c.handler,o))<0?(u=c.handler.push(o)-1,c.wrap[u]=s=new n):s=c.wrap[u],f in s||(s[f]=r(t,o,a),e.call(this,t,s[f],s[f].capture))}else e.call(this,t,o,a)}}(t.addEventListener),t.removeEventListener=function(e){return function(t,n,r){if(r&&"boolean"!=typeof r){var o,a,u,c,s=i.get(this);if(s&&t in s&&(u=s[t],-1<(a=d.call(u.handler,n))&&(o=p(r))in(c=u.wrap[a]))){for(o in e.call(this,t,c[o],c[o].capture),delete c[o],c)return;u.handler.splice(a,1),u.wrap.splice(a,1),0===u.handler.length&&delete s[t]}}else e.call(this,t,n,r)}}(t.removeEventListener)}},e.EventTarget?o(EventTarget):(o(e.Text),o(e.Element||e.HTMLElement),o(e.HTMLDocument),o(e.Window||{prototype:e}),o(e.XMLHttpRequest)))}(window)},function(e,t,n){"use strict";!function(e){if("undefined"!=typeof e.setAttribute){var t=function(e){return e.replace(/-[a-z]/g,(function(e){return e[1].toUpperCase()}))};e.setProperty=function(e,n){var r=t(e);if(!n)return this.removeAttribute(r);var o=String(n);return this.setAttribute(r,o)},e.getPropertyValue=function(e){var n=t(e);return this.getAttribute(n)||null},e.removeProperty=function(e){var n=t(e),r=this.getAttribute(n);return this.removeAttribute(n),r}}}(CSSStyleDeclaration.prototype)},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";(function(e){ +if(!document.createEvent){var t,n=!0,r=!1,o="__IE8__"+Math.random(),i=Object.defineProperty||function(e,t,n){e[t]=n.value},a=Object.defineProperties||function(t,n){for(var r in n)if(c.call(n,r))try{i(t,r,n[r])}catch(o){e.console}},u=Object.getOwnPropertyDescriptor,c=Object.prototype.hasOwnProperty,s=e.Element.prototype,l=e.Text.prototype,f=/^[a-z]+$/,d=/loaded|complete/,p={},h=document.createElement("div"),v=document.documentElement,g=v.removeAttribute,m=v.setAttribute,y=function(e){return{enumerable:!0,writable:!0,configurable:!0,value:e}};E(e.HTMLCommentElement.prototype,s,"nodeValue"),E(e.HTMLScriptElement.prototype,null,"text"),E(l,null,"nodeValue"),E(e.HTMLTitleElement.prototype,null,"text"),i(e.HTMLStyleElement.prototype,"textContent",(t=u(e.CSSStyleSheet.prototype,"cssText"),x((function(){return t.get.call(this.styleSheet)}),(function(e){t.set.call(this.styleSheet,e)}))));var b=/\b\s*alpha\s*\(\s*opacity\s*=\s*(\d+)\s*\)/;i(e.CSSStyleDeclaration.prototype,"opacity",{get:function(){var e=this.filter.match(b);return e?(e[1]/100).toString():""},set:function(e){this.zoom=1;var t=!1;e=e<1?" alpha(opacity="+Math.round(100*e)+")":"",this.filter=this.filter.replace(b,(function(){return t=!0,e})),!t&&e&&(this.filter+=e)}}),a(s,{textContent:{get:S,set:A},firstElementChild:{get:function(){for(var e=this.childNodes||[],t=0,n=e.length;t3?u(a):null,b=String(a.key),_=String(a.char),w=a.location,x=a.keyCode||(a.keyCode=b)&&b.charCodeAt(0)||0,E=a.charCode||(a.charCode=_)&&_.charCodeAt(0)||0,C=a.bubbles,S=a.cancelable,N=a.repeat,k=a.locale,O=a.view||e;if(a.which||(a.which=a.keyCode),"initKeyEvent"in d)d.initKeyEvent(t,C,S,O,p,v,h,g,x,E);else if(0>>0),t=Element.prototype,n=t.querySelector,r=t.querySelectorAll;function o(t,n,r){t.setAttribute(e,null);var o=n.call(t,String(r).replace(/(^|,\s*)(:scope([ >]|$))/g,(function(t,n,r,o){return n+"["+e+"]"+(o||" ")})));return t.removeAttribute(e),o}t.querySelector=function(e){return o(this,n,e)},t.querySelectorAll=function(e){return o(this,r,e)}}()}}(window),function(e){var t=e.WeakMap||function(){var e,t=0,n=!1,r=!1;function o(t,o,i){r=i,n=!1,e=undefined,t.dispatchEvent(o)}function i(e){this.value=e}function u(){t++,this.__ce__=new a("@DOMMap:"+t+Math.random())}return i.prototype.handleEvent=function(t){n=!0,r?t.currentTarget.removeEventListener(t.type,this,!1):e=this.value},u.prototype={constructor:u,"delete":function(e){return o(e,this.__ce__,!0),n},get:function(t){o(t,this.__ce__,!1);var n=e;return e=undefined,n},has:function(e){return o(e,this.__ce__,!1),n},set:function(e,t){return o(e,this.__ce__,!0),e.addEventListener(this.__ce__.type,new i(t),!1),this}},u}();function n(){}function r(e,t,n){function o(e){o.once&&(e.currentTarget.removeEventListener(e.type,t,o),o.removed=!0),o.passive&&(e.preventDefault=r.preventDefault),"function"==typeof o.callback?o.callback.call(this,e):o.callback&&o.callback.handleEvent(e),o.passive&&delete e.preventDefault}return o.type=e,o.callback=t,o.capture=!!n.capture,o.passive=!!n.passive,o.once=!!n.once,o.removed=!1,o}n.prototype=(Object.create||Object)(null),r.preventDefault=function(){};var o,i,a=e.CustomEvent,u=e.dispatchEvent,c=e.addEventListener,s=e.removeEventListener,l=0,f=function(){l++},d=[].indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},p=function(e){return"".concat(e.capture?"1":"0",e.passive?"1":"0",e.once?"1":"0")};try{c("_",f,{once:!0}),u(new a("_")),u(new a("_")),s("_",f,{once:!0})}catch(h){}1!==l&&(i=new t,o=function(e){if(e){var t=e.prototype;t.addEventListener=function(e){return function(t,o,a){if(a&&"boolean"!=typeof a){var u,c,s,l=i.get(this),f=p(a);l||i.set(this,l=new n),t in l||(l[t]={handler:[],wrap:[]}),c=l[t],(u=d.call(c.handler,o))<0?(u=c.handler.push(o)-1,c.wrap[u]=s=new n):s=c.wrap[u],f in s||(s[f]=r(t,o,a),e.call(this,t,s[f],s[f].capture))}else e.call(this,t,o,a)}}(t.addEventListener),t.removeEventListener=function(e){return function(t,n,r){if(r&&"boolean"!=typeof r){var o,a,u,c,s=i.get(this);if(s&&t in s&&(u=s[t],-1<(a=d.call(u.handler,n))&&(o=p(r))in(c=u.wrap[a]))){for(o in e.call(this,t,c[o],c[o].capture),delete c[o],c)return;u.handler.splice(a,1),u.wrap.splice(a,1),0===u.handler.length&&delete s[t]}}else e.call(this,t,n,r)}}(t.removeEventListener)}},e.EventTarget?o(EventTarget):(o(e.Text),o(e.Element||e.HTMLElement),o(e.HTMLDocument),o(e.Window||{prototype:e}),o(e.XMLHttpRequest)))}(window)},function(e,t,n){"use strict";!function(e){if("undefined"!=typeof e.setAttribute){var t=function(e){return e.replace(/-[a-z]/g,(function(e){return e[1].toUpperCase()}))};e.setProperty=function(e,n){var r=t(e);if(!n)return this.removeAttribute(r);var o=String(n);return this.setAttribute(r,o)},e.getPropertyValue=function(e){var n=t(e);return this.getAttribute(n)||null},e.removeProperty=function(e){var n=t(e),r=this.getAttribute(n);return this.removeAttribute(n),r}}}(CSSStyleDeclaration.prototype)},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";(function(e){ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ -var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,r,o){var i,a=n.document,u=a.createElement("link");if(t)i=t;else{var c=(a.body||a.getElementsByTagName("head")[0]).childNodes;i=c[c.length-1]}var s=a.styleSheets;if(o)for(var l in o)o.hasOwnProperty(l)&&u.setAttribute(l,o[l]);u.rel="stylesheet",u.href=e,u.media="only x",function p(e){if(a.body)return e();setTimeout((function(){p(e)}))}((function(){i.parentNode.insertBefore(u,t?i:i.nextSibling)}));var f=function h(e){for(var t=u.href,n=s.length;n--;)if(s[n].href===t)return e();setTimeout((function(){h(e)}))};function d(){u.addEventListener&&u.removeEventListener("load",d),u.media=r||"all"}return u.addEventListener&&u.addEventListener("load",d),u.onloadcssdefined=f,f(d),u}}).call(this,n(121))},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var r=n(113);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a1?t-1:0),r=1;r=0||(o[n]=e[n]);return o}(e,["className"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var r,o;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=r,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(r||(t.VNodeFlags=r={})),t.ChildFlags=o,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(o||(t.ChildFlags=o={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ByondUi=void 0;var r=n(3),o=n(9),i=n(405),a=n(20),u=n(52),c=n(13);function s(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var l=(0,u.createLogger)("ByondUi"),f=[];window.addEventListener("beforeunload",(function(){for(var e=0;e=0||(o[n]=e[n]);return o}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,m=function(e,t,n,r){if(0===e.length)return[];var i=(0,o.zipWith)(Math.min).apply(void 0,e),a=(0,o.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(i[0]=n[0],a[0]=n[1]),r!==undefined&&(i[1]=r[0],a[1]=r[1]),(0,o.map)((function(e){return(0,o.zipWith)((function(e,t,n,r){return(e-t)/(n-t)*r}))(e,i,a,t)}))(e)}(i,g,a,c);if(m.length>0){var y=m[0],b=m[m.length-1];m.push([g[0]+h,b[1]]),m.push([g[0]+h,-h]),m.push([-h,-h]),m.push([-h,y[1]])}var _=function(e){for(var t="",n=0;n=0||(o[n]=e[n]);return o}(t,["children","color","title","buttons"]);return(0,r.createComponentVNode)(2,o.Box,{mb:1,children:[(0,r.createVNode)(1,"div","Table",[(0,r.createVNode)(1,"div","Table__cell",(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Button,Object.assign({fluid:!0,color:c,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},f,{children:s}))),2),l&&(0,r.createVNode)(1,"div","Table__cell Table__cell--collapsing",l,0)],0),n&&(0,r.createComponentVNode)(2,o.Box,{mt:1,children:a})]})},a}(r.Component);t.Collapsible=a},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var r=n(3),o=n(9),i=n(13);var a=function(e){var t=e.content,n=(e.children,e.className),a=e.color,u=e.backgroundColor,c=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["content","children","className","color","backgroundColor"]);return c.color=t?null:"transparent",c.backgroundColor=a||u,(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["ColorBox",n,(0,i.computeBoxClassName)(c)]),t||".",0,Object.assign({},(0,i.computeBoxProps)(c))))};t.ColorBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var r=n(3),o=n(9),i=n(13),a=n(118);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t,n;function c(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},s.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},s.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},s.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,r.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},s.render=function(){var e=this,t=this.props,n=t.color,c=void 0===n?"default":n,s=t.over,l=t.noscroll,f=t.nochevron,d=t.width,p=(t.onClick,t.selected,t.disabled),h=u(t,["color","over","noscroll","nochevron","width","onClick","selected","disabled"]),v=h.className,g=u(h,["className"]),m=s?!this.state.open:this.state.open,y=this.state.open?(0,r.createVNode)(1,"div",(0,o.classes)([l?"Dropdown__menu-noscroll":"Dropdown__menu",s&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,r.createVNode)(1,"div","Dropdown",[(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({width:d,className:(0,o.classes)(["Dropdown__control","Button","Button--color--"+c,p&&"Button--disabled",v])},g,{onClick:function(){p&&!e.state.open||e.setOpen(!e.state.open)},children:[(0,r.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),!!f||(0,r.createVNode)(1,"span","Dropdown__arrow-button",(0,r.createComponentVNode)(2,a.Icon,{name:m?"chevron-up":"chevron-down"}),2)]}))),y],0)},c}(r.Component);t.Dropdown=c},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var r=n(3),o=n(119),i=n(9);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){var t=e.children,n=a(e,["children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table,Object.assign({},n,{children:(0,r.createComponentVNode)(2,o.Table.Row,{children:t})})))};t.Grid=u,u.defaultHooks=i.pureComponentHooks;var c=function(e){var t=e.size,n=void 0===t?1:t,i=e.style,u=a(e,["size","style"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},i)},u)))};t.GridColumn=c,u.defaultHooks=i.pureComponentHooks,u.Column=c},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var r=n(3),o=n(9),i=n(13);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){return(0,o.isFalsy)(e)?"":e},c=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).inputRef=(0,r.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,r=t.props.onInput;n||t.setEditing(!0),r&&r(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,r=t.props.onChange;n&&(t.setEditing(!1),r&&r(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,r=n.onInput,o=n.onChange,i=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),o&&o(e,e.target.value),r&&r(e,e.target.value),i&&i(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=u(t.props.value),void e.target.blur()):void 0},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=u(e))},s.componentDidUpdate=function(e,t){var n=this.state.editing,r=e.value,o=this.props.value,i=this.inputRef.current;i&&!n&&r!==o&&(i.value=u(o))},s.setEditing=function(e){this.setState({editing:e})},s.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,u=a(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),c=u.className,s=u.fluid,l=a(u,["className","fluid"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Input",s&&"Input--fluid",c])},l,{children:[(0,r.createVNode)(1,"div","Input__baseline",".",16),(0,r.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},c}(r.Component);t.Input=c},function(e,t,n){"use strict";t.__esModule=!0,t.Knob=void 0;var r=n(3),o=n(53),i=n(9),a=n(20),u=n(13),c=n(165),s=n(120);t.Knob=function(e){if(a.IS_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,l=e.maxValue,f=e.minValue,d=e.onChange,p=e.onDrag,h=e.step,v=e.stepPixelSize,g=e.suppressFlicker,m=e.unit,y=e.value,b=e.className,_=e.style,x=e.fillValue,w=e.color,E=e.ranges,C=void 0===E?{}:E,S=e.size,N=e.bipolar,k=(e.children,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children"]));return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:t,format:n,maxValue:l,minValue:f,onChange:d,onDrag:p,step:h,stepPixelSize:v,suppressFlicker:g,unit:m,value:y},{children:function(e){var t=e.dragging,n=(e.editing,e.value),a=e.displayValue,c=e.displayElement,s=e.inputElement,d=e.handleDragStart,p=(0,o.scale)(null!=x?x:a,f,l),h=(0,o.scale)(a,f,l),v=w||(0,o.keyOfMatchingRange)(null!=x?x:n,C)||"default",g=270*(h-.5);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Knob","Knob--color--"+v,N&&"Knob--bipolar",b,(0,u.computeBoxClassName)(k)]),[(0,r.createVNode)(1,"div","Knob__circle",(0,r.createVNode)(1,"div","Knob__cursorBox",(0,r.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+g+"deg)"}}),2),t&&(0,r.createVNode)(1,"div","Knob__popupValue",c,0),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,r.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,r.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":((N?2.75:2)-1.5*p)*Math.PI*50},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),s],0,Object.assign({},(0,u.computeBoxProps)(Object.assign({style:Object.assign({"font-size":S+"rem"},_)},k)),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledControls=void 0;var r=n(3),o=n(164);function i(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var a=function(e){var t=e.children,n=i(e,["children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({mx:-.5,align:"stretch",justify:"space-between"},n,{children:t})))};t.LabeledControls=a;a.Item=function(e){var t=e.label,n=e.children,a=i(e,["label","children"]);return(0,r.createComponentVNode)(2,o.Flex.Item,{mx:1,children:(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({minWidth:"52px",height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},a,{children:[(0,r.createComponentVNode)(2,o.Flex.Item),(0,r.createComponentVNode)(2,o.Flex.Item,{children:n}),(0,r.createComponentVNode)(2,o.Flex.Item,{color:"label",children:t})]})))})}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var r=n(3),o=n(9),i=n(13),a=n(163),u=function(e){var t=e.children;return(0,r.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=u,u.defaultHooks=o.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,a=e.labelColor,u=void 0===a?"label":a,c=e.color,s=e.textAlign,l=e.buttons,f=e.content,d=e.children;return(0,r.createVNode)(1,"tr",(0,o.classes)(["LabeledList__row",t]),[(0,r.createComponentVNode)(2,i.Box,{as:"td",color:u,className:(0,o.classes)(["LabeledList__cell","LabeledList__label"]),children:n?n+":":null}),(0,r.createComponentVNode)(2,i.Box,{as:"td",color:c,textAlign:s,className:(0,o.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:l?undefined:2,children:[f,d]}),l&&(0,r.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",l,0)],0)};t.LabeledListItem=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.size?(0,i.unit)(Math.max(0,e.size-1)):0;return(0,r.createVNode)(1,"tr","LabeledList__row",(0,r.createVNode)(1,"td",null,(0,r.createComponentVNode)(2,a.Divider),2,{colSpan:3,style:{"padding-top":t,"padding-bottom":t}}),2)};t.LabeledListDivider=s,s.defaultHooks=o.pureComponentHooks,u.Item=c,u.Divider=s},function(e,t,n){"use strict";t.__esModule=!0,t.NanoMap=void 0;var r=n(3),o=n(66),i=n(47),a=function(e,t){var n=(0,i.useBackend)(t).config,a=e.onClick;return(0,r.createComponentVNode)(2,o.Box,{className:"NanoMap__container",children:(0,r.createComponentVNode)(2,o.Box,{as:"img",src:n.map+"_nanomap_z1.png",style:{width:"512px",height:"512px"},onClick:a})})};t.NanoMap=a;a.Marker=function(e){var t=e.x,n=e.y,i=e.icon,a=e.tooltip,u=e.color;return(0,r.createComponentVNode)(2,o.Box,{position:"absolute",className:"NanoMap__marker",top:2*(255-n)+2+"px",left:2*t+2+"px",children:[(0,r.createComponentVNode)(2,o.Icon,{name:i,color:u,size:.5}),(0,r.createComponentVNode)(2,o.Tooltip,{content:a})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Modal=void 0;var r=n(3),o=n(9),i=n(13),a=n(162);t.Modal=function(e){var t=e.className,n=e.children,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","children"]);return(0,r.createComponentVNode)(2,a.Dimmer,{children:(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Modal",t,(0,i.computeBoxClassName)(u)]),n,0,Object.assign({},(0,i.computeBoxProps)(u))))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var r=n(3),o=n(9),i=n(13);var a=function(e){var t=e.className,n=e.color,a=e.info,u=(e.warning,e.success),c=e.danger,s=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","color","info","warning","success","danger"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["NoticeBox",n&&"NoticeBox--color--"+n,a&&"NoticeBox--type--info",u&&"NoticeBox--type--success",c&&"NoticeBox--type--danger",t])},s)))};t.NoticeBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var r=n(3),o=n(53),i=n(9),a=n(13);var u=function(e){var t=e.className,n=e.value,u=e.minValue,c=void 0===u?0:u,s=e.maxValue,l=void 0===s?1:s,f=e.color,d=e.ranges,p=void 0===d?{}:d,h=e.children,v=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","value","minValue","maxValue","color","ranges","children"]),g=(0,o.scale)(n,c,l),m=h!==undefined,y=f||(0,o.keyOfMatchingRange)(n,p)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar","ProgressBar--color--"+y,t,(0,a.computeBoxClassName)(v)]),[(0,r.createVNode)(1,"div","ProgressBar__fill ProgressBar__fill--animated",null,1,{style:{width:100*(0,o.clamp01)(g)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",m?h:(0,o.toFixed)(100*g)+"%",0)],4,Object.assign({},(0,a.computeBoxProps)(v))))};t.ProgressBar=u,u.defaultHooks=i.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var r=n(3),o=n(9),i=n(13);var a=function(e){var t=e.className,n=e.title,a=e.level,u=void 0===a?1:a,c=e.buttons,s=e.content,l=e.children,f=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","title","level","buttons","content","children"]),d=!(0,o.isFalsy)(n)||!(0,o.isFalsy)(c),p=!(0,o.isFalsy)(s)||!(0,o.isFalsy)(l);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Section","Section--level--"+u,t])},f,{children:[d&&(0,r.createVNode)(1,"div","Section__title",[(0,r.createVNode)(1,"span","Section__titleText",n,0),(0,r.createVNode)(1,"div","Section__buttons",c,0)],4),p&&(0,r.createVNode)(1,"div","Section__content",[s,l],0)]})))};t.Section=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Slider=void 0;var r=n(3),o=n(53),i=n(9),a=n(20),u=n(13),c=n(165),s=n(120);t.Slider=function(e){if(a.IS_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,l=e.maxValue,f=e.minValue,d=e.onChange,p=e.onDrag,h=e.step,v=e.stepPixelSize,g=e.suppressFlicker,m=e.unit,y=e.value,b=e.className,_=e.fillValue,x=e.color,w=e.ranges,E=void 0===w?{}:w,C=e.children,S=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","fillValue","color","ranges","children"]),N=C!==undefined;return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[1,0]},{animated:t,format:n,maxValue:l,minValue:f,onChange:d,onDrag:p,step:h,stepPixelSize:v,suppressFlicker:g,unit:m,value:y},{children:function(e){var t=e.dragging,n=(e.editing,e.value),a=e.displayValue,c=e.displayElement,s=e.inputElement,d=e.handleDragStart,p=_!==undefined&&null!==_,h=((0,o.scale)(n,f,l),(0,o.scale)(null!=_?_:a,f,l)),v=(0,o.scale)(a,f,l),g=x||(0,o.keyOfMatchingRange)(null!=_?_:n,E)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Slider","ProgressBar","ProgressBar--color--"+g,b,(0,u.computeBoxClassName)(S)]),[(0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar__fill",p&&"ProgressBar__fill--animated"]),null,1,{style:{width:100*(0,o.clamp01)(h)+"%",opacity:.4}}),(0,r.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,o.clamp01)(Math.min(h,v))+"%"}}),(0,r.createVNode)(1,"div","Slider__cursorOffset",[(0,r.createVNode)(1,"div","Slider__cursor"),(0,r.createVNode)(1,"div","Slider__pointer"),t&&(0,r.createVNode)(1,"div","Slider__popupValue",c,0)],0,{style:{width:100*(0,o.clamp01)(v)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",N?C:c,0),s],0,Object.assign({},(0,u.computeBoxProps)(S),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Tabs=void 0;var r=n(3),o=n(9),i=n(13),a=n(117);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t=e.className,n=e.vertical,a=e.children,c=u(e,["className","vertical","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Tabs",n?"Tabs--vertical":"Tabs--horizontal",t,(0,i.computeBoxClassName)(c)]),(0,r.createVNode)(1,"div","Tabs__tabBox",a,0),2,Object.assign({},(0,i.computeBoxProps)(c))))};t.Tabs=c;c.Tab=function(e){var t=e.className,n=e.selected,i=e.altSelection,c=u(e,["className","selected","altSelection"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,a.Button,Object.assign({className:(0,o.classes)(["Tabs__tab",n&&"Tabs__tab--selected",i&&n&&"Tabs__tab--altSelection",t]),selected:!i&&n,color:"transparent"},c)))}},function(e,t,n){"use strict";function r(e){var t=0;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e)))return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){var r={"./CrewMonitor.js":424,"./DisposalBin.js":425};function o(e){var t=i(e);return n(t)}function i(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=i,e.exports=o,o.id=423},function(e,t,n){"use strict";t.__esModule=!0,t.CrewMonitor=void 0;var r=n(3),o=n(113),i=n(47),a=n(83),u=n(66),c=n(119);t.CrewMonitor=function(e,t){var n=(0,i.useBackend)(t),s=n.act,l=n.data,f=(0,o.sortBy)((function(e){return e.name}))(l.crewmembers||[]);return(0,r.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,r.createComponentVNode)(2,a.Window.Content,{children:[f.filter((function(e){return 3===e.sensor_type})).map((function(e){return(0,r.createComponentVNode)(2,u.NanoMap.Marker,{x:e.x,y:e.y,icon:"circle",tooltip:e.name,color:e.dead?"red":"green"},e.ref)})),(0,r.createComponentVNode)(2,u.NanoMap),(0,r.createComponentVNode)(2,u.Box,{className:"NanoMap__contentOffset",children:(0,r.createComponentVNode)(2,u.Box,{bold:!0,m:2,children:(0,r.createComponentVNode)(2,u.Table,{children:[(0,r.createComponentVNode)(2,u.Table.Row,{header:!0,children:[(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Name"}),(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Status"}),(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Location"})]}),f.map((function(e){return(0,r.createComponentVNode)(2,u.Table.Row,{children:[(0,r.createComponentVNode)(2,c.TableCell,{children:[e.name," (",e.assignment,")"]}),(0,r.createComponentVNode)(2,c.TableCell,{children:[(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:e.dead?"red":"green",children:e.dead?"Deceased":"Living"}),e.sensor_type>=2?(0,r.createComponentVNode)(2,u.Box,{inline:!0,children:["(",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"red",children:e.brute}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"orange",children:e.fire}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"green",children:e.tox}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"blue",children:e.oxy}),")"]}):null]}),(0,r.createComponentVNode)(2,c.TableCell,{children:3===e.sensor_type?l.isAI?(0,r.createComponentVNode)(2,u.Button,{fluid:!0,content:e.area+" ("+e.x+", "+e.y+")",onClick:function(){return s("track",{track:e.ref})}}):e.area+" ("+e.x+", "+e.y+")":"Not Available"})]},e.name)}))]})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalBin=void 0;var r=n(3),o=n(47),i=n(66),a=n(83);t.DisposalBin=function(e,t){var n,u,c=(0,o.useBackend)(t),s=c.act,l=c.data;return 2===l.mode?(n="good",u="Ready"):l.mode<=0?(n="bad",u="N/A"):1===l.mode?(n="average",u="Pressurizing"):(n="average",u="Idle"),(0,r.createComponentVNode)(2,a.Window,{children:(0,r.createComponentVNode)(2,a.Window.Content,{children:(0,r.createComponentVNode)(2,i.Section,{children:[(0,r.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Status"}),(0,r.createComponentVNode)(2,i.LabeledList,{children:[(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"State",color:n,children:u}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:(0,r.createComponentVNode)(2,i.ProgressBar,{ranges:{bad:[-Infinity,0],average:[0,99],good:[99,Infinity]},value:l.pressure,minValue:0,maxValue:100})})]}),(0,r.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Controls"}),(0,r.createComponentVNode)(2,i.LabeledList,{children:[(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Handle",children:[(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:l.isAI||l.panel_open,content:"Disengaged",selected:l.flushing?null:"selected",onClick:function(){return s("disengageHandle")}}),(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:l.isAI||l.panel_open,content:"Engaged",selected:l.flushing?"selected":null,onClick:function(){return s("engageHandle")}})]}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:[(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:-1===l.mode,content:"Off",selected:l.mode?null:"selected",onClick:function(){return s("pumpOff")}}),(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:-1===l.mode,content:"On",selected:l.mode?"selected":null,onClick:function(){return s("pumpOn")}})]}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Eject",children:(0,r.createComponentVNode)(2,i.Button,{icon:"sign-out-alt",disabled:l.isAI,content:"Eject Contents",onClick:function(){return s("eject")}})})]})]})})})}}]); \ No newline at end of file +var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,r,o){var i,a=n.document,u=a.createElement("link");if(t)i=t;else{var c=(a.body||a.getElementsByTagName("head")[0]).childNodes;i=c[c.length-1]}var s=a.styleSheets;if(o)for(var l in o)o.hasOwnProperty(l)&&u.setAttribute(l,o[l]);u.rel="stylesheet",u.href=e,u.media="only x",function p(e){if(a.body)return e();setTimeout((function(){p(e)}))}((function(){i.parentNode.insertBefore(u,t?i:i.nextSibling)}));var f=function h(e){for(var t=u.href,n=s.length;n--;)if(s[n].href===t)return e();setTimeout((function(){h(e)}))};function d(){u.addEventListener&&u.removeEventListener("load",d),u.media=r||"all"}return u.addEventListener&&u.addEventListener("load",d),u.onloadcssdefined=f,f(d),u}}).call(this,n(121))},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var r=n(113);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a1?t-1:0),r=1;r=0||(o[n]=e[n]);return o}(e,["className"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var r,o;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=r,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(r||(t.VNodeFlags=r={})),t.ChildFlags=o,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(o||(t.ChildFlags=o={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ByondUi=void 0;var r=n(2),o=n(9),i=n(406),a=n(20),u=n(54),c=n(13);function s(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var l=(0,u.createLogger)("ByondUi"),f=[];window.addEventListener("beforeunload",(function(){for(var e=0;e=0||(o[n]=e[n]);return o}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,m=function(e,t,n,r){if(0===e.length)return[];var i=(0,o.zipWith)(Math.min).apply(void 0,e),a=(0,o.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(i[0]=n[0],a[0]=n[1]),r!==undefined&&(i[1]=r[0],a[1]=r[1]),(0,o.map)((function(e){return(0,o.zipWith)((function(e,t,n,r){return(e-t)/(n-t)*r}))(e,i,a,t)}))(e)}(i,g,a,c);if(m.length>0){var y=m[0],b=m[m.length-1];m.push([g[0]+h,b[1]]),m.push([g[0]+h,-h]),m.push([-h,-h]),m.push([-h,y[1]])}var _=function(e){for(var t="",n=0;n=0||(o[n]=e[n]);return o}(t,["children","color","title","buttons"]);return(0,r.createComponentVNode)(2,o.Box,{mb:1,children:[(0,r.createVNode)(1,"div","Table",[(0,r.createVNode)(1,"div","Table__cell",(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Button,Object.assign({fluid:!0,color:c,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},f,{children:s}))),2),l&&(0,r.createVNode)(1,"div","Table__cell Table__cell--collapsing",l,0)],0),n&&(0,r.createComponentVNode)(2,o.Box,{mt:1,children:a})]})},a}(r.Component);t.Collapsible=a},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var r=n(2),o=n(9),i=n(13);var a=function(e){var t=e.content,n=(e.children,e.className),a=e.color,u=e.backgroundColor,c=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["content","children","className","color","backgroundColor"]);return c.color=t?null:"transparent",c.backgroundColor=a||u,(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["ColorBox",n,(0,i.computeBoxClassName)(c)]),t||".",0,Object.assign({},(0,i.computeBoxProps)(c))))};t.ColorBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var r=n(2),o=n(9),i=n(13),a=n(118);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t,n;function c(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},s.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},s.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},s.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,r.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},s.render=function(){var e=this,t=this.props,n=t.color,c=void 0===n?"default":n,s=t.over,l=t.noscroll,f=t.nochevron,d=t.width,p=(t.onClick,t.selected,t.disabled),h=u(t,["color","over","noscroll","nochevron","width","onClick","selected","disabled"]),v=h.className,g=u(h,["className"]),m=s?!this.state.open:this.state.open,y=this.state.open?(0,r.createVNode)(1,"div",(0,o.classes)([l?"Dropdown__menu-noscroll":"Dropdown__menu",s&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,r.createVNode)(1,"div","Dropdown",[(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({width:d,className:(0,o.classes)(["Dropdown__control","Button","Button--color--"+c,p&&"Button--disabled",v])},g,{onClick:function(){p&&!e.state.open||e.setOpen(!e.state.open)},children:[(0,r.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),!!f||(0,r.createVNode)(1,"span","Dropdown__arrow-button",(0,r.createComponentVNode)(2,a.Icon,{name:m?"chevron-up":"chevron-down"}),2)]}))),y],0)},c}(r.Component);t.Dropdown=c},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var r=n(2),o=n(119),i=n(9);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){var t=e.children,n=a(e,["children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table,Object.assign({},n,{children:(0,r.createComponentVNode)(2,o.Table.Row,{children:t})})))};t.Grid=u,u.defaultHooks=i.pureComponentHooks;var c=function(e){var t=e.size,n=void 0===t?1:t,i=e.style,u=a(e,["size","style"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},i)},u)))};t.GridColumn=c,u.defaultHooks=i.pureComponentHooks,u.Column=c},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var r=n(2),o=n(9),i=n(13);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){return(0,o.isFalsy)(e)?"":e},c=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).inputRef=(0,r.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,r=t.props.onInput;n||t.setEditing(!0),r&&r(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,r=t.props.onChange;n&&(t.setEditing(!1),r&&r(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,r=n.onInput,o=n.onChange,i=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),o&&o(e,e.target.value),r&&r(e,e.target.value),i&&i(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=u(t.props.value),void e.target.blur()):void 0},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=u(e))},s.componentDidUpdate=function(e,t){var n=this.state.editing,r=e.value,o=this.props.value,i=this.inputRef.current;i&&!n&&r!==o&&(i.value=u(o))},s.setEditing=function(e){this.setState({editing:e})},s.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,u=a(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),c=u.className,s=u.fluid,l=a(u,["className","fluid"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Input",s&&"Input--fluid",c])},l,{children:[(0,r.createVNode)(1,"div","Input__baseline",".",16),(0,r.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},c}(r.Component);t.Input=c},function(e,t,n){"use strict";t.__esModule=!0,t.Knob=void 0;var r=n(2),o=n(55),i=n(9),a=n(20),u=n(13),c=n(165),s=n(120);t.Knob=function(e){if(a.IS_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,l=e.maxValue,f=e.minValue,d=e.onChange,p=e.onDrag,h=e.step,v=e.stepPixelSize,g=e.suppressFlicker,m=e.unit,y=e.value,b=e.className,_=e.style,w=e.fillValue,x=e.color,E=e.ranges,C=void 0===E?{}:E,S=e.size,N=e.bipolar,k=(e.children,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children"]));return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:t,format:n,maxValue:l,minValue:f,onChange:d,onDrag:p,step:h,stepPixelSize:v,suppressFlicker:g,unit:m,value:y},{children:function(e){var t=e.dragging,n=(e.editing,e.value),a=e.displayValue,c=e.displayElement,s=e.inputElement,d=e.handleDragStart,p=(0,o.scale)(null!=w?w:a,f,l),h=(0,o.scale)(a,f,l),v=x||(0,o.keyOfMatchingRange)(null!=w?w:n,C)||"default",g=270*(h-.5);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Knob","Knob--color--"+v,N&&"Knob--bipolar",b,(0,u.computeBoxClassName)(k)]),[(0,r.createVNode)(1,"div","Knob__circle",(0,r.createVNode)(1,"div","Knob__cursorBox",(0,r.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+g+"deg)"}}),2),t&&(0,r.createVNode)(1,"div","Knob__popupValue",c,0),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,r.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,r.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":((N?2.75:2)-1.5*p)*Math.PI*50},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),s],0,Object.assign({},(0,u.computeBoxProps)(Object.assign({style:Object.assign({"font-size":S+"rem"},_)},k)),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledControls=void 0;var r=n(2),o=n(164);function i(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var a=function(e){var t=e.children,n=i(e,["children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({mx:-.5,align:"stretch",justify:"space-between"},n,{children:t})))};t.LabeledControls=a;a.Item=function(e){var t=e.label,n=e.children,a=i(e,["label","children"]);return(0,r.createComponentVNode)(2,o.Flex.Item,{mx:1,children:(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({minWidth:"52px",height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},a,{children:[(0,r.createComponentVNode)(2,o.Flex.Item),(0,r.createComponentVNode)(2,o.Flex.Item,{children:n}),(0,r.createComponentVNode)(2,o.Flex.Item,{color:"label",children:t})]})))})}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var r=n(2),o=n(9),i=n(13),a=n(163),u=function(e){var t=e.children;return(0,r.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=u,u.defaultHooks=o.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,a=e.labelColor,u=void 0===a?"label":a,c=e.color,s=e.textAlign,l=e.buttons,f=e.content,d=e.children;return(0,r.createVNode)(1,"tr",(0,o.classes)(["LabeledList__row",t]),[(0,r.createComponentVNode)(2,i.Box,{as:"td",color:u,className:(0,o.classes)(["LabeledList__cell","LabeledList__label"]),children:n?n+":":null}),(0,r.createComponentVNode)(2,i.Box,{as:"td",color:c,textAlign:s,className:(0,o.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:l?undefined:2,children:[f,d]}),l&&(0,r.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",l,0)],0)};t.LabeledListItem=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.size?(0,i.unit)(Math.max(0,e.size-1)):0;return(0,r.createVNode)(1,"tr","LabeledList__row",(0,r.createVNode)(1,"td",null,(0,r.createComponentVNode)(2,a.Divider),2,{colSpan:3,style:{"padding-top":t,"padding-bottom":t}}),2)};t.LabeledListDivider=s,s.defaultHooks=o.pureComponentHooks,u.Item=c,u.Divider=s},function(e,t,n){"use strict";t.__esModule=!0,t.NanoMap=void 0;var r=n(2),o=n(49),i=n(36),a=function(e,t){var n=(0,i.useBackend)(t).config,a=e.onClick;return(0,r.createComponentVNode)(2,o.Box,{className:"NanoMap__container",children:(0,r.createComponentVNode)(2,o.Box,{as:"img",src:n.map+"_nanomap_z1.png",style:{width:"512px",height:"512px"},onClick:a})})};t.NanoMap=a;a.Marker=function(e){var t=e.x,n=e.y,i=e.icon,a=e.tooltip,u=e.color;return(0,r.createComponentVNode)(2,o.Box,{position:"absolute",className:"NanoMap__marker",top:2*(255-n)+2+"px",left:2*t+2+"px",children:[(0,r.createComponentVNode)(2,o.Icon,{name:i,color:u,size:.5}),(0,r.createComponentVNode)(2,o.Tooltip,{content:a})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Modal=void 0;var r=n(2),o=n(9),i=n(13),a=n(162);t.Modal=function(e){var t=e.className,n=e.children,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","children"]);return(0,r.createComponentVNode)(2,a.Dimmer,{children:(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Modal",t,(0,i.computeBoxClassName)(u)]),n,0,Object.assign({},(0,i.computeBoxProps)(u))))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var r=n(2),o=n(9),i=n(13);var a=function(e){var t=e.className,n=e.color,a=e.info,u=(e.warning,e.success),c=e.danger,s=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","color","info","warning","success","danger"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["NoticeBox",n&&"NoticeBox--color--"+n,a&&"NoticeBox--type--info",u&&"NoticeBox--type--success",c&&"NoticeBox--type--danger",t])},s)))};t.NoticeBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var r=n(2),o=n(55),i=n(9),a=n(13);var u=function(e){var t=e.className,n=e.value,u=e.minValue,c=void 0===u?0:u,s=e.maxValue,l=void 0===s?1:s,f=e.color,d=e.ranges,p=void 0===d?{}:d,h=e.children,v=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","value","minValue","maxValue","color","ranges","children"]),g=(0,o.scale)(n,c,l),m=h!==undefined,y=f||(0,o.keyOfMatchingRange)(n,p)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar","ProgressBar--color--"+y,t,(0,a.computeBoxClassName)(v)]),[(0,r.createVNode)(1,"div","ProgressBar__fill ProgressBar__fill--animated",null,1,{style:{width:100*(0,o.clamp01)(g)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",m?h:(0,o.toFixed)(100*g)+"%",0)],4,Object.assign({},(0,a.computeBoxProps)(v))))};t.ProgressBar=u,u.defaultHooks=i.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var r=n(2),o=n(9),i=n(13);var a=function(e){var t=e.className,n=e.title,a=e.level,u=void 0===a?1:a,c=e.buttons,s=e.content,l=e.children,f=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","title","level","buttons","content","children"]),d=!(0,o.isFalsy)(n)||!(0,o.isFalsy)(c),p=!(0,o.isFalsy)(s)||!(0,o.isFalsy)(l);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Section","Section--level--"+u,t])},f,{children:[d&&(0,r.createVNode)(1,"div","Section__title",[(0,r.createVNode)(1,"span","Section__titleText",n,0),(0,r.createVNode)(1,"div","Section__buttons",c,0)],4),p&&(0,r.createVNode)(1,"div","Section__content",[s,l],0)]})))};t.Section=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Slider=void 0;var r=n(2),o=n(55),i=n(9),a=n(20),u=n(13),c=n(165),s=n(120);t.Slider=function(e){if(a.IS_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,l=e.maxValue,f=e.minValue,d=e.onChange,p=e.onDrag,h=e.step,v=e.stepPixelSize,g=e.suppressFlicker,m=e.unit,y=e.value,b=e.className,_=e.fillValue,w=e.color,x=e.ranges,E=void 0===x?{}:x,C=e.children,S=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","fillValue","color","ranges","children"]),N=C!==undefined;return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[1,0]},{animated:t,format:n,maxValue:l,minValue:f,onChange:d,onDrag:p,step:h,stepPixelSize:v,suppressFlicker:g,unit:m,value:y},{children:function(e){var t=e.dragging,n=(e.editing,e.value),a=e.displayValue,c=e.displayElement,s=e.inputElement,d=e.handleDragStart,p=_!==undefined&&null!==_,h=((0,o.scale)(n,f,l),(0,o.scale)(null!=_?_:a,f,l)),v=(0,o.scale)(a,f,l),g=w||(0,o.keyOfMatchingRange)(null!=_?_:n,E)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Slider","ProgressBar","ProgressBar--color--"+g,b,(0,u.computeBoxClassName)(S)]),[(0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar__fill",p&&"ProgressBar__fill--animated"]),null,1,{style:{width:100*(0,o.clamp01)(h)+"%",opacity:.4}}),(0,r.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,o.clamp01)(Math.min(h,v))+"%"}}),(0,r.createVNode)(1,"div","Slider__cursorOffset",[(0,r.createVNode)(1,"div","Slider__cursor"),(0,r.createVNode)(1,"div","Slider__pointer"),t&&(0,r.createVNode)(1,"div","Slider__popupValue",c,0)],0,{style:{width:100*(0,o.clamp01)(v)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",N?C:c,0),s],0,Object.assign({},(0,u.computeBoxProps)(S),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Tabs=void 0;var r=n(2),o=n(9),i=n(13),a=n(117);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t=e.className,n=e.vertical,a=e.children,c=u(e,["className","vertical","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Tabs",n?"Tabs--vertical":"Tabs--horizontal",t,(0,i.computeBoxClassName)(c)]),(0,r.createVNode)(1,"div","Tabs__tabBox",a,0),2,Object.assign({},(0,i.computeBoxProps)(c))))};t.Tabs=c;c.Tab=function(e){var t=e.className,n=e.selected,i=e.altSelection,c=u(e,["className","selected","altSelection"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,a.Button,Object.assign({className:(0,o.classes)(["Tabs__tab",n&&"Tabs__tab--selected",i&&n&&"Tabs__tab--altSelection",t]),selected:!i&&n,color:"transparent"},c)))}},function(e,t,n){"use strict";function r(e){var t=0;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e)))return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){var r={"./AtmosAlertConsole.js":425,"./CrewMonitor.js":426,"./DisposalBin.js":427,"./NtosStationAlertConsole.js":428,"./StationAlertConsole.js":167};function o(e){var t=i(e);return n(t)}function i(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=i,e.exports=o,o.id=424},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var r=n(2),o=n(36),i=n(49),a=n(48);t.AtmosAlertConsole=function(e,t){var n=(0,o.useBackend)(t),u=n.act,c=n.data,s=c.priority||[],l=c.minor||[];return(0,r.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,r.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,r.createComponentVNode)(2,i.Section,{title:"Alarms",children:(0,r.createVNode)(1,"ul",null,[0===s.length&&(0,r.createVNode)(1,"li","color-good","No Priority Alerts",16),s.map((function(e){return(0,r.createVNode)(1,"li",null,(0,r.createComponentVNode)(2,i.Button,{icon:"times",content:e,color:"bad",onClick:function(){return u("clear",{zone:e})}}),2,null,e)})),l.length>0&&(0,r.createVNode)(1,"li","color-good","No Minor Alerts",16),l.map((function(e){return(0,r.createVNode)(1,"li",null,(0,r.createComponentVNode)(2,i.Button,{icon:"times",content:e,color:"average",onClick:function(){return u("clear",{zone:e})}}),2,null,e)}))],0)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CrewMonitor=void 0;var r=n(2),o=n(113),i=n(36),a=n(48),u=n(49),c=n(119);t.CrewMonitor=function(e,t){var n=(0,i.useBackend)(t),s=n.act,l=n.data,f=(0,o.sortBy)((function(e){return e.name}))(l.crewmembers||[]);return(0,r.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,r.createComponentVNode)(2,a.Window.Content,{children:[f.filter((function(e){return 3===e.sensor_type})).map((function(e){return(0,r.createComponentVNode)(2,u.NanoMap.Marker,{x:e.x,y:e.y,icon:"circle",tooltip:e.name,color:e.dead?"red":"green"},e.ref)})),(0,r.createComponentVNode)(2,u.NanoMap),(0,r.createComponentVNode)(2,u.Box,{className:"NanoMap__contentOffset",children:(0,r.createComponentVNode)(2,u.Box,{bold:!0,m:2,children:(0,r.createComponentVNode)(2,u.Table,{children:[(0,r.createComponentVNode)(2,u.Table.Row,{header:!0,children:[(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Name"}),(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Status"}),(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Location"})]}),f.map((function(e){return(0,r.createComponentVNode)(2,u.Table.Row,{children:[(0,r.createComponentVNode)(2,c.TableCell,{children:[e.name," (",e.assignment,")"]}),(0,r.createComponentVNode)(2,c.TableCell,{children:[(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:e.dead?"red":"green",children:e.dead?"Deceased":"Living"}),e.sensor_type>=2?(0,r.createComponentVNode)(2,u.Box,{inline:!0,children:["(",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"red",children:e.brute}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"orange",children:e.fire}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"green",children:e.tox}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"blue",children:e.oxy}),")"]}):null]}),(0,r.createComponentVNode)(2,c.TableCell,{children:3===e.sensor_type?l.isAI?(0,r.createComponentVNode)(2,u.Button,{fluid:!0,content:e.area+" ("+e.x+", "+e.y+")",onClick:function(){return s("track",{track:e.ref})}}):e.area+" ("+e.x+", "+e.y+")":"Not Available"})]},e.name)}))]})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalBin=void 0;var r=n(2),o=n(36),i=n(49),a=n(48);t.DisposalBin=function(e,t){var n,u,c=(0,o.useBackend)(t),s=c.act,l=c.data;return 2===l.mode?(n="good",u="Ready"):l.mode<=0?(n="bad",u="N/A"):1===l.mode?(n="average",u="Pressurizing"):(n="average",u="Idle"),(0,r.createComponentVNode)(2,a.Window,{children:(0,r.createComponentVNode)(2,a.Window.Content,{children:(0,r.createComponentVNode)(2,i.Section,{children:[(0,r.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Status"}),(0,r.createComponentVNode)(2,i.LabeledList,{children:[(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"State",color:n,children:u}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:(0,r.createComponentVNode)(2,i.ProgressBar,{ranges:{bad:[-Infinity,0],average:[0,99],good:[99,Infinity]},value:l.pressure,minValue:0,maxValue:100})})]}),(0,r.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Controls"}),(0,r.createComponentVNode)(2,i.LabeledList,{children:[(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Handle",children:[(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:l.isAI||l.panel_open,content:"Disengaged",selected:l.flushing?null:"selected",onClick:function(){return s("disengageHandle")}}),(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:l.isAI||l.panel_open,content:"Engaged",selected:l.flushing?"selected":null,onClick:function(){return s("engageHandle")}})]}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:[(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:-1===l.mode,content:"Off",selected:l.mode?null:"selected",onClick:function(){return s("pumpOff")}}),(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:-1===l.mode,content:"On",selected:l.mode?"selected":null,onClick:function(){return s("pumpOn")}})]}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Eject",children:(0,r.createComponentVNode)(2,i.Button,{icon:"sign-out-alt",disabled:l.isAI,content:"Eject Contents",onClick:function(){return s("eject")}})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosStationAlertConsole=void 0;var r=n(2),o=n(48),i=n(167);t.NtosStationAlertConsole=function(){return(0,r.createComponentVNode)(2,o.NtosWindow,{resizable:!0,children:(0,r.createComponentVNode)(2,o.NtosWindow.Content,{scrollable:!0,children:(0,r.createComponentVNode)(2,i.StationAlertConsoleContent)})})}}]); \ No newline at end of file From 86cc4b49aea306ba199320a5ebcc3fb77e8c0fb1 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 1 Jul 2020 19:45:54 -0400 Subject: [PATCH 02/19] fixes --- code/game/area/ai_monitored.dm | 32 ++++++++----- code/game/machinery/alarm.dm | 33 +++++++------ code/game/machinery/camera/camera.dm | 11 +++-- code/game/machinery/camera/motion.dm | 48 +++++++++---------- code/game/machinery/camera/presets.dm | 8 ++-- code/game/machinery/computer/station_alert.dm | 2 + 6 files changed, 74 insertions(+), 60 deletions(-) diff --git a/code/game/area/ai_monitored.dm b/code/game/area/ai_monitored.dm index 8f65ac634f4..66ddecdd1fe 100644 --- a/code/game/area/ai_monitored.dm +++ b/code/game/area/ai_monitored.dm @@ -1,24 +1,30 @@ /area/ai_monitored name = "AI Monitored Area" - var/obj/machinery/camera/motioncamera = null + var/list/motioncameras = list() + var/list/motionTargets = list() - -/area/ai_monitored/LateInitialize() +/area/ai_monitored/Initialize(mapload) . = ..() - // locate and store the motioncamera - for(var/obj/machinery/camera/M in src) - if(M.isMotion()) - motioncamera = M - M.area_motion = src - break + if(mapload) + for(var/obj/machinery/camera/M in src) + if(M.isMotion()) + motioncameras.Add(M) + M.set_area_motion(src) /area/ai_monitored/Entered(atom/movable/O) ..() - if(ismob(O) && motioncamera) - motioncamera.newTarget(O) + if(ismob(O) && motioncameras.len) + for(var/X in motioncameras) + var/obj/machinery/camera/cam = X + cam.newTarget(O) + return /area/ai_monitored/Exited(atom/movable/O) - if(ismob(O) && motioncamera) - motioncamera.lostTarget(O) + ..() + if(ismob(O) && motioncameras.len) + for(var/X in motioncameras) + var/obj/machinery/camera/cam = X + cam.lostTargetRef(O.UID()) + return diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 9fda2cfe45c..4dac9bce1dd 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -314,7 +314,7 @@ temperature_dangerlevel ) - if(old_danger_level!=danger_level) + if(old_danger_level != danger_level) apply_danger_level() if(mode == AALARM_MODE_REPLACEMENT && environment_pressure < ONE_ATMOSPHERE * 0.05) @@ -534,31 +534,34 @@ "checks"= 0, )) -/obj/machinery/alarm/proc/apply_danger_level(var/new_danger_level) - if(report_danger_level && alarm_area.atmosalert(new_danger_level, src)) - post_alert(new_danger_level) +/obj/machinery/alarm/proc/apply_danger_level() + var/new_area_danger_level = 0 + for(var/obj/machinery/alarm/AA in alarm_area) + if(!(AA.stat & (NOPOWER|BROKEN)) && !AA.shorted) + new_area_danger_level = max(new_area_danger_level, AA.danger_level) + if(report_danger_level && alarm_area.atmosalert(new_area_danger_level, src)) //if area was in normal state or if area was in alert state + post_alert(new_area_danger_level) update_icon() /obj/machinery/alarm/proc/post_alert(alert_level) var/datum/radio_frequency/frequency = SSradio.return_frequency(alarm_frequency) + if(!frequency) return - var/datum/signal/alert_signal = new - alert_signal.source = src - alert_signal.transmission_method = 1 - alert_signal.data["zone"] = alarm_area.name - alert_signal.data["type"] = "Atmospheric" + var/datum/signal/alert_signal = new(list( + "zone" = get_area_name(src), + "type" = "Atmospheric")) - if(alert_level==2) + if(alert_level == 2) alert_signal.data["alert"] = "severe" - else if(alert_level==1) + else if(alert_level == 1) alert_signal.data["alert"] = "minor" - else if(alert_level==0) + else if(alert_level == 0) alert_signal.data["alert"] = "clear" - frequency.post_signal(src, alert_signal) + frequency.post_signal(src, alert_signal, range = -1) /////////////// //END HACKING// @@ -889,14 +892,14 @@ if(href_list["atmos_alarm"]) if(alarm_area.atmosalert(ATMOS_ALARM_DANGER, src)) - apply_danger_level(ATMOS_ALARM_DANGER) + post_alert(2) alarmActivated = 1 update_icon() return 1 if(href_list["atmos_reset"]) if(alarm_area.atmosalert(ATMOS_ALARM_NONE, src, TRUE)) - apply_danger_level(ATMOS_ALARM_NONE) + post_alert(2) alarmActivated = 0 update_icon() return 1 diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 6b0b06d1124..6d8da8a20f5 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -36,7 +36,7 @@ var/in_use_lights = 0 // TO BE IMPLEMENTED var/toggle_sound = 'sound/items/wirecutter.ogg' -/obj/machinery/camera/Initialize() +/obj/machinery/camera/Initialize(mapload) . = ..() wires = new(src) assembly = new(src) @@ -53,6 +53,9 @@ toggle_cam(null, FALSE) wires.CutAll() +/obj/machinery/camera/proc/set_area_motion(area/A) + area_motion = A + /obj/machinery/camera/Destroy() toggle_cam(null, FALSE) //kick anyone viewing out QDEL_NULL(assembly) @@ -68,7 +71,7 @@ LAZYREMOVE(myarea.cameras, src) var/area/ai_monitored/A = get_area(src) if(istype(A)) - A.motioncamera = null + A.motioncameras -= src area_motion = null cancelCameraAlarm() cancelAlarm() @@ -432,8 +435,8 @@ /obj/machinery/camera/portable //Cameras which are placed inside of things, such as helmets. var/turf/prev_turf -/obj/machinery/camera/portable/New() - ..() +/obj/machinery/camera/portable/Initialize(mapload) + . = ..() assembly.state = 0 //These cameras are portable, and so shall be in the portable state if removed. assembly.anchored = 0 assembly.update_icon() diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index 1525c1e6fd0..1c3f4f30405 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -1,45 +1,45 @@ /obj/machinery/camera - - var/list/motionTargets = list() + var/list/localMotionTargets = list() var/detectTime = 0 var/area/ai_monitored/area_motion = null - var/alarm_delay = 100 - + var/alarm_delay = 30 // Don't forget, there's another 3 seconds in queueAlarm() /obj/machinery/camera/process() // motion camera event loop - if(stat & (EMPED|NOPOWER)) - return if(!isMotion()) . = PROCESS_KILL return + if(stat & (EMPED|NOPOWER)) + return if(detectTime > 0) var/elapsed = world.time - detectTime if(elapsed > alarm_delay) triggerAlarm() else if(detectTime == -1) - for(var/mob/target in motionTargets) - if(target.stat == 2) - lostTarget(target) - // If not detecting with motion camera... - if(!area_motion) - // See if the camera is still in range - if(!in_range(src, target)) - // If they aren't in range, lose the target. - lostTarget(target) + for(var/thing in getTargetList()) + var/mob/target = locateUID(thing) + if(QDELETED(target) || target.stat == DEAD || (!area_motion && !in_range(src, target))) + //If not part of a monitored area and the camera is not in range or the target is dead + lostTargetRef(thing) -/obj/machinery/camera/proc/newTarget(var/mob/target) - if(istype(target, /mob/living/silicon/ai)) return 0 +/obj/machinery/camera/proc/getTargetList() + if(area_motion) + return area_motion.motionTargets + return localMotionTargets + +/obj/machinery/camera/proc/newTarget(mob/target) + if(isAI(target)) + return FALSE if(detectTime == 0) detectTime = world.time // start the clock - if(!(target in motionTargets)) - motionTargets += target - return 1 + var/list/targets = getTargetList() + targets |= target.UID() + return TRUE -/obj/machinery/camera/proc/lostTarget(var/mob/target) - if(target in motionTargets) - motionTargets -= target - if(motionTargets.len == 0) +/obj/machinery/camera/proc/lostTargetRef(uid) + var/list/targets = getTargetList() + targets -= uid + if(targets.len == 0) cancelAlarm() /obj/machinery/camera/proc/cancelAlarm() diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index b7ae75cd13f..ac0ea56f814 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -2,7 +2,7 @@ // EMP -/obj/machinery/camera/emp_proof/Initialize() +/obj/machinery/camera/emp_proof/Initialize(mapload) . = ..() upgradeEmpProof() @@ -11,19 +11,19 @@ /obj/machinery/camera/xray icon_state = "xraycam" // Thanks to Krutchen for the icons. -/obj/machinery/camera/xray/Initialize() +/obj/machinery/camera/xray/Initialize(mapload) . = ..() upgradeXRay() // MOTION -/obj/machinery/camera/motion/Initialize() +/obj/machinery/camera/motion/Initialize(mapload) . = ..() upgradeMotion() // ALL UPGRADES -/obj/machinery/camera/all/Initialize() +/obj/machinery/camera/all/Initialize(mapload) . = ..() upgradeEmpProof() upgradeXRay() diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 75cfbdd3e83..1a54b8a9e59 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -70,6 +70,7 @@ else if(O && istype(O, /obj/machinery/camera)) C = O L[A.name] = list(A, (C ? C : O), list(source)) + update_icon() return TRUE @@ -87,6 +88,7 @@ if(srcs.len == 0) cleared = TRUE L -= I + update_icon() return !cleared /obj/machinery/computer/station_alert/update_icon() From 2019e3bfbb95997b84c9a0df89116aacc741814e Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 1 Jul 2020 21:09:33 -0400 Subject: [PATCH 03/19] fixes --- code/__HELPERS/game.dm | 10 +++++----- code/game/machinery/alarm.dm | 10 ++++++---- code/game/machinery/computer/atmos_alert.dm | 2 +- code/modules/power/apc.dm | 3 +-- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index d30db22e3f7..8cbcc291d99 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -5,11 +5,11 @@ var/turf/T = get_turf(A) return T ? T.loc : null -/proc/get_area_name(N) //get area by its name - for(var/area/A in world) - if(A.name == N) - return A - return 0 +/proc/get_area_name(atom/X, format_text = FALSE) + var/area/A = isarea(X) ? X : get_area(X) + if(!A) + return null + return format_text ? format_text(A.name) : A.name /proc/get_location_name(atom/X, format_text = FALSE) var/area/A = isarea(X) ? X : get_area(X) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 4dac9bce1dd..81c98409041 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -550,9 +550,11 @@ if(!frequency) return - var/datum/signal/alert_signal = new(list( - "zone" = get_area_name(src), - "type" = "Atmospheric")) + var/datum/signal/alert_signal = new + alert_signal.source = src + alert_signal.transmission_method = 1 + alert_signal.data["zone"] = get_area_name(src) + alert_signal.data["type"] = "Atmospheric" if(alert_level == 2) alert_signal.data["alert"] = "severe" @@ -561,7 +563,7 @@ else if(alert_level == 0) alert_signal.data["alert"] = "clear" - frequency.post_signal(src, alert_signal, range = -1) + frequency.post_signal(src, alert_signal) /////////////// //END HACKING// diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index ea47d19a7e2..896b2b42a1d 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -60,7 +60,7 @@ /obj/machinery/computer/atmos_alert/proc/set_frequency(new_frequency) SSradio.remove_object(src, receive_frequency) receive_frequency = new_frequency - radio_connection = SSradio.add_object(src, receive_frequency, filter = RADIO_ATMOSIA) + radio_connection = SSradio.add_object(src, receive_frequency, RADIO_ATMOSIA) /obj/machinery/computer/atmos_alert/receive_signal(datum/signal/signal) if(!signal) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index fde884d0a85..c19d0418dca 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -220,8 +220,7 @@ area = A name = "\improper [area.name] APC" else - area = get_area_name(areastring) - name = "\improper [area.name] APC" + name = "\improper [get_area_name(area, TRUE)] APC" area.apc |= src update_icon() From 85dc9136c63f6b9fc28efdd4127b0a0ed01de8f4 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 1 Jul 2020 22:07:30 -0400 Subject: [PATCH 04/19] singularity investigate --- code/modules/power/singularity/investigate.dm | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 code/modules/power/singularity/investigate.dm diff --git a/code/modules/power/singularity/investigate.dm b/code/modules/power/singularity/investigate.dm new file mode 100644 index 00000000000..4835e09411c --- /dev/null +++ b/code/modules/power/singularity/investigate.dm @@ -0,0 +1,4 @@ +/area/engine/engineering/poweralert(state, source) + if(state != poweralm) + investigate_log("has a power alarm!", "singulo") + ..() From 9fbd9cb14bebdc0f3afd2f4e503120831ba20bde Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Wed, 1 Jul 2020 22:24:27 -0400 Subject: [PATCH 05/19] derp --- paradise.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/paradise.dme b/paradise.dme index 55936d6cb6b..4b59798bb85 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2192,6 +2192,7 @@ #include "code\modules\power\singularity\emitter.dm" #include "code\modules\power\singularity\field_generator.dm" #include "code\modules\power\singularity\generator.dm" +#include "code\modules\power\singularity\investigate.dm" #include "code\modules\power\singularity\narsie.dm" #include "code\modules\power\singularity\singularity.dm" #include "code\modules\power\singularity\particle_accelerator\particle.dm" From 773190d262b58f3471fed52c6514abd94a55e85b Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Thu, 2 Jul 2020 08:18:23 -0400 Subject: [PATCH 06/19] fixes --- code/game/machinery/computer/atmos_alert.dm | 2 +- code/game/machinery/computer/station_alert.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 896b2b42a1d..844fa01bf22 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -23,7 +23,7 @@ /obj/machinery/computer/atmos_alert/attack_hand(mob/user) tgui_interact(user) -/obj/machinery/computer/atmos_alert/tgui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.default_state) +/obj/machinery/computer/atmos_alert/tgui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.tgui_default_state) ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) ui = new(user, src, ui_key, "AtmosAlertConsole", name, ui_x, ui_y, master_ui, state) diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 1a54b8a9e59..2c795052c81 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -30,7 +30,7 @@ return tgui_interact(user) -/obj/machinery/computer/station_alert/tgui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.default_state) +/obj/machinery/computer/station_alert/tgui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.tgui_default_state) ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) ui = new(user, src, ui_key, "StationAlertConsole", name, ui_x, ui_y, master_ui, state) From 2fa1217d5c2e66d3d30cf32f9cd4656ca0a6c174 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Thu, 2 Jul 2020 08:34:59 -0400 Subject: [PATCH 07/19] styling --- code/game/area/areas.dm | 14 +++---- code/game/machinery/computer/station_alert.dm | 4 +- code/modules/mob/living/silicon/ai/ai.dm | 38 +++++++++---------- .../modules/mob/living/silicon/robot/robot.dm | 23 +++++------ .../file_system/programs/engineering/alarm.dm | 16 ++++---- 5 files changed, 48 insertions(+), 47 deletions(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index db62e8373ef..9dbf7997d36 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -196,7 +196,7 @@ */ /area/proc/atmosalert(danger_level, obj/source) if(danger_level != atmosalm) - if (danger_level==2) + if(danger_level == 2) for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item @@ -208,7 +208,7 @@ var/datum/computer_file/program/alarm_monitor/p = item p.triggerAlarm("Atmosphere", src, cameras, source) */ - else if(src.atmosalm == 2) + else if(atmosalm == 2) for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item aiPlayer.cancelAlarm("Atmosphere", src, source) @@ -219,9 +219,9 @@ var/datum/computer_file/program/alarm_monitor/p = item p.cancelAlarm("Atmosphere", src, source) */ - src.atmosalm = danger_level - return 1 - return 0 + atmosalm = danger_level + return TRUE + return FALSE /** * Try to close all the firedoors in the area @@ -252,7 +252,7 @@ * Also starts the area processing on SSobj */ /area/proc/firealert(obj/source) - if(always_unpowered == 1) //no fire alarms in space/asteroid + if(always_unpowered) //no fire alarms in space/asteroid return if(!fire) @@ -363,7 +363,7 @@ var/mob/living/silicon/SILICON = i if(SILICON.triggerAlarm("Burglar", src, cameras, trigger)) //Cancel silicon alert after 1 minute - addtimer(CALLBACK(SILICON, /mob/living/silicon.proc/cancelAlarm,"Burglar",src,trigger), 600) + addtimer(CALLBACK(SILICON, /mob/living/silicon.proc/cancelAlarm, "Burglar", src, trigger), 600) /** * Trigger the fire alarm visual affects in an area diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 2c795052c81..4b64300e048 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -79,8 +79,8 @@ return var/list/L = alarms[class] var/cleared = FALSE - for (var/I in L) - if (I == A.name) + for(var/I in L) + if(I == A.name) var/list/alarm = L[I] var/list/srcs = alarm[3] if(origin in srcs) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 3a506a28690..c4985f7184b 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -256,7 +256,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( dat += "" if(C && istype(C, /list)) var/dat2 = "" - for (var/obj/machinery/camera/I in C) + for(var/obj/machinery/camera/I in C) dat2 += text("[]
[]", (dat2=="") ? "" : " | ", I.c_tag) dat += text("-- [] ([])", A.name, (dat2!="") ? dat2 : "No Camera") else if(C && istype(C, /obj/machinery/camera)) @@ -641,7 +641,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( src << browse(null, t1) if(href_list["switchcamera"]) switchCamera(locate(href_list["switchcamera"])) in GLOB.cameranet.cameras - if (href_list["showalerts"]) + if(href_list["showalerts"]) ai_alerts() if(href_list["show_paper"]) if(last_paper_seen) @@ -821,29 +821,29 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(alarmsource.z != z) return var/list/L = alarms[class] - for (var/I in L) - if (I == A.name) + for(var/I in L) + if(I == A.name) var/list/alarm = L[I] var/list/sources = alarm[3] - if (!(alarmsource in sources)) + if(!(alarmsource in sources)) sources += alarmsource - return 1 + return TRUE var/obj/machinery/camera/C = null var/list/CL = null - if (O && istype(O, /list)) + if(O && istype(O, /list)) CL = O - if (CL.len == 1) + if(CL.len == 1) C = CL[1] - else if (O && istype(O, /obj/machinery/camera)) + else if(O && istype(O, /obj/machinery/camera)) C = O L[A.name] = list(A, (C) ? C : O, list(alarmsource)) - if (O) - if (C && C.can_use()) + if(O) + if(C && C.can_use()) queueAlarm("--- [class] alarm detected in [A.name]! ([C.c_tag])", class) - else if (CL && CL.len) + else if(CL && CL.len) var/foo = 0 var/dat2 = "" - for (var/obj/machinery/camera/I in CL) + for(var/obj/machinery/camera/I in CL) dat2 += text("[][]", (!foo) ? "" : " | ", I.c_tag) //I'm not fixing this shit... foo = 1 queueAlarm(text ("--- [] alarm detected in []! ([])", class, A.name, dat2), class) @@ -853,23 +853,23 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( queueAlarm(text("--- [] alarm detected in []! (No Camera)", class, A.name), class) if(viewalerts) ai_alerts() - return 1 + return TRUE /mob/living/silicon/ai/cancelAlarm(class, area/A, obj/origin) var/list/L = alarms[class] var/cleared = 0 - for (var/I in L) - if (I == A.name) + for(var/I in L) + if(I == A.name) var/list/alarm = L[I] var/list/srcs = alarm[3] - if (origin in srcs) + if(origin in srcs) srcs -= origin - if (srcs.len == 0) + if(srcs.len == 0) cleared = 1 L -= I if(cleared) queueAlarm("--- [class] alarm in [A.name] has been cleared.", class, 0) - if (viewalerts) + if(viewalerts) ai_alerts() return !cleared diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 6fa22aed5ab..49eb916ce0f 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -553,8 +553,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( for(var/cat in alarms) dat += text("[cat]
\n") var/list/L = alarms[cat] - if (L.len) - for (var/alarm in L) + if(L.len) + for(var/alarm in L) var/list/alm = L[alarm] var/area/A = alm[1] dat += "
" @@ -633,37 +633,37 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(alarmsource.z != z) return if(stat == DEAD) - return 1 + return TRUE var/list/L = alarms[class] for(var/I in L) - if (I == A.name) + if(I == A.name) var/list/alarm = L[I] var/list/sources = alarm[3] - if (!(alarmsource in sources)) + if(!(alarmsource in sources)) sources += alarmsource - return 1 + return TRUE var/obj/machinery/camera/C = null var/list/CL = null if(O && istype(O, /list)) CL = O - if (CL.len == 1) + if(CL.len == 1) C = CL[1] else if(O && istype(O, /obj/machinery/camera)) C = O L[A.name] = list(A, (C) ? C : O, list(alarmsource)) queueAlarm(text("--- [class] alarm detected in [A.name]!"), class) - return 1 + return TRUE /mob/living/silicon/robot/cancelAlarm(class, area/A, obj/origin) var/list/L = alarms[class] var/cleared = 0 for(var/I in L) - if (I == A.name) + if(I == A.name) var/list/alarm = L[I] var/list/srcs = alarm[3] - if (origin in srcs) + if(origin in srcs) srcs -= origin - if (srcs.len == 0) + if(srcs.len == 0) cleared = 1 L -= I if(cleared) @@ -1106,6 +1106,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( //Show alerts window if user clicked on "Show alerts" in chat if(href_list["showalerts"]) robot_alerts() + return TRUE if(href_list["deact"]) var/obj/item/O = locate(href_list["deact"]) diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm index 87576935e06..b2050f0a891 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm @@ -48,17 +48,17 @@ var/list/L = alarms[class] for(var/I in L) - if (I == A.name) + if(I == A.name) var/list/alarm = L[I] var/list/sources = alarm[3] - if (!(source in sources)) + if(!(source in sources)) sources += source - return 1 + return TRUE var/obj/machinery/camera/C = null var/list/CL = null if(O && istype(O, /list)) CL = O - if (CL.len == 1) + if(CL.len == 1) C = CL[1] else if(O && istype(O, /obj/machinery/camera)) C = O @@ -66,23 +66,23 @@ update_alarm_display() - return 1 + return TRUE /datum/computer_file/program/alarm_monitor/proc/cancelAlarm(class, area/A, obj/origin) var/list/L = alarms[class] var/cleared = 0 var/arealevelalarm = FALSE // set to TRUE for alarms that set/clear whole areas - if(class=="Fire") + if(class == "Fire") arealevelalarm = TRUE for(var/I in L) if(I == A.name) if(!arealevelalarm) // the traditional behaviour var/list/alarm = L[I] var/list/srcs = alarm[3] - if (origin in srcs) + if(origin in srcs) srcs -= origin - if (srcs.len == 0) + if(srcs.len == 0) cleared = 1 L -= I else From cfe345a8f618767df5c35668118aa6d7795eb24a Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Thu, 2 Jul 2020 09:32:12 -0400 Subject: [PATCH 08/19] final fixes --- code/datums/wires/alarm.dm | 16 ++++++++-------- code/game/area/areas.dm | 4 ++-- code/game/machinery/alarm.dm | 14 +++++++------- code/game/machinery/computer/atmos_alert.dm | 10 ++++++---- .../tgui/interfaces/AtmosAlertConsole.js | 2 +- tgui/packages/tgui/public/tgui.bundle.js | 2 +- 6 files changed, 25 insertions(+), 23 deletions(-) diff --git a/code/datums/wires/alarm.dm b/code/datums/wires/alarm.dm index f6b49b0dd99..4f8d086a659 100644 --- a/code/datums/wires/alarm.dm +++ b/code/datums/wires/alarm.dm @@ -13,16 +13,16 @@ switch(index) if(AALARM_WIRE_IDSCAN) return "ID Scan" - + if(AALARM_WIRE_POWER) return "Power" - + if(AALARM_WIRE_SYPHON) return "Syphon" - + if(AALARM_WIRE_AI_CONTROL) return "AI Control" - + if(AALARM_WIRE_AALARM) return "Atmospherics Alarm" @@ -64,8 +64,8 @@ // to_chat(world, "Syphon Wire Cut") if(AALARM_WIRE_AALARM) - if(A.alarm_area.atmosalert(2, A)) - A.post_alert(2) + if(A.alarm_area.atmosalert(ATMOS_ALARM_DANGER, A)) + A.post_alert(ATMOS_ALARM_DANGER) A.update_icon() ..() @@ -107,7 +107,7 @@ if(AALARM_WIRE_AALARM) // to_chat(world, "Aalarm wire pulsed") - if(A.alarm_area.atmosalert(0, A)) - A.post_alert(0) + if(A.alarm_area.atmosalert(ATMOS_ALARM_NONE, A)) + A.post_alert(ATMOS_ALARM_NONE) A.update_icon() ..() diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 9dbf7997d36..e06bc99e2cc 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -196,7 +196,7 @@ */ /area/proc/atmosalert(danger_level, obj/source) if(danger_level != atmosalm) - if(danger_level == 2) + if(danger_level == ATMOS_ALARM_DANGER) for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item @@ -208,7 +208,7 @@ var/datum/computer_file/program/alarm_monitor/p = item p.triggerAlarm("Atmosphere", src, cameras, source) */ - else if(atmosalm == 2) + else if(atmosalm == ATMOS_ALARM_DANGER) for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item aiPlayer.cancelAlarm("Atmosphere", src, source) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 81c98409041..11e67fd1678 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -535,7 +535,7 @@ )) /obj/machinery/alarm/proc/apply_danger_level() - var/new_area_danger_level = 0 + var/new_area_danger_level = ATMOS_ALARM_NONE for(var/obj/machinery/alarm/AA in alarm_area) if(!(AA.stat & (NOPOWER|BROKEN)) && !AA.shorted) new_area_danger_level = max(new_area_danger_level, AA.danger_level) @@ -553,14 +553,14 @@ var/datum/signal/alert_signal = new alert_signal.source = src alert_signal.transmission_method = 1 - alert_signal.data["zone"] = get_area_name(src) + alert_signal.data["zone"] = get_area_name(src, TRUE) alert_signal.data["type"] = "Atmospheric" - if(alert_level == 2) + if(alert_level == ATMOS_ALARM_DANGER) alert_signal.data["alert"] = "severe" - else if(alert_level == 1) + else if(alert_level == ATMOS_ALARM_WARNING) alert_signal.data["alert"] = "minor" - else if(alert_level == 0) + else if(alert_level == ATMOS_ALARM_NONE) alert_signal.data["alert"] = "clear" frequency.post_signal(src, alert_signal) @@ -894,14 +894,14 @@ if(href_list["atmos_alarm"]) if(alarm_area.atmosalert(ATMOS_ALARM_DANGER, src)) - post_alert(2) + post_alert(ATMOS_ALARM_DANGER) alarmActivated = 1 update_icon() return 1 if(href_list["atmos_reset"]) if(alarm_area.atmosalert(ATMOS_ALARM_NONE, src, TRUE)) - post_alert(2) + post_alert(ATMOS_ALARM_NONE) alarmActivated = 0 update_icon() return 1 diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 844fa01bf22..0be4aa0449b 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -34,10 +34,10 @@ data["priority"] = list() for(var/zone in priority_alarms) - data["priority"] += zone + data["priority"] |= zone data["minor"] = list() for(var/zone in minor_alarms) - data["minor"] += zone + data["minor"] |= zone return data @@ -76,12 +76,14 @@ priority_alarms -= zone if(severity == "severe") priority_alarms += zone - else if (severity == "minor") + else if(severity == "minor") minor_alarms += zone update_icon() /obj/machinery/computer/atmos_alert/update_icon() - if(priority_alarms.len) + if(length(priority_alarms)) + icon_screen = "alert:2" + else if(length(minor_alarms)) icon_screen = "alert:1" else icon_screen = "alert:0" diff --git a/tgui/packages/tgui/interfaces/AtmosAlertConsole.js b/tgui/packages/tgui/interfaces/AtmosAlertConsole.js index 58d4cc74563..8db992f61b5 100644 --- a/tgui/packages/tgui/interfaces/AtmosAlertConsole.js +++ b/tgui/packages/tgui/interfaces/AtmosAlertConsole.js @@ -25,7 +25,7 @@ export const AtmosAlertConsole = (props, context) => { onClick={() => act('clear', { zone: alert })} /> ))} - {minorAlerts.length > 0 && ( + {minorAlerts.length === 0 && (
  • No Minor Alerts
  • diff --git a/tgui/packages/tgui/public/tgui.bundle.js b/tgui/packages/tgui/public/tgui.bundle.js index 686bce0d285..9a1a4bdf420 100644 --- a/tgui/packages/tgui/public/tgui.bundle.js +++ b/tgui/packages/tgui/public/tgui.bundle.js @@ -2,4 +2,4 @@ /*! (C) WebReflection Mit Style License */ if(!document.createEvent){var t,n=!0,r=!1,o="__IE8__"+Math.random(),i=Object.defineProperty||function(e,t,n){e[t]=n.value},a=Object.defineProperties||function(t,n){for(var r in n)if(c.call(n,r))try{i(t,r,n[r])}catch(o){e.console}},u=Object.getOwnPropertyDescriptor,c=Object.prototype.hasOwnProperty,s=e.Element.prototype,l=e.Text.prototype,f=/^[a-z]+$/,d=/loaded|complete/,p={},h=document.createElement("div"),v=document.documentElement,g=v.removeAttribute,m=v.setAttribute,y=function(e){return{enumerable:!0,writable:!0,configurable:!0,value:e}};E(e.HTMLCommentElement.prototype,s,"nodeValue"),E(e.HTMLScriptElement.prototype,null,"text"),E(l,null,"nodeValue"),E(e.HTMLTitleElement.prototype,null,"text"),i(e.HTMLStyleElement.prototype,"textContent",(t=u(e.CSSStyleSheet.prototype,"cssText"),x((function(){return t.get.call(this.styleSheet)}),(function(e){t.set.call(this.styleSheet,e)}))));var b=/\b\s*alpha\s*\(\s*opacity\s*=\s*(\d+)\s*\)/;i(e.CSSStyleDeclaration.prototype,"opacity",{get:function(){var e=this.filter.match(b);return e?(e[1]/100).toString():""},set:function(e){this.zoom=1;var t=!1;e=e<1?" alpha(opacity="+Math.round(100*e)+")":"",this.filter=this.filter.replace(b,(function(){return t=!0,e})),!t&&e&&(this.filter+=e)}}),a(s,{textContent:{get:S,set:A},firstElementChild:{get:function(){for(var e=this.childNodes||[],t=0,n=e.length;t3?u(a):null,b=String(a.key),_=String(a.char),w=a.location,x=a.keyCode||(a.keyCode=b)&&b.charCodeAt(0)||0,E=a.charCode||(a.charCode=_)&&_.charCodeAt(0)||0,C=a.bubbles,S=a.cancelable,N=a.repeat,k=a.locale,O=a.view||e;if(a.which||(a.which=a.keyCode),"initKeyEvent"in d)d.initKeyEvent(t,C,S,O,p,v,h,g,x,E);else if(0>>0),t=Element.prototype,n=t.querySelector,r=t.querySelectorAll;function o(t,n,r){t.setAttribute(e,null);var o=n.call(t,String(r).replace(/(^|,\s*)(:scope([ >]|$))/g,(function(t,n,r,o){return n+"["+e+"]"+(o||" ")})));return t.removeAttribute(e),o}t.querySelector=function(e){return o(this,n,e)},t.querySelectorAll=function(e){return o(this,r,e)}}()}}(window),function(e){var t=e.WeakMap||function(){var e,t=0,n=!1,r=!1;function o(t,o,i){r=i,n=!1,e=undefined,t.dispatchEvent(o)}function i(e){this.value=e}function u(){t++,this.__ce__=new a("@DOMMap:"+t+Math.random())}return i.prototype.handleEvent=function(t){n=!0,r?t.currentTarget.removeEventListener(t.type,this,!1):e=this.value},u.prototype={constructor:u,"delete":function(e){return o(e,this.__ce__,!0),n},get:function(t){o(t,this.__ce__,!1);var n=e;return e=undefined,n},has:function(e){return o(e,this.__ce__,!1),n},set:function(e,t){return o(e,this.__ce__,!0),e.addEventListener(this.__ce__.type,new i(t),!1),this}},u}();function n(){}function r(e,t,n){function o(e){o.once&&(e.currentTarget.removeEventListener(e.type,t,o),o.removed=!0),o.passive&&(e.preventDefault=r.preventDefault),"function"==typeof o.callback?o.callback.call(this,e):o.callback&&o.callback.handleEvent(e),o.passive&&delete e.preventDefault}return o.type=e,o.callback=t,o.capture=!!n.capture,o.passive=!!n.passive,o.once=!!n.once,o.removed=!1,o}n.prototype=(Object.create||Object)(null),r.preventDefault=function(){};var o,i,a=e.CustomEvent,u=e.dispatchEvent,c=e.addEventListener,s=e.removeEventListener,l=0,f=function(){l++},d=[].indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},p=function(e){return"".concat(e.capture?"1":"0",e.passive?"1":"0",e.once?"1":"0")};try{c("_",f,{once:!0}),u(new a("_")),u(new a("_")),s("_",f,{once:!0})}catch(h){}1!==l&&(i=new t,o=function(e){if(e){var t=e.prototype;t.addEventListener=function(e){return function(t,o,a){if(a&&"boolean"!=typeof a){var u,c,s,l=i.get(this),f=p(a);l||i.set(this,l=new n),t in l||(l[t]={handler:[],wrap:[]}),c=l[t],(u=d.call(c.handler,o))<0?(u=c.handler.push(o)-1,c.wrap[u]=s=new n):s=c.wrap[u],f in s||(s[f]=r(t,o,a),e.call(this,t,s[f],s[f].capture))}else e.call(this,t,o,a)}}(t.addEventListener),t.removeEventListener=function(e){return function(t,n,r){if(r&&"boolean"!=typeof r){var o,a,u,c,s=i.get(this);if(s&&t in s&&(u=s[t],-1<(a=d.call(u.handler,n))&&(o=p(r))in(c=u.wrap[a]))){for(o in e.call(this,t,c[o],c[o].capture),delete c[o],c)return;u.handler.splice(a,1),u.wrap.splice(a,1),0===u.handler.length&&delete s[t]}}else e.call(this,t,n,r)}}(t.removeEventListener)}},e.EventTarget?o(EventTarget):(o(e.Text),o(e.Element||e.HTMLElement),o(e.HTMLDocument),o(e.Window||{prototype:e}),o(e.XMLHttpRequest)))}(window)},function(e,t,n){"use strict";!function(e){if("undefined"!=typeof e.setAttribute){var t=function(e){return e.replace(/-[a-z]/g,(function(e){return e[1].toUpperCase()}))};e.setProperty=function(e,n){var r=t(e);if(!n)return this.removeAttribute(r);var o=String(n);return this.setAttribute(r,o)},e.getPropertyValue=function(e){var n=t(e);return this.getAttribute(n)||null},e.removeProperty=function(e){var n=t(e),r=this.getAttribute(n);return this.removeAttribute(n),r}}}(CSSStyleDeclaration.prototype)},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";(function(e){ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ -var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,r,o){var i,a=n.document,u=a.createElement("link");if(t)i=t;else{var c=(a.body||a.getElementsByTagName("head")[0]).childNodes;i=c[c.length-1]}var s=a.styleSheets;if(o)for(var l in o)o.hasOwnProperty(l)&&u.setAttribute(l,o[l]);u.rel="stylesheet",u.href=e,u.media="only x",function p(e){if(a.body)return e();setTimeout((function(){p(e)}))}((function(){i.parentNode.insertBefore(u,t?i:i.nextSibling)}));var f=function h(e){for(var t=u.href,n=s.length;n--;)if(s[n].href===t)return e();setTimeout((function(){h(e)}))};function d(){u.addEventListener&&u.removeEventListener("load",d),u.media=r||"all"}return u.addEventListener&&u.addEventListener("load",d),u.onloadcssdefined=f,f(d),u}}).call(this,n(121))},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var r=n(113);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a1?t-1:0),r=1;r=0||(o[n]=e[n]);return o}(e,["className"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var r,o;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=r,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(r||(t.VNodeFlags=r={})),t.ChildFlags=o,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(o||(t.ChildFlags=o={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ByondUi=void 0;var r=n(2),o=n(9),i=n(406),a=n(20),u=n(54),c=n(13);function s(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var l=(0,u.createLogger)("ByondUi"),f=[];window.addEventListener("beforeunload",(function(){for(var e=0;e=0||(o[n]=e[n]);return o}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,m=function(e,t,n,r){if(0===e.length)return[];var i=(0,o.zipWith)(Math.min).apply(void 0,e),a=(0,o.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(i[0]=n[0],a[0]=n[1]),r!==undefined&&(i[1]=r[0],a[1]=r[1]),(0,o.map)((function(e){return(0,o.zipWith)((function(e,t,n,r){return(e-t)/(n-t)*r}))(e,i,a,t)}))(e)}(i,g,a,c);if(m.length>0){var y=m[0],b=m[m.length-1];m.push([g[0]+h,b[1]]),m.push([g[0]+h,-h]),m.push([-h,-h]),m.push([-h,y[1]])}var _=function(e){for(var t="",n=0;n=0||(o[n]=e[n]);return o}(t,["children","color","title","buttons"]);return(0,r.createComponentVNode)(2,o.Box,{mb:1,children:[(0,r.createVNode)(1,"div","Table",[(0,r.createVNode)(1,"div","Table__cell",(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Button,Object.assign({fluid:!0,color:c,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},f,{children:s}))),2),l&&(0,r.createVNode)(1,"div","Table__cell Table__cell--collapsing",l,0)],0),n&&(0,r.createComponentVNode)(2,o.Box,{mt:1,children:a})]})},a}(r.Component);t.Collapsible=a},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var r=n(2),o=n(9),i=n(13);var a=function(e){var t=e.content,n=(e.children,e.className),a=e.color,u=e.backgroundColor,c=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["content","children","className","color","backgroundColor"]);return c.color=t?null:"transparent",c.backgroundColor=a||u,(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["ColorBox",n,(0,i.computeBoxClassName)(c)]),t||".",0,Object.assign({},(0,i.computeBoxProps)(c))))};t.ColorBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var r=n(2),o=n(9),i=n(13),a=n(118);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t,n;function c(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},s.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},s.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},s.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,r.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},s.render=function(){var e=this,t=this.props,n=t.color,c=void 0===n?"default":n,s=t.over,l=t.noscroll,f=t.nochevron,d=t.width,p=(t.onClick,t.selected,t.disabled),h=u(t,["color","over","noscroll","nochevron","width","onClick","selected","disabled"]),v=h.className,g=u(h,["className"]),m=s?!this.state.open:this.state.open,y=this.state.open?(0,r.createVNode)(1,"div",(0,o.classes)([l?"Dropdown__menu-noscroll":"Dropdown__menu",s&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,r.createVNode)(1,"div","Dropdown",[(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({width:d,className:(0,o.classes)(["Dropdown__control","Button","Button--color--"+c,p&&"Button--disabled",v])},g,{onClick:function(){p&&!e.state.open||e.setOpen(!e.state.open)},children:[(0,r.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),!!f||(0,r.createVNode)(1,"span","Dropdown__arrow-button",(0,r.createComponentVNode)(2,a.Icon,{name:m?"chevron-up":"chevron-down"}),2)]}))),y],0)},c}(r.Component);t.Dropdown=c},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var r=n(2),o=n(119),i=n(9);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){var t=e.children,n=a(e,["children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table,Object.assign({},n,{children:(0,r.createComponentVNode)(2,o.Table.Row,{children:t})})))};t.Grid=u,u.defaultHooks=i.pureComponentHooks;var c=function(e){var t=e.size,n=void 0===t?1:t,i=e.style,u=a(e,["size","style"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},i)},u)))};t.GridColumn=c,u.defaultHooks=i.pureComponentHooks,u.Column=c},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var r=n(2),o=n(9),i=n(13);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){return(0,o.isFalsy)(e)?"":e},c=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).inputRef=(0,r.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,r=t.props.onInput;n||t.setEditing(!0),r&&r(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,r=t.props.onChange;n&&(t.setEditing(!1),r&&r(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,r=n.onInput,o=n.onChange,i=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),o&&o(e,e.target.value),r&&r(e,e.target.value),i&&i(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=u(t.props.value),void e.target.blur()):void 0},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=u(e))},s.componentDidUpdate=function(e,t){var n=this.state.editing,r=e.value,o=this.props.value,i=this.inputRef.current;i&&!n&&r!==o&&(i.value=u(o))},s.setEditing=function(e){this.setState({editing:e})},s.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,u=a(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),c=u.className,s=u.fluid,l=a(u,["className","fluid"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Input",s&&"Input--fluid",c])},l,{children:[(0,r.createVNode)(1,"div","Input__baseline",".",16),(0,r.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},c}(r.Component);t.Input=c},function(e,t,n){"use strict";t.__esModule=!0,t.Knob=void 0;var r=n(2),o=n(55),i=n(9),a=n(20),u=n(13),c=n(165),s=n(120);t.Knob=function(e){if(a.IS_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,l=e.maxValue,f=e.minValue,d=e.onChange,p=e.onDrag,h=e.step,v=e.stepPixelSize,g=e.suppressFlicker,m=e.unit,y=e.value,b=e.className,_=e.style,w=e.fillValue,x=e.color,E=e.ranges,C=void 0===E?{}:E,S=e.size,N=e.bipolar,k=(e.children,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children"]));return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:t,format:n,maxValue:l,minValue:f,onChange:d,onDrag:p,step:h,stepPixelSize:v,suppressFlicker:g,unit:m,value:y},{children:function(e){var t=e.dragging,n=(e.editing,e.value),a=e.displayValue,c=e.displayElement,s=e.inputElement,d=e.handleDragStart,p=(0,o.scale)(null!=w?w:a,f,l),h=(0,o.scale)(a,f,l),v=x||(0,o.keyOfMatchingRange)(null!=w?w:n,C)||"default",g=270*(h-.5);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Knob","Knob--color--"+v,N&&"Knob--bipolar",b,(0,u.computeBoxClassName)(k)]),[(0,r.createVNode)(1,"div","Knob__circle",(0,r.createVNode)(1,"div","Knob__cursorBox",(0,r.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+g+"deg)"}}),2),t&&(0,r.createVNode)(1,"div","Knob__popupValue",c,0),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,r.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,r.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":((N?2.75:2)-1.5*p)*Math.PI*50},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),s],0,Object.assign({},(0,u.computeBoxProps)(Object.assign({style:Object.assign({"font-size":S+"rem"},_)},k)),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledControls=void 0;var r=n(2),o=n(164);function i(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var a=function(e){var t=e.children,n=i(e,["children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({mx:-.5,align:"stretch",justify:"space-between"},n,{children:t})))};t.LabeledControls=a;a.Item=function(e){var t=e.label,n=e.children,a=i(e,["label","children"]);return(0,r.createComponentVNode)(2,o.Flex.Item,{mx:1,children:(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({minWidth:"52px",height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},a,{children:[(0,r.createComponentVNode)(2,o.Flex.Item),(0,r.createComponentVNode)(2,o.Flex.Item,{children:n}),(0,r.createComponentVNode)(2,o.Flex.Item,{color:"label",children:t})]})))})}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var r=n(2),o=n(9),i=n(13),a=n(163),u=function(e){var t=e.children;return(0,r.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=u,u.defaultHooks=o.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,a=e.labelColor,u=void 0===a?"label":a,c=e.color,s=e.textAlign,l=e.buttons,f=e.content,d=e.children;return(0,r.createVNode)(1,"tr",(0,o.classes)(["LabeledList__row",t]),[(0,r.createComponentVNode)(2,i.Box,{as:"td",color:u,className:(0,o.classes)(["LabeledList__cell","LabeledList__label"]),children:n?n+":":null}),(0,r.createComponentVNode)(2,i.Box,{as:"td",color:c,textAlign:s,className:(0,o.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:l?undefined:2,children:[f,d]}),l&&(0,r.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",l,0)],0)};t.LabeledListItem=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.size?(0,i.unit)(Math.max(0,e.size-1)):0;return(0,r.createVNode)(1,"tr","LabeledList__row",(0,r.createVNode)(1,"td",null,(0,r.createComponentVNode)(2,a.Divider),2,{colSpan:3,style:{"padding-top":t,"padding-bottom":t}}),2)};t.LabeledListDivider=s,s.defaultHooks=o.pureComponentHooks,u.Item=c,u.Divider=s},function(e,t,n){"use strict";t.__esModule=!0,t.NanoMap=void 0;var r=n(2),o=n(49),i=n(36),a=function(e,t){var n=(0,i.useBackend)(t).config,a=e.onClick;return(0,r.createComponentVNode)(2,o.Box,{className:"NanoMap__container",children:(0,r.createComponentVNode)(2,o.Box,{as:"img",src:n.map+"_nanomap_z1.png",style:{width:"512px",height:"512px"},onClick:a})})};t.NanoMap=a;a.Marker=function(e){var t=e.x,n=e.y,i=e.icon,a=e.tooltip,u=e.color;return(0,r.createComponentVNode)(2,o.Box,{position:"absolute",className:"NanoMap__marker",top:2*(255-n)+2+"px",left:2*t+2+"px",children:[(0,r.createComponentVNode)(2,o.Icon,{name:i,color:u,size:.5}),(0,r.createComponentVNode)(2,o.Tooltip,{content:a})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Modal=void 0;var r=n(2),o=n(9),i=n(13),a=n(162);t.Modal=function(e){var t=e.className,n=e.children,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","children"]);return(0,r.createComponentVNode)(2,a.Dimmer,{children:(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Modal",t,(0,i.computeBoxClassName)(u)]),n,0,Object.assign({},(0,i.computeBoxProps)(u))))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var r=n(2),o=n(9),i=n(13);var a=function(e){var t=e.className,n=e.color,a=e.info,u=(e.warning,e.success),c=e.danger,s=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","color","info","warning","success","danger"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["NoticeBox",n&&"NoticeBox--color--"+n,a&&"NoticeBox--type--info",u&&"NoticeBox--type--success",c&&"NoticeBox--type--danger",t])},s)))};t.NoticeBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var r=n(2),o=n(55),i=n(9),a=n(13);var u=function(e){var t=e.className,n=e.value,u=e.minValue,c=void 0===u?0:u,s=e.maxValue,l=void 0===s?1:s,f=e.color,d=e.ranges,p=void 0===d?{}:d,h=e.children,v=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","value","minValue","maxValue","color","ranges","children"]),g=(0,o.scale)(n,c,l),m=h!==undefined,y=f||(0,o.keyOfMatchingRange)(n,p)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar","ProgressBar--color--"+y,t,(0,a.computeBoxClassName)(v)]),[(0,r.createVNode)(1,"div","ProgressBar__fill ProgressBar__fill--animated",null,1,{style:{width:100*(0,o.clamp01)(g)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",m?h:(0,o.toFixed)(100*g)+"%",0)],4,Object.assign({},(0,a.computeBoxProps)(v))))};t.ProgressBar=u,u.defaultHooks=i.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var r=n(2),o=n(9),i=n(13);var a=function(e){var t=e.className,n=e.title,a=e.level,u=void 0===a?1:a,c=e.buttons,s=e.content,l=e.children,f=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","title","level","buttons","content","children"]),d=!(0,o.isFalsy)(n)||!(0,o.isFalsy)(c),p=!(0,o.isFalsy)(s)||!(0,o.isFalsy)(l);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Section","Section--level--"+u,t])},f,{children:[d&&(0,r.createVNode)(1,"div","Section__title",[(0,r.createVNode)(1,"span","Section__titleText",n,0),(0,r.createVNode)(1,"div","Section__buttons",c,0)],4),p&&(0,r.createVNode)(1,"div","Section__content",[s,l],0)]})))};t.Section=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Slider=void 0;var r=n(2),o=n(55),i=n(9),a=n(20),u=n(13),c=n(165),s=n(120);t.Slider=function(e){if(a.IS_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,l=e.maxValue,f=e.minValue,d=e.onChange,p=e.onDrag,h=e.step,v=e.stepPixelSize,g=e.suppressFlicker,m=e.unit,y=e.value,b=e.className,_=e.fillValue,w=e.color,x=e.ranges,E=void 0===x?{}:x,C=e.children,S=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","fillValue","color","ranges","children"]),N=C!==undefined;return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[1,0]},{animated:t,format:n,maxValue:l,minValue:f,onChange:d,onDrag:p,step:h,stepPixelSize:v,suppressFlicker:g,unit:m,value:y},{children:function(e){var t=e.dragging,n=(e.editing,e.value),a=e.displayValue,c=e.displayElement,s=e.inputElement,d=e.handleDragStart,p=_!==undefined&&null!==_,h=((0,o.scale)(n,f,l),(0,o.scale)(null!=_?_:a,f,l)),v=(0,o.scale)(a,f,l),g=w||(0,o.keyOfMatchingRange)(null!=_?_:n,E)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Slider","ProgressBar","ProgressBar--color--"+g,b,(0,u.computeBoxClassName)(S)]),[(0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar__fill",p&&"ProgressBar__fill--animated"]),null,1,{style:{width:100*(0,o.clamp01)(h)+"%",opacity:.4}}),(0,r.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,o.clamp01)(Math.min(h,v))+"%"}}),(0,r.createVNode)(1,"div","Slider__cursorOffset",[(0,r.createVNode)(1,"div","Slider__cursor"),(0,r.createVNode)(1,"div","Slider__pointer"),t&&(0,r.createVNode)(1,"div","Slider__popupValue",c,0)],0,{style:{width:100*(0,o.clamp01)(v)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",N?C:c,0),s],0,Object.assign({},(0,u.computeBoxProps)(S),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Tabs=void 0;var r=n(2),o=n(9),i=n(13),a=n(117);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t=e.className,n=e.vertical,a=e.children,c=u(e,["className","vertical","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Tabs",n?"Tabs--vertical":"Tabs--horizontal",t,(0,i.computeBoxClassName)(c)]),(0,r.createVNode)(1,"div","Tabs__tabBox",a,0),2,Object.assign({},(0,i.computeBoxProps)(c))))};t.Tabs=c;c.Tab=function(e){var t=e.className,n=e.selected,i=e.altSelection,c=u(e,["className","selected","altSelection"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,a.Button,Object.assign({className:(0,o.classes)(["Tabs__tab",n&&"Tabs__tab--selected",i&&n&&"Tabs__tab--altSelection",t]),selected:!i&&n,color:"transparent"},c)))}},function(e,t,n){"use strict";function r(e){var t=0;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e)))return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n",apos:"'"};return e.replace(/
    /gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){var r={"./AtmosAlertConsole.js":425,"./CrewMonitor.js":426,"./DisposalBin.js":427,"./NtosStationAlertConsole.js":428,"./StationAlertConsole.js":167};function o(e){var t=i(e);return n(t)}function i(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=i,e.exports=o,o.id=424},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var r=n(2),o=n(36),i=n(49),a=n(48);t.AtmosAlertConsole=function(e,t){var n=(0,o.useBackend)(t),u=n.act,c=n.data,s=c.priority||[],l=c.minor||[];return(0,r.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,r.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,r.createComponentVNode)(2,i.Section,{title:"Alarms",children:(0,r.createVNode)(1,"ul",null,[0===s.length&&(0,r.createVNode)(1,"li","color-good","No Priority Alerts",16),s.map((function(e){return(0,r.createVNode)(1,"li",null,(0,r.createComponentVNode)(2,i.Button,{icon:"times",content:e,color:"bad",onClick:function(){return u("clear",{zone:e})}}),2,null,e)})),l.length>0&&(0,r.createVNode)(1,"li","color-good","No Minor Alerts",16),l.map((function(e){return(0,r.createVNode)(1,"li",null,(0,r.createComponentVNode)(2,i.Button,{icon:"times",content:e,color:"average",onClick:function(){return u("clear",{zone:e})}}),2,null,e)}))],0)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CrewMonitor=void 0;var r=n(2),o=n(113),i=n(36),a=n(48),u=n(49),c=n(119);t.CrewMonitor=function(e,t){var n=(0,i.useBackend)(t),s=n.act,l=n.data,f=(0,o.sortBy)((function(e){return e.name}))(l.crewmembers||[]);return(0,r.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,r.createComponentVNode)(2,a.Window.Content,{children:[f.filter((function(e){return 3===e.sensor_type})).map((function(e){return(0,r.createComponentVNode)(2,u.NanoMap.Marker,{x:e.x,y:e.y,icon:"circle",tooltip:e.name,color:e.dead?"red":"green"},e.ref)})),(0,r.createComponentVNode)(2,u.NanoMap),(0,r.createComponentVNode)(2,u.Box,{className:"NanoMap__contentOffset",children:(0,r.createComponentVNode)(2,u.Box,{bold:!0,m:2,children:(0,r.createComponentVNode)(2,u.Table,{children:[(0,r.createComponentVNode)(2,u.Table.Row,{header:!0,children:[(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Name"}),(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Status"}),(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Location"})]}),f.map((function(e){return(0,r.createComponentVNode)(2,u.Table.Row,{children:[(0,r.createComponentVNode)(2,c.TableCell,{children:[e.name," (",e.assignment,")"]}),(0,r.createComponentVNode)(2,c.TableCell,{children:[(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:e.dead?"red":"green",children:e.dead?"Deceased":"Living"}),e.sensor_type>=2?(0,r.createComponentVNode)(2,u.Box,{inline:!0,children:["(",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"red",children:e.brute}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"orange",children:e.fire}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"green",children:e.tox}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"blue",children:e.oxy}),")"]}):null]}),(0,r.createComponentVNode)(2,c.TableCell,{children:3===e.sensor_type?l.isAI?(0,r.createComponentVNode)(2,u.Button,{fluid:!0,content:e.area+" ("+e.x+", "+e.y+")",onClick:function(){return s("track",{track:e.ref})}}):e.area+" ("+e.x+", "+e.y+")":"Not Available"})]},e.name)}))]})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalBin=void 0;var r=n(2),o=n(36),i=n(49),a=n(48);t.DisposalBin=function(e,t){var n,u,c=(0,o.useBackend)(t),s=c.act,l=c.data;return 2===l.mode?(n="good",u="Ready"):l.mode<=0?(n="bad",u="N/A"):1===l.mode?(n="average",u="Pressurizing"):(n="average",u="Idle"),(0,r.createComponentVNode)(2,a.Window,{children:(0,r.createComponentVNode)(2,a.Window.Content,{children:(0,r.createComponentVNode)(2,i.Section,{children:[(0,r.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Status"}),(0,r.createComponentVNode)(2,i.LabeledList,{children:[(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"State",color:n,children:u}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:(0,r.createComponentVNode)(2,i.ProgressBar,{ranges:{bad:[-Infinity,0],average:[0,99],good:[99,Infinity]},value:l.pressure,minValue:0,maxValue:100})})]}),(0,r.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Controls"}),(0,r.createComponentVNode)(2,i.LabeledList,{children:[(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Handle",children:[(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:l.isAI||l.panel_open,content:"Disengaged",selected:l.flushing?null:"selected",onClick:function(){return s("disengageHandle")}}),(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:l.isAI||l.panel_open,content:"Engaged",selected:l.flushing?"selected":null,onClick:function(){return s("engageHandle")}})]}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:[(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:-1===l.mode,content:"Off",selected:l.mode?null:"selected",onClick:function(){return s("pumpOff")}}),(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:-1===l.mode,content:"On",selected:l.mode?"selected":null,onClick:function(){return s("pumpOn")}})]}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Eject",children:(0,r.createComponentVNode)(2,i.Button,{icon:"sign-out-alt",disabled:l.isAI,content:"Eject Contents",onClick:function(){return s("eject")}})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosStationAlertConsole=void 0;var r=n(2),o=n(48),i=n(167);t.NtosStationAlertConsole=function(){return(0,r.createComponentVNode)(2,o.NtosWindow,{resizable:!0,children:(0,r.createComponentVNode)(2,o.NtosWindow.Content,{scrollable:!0,children:(0,r.createComponentVNode)(2,i.StationAlertConsoleContent)})})}}]); \ No newline at end of file +var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,r,o){var i,a=n.document,u=a.createElement("link");if(t)i=t;else{var c=(a.body||a.getElementsByTagName("head")[0]).childNodes;i=c[c.length-1]}var s=a.styleSheets;if(o)for(var l in o)o.hasOwnProperty(l)&&u.setAttribute(l,o[l]);u.rel="stylesheet",u.href=e,u.media="only x",function p(e){if(a.body)return e();setTimeout((function(){p(e)}))}((function(){i.parentNode.insertBefore(u,t?i:i.nextSibling)}));var f=function h(e){for(var t=u.href,n=s.length;n--;)if(s[n].href===t)return e();setTimeout((function(){h(e)}))};function d(){u.addEventListener&&u.removeEventListener("load",d),u.media=r||"all"}return u.addEventListener&&u.addEventListener("load",d),u.onloadcssdefined=f,f(d),u}}).call(this,n(121))},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var r=n(113);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a1?t-1:0),r=1;r=0||(o[n]=e[n]);return o}(e,["className"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var r,o;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=r,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(r||(t.VNodeFlags=r={})),t.ChildFlags=o,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(o||(t.ChildFlags=o={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ByondUi=void 0;var r=n(2),o=n(9),i=n(406),a=n(20),u=n(54),c=n(13);function s(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var l=(0,u.createLogger)("ByondUi"),f=[];window.addEventListener("beforeunload",(function(){for(var e=0;e=0||(o[n]=e[n]);return o}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,m=function(e,t,n,r){if(0===e.length)return[];var i=(0,o.zipWith)(Math.min).apply(void 0,e),a=(0,o.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(i[0]=n[0],a[0]=n[1]),r!==undefined&&(i[1]=r[0],a[1]=r[1]),(0,o.map)((function(e){return(0,o.zipWith)((function(e,t,n,r){return(e-t)/(n-t)*r}))(e,i,a,t)}))(e)}(i,g,a,c);if(m.length>0){var y=m[0],b=m[m.length-1];m.push([g[0]+h,b[1]]),m.push([g[0]+h,-h]),m.push([-h,-h]),m.push([-h,y[1]])}var _=function(e){for(var t="",n=0;n=0||(o[n]=e[n]);return o}(t,["children","color","title","buttons"]);return(0,r.createComponentVNode)(2,o.Box,{mb:1,children:[(0,r.createVNode)(1,"div","Table",[(0,r.createVNode)(1,"div","Table__cell",(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Button,Object.assign({fluid:!0,color:c,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},f,{children:s}))),2),l&&(0,r.createVNode)(1,"div","Table__cell Table__cell--collapsing",l,0)],0),n&&(0,r.createComponentVNode)(2,o.Box,{mt:1,children:a})]})},a}(r.Component);t.Collapsible=a},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var r=n(2),o=n(9),i=n(13);var a=function(e){var t=e.content,n=(e.children,e.className),a=e.color,u=e.backgroundColor,c=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["content","children","className","color","backgroundColor"]);return c.color=t?null:"transparent",c.backgroundColor=a||u,(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["ColorBox",n,(0,i.computeBoxClassName)(c)]),t||".",0,Object.assign({},(0,i.computeBoxProps)(c))))};t.ColorBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var r=n(2),o=n(9),i=n(13),a=n(118);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t,n;function c(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},s.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},s.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},s.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,r.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},s.render=function(){var e=this,t=this.props,n=t.color,c=void 0===n?"default":n,s=t.over,l=t.noscroll,f=t.nochevron,d=t.width,p=(t.onClick,t.selected,t.disabled),h=u(t,["color","over","noscroll","nochevron","width","onClick","selected","disabled"]),v=h.className,g=u(h,["className"]),m=s?!this.state.open:this.state.open,y=this.state.open?(0,r.createVNode)(1,"div",(0,o.classes)([l?"Dropdown__menu-noscroll":"Dropdown__menu",s&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,r.createVNode)(1,"div","Dropdown",[(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({width:d,className:(0,o.classes)(["Dropdown__control","Button","Button--color--"+c,p&&"Button--disabled",v])},g,{onClick:function(){p&&!e.state.open||e.setOpen(!e.state.open)},children:[(0,r.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),!!f||(0,r.createVNode)(1,"span","Dropdown__arrow-button",(0,r.createComponentVNode)(2,a.Icon,{name:m?"chevron-up":"chevron-down"}),2)]}))),y],0)},c}(r.Component);t.Dropdown=c},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var r=n(2),o=n(119),i=n(9);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){var t=e.children,n=a(e,["children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table,Object.assign({},n,{children:(0,r.createComponentVNode)(2,o.Table.Row,{children:t})})))};t.Grid=u,u.defaultHooks=i.pureComponentHooks;var c=function(e){var t=e.size,n=void 0===t?1:t,i=e.style,u=a(e,["size","style"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},i)},u)))};t.GridColumn=c,u.defaultHooks=i.pureComponentHooks,u.Column=c},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var r=n(2),o=n(9),i=n(13);function a(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var u=function(e){return(0,o.isFalsy)(e)?"":e},c=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).inputRef=(0,r.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,r=t.props.onInput;n||t.setEditing(!0),r&&r(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,r=t.props.onChange;n&&(t.setEditing(!1),r&&r(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,r=n.onInput,o=n.onChange,i=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),o&&o(e,e.target.value),r&&r(e,e.target.value),i&&i(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=u(t.props.value),void e.target.blur()):void 0},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=u(e))},s.componentDidUpdate=function(e,t){var n=this.state.editing,r=e.value,o=this.props.value,i=this.inputRef.current;i&&!n&&r!==o&&(i.value=u(o))},s.setEditing=function(e){this.setState({editing:e})},s.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,u=a(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),c=u.className,s=u.fluid,l=a(u,["className","fluid"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Input",s&&"Input--fluid",c])},l,{children:[(0,r.createVNode)(1,"div","Input__baseline",".",16),(0,r.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},c}(r.Component);t.Input=c},function(e,t,n){"use strict";t.__esModule=!0,t.Knob=void 0;var r=n(2),o=n(55),i=n(9),a=n(20),u=n(13),c=n(165),s=n(120);t.Knob=function(e){if(a.IS_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,l=e.maxValue,f=e.minValue,d=e.onChange,p=e.onDrag,h=e.step,v=e.stepPixelSize,g=e.suppressFlicker,m=e.unit,y=e.value,b=e.className,_=e.style,w=e.fillValue,x=e.color,E=e.ranges,C=void 0===E?{}:E,S=e.size,N=e.bipolar,k=(e.children,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children"]));return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:t,format:n,maxValue:l,minValue:f,onChange:d,onDrag:p,step:h,stepPixelSize:v,suppressFlicker:g,unit:m,value:y},{children:function(e){var t=e.dragging,n=(e.editing,e.value),a=e.displayValue,c=e.displayElement,s=e.inputElement,d=e.handleDragStart,p=(0,o.scale)(null!=w?w:a,f,l),h=(0,o.scale)(a,f,l),v=x||(0,o.keyOfMatchingRange)(null!=w?w:n,C)||"default",g=270*(h-.5);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Knob","Knob--color--"+v,N&&"Knob--bipolar",b,(0,u.computeBoxClassName)(k)]),[(0,r.createVNode)(1,"div","Knob__circle",(0,r.createVNode)(1,"div","Knob__cursorBox",(0,r.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+g+"deg)"}}),2),t&&(0,r.createVNode)(1,"div","Knob__popupValue",c,0),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,r.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,r.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,r.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":((N?2.75:2)-1.5*p)*Math.PI*50},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),s],0,Object.assign({},(0,u.computeBoxProps)(Object.assign({style:Object.assign({"font-size":S+"rem"},_)},k)),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledControls=void 0;var r=n(2),o=n(164);function i(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var a=function(e){var t=e.children,n=i(e,["children"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({mx:-.5,align:"stretch",justify:"space-between"},n,{children:t})))};t.LabeledControls=a;a.Item=function(e){var t=e.label,n=e.children,a=i(e,["label","children"]);return(0,r.createComponentVNode)(2,o.Flex.Item,{mx:1,children:(0,r.normalizeProps)((0,r.createComponentVNode)(2,o.Flex,Object.assign({minWidth:"52px",height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},a,{children:[(0,r.createComponentVNode)(2,o.Flex.Item),(0,r.createComponentVNode)(2,o.Flex.Item,{children:n}),(0,r.createComponentVNode)(2,o.Flex.Item,{color:"label",children:t})]})))})}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var r=n(2),o=n(9),i=n(13),a=n(163),u=function(e){var t=e.children;return(0,r.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=u,u.defaultHooks=o.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,a=e.labelColor,u=void 0===a?"label":a,c=e.color,s=e.textAlign,l=e.buttons,f=e.content,d=e.children;return(0,r.createVNode)(1,"tr",(0,o.classes)(["LabeledList__row",t]),[(0,r.createComponentVNode)(2,i.Box,{as:"td",color:u,className:(0,o.classes)(["LabeledList__cell","LabeledList__label"]),children:n?n+":":null}),(0,r.createComponentVNode)(2,i.Box,{as:"td",color:c,textAlign:s,className:(0,o.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:l?undefined:2,children:[f,d]}),l&&(0,r.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",l,0)],0)};t.LabeledListItem=c,c.defaultHooks=o.pureComponentHooks;var s=function(e){var t=e.size?(0,i.unit)(Math.max(0,e.size-1)):0;return(0,r.createVNode)(1,"tr","LabeledList__row",(0,r.createVNode)(1,"td",null,(0,r.createComponentVNode)(2,a.Divider),2,{colSpan:3,style:{"padding-top":t,"padding-bottom":t}}),2)};t.LabeledListDivider=s,s.defaultHooks=o.pureComponentHooks,u.Item=c,u.Divider=s},function(e,t,n){"use strict";t.__esModule=!0,t.NanoMap=void 0;var r=n(2),o=n(49),i=n(36),a=function(e,t){var n=(0,i.useBackend)(t).config,a=e.onClick;return(0,r.createComponentVNode)(2,o.Box,{className:"NanoMap__container",children:(0,r.createComponentVNode)(2,o.Box,{as:"img",src:n.map+"_nanomap_z1.png",style:{width:"512px",height:"512px"},onClick:a})})};t.NanoMap=a;a.Marker=function(e){var t=e.x,n=e.y,i=e.icon,a=e.tooltip,u=e.color;return(0,r.createComponentVNode)(2,o.Box,{position:"absolute",className:"NanoMap__marker",top:2*(255-n)+2+"px",left:2*t+2+"px",children:[(0,r.createComponentVNode)(2,o.Icon,{name:i,color:u,size:.5}),(0,r.createComponentVNode)(2,o.Tooltip,{content:a})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Modal=void 0;var r=n(2),o=n(9),i=n(13),a=n(162);t.Modal=function(e){var t=e.className,n=e.children,u=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","children"]);return(0,r.createComponentVNode)(2,a.Dimmer,{children:(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Modal",t,(0,i.computeBoxClassName)(u)]),n,0,Object.assign({},(0,i.computeBoxProps)(u))))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var r=n(2),o=n(9),i=n(13);var a=function(e){var t=e.className,n=e.color,a=e.info,u=(e.warning,e.success),c=e.danger,s=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","color","info","warning","success","danger"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["NoticeBox",n&&"NoticeBox--color--"+n,a&&"NoticeBox--type--info",u&&"NoticeBox--type--success",c&&"NoticeBox--type--danger",t])},s)))};t.NoticeBox=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var r=n(2),o=n(55),i=n(9),a=n(13);var u=function(e){var t=e.className,n=e.value,u=e.minValue,c=void 0===u?0:u,s=e.maxValue,l=void 0===s?1:s,f=e.color,d=e.ranges,p=void 0===d?{}:d,h=e.children,v=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","value","minValue","maxValue","color","ranges","children"]),g=(0,o.scale)(n,c,l),m=h!==undefined,y=f||(0,o.keyOfMatchingRange)(n,p)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar","ProgressBar--color--"+y,t,(0,a.computeBoxClassName)(v)]),[(0,r.createVNode)(1,"div","ProgressBar__fill ProgressBar__fill--animated",null,1,{style:{width:100*(0,o.clamp01)(g)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",m?h:(0,o.toFixed)(100*g)+"%",0)],4,Object.assign({},(0,a.computeBoxProps)(v))))};t.ProgressBar=u,u.defaultHooks=i.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var r=n(2),o=n(9),i=n(13);var a=function(e){var t=e.className,n=e.title,a=e.level,u=void 0===a?1:a,c=e.buttons,s=e.content,l=e.children,f=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["className","title","level","buttons","content","children"]),d=!(0,o.isFalsy)(n)||!(0,o.isFalsy)(c),p=!(0,o.isFalsy)(s)||!(0,o.isFalsy)(l);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,i.Box,Object.assign({className:(0,o.classes)(["Section","Section--level--"+u,t])},f,{children:[d&&(0,r.createVNode)(1,"div","Section__title",[(0,r.createVNode)(1,"span","Section__titleText",n,0),(0,r.createVNode)(1,"div","Section__buttons",c,0)],4),p&&(0,r.createVNode)(1,"div","Section__content",[s,l],0)]})))};t.Section=a,a.defaultHooks=o.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Slider=void 0;var r=n(2),o=n(55),i=n(9),a=n(20),u=n(13),c=n(165),s=n(120);t.Slider=function(e){if(a.IS_IE8)return(0,r.normalizeProps)((0,r.createComponentVNode)(2,s.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,l=e.maxValue,f=e.minValue,d=e.onChange,p=e.onDrag,h=e.step,v=e.stepPixelSize,g=e.suppressFlicker,m=e.unit,y=e.value,b=e.className,_=e.fillValue,w=e.color,x=e.ranges,E=void 0===x?{}:x,C=e.children,S=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","fillValue","color","ranges","children"]),N=C!==undefined;return(0,r.normalizeProps)((0,r.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[1,0]},{animated:t,format:n,maxValue:l,minValue:f,onChange:d,onDrag:p,step:h,stepPixelSize:v,suppressFlicker:g,unit:m,value:y},{children:function(e){var t=e.dragging,n=(e.editing,e.value),a=e.displayValue,c=e.displayElement,s=e.inputElement,d=e.handleDragStart,p=_!==undefined&&null!==_,h=((0,o.scale)(n,f,l),(0,o.scale)(null!=_?_:a,f,l)),v=(0,o.scale)(a,f,l),g=w||(0,o.keyOfMatchingRange)(null!=_?_:n,E)||"default";return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,i.classes)(["Slider","ProgressBar","ProgressBar--color--"+g,b,(0,u.computeBoxClassName)(S)]),[(0,r.createVNode)(1,"div",(0,i.classes)(["ProgressBar__fill",p&&"ProgressBar__fill--animated"]),null,1,{style:{width:100*(0,o.clamp01)(h)+"%",opacity:.4}}),(0,r.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,o.clamp01)(Math.min(h,v))+"%"}}),(0,r.createVNode)(1,"div","Slider__cursorOffset",[(0,r.createVNode)(1,"div","Slider__cursor"),(0,r.createVNode)(1,"div","Slider__pointer"),t&&(0,r.createVNode)(1,"div","Slider__popupValue",c,0)],0,{style:{width:100*(0,o.clamp01)(v)+"%"}}),(0,r.createVNode)(1,"div","ProgressBar__content",N?C:c,0),s],0,Object.assign({},(0,u.computeBoxProps)(S),{onMouseDown:d})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Tabs=void 0;var r=n(2),o=n(9),i=n(13),a=n(117);function u(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}var c=function(e){var t=e.className,n=e.vertical,a=e.children,c=u(e,["className","vertical","children"]);return(0,r.normalizeProps)((0,r.createVNode)(1,"div",(0,o.classes)(["Tabs",n?"Tabs--vertical":"Tabs--horizontal",t,(0,i.computeBoxClassName)(c)]),(0,r.createVNode)(1,"div","Tabs__tabBox",a,0),2,Object.assign({},(0,i.computeBoxProps)(c))))};t.Tabs=c;c.Tab=function(e){var t=e.className,n=e.selected,i=e.altSelection,c=u(e,["className","selected","altSelection"]);return(0,r.normalizeProps)((0,r.createComponentVNode)(2,a.Button,Object.assign({className:(0,o.classes)(["Tabs__tab",n&&"Tabs__tab--selected",i&&n&&"Tabs__tab--altSelection",t]),selected:!i&&n,color:"transparent"},c)))}},function(e,t,n){"use strict";function r(e){var t=0;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e)))return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n",apos:"'"};return e.replace(/
    /gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){var r={"./AtmosAlertConsole.js":425,"./CrewMonitor.js":426,"./DisposalBin.js":427,"./NtosStationAlertConsole.js":428,"./StationAlertConsole.js":167};function o(e){var t=i(e);return n(t)}function i(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=i,e.exports=o,o.id=424},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var r=n(2),o=n(36),i=n(49),a=n(48);t.AtmosAlertConsole=function(e,t){var n=(0,o.useBackend)(t),u=n.act,c=n.data,s=c.priority||[],l=c.minor||[];return(0,r.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,r.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,r.createComponentVNode)(2,i.Section,{title:"Alarms",children:(0,r.createVNode)(1,"ul",null,[0===s.length&&(0,r.createVNode)(1,"li","color-good","No Priority Alerts",16),s.map((function(e){return(0,r.createVNode)(1,"li",null,(0,r.createComponentVNode)(2,i.Button,{icon:"times",content:e,color:"bad",onClick:function(){return u("clear",{zone:e})}}),2,null,e)})),0===l.length&&(0,r.createVNode)(1,"li","color-good","No Minor Alerts",16),l.map((function(e){return(0,r.createVNode)(1,"li",null,(0,r.createComponentVNode)(2,i.Button,{icon:"times",content:e,color:"average",onClick:function(){return u("clear",{zone:e})}}),2,null,e)}))],0)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CrewMonitor=void 0;var r=n(2),o=n(113),i=n(36),a=n(48),u=n(49),c=n(119);t.CrewMonitor=function(e,t){var n=(0,i.useBackend)(t),s=n.act,l=n.data,f=(0,o.sortBy)((function(e){return e.name}))(l.crewmembers||[]);return(0,r.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,r.createComponentVNode)(2,a.Window.Content,{children:[f.filter((function(e){return 3===e.sensor_type})).map((function(e){return(0,r.createComponentVNode)(2,u.NanoMap.Marker,{x:e.x,y:e.y,icon:"circle",tooltip:e.name,color:e.dead?"red":"green"},e.ref)})),(0,r.createComponentVNode)(2,u.NanoMap),(0,r.createComponentVNode)(2,u.Box,{className:"NanoMap__contentOffset",children:(0,r.createComponentVNode)(2,u.Box,{bold:!0,m:2,children:(0,r.createComponentVNode)(2,u.Table,{children:[(0,r.createComponentVNode)(2,u.Table.Row,{header:!0,children:[(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Name"}),(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Status"}),(0,r.createComponentVNode)(2,u.Table.Cell,{children:"Location"})]}),f.map((function(e){return(0,r.createComponentVNode)(2,u.Table.Row,{children:[(0,r.createComponentVNode)(2,c.TableCell,{children:[e.name," (",e.assignment,")"]}),(0,r.createComponentVNode)(2,c.TableCell,{children:[(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:e.dead?"red":"green",children:e.dead?"Deceased":"Living"}),e.sensor_type>=2?(0,r.createComponentVNode)(2,u.Box,{inline:!0,children:["(",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"red",children:e.brute}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"orange",children:e.fire}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"green",children:e.tox}),"|",(0,r.createComponentVNode)(2,u.Box,{inline:!0,color:"blue",children:e.oxy}),")"]}):null]}),(0,r.createComponentVNode)(2,c.TableCell,{children:3===e.sensor_type?l.isAI?(0,r.createComponentVNode)(2,u.Button,{fluid:!0,content:e.area+" ("+e.x+", "+e.y+")",onClick:function(){return s("track",{track:e.ref})}}):e.area+" ("+e.x+", "+e.y+")":"Not Available"})]},e.name)}))]})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalBin=void 0;var r=n(2),o=n(36),i=n(49),a=n(48);t.DisposalBin=function(e,t){var n,u,c=(0,o.useBackend)(t),s=c.act,l=c.data;return 2===l.mode?(n="good",u="Ready"):l.mode<=0?(n="bad",u="N/A"):1===l.mode?(n="average",u="Pressurizing"):(n="average",u="Idle"),(0,r.createComponentVNode)(2,a.Window,{children:(0,r.createComponentVNode)(2,a.Window.Content,{children:(0,r.createComponentVNode)(2,i.Section,{children:[(0,r.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Status"}),(0,r.createComponentVNode)(2,i.LabeledList,{children:[(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"State",color:n,children:u}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:(0,r.createComponentVNode)(2,i.ProgressBar,{ranges:{bad:[-Infinity,0],average:[0,99],good:[99,Infinity]},value:l.pressure,minValue:0,maxValue:100})})]}),(0,r.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Controls"}),(0,r.createComponentVNode)(2,i.LabeledList,{children:[(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Handle",children:[(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:l.isAI||l.panel_open,content:"Disengaged",selected:l.flushing?null:"selected",onClick:function(){return s("disengageHandle")}}),(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:l.isAI||l.panel_open,content:"Engaged",selected:l.flushing?"selected":null,onClick:function(){return s("engageHandle")}})]}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:[(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:-1===l.mode,content:"Off",selected:l.mode?null:"selected",onClick:function(){return s("pumpOff")}}),(0,r.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:-1===l.mode,content:"On",selected:l.mode?"selected":null,onClick:function(){return s("pumpOn")}})]}),(0,r.createComponentVNode)(2,i.LabeledList.Item,{label:"Eject",children:(0,r.createComponentVNode)(2,i.Button,{icon:"sign-out-alt",disabled:l.isAI,content:"Eject Contents",onClick:function(){return s("eject")}})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosStationAlertConsole=void 0;var r=n(2),o=n(48),i=n(167);t.NtosStationAlertConsole=function(){return(0,r.createComponentVNode)(2,o.NtosWindow,{resizable:!0,children:(0,r.createComponentVNode)(2,o.NtosWindow.Content,{scrollable:!0,children:(0,r.createComponentVNode)(2,i.StationAlertConsoleContent)})})}}]); \ No newline at end of file From b7bcf49c6e682f9cff301278114bdf7163c6c855 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Thu, 2 Jul 2020 11:27:02 -0400 Subject: [PATCH 09/19] I win, Baycode, I win --- code/game/area/areas.dm | 22 ++++++++++++++++++++++ code/game/machinery/camera/camera.dm | 19 +++++++++---------- code/game/machinery/firealarm.dm | 9 ++++----- 3 files changed, 35 insertions(+), 15 deletions(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index e06bc99e2cc..622264189bf 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -168,6 +168,13 @@ if(state != poweralm) poweralm = state if(istype(source)) //Only report power alarms on the z-level where the source is located. + for(var/thing in cameras) + var/obj/machinery/camera/C = thing + if(state == 1) + C.network -= "Power Alarms" + else + C.network |= "Power Alarms" + for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item if(state == 1) @@ -198,6 +205,10 @@ if(danger_level != atmosalm) if(danger_level == ATMOS_ALARM_DANGER) + for(var/thing in cameras) + var/obj/machinery/camera/C = thing + C.network |= "Atmosphere Alarms" + for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item aiPlayer.triggerAlarm("Atmosphere", src, cameras, source) @@ -209,6 +220,9 @@ p.triggerAlarm("Atmosphere", src, cameras, source) */ else if(atmosalm == ATMOS_ALARM_DANGER) + for(var/thing in cameras) + var/obj/machinery/camera/C = thing + C.network -= "Atmosphere Alarms" for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item aiPlayer.cancelAlarm("Atmosphere", src, source) @@ -262,6 +276,10 @@ var/obj/machinery/firealarm/F = item F.update_icon() + for(var/thing in cameras) + var/obj/machinery/camera/C = thing + C.network |= "Fire Alarms" + for(var/item in GLOB.alert_consoles) var/obj/machinery/computer/station_alert/a = item a.triggerAlarm("Fire", src, cameras, source) @@ -290,6 +308,10 @@ var/obj/machinery/firealarm/F = item F.update_icon() + for(var/thing in cameras) + var/obj/machinery/camera/C = thing + C.network -= "Fire Alarms" + for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item aiPlayer.cancelAlarm("Fire", src, source) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 6d8da8a20f5..28382888af5 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -22,7 +22,6 @@ var/invuln = null var/obj/item/camera_bug/bug = null var/obj/item/camera_assembly/assembly = null - var/area/myarea = null //OTHER @@ -47,8 +46,8 @@ GLOB.cameranet.cameras += src GLOB.cameranet.addCamera(src) if(isturf(loc)) - myarea = get_area(src) - LAZYADD(myarea.cameras, src) + myArea = get_area(src) + LAZYADD(myArea.cameras, src) if(is_station_level(z) && prob(3) && !start_active) toggle_cam(null, FALSE) wires.CutAll() @@ -67,8 +66,8 @@ QDEL_NULL(wires) GLOB.cameranet.removeCamera(src) //Will handle removal from the camera network and the chunks, so we don't need to worry about that GLOB.cameranet.cameras -= src - if(isarea(myarea)) - LAZYREMOVE(myarea.cameras, src) + if(isarea(myArea)) + LAZYREMOVE(myArea.cameras, src) var/area/ai_monitored/A = get_area(src) if(istype(A)) A.motioncameras -= src @@ -295,15 +294,15 @@ if(can_use()) GLOB.cameranet.addCamera(src) if(isturf(loc)) - myarea = get_area(src) - LAZYADD(myarea.cameras, src) + myArea = get_area(src) + LAZYADD(myArea.cameras, src) else - myarea = null + myArea = null else set_light(0) GLOB.cameranet.removeCamera(src) - if(isarea(myarea)) - LAZYREMOVE(myarea.cameras, src) + if(isarea(myArea)) + LAZYREMOVE(myArea.cameras, src) GLOB.cameranet.updateChunk(x, y, z) var/change_msg = "deactivates" if(status) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 280d126b3dc..03cb622c8e9 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -36,7 +36,6 @@ FIRE ALARM var/report_fire_alarms = TRUE // Should triggered fire alarms also trigger an actual alarm? var/show_alert_level = TRUE // Should fire alarms display the current alert level? - var/area/myarea = null /obj/machinery/firealarm/no_alarm report_fire_alarms = FALSE @@ -197,7 +196,7 @@ FIRE ALARM /obj/machinery/firealarm/obj_break(damage_flag) if(!(stat & BROKEN) && !(flags & NODECONSTRUCT) && buildstage != 0) //can't break the electronics if there isn't any inside. stat |= BROKEN - LAZYREMOVE(myarea.firealarms, src) + LAZYREMOVE(myArea.firealarms, src) update_icon() /obj/machinery/firealarm/deconstruct(disassembled = TRUE) @@ -328,12 +327,12 @@ FIRE ALARM else overlays += image('icons/obj/monitors.dmi', "overlay_green") - myarea = get_area(src) - LAZYADD(myarea.firealarms, src) + myArea = get_area(src) + LAZYADD(myArea.firealarms, src) update_icon() /obj/machinery/firealarm/Destroy() - LAZYREMOVE(myarea.firealarms, src) + LAZYREMOVE(myArea.firealarms, src) return ..() /* From e57cdbb9dd0d477819cb79613fc3a3a6565189fa Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Thu, 2 Jul 2020 12:28:52 -0400 Subject: [PATCH 10/19] fixes EVA --- _maps/map_files/cyberiad/cyberiad.dmm | 4 ++++ code/game/machinery/camera/presets.dm | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 06115f9b175..2846574c878 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -78169,6 +78169,10 @@ pixel_x = -22 }, /obj/item/stack/tape_roll, +/obj/machinery/camera/motion{ + c_tag = "EVA Motion Sensor"; + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index ac0ea56f814..33c970639e5 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -16,12 +16,16 @@ upgradeXRay() // MOTION +/obj/machinery/camera/motion + name = "motion-sensitive security camera" /obj/machinery/camera/motion/Initialize(mapload) . = ..() upgradeMotion() // ALL UPGRADES +/obj/machinery/camera/all + icon_state = "xraycamera" //mapping icon. /obj/machinery/camera/all/Initialize(mapload) . = ..() @@ -78,6 +82,10 @@ // If you are upgrading Motion, and it isn't in the camera's New(), add it to the machines list. /obj/machinery/camera/proc/upgradeMotion() + if(isMotion()) + return + if(name == initial(name)) + name = "motion-sensitive security camera" assembly.upgrades.Add(new /obj/item/assembly/prox_sensor(assembly)) setPowerUsage() // Add it to machines that process From de77c5d7b46653fc1c0052b20dce19f8d09a6461 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Thu, 2 Jul 2020 15:27:53 -0400 Subject: [PATCH 11/19] burglar fix --- code/modules/mob/living/silicon/ai/ai.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index c4985f7184b..f9b55ac31d9 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -50,7 +50,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( var/list/connected_robots = list() var/aiRestorePowerRoutine = 0 //var/list/laws = list() - var/alarms = list("Motion" = list(), "Fire" = list(), "Atmosphere" = list(), "Power" = list(), "Camera" = list()) + var/alarms = list("Motion" = list(), "Fire" = list(), "Atmosphere" = list(), "Power" = list(), "Camera" = list(), "Burglar" =list()) var/viewalerts = 0 var/icon/holo_icon//Default is assigned when AI is created. var/obj/mecha/controlled_mech //For controlled_mech a mech, to determine whether to relaymove or use the AI eye. From 52f902c474af0f8f430d92742bfda9fd9996f87d Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Thu, 2 Jul 2020 16:12:19 -0400 Subject: [PATCH 12/19] mmm, yes, boilerplate --- code/game/machinery/computer/station_alert.dm | 10 +++++----- code/modules/mob/living/silicon/ai/ai.dm | 10 ++++++---- code/modules/mob/living/silicon/robot/robot.dm | 4 ++-- .../file_system/programs/engineering/alarm.dm | 12 +++++------- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 4b64300e048..8f9f6ea2390 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -47,8 +47,8 @@ return data -/obj/machinery/computer/station_alert/proc/triggerAlarm(class, area/A, O, obj/source) - if(source.z != z) +/obj/machinery/computer/station_alert/proc/triggerAlarm(class, area/A, O, obj/alarmsource) + if(alarmsource.z != z) return if(stat & (BROKEN)) return @@ -58,8 +58,8 @@ if(I == A.name) var/list/alarm = L[I] var/list/sources = alarm[3] - if(!(source in sources)) - sources += source + if(!(alarmsource in sources)) + sources += alarmsource return TRUE var/obj/machinery/camera/C = null var/list/CL = null @@ -69,7 +69,7 @@ C = CL[1] else if(O && istype(O, /obj/machinery/camera)) C = O - L[A.name] = list(A, (C ? C : O), list(source)) + L[A.name] = list(A, (C ? C : O), list(alarmsource)) update_icon() return TRUE diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index f9b55ac31d9..298dcf57509 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -820,6 +820,8 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( /mob/living/silicon/ai/triggerAlarm(class, area/A, O, obj/alarmsource) if(alarmsource.z != z) return + if(stat == DEAD) + return TRUE var/list/L = alarms[class] for(var/I in L) if(I == A.name) @@ -830,13 +832,13 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( return TRUE var/obj/machinery/camera/C = null var/list/CL = null - if(O && istype(O, /list)) + if(O && islist(O)) CL = O if(CL.len == 1) C = CL[1] else if(O && istype(O, /obj/machinery/camera)) C = O - L[A.name] = list(A, (C) ? C : O, list(alarmsource)) + L[A.name] = list(A, (C ? C : O), list(alarmsource)) if(O) if(C && C.can_use()) queueAlarm("--- [class] alarm detected in [A.name]! ([C.c_tag])", class) @@ -857,7 +859,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( /mob/living/silicon/ai/cancelAlarm(class, area/A, obj/origin) var/list/L = alarms[class] - var/cleared = 0 + var/cleared = FALSE for(var/I in L) if(I == A.name) var/list/alarm = L[I] @@ -865,7 +867,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(origin in srcs) srcs -= origin if(srcs.len == 0) - cleared = 1 + cleared = TRUE L -= I if(cleared) queueAlarm("--- [class] alarm in [A.name] has been cleared.", class, 0) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 49eb916ce0f..6c0495736ee 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -644,13 +644,13 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( return TRUE var/obj/machinery/camera/C = null var/list/CL = null - if(O && istype(O, /list)) + if(O && islist(O)) CL = O if(CL.len == 1) C = CL[1] else if(O && istype(O, /obj/machinery/camera)) C = O - L[A.name] = list(A, (C) ? C : O, list(alarmsource)) + L[A.name] = list(A, (C ? C : O), list(alarmsource)) queueAlarm(text("--- [class] alarm detected in [A.name]!"), class) return TRUE diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm index b2050f0a891..76d28827a30 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm @@ -39,7 +39,7 @@ return data -/datum/computer_file/program/alarm_monitor/proc/triggerAlarm(class, area/A, O, obj/source) +/datum/computer_file/program/alarm_monitor/proc/triggerAlarm(class, area/A, O, obj/alarmsource) if(is_station_level(source.z)) if(!(A.type in GLOB.the_station_areas)) return @@ -51,21 +51,19 @@ if(I == A.name) var/list/alarm = L[I] var/list/sources = alarm[3] - if(!(source in sources)) - sources += source + if(!(alarmsource in sources)) + sources += alarmsource return TRUE var/obj/machinery/camera/C = null var/list/CL = null - if(O && istype(O, /list)) + if(O && islist(O)) CL = O if(CL.len == 1) C = CL[1] else if(O && istype(O, /obj/machinery/camera)) C = O - L[A.name] = list(A, (C ? C : O), list(source)) - + L[A.name] = list(A, (C ? C : O), list(alarmsource)) update_alarm_display() - return TRUE From 729e9b8922f5ff583757b2db2f474aa022743346 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Fri, 10 Jul 2020 18:41:37 -0400 Subject: [PATCH 13/19] soft refs --- code/game/area/areas.dm | 31 ++++++----- code/game/machinery/camera/camera.dm | 10 ++-- code/game/machinery/camera/motion.dm | 2 +- code/game/machinery/computer/station_alert.dm | 20 +++---- code/modules/mob/living/silicon/ai/ai.dm | 54 +++++++++---------- .../modules/mob/living/silicon/robot/robot.dm | 24 +++------ .../file_system/programs/engineering/alarm.dm | 20 +++---- 7 files changed, 68 insertions(+), 93 deletions(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 622264189bf..ef9cce290c2 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -169,11 +169,12 @@ poweralm = state if(istype(source)) //Only report power alarms on the z-level where the source is located. for(var/thing in cameras) - var/obj/machinery/camera/C = thing - if(state == 1) - C.network -= "Power Alarms" - else - C.network |= "Power Alarms" + var/obj/machinery/camera/C = locateUID(thing) + if(!QDELETED(C)) + if(state == 1) + C.network -= "Power Alarms" + else + C.network |= "Power Alarms" for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item @@ -206,8 +207,9 @@ if(danger_level == ATMOS_ALARM_DANGER) for(var/thing in cameras) - var/obj/machinery/camera/C = thing - C.network |= "Atmosphere Alarms" + var/obj/machinery/camera/C = locateUID(thing) + if(!QDELETED(C)) + C.network |= "Atmosphere Alarms" for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item @@ -221,8 +223,9 @@ else if(atmosalm == ATMOS_ALARM_DANGER) for(var/thing in cameras) - var/obj/machinery/camera/C = thing - C.network -= "Atmosphere Alarms" + var/obj/machinery/camera/C = locateUID(thing) + if(!QDELETED(C)) + C.network -= "Atmosphere Alarms" for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item aiPlayer.cancelAlarm("Atmosphere", src, source) @@ -277,8 +280,9 @@ F.update_icon() for(var/thing in cameras) - var/obj/machinery/camera/C = thing - C.network |= "Fire Alarms" + var/obj/machinery/camera/C = locateUID(thing) + if(!QDELETED(C)) + C.network |= "Fire Alarms" for(var/item in GLOB.alert_consoles) var/obj/machinery/computer/station_alert/a = item @@ -309,8 +313,9 @@ F.update_icon() for(var/thing in cameras) - var/obj/machinery/camera/C = thing - C.network -= "Fire Alarms" + var/obj/machinery/camera/C = locateUID(thing) + if(!QDELETED(C)) + C.network -= "Fire Alarms" for(var/item in GLOB.silicon_mob_list) var/mob/living/silicon/aiPlayer = item diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 28382888af5..62db9341e5c 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -47,7 +47,7 @@ GLOB.cameranet.addCamera(src) if(isturf(loc)) myArea = get_area(src) - LAZYADD(myArea.cameras, src) + LAZYADD(myArea.cameras, UID()) if(is_station_level(z) && prob(3) && !start_active) toggle_cam(null, FALSE) wires.CutAll() @@ -67,7 +67,7 @@ GLOB.cameranet.removeCamera(src) //Will handle removal from the camera network and the chunks, so we don't need to worry about that GLOB.cameranet.cameras -= src if(isarea(myArea)) - LAZYREMOVE(myArea.cameras, src) + LAZYREMOVE(myArea.cameras, UID()) var/area/ai_monitored/A = get_area(src) if(istype(A)) A.motioncameras -= src @@ -295,14 +295,14 @@ GLOB.cameranet.addCamera(src) if(isturf(loc)) myArea = get_area(src) - LAZYADD(myArea.cameras, src) + LAZYADD(myArea.cameras, UID()) else myArea = null else set_light(0) GLOB.cameranet.removeCamera(src) if(isarea(myArea)) - LAZYREMOVE(myArea.cameras, src) + LAZYREMOVE(myArea.cameras, UID()) GLOB.cameranet.updateChunk(x, y, z) var/change_msg = "deactivates" if(status) @@ -333,7 +333,7 @@ /obj/machinery/camera/proc/triggerCameraAlarm() alarm_on = TRUE for(var/mob/living/silicon/S in GLOB.silicon_mob_list) - S.triggerAlarm("Camera", get_area(src), list(src), src) + S.triggerAlarm("Camera", get_area(src), list(UID()), src) /obj/machinery/camera/proc/cancelCameraAlarm() alarm_on = FALSE diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index 1c3f4f30405..47e98006e2a 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -56,7 +56,7 @@ return FALSE for(var/mob/living/silicon/aiPlayer in GLOB.player_list) if(status) - aiPlayer.triggerAlarm("Motion", get_area(src), list(src), src) + aiPlayer.triggerAlarm("Motion", get_area(src), list(UID()), src) visible_message("A red light flashes on the [src]!") detectTime = -1 return TRUE diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 8f9f6ea2390..679fd0c63b3 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -47,7 +47,7 @@ return data -/obj/machinery/computer/station_alert/proc/triggerAlarm(class, area/A, O, obj/alarmsource) +/obj/machinery/computer/station_alert/proc/triggerAlarm(class, area/A, list/O, obj/alarmsource) if(alarmsource.z != z) return if(stat & (BROKEN)) @@ -58,18 +58,10 @@ if(I == A.name) var/list/alarm = L[I] var/list/sources = alarm[3] - if(!(alarmsource in sources)) - sources += alarmsource + if(!(alarmsource.UID() in sources)) + sources += alarmsource.UID() return TRUE - var/obj/machinery/camera/C = null - var/list/CL = null - if(O && islist(O)) - CL = O - if(CL.len == 1) - C = CL[1] - else if(O && istype(O, /obj/machinery/camera)) - C = O - L[A.name] = list(A, (C ? C : O), list(alarmsource)) + L[A.name] = list(get_area_name(A, TRUE), O, list(alarmsource.UID())) update_icon() return TRUE @@ -83,8 +75,8 @@ if(I == A.name) var/list/alarm = L[I] var/list/srcs = alarm[3] - if(origin in srcs) - srcs -= origin + if(origin.UID() in srcs) + srcs -= origin.UID() if(srcs.len == 0) cleared = TRUE L -= I diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 11dfaed5758..2fc14cb9f7c 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -250,20 +250,19 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(L.len) for(var/alarm in L) var/list/alm = L[alarm] - var/area/A = alm[1] + var/area_name = alm[1] var/C = alm[2] var/list/sources = alm[3] dat += "
    " - if(C && istype(C, /list)) + if(C && islist(C)) var/dat2 = "" - for(var/obj/machinery/camera/I in C) - dat2 += text("[][]", (dat2=="") ? "" : " | ", I.c_tag) - dat += text("-- [] ([])", A.name, (dat2!="") ? dat2 : "No Camera") - else if(C && istype(C, /obj/machinery/camera)) - var/obj/machinery/camera/Ctmp = C - dat += text("-- [] ([])", A.name, Ctmp.c_tag) + for(var/thing in C) + var/obj/machinery/camera/I = locateUID(thing) + if(!QDELETED(I)) + dat2 += text("[][]", (dat2 == "") ? "" : " | ", I.c_tag) + dat += text("-- [] ([])", area_name, (dat2 != "") ? dat2 : "No Camera") else - dat += text("-- [] (No Camera)", A.name) + dat += text("-- [] (No Camera)", area_name) if(sources.len > 1) dat += text("- [] sources", sources.len) dat += "
    \n" @@ -819,7 +818,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( Bot.call_bot(src, waypoint) -/mob/living/silicon/ai/triggerAlarm(class, area/A, O, obj/alarmsource) +/mob/living/silicon/ai/triggerAlarm(class, area/A, list/O, obj/alarmsource) if(alarmsource.z != z) return if(stat == DEAD) @@ -829,27 +828,22 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(I == A.name) var/list/alarm = L[I] var/list/sources = alarm[3] - if(!(alarmsource in sources)) - sources += alarmsource + if(!(alarmsource.UID() in sources)) + sources += alarmsource.UID() return TRUE - var/obj/machinery/camera/C = null - var/list/CL = null - if(O && islist(O)) - CL = O - if(CL.len == 1) - C = CL[1] - else if(O && istype(O, /obj/machinery/camera)) - C = O - L[A.name] = list(A, (C ? C : O), list(alarmsource)) + L[A.name] = list(get_area_name(A, TRUE), O, list(alarmsource.UID())) if(O) - if(C && C.can_use()) - queueAlarm("--- [class] alarm detected in [A.name]! ([C.c_tag])", class) - else if(CL && CL.len) + var/obj/machinery/camera/C = locateUID(O[1]) + if(O.len == 1 && !QDELETED(C) && C.can_use()) + queueAlarm("--- [class] alarm detected in [A.name]! ([C.c_tag])", class) + else if(O && O.len) var/foo = 0 var/dat2 = "" - for(var/obj/machinery/camera/I in CL) - dat2 += text("[][]", (!foo) ? "" : " | ", I.c_tag) //I'm not fixing this shit... - foo = 1 + for(var/thing in O) + var/obj/machinery/camera/I = locateUID(thing) + if(!QDELETED(I)) + dat2 += text("[][]", (!foo) ? "" : " | ", I.c_tag) //I'm not fixing this shit... + foo = 1 queueAlarm(text ("--- [] alarm detected in []! ([])", class, A.name, dat2), class) else queueAlarm(text("--- [] alarm detected in []! (No Camera)", class, A.name), class) @@ -866,8 +860,8 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(I == A.name) var/list/alarm = L[I] var/list/srcs = alarm[3] - if(origin in srcs) - srcs -= origin + if(origin.UID() in srcs) + srcs -= origin.UID() if(srcs.len == 0) cleared = TRUE L -= I @@ -882,7 +876,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(!tracking) cameraFollow = null - if(!C || stat == DEAD) //C.can_use()) + if(!C || QDELETED(C) || stat == DEAD) //C.can_use()) return FALSE if(!eyeobj) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index c5877c1a5dd..eefc889dc77 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -557,9 +557,9 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(L.len) for(var/alarm in L) var/list/alm = L[alarm] - var/area/A = alm[1] + var/area_name = alm[1] dat += "" - dat += text("-- [A.name]") + dat += text("-- [area_name]") dat += "
    \n" else dat += "-- All Systems Nominal
    \n" @@ -630,7 +630,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /mob/living/silicon/robot/InCritical() return low_power_mode -/mob/living/silicon/robot/triggerAlarm(class, area/A, O, obj/alarmsource) +/mob/living/silicon/robot/triggerAlarm(class, area/A, list/O, obj/alarmsource) if(alarmsource.z != z) return if(stat == DEAD) @@ -640,18 +640,10 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(I == A.name) var/list/alarm = L[I] var/list/sources = alarm[3] - if(!(alarmsource in sources)) - sources += alarmsource + if(!(alarmsource.UID() in sources)) + sources += alarmsource.UID() return TRUE - var/obj/machinery/camera/C = null - var/list/CL = null - if(O && islist(O)) - CL = O - if(CL.len == 1) - C = CL[1] - else if(O && istype(O, /obj/machinery/camera)) - C = O - L[A.name] = list(A, (C ? C : O), list(alarmsource)) + L[A.name] = list(get_area_name(A, TRUE), O, list(alarmsource.UID())) queueAlarm(text("--- [class] alarm detected in [A.name]!"), class) return TRUE @@ -662,8 +654,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(I == A.name) var/list/alarm = L[I] var/list/srcs = alarm[3] - if(origin in srcs) - srcs -= origin + if(origin.UID() in srcs) + srcs -= origin.UID() if(srcs.len == 0) cleared = 1 L -= I diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm index 76d28827a30..f0015305360 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm @@ -39,7 +39,7 @@ return data -/datum/computer_file/program/alarm_monitor/proc/triggerAlarm(class, area/A, O, obj/alarmsource) +/datum/computer_file/program/alarm_monitor/proc/triggerAlarm(class, area/A, list/O, obj/alarmsource) if(is_station_level(source.z)) if(!(A.type in GLOB.the_station_areas)) return @@ -51,18 +51,10 @@ if(I == A.name) var/list/alarm = L[I] var/list/sources = alarm[3] - if(!(alarmsource in sources)) - sources += alarmsource + if(!(alarmsource.UID() in sources)) + sources += alarmsource.UID() return TRUE - var/obj/machinery/camera/C = null - var/list/CL = null - if(O && islist(O)) - CL = O - if(CL.len == 1) - C = CL[1] - else if(O && istype(O, /obj/machinery/camera)) - C = O - L[A.name] = list(A, (C ? C : O), list(alarmsource)) + L[A.name] = list(get_area_name(A, TRUE), O, list(alarmsource.UID())) update_alarm_display() return TRUE @@ -78,8 +70,8 @@ if(!arealevelalarm) // the traditional behaviour var/list/alarm = L[I] var/list/srcs = alarm[3] - if(origin in srcs) - srcs -= origin + if(origin.UID() in srcs) + srcs -= origin.UID() if(srcs.len == 0) cleared = 1 L -= I From 2fb2fe99f8b2c2a72fdf6a863b1020b6ece728c4 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 11 Jul 2020 13:56:11 -0400 Subject: [PATCH 14/19] centralized alarms --- code/__DEFINES/dcs/signals.dm | 4 + code/controllers/subsystem/alarm.dm | 32 ++++++++ code/game/area/areas.dm | 74 ++++--------------- code/game/machinery/camera/camera.dm | 6 +- code/game/machinery/camera/motion.dm | 13 ++-- code/game/machinery/computer/station_alert.dm | 50 +++++-------- code/modules/mob/living/silicon/ai/ai.dm | 40 ++++------ .../modules/mob/living/silicon/robot/robot.dm | 41 ++++------ code/modules/mob/living/silicon/silicon.dm | 7 +- .../file_system/programs/engineering/alarm.dm | 59 +++++---------- paradise.dme | 1 + 11 files changed, 126 insertions(+), 201 deletions(-) create mode 100644 code/controllers/subsystem/alarm.dm diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 10aa1718dda..26b1d2d44aa 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -726,3 +726,7 @@ #define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" ///from monkey CtrlClickOn(): (/mob) #define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" + +///SSalarm signals +#define COMSIG_TRIGGERED_ALARM "ssalarm_triggered" +#define COMSIG_CANCELLED_ALARM "ssalarm_cancelled" diff --git a/code/controllers/subsystem/alarm.dm b/code/controllers/subsystem/alarm.dm new file mode 100644 index 00000000000..9e310909120 --- /dev/null +++ b/code/controllers/subsystem/alarm.dm @@ -0,0 +1,32 @@ +SUBSYSTEM_DEF(alarm) + name = "Alarm" + flags = SS_NO_INIT | SS_NO_FIRE + var/alarms = list("Motion" = list(), "Fire" = list(), "Atmosphere" = list(), "Power" = list(), "Camera" = list(), "Burglar" = list()) + +/datum/controller/subsystem/alarm/proc/triggerAlarm(class, area/A, list/O, obj/alarmsource) + var/list/L = alarms[class] + for(var/I in L) + if(I == A.name) + var/list/alarm = L[I] + var/list/sources = alarm[3] + if(!(alarmsource.UID() in sources)) + sources += alarmsource.UID() + return TRUE + L[A.name] = list(get_area_name(A, TRUE), O, list(alarmsource.UID())) + SEND_SIGNAL(SSalarm, COMSIG_TRIGGERED_ALARM, class, A, O, alarmsource) + return TRUE + +/datum/controller/subsystem/alarm/proc/cancelAlarm(class, area/A, obj/origin) + var/list/L = alarms[class] + var/cleared = FALSE + for(var/I in L) + if(I == A.name) + var/list/alarm = L[I] + var/list/srcs = alarm[3] + if(origin.UID() in srcs) + srcs -= origin.UID() + if(srcs.len == 0) + cleared = TRUE + L -= I + + SEND_SIGNAL(SSalarm, COMSIG_CANCELLED_ALARM, class, A, origin, cleared) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index ef9cce290c2..9e3dd435a28 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -176,26 +176,10 @@ else C.network |= "Power Alarms" - for(var/item in GLOB.silicon_mob_list) - var/mob/living/silicon/aiPlayer = item - if(state == 1) - aiPlayer.cancelAlarm("Power", src, source) - else - aiPlayer.triggerAlarm("Power", src, cameras, source) - - for(var/item in GLOB.alert_consoles) - var/obj/machinery/computer/station_alert/a = item - if(state == 1) - a.cancelAlarm("Power", src, source) - else - a.triggerAlarm("Power", src, cameras, source) - - /* for(var/item in GLOB.alarmdisplay) //TO-DO:TGUI--Uncomment Modular computers - var/datum/computer_file/program/alarm_monitor/p = item - if(state == 1) - p.cancelAlarm("Power", src, source) - else - p.triggerAlarm("Power", src, cameras, source) */ + if(state == 1) + SSalarm.cancelAlarm("Power", src, source) + else + SSalarm.triggerAlarm("Power", src, cameras, source) /** * Generate an atmospheric alert for this area @@ -211,30 +195,16 @@ if(!QDELETED(C)) C.network |= "Atmosphere Alarms" - for(var/item in GLOB.silicon_mob_list) - var/mob/living/silicon/aiPlayer = item - aiPlayer.triggerAlarm("Atmosphere", src, cameras, source) - for(var/item in GLOB.alert_consoles) - var/obj/machinery/computer/station_alert/a = item - a.triggerAlarm("Atmosphere", src, cameras, source) - /* for(var/item in GLOB.alarmdisplay) //TO-DO:TGUI--Uncomment Modular computers - var/datum/computer_file/program/alarm_monitor/p = item - p.triggerAlarm("Atmosphere", src, cameras, source) */ + + SSalarm.triggerAlarm("Atmosphere", src, cameras, source) else if(atmosalm == ATMOS_ALARM_DANGER) for(var/thing in cameras) var/obj/machinery/camera/C = locateUID(thing) if(!QDELETED(C)) C.network -= "Atmosphere Alarms" - for(var/item in GLOB.silicon_mob_list) - var/mob/living/silicon/aiPlayer = item - aiPlayer.cancelAlarm("Atmosphere", src, source) - for(var/item in GLOB.alert_consoles) - var/obj/machinery/computer/station_alert/a = item - a.cancelAlarm("Atmosphere", src, source) - /* for(var/item in GLOB.alarmdisplay) //TO-DO:TGUI--Uncomment Modular computers - var/datum/computer_file/program/alarm_monitor/p = item - p.cancelAlarm("Atmosphere", src, source) */ + + SSalarm.cancelAlarm("Atmosphere", src, source) atmosalm = danger_level return TRUE @@ -284,15 +254,7 @@ if(!QDELETED(C)) C.network |= "Fire Alarms" - for(var/item in GLOB.alert_consoles) - var/obj/machinery/computer/station_alert/a = item - a.triggerAlarm("Fire", src, cameras, source) - for(var/item in GLOB.silicon_mob_list) - var/mob/living/silicon/aiPlayer = item - aiPlayer.triggerAlarm("Fire", src, cameras, source) -/* for(var/item in GLOB.alarmdisplay) //TO-DO:TGUI--Uncomment Modular computers - var/datum/computer_file/program/alarm_monitor/p = item - p.triggerAlarm("Fire", src, cameras, source) */ + SSalarm.triggerAlarm("Fire", src, cameras, source) START_PROCESSING(SSobj, src) @@ -317,15 +279,7 @@ if(!QDELETED(C)) C.network -= "Fire Alarms" - for(var/item in GLOB.silicon_mob_list) - var/mob/living/silicon/aiPlayer = item - aiPlayer.cancelAlarm("Fire", src, source) - for(var/item in GLOB.alert_consoles) - var/obj/machinery/computer/station_alert/a = item - a.cancelAlarm("Fire", src, source) -/* for(var/item in GLOB.alarmdisplay) //TO-DO:TGUI--Uncomment Modular computers - var/datum/computer_file/program/alarm_monitor/p = item - p.cancelAlarm("Fire", src, source) */ + SSalarm.cancelAlarm("Fire", src, source) STOP_PROCESSING(SSobj, src) @@ -386,11 +340,9 @@ for(var/obj/machinery/door/DOOR in src) close_and_lock_door(DOOR) - for(var/i in GLOB.silicon_mob_list) - var/mob/living/silicon/SILICON = i - if(SILICON.triggerAlarm("Burglar", src, cameras, trigger)) - //Cancel silicon alert after 1 minute - addtimer(CALLBACK(SILICON, /mob/living/silicon.proc/cancelAlarm, "Burglar", src, trigger), 600) + if(SSalarm.triggerAlarm("Burglar", src, cameras, trigger)) + //Cancel silicon alert after 1 minute + addtimer(CALLBACK(SSalarm, /datum/controller/subsystem/alarm.proc/cancelAlarm, "Burglar", src, trigger), 600) /** * Trigger the fire alarm visual affects in an area diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 62db9341e5c..6041cdcf119 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -332,13 +332,11 @@ /obj/machinery/camera/proc/triggerCameraAlarm() alarm_on = TRUE - for(var/mob/living/silicon/S in GLOB.silicon_mob_list) - S.triggerAlarm("Camera", get_area(src), list(UID()), src) + SSalarm.triggerAlarm("Camera", get_area(src), list(UID()), src) /obj/machinery/camera/proc/cancelCameraAlarm() alarm_on = FALSE - for(var/mob/living/silicon/S in GLOB.silicon_mob_list) - S.cancelAlarm("Camera", get_area(src), src) + SSalarm.cancelAlarm("Camera", get_area(src), src) /obj/machinery/camera/proc/can_use() if(!status) diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index 47e98006e2a..9615d4afcce 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -44,20 +44,17 @@ /obj/machinery/camera/proc/cancelAlarm() if(detectTime == -1) - for(var/i in GLOB.silicon_mob_list) - var/mob/living/silicon/aiPlayer = i - if(status) - aiPlayer.cancelAlarm("Motion", get_area(src), src) + if(status) + SSalarm.cancelAlarm("Motion", get_area(src), src) detectTime = 0 return TRUE /obj/machinery/camera/proc/triggerAlarm() if(!detectTime) return FALSE - for(var/mob/living/silicon/aiPlayer in GLOB.player_list) - if(status) - aiPlayer.triggerAlarm("Motion", get_area(src), list(UID()), src) - visible_message("A red light flashes on the [src]!") + if(status) + SSalarm.triggerAlarm("Motion", get_area(src), list(UID()), src) + visible_message("A red light flashes on the [src]!") detectTime = -1 return TRUE diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 679fd0c63b3..244a253d3af 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -8,11 +8,13 @@ circuit = /obj/item/circuitboard/stationalert_engineering var/ui_x = 325 var/ui_y = 500 - var/alarms = list("Fire" = list(), "Atmosphere" = list(), "Power" = list()) + var/list/alarms_listend_for = list("Fire", "Atmosphere", "Power") /obj/machinery/computer/station_alert/Initialize(mapload) . = ..() GLOB.alert_consoles += src + RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, .proc/alarm_triggered) + RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, .proc/alarm_cancelled) /obj/machinery/computer/station_alert/Destroy() GLOB.alert_consoles -= src @@ -40,53 +42,39 @@ var/list/data = list() data["alarms"] = list() - for(var/class in alarms) + for(var/class in SSalarm.alarms) + if(!(class in alarms_listend_for)) + continue data["alarms"][class] = list() - for(var/area in alarms[class]) + for(var/area in SSalarm.alarms[class]) data["alarms"][class] += area return data -/obj/machinery/computer/station_alert/proc/triggerAlarm(class, area/A, list/O, obj/alarmsource) +/obj/machinery/computer/station_alert/proc/alarm_triggered(src, class, area/A, list/O, obj/alarmsource) + if(!(class in alarms_listend_for)) + return if(alarmsource.z != z) return if(stat & (BROKEN)) return - - var/list/L = alarms[class] - for(var/I in L) - if(I == A.name) - var/list/alarm = L[I] - var/list/sources = alarm[3] - if(!(alarmsource.UID() in sources)) - sources += alarmsource.UID() - return TRUE - L[A.name] = list(get_area_name(A, TRUE), O, list(alarmsource.UID())) update_icon() - return TRUE - -/obj/machinery/computer/station_alert/proc/cancelAlarm(class, area/A, obj/origin) +/obj/machinery/computer/station_alert/proc/alarm_cancelled(src, class, area/A, obj/origin, cleared) + if(!(class in alarms_listend_for)) + return + if(origin.z != z) + return if(stat & (BROKEN)) return - var/list/L = alarms[class] - var/cleared = FALSE - for(var/I in L) - if(I == A.name) - var/list/alarm = L[I] - var/list/srcs = alarm[3] - if(origin.UID() in srcs) - srcs -= origin.UID() - if(srcs.len == 0) - cleared = TRUE - L -= I update_icon() - return !cleared /obj/machinery/computer/station_alert/update_icon() var/active_alarms = FALSE - for(var/cat in alarms) - var/list/L = alarms[cat] + for(var/cat in SSalarm.alarms) + if(!(cat in alarms_listend_for)) + continue + var/list/L = SSalarm.alarms[cat] if(L.len) active_alarms = TRUE if(active_alarms) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 2fc14cb9f7c..c922b2f9148 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -50,7 +50,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( var/list/connected_robots = list() var/aiRestorePowerRoutine = 0 //var/list/laws = list() - var/alarms = list("Motion" = list(), "Fire" = list(), "Atmosphere" = list(), "Power" = list(), "Camera" = list(), "Burglar" =list()) + alarms_listend_for = list("Motion", "Fire", "Atmosphere", "Power", "Camera", "Burglar") var/viewalerts = 0 var/icon/holo_icon//Default is assigned when AI is created. var/obj/mecha/controlled_mech //For controlled_mech a mech, to determine whether to relaymove or use the AI eye. @@ -244,9 +244,11 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( /mob/living/silicon/ai/proc/ai_alerts() var/dat = "Current Station Alerts\n" dat += "Close

    " - for(var/cat in alarms) + for(var/cat in SSalarm.alarms) + if(!(cat in alarms_listend_for)) + continue dat += text("[]
    \n", cat) - var/list/L = alarms[cat] + var/list/L = SSalarm.alarms[cat] if(L.len) for(var/alarm in L) var/list/alm = L[alarm] @@ -818,20 +820,13 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( Bot.call_bot(src, waypoint) -/mob/living/silicon/ai/triggerAlarm(class, area/A, list/O, obj/alarmsource) +/mob/living/silicon/ai/alarm_triggered(src, class, area/A, list/O, obj/alarmsource) + if(!(class in alarms_listend_for)) + return if(alarmsource.z != z) return if(stat == DEAD) return TRUE - var/list/L = alarms[class] - for(var/I in L) - if(I == A.name) - var/list/alarm = L[I] - var/list/sources = alarm[3] - if(!(alarmsource.UID() in sources)) - sources += alarmsource.UID() - return TRUE - L[A.name] = list(get_area_name(A, TRUE), O, list(alarmsource.UID())) if(O) var/obj/machinery/camera/C = locateUID(O[1]) if(O.len == 1 && !QDELETED(C) && C.can_use()) @@ -851,25 +846,16 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( queueAlarm(text("--- [] alarm detected in []! (No Camera)", class, A.name), class) if(viewalerts) ai_alerts() - return TRUE -/mob/living/silicon/ai/cancelAlarm(class, area/A, obj/origin) - var/list/L = alarms[class] - var/cleared = FALSE - for(var/I in L) - if(I == A.name) - var/list/alarm = L[I] - var/list/srcs = alarm[3] - if(origin.UID() in srcs) - srcs -= origin.UID() - if(srcs.len == 0) - cleared = TRUE - L -= I +/mob/living/silicon/ai/alarm_cancelled(src, class, area/A, obj/origin, cleared) if(cleared) + if(!(class in alarms_listend_for)) + return + if(origin.z != z) + return queueAlarm("--- [class] alarm in [A.name] has been cleared.", class, 0) if(viewalerts) ai_alerts() - return !cleared /mob/living/silicon/ai/proc/switchCamera(obj/machinery/camera/C) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index eefc889dc77..6bd45688cce 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -72,7 +72,6 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( var/list/req_access var/ident = 0 //var/list/laws = list() - var/alarms = list("Motion"=list(), "Fire"=list(), "Atmosphere"=list(), "Power"=list(), "Camera"=list()) var/viewalerts = 0 var/modtype = "Default" var/lower_mod = 0 @@ -551,9 +550,11 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /mob/living/silicon/robot/proc/robot_alerts() var/dat = "" - for(var/cat in alarms) + for(var/cat in SSalarm.alarms) + if(!(cat in alarms_listend_for)) + continue dat += text("[cat]
    \n") - var/list/L = alarms[cat] + var/list/L = SSalarm.alarms[cat] if(L.len) for(var/alarm in L) var/list/alm = L[alarm] @@ -630,38 +631,22 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /mob/living/silicon/robot/InCritical() return low_power_mode -/mob/living/silicon/robot/triggerAlarm(class, area/A, list/O, obj/alarmsource) +/mob/living/silicon/robot/alarm_triggered(src, class, area/A, list/O, obj/alarmsource) + if(!(class in alarms_listend_for)) + return if(alarmsource.z != z) return if(stat == DEAD) - return TRUE - var/list/L = alarms[class] - for(var/I in L) - if(I == A.name) - var/list/alarm = L[I] - var/list/sources = alarm[3] - if(!(alarmsource.UID() in sources)) - sources += alarmsource.UID() - return TRUE - L[A.name] = list(get_area_name(A, TRUE), O, list(alarmsource.UID())) + return queueAlarm(text("--- [class] alarm detected in [A.name]!"), class) - return TRUE -/mob/living/silicon/robot/cancelAlarm(class, area/A, obj/origin) - var/list/L = alarms[class] - var/cleared = 0 - for(var/I in L) - if(I == A.name) - var/list/alarm = L[I] - var/list/srcs = alarm[3] - if(origin.UID() in srcs) - srcs -= origin.UID() - if(srcs.len == 0) - cleared = 1 - L -= I +/mob/living/silicon/robot/alarm_cancelled(src, class, area/A, obj/origin, cleared) if(cleared) + if(!(class in alarms_listend_for)) + return + if(origin.z != z) + return queueAlarm("--- [class] alarm in [A.name] has been cleared.", class, 0) - return !cleared /mob/living/silicon/robot/ex_act(severity) switch(severity) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index af8f192dda8..48be46c89db 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -13,6 +13,7 @@ var/list/alarms_to_clear = list() var/list/alarm_types_show = list("Motion" = 0, "Fire" = 0, "Atmosphere" = 0, "Power" = 0, "Camera" = 0) var/list/alarm_types_clear = list("Motion" = 0, "Fire" = 0, "Atmosphere" = 0, "Power" = 0, "Camera" = 0) + var/list/alarms_listend_for = list("Motion", "Fire", "Atmosphere", "Power", "Camera") //var/list/hud_list[10] var/list/speech_synthesizer_langs = list() //which languages can be vocalized by the speech synthesizer var/designation = "" @@ -44,6 +45,8 @@ diag_hud_set_health() add_language("Galactic Common") init_subsystems() + RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, .proc/alarm_triggered) + RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, .proc/alarm_cancelled) /mob/living/silicon/med_hud_set_health() return //we use a different hud @@ -55,10 +58,10 @@ GLOB.silicon_mob_list -= src return ..() -/mob/living/silicon/proc/cancelAlarm() +/mob/living/silicon/proc/alarm_triggered(src, class, area/A, list/O, obj/alarmsource) return -/mob/living/silicon/proc/triggerAlarm() +/mob/living/silicon/proc/alarm_cancelled(src, class, area/A, obj/origin, cleared) return /mob/living/silicon/proc/queueAlarm(message, type, incoming = 1) diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm index f0015305360..fe7e107781c 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm @@ -10,9 +10,8 @@ var/tgui_id = "NtosStationAlertConsole" var/ui_x = 315 var/ui_y = 500 - var/has_alert = 0 - var/alarms = list("Fire" = list(), "Atmosphere" = list(), "Power" = list()) + var/list/alarms_listend_for = list("Fire", "Atmosphere", "Power") /datum/computer_file/program/alarm_monitor/process_tick() ..() @@ -32,60 +31,36 @@ var/list/data = get_header_data() data["alarms"] = list() - for(var/class in alarms) + for(var/class in SSalarm.alarms) + if(!(class in alarms_listend_for)) + continue data["alarms"][class] = list() for(var/area in alarms[class]) data["alarms"][class] += area return data -/datum/computer_file/program/alarm_monitor/proc/triggerAlarm(class, area/A, list/O, obj/alarmsource) - if(is_station_level(source.z)) +/datum/computer_file/program/alarm_monitor/proc/alarm_triggered(src, class, area/A, list/O, obj/alarmsource) + if(is_station_level(alarmsource.z)) if(!(A.type in GLOB.the_station_areas)) return - else if(!is_mining_level(source.z) || istype(A, /area/ruin)) + else if(!is_mining_level(alarmsource.z) || istype(A, /area/ruin)) return - - var/list/L = alarms[class] - for(var/I in L) - if(I == A.name) - var/list/alarm = L[I] - var/list/sources = alarm[3] - if(!(alarmsource.UID() in sources)) - sources += alarmsource.UID() - return TRUE - L[A.name] = list(get_area_name(A, TRUE), O, list(alarmsource.UID())) update_alarm_display() - return TRUE - - -/datum/computer_file/program/alarm_monitor/proc/cancelAlarm(class, area/A, obj/origin) - var/list/L = alarms[class] - var/cleared = 0 - var/arealevelalarm = FALSE // set to TRUE for alarms that set/clear whole areas - if(class == "Fire") - arealevelalarm = TRUE - for(var/I in L) - if(I == A.name) - if(!arealevelalarm) // the traditional behaviour - var/list/alarm = L[I] - var/list/srcs = alarm[3] - if(origin.UID() in srcs) - srcs -= origin.UID() - if(srcs.len == 0) - cleared = 1 - L -= I - else - L -= I // wipe the instances entirely - cleared = 1 - +/datum/computer_file/program/alarm_monitor/proc/alarm_cancelled(src, class, area/A, obj/origin, cleared) + if(is_station_level(origin.z)) + if(!(A.type in GLOB.the_station_areas)) + return + else if(!is_mining_level(origin.z) || istype(A, /area/ruin)) + return update_alarm_display() - return !cleared /datum/computer_file/program/alarm_monitor/proc/update_alarm_display() has_alert = FALSE for(var/cat in alarms) + if(!(cat in alarms_listend_for)) + continue var/list/L = alarms[cat] if(L.len) has_alert = TRUE @@ -93,7 +68,11 @@ /datum/computer_file/program/alarm_monitor/run_program(mob/user) . = ..(user) GLOB.alarmdisplay += src + RegisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM, .proc/alarm_triggered) + RegisterSignal(SSalarm, COMSIG_CANCELLED_ALARM, .proc/alarm_cancelled) /datum/computer_file/program/alarm_monitor/kill_program(forced = FALSE) GLOB.alarmdisplay -= src + UnregisterSignal(SSalarm, COMSIG_TRIGGERED_ALARM) + UnregisterSignal(SSalarm, COMSIG_CANCELLED_ALARM) ..() diff --git a/paradise.dme b/paradise.dme index b173e9e03b8..ee45944cb02 100644 --- a/paradise.dme +++ b/paradise.dme @@ -215,6 +215,7 @@ #include "code\controllers\subsystem\acid.dm" #include "code\controllers\subsystem\afk.dm" #include "code\controllers\subsystem\air.dm" +#include "code\controllers\subsystem\alarm.dm" #include "code\controllers\subsystem\assets.dm" #include "code\controllers\subsystem\atoms.dm" #include "code\controllers\subsystem\changelog.dm" From cc96e93bf3aa959b479baee9e572186af9fca99f Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 11 Jul 2020 15:48:47 -0400 Subject: [PATCH 15/19] fixes --- code/controllers/subsystem/alarm.dm | 2 +- code/game/area/areas.dm | 10 +++++----- code/game/machinery/alarm.dm | 4 +++- code/game/machinery/firealarm.dm | 4 ++-- code/modules/power/apc.dm | 15 ++++++++++----- 5 files changed, 21 insertions(+), 14 deletions(-) diff --git a/code/controllers/subsystem/alarm.dm b/code/controllers/subsystem/alarm.dm index 9e310909120..62267e1ff4e 100644 --- a/code/controllers/subsystem/alarm.dm +++ b/code/controllers/subsystem/alarm.dm @@ -1,7 +1,7 @@ SUBSYSTEM_DEF(alarm) name = "Alarm" flags = SS_NO_INIT | SS_NO_FIRE - var/alarms = list("Motion" = list(), "Fire" = list(), "Atmosphere" = list(), "Power" = list(), "Camera" = list(), "Burglar" = list()) + var/list/alarms = list("Motion" = list(), "Fire" = list(), "Atmosphere" = list(), "Power" = list(), "Camera" = list(), "Burglar" = list()) /datum/controller/subsystem/alarm/proc/triggerAlarm(class, area/A, list/O, obj/alarmsource) var/list/L = alarms[class] diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 9e3dd435a28..3c47082d8b5 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -170,7 +170,7 @@ if(istype(source)) //Only report power alarms on the z-level where the source is located. for(var/thing in cameras) var/obj/machinery/camera/C = locateUID(thing) - if(!QDELETED(C)) + if(!QDELETED(C) && is_station_level(C.z)) if(state == 1) C.network -= "Power Alarms" else @@ -192,7 +192,7 @@ for(var/thing in cameras) var/obj/machinery/camera/C = locateUID(thing) - if(!QDELETED(C)) + if(!QDELETED(C) && is_station_level(C.z)) C.network |= "Atmosphere Alarms" @@ -201,7 +201,7 @@ else if(atmosalm == ATMOS_ALARM_DANGER) for(var/thing in cameras) var/obj/machinery/camera/C = locateUID(thing) - if(!QDELETED(C)) + if(!QDELETED(C) && is_station_level(C.z)) C.network -= "Atmosphere Alarms" SSalarm.cancelAlarm("Atmosphere", src, source) @@ -251,7 +251,7 @@ for(var/thing in cameras) var/obj/machinery/camera/C = locateUID(thing) - if(!QDELETED(C)) + if(!QDELETED(C) && is_station_level(C.z)) C.network |= "Fire Alarms" SSalarm.triggerAlarm("Fire", src, cameras, source) @@ -276,7 +276,7 @@ for(var/thing in cameras) var/obj/machinery/camera/C = locateUID(thing) - if(!QDELETED(C)) + if(!QDELETED(C) && is_station_level(C.z)) C.network -= "Fire Alarms" SSalarm.cancelAlarm("Fire", src, source) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 11e67fd1678..5561327573d 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -539,12 +539,14 @@ for(var/obj/machinery/alarm/AA in alarm_area) if(!(AA.stat & (NOPOWER|BROKEN)) && !AA.shorted) new_area_danger_level = max(new_area_danger_level, AA.danger_level) - if(report_danger_level && alarm_area.atmosalert(new_area_danger_level, src)) //if area was in normal state or if area was in alert state + if(alarm_area.atmosalert(new_area_danger_level, src)) //if area was in normal state or if area was in alert state post_alert(new_area_danger_level) update_icon() /obj/machinery/alarm/proc/post_alert(alert_level) + if(!report_danger_level) + return var/datum/radio_frequency/frequency = SSradio.return_frequency(alarm_frequency) if(!frequency) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 03cb622c8e9..b387f404d8c 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -300,13 +300,13 @@ FIRE ALARM time = min(max(round(time), 0), 120) /obj/machinery/firealarm/proc/reset() - if(!working) + if(!working || !report_fire_alarms) return var/area/A = get_area(src) A.firereset(src) /obj/machinery/firealarm/proc/alarm() - if(!working) + if(!working || !report_fire_alarms) return var/area/A = get_area(src) A.firealert(src) // Manually trigger alarms if the alarm isn't reported diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 279fe4b1a1f..a457b6e6b9d 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -1190,27 +1190,31 @@ lighting = autoset(lighting, 1) environ = autoset(environ, 1) autoflag = 3 - area.poweralert(1, src) + if(report_power_alarm) + area.poweralert(1, src) else if(cell.charge < 1250 && cell.charge > 750 && longtermpower < 0) // <30%, turn off equipment if(autoflag != 2) equipment = autoset(equipment, 2) lighting = autoset(lighting, 1) environ = autoset(environ, 1) - area.poweralert(0, src) + if(report_power_alarm) + area.poweralert(0, src) autoflag = 2 else if(cell.charge < 750 && cell.charge > 10) // <15%, turn off lighting & equipment if((autoflag > 1 && longtermpower < 0) || (autoflag > 1 && longtermpower >= 0)) equipment = autoset(equipment, 2) lighting = autoset(lighting, 2) environ = autoset(environ, 1) - area.poweralert(0, src) + if(report_power_alarm) + area.poweralert(0, src) autoflag = 1 else if(cell.charge <= 0) // zero charge, turn all off if(autoflag != 0) equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - area.poweralert(0, src) + if(report_power_alarm) + area.poweralert(0, src) autoflag = 0 // now trickle-charge the cell @@ -1265,7 +1269,8 @@ equipment = autoset(equipment, 0) lighting = autoset(lighting, 0) environ = autoset(environ, 0) - area.poweralert(0, src) + if(report_power_alarm) + area.poweralert(0, src) autoflag = 0 // update icon & area power if anything changed From 119b74e3111be47647c24f038b6cc163e40fc13f Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 11 Jul 2020 19:02:37 -0400 Subject: [PATCH 16/19] z-level-checks --- code/game/machinery/computer/station_alert.dm | 17 +++++++++-- code/modules/mob/living/silicon/ai/ai.dm | 29 +++++++++++-------- .../modules/mob/living/silicon/robot/robot.dm | 20 ++++++++----- 3 files changed, 44 insertions(+), 22 deletions(-) diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 244a253d3af..cdd1a278f78 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -47,7 +47,10 @@ continue data["alarms"][class] = list() for(var/area in SSalarm.alarms[class]) - data["alarms"][class] += area + for(var/thing in SSalarm.alarms[class][area][3]) + var/atom/A = locateUID(thing) + if(A && A.z == z) + data["alarms"][class] += area return data @@ -71,10 +74,18 @@ /obj/machinery/computer/station_alert/update_icon() var/active_alarms = FALSE - for(var/cat in SSalarm.alarms) + var/list/temp_alarm_list = SSalarm.alarms.Copy() + for(var/cat in temp_alarm_list) if(!(cat in alarms_listend_for)) continue - var/list/L = SSalarm.alarms[cat] + var/list/L = temp_alarm_list[cat].Copy() + for(var/alarm in L) + var/list/alm = L[alarm].Copy() + var/list/sources = alm[3].Copy() + for(var/thing in sources) + var/atom/A = locateUID(thing) + if(A && A.z != z) + L -= alarm if(L.len) active_alarms = TRUE if(active_alarms) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index c922b2f9148..1a52789f587 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -244,31 +244,36 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( /mob/living/silicon/ai/proc/ai_alerts() var/dat = "Current Station Alerts\n" dat += "Close

    " - for(var/cat in SSalarm.alarms) + var/list/temp_alarm_list = SSalarm.alarms.Copy() + for(var/cat in temp_alarm_list) if(!(cat in alarms_listend_for)) continue dat += text("[]
    \n", cat) - var/list/L = SSalarm.alarms[cat] - if(L.len) - for(var/alarm in L) - var/list/alm = L[alarm] - var/area_name = alm[1] - var/C = alm[2] - var/list/sources = alm[3] + var/list/L = temp_alarm_list[cat].Copy() + for(var/alarm in L) + var/list/alm = L[alarm].Copy() + var/area_name = alm[1] + var/C = alm[2] + var/list/sources = alm[3].Copy() + for(var/thing in sources) + var/atom/A = locateUID(thing) + if(A && A.z != z) + L -= alarm + continue dat += "" if(C && islist(C)) var/dat2 = "" - for(var/thing in C) - var/obj/machinery/camera/I = locateUID(thing) + for(var/cam in C) + var/obj/machinery/camera/I = locateUID(cam) if(!QDELETED(I)) - dat2 += text("[][]", (dat2 == "") ? "" : " | ", I.c_tag) + dat2 += text("[][]", (dat2 == "") ? "" : " | ", I.c_tag) dat += text("-- [] ([])", area_name, (dat2 != "") ? dat2 : "No Camera") else dat += text("-- [] (No Camera)", area_name) if(sources.len > 1) dat += text("- [] sources", sources.len) dat += "
    \n" - else + if(!L.len) dat += "-- All Systems Nominal
    \n" dat += "
    \n" diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 6bd45688cce..6872aea791d 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -550,19 +550,25 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /mob/living/silicon/robot/proc/robot_alerts() var/dat = "" - for(var/cat in SSalarm.alarms) + var/list/temp_alarm_list = SSalarm.alarms.Copy() + for(var/cat in temp_alarm_list) if(!(cat in alarms_listend_for)) continue dat += text("[cat]
    \n") - var/list/L = SSalarm.alarms[cat] - if(L.len) - for(var/alarm in L) - var/list/alm = L[alarm] - var/area_name = alm[1] + var/list/L = temp_alarm_list[cat].Copy() + for(var/alarm in L) + var/list/alm = L[alarm].Copy() + var/list/sources = alm[3].Copy() + var/area_name = alm[1] + for(var/thing in sources) + var/atom/A = locateUID(thing) + if(A && A.z != z) + L -= alarm + continue dat += "" dat += text("-- [area_name]") dat += "
    \n" - else + if(!L.len) dat += "-- All Systems Nominal
    \n" dat += "
    \n" From e2cb674a27007594cfd93839b197beb86a5f90b7 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 11 Jul 2020 21:30:10 -0400 Subject: [PATCH 17/19] test --- code/game/machinery/computer/station_alert.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 2 +- code/modules/mob/living/silicon/robot/robot.dm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index cdd1a278f78..278ddba4f9e 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -74,7 +74,7 @@ /obj/machinery/computer/station_alert/update_icon() var/active_alarms = FALSE - var/list/temp_alarm_list = SSalarm.alarms.Copy() + var/list/list/temp_alarm_list = SSalarm.alarms.Copy() for(var/cat in temp_alarm_list) if(!(cat in alarms_listend_for)) continue diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 1a52789f587..3a0638e8888 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -244,7 +244,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( /mob/living/silicon/ai/proc/ai_alerts() var/dat = "Current Station Alerts\n" dat += "Close

    " - var/list/temp_alarm_list = SSalarm.alarms.Copy() + var/list/list/temp_alarm_list = SSalarm.alarms.Copy() for(var/cat in temp_alarm_list) if(!(cat in alarms_listend_for)) continue diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 6872aea791d..c9ce1551259 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -550,7 +550,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /mob/living/silicon/robot/proc/robot_alerts() var/dat = "" - var/list/temp_alarm_list = SSalarm.alarms.Copy() + var/list/list/temp_alarm_list = SSalarm.alarms.Copy() for(var/cat in temp_alarm_list) if(!(cat in alarms_listend_for)) continue From 2ea712188dfb666c22f1d3835acb5d0d096085fe Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 11 Jul 2020 21:55:33 -0400 Subject: [PATCH 18/19] compliance --- code/game/machinery/computer/station_alert.dm | 6 +++--- code/modules/mob/living/silicon/ai/ai.dm | 6 +++--- code/modules/mob/living/silicon/robot/robot.dm | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 278ddba4f9e..4d02d2047cd 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -78,10 +78,10 @@ for(var/cat in temp_alarm_list) if(!(cat in alarms_listend_for)) continue - var/list/L = temp_alarm_list[cat].Copy() + var/list/list/L = temp_alarm_list[cat].Copy() for(var/alarm in L) - var/list/alm = L[alarm].Copy() - var/list/sources = alm[3].Copy() + var/list/list/alm = L[alarm].Copy() + var/list/list/sources = alm[3].Copy() for(var/thing in sources) var/atom/A = locateUID(thing) if(A && A.z != z) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 3a0638e8888..d1d61b39add 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -249,12 +249,12 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(!(cat in alarms_listend_for)) continue dat += text("[]
    \n", cat) - var/list/L = temp_alarm_list[cat].Copy() + var/list/list/L = temp_alarm_list[cat].Copy() for(var/alarm in L) - var/list/alm = L[alarm].Copy() + var/list/list/alm = L[alarm].Copy() var/area_name = alm[1] var/C = alm[2] - var/list/sources = alm[3].Copy() + var/list/list/sources = alm[3].Copy() for(var/thing in sources) var/atom/A = locateUID(thing) if(A && A.z != z) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index c9ce1551259..04fa4b55d9f 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -555,10 +555,10 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( if(!(cat in alarms_listend_for)) continue dat += text("[cat]
    \n") - var/list/L = temp_alarm_list[cat].Copy() + var/list/list/L = temp_alarm_list[cat].Copy() for(var/alarm in L) - var/list/alm = L[alarm].Copy() - var/list/sources = alm[3].Copy() + var/list/list/alm = L[alarm].Copy() + var/list/list/sources = alm[3].Copy() var/area_name = alm[1] for(var/thing in sources) var/atom/A = locateUID(thing) From e6bd4b66382f46d0f35acfadcc638d0de74c054a Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sun, 13 Sep 2020 18:33:21 -0400 Subject: [PATCH 19/19] fix ups --- code/_globalvars/lists/objects.dm | 1 - code/controllers/subsystem/alarm.dm | 5 +-- code/game/area/ai_monitored.dm | 4 +- code/game/area/areas.dm | 4 +- code/game/machinery/camera/camera.dm | 1 - code/game/machinery/camera/motion.dm | 2 +- code/game/machinery/computer/station_alert.dm | 4 +- code/modules/mob/living/silicon/ai/ai.dm | 7 ++-- .../modules/mob/living/silicon/robot/robot.dm | 5 ++- code/modules/mob/living/silicon/silicon.dm | 15 ++++--- .../file_system/programs/engineering/alarm.dm | 11 +++--- code/modules/power/apc.dm | 10 ++--- nano/templates/alarm_monitor.tmpl | 39 ------------------- nano/templates/atmos_alert.tmpl | 18 --------- 14 files changed, 35 insertions(+), 91 deletions(-) delete mode 100644 nano/templates/alarm_monitor.tmpl delete mode 100644 nano/templates/atmos_alert.tmpl diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index c1486e4fb5c..7999b36f467 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -9,7 +9,6 @@ GLOBAL_LIST_INIT(mechas_list, list()) //list of all mechs. Used by hostile mo GLOBAL_LIST_INIT(spacepods_list, list()) //list of all space pods. Used by hostile mobs target tracking. GLOBAL_LIST_INIT(joblist, list()) //list of all jobstypes, minus borg and AI GLOBAL_LIST_INIT(airlocks, list()) //list of all airlocks -GLOBAL_LIST_EMPTY(alarmdisplay) //list of all machines or programs that can display station alerts GLOBAL_LIST_INIT(singularities, list()) //list of all singularities GLOBAL_LIST_INIT(janitorial_equipment, list()) //list of janitorial equipment GLOBAL_LIST_INIT(crafting_recipes, list()) //list of all crafting recipes diff --git a/code/controllers/subsystem/alarm.dm b/code/controllers/subsystem/alarm.dm index 62267e1ff4e..3d91d763be3 100644 --- a/code/controllers/subsystem/alarm.dm +++ b/code/controllers/subsystem/alarm.dm @@ -23,9 +23,8 @@ SUBSYSTEM_DEF(alarm) if(I == A.name) var/list/alarm = L[I] var/list/srcs = alarm[3] - if(origin.UID() in srcs) - srcs -= origin.UID() - if(srcs.len == 0) + srcs -= origin.UID() + if(!length(srcs)) cleared = TRUE L -= I diff --git a/code/game/area/ai_monitored.dm b/code/game/area/ai_monitored.dm index 66ddecdd1fe..723574ee949 100644 --- a/code/game/area/ai_monitored.dm +++ b/code/game/area/ai_monitored.dm @@ -13,7 +13,7 @@ /area/ai_monitored/Entered(atom/movable/O) ..() - if(ismob(O) && motioncameras.len) + if(ismob(O) && length(motioncameras)) for(var/X in motioncameras) var/obj/machinery/camera/cam = X cam.newTarget(O) @@ -21,7 +21,7 @@ /area/ai_monitored/Exited(atom/movable/O) ..() - if(ismob(O) && motioncameras.len) + if(ismob(O) && length(motioncameras)) for(var/X in motioncameras) var/obj/machinery/camera/cam = X cam.lostTargetRef(O.UID()) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 3c47082d8b5..de913ac9f91 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -171,12 +171,12 @@ for(var/thing in cameras) var/obj/machinery/camera/C = locateUID(thing) if(!QDELETED(C) && is_station_level(C.z)) - if(state == 1) + if(state) C.network -= "Power Alarms" else C.network |= "Power Alarms" - if(state == 1) + if(state) SSalarm.cancelAlarm("Power", src, source) else SSalarm.triggerAlarm("Power", src, cameras, source) diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index 6041cdcf119..9c2b6c77925 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -46,7 +46,6 @@ GLOB.cameranet.cameras += src GLOB.cameranet.addCamera(src) if(isturf(loc)) - myArea = get_area(src) LAZYADD(myArea.cameras, UID()) if(is_station_level(z) && prob(3) && !start_active) toggle_cam(null, FALSE) diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index 9615d4afcce..7d33361e4b9 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -39,7 +39,7 @@ /obj/machinery/camera/proc/lostTargetRef(uid) var/list/targets = getTargetList() targets -= uid - if(targets.len == 0) + if(length(targets)) cancelAlarm() /obj/machinery/camera/proc/cancelAlarm() diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 4d02d2047cd..3b4631b171a 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -49,7 +49,7 @@ for(var/area in SSalarm.alarms[class]) for(var/thing in SSalarm.alarms[class][area][3]) var/atom/A = locateUID(thing) - if(A && A.z == z) + if(atoms_share_level(A, src)) data["alarms"][class] += area return data @@ -86,7 +86,7 @@ var/atom/A = locateUID(thing) if(A && A.z != z) L -= alarm - if(L.len) + if(length(L)) active_alarms = TRUE if(active_alarms) icon_screen = "alert:2" diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index d1d61b39add..bd3e5543103 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -242,7 +242,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( show_borg_info() /mob/living/silicon/ai/proc/ai_alerts() - var/dat = "Current Station Alerts\n" + var/list/dat = list("Current Station Alerts\n") dat += "Close

    " var/list/list/temp_alarm_list = SSalarm.alarms.Copy() for(var/cat in temp_alarm_list) @@ -278,7 +278,8 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( dat += "
    \n" viewalerts = TRUE - src << browse(dat, "window=aialerts&can_close=0") + var/dat_text = dat.Join("") + src << browse(dat_text, "window=aialerts&can_close=0") /mob/living/silicon/ai/proc/show_borg_info() stat(null, text("Connected cyborgs: [connected_robots.len]")) @@ -867,7 +868,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if(!tracking) cameraFollow = null - if(!C || QDELETED(C) || stat == DEAD) //C.can_use()) + if(QDELETED(C) || stat == DEAD) //C.can_use()) return FALSE if(!eyeobj) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 04fa4b55d9f..85475bf8820 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -549,7 +549,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( robot_alerts() /mob/living/silicon/robot/proc/robot_alerts() - var/dat = "" + var/list/dat = list() var/list/list/temp_alarm_list = SSalarm.alarms.Copy() for(var/cat in temp_alarm_list) if(!(cat in alarms_listend_for)) @@ -573,7 +573,8 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( dat += "
    \n" var/datum/browser/alerts = new(usr, "robotalerts", "Current Station Alerts", 400, 410) - alerts.set_content(dat) + var/dat_text = dat.Join("") + alerts.set_content(dat_text) alerts.open() /mob/living/silicon/robot/proc/ionpulse() diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 48be46c89db..7f9c0849d9c 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -64,7 +64,7 @@ /mob/living/silicon/proc/alarm_cancelled(src, class, area/A, obj/origin, cleared) return -/mob/living/silicon/proc/queueAlarm(message, type, incoming = 1) +/mob/living/silicon/proc/queueAlarm(message, type, incoming = TRUE) var/in_cooldown = (alarms_to_show.len > 0 || alarms_to_clear.len > 0) if(incoming) alarms_to_show += message @@ -82,9 +82,9 @@ if(alarms_to_show.len < 5) for(var/msg in alarms_to_show) to_chat(src, msg) - else if(alarms_to_show.len) + else if(length(alarms_to_show)) - var/msg = "--- " + var/list/msg = list("--- ") if(alarm_types_show["Burglar"]) msg += "BURGLAR: [alarm_types_show["Burglar"]] alarms detected. - " @@ -105,14 +105,15 @@ msg += "CAMERA: [alarm_types_show["Camera"]] alarms detected. - " msg += "\[Show Alerts\]" - to_chat(src, msg) + var/msg_text = msg.Join("") + to_chat(src, msg_text) if(alarms_to_clear.len < 3) for(var/msg in alarms_to_clear) to_chat(src, msg) else if(alarms_to_clear.len) - var/msg = "--- " + var/list/msg = list("--- ") if(alarm_types_clear["Motion"]) msg += "MOTION: [alarm_types_clear["Motion"]] alarms cleared. - " @@ -130,7 +131,9 @@ msg += "CAMERA: [alarm_types_clear["Camera"]] alarms cleared. - " msg += "\[Show Alerts\]" - to_chat(src, msg) + + var/msg_text = msg.Join("") + to_chat(src, msg_text) alarms_to_show.Cut() diff --git a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm index fe7e107781c..2f2f4a08232 100644 --- a/code/modules/modular_computers/file_system/programs/engineering/alarm.dm +++ b/code/modules/modular_computers/file_system/programs/engineering/alarm.dm @@ -21,11 +21,10 @@ ui_header = "alarm_red.gif" update_computer_icon() else - if(!has_alert) - program_icon_state = "alert-green" - ui_header = "alarm_green.gif" - update_computer_icon() - return 1 + program_icon_state = "alert-green" + ui_header = "alarm_green.gif" + update_computer_icon() + return TRUE /datum/computer_file/program/alarm_monitor/tgui_data(mob/user) var/list/data = get_header_data() @@ -62,7 +61,7 @@ if(!(cat in alarms_listend_for)) continue var/list/L = alarms[cat] - if(L.len) + if(length(L)) has_alert = TRUE /datum/computer_file/program/alarm_monitor/run_program(mob/user) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index a457b6e6b9d..208d019ea50 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -1191,14 +1191,14 @@ environ = autoset(environ, 1) autoflag = 3 if(report_power_alarm) - area.poweralert(1, src) + area.poweralert(TRUE, src) else if(cell.charge < 1250 && cell.charge > 750 && longtermpower < 0) // <30%, turn off equipment if(autoflag != 2) equipment = autoset(equipment, 2) lighting = autoset(lighting, 1) environ = autoset(environ, 1) if(report_power_alarm) - area.poweralert(0, src) + area.poweralert(FALSE, src) autoflag = 2 else if(cell.charge < 750 && cell.charge > 10) // <15%, turn off lighting & equipment if((autoflag > 1 && longtermpower < 0) || (autoflag > 1 && longtermpower >= 0)) @@ -1206,7 +1206,7 @@ lighting = autoset(lighting, 2) environ = autoset(environ, 1) if(report_power_alarm) - area.poweralert(0, src) + area.poweralert(FALSE, src) autoflag = 1 else if(cell.charge <= 0) // zero charge, turn all off if(autoflag != 0) @@ -1214,7 +1214,7 @@ lighting = autoset(lighting, 0) environ = autoset(environ, 0) if(report_power_alarm) - area.poweralert(0, src) + area.poweralert(FALSE, src) autoflag = 0 // now trickle-charge the cell @@ -1270,7 +1270,7 @@ lighting = autoset(lighting, 0) environ = autoset(environ, 0) if(report_power_alarm) - area.poweralert(0, src) + area.poweralert(FALSE, src) autoflag = 0 // update icon & area power if anything changed diff --git a/nano/templates/alarm_monitor.tmpl b/nano/templates/alarm_monitor.tmpl deleted file mode 100644 index 5dae051a576..00000000000 --- a/nano/templates/alarm_monitor.tmpl +++ /dev/null @@ -1,39 +0,0 @@ - - -{{for data.categories}} -

    {{:value.category}}

    - {{for value.alarms :alarmValue:alarmIndex}} - {{if alarmValue.origin_lost}} - {{:alarmValue.name}} Alarm Origin Lost
    - {{else}} - {{:alarmValue.name}}
    - {{/if}} - {{if alarmValue.has_cameras || alarmValue.lost_sources != ""}} -
    - {{if alarmValue.has_cameras}} -
    - {{for alarmValue.cameras :cameraValue:cameraIndex}} - {{if cameraValue.deact}} - {{:helper.link(cameraValue.name + " (deactivated)", '', {}, 'inactive')}} - {{else}} - {{:helper.link(cameraValue.name, '', {'switchTo' : cameraValue.camera})}} - {{/if}} - {{/for}} -
    - {{else}} - No cameras found. - {{/if}} - {{if alarmValue.lost_sources != ""}} -
    -

    Lost Alarm Sources: {{:alarmValue.lost_sources}}

    -
    - {{/if}} -
    - {{/if}} - {{empty}} - --All Systems Nominal - {{/for}} -{{/for}} \ No newline at end of file diff --git a/nano/templates/atmos_alert.tmpl b/nano/templates/atmos_alert.tmpl deleted file mode 100644 index bdb6c2c872b..00000000000 --- a/nano/templates/atmos_alert.tmpl +++ /dev/null @@ -1,18 +0,0 @@ -

    Priority Alerts

    -{{for data.priority_alarms}} -
    - {{:value.name}} {{:helper.link('Reset', null, {'clear_alarm' : value.ref})}} -
    -{{empty}} - No priority alerts detected. -{{/for}} - -

    Minor Alerts

    -{{for data.minor_alarms}} -
    - {{:value.name}} {{:helper.link('Reset', null, {'clear_alarm' : value.ref})}} -
    -{{empty}} - No minor alerts detected. -{{/for}} -