diff --git a/.github/workflows/build_rust.yml b/.github/workflows/build_rust.yml index ea3cf500eab5..7cbbdb508445 100644 --- a/.github/workflows/build_rust.yml +++ b/.github/workflows/build_rust.yml @@ -13,7 +13,7 @@ jobs: (github.event.comment.author_association == 'MEMBER') || (github.event.comment.author_association == 'OWNER')) - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 steps: - id: create_token uses: actions/create-github-app-token@v1 @@ -38,7 +38,7 @@ jobs: - name: PR Data run: | pr_json=$(curl -L -s --fail-with-body -H "Authorization: token ${{ github.token }}" ${{ github.event.issue.pull_request.url }}) - if [ `jq -r '.maintainer_can_modify' <<<$pr_json` == "false" ] ; then + if [ `jq -r '.head.repo.id == .base.repo.id' <<<$pr_json` == "false" ] && [ `jq -r '.maintainer_can_modify' <<<$pr_json` == "false" ] ; then gh pr comment ${{ github.event.issue.html_url }} --body 'GitHub Actions can not push to the repository without "Allow edits and access to secrets by maintainers" checked.' echo "FAIL_NOTIFIED=true" >> "$GITHUB_ENV" exit 1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 05ecbb5a80bb..1cfa43d20aa5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -104,7 +104,7 @@ jobs: '/datum/map/cerestation', '/datum/map/emeraldstation', ] - byondtype: ['STABLE'] + byondtype: ['STABLE', 'BETA'] services: mariadb: image: mariadb:latest diff --git a/_build_dependencies.sh b/_build_dependencies.sh index 552b2f4d155c..480502ecd419 100644 --- a/_build_dependencies.sh +++ b/_build_dependencies.sh @@ -8,9 +8,9 @@ export STABLE_BYOND_MAJOR=515 # Stable Byond Minor export STABLE_BYOND_MINOR=1633 # Beta Byond Major - Uncomment and update if beta cycle active -#export BETA_BYOND_MAJOR=515 +export BETA_BYOND_MAJOR=516 # Beta Byond Minor - Uncomment and update if beta cycle active -#export BETA_BYOND_MINOR=1633 +export BETA_BYOND_MINOR=1648 # Python version for mapmerge and other tools export PYTHON_VERSION=3.11.6 # RUSTG version diff --git a/_maps/__MAP_DEFINES.dm b/_maps/__MAP_DEFINES.dm index f006f823bd78..8f55a0aea114 100644 --- a/_maps/__MAP_DEFINES.dm +++ b/_maps/__MAP_DEFINES.dm @@ -29,6 +29,8 @@ #define SPAWN_RUINS "Spawn Ruins" /// A level that can be navigated to through space, but for real this time. #define REACHABLE_SPACE_ONLY "Reachable Space Only" + /// A level used for spawning map areas in tests + #define GAME_TEST_LEVEL "Game Test Level" // Level names #define MAIN_STATION "Main Station" diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm index b701d975b9d8..2b6384947624 100644 --- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm +++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_greed.dmm @@ -14,7 +14,7 @@ /area/ruin/powered/greed) "e" = ( /obj/structure/table/wood/poker, -/obj/item/gun/projectile/revolver/russian/soul, +/obj/item/toy/russian_revolver/soul, /obj/machinery/light/small{ dir = 1 }, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/debris1.dmm b/_maps/map_files/RandomRuins/SpaceRuins/debris1.dmm index 160a2e7dc741..354deb775f47 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/debris1.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/debris1.dmm @@ -43,7 +43,7 @@ /turf/template_noop, /area/template_noop) "ao" = ( -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/template_noop, /area/template_noop) "ap" = ( @@ -85,7 +85,7 @@ /turf/simulated/floor/plating/airless, /area/template_noop) "aG" = ( -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /turf/simulated/floor/plating/burnt/airless, /area/template_noop) "aI" = ( diff --git a/_maps/map_files/RandomRuins/SpaceRuins/debris3.dmm b/_maps/map_files/RandomRuins/SpaceRuins/debris3.dmm index e4796d69108f..419dbd23ad01 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/debris3.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/debris3.dmm @@ -36,7 +36,7 @@ /turf/template_noop, /area/template_noop) "k" = ( -/obj/random/plushie, +/obj/effect/spawner/random/plushies, /turf/template_noop, /area/template_noop) "l" = ( @@ -83,7 +83,7 @@ /turf/simulated/floor/plating/damaged/airless, /area/template_noop) "A" = ( -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/template_noop, /area/template_noop) "B" = ( @@ -95,7 +95,7 @@ /turf/template_noop, /area/template_noop) "F" = ( -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plating/damaged/airless, /area/template_noop) "G" = ( diff --git a/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm b/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm index 4435ee1f2c52..a57154509b6a 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/derelict5.dmm @@ -172,7 +172,7 @@ /area/ruin/space/unpowered) "xQ" = ( /obj/structure/table, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /turf/simulated/floor/plasteel, /area/ruin/space/unpowered) "yq" = ( diff --git a/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm b/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm index dea5f39dc337..525d34dae908 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/moonoutpost19.dmm @@ -9964,7 +9964,7 @@ pixel_y = 7; pixel_x = -3 }, -/obj/item/clothing/accessory/horrible{ +/obj/item/clothing/neck/tie/horrible{ pixel_y = -2; pixel_x = 2 }, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm index bf7c80ce1d9a..af97fb7f18aa 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm @@ -1127,7 +1127,7 @@ icon_state = "0-8" }, /obj/structure/closet/crate/medical, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/healthanalyzer, /obj/item/reagent_containers/iv_bag/blood/o_minus, /obj/item/reagent_containers/iv_bag/blood/o_minus, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm index 27969a1dfc4c..e72adf279475 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/spacebar.dmm @@ -223,7 +223,7 @@ }, /area/ruin/space/powered/bar) "aY" = ( -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/stack/medical/bruise_pack/advanced, /obj/item/scalpel, /obj/structure/table, diff --git a/_maps/map_files/RandomRuins/SpaceRuins/syndie_space_base.dmm b/_maps/map_files/RandomRuins/SpaceRuins/syndie_space_base.dmm index 843dad6c0147..8a778e8388e2 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/syndie_space_base.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/syndie_space_base.dmm @@ -3435,7 +3435,7 @@ }, /area/ruin/unpowered/syndicate_space_base/storage) "uy" = ( -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkred" @@ -7950,7 +7950,7 @@ /obj/item/storage/belt/medical, /obj/item/crowbar, /obj/item/clothing/glasses/hud/health, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/structure/table, /turf/simulated/floor/plasteel{ icon_state = "whiteblue" diff --git a/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm b/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm index d6fe33d80a74..0fef45873213 100644 --- a/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm +++ b/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm @@ -551,7 +551,7 @@ /area/ruin/space/syndicakefactory) "uU" = ( /obj/structure/rack, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/engine, /area/ruin/space/syndicakefactory) "vo" = ( diff --git a/_maps/map_files/generic/Lavaland.dmm b/_maps/map_files/generic/Lavaland.dmm index f5f407d79ccf..0356b3cf14b1 100644 --- a/_maps/map_files/generic/Lavaland.dmm +++ b/_maps/map_files/generic/Lavaland.dmm @@ -1416,7 +1416,7 @@ /area/mine/outpost/hallway/west) "dU" = ( /obj/structure/rack, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plating, /area/mine/outpost/maintenance/south) "dV" = ( diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm index 41ef9d6a4b42..74893a0466a7 100644 --- a/_maps/map_files/generic/centcomm.dmm +++ b/_maps/map_files/generic/centcomm.dmm @@ -6403,8 +6403,7 @@ /area/admin) "vJ" = ( /obj/structure/table, -/obj/random/toolbox, -/obj/random/bomb_supply, +/obj/effect/spawner/random/engineering/toolbox, /obj/machinery/syndicatebomb/badmin/clown, /turf/simulated/floor/plasteel/dark, /area/admin) @@ -6602,7 +6601,6 @@ "wx" = ( /obj/structure/table, /obj/item/tank/internals/oxygen/yellow, -/obj/random/bomb_supply, /obj/item/clothing/under/costume/rebeloutfit, /obj/item/clothing/suit/poncho/ponchoshame, /obj/item/clothing/head/sombrero/shamebrero, @@ -6746,7 +6744,7 @@ /area/admin) "wT" = ( /obj/structure/table, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/item/clothing/gloves/color/yellow, /obj/item/pinpointer/advpinpointer, /turf/simulated/floor/plasteel/dark, @@ -12325,7 +12323,10 @@ /area/centcom/control) "Rh" = ( /obj/structure/table, -/obj/random/powercell, +/obj/item/stock_parts/cell, +/obj/item/stock_parts/cell/high, +/obj/item/stock_parts/cell/super, +/obj/item/stock_parts/cell/hyper, /turf/simulated/floor/plasteel, /area/admin) "Ri" = ( @@ -12365,8 +12366,7 @@ /area/centcom/evac) "Rn" = ( /obj/structure/table, -/obj/random/tool, -/obj/random/bomb_supply, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plasteel, /area/admin) "Ro" = ( @@ -12824,8 +12824,6 @@ /area/admin) "To" = ( /obj/structure/table, -/obj/random/technology_scanner, -/obj/random/tech_supply, /turf/simulated/floor/plasteel, /area/admin) "Tp" = ( @@ -13609,7 +13607,6 @@ "Wt" = ( /obj/structure/table, /obj/item/clothing/gloves/color/yellow, -/obj/random/bomb_supply, /turf/simulated/floor/plasteel, /area/admin) "Wu" = ( diff --git a/_maps/map_files/shuttles/emergency_shadow.dmm b/_maps/map_files/shuttles/emergency_shadow.dmm index a7d91591e328..f5aa7fa5d8f9 100644 --- a/_maps/map_files/shuttles/emergency_shadow.dmm +++ b/_maps/map_files/shuttles/emergency_shadow.dmm @@ -154,7 +154,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 5 }, -/turf/simulated/floor/engine/plasma, +/obj/structure/plasmafire_generator/shadow, +/turf/simulated/floor/engine/airless, /area/shuttle/escape) "ge" = ( /obj/structure/table/glass/reinforced/plastitanium, @@ -230,9 +231,6 @@ }, /turf/simulated/floor/catwalk, /area/shuttle/escape) -"jR" = ( -/turf/simulated/floor/engine/o2, -/area/shuttle/escape) "kx" = ( /obj/structure/chair/comfy/shuttle, /turf/simulated/floor/mineral/plastitanium/red/brig, @@ -354,7 +352,8 @@ /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 4 }, -/turf/simulated/floor/engine/plasma, +/obj/structure/plasmafire_generator/shadow, +/turf/simulated/floor/engine/airless, /area/shuttle/escape) "pi" = ( /obj/effect/turf_decal/stripes/white/line{ @@ -565,7 +564,8 @@ }, /area/shuttle/escape) "zj" = ( -/turf/simulated/floor/engine/plasma, +/obj/structure/plasmafire_generator/shadow, +/turf/simulated/floor/engine/airless, /area/shuttle/escape) "zs" = ( /obj/structure/reagent_dispensers/fueltank, @@ -639,7 +639,8 @@ /area/template_noop) "CD" = ( /obj/machinery/igniter/shadow, -/turf/simulated/floor/engine/plasma, +/obj/structure/plasmafire_generator/shadow, +/turf/simulated/floor/engine/airless, /area/shuttle/escape) "CK" = ( /obj/structure/shuttle/engine/propulsion/burst{ @@ -680,7 +681,8 @@ /area/shuttle/escape) "DY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, -/turf/simulated/floor/engine/plasma, +/obj/structure/plasmafire_generator/shadow, +/turf/simulated/floor/engine/airless, /area/shuttle/escape) "DZ" = ( /obj/effect/turf_decal/stripes/red/corner{ @@ -739,7 +741,8 @@ dir = 4; invisibility = 99 }, -/turf/simulated/floor/engine/plasma, +/obj/structure/plasmafire_generator/shadow, +/turf/simulated/floor/engine/airless, /area/shuttle/escape) "Gx" = ( /obj/structure/extinguisher_cabinet{ @@ -1151,7 +1154,8 @@ dir = 9 }, /obj/machinery/atmospherics/meter, -/turf/simulated/floor/engine/plasma, +/obj/structure/plasmafire_generator/shadow, +/turf/simulated/floor/engine/airless, /area/shuttle/escape) "Xp" = ( /obj/structure/marker_beacon/dock_marker/collision, @@ -1357,9 +1361,9 @@ Lv OL Bu tb -jR +zj CD -jR +zj cX wF cH diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm index e6561fae7009..a6b710cfb132 100644 --- a/_maps/map_files/stations/boxstation.dmm +++ b/_maps/map_files/stations/boxstation.dmm @@ -5271,6 +5271,24 @@ icon_state = "darkredcorners" }, /area/station/security/brig) +"atD" = ( +/obj/structure/chair/comfy/brown, +/obj/machinery/door/window/classic/normal{ + name = "Glass Door" + }, +/obj/effect/landmark/start/nanotrasen_career_trainer, +/obj/machinery/door_control{ + id = "nct"; + name = "Office Door"; + normaldoorcontrol = 1; + pixel_x = -25; + req_access = list(80); + pixel_y = -1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreenfull" + }, +/area/station/procedure/trainer_office) "atE" = ( /obj/structure/cable{ icon_state = "1-2" @@ -12915,14 +12933,12 @@ /turf/simulated/wall, /area/station/hallway/secondary/garden) "aTv" = ( -/obj/effect/turf_decal/delivery/blue/hollow, -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, +/obj/machinery/economy/vending/traindrobe, /turf/simulated/floor/plasteel{ - icon_state = "darkbluefull" + dir = 9; + icon_state = "darkgreen" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "aTw" = ( /obj/structure/cable{ icon_state = "1-2" @@ -12930,20 +12946,15 @@ /turf/simulated/floor/plating, /area/station/maintenance/fpmaint) "aTx" = ( -/obj/effect/turf_decal/delivery/blue/hollow, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/remains/xeno, /turf/simulated/floor/plasteel{ - icon_state = "darkbluefull" + icon_state = "dark" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "aTy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, /turf/simulated/floor/plasteel{ - icon_state = "darkbluefull" + icon_state = "darkgreenfull" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "aTz" = ( /obj/structure/cable{ icon_state = "1-2" @@ -13373,11 +13384,8 @@ /turf/simulated/wall/r_wall, /area/station/command/vault) "aUF" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/station/maintenance/fpmaint) +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "aUG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -13391,10 +13399,20 @@ }, /area/station/public/dorms) "aUH" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer, +/obj/machinery/door/window/reinforced/normal{ + name = "NCT" + }, /turf/simulated/floor/plasteel{ - icon_state = "darkbluefull" + dir = 4; + icon_state = "darkgreen" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "aUI" = ( /obj/structure/window/reinforced{ dir = 1 @@ -15235,17 +15253,24 @@ /area/station/public/storage/tools) "bam" = ( /obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/plasteel{ - icon_state = "dark" +/obj/effect/turf_decal/woodsiding{ + dir = 8 }, -/area/station/maintenance/fpmaint) +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "ban" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - icon_state = "dark" +/obj/effect/turf_decal/woodsiding{ + dir = 4 }, -/area/station/maintenance/fpmaint) +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "bao" = ( /obj/machinery/status_display{ layer = 4; @@ -16762,11 +16787,13 @@ }, /area/station/public/dorms) "bfe" = ( -/obj/effect/decal/cleanable/dirt, +/obj/machinery/photocopier, +/obj/structure/window/reinforced, /turf/simulated/floor/plasteel{ - icon_state = "darkbluefull" + dir = 8; + icon_state = "darkgreen" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "bfi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -17302,20 +17329,15 @@ /turf/simulated/floor/plasteel, /area/station/hallway/primary/port/east) "bgK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "darkbluecorners" +/obj/structure/chair/comfy/brown, +/obj/machinery/door/window/classic/normal{ + name = "Glass Door" }, -/area/station/maintenance/fpmaint) -"bgL" = ( -/mob/living/simple_animal/cockroach, +/obj/effect/landmark/start/nanotrasen_career_trainer, /turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "darkbluecorners" + icon_state = "darkgreenfull" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "bgM" = ( /obj/structure/table/glass, /obj/item/hatchet, @@ -17619,33 +17641,30 @@ /turf/simulated/floor/plasteel, /area/station/public/storage/office) "bhG" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, +/obj/item/flag/nt, +/obj/machinery/camera{ + c_tag = "Career Trainer's Office" + }, /turf/simulated/floor/plasteel{ - icon_state = "darkbluefull" + dir = 9; + icon_state = "darkgreen" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "bhH" = ( /obj/machinery/status_display{ layer = 4; pixel_x = -32 }, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "darkblue" - }, -/area/station/maintenance/fpmaint) +/obj/structure/filingcabinet, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "bhI" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "darkblue" +/obj/structure/table/wood, +/obj/effect/turf_decal/woodsiding{ + dir = 9 }, -/area/station/maintenance/fpmaint) +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "bhK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -17696,13 +17715,13 @@ /obj/machinery/ai_status_display{ pixel_x = 32 }, -/obj/effect/turf_decal/delivery/hollow, -/obj/structure/ore_box, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "darkblue" +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/area/station/maintenance/fpmaint) +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "bhQ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -17996,6 +18015,12 @@ "biH" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "blue" @@ -18909,14 +18934,8 @@ }, /area/station/service/hydroponics) "blf" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/structure/ore_box, -/obj/effect/turf_decal/delivery/hollow, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "darkbluecorners" - }, -/area/station/maintenance/fpmaint) +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "blg" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/plasteel, @@ -19231,13 +19250,13 @@ /area/station/service/kitchen) "bmk" = ( /obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/delivery/hollow, -/obj/structure/ore_box, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "darkbluecorners" +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/area/station/maintenance/fpmaint) +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "bmm" = ( /turf/simulated/floor/plasteel, /area/station/hallway/secondary/exit) @@ -19426,14 +19445,6 @@ }, /turf/simulated/floor/wood, /area/station/service/bar) -"bmN" = ( -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/central/nw) "bmO" = ( /turf/simulated/floor/plasteel{ icon_state = "chapel" @@ -20311,6 +20322,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/nw) "bpn" = ( @@ -20684,6 +20696,7 @@ "bqq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "stairs-m" }, @@ -21145,6 +21158,7 @@ "brJ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/nw) "brK" = ( @@ -21295,7 +21309,7 @@ }, /area/station/hallway/secondary/entry) "bsi" = ( -/obj/random/plushie, +/obj/effect/spawner/random/plushies, /turf/simulated/floor/plating, /area/station/maintenance/apmaint) "bsk" = ( @@ -21951,6 +21965,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/nw) "bun" = ( @@ -22592,6 +22607,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/nw) "bwC" = ( @@ -23840,6 +23856,7 @@ /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/nw) "bCu" = ( @@ -24164,14 +24181,6 @@ }, /turf/simulated/floor/plasteel, /area/station/supply/sorting) -"bDO" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/central/west) "bDP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -24956,16 +24965,6 @@ /obj/structure/closet/crate/freezer, /turf/simulated/floor/plasteel, /area/station/supply/warehouse) -"bGZ" = ( -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/central/west) "bHc" = ( /obj/structure/disposaloutlet{ dir = 4 @@ -25691,12 +25690,28 @@ }, /area/station/medical/reception) "bJC" = ( -/obj/structure/rack, -/obj/item/poster/random_contraband, +/obj/machinery/power/apc/directional/north, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/button/windowtint{ + id = "NCT"; + pixel_x = 24; + dir = 8; + pixel_y = 5 + }, +/obj/machinery/light_switch{ + dir = 8; + name = "east bump"; + pixel_x = 24; + pixel_y = -5 + }, /turf/simulated/floor/plasteel{ - icon_state = "darkbluefull" + dir = 5; + icon_state = "darkgreen" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "bJE" = ( /obj/machinery/light{ dir = 8 @@ -26321,16 +26336,6 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/plasteel, /area/station/supply/sorting) -"bMm" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/central/west) "bMn" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -26790,14 +26795,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/station/supply/sorting) -"bNY" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/central/west) "bOd" = ( /obj/machinery/door/poddoor{ id_tag = "trash"; @@ -27336,6 +27333,7 @@ /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/sw) "bQo" = ( @@ -27846,11 +27844,11 @@ /area/station/medical/reception) "bSy" = ( /obj/structure/table, -/obj/item/clothing/accessory/stethoscope, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 3 }, /obj/item/flashlight/pen{ @@ -28507,6 +28505,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 6 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plasteel, /area/station/supply/lobby) "bUW" = ( @@ -28517,6 +28518,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plasteel, /area/station/supply/lobby) "bUX" = ( @@ -28526,6 +28530,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plasteel, /area/station/supply/lobby) "bUY" = ( @@ -28535,6 +28542,9 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment/corner{ + dir = 8 + }, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/sw) "bUZ" = ( @@ -28544,6 +28554,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "browncorner" @@ -38203,32 +38216,36 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" +/obj/effect/turf_decal/woodsiding{ + dir = 10 }, -/area/station/maintenance/fpmaint) +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "cGV" = ( /obj/item/radio/intercom{ name = "west bump"; pixel_x = -28 }, -/obj/effect/turf_decal/delivery/hollow, -/obj/structure/ore_box, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "darkbluecorners" +/obj/machinery/light{ + dir = 8 }, -/area/station/maintenance/fpmaint) +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "cGX" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - icon_state = "dark" +/obj/effect/turf_decal/woodsiding{ + dir = 6 }, -/area/station/maintenance/fpmaint) +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "cGY" = ( /obj/structure/chair{ dir = 8 @@ -38249,11 +38266,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/mob/living/simple_animal/mouse/gray, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/station/maintenance/fpmaint) +/obj/effect/turf_decal/woodsiding, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "cHb" = ( /obj/machinery/status_display{ layer = 4; @@ -39783,9 +39798,7 @@ /area/station/engineering/break_room) "cMX" = ( /obj/machinery/alarm/directional/east, -/obj/structure/table, -/obj/item/storage/toolbox/mechanical, -/obj/item/t_scanner, +/obj/machinery/autolathe, /turf/simulated/floor/plasteel, /area/station/engineering/break_room) "cNb" = ( @@ -39978,7 +39991,8 @@ /area/station/engineering/break_room) "cNP" = ( /obj/structure/table, -/obj/item/folder/yellow, +/obj/item/storage/toolbox/mechanical, +/obj/item/t_scanner, /turf/simulated/floor/plasteel, /area/station/engineering/break_room) "cNS" = ( @@ -42854,11 +42868,9 @@ /area/station/engineering/smes) "cYN" = ( /obj/machinery/alarm/directional/west, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "darkbluecorners" - }, -/area/station/maintenance/fpmaint) +/obj/item/kirbyplants, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "cYO" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/plasteel{ @@ -42882,10 +42894,16 @@ "cYS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/plasteel{ - icon_state = "dark" +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/area/station/maintenance/fpmaint) +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "cYT" = ( /obj/machinery/atmospherics/trinary/tvalve/digital/flipped, /turf/simulated/floor/plasteel, @@ -45645,10 +45663,6 @@ /obj/machinery/camera{ c_tag = "Central Hallway North-West" }, -/obj/structure/extinguisher_cabinet{ - name = "north bump"; - pixel_y = 30 - }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "bluecorner" @@ -45663,6 +45677,10 @@ /obj/machinery/light{ dir = 1 }, +/obj/structure/extinguisher_cabinet{ + name = "north bump"; + pixel_y = 30 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "bluecorner" @@ -50004,6 +50022,17 @@ icon_state = "bar" }, /area/station/security/permabrig) +"eum" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/central/west) "euu" = ( /obj/machinery/atmospherics/pipe/manifold/visible{ dir = 8 @@ -50340,6 +50369,16 @@ }, /turf/simulated/floor/plasteel, /area/station/security/main) +"eDU" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "eDZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -54353,6 +54392,9 @@ }, /turf/simulated/floor/engine, /area/station/engineering/engine/supermatter) +"gHr" = ( +/turf/simulated/wall, +/area/station/procedure/trainer_office) "gHJ" = ( /obj/machinery/door/window/brigdoor{ dir = 1; @@ -54627,11 +54669,12 @@ /turf/space, /area/space/nearstation) "gNX" = ( -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "darkblue" +/obj/structure/table/wood, +/obj/effect/turf_decal/woodsiding{ + dir = 5 }, -/area/station/maintenance/fpmaint) +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "gOd" = ( /obj/structure/chair{ dir = 1 @@ -55314,6 +55357,22 @@ }, /turf/simulated/floor/grass/jungle/no_creep, /area/station/command/bridge) +"hdm" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/central/nw) "hdr" = ( /turf/simulated/floor/plasteel{ dir = 8; @@ -56700,7 +56759,7 @@ "hRq" = ( /obj/machinery/firealarm/directional/north, /obj/structure/table, -/obj/random/plushie, +/obj/effect/spawner/random/plushies, /obj/machinery/light/small{ dir = 1 }, @@ -57185,6 +57244,19 @@ /obj/machinery/power/apc/directional/north, /turf/simulated/floor/plasteel, /area/station/hallway/primary/starboard/east) +"igI" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/central/west) "igR" = ( /obj/machinery/door/airlock/public/glass, /obj/effect/mapping_helpers/airlock/autoname, @@ -57505,14 +57577,6 @@ }, /turf/simulated/floor/plasteel, /area/station/maintenance/turbine) -"ioq" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/central/west) "iot" = ( /obj/effect/decal/cleanable/ash, /obj/effect/decal/cleanable/dirt, @@ -59835,6 +59899,16 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/engine/xenobio, /area/station/science/xenobiology) +"jAU" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "jCr" = ( /obj/structure/table, /obj/item/storage/firstaid/adv{ @@ -59981,6 +60055,16 @@ /obj/structure/shelf/service, /turf/simulated/floor/plasteel, /area/station/service/janitor) +"jFW" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 8 + }, +/obj/effect/turf_decal/woodsiding{ + dir = 1 + }, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "jGd" = ( /obj/effect/spawner/window/reinforced/grilled, /obj/structure/cable{ @@ -60897,6 +60981,12 @@ /obj/structure/closet/emcloset, /turf/simulated/floor/plating, /area/station/maintenance/asmaint) +"kgz" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/central/sw) "khl" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable{ @@ -61495,12 +61585,35 @@ "kwE" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/door/airlock/command/glass{ + name = "Trainer's Office"; + id_tag = "nct" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "NCT" + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "kwG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/spawner/nukedisc_respawn, @@ -62612,12 +62725,20 @@ /turf/simulated/floor/plating, /area/station/maintenance/asmaint2) "kYq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/structure/window/reinforced, /turf/simulated/floor/plasteel{ - icon_state = "dark" + icon_state = "darkgreenfull" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "kYB" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan, /obj/machinery/atmospherics/pipe/simple/visible/yellow{ @@ -63982,9 +64103,9 @@ icon_state = "4-8" }, /obj/machinery/camera{ - c_tag = "Prison Solitary Confinement 2"; dir = 6; - network = list("Prison","SS13") + network = list("Engineering","SS13"); + c_tag = "Power Transmission Laser" }, /turf/simulated/floor/plasteel, /area/station/engineering/transmission_laser) @@ -64324,7 +64445,7 @@ /obj/structure/safe/floor{ known_by = list("captain") }, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /obj/item/reagent_containers/drinks/bottle/absinthe/premium, /obj/item/lighter/zippo/nt_rep, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, @@ -66361,6 +66482,12 @@ icon_state = "whiteblue" }, /area/station/medical/medbay2) +"mUR" = ( +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "mVd" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -67210,6 +67337,12 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/simulated/floor/plasteel, /area/station/maintenance/asmaint) +"nxW" = ( +/obj/structure/disposalpipe/junction{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/station/supply/lobby) "nxX" = ( /obj/structure/cable{ icon_state = "1-4" @@ -71423,7 +71556,7 @@ "pAM" = ( /obj/structure/table, /obj/item/soap/deluxe, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/station/maintenance/aft) @@ -73282,14 +73415,16 @@ /turf/simulated/floor/carpet/green, /area/station/command/bridge) "qvo" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/effect/decal/cleanable/dirt, -/obj/structure/ore_box, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "darkbluecorners" +/obj/machinery/light{ + dir = 4 }, -/area/station/maintenance/fpmaint) +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "qvO" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -74508,12 +74643,12 @@ /turf/simulated/floor/plating, /area/station/maintenance/fore) "qZX" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "darkbluecorners" +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/area/station/maintenance/fpmaint) +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "rac" = ( /obj/structure/bed, /obj/item/bedsheet/medical, @@ -75038,10 +75173,11 @@ /turf/simulated/floor/plating, /area/station/maintenance/aft) "rmK" = ( -/turf/simulated/floor/plasteel{ - icon_state = "dark" +/obj/structure/chair/sofa/left{ + dir = 1 }, -/area/station/maintenance/fpmaint) +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "rmT" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan{ dir = 1 @@ -75680,6 +75816,19 @@ /obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/wood, /area/station/maintenance/apmaint2) +"rFd" = ( +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/central/west) "rFe" = ( /obj/structure/chair/sofa/bench{ dir = 4 @@ -76309,6 +76458,12 @@ }, /turf/simulated/floor/engine, /area/station/engineering/control) +"rWJ" = ( +/obj/structure/chair/sofa/right{ + dir = 1 + }, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "rWS" = ( /obj/machinery/camera{ c_tag = "Engineering Supermatter Port"; @@ -77785,7 +77940,7 @@ /turf/simulated/floor/plasteel, /area/station/public/dorms) "sPu" = ( -/obj/item/clothing/suit/mantle/old, +/obj/item/clothing/neck/cloak/old, /turf/simulated/floor/carpet, /area/station/maintenance/asmaint) "sPw" = ( @@ -79446,7 +79601,7 @@ "tMs" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/spawner/random/blood/often, -/obj/random/mech, +/obj/effect/spawner/random/toy/mech_figure, /turf/simulated/floor/plating, /area/station/maintenance/disposal) "tMC" = ( @@ -79828,7 +79983,7 @@ /area/station/hallway/primary/aft/south) "tUd" = ( /obj/structure/closet/cabinet, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/crowbar, /obj/effect/landmark/spawner/nukedisc_respawn, /obj/effect/spawner/random/cobweb/left/frequent, @@ -84406,6 +84561,17 @@ }, /turf/simulated/floor/plating, /area/station/science/robotics) +"wxi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/central/west) "wxp" = ( /obj/machinery/alarm/directional/north, /obj/machinery/light{ @@ -84991,11 +85157,32 @@ icon_state = "dark" }, /area/station/aisat/service) +"wNl" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/central/west) "wNM" = ( /obj/structure/sign/vacuum/external, /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, /area/station/supply/storage) +"wNQ" = ( +/obj/structure/closet, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "wNT" = ( /obj/structure/sign/bobross{ pixel_y = 32 @@ -86614,13 +86801,14 @@ /turf/simulated/floor/plasteel, /area/station/supply/miningdock) "xHw" = ( -/obj/structure/barricade/wooden/crude, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/machinery/door/airlock/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Trainer's Office Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, /turf/simulated/floor/plasteel{ icon_state = "dark" }, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "xHy" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ @@ -111601,7 +111789,7 @@ bNX kOU bzF fTS -bzF +nxW rJJ bXk bYD @@ -111827,14 +112015,14 @@ aPi nvO aMA bac -aSu -aSu -aSu -aSu -aSu -aSu -aSu -aSu +gHr +gHr +gHr +gHr +gHr +gHr +gHr +gHr gIc dmx bkg @@ -112083,15 +112271,15 @@ aMY aPi aRr aMA -aSu -aSu +gHr +gHr bhG bfe bhH blf cGV cYN -aSu +gHr djO bmC bks @@ -112340,7 +112528,7 @@ uJq aPw aVE aQj -aSu +gHr aTv aTx bgK @@ -112348,8 +112536,8 @@ bhI bam cGT rmK -aSu -bgP +gHr +qZp yhp bkq blQ @@ -112597,16 +112785,16 @@ aMY aPi aRr aQl -aSu -aTy +gHr +wNQ aTy kYq -aUF +jFW aUF cGZ -rmK -aSu -qZp +rWJ +eDU +bgP yhp gsf dnN @@ -112855,16 +113043,16 @@ lQx ffD aPi xHw -aUH -bfe -bgL +mUR +aTx +atD gNX ban cGX cYS kwE biH -bmN +hdm bpm bqq brJ @@ -112874,18 +113062,18 @@ brJ bwB brJ bCt -bDO -ioq -bGZ -ioq -ioq -ioq -ioq -bMm -bNY +wNl +wxi +rFd +wxi +wxi +wxi +wxi +igI +eum bQn -bST -bST +kgz +kgz bUY bST rSd @@ -113111,15 +113299,15 @@ aRP aEl ffD biE -aSu -aSu +gHr +gHr bJC aUH bhP bmk qvo qZX -aSu +jAU djW yhp bgS @@ -113369,14 +113557,14 @@ aEl aRr aQl aPi -aSu -aSu -aSu -aSu -aSu -aSu -aSu -aSu +gHr +gHr +gHr +gHr +gHr +gHr +gHr +gHr djV bmW bkv diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm index 3426dc359c2f..d1fc4cc5be2c 100644 --- a/_maps/map_files/stations/cerestation.dmm +++ b/_maps/map_files/stations/cerestation.dmm @@ -1187,9 +1187,6 @@ /obj/effect/mapping_helpers/airlock/windoor/access/any/medical/general{ dir = 1 }, -/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/genetics{ - dir = 1 - }, /obj/machinery/door/window/classic/normal{ name = "Chemistry Desk" }, @@ -1236,6 +1233,13 @@ /obj/effect/spawner/random/dirt/frequent, /turf/simulated/floor/plating, /area/station/maintenance/starboard) +"aji" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/alarm/directional/east, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "ajq" = ( /obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -1553,6 +1557,18 @@ icon_state = "cafeteria" }, /area/station/command/office/rd) +"alH" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/door_control{ + id = "scieva"; + name = "Science EVA shutter control"; + pixel_y = 24; + req_one_access = list(19,41) + }, +/turf/simulated/floor/plating, +/area/station/hallway/primary/aft/west) "alM" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -1826,14 +1842,6 @@ /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, /area/station/aisat/service) -"apl" = ( -/obj/effect/spawner/window/reinforced/grilled, -/obj/structure/cable/orange{ - icon_state = "0-4" - }, -/obj/machinery/door/firedoor, -/turf/simulated/floor/plating, -/area/station/security/brig) "apx" = ( /obj/item/restraints/handcuffs/pinkcuffs, /turf/simulated/floor/plating/asteroid/ancient, @@ -2287,12 +2295,6 @@ /obj/structure/girder, /turf/simulated/floor/plating, /area/station/maintenance/fore) -"atH" = ( -/obj/structure/closet/crate/freezer, -/obj/machinery/power/apc/directional/west, -/obj/structure/cable/orange, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "atI" = ( /obj/structure/disposalpipe/segment{ color = "#954535" @@ -2740,10 +2742,11 @@ /obj/structure/safe/floor{ known_by = list("captain") }, +/obj/item/toy/russian_revolver, +/obj/item/reagent_containers/drinks/bottle/absinthe/premium, /obj/item/lighter/zippo/nt_rep, -/obj/item/toy/figure/crew/captain, -/obj/item/gun/projectile/revolver/russian, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, +/obj/item/toy/figure/crew/captain, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/carpet/royalblack, /area/station/command/office/captain) @@ -3518,6 +3521,10 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/wood, /area/station/service/chapel) +"aDM" = ( +/obj/machinery/ai_status_display, +/turf/simulated/wall/r_wall, +/area/station/science/toxins/launch) "aDZ" = ( /obj/machinery/conveyor/counterclockwise{ dir = 4; @@ -3621,6 +3628,10 @@ "aEU" = ( /turf/simulated/floor/carpet/black, /area/station/command/office/captain) +"aFb" = ( +/obj/machinery/ai_status_display, +/turf/simulated/wall, +/area/station/science/genetics) "aFd" = ( /obj/structure/marker_beacon/dock_marker/collision, /obj/structure/lattice/catwalk, @@ -3907,6 +3918,17 @@ icon_state = "redcorner" }, /area/station/security/prison/cell_block/a) +"aJa" = ( +/obj/machinery/camera/autoname{ + dir = 9 + }, +/obj/machinery/door_control{ + id = "pet_shop"; + name = "Storefront Shutters"; + pixel_x = 24 + }, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "aJc" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 @@ -4162,6 +4184,10 @@ /obj/effect/mapping_helpers/turfs/rust, /turf/simulated/wall, /area/station/maintenance/starboard) +"aLO" = ( +/obj/item/clothing/head/cone, +/turf/simulated/floor/plating, +/area/station/hallway/primary/aft/west) "aLQ" = ( /obj/machinery/door/airlock/command{ name = "Captain's Quarters" @@ -5290,6 +5316,20 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/central/east) +"aWX" = ( +/obj/effect/spawner/window/reinforced/grilled, +/obj/structure/cable/orange{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor{ + density = 0; + icon_state = "open"; + id_tag = "Secure Gate"; + name = "Security Blast Door"; + opacity = 0 + }, +/turf/simulated/floor/plating, +/area/station/security/prison/cell_block/a) "aXa" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -6001,14 +6041,6 @@ /obj/machinery/hologram/holopad, /turf/simulated/floor/carpet/black, /area/station/command/office/captain) -"bco" = ( -/obj/item/radio/intercom{ - name = "west bump"; - pixel_x = -28 - }, -/obj/item/flag/ian, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "bcp" = ( /obj/machinery/door/airlock/maintenance{ name = "Port Asteroid Maintenance" @@ -6086,6 +6118,22 @@ /obj/structure/dispenser/oxygen, /turf/simulated/floor/plating, /area/station/hallway/primary/central/north) +"bcJ" = ( +/obj/structure/extinguisher_cabinet{ + name = "west bump"; + pixel_x = -30 + }, +/obj/structure/table/glass, +/obj/item/storage/box/disks{ + pixel_x = 6; + pixel_y = 16 + }, +/obj/item/book/manual/wiki/sop_science, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkpurple" + }, +/area/station/science/genetics) "bcK" = ( /obj/structure/rack, /obj/structure/window/reinforced{ @@ -6414,14 +6462,6 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/starboard/south) -"bfg" = ( -/obj/item/clothing/head/cone, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 6 - }, -/area/station/maintenance/apmaint) "bfh" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -7242,6 +7282,15 @@ icon_state = "asteroidplating" }, /area/station/maintenance/fore) +"bjI" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/item/clothing/head/cone, +/turf/simulated/floor/plating{ + icon_state = "asteroidplating" + }, +/area/station/maintenance/apmaint) "bjJ" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -8271,10 +8320,8 @@ /turf/simulated/floor/plating, /area/station/maintenance/starboard) "bqg" = ( -/obj/structure/table, -/obj/item/instrument/harmonica, -/turf/simulated/floor/plasteel, -/area/station/security/permabrig) +/turf/simulated/wall, +/area/station/procedure/trainer_office) "bqn" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 @@ -9468,6 +9515,29 @@ }, /turf/simulated/floor/plating, /area/station/security/processing) +"bwc" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "bluecorner" + }, +/area/station/hallway/primary/fore/north) "bwe" = ( /obj/structure/cable{ icon_state = "4-8" @@ -10026,7 +10096,7 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/storage/box/gloves, /turf/simulated/floor/plasteel{ icon_state = "white" @@ -10220,7 +10290,6 @@ name = "Medbay Entrance" }, /obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/effect/mapping_helpers/airlock/access/any/medical/genetics, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -11978,15 +12047,18 @@ /turf/simulated/floor/plating, /area/station/maintenance/storage) "bHy" = ( -/obj/machinery/alarm/directional/north, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "bHC" = ( /turf/simulated/floor/plasteel{ dir = 8; @@ -12501,11 +12573,12 @@ /turf/simulated/floor/plasteel, /area/station/security/processing) "bKf" = ( +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "bKg" = ( /obj/structure/cable/orange{ icon_state = "4-8" @@ -12661,63 +12734,34 @@ }, /area/station/medical/morgue) "bLe" = ( -/obj/structure/table/glass, -/obj/item/storage/box/disks{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/dest_tagger, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "bLh" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/landmark/start/geneticist, -/obj/structure/cable/orange{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/directional/south, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "bLi" = ( -/obj/machinery/dna_scannernew, /obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machine_frame, /turf/simulated/floor/plasteel{ dir = 6; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "bLj" = ( /obj/structure/window/reinforced{ dir = 8 }, -/obj/machinery/light, -/obj/item/radio/intercom{ - pixel_y = -28; - name = "custom placement" - }, -/turf/simulated/floor/grass, -/area/station/science/genetics) -"bLk" = ( -/obj/machinery/firealarm/directional/south, -/turf/simulated/floor/grass, -/area/station/science/genetics) -"bLl" = ( -/obj/structure/flora/tree/palm, -/obj/machinery/camera{ - c_tag = "Genetics Monkey Dome"; - dir = 9 - }, -/turf/simulated/floor/grass, -/area/station/science/genetics) +/turf/simulated/floor/plating/asteroid/ancient, +/area/station/maintenance/starboard) "bLz" = ( /obj/effect/spawner/random/dirt/frequent, /obj/structure/disposalpipe/segment/corner{ @@ -12835,6 +12879,16 @@ icon_state = "darkyellow" }, /area/station/engineering/control) +"bMm" = ( +/obj/structure/filingcabinet, +/obj/machinery/light{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bMv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -12938,7 +12992,7 @@ layer = 4 }, /turf/simulated/wall, -/area/station/science/genetics) +/area/station/maintenance/starboard) "bMP" = ( /obj/machinery/light/small{ dir = 4 @@ -14100,7 +14154,7 @@ "bSv" = ( /obj/structure/table, /obj/item/storage/firstaid/o2, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple" @@ -15102,6 +15156,9 @@ icon_state = "darkyellow" }, /area/station/engineering/atmos/distribution) +"bWk" = ( +/turf/simulated/wall/r_wall, +/area/station/hallway/primary/aft/west) "bWn" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -16083,6 +16140,20 @@ /obj/effect/spawner/random/dirt/frequent, /turf/simulated/floor/plasteel, /area/station/service/janitor) +"cdZ" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/effect/landmark/start/nanotrasen_career_trainer, +/obj/machinery/light_switch{ + pixel_y = 24; + name = "north bump" + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "ceb" = ( /obj/machinery/cryopod/robot, /turf/simulated/floor/plasteel{ @@ -16779,14 +16850,6 @@ }, /turf/simulated/floor/plasteel, /area/station/public/locker) -"cjN" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/toxins, -/turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 8 - }, -/area/station/science/storage) "cjR" = ( /turf/simulated/wall, /area/station/public/quantum/security) @@ -17179,22 +17242,16 @@ /turf/simulated/wall/r_wall, /area/station/science/toxins/mixing) "cmJ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkpurple" }, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/area/station/science/genetics) "cmL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 +/turf/simulated/floor/plasteel{ + icon_state = "dark" }, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/area/station/science/genetics) "cmW" = ( /obj/machinery/status_display{ layer = 4 @@ -17379,10 +17436,18 @@ /turf/simulated/floor/plasteel/white, /area/station/science/hallway) "coy" = ( -/obj/effect/spawner/window/reinforced, -/obj/structure/sign/explosives, +/obj/structure/table/reinforced, +/obj/effect/mapping_helpers/airlock/windoor/autoname/desk{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/genetics{ + dir = 1 + }, +/obj/machinery/door/window/classic/reversed{ + dir = 1 + }, /turf/simulated/floor/plating, -/area/station/science/storage) +/area/station/science/genetics) "coE" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -17982,6 +18047,12 @@ }, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/fore) +"ctr" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/station/security/prison/cell_block/a) "ctw" = ( /obj/structure/flora/tree/jungle, /turf/simulated/floor/grass/jungle, @@ -18218,9 +18289,6 @@ icon_state = "darkyellow" }, /area/station/engineering/break_room) -"cvg" = ( -/turf/simulated/mineral/ancient, -/area/station/hallway/primary/aft/west) "cvq" = ( /obj/machinery/door_control{ id = "arrivalseva"; @@ -18441,15 +18509,11 @@ /turf/simulated/floor/grass, /area/station/service/hydroponics) "cxM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, /obj/structure/cable/orange{ icon_state = "2-8" }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -18788,6 +18852,14 @@ icon_state = "darkbrown" }, /area/station/supply/office) +"cAr" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/security/prison/cell_block/a) "cAz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/l3closet/scientist, @@ -19354,9 +19426,6 @@ icon_state = "cafeteria" }, /area/station/medical/break_room) -"cFA" = ( -/turf/simulated/mineral/ancient/outer, -/area/station/science/genetics) "cFE" = ( /obj/structure/plasticflaps{ opacity = 1 @@ -19384,14 +19453,22 @@ /turf/simulated/floor/mineral/titanium/blue, /area/shuttle/pod_2) "cFP" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/oxygen, +/obj/item/radio/intercom{ + name = "south bump"; + pixel_y = -28 + }, +/obj/structure/chair/comfy/purp{ + dir = 1 + }, /turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 10 + dir = 10; + icon_state = "darkpurple" }, -/area/station/science/storage) +/area/station/science/genetics) "cFQ" = ( +/obj/machinery/atmospherics/unary/portables_connector{ + dir = 8 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whitepurple" @@ -19559,13 +19636,21 @@ }, /area/station/command/meeting_room) "cGW" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/toxins, +/obj/machinery/door_control{ + id = "genetics"; + name = "Genetics Privacy Shutters"; + pixel_y = -23; + req_access = list(9); + pixel_x = 24 + }, +/obj/structure/table/glass, +/obj/item/paper_bin, +/obj/item/pen, /turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 9 + dir = 4; + icon_state = "darkpurple" }, -/area/station/science/storage) +/area/station/science/genetics) "cGY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20603,6 +20688,9 @@ icon_state = "bar" }, /area/station/service/theatre) +"cOh" = ( +/turf/simulated/floor/plasteel, +/area/station/security/prison/cell_block/a) "cOo" = ( /obj/machinery/door/airlock/external/glass{ name = "Escape Pod Airlock" @@ -20650,7 +20738,7 @@ /area/shuttle/pod_1) "cOC" = ( /obj/structure/table/glass, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/folder, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -21381,19 +21469,6 @@ }, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/fore) -"cRV" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Aft Asteroid Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/station/hallway/primary/aft/west) "cRZ" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance, @@ -22937,6 +23012,10 @@ icon_state = "darkfull" }, /area/station/supply/sorting) +"dcD" = ( +/obj/effect/turf_decal/stripes/line, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "dcG" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ @@ -23392,6 +23471,25 @@ }, /turf/simulated/floor/plasteel, /area/station/engineering/atmos) +"der" = ( +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/cable/orange{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/disposalpipe/sortjunction{ + dir = 8; + sort_type_txt = "23" + }, +/turf/simulated/floor/plasteel/white, +/area/station/science/hallway) "det" = ( /obj/machinery/atmospherics/pipe/manifold/visible/yellow{ dir = 8 @@ -23679,6 +23777,15 @@ "dgP" = ( /turf/simulated/floor/wood, /area/station/maintenance/gambling_den) +"dgU" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "redcorner" + }, +/area/station/security/prison/cell_block/a) "dgW" = ( /obj/machinery/economy/vending/autodrobe{ desc = "A vending machine for costumes. The machine seems blessed by some higher power, allowing it to function without power. HONK!"; @@ -23919,6 +24026,12 @@ icon_state = "dark" }, /area/station/hallway/primary/fore/north) +"diW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/station/hallway/primary/aft/west) "diY" = ( /turf/simulated/floor/plating, /area/station/hallway/secondary/entry/north) @@ -24237,6 +24350,13 @@ /obj/machinery/economy/vending/snack, /turf/simulated/floor/plasteel, /area/station/hallway/primary/fore/north) +"dmm" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/science/genetics) "dmo" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/poddoor/preopen{ @@ -24298,6 +24418,12 @@ /obj/machinery/atmospherics/pipe/simple/visible{ dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -24668,6 +24794,12 @@ }, /turf/simulated/floor/plating, /area/station/engineering/tech_storage) +"dqK" = ( +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "dqL" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -25010,27 +25142,6 @@ icon_state = "neutralfull" }, /area/station/hallway/primary/fore/north) -"duJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "blue" - }, -/area/station/hallway/primary/fore/north) "duL" = ( /obj/effect/turf_decal/stripes/corner, /obj/structure/closet/wardrobe/pjs, @@ -25238,6 +25349,12 @@ icon_state = "neutralcorner" }, /area/station/hallway/secondary/entry/north) +"dwy" = ( +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/station/maintenance/disposal/south) "dwz" = ( /turf/simulated/wall, /area/station/hallway/primary/central/east) @@ -25601,9 +25718,17 @@ }, /area/station/hallway/primary/fore/north) "dzr" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/science/genetics) "dzs" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ @@ -26057,9 +26182,13 @@ }, /area/station/medical/medbay) "dBB" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 +/obj/structure/cable/orange{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -26118,6 +26247,17 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/aft/west) +"dBX" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/station/science/toxins/mixing) "dBY" = ( /obj/structure/table, /obj/item/reagent_containers/condiment/peppermill{ @@ -26329,6 +26469,13 @@ icon_state = "asteroidplating" }, /area/station/maintenance/port2) +"dEg" = ( +/obj/structure/sink{ + pixel_y = 24 + }, +/mob/living/carbon/human/monkey, +/turf/simulated/floor/grass, +/area/station/science/genetics) "dEi" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 @@ -26607,7 +26754,14 @@ /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/cable/orange{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -26905,6 +27059,12 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/storage) +"dLS" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/carpet/black, +/area/station/command/office/captain) "dLW" = ( /obj/structure/railing/corner{ dir = 1 @@ -27308,6 +27468,29 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/carpet/green, /area/station/service/library) +"dQW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "blue" + }, +/area/station/hallway/primary/fore/north) "dQX" = ( /obj/machinery/atmospherics/portable/canister/air, /obj/machinery/atmospherics/unary/portables_connector{ @@ -27794,6 +27977,11 @@ icon_state = "cafeteria" }, /area/station/service/kitchen) +"dWr" = ( +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/security/prison/cell_block/a) "dWD" = ( /turf/simulated/wall, /area/station/hallway/primary/central/west) @@ -27903,6 +28091,13 @@ /obj/effect/spawner/random/maintenance, /turf/simulated/floor/wood, /area/station/maintenance/gambling_den) +"dXR" = ( +/obj/machinery/atmospherics/portable/canister/toxins, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/station/science/storage) "dXV" = ( /turf/simulated/wall/r_wall, /area/station/hallway/primary/aft/east) @@ -28304,6 +28499,15 @@ icon_state = "asteroidplating" }, /area/station/maintenance/apmaint) +"eeY" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters{ + name = "Storefront Shutters"; + id_tag = "pet_shop"; + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/station/public/pet_store) "efa" = ( /obj/effect/spawner/window/reinforced/plasma/grilled, /turf/simulated/floor/plating, @@ -28392,6 +28596,13 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/westalt) +"egx" = ( +/obj/machinery/camera{ + c_tag = "Genetics Monkey Dome"; + dir = 9 + }, +/turf/simulated/floor/grass, +/area/station/science/genetics) "egy" = ( /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, @@ -29509,8 +29720,8 @@ /area/station/medical/medbay) "evS" = ( /obj/structure/table/wood, -/obj/item/clothing/accessory/necklace/skullcodpiece, -/obj/item/clothing/accessory/necklace/talisman, +/obj/item/clothing/accessory/skullcodpiece, +/obj/item/clothing/accessory/talisman, /obj/item/clothing/gloves/bracer, /obj/item/clothing/head/helmet/skull, /turf/simulated/floor/plating/asteroid/ancient, @@ -29640,11 +29851,8 @@ /turf/simulated/wall, /area/station/security/processing) "exL" = ( -/obj/structure/disposalpipe/sortjunction/reversed{ - dir = 1; - sort_type_txt = "9" - }, /obj/item/wrench, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, /area/station/maintenance/disposal/east) "exY" = ( @@ -29742,9 +29950,9 @@ /area/station/maintenance/fore2) "ezn" = ( /obj/machinery/camera{ - c_tag = "AI Satellite Service Bay"; dir = 8; - network = list("SS13","MiniSat") + network = list("Engineering","SS13"); + c_tag = "Power Transmission Laser" }, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/plasteel{ @@ -30767,6 +30975,13 @@ icon_state = "darkyellowfull" }, /area/station/command/bridge) +"eMe" = ( +/obj/machinery/firealarm/directional/north, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/station/science/storage) "eMA" = ( /obj/machinery/light{ dir = 8 @@ -31036,6 +31251,27 @@ }, /turf/simulated/floor/plasteel, /area/station/security/prison/cell_block/a) +"ePN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "bluecorner" + }, +/area/station/hallway/primary/fore/north) "ePQ" = ( /obj/machinery/atmospherics/unary/portables_connector{ dir = 4 @@ -31051,6 +31287,9 @@ icon_state = "darkblue" }, /area/station/maintenance/disposal/northeast) +"eQg" = ( +/turf/simulated/wall/r_wall, +/area/station/procedure/trainer_office) "eQs" = ( /turf/simulated/mineral/ancient, /area/station/turret_protected/aisat/interior) @@ -31619,13 +31858,14 @@ /turf/simulated/floor/engine, /area/station/engineering/control) "eZR" = ( -/obj/machinery/dna_scannernew, /obj/effect/turf_decal/delivery, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machine_frame, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "eZW" = ( /obj/structure/cable{ icon_state = "4-8" @@ -31729,13 +31969,6 @@ icon_state = "grimy" }, /area/station/maintenance/fore2) -"faV" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 4 - }, -/obj/item/clothing/head/cone, -/turf/simulated/floor/plating, -/area/station/hallway/primary/aft/west) "fbs" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, @@ -31877,6 +32110,21 @@ slowdown = -0.3 }, /area/station/hallway/spacebridge/servsci) +"feB" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/alarm/directional/east, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "feG" = ( /obj/structure/cable/orange{ icon_state = "4-8" @@ -31953,12 +32201,12 @@ /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/port) "ffy" = ( -/obj/machinery/alarm/directional/east, +/obj/machinery/economy/vending/genedrobe, /turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 4 + dir = 5; + icon_state = "darkpurple" }, -/area/station/science/storage) +/area/station/science/genetics) "ffJ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -32181,27 +32429,6 @@ icon_state = "dark" }, /area/station/security/warden) -"fiE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "bluecorner" - }, -/area/station/hallway/primary/fore/north) "fiJ" = ( /obj/structure/table/wood, /obj/machinery/computer/med_data/laptop{ @@ -32276,25 +32503,21 @@ }, /area/station/supply/lobby) "fkc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/area_atmos{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4 +/obj/machinery/newscaster/directional/east, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkpurple" }, -/obj/effect/turf_decal/delivery/hollow, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/area/station/science/genetics) "fkk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/light/small{ dir = 8 }, /obj/structure/closet/firecloset/full, /obj/item/coin/silver, +/obj/structure/disposalpipe/junction/reversed{ + dir = 4 + }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/south) "fkn" = ( @@ -32419,6 +32642,21 @@ icon_state = "solarpanel" }, /area/station/engineering/solar/aft_starboard) +"fmq" = ( +/obj/structure/table/glass, +/obj/item/roller{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/roller{ + pixel_x = -2; + pixel_y = 10 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkpurple" + }, +/area/station/science/genetics) "fmz" = ( /obj/structure/closet/firecloset/full, /turf/simulated/floor/plating, @@ -32675,6 +32913,19 @@ icon_state = "whitepurple" }, /area/station/science/toxins/mixing) +"fqD" = ( +/obj/structure/cable/orange{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc/directional/north, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "fqM" = ( /obj/machinery/light/small{ dir = 1 @@ -32796,10 +33047,6 @@ icon_state = "neutralcorner" }, /area/station/hallway/spacebridge/engmed) -"fse" = ( -/obj/effect/spawner/window/reinforced/grilled, -/turf/simulated/floor/plating, -/area/station/public/pet_store) "fsf" = ( /obj/structure/reagent_dispensers/watertank, /turf/simulated/floor/plating, @@ -33072,6 +33319,17 @@ }, /turf/simulated/floor/plasteel, /area/station/security/permabrig) +"fvu" = ( +/obj/structure/table/glass, +/obj/item/toy/figure/crew/geneticist{ + pixel_y = 10; + pixel_x = -10 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkpurple" + }, +/area/station/science/genetics) "fvz" = ( /obj/structure/disposalpipe/segment/corner{ dir = 4 @@ -33128,12 +33386,12 @@ /turf/simulated/floor/wood, /area/station/maintenance/asmaint) "fwe" = ( -/obj/structure/disposalpipe/junction{ - dir = 1 - }, /obj/structure/cable/orange{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/east) "fwi" = ( @@ -33367,6 +33625,15 @@ /obj/item/screwdriver, /turf/simulated/floor/plating, /area/station/maintenance/fore2) +"fAf" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "fAx" = ( /obj/effect/spawner/random/dirt/frequent, /obj/effect/decal/cleanable/generic, @@ -33643,12 +33910,6 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/west) -"fFu" = ( -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel, -/area/station/science/storage) "fFx" = ( /obj/structure/cable/orange{ icon_state = "4-8" @@ -34023,20 +34284,12 @@ }, /area/station/command/meeting_room) "fKo" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -28; - name = "custom placement" - }, -/obj/machinery/camera{ - c_tag = "Genetics"; - dir = 10; - network = list("SS13","CMO") - }, -/obj/structure/closet/secure_closet/medical1, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, /turf/simulated/floor/plasteel{ icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "fKz" = ( /obj/structure/disposalpipe/segment/corner{ dir = 8; @@ -34364,6 +34617,30 @@ icon_state = "cafeteria" }, /area/station/science/hallway) +"fOr" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Trainer's Office"; + id_tag = "nct" + }, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "NCT" + }, +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/obj/effect/mapping_helpers/airlock/autoname, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/procedure/trainer_office) "fOt" = ( /obj/structure/sign/poster/contraband/clown{ pixel_y = 32 @@ -35253,13 +35530,24 @@ /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/fpmaint) "gbz" = ( -/obj/effect/spawner/window/reinforced, +/obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, /area/station/maintenance/abandonedbar) "gbC" = ( /obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/plating, /area/station/maintenance/port2) +"gbD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/station/science/toxins/mixing) "gbF" = ( /obj/structure/cable/orange{ icon_state = "4-8" @@ -35305,6 +35593,12 @@ icon_state = "dark" }, /area/station/legal/courtroom) +"gbR" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "gch" = ( /turf/simulated/wall, /area/station/command/office/ntrep) @@ -35588,15 +35882,6 @@ }, /turf/simulated/floor/plasteel, /area/station/public/fitness) -"ghZ" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "giA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -35800,6 +36085,14 @@ icon_state = "redcorner" }, /area/station/security/main) +"gkA" = ( +/obj/item/radio/intercom{ + name = "west bump"; + pixel_x = -28 + }, +/obj/item/flag/ian, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "gkD" = ( /obj/structure/cable{ icon_state = "0-8" @@ -36221,6 +36514,24 @@ /obj/effect/spawner/random/barrier/grille_maybe, /turf/simulated/floor/plating, /area/station/maintenance/fsmaint) +"gsu" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "gsx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36273,12 +36584,6 @@ /mob/living/simple_animal/mouse/brown, /turf/simulated/floor/plating/asteroid/ancient, /area/station/maintenance/port2) -"gtz" = ( -/obj/structure/machine_frame, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/station/engineering/break_room) "gtH" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -36295,6 +36600,13 @@ /obj/effect/spawner/airlock/s_to_n, /turf/simulated/wall, /area/station/hallway/primary/aft/west) +"gtY" = ( +/obj/machinery/atmospherics/portable/canister/oxygen, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/station/science/storage) "gtZ" = ( /obj/effect/spawner/random/fungus/probably, /obj/effect/mapping_helpers/turfs/rust, @@ -36507,9 +36819,6 @@ /turf/simulated/floor/plating, /area/station/supply/expedition) "gwO" = ( -/obj/structure/disposalpipe/segment/corner{ - dir = 1 - }, /obj/effect/spawner/grouped_spawner{ group_id = "tunnelbats"; max_per_spawner = 1; @@ -37051,16 +37360,6 @@ icon_state = "dark" }, /area/station/turret_protected/aisat/interior) -"gEz" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/effect/landmark/start/geneticist, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "whitepurple" - }, -/area/station/science/genetics) "gEJ" = ( /obj/machinery/light/small, /obj/machinery/atmospherics/unary/vent_pump/on{ @@ -37116,6 +37415,10 @@ icon_state = "asteroidplating" }, /area/station/maintenance/starboard) +"gFs" = ( +/obj/structure/closet/crate/freezer, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "gFu" = ( /obj/effect/turf_decal/stripes/asteroid/end{ dir = 8 @@ -37388,6 +37691,16 @@ }, /turf/simulated/floor/plasteel, /area/station/service/janitor) +"gJq" = ( +/obj/structure/extinguisher_cabinet{ + name = "west bump"; + pixel_x = -30 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple"; + dir = 8 + }, +/area/station/science/storage) "gJw" = ( /obj/structure/cable{ icon_state = "1-2" @@ -37559,19 +37872,6 @@ }, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/starboard) -"gLW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet{ - name = "north bump"; - pixel_y = 30 - }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "purple" - }, -/area/station/science/storage) "gLX" = ( /mob/living/simple_animal/mouse/brown, /turf/simulated/floor/plating{ @@ -38185,22 +38485,13 @@ }, /area/station/supply/lobby) "gVx" = ( -/obj/machinery/camera{ - c_tag = "Toxins Storage"; - dir = 9; - network = list("SS13","RD") - }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 24; - name = "east bump" - }, -/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/east, +/obj/structure/closet/secure_closet/medical1, /turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 4 + dir = 4; + icon_state = "darkpurple" }, -/area/station/science/storage) +/area/station/science/genetics) "gVK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38278,6 +38569,14 @@ /obj/structure/closet/firecloset/full, /turf/simulated/floor/plating, /area/station/hallway/primary/fore/north) +"gXM" = ( +/obj/machinery/atmospherics/portable/canister/oxygen, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel{ + icon_state = "purple"; + dir = 4 + }, +/area/station/science/storage) "gXW" = ( /obj/machinery/light/small{ dir = 8 @@ -38385,13 +38684,13 @@ /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry/west) "gZc" = ( -/obj/structure/disposalpipe/sortjunction/reversed{ - dir = 1; - sort_type_txt = "11" - }, /obj/structure/cable/orange{ icon_state = "1-8" }, +/obj/structure/disposalpipe/sortjunction/reversed{ + dir = 1; + sort_type_txt = "9" + }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/east) "gZu" = ( @@ -38441,6 +38740,16 @@ "gZI" = ( /turf/simulated/floor/wood, /area/station/command/office/blueshield) +"gZM" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkfull" + }, +/area/station/procedure/trainer_office) "gZS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -38588,14 +38897,6 @@ /obj/item/reagent_containers/spray/cleaner, /turf/simulated/floor/plasteel, /area/station/service/janitor) -"hcm" = ( -/obj/machinery/hologram/holopad, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/simulated/floor/plasteel, -/area/station/science/storage) "hco" = ( /mob/living/carbon/human/monkey/teeny, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -38889,6 +39190,17 @@ icon_state = "floorgrime" }, /area/station/security/permabrig) +"hhl" = ( +/obj/structure/cable/orange{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood/old, +/obj/item/toy/russian_revolver, +/obj/effect/landmark/spawner/rev, +/turf/simulated/floor/wood, +/area/station/maintenance/gambling_den) "hhs" = ( /obj/structure/fence{ dir = 4 @@ -39680,12 +39992,13 @@ }, /area/station/hallway/primary/fore/east) "hrj" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/orange{ - icon_state = "1-2" +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 }, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/science/genetics) "hrm" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 1 @@ -40088,13 +40401,6 @@ slowdown = -0.3 }, /area/station/hallway/spacebridge/servsci) -"hwg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, -/turf/simulated/floor/plasteel, -/area/station/science/storage) "hwm" = ( /obj/structure/chair/comfy{ dir = 8 @@ -40373,6 +40679,9 @@ pixel_x = 24; name = "east bump" }, +/obj/machinery/atmospherics/unary/portables_connector{ + dir = 8 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whitepurple" @@ -40622,6 +40931,14 @@ icon_state = "asteroidplating" }, /area/station/hallway/secondary/exit) +"hDQ" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/station/science/toxins/mixing) "hEe" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -40858,6 +41175,18 @@ icon_state = "cafeteria" }, /area/station/science/hallway) +"hGZ" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/cable/orange{ + icon_state = "2-8" + }, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "hHb" = ( /obj/machinery/atmospherics/portable/canister/air, /obj/machinery/atmospherics/unary/portables_connector{ @@ -41223,6 +41552,11 @@ }, /turf/simulated/floor/plasteel/white, /area/station/science/hallway) +"hKn" = ( +/obj/effect/spawner/window/reinforced, +/obj/structure/sign/nosmoking_2, +/turf/simulated/floor/plating, +/area/station/science/storage) "hKu" = ( /obj/structure/cable/orange{ icon_state = "1-4" @@ -41770,14 +42104,13 @@ icon_state = "asteroidplating" }, /area/station/maintenance/apmaint) -"hRc" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/glass/bucket, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +"hRi" = ( +/obj/machinery/atmospherics/portable/canister/sleeping_agent, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel{ + icon_state = "purple" }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) +/area/station/science/storage) "hRk" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -42197,15 +42530,6 @@ icon_state = "whiteblue" }, /area/station/medical/surgery/secondary) -"hXo" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/portable/canister/carbon_dioxide, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/simulated/floor/plasteel, -/area/station/science/storage) "hXC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -44465,20 +44789,6 @@ icon_state = "dark" }, /area/station/command/teleporter) -"iAK" = ( -/obj/machinery/door/poddoor{ - density = 0; - icon_state = "open"; - id_tag = "Secure Gate"; - name = "Security Blast Door"; - opacity = 0 - }, -/obj/effect/spawner/window/reinforced/grilled, -/obj/structure/cable/orange{ - icon_state = "0-8" - }, -/turf/simulated/floor/plating, -/area/station/security/prison/cell_block/a) "iAO" = ( /obj/structure/cable{ icon_state = "1-2" @@ -44604,6 +44914,15 @@ icon_state = "whitepurple" }, /area/station/science/hallway) +"iBK" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "iBP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 @@ -44832,25 +45151,6 @@ "iFs" = ( /turf/simulated/wall, /area/mine/unexplored/cere/research) -"iFv" = ( -/obj/machinery/door/window/classic/normal{ - name = "Monkey Pen"; - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/genetics{ - dir = 8 - }, -/mob/living/carbon/human/monkey, -/turf/simulated/floor/grass, -/area/station/science/genetics) -"iFG" = ( -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/station/security/prison/cell_block/a) "iFO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -44876,6 +45176,17 @@ slowdown = -0.3 }, /area/station/hallway/spacebridge/cargocom) +"iFT" = ( +/obj/effect/turf_decal/delivery/hollow, +/obj/machinery/atmospherics/portable/canister/carbon_dioxide, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light, +/turf/simulated/floor/plasteel{ + icon_state = "purple" + }, +/area/station/science/storage) "iFV" = ( /obj/structure/cable{ icon_state = "1-4" @@ -45539,6 +45850,18 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, /area/station/maintenance/fore) +"iNX" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Blueshield's Office"; + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "iOd" = ( /obj/structure/railing{ dir = 6 @@ -45673,6 +45996,17 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/fpmaint) +"iPQ" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/table/glass, +/obj/item/storage/box/disks, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkpurple" + }, +/area/station/science/genetics) "iPT" = ( /obj/effect/spawner/window/reinforced/grilled, /obj/structure/cable/orange{ @@ -46269,11 +46603,9 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/structure/sink{ - pixel_y = 24 - }, -/turf/simulated/floor/grass, -/area/station/science/genetics) +/mob/living/simple_animal/mouse/gray, +/turf/simulated/floor/plating/asteroid/ancient, +/area/station/maintenance/starboard) "iXK" = ( /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 @@ -46316,9 +46648,8 @@ /area/station/maintenance/disposal) "iYc" = ( /obj/effect/spawner/window/reinforced, -/obj/structure/sign/nosmoking_1, /turf/simulated/floor/plating, -/area/station/science/storage) +/area/station/science/genetics) "iYg" = ( /obj/effect/mapping_helpers/turfs/rust, /turf/simulated/wall/r_wall, @@ -46734,12 +47065,6 @@ icon_state = "dark" }, /area/station/security/brig) -"jdf" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/plasteel{ - icon_state = "white" - }, -/area/station/science/toxins/mixing) "jdC" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/structure/disposalpipe/junction/reversed{ @@ -46776,6 +47101,20 @@ /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, /area/station/maintenance/solar_maintenance/port) +"jdL" = ( +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "jdN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -46969,13 +47308,9 @@ }, /area/station/security/lobby) "jgc" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/toxins, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "purple" - }, -/area/station/science/storage) +/obj/structure/window/reinforced, +/turf/simulated/floor/grass, +/area/station/science/genetics) "jgl" = ( /obj/machinery/atmospherics/binary/valve, /obj/machinery/camera{ @@ -47041,7 +47376,10 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 }, /turf/simulated/floor/plasteel{ dir = 1; @@ -47193,12 +47531,19 @@ /turf/simulated/floor/plating, /area/station/service/bar) "jiv" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/oxygen, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, /turf/simulated/floor/plasteel{ - icon_state = "purple" + icon_state = "darkpurple" }, -/area/station/science/storage) +/area/station/science/genetics) "jiw" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -47455,15 +47800,6 @@ slowdown = -0.3 }, /area/station/hallway/spacebridge/engmed) -"jmo" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters{ - name = "Storefront Shutters"; - id_tag = "pet_shop"; - dir = 1 - }, -/turf/simulated/floor/plasteel, -/area/station/public/pet_store) "jmq" = ( /obj/structure/closet/firecloset/full, /obj/effect/spawner/random/dirt/maybe, @@ -48153,10 +48489,15 @@ }, /area/station/hallway/primary/fore/east) "jum" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/oxygen, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/science/genetics) "juH" = ( /obj/machinery/power/terminal{ dir = 1 @@ -48322,15 +48663,6 @@ }, /turf/simulated/wall, /area/station/hallway/primary/central/east) -"jvT" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "redcorner" - }, -/area/station/security/prison/cell_block/a) "jvX" = ( /obj/structure/closet/crate/trashcart{ desc = "A heavy, metal laundrycart with wheels."; @@ -49204,7 +49536,7 @@ "jFG" = ( /obj/structure/closet/secure_closet/blueshield, /obj/machinery/camera{ - c_tag = "Blueshield's Office"; + c_tag = "Trainer's Office"; dir = 1 }, /turf/simulated/floor/wood, @@ -49326,6 +49658,14 @@ /obj/machinery/economy/vending/autodrobe, /turf/simulated/floor/plasteel, /area/station/public/locker) +"jHr" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/glass/bucket, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "jHz" = ( /obj/machinery/firealarm/directional/east, /obj/machinery/suit_storage_unit/blueshield/secure, @@ -49595,6 +49935,14 @@ }, /turf/simulated/floor/plating, /area/station/hallway/primary/aft/west) +"jKe" = ( +/obj/structure/chair/sofa/bench{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/station/hallway/primary/aft/west) "jKg" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -49921,6 +50269,16 @@ icon_state = "whitepurplefull" }, /area/station/science/xenobiology) +"jOt" = ( +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/landmark/start/geneticist, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkpurple" + }, +/area/station/science/genetics) "jOE" = ( /obj/structure/disposalpipe/segment/corner, /turf/simulated/floor/plating{ @@ -50099,6 +50457,13 @@ }, /turf/simulated/floor/plating, /area/station/hallway/primary/starboard/south) +"jQT" = ( +/obj/item/reagent_containers/drinks/drinkingglass/shotglass, +/obj/structure/closet/crate/freezer, +/obj/machinery/power/apc/directional/west, +/obj/structure/cable/orange, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "jQZ" = ( /obj/effect/spawner/airlock, /turf/simulated/wall, @@ -50220,6 +50585,15 @@ icon_state = "dark" }, /area/station/science/toxins/launch) +"jSi" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/station/science/toxins/mixing) "jSk" = ( /obj/structure/railing{ dir = 10 @@ -50344,11 +50718,13 @@ /turf/simulated/floor/plating, /area/station/engineering/tech_storage) "jTr" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/portable/canister/toxins, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/obj/machinery/dna_scannernew, +/obj/effect/turf_decal/delivery, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkpurple" + }, +/area/station/science/genetics) "jTA" = ( /obj/structure/disposalpipe/sortjunction{ dir = 4; @@ -50677,14 +51053,11 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/dirt/frequent, -/obj/structure/cable/orange{ - icon_state = "1-4" - }, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "jYR" = ( /obj/structure/chair/office/light, /turf/simulated/floor/plasteel{ @@ -50755,12 +51128,6 @@ /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/effect/mapping_helpers/airlock/access/all/science/tox, /obj/machinery/door/airlock/research, /obj/effect/mapping_helpers/airlock/autoname, @@ -50852,6 +51219,13 @@ icon_state = "whitepurple" }, /area/station/science/toxins/mixing) +"kam" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "whitepurplecorner" + }, +/area/station/science/toxins/mixing) "kao" = ( /obj/machinery/door_timer/cell_4{ pixel_y = -32 @@ -51091,6 +51465,21 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plating, /area/station/turret_protected/aisat/interior/secondary) +"kem" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/sign/directions/security{ + dir = 1; + pixel_x = -32 + }, +/obj/structure/chair/sofa/bench/right{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/station/hallway/primary/aft/west) "ken" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/cyan, /obj/machinery/atmospherics/meter, @@ -51504,6 +51893,17 @@ /obj/effect/spawner/random/dirt/frequent, /turf/simulated/floor/plasteel, /area/station/supply/miningdock) +"kkn" = ( +/obj/structure/table, +/obj/item/paper_bin, +/obj/item/pen{ + pixel_x = 4; + pixel_y = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purplefull" + }, +/area/station/hallway/primary/aft/west) "kkq" = ( /obj/structure/table/flipped{ dir = 4 @@ -51520,14 +51920,11 @@ /turf/simulated/floor/plating, /area/station/maintenance/fore2) "kkD" = ( -/obj/structure/table/glass, -/obj/item/storage/box/rxglasses, -/obj/machinery/firealarm/directional/south, -/obj/item/folder/white, -/turf/simulated/floor/plasteel{ - icon_state = "whitepurple" - }, -/area/station/science/genetics) +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/remains/xeno, +/obj/effect/decal/cleanable/blood/old, +/turf/simulated/floor/plating, +/area/station/maintenance/starboard) "kkS" = ( /obj/structure/cable{ icon_state = "2-4" @@ -52707,6 +53104,11 @@ icon_state = "darkbrown" }, /area/station/supply/expedition) +"kzi" = ( +/mob/living/carbon/human/monkey, +/obj/structure/flora/tree/palm, +/turf/simulated/floor/grass, +/area/station/science/genetics) "kzo" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 6 @@ -54209,6 +54611,15 @@ }, /turf/simulated/floor/plating, /area/station/turret_protected/aisat/interior/secondary) +"kTR" = ( +/obj/structure/chair/office/light, +/obj/effect/landmark/start/geneticist, +/obj/machinery/requests_console/directional/west, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkpurple" + }, +/area/station/science/genetics) "kUi" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -55422,7 +55833,7 @@ pixel_x = 7; pixel_y = -3 }, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whiteblue" @@ -55587,6 +55998,15 @@ /obj/machinery/firealarm/directional/west, /turf/simulated/floor/wood, /area/station/service/bar) +"lmd" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "bs" + }, +/obj/structure/cable/orange{ + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "lme" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 @@ -56232,6 +56652,29 @@ }, /turf/space, /area/station/engineering/solar/fore_port) +"ltY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "blue" + }, +/area/station/hallway/primary/fore/north) "lux" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating{ @@ -56291,6 +56734,20 @@ }, /turf/simulated/floor/plasteel, /area/station/hallway/secondary/exit) +"lvm" = ( +/obj/machinery/door/poddoor{ + density = 0; + icon_state = "open"; + id_tag = "Secure Gate"; + name = "Security Blast Door"; + opacity = 0 + }, +/obj/effect/spawner/window/reinforced/grilled, +/obj/structure/cable/orange{ + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/station/security/prison/cell_block/a) "lvw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -56942,13 +57399,13 @@ }, /area/station/maintenance/apmaint) "lDh" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/sleeping_agent, +/obj/machinery/alarm/directional/west, +/obj/structure/chair/comfy/purp, /turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 8 + dir = 8; + icon_state = "darkpurple" }, -/area/station/science/storage) +/area/station/science/genetics) "lDm" = ( /obj/structure/disposalpipe/segment{ color = "#954535" @@ -57112,13 +57569,15 @@ }, /turf/space, /area/space/nearstation) -"lFm" = ( -/obj/structure/window/reinforced{ - dir = 8 +"lFo" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" }, -/mob/living/carbon/human/monkey, -/turf/simulated/floor/grass, -/area/station/science/genetics) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "lFz" = ( /obj/structure/toilet{ pixel_y = 6 @@ -57465,17 +57924,6 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/fsmaint) -"lKF" = ( -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/machinery/door_control{ - id = "pet_shop"; - name = "Storefront Shutters Control"; - pixel_x = 24 - }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "lKI" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -57489,18 +57937,22 @@ /turf/simulated/floor/wood, /area/station/command/office/hos) "lKN" = ( -/obj/effect/mapping_helpers/airlock/access/all/science/tox_storage, -/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/orange{ + d1 = 1; + d2 = 2; icon_state = "1-2" }, -/obj/machinery/door/airlock/research/glass{ - name = "Toxins Storage" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/medical/genetics, +/obj/machinery/door/airlock/medical/glass, +/obj/effect/mapping_helpers/airlock/autoname, +/turf/simulated/floor/plasteel{ + icon_state = "dark" }, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/area/station/science/genetics) "lKW" = ( /obj/structure/disposalpipe/segment/corner{ dir = 4 @@ -58469,14 +58921,6 @@ icon_state = "asteroidplating" }, /area/station/maintenance/starboard) -"lWM" = ( -/obj/machinery/atmospherics/portable/scrubber/huge/stationary, -/obj/effect/turf_decal/delivery/hollow, -/turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 5 - }, -/area/station/science/storage) "lWT" = ( /turf/simulated/wall, /area/station/hallway/secondary/garden) @@ -58840,13 +59284,13 @@ /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/structure/disposalpipe/segment/corner{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/structure/disposalpipe/segment/corner{ +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /turf/simulated/floor/plasteel{ @@ -60610,9 +61054,6 @@ /turf/simulated/floor/wood, /area/station/service/bar) "mAe" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 9 - }, /obj/item/radio/intercom{ pixel_y = -28; name = "custom placement" @@ -60866,6 +61307,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Aft Asteroid Maintenance" + }, /turf/simulated/floor/plating, /area/station/maintenance/apmaint) "mDy" = ( @@ -61986,12 +62431,6 @@ }, /turf/simulated/floor/plasteel, /area/station/supply/lobby) -"mTp" = ( -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "whitepurplecorner" - }, -/area/station/science/genetics) "mTy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -62487,6 +62926,17 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/north) +"mZk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/orange{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel/white, +/area/station/science/hallway) "mZu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -62580,6 +63030,10 @@ icon_state = "redcorner" }, /area/station/hallway/primary/fore/west) +"naB" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/turf/simulated/floor/plating, +/area/station/hallway/primary/aft/west) "naI" = ( /obj/structure/closet/wardrobe/white, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -63170,6 +63624,7 @@ dir = 1 }, /obj/machinery/atmospherics/portable/canister/air, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, /area/station/maintenance/disposal/south) "njC" = ( @@ -63537,10 +63992,6 @@ /area/station/legal/courtroom) "nop" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 9 - }, -/obj/effect/spawner/random/dirt/often, /obj/structure/sign/securearea{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; @@ -63548,6 +63999,10 @@ name = "EXTERNAL AIRLOCK"; pixel_x = 32 }, +/obj/effect/spawner/random/dirt/often, +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 9 + }, /turf/simulated/floor/plating, /area/station/hallway/primary/aft/west) "noy" = ( @@ -64091,15 +64546,14 @@ }, /area/station/hallway/primary/fore/west) "nvF" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Genetics Research" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/genetics, /obj/structure/cable/orange{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/dirt/frequent, +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/simulated/floor/plating, /area/station/maintenance/starboard) "nvI" = ( @@ -64235,10 +64689,6 @@ }, /turf/space, /area/space) -"nxx" = ( -/obj/structure/closet/crate/freezer, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "nxz" = ( /obj/machinery/light{ dir = 8 @@ -64391,6 +64841,9 @@ icon_state = "asteroidplating" }, /area/station/hallway/spacebridge/scidock) +"nzo" = ( +/turf/simulated/wall/r_wall, +/area/station/science/genetics) "nzH" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -64477,6 +64930,18 @@ icon_state = "darkbrown" }, /area/station/supply/office) +"nCa" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "nCd" = ( /obj/structure/cable/orange{ icon_state = "1-2" @@ -65019,6 +65484,12 @@ /obj/effect/mapping_helpers/airlock/access/all/science/tox, /obj/machinery/door/airlock/research, /obj/effect/mapping_helpers/airlock/autoname, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -65212,19 +65683,11 @@ /turf/simulated/floor/plating, /area/station/maintenance/solar_maintenance/aft_starboard) "nLc" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/carbon_dioxide, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, /turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 8 + dir = 8; + icon_state = "darkpurplecorners" }, -/area/station/science/storage) +/area/station/science/genetics) "nLd" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/autoname, @@ -65515,6 +65978,18 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/southwest) +"nPU" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Pet Shop" + }, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel, +/area/station/public/pet_store) "nPZ" = ( /obj/structure/disposalpipe/segment, /obj/item/cigbutt, @@ -65727,6 +66202,9 @@ slowdown = -0.3 }, /area/station/hallway/spacebridge/serveng) +"nSI" = ( +/turf/simulated/floor/wood, +/area/station/public/pet_store) "nSO" = ( /obj/structure/grille/broken, /obj/effect/decal/cleanable/glass, @@ -65969,15 +66447,6 @@ }, /turf/simulated/floor/plating, /area/station/security/brig) -"nWm" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/simulated/floor/plasteel, -/area/station/science/storage) "nWq" = ( /obj/item/cigbutt/roach, /obj/effect/decal/cleanable/dirt, @@ -66099,9 +66568,6 @@ icon_state = "dark" }, /area/station/turret_protected/ai) -"nXW" = ( -/turf/simulated/floor/wood, -/area/station/public/pet_store) "nXZ" = ( /obj/effect/spawner/window/reinforced/polarized/grilled{ id = "bs" @@ -66447,15 +66913,6 @@ /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plating, /area/station/hallway/primary/aft/west) -"odu" = ( -/obj/machinery/atmospherics/unary/portables_connector{ - dir = 4 - }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "whitepurple" - }, -/area/station/science/toxins/mixing) "odF" = ( /obj/effect/spawner/window/reinforced/grilled, /obj/machinery/door/poddoor/preopen{ @@ -66667,12 +67124,17 @@ }, /area/station/service/chapel) "ogJ" = ( -/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/plasteel{ dir = 8; - icon_state = "purplecorner" + icon_state = "darkpurplecorners" }, -/area/station/science/storage) +/area/station/science/genetics) "ogV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -66776,18 +67238,6 @@ }, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/port) -"oii" = ( -/obj/structure/disposalpipe/segment{ - color = "#954535" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "neutralcorner" - }, -/area/station/hallway/primary/aft/west) "oip" = ( /obj/machinery/status_display{ layer = 4 @@ -66799,18 +67249,16 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/disposalpipe/sortjunction{ - dir = 2; - sort_type_txt = "23" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 }, +/obj/structure/disposalpipe/junction, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "oiD" = ( /obj/structure/table/wood, /obj/item/folder/blue, @@ -66885,15 +67333,6 @@ icon_state = "bcircuit" }, /area/station/turret_protected/ai) -"ojL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel, -/area/station/science/storage) "ojN" = ( /turf/simulated/wall, /area/station/maintenance/turbine) @@ -67126,13 +67565,21 @@ }, /area/station/maintenance/asmaint) "omL" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/oxygen, +/obj/machinery/power/apc/directional/west, +/obj/structure/cable/orange{ + icon_state = "0-4" + }, +/obj/structure/table/glass, +/obj/item/ashtray/glass, +/obj/item/storage/fancy/cigarettes/cigpack_carp{ + pixel_x = 9; + pixel_y = 6 + }, /turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 8 + dir = 8; + icon_state = "darkpurple" }, -/area/station/science/storage) +/area/station/science/genetics) "omT" = ( /obj/structure/reagent_dispensers/peppertank{ pixel_y = 32 @@ -67210,29 +67657,6 @@ }, /turf/simulated/floor/plasteel/white, /area/station/science/hallway) -"oop" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - color = "#954535" - }, -/obj/machinery/door_control{ - id = "scieva"; - name = "Science EVA shutter control"; - pixel_x = -25; - pixel_y = 24; - req_one_access = list(19,41) - }, -/obj/structure/sign/directions/security{ - dir = 1; - pixel_x = -32 - }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "neutralcorner" - }, -/area/station/hallway/primary/aft/west) "ooq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -67293,18 +67717,19 @@ }, /area/station/medical/virology) "ooJ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 +/obj/structure/cable/orange{ + d1 = 1; + d2 = 4; + icon_state = "1-4" }, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "bluecorner" @@ -67375,6 +67800,13 @@ }, /turf/simulated/floor/plating/asteroid/ancient, /area/space/nearstation/disposals) +"oqg" = ( +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/genetics, +/obj/machinery/door/window/classic/normal{ + name = "Monkey Pen" + }, +/turf/simulated/floor/grass, +/area/station/science/genetics) "oql" = ( /obj/structure/lattice, /obj/machinery/camera{ @@ -67654,6 +68086,17 @@ /obj/effect/mapping_helpers/turfs/rust, /turf/simulated/wall, /area/station/maintenance/apmaint) +"otc" = ( +/obj/effect/turf_decal/stripes/line, +/obj/item/radio/intercom{ + name = "west bump"; + pixel_x = -28 + }, +/turf/simulated/floor/plasteel{ + icon_state = "purple"; + dir = 8 + }, +/area/station/science/storage) "oth" = ( /obj/machinery/light_switch{ dir = 4; @@ -67940,6 +68383,12 @@ }, /turf/simulated/floor/plating, /area/station/command/bridge) +"oxM" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/station/science/toxins/mixing) "oxO" = ( /obj/machinery/door/airlock/maintenance{ name = "Aft Asteroid Maintenance" @@ -68308,6 +68757,12 @@ icon_state = "darkyellow" }, /area/station/engineering/control) +"oCr" = ( +/obj/machinery/autolathe, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/engineering/break_room) "oCu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/engine{ @@ -68565,6 +69020,23 @@ icon_state = "darkfull" }, /area/station/supply/office) +"oFY" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "neutralfull" + }, +/area/station/hallway/primary/fore/north) "oGk" = ( /obj/structure/disposalpipe/segment{ color = "#954535" @@ -68663,6 +69135,13 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/north) +"oIe" = ( +/obj/machinery/economy/vending/traindrobe, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "oIs" = ( /obj/structure/table, /obj/item/storage/fancy/cigarettes/cigpack_robust{ @@ -69333,6 +69812,12 @@ /obj/structure/sign/custodian, /turf/simulated/wall, /area/station/maintenance/port2) +"oPZ" = ( +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkpurplecorners" + }, +/area/station/science/genetics) "oQc" = ( /obj/machinery/light/small, /turf/simulated/floor/bluegrid{ @@ -70993,18 +71478,6 @@ icon_state = "asteroidplating" }, /area/station/maintenance/port2) -"pmi" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, -/obj/structure/cable/orange{ - icon_state = "2-8" - }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "pmA" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -71359,6 +71832,18 @@ icon_state = "white" }, /area/station/science/test_chamber) +"pqq" = ( +/obj/machinery/computer/scan_consolenew, +/obj/effect/turf_decal/delivery/hollow, +/obj/item/radio/intercom{ + name = "west bump"; + pixel_x = -28 + }, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "darkpurple" + }, +/area/station/science/genetics) "pqv" = ( /obj/structure/closet/crate/freezer, /obj/item/reagent_containers/iv_bag/blood/random, @@ -71550,13 +72035,6 @@ icon_state = "cafeteria" }, /area/station/supply/break_room) -"ptm" = ( -/obj/item/radio/intercom{ - pixel_y = 28; - name = "custom placement" - }, -/turf/simulated/floor/grass, -/area/station/science/genetics) "pts" = ( /obj/effect/mapping_helpers/turfs/rust, /turf/simulated/wall, @@ -71592,6 +72070,21 @@ /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plating, /area/station/maintenance/disposal/external/southeast) +"ptU" = ( +/obj/machinery/door/window/classic/normal{ + name = "Glass Door"; + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "ptZ" = ( /obj/structure/cable/orange{ icon_state = "4-8" @@ -71663,13 +72156,15 @@ /turf/simulated/floor/plating, /area/station/maintenance/port2) "puz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/east, -/turf/simulated/floor/plasteel{ - icon_state = "purple"; +/obj/structure/closet/secure_closet/genetics, +/obj/machinery/light{ dir = 4 }, -/area/station/science/storage) +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkpurple" + }, +/area/station/science/genetics) "puD" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -72223,12 +72718,11 @@ }, /area/station/maintenance/electrical_shop) "pCN" = ( -/obj/machinery/door/poddoor/multi_tile/two_tile_ver{ - name = "Science Emergency EVA Storage"; - id_tag = "scieva" +/obj/structure/chair/sofa/bench/left{ + dir = 4 }, /turf/simulated/floor/plasteel{ - icon_state = "neutralfull" + icon_state = "purplefull" }, /area/station/hallway/primary/aft/west) "pCW" = ( @@ -72321,6 +72815,18 @@ icon_state = "bcircuit" }, /area/station/turret_protected/ai) +"pEh" = ( +/obj/structure/table/wood, +/obj/item/stack/sheet/glass/fifty, +/obj/item/storage/firstaid/aquatic_kit/full, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "pEi" = ( /obj/machinery/camera{ c_tag = "Research Asteroid Hallway 1"; @@ -72444,6 +72950,14 @@ /obj/structure/railing, /turf/simulated/floor/plating/asteroid/ancient/airless, /area/mine/unexplored/cere/ai) +"pFe" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable/orange{ + icon_state = "1-2" + }, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "pFj" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, @@ -73170,14 +73684,6 @@ icon_state = "neutralfull" }, /area/station/hallway/primary/port/south) -"pOU" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel/white, -/area/station/science/hallway) "pOW" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 @@ -73353,10 +73859,13 @@ /turf/simulated/floor/plating, /area/station/hallway/secondary/entry/north) "pQM" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/sleeping_agent, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/science/genetics) "pQN" = ( /turf/simulated/wall, /area/station/hallway/primary/aft/east) @@ -73604,6 +74113,20 @@ icon_state = "whiteblue" }, /area/station/medical/medbay) +"pTu" = ( +/obj/machinery/atmospherics/pipe/simple/visible{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/station/science/toxins/mixing) "pTz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/orange{ @@ -74084,14 +74607,15 @@ }, /area/station/command/bridge) "pZK" = ( -/obj/machinery/computer/scan_consolenew{ +/obj/effect/turf_decal/delivery/hollow, +/obj/machinery/computer/nonfunctional{ dir = 8 }, -/obj/effect/turf_decal/delivery/hollow, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "pZQ" = ( /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /obj/machinery/door/airlock/maintenance{ @@ -74253,13 +74777,6 @@ /obj/item/assembly/mousetrap/armed, /turf/simulated/floor/plating/asteroid/ancient, /area/station/maintenance/port) -"qcC" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 12 - }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "qcE" = ( /obj/effect/decal/cleanable/cobweb2, /obj/effect/spawner/random/dirt/often, @@ -74288,11 +74805,6 @@ icon_state = "neutralfull" }, /area/station/hallway/primary/starboard/south) -"qcW" = ( -/obj/effect/turf_decal/delivery/hollow, -/obj/machinery/atmospherics/portable/canister/toxins, -/turf/simulated/floor/plasteel, -/area/station/science/storage) "qdb" = ( /obj/machinery/door/airlock/maintenance{ name = "Aft Asteroid Maintenance" @@ -74751,6 +75263,11 @@ /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, /area/station/supply/sorting) +"qiq" = ( +/obj/machinery/atmospherics/portable/canister/sleeping_agent, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "qir" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -74824,12 +75341,12 @@ }, /area/station/supply/office) "qkb" = ( -/obj/structure/disposalpipe/segment/corner{ - dir = 4 - }, /obj/structure/cable/orange{ icon_state = "4-8" }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/south) "qkc" = ( @@ -75424,14 +75941,6 @@ icon_state = "darkredfull" }, /area/station/security/permabrig) -"qrB" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "qrM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -75750,6 +76259,13 @@ /obj/structure/lattice/catwalk, /turf/space, /area/station/engineering/solar/port) +"qvK" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/hologram/holopad, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "qvL" = ( /obj/effect/spawner/random/fungus/frequent, /turf/simulated/wall, @@ -76358,8 +76874,9 @@ }, /area/station/maintenance/port) "qDH" = ( -/obj/structure/disposalpipe/junction/reversed{ - dir = 4 +/obj/structure/disposalpipe/sortjunction/reversed{ + dir = 4; + sort_type_txt = "23" }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/south) @@ -76389,6 +76906,11 @@ icon_state = "whiteblue" }, /area/station/medical/medbay) +"qEv" = ( +/obj/machinery/atmospherics/portable/canister/toxins, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "qEx" = ( /obj/structure/bookcase{ name = "bookcase (Fiction)" @@ -76459,6 +76981,17 @@ icon_state = "dark" }, /area/station/legal/courtroom) +"qFH" = ( +/obj/machinery/computer/area_atmos, +/obj/effect/turf_decal/delivery/hollow, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/station/science/storage) "qFM" = ( /obj/machinery/hologram/holopad, /obj/structure/disposalpipe/segment{ @@ -76501,6 +77034,15 @@ icon_state = "tranquillite" }, /area/station/service/mime) +"qGr" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkfull" + }, +/area/station/procedure/trainer_office) "qGC" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -77235,6 +77777,18 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/fpmaint) +"qPN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/cable/orange{ + icon_state = "1-4" + }, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "qPO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -77359,8 +77913,16 @@ /turf/simulated/floor/wood/nitrogen, /area/station/maintenance/abandonedbar) "qRL" = ( -/obj/machinery/atmospherics/trinary/mixer/flipped{ - dir = 1 +/obj/structure/cable/orange{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 }, /turf/simulated/floor/plasteel{ icon_state = "white" @@ -77469,6 +78031,7 @@ dir = 4; color = "#954535" }, +/obj/machinery/newscaster/directional/south, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "purplecorner" @@ -77958,6 +78521,10 @@ icon_state = "whitepurplecorner" }, /area/station/science/xenobiology) +"qZL" = ( +/obj/machinery/light, +/turf/simulated/floor/plating, +/area/station/hallway/primary/aft/west) "qZT" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -78018,18 +78585,17 @@ }, /turf/simulated/floor/plasteel, /area/station/service/janitor) -"raH" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/station/hallway/primary/aft/west) "raP" = ( /obj/machinery/floodlight{ light_power = 1 }, /turf/simulated/floor/plating, /area/station/maintenance/port) +"raR" = ( +/obj/machinery/atmospherics/portable/canister/oxygen, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "raS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -78203,6 +78769,14 @@ }, /turf/simulated/wall/r_wall, /area/station/engineering/break_room/secondary) +"rcQ" = ( +/obj/machinery/atmospherics/portable/canister/oxygen, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel{ + icon_state = "purple"; + dir = 6 + }, +/area/station/science/storage) "rcT" = ( /obj/machinery/computer/security/mining{ dir = 1 @@ -78352,6 +78926,12 @@ /turf/simulated/floor/engine, /area/station/medical/chemistry) "rgy" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -78412,6 +78992,11 @@ icon_state = "redcorner" }, /area/station/maintenance/fpmaint) +"rhO" = ( +/obj/structure/table, +/obj/item/instrument/harmonica, +/turf/simulated/floor/plasteel, +/area/station/security/permabrig) "ril" = ( /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plasteel, @@ -79032,6 +79617,13 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/fore/east) +"rrI" = ( +/obj/machinery/door/poddoor/multi_tile/two_tile_hor{ + name = "Science Emergency EVA Storage"; + id_tag = "scieva" + }, +/turf/simulated/floor/plating, +/area/station/hallway/primary/aft/west) "rrN" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -79133,6 +79725,15 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating/asteroid/ancient, /area/station/maintenance/apmaint) +"rtu" = ( +/obj/machinery/door/poddoor/shutters{ + name = "Storefront Shutters"; + id_tag = "pet_shop"; + dir = 1 + }, +/obj/structure/table/reinforced, +/turf/simulated/floor/plasteel, +/area/station/public/pet_store) "rtB" = ( /obj/machinery/door/airlock/public/glass{ name = "Garden" @@ -79498,6 +80099,13 @@ icon_state = "escape" }, /area/station/hallway/secondary/exit) +"rys" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "ryw" = ( /obj/machinery/power/apc/directional/north, /obj/structure/cable/orange{ @@ -79724,13 +80332,13 @@ }, /area/station/security/storage) "rCJ" = ( -/obj/structure/disposalpipe/sortjunction/reversed{ - dir = 1; - sort_type_txt = "23" - }, /obj/structure/cable/orange{ icon_state = "1-2" }, +/obj/structure/disposalpipe/sortjunction/reversed{ + dir = 1; + sort_type_txt = "11" + }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/east) "rCK" = ( @@ -80025,6 +80633,13 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/fore/east) +"rHd" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 12 + }, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "rHj" = ( /turf/simulated/floor/plating{ icon_state = "asteroidplating" @@ -80709,6 +81324,14 @@ icon_state = "cafeteria" }, /area/station/science/hallway) +"rOZ" = ( +/obj/machinery/atmospherics/portable/scrubber/huge/stationary, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel{ + icon_state = "purple"; + dir = 9 + }, +/area/station/science/storage) "rPc" = ( /obj/machinery/door/airlock/public/glass, /obj/effect/mapping_helpers/airlock/autoname, @@ -82491,15 +83114,6 @@ icon_state = "arrival" }, /area/station/hallway/secondary/entry/east) -"sls" = ( -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/obj/effect/decal/cleanable/blood/old, -/obj/item/gun/projectile/revolver/russian, -/obj/effect/landmark/spawner/rev, -/turf/simulated/floor/wood, -/area/station/maintenance/gambling_den) "slw" = ( /obj/structure/gunrack, /obj/item/gun/projectile/shotgun/riot{ @@ -82568,6 +83182,24 @@ icon_state = "dark" }, /area/station/engineering/gravitygenerator) +"slY" = ( +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/machinery/door_control{ + id = "nct"; + name = "Office Door"; + normaldoorcontrol = 1; + pixel_x = -25; + req_access = list(80); + pixel_y = -1 + }, +/obj/machinery/firealarm/directional/north, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "slZ" = ( /obj/machinery/economy/vending/cigarette, /obj/machinery/camera{ @@ -82806,19 +83438,6 @@ icon_state = "escape" }, /area/station/hallway/secondary/exit) -"sqB" = ( -/obj/machinery/atmospherics/unary/portables_connector{ - dir = 4 - }, -/obj/machinery/atmospherics/portable/canister, -/obj/machinery/light{ - dir = 8 - }, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "whitepurple" - }, -/area/station/science/toxins/mixing) "sqG" = ( /obj/effect/turf_decal/delivery/hollow, /turf/simulated/floor/plasteel, @@ -82945,20 +83564,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/simulated/floor/plating, /area/station/maintenance/port2) -"ssD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, -/obj/structure/cable/orange{ - icon_state = "1-4" - }, -/turf/simulated/floor/plasteel/white, -/area/station/science/hallway) "ssE" = ( /obj/structure/cable{ icon_state = "4-8" @@ -83035,6 +83640,12 @@ /obj/machinery/atmospherics/binary/pump{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -83548,6 +84159,7 @@ /obj/structure/disposalpipe/trunk{ dir = 1 }, +/obj/machinery/light, /turf/simulated/floor/plasteel{ icon_state = "whitepurple" }, @@ -83693,14 +84305,6 @@ icon_state = "redcorner" }, /area/station/hallway/primary/fore/west) -"sAJ" = ( -/obj/structure/table/wood, -/obj/random/carp_plushie, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "sAQ" = ( /obj/machinery/light/small{ dir = 1 @@ -84129,14 +84733,12 @@ }, /area/station/aisat/service) "sFd" = ( -/obj/effect/spawner/random/dirt/often, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small, /turf/simulated/floor/plasteel{ icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "sFj" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -84217,6 +84819,10 @@ slowdown = -0.3 }, /area/station/hallway/spacebridge/comeng) +"sGk" = ( +/obj/effect/spawner/window/reinforced/grilled, +/turf/simulated/floor/plating, +/area/station/public/pet_store) "sGr" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/plasteel{ @@ -84364,6 +84970,14 @@ icon_state = "white" }, /area/station/science/misc_lab) +"sJe" = ( +/obj/machinery/atmospherics/portable/canister/toxins, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel{ + icon_state = "purple"; + dir = 10 + }, +/area/station/science/storage) "sJk" = ( /obj/machinery/status_display{ layer = 4 @@ -84405,6 +85019,13 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/port/north) +"sJW" = ( +/obj/structure/closet, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "sJX" = ( /obj/effect/spawner/window/reinforced/polarized/grilled{ id = "rd" @@ -84445,11 +85066,6 @@ /obj/effect/spawner/random/fungus/maybe, /turf/simulated/wall, /area/station/maintenance/apmaint) -"sKs" = ( -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/station/security/prison/cell_block/a) "sKz" = ( /obj/structure/rack, /obj/item/painter{ @@ -84557,16 +85173,6 @@ icon_state = "dark" }, /area/station/service/chapel/office) -"sLK" = ( -/obj/structure/disposalpipe/segment{ - color = "#954535" - }, -/obj/machinery/newscaster/directional/west, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "neutralcorner" - }, -/area/station/hallway/primary/aft/west) "sLO" = ( /obj/structure/curtain/open/shower, /obj/machinery/alarm/directional/north, @@ -85050,6 +85656,13 @@ /obj/effect/turf_decal/caution, /turf/simulated/floor/plasteel, /area/station/engineering/transmission_laser) +"sQN" = ( +/obj/item/cigbutt, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/station/science/storage) "sQV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plating, @@ -85109,8 +85722,12 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -85413,18 +86030,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, /area/station/maintenance/fsmaint) -"sVU" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/obj/structure/cable/orange{ - icon_state = "1-4" - }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "sWc" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/plasteel{ @@ -85445,6 +86050,14 @@ icon_state = "asteroidplating" }, /area/station/maintenance/starboard) +"sWu" = ( +/obj/effect/spawner/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id_tag = "genetics"; + name = "Genetics Privacy Shutters" + }, +/turf/simulated/floor/plating, +/area/station/science/genetics) "sWz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/unary/vent_pump/on, @@ -85789,9 +86402,6 @@ }, /turf/simulated/floor/plating/asteroid/ancient, /area/station/maintenance/storage) -"tba" = ( -/turf/simulated/mineral/ancient/outer, -/area/station/maintenance/abandonedbar) "tbe" = ( /turf/simulated/floor/plating{ icon_state = "asteroidplating" @@ -86454,9 +87064,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/effect/spawner/random/dirt/often, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -86464,6 +87071,7 @@ /obj/structure/cable/orange{ icon_state = "2-4" }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -86832,6 +87440,14 @@ icon_state = "bar" }, /area/station/security/permabrig) +"toj" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/spawner/random/toy/carp_plushie, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "top" = ( /obj/machinery/light/small, /obj/effect/decal/cleanable/dirt, @@ -86866,6 +87482,28 @@ "tpl" = ( /turf/simulated/floor/plating/airless, /area/station/science/toxins/test) +"tpo" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id_tag = "genetics"; + name = "Genetics Privacy Shutters" + }, +/obj/item/desk_bell{ + pixel_x = 7; + pixel_y = 7; + anchored = 1 + }, +/obj/machinery/door/window/classic/reversed{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/windoor/autoname/desk{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/windoor/access/any/medical/genetics{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/station/science/genetics) "tpp" = ( /obj/structure/sink{ dir = 8; @@ -86953,6 +87591,9 @@ }, /turf/simulated/floor/plating, /area/station/hallway/primary/aft/west) +"tql" = ( +/turf/simulated/floor/plasteel, +/area/station/science/storage) "tqm" = ( /obj/structure/disposalpipe/sortjunction/reversed{ dir = 1; @@ -87075,12 +87716,7 @@ /obj/structure/cable/orange{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -87130,27 +87766,6 @@ }, /turf/simulated/floor/engine, /area/station/medical/chemistry) -"ttl" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "blue" - }, -/area/station/hallway/primary/fore/north) "ttn" = ( /obj/effect/spawner/random/dirt/frequent, /turf/simulated/floor/plasteel{ @@ -87189,27 +87804,6 @@ icon_state = "dark" }, /area/station/security/execution) -"ttT" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/cable/orange{ - icon_state = "4-8" - }, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "bluecorner" - }, -/area/station/hallway/primary/fore/north) "ttV" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -88046,6 +88640,11 @@ icon_state = "neutralfull" }, /area/station/hallway/primary/starboard/south) +"tFc" = ( +/turf/simulated/floor/plasteel{ + icon_state = "purplecorner" + }, +/area/station/science/storage) "tFd" = ( /obj/machinery/door/airlock/public/glass{ name = "Central Access" @@ -88486,9 +89085,6 @@ icon_state = "cafeteria" }, /area/station/medical/break_room) -"tKF" = ( -/turf/simulated/floor/plasteel, -/area/station/security/prison/cell_block/a) "tKQ" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 4 @@ -88612,12 +89208,6 @@ icon_state = "darkgreenfull" }, /area/station/service/hydroponics) -"tMM" = ( -/obj/structure/cable/orange{ - icon_state = "4-8" - }, -/turf/simulated/floor/carpet/black, -/area/station/command/office/captain) "tNc" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -89151,12 +89741,9 @@ }, /area/station/hallway/spacebridge/engmed) "tUh" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/machinery/atmospherics/pipe/simple/visible{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 10 - }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -90333,7 +90920,7 @@ pixel_y = -3 }, /obj/item/flashlight/pen, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whiteblue" @@ -90512,6 +91099,12 @@ dir = 4 }, /area/station/supply/lobby) +"ujd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + icon_state = "white" + }, +/area/station/science/toxins/mixing) "ujl" = ( /obj/structure/shelf/engineering, /obj/effect/spawner/random/engineering/materials, @@ -90615,18 +91208,6 @@ icon_state = "dark" }, /area/station/engineering/atmos) -"ukg" = ( -/obj/structure/table/wood, -/obj/item/stack/sheet/glass/fifty, -/obj/item/storage/firstaid/aquatic_kit/full, -/obj/machinery/light{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 10 - }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "ukj" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -90757,11 +91338,11 @@ /turf/simulated/floor/wood, /area/station/legal/courtroom) "ull" = ( -/obj/effect/spawner/random/dirt/often, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ icon_state = "white" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "ulo" = ( /obj/machinery/light/small{ dir = 1 @@ -90809,11 +91390,7 @@ }, /area/station/security/prison/cell_block/a) "umy" = ( -/obj/machinery/atmospherics/unary/portables_connector{ - dir = 4 - }, /turf/simulated/floor/plasteel{ - dir = 10; icon_state = "whitepurple" }, /area/station/science/toxins/mixing) @@ -91393,14 +91970,15 @@ }, /area/station/hallway/spacebridge/engmed) "uuU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/portable/scrubber/huge/stationary, -/obj/effect/turf_decal/delivery/hollow, +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, /turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 6 + dir = 4; + icon_state = "darkpurple" }, -/area/station/science/storage) +/area/station/science/genetics) "uuV" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -91875,6 +92453,18 @@ dir = 1 }, /area/station/supply/lobby) +"uzh" = ( +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "uzv" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -93702,9 +94292,16 @@ /turf/simulated/floor/plating, /area/station/maintenance/apmaint) "uVh" = ( -/obj/machinery/atmospherics/pipe/simple/visible{ - dir = 10 +/obj/structure/cable/orange{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8; + initialize_directions = 11 }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -93719,13 +94316,12 @@ /turf/simulated/floor/plating, /area/station/hallway/primary/starboard/south) "uVC" = ( -/obj/machinery/requests_console/directional/west, -/obj/structure/closet/secure_closet/genetics, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "uWc" = ( /obj/machinery/light/small{ dir = 8 @@ -93917,10 +94513,11 @@ /area/station/maintenance/port) "uYD" = ( /obj/machinery/hologram/holopad, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ icon_state = "white" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "uYF" = ( /obj/structure/table, /obj/item/reagent_containers/dropper, @@ -93962,6 +94559,14 @@ icon_state = "asteroidplating" }, /area/station/maintenance/apmaint) +"uZq" = ( +/obj/machinery/atmospherics/portable/canister/toxins, +/obj/effect/turf_decal/delivery/hollow, +/turf/simulated/floor/plasteel{ + icon_state = "purple"; + dir = 8 + }, +/area/station/science/storage) "uZw" = ( /obj/structure/cable{ icon_state = "4-8" @@ -95804,6 +96409,9 @@ name = "custom placement" }, /obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, /turf/simulated/floor/plating, /area/station/maintenance/disposal/south) "vxP" = ( @@ -96211,12 +96819,12 @@ }, /area/station/medical/reception) "vCS" = ( -/obj/machinery/economy/vending/genedrobe, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "vDm" = ( /obj/machinery/alarm/directional/south, /turf/simulated/floor/plasteel{ @@ -96494,11 +97102,12 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "vFA" = ( /obj/machinery/door/airlock{ id_tag = "fb2"; @@ -96614,11 +97223,15 @@ }, /area/station/maintenance/fpmaint) "vGW" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 +/obj/structure/chair/comfy/brown{ + dir = 4 }, -/turf/simulated/floor/plasteel, -/area/station/security/prison/cell_block/a) +/obj/effect/landmark/start/nanotrasen_career_trainer, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkfull" + }, +/area/station/procedure/trainer_office) "vHe" = ( /obj/structure/disposalpipe/sortjunction/reversed{ dir = 4; @@ -96701,20 +97314,6 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/disposal) -"vIJ" = ( -/obj/effect/spawner/window/reinforced/grilled, -/obj/structure/cable/orange{ - icon_state = "0-2" - }, -/obj/machinery/door/poddoor{ - density = 0; - icon_state = "open"; - id_tag = "Secure Gate"; - name = "Security Blast Door"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/station/security/prison/cell_block/a) "vIQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -96734,6 +97333,17 @@ icon_state = "whitegreen" }, /area/station/medical/virology) +"vJd" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/science/genetics) "vJh" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -96872,12 +97482,6 @@ /obj/structure/cable/orange{ icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, /obj/structure/cable/orange{ icon_state = "4-8" }, @@ -97099,6 +97703,19 @@ icon_state = "whitegreen" }, /area/station/medical/virology) +"vOp" = ( +/obj/structure/shelf/science, +/obj/item/healthanalyzer/advanced, +/obj/item/healthanalyzer/advanced, +/obj/item/reagent_containers/glass/bottle/potassium_iodide, +/obj/item/reagent_containers/glass/bottle/potassium_iodide, +/obj/item/hand_labeler, +/obj/item/reagent_containers/spray/cleaner, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkpurple" + }, +/area/station/science/genetics) "vOq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/universal, /turf/simulated/floor/plating, @@ -97170,18 +97787,13 @@ }, /area/station/science/test_chamber) "vPs" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/item/radio/intercom{ - pixel_x = -28; - name = "custom placement" - }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "vPt" = ( /turf/simulated/wall, /area/station/maintenance/fore2) @@ -97240,14 +97852,24 @@ }, /area/station/security/detective) "vQk" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/orange{ + d1 = 1; + d2 = 2; icon_state = "1-2" }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/science/genetics) "vQl" = ( /obj/structure/reagent_dispensers/fueltank, /turf/simulated/floor/plating, @@ -97385,18 +98007,6 @@ /obj/item/analyzer, /turf/simulated/floor/plating, /area/station/engineering/tech_storage) -"vRu" = ( -/obj/structure/disposalpipe/segment{ - color = "#954535" - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "neutralcorner" - }, -/area/station/hallway/primary/aft/west) "vRH" = ( /obj/structure/cable/orange{ icon_state = "1-4" @@ -97923,6 +98533,14 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/port/north) +"vZQ" = ( +/obj/effect/turf_decal/delivery/hollow, +/obj/machinery/atmospherics/portable/canister/carbon_dioxide, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "waa" = ( /obj/item/instrument/violin, /obj/machinery/power/apc/directional/north, @@ -97992,13 +98610,6 @@ icon_state = "neutralfull" }, /area/station/hallway/primary/starboard/south) -"waL" = ( -/obj/machinery/light_switch{ - pixel_y = 24; - name = "north bump" - }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "waN" = ( /obj/machinery/door/airlock/maintenance{ name = "Hydroponics" @@ -98024,16 +98635,6 @@ /obj/structure/grille, /turf/simulated/floor/plating, /area/station/security/execution) -"waT" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/plating, -/area/station/hallway/primary/aft/west) "waZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel{ @@ -98448,10 +99049,6 @@ icon_state = "asteroidplating" }, /area/station/maintenance/fpmaint) -"whS" = ( -/obj/machinery/ai_status_display, -/turf/simulated/wall/r_wall, -/area/station/science/storage) "wig" = ( /obj/structure/cable/orange{ icon_state = "4-8" @@ -99702,6 +100299,14 @@ icon_state = "darkfull" }, /area/station/public/quantum/cargo) +"wvl" = ( +/obj/effect/spawner/window/reinforced/grilled, +/obj/structure/cable/orange{ + icon_state = "0-4" + }, +/obj/machinery/door/firedoor, +/turf/simulated/floor/plating, +/area/station/security/brig) "wvp" = ( /turf/simulated/floor/plasteel{ icon_state = "white" @@ -99777,7 +100382,6 @@ name = "Genetics Cloning" }, /obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/effect/mapping_helpers/airlock/access/any/medical/genetics, /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/unres{ dir = 4 @@ -99955,6 +100559,11 @@ /obj/effect/spawner/airlock/w_to_e, /turf/simulated/wall, /area/station/maintenance/port2) +"wxY" = ( +/obj/effect/spawner/window/reinforced, +/obj/structure/sign/fire, +/turf/simulated/floor/plating, +/area/station/science/storage) "wyn" = ( /obj/machinery/requests_console/directional/east, /turf/simulated/floor/plasteel{ @@ -100484,14 +101093,13 @@ }, /area/station/maintenance/fore2) "wEK" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/orange{ - icon_state = "1-2" + icon_state = "2-8" }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/science/storage) +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/science/genetics) "wES" = ( /obj/effect/spawner/random/fungus/frequent, /turf/simulated/wall, @@ -100516,9 +101124,10 @@ pixel_x = 28; name = "custom placement" }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ +/obj/machinery/atmospherics/unary/portables_connector{ dir = 8 }, +/obj/machinery/atmospherics/portable/canister, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "whitepurple" @@ -100984,7 +101593,6 @@ name = "Medbay Entrance" }, /obj/effect/mapping_helpers/airlock/access/any/medical/general, -/obj/effect/mapping_helpers/airlock/access/any/medical/genetics, /obj/machinery/door/poddoor{ density = 0; icon_state = "open"; @@ -101188,6 +101796,14 @@ icon_state = "purplecorner" }, /area/station/hallway/primary/aft/west) +"wNY" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "wOc" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -102010,9 +102626,7 @@ /turf/simulated/wall/r_wall, /area/station/science/server/coldroom) "wYa" = ( -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 - }, +/obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "whitepurple" @@ -102788,10 +103402,13 @@ /turf/simulated/floor/engine, /area/station/science/test_chamber) "xhG" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/cockroach, +/obj/effect/decal/cleanable/blood/old, /turf/simulated/floor/plasteel{ icon_state = "white" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "xhH" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/caution/red{ @@ -102928,8 +103545,9 @@ }, /area/station/maintenance/starboard) "xjA" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/trinary/mixer{ + dir = 1 + }, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -103069,11 +103687,11 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/effect/spawner/random/dirt/often, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ icon_state = "white" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "xno" = ( /obj/structure/table, /obj/effect/spawner/random/maintenance, @@ -103137,10 +103755,11 @@ dir = 1 }, /obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ icon_state = "white" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "xoU" = ( /obj/structure/cable{ icon_state = "1-2" @@ -103446,6 +104065,13 @@ }, /turf/simulated/floor/wood, /area/station/command/office/rd) +"xtv" = ( +/obj/machinery/light_switch{ + pixel_y = 24; + name = "north bump" + }, +/turf/simulated/floor/wood, +/area/station/public/pet_store) "xtD" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -104039,18 +104665,6 @@ }, /turf/simulated/floor/plasteel, /area/station/security/processing) -"xzT" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Pet Shop" - }, -/obj/structure/cable/orange{ - icon_state = "1-2" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/plasteel, -/area/station/public/pet_store) "xAk" = ( /obj/machinery/light{ dir = 1 @@ -104548,7 +105162,11 @@ /area/station/maintenance/starboard) "xFi" = ( /obj/structure/grille/broken, -/turf/simulated/floor/plating, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel{ + icon_state = "purple"; + dir = 6 + }, /area/station/maintenance/apmaint) "xFj" = ( /obj/structure/table/glass, @@ -104812,6 +105430,18 @@ icon_state = "darkfull" }, /area/station/supply/expedition) +"xHK" = ( +/obj/machinery/atmospherics/portable/scrubber/huge/stationary, +/obj/effect/turf_decal/delivery/hollow, +/obj/machinery/camera{ + c_tag = "Toxins Storage"; + network = list("SS13","RD") + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/station/science/storage) "xHN" = ( /obj/structure/table, /obj/item/stack/sheet/metal{ @@ -105245,15 +105875,13 @@ }, /area/station/engineering/transmission_laser) "xOm" = ( -/obj/item/radio/intercom{ - pixel_x = 28; - name = "custom placement" - }, +/obj/machinery/computer/scan_consolenew, +/obj/effect/turf_decal/delivery/hollow, /turf/simulated/floor/plasteel{ - icon_state = "purple"; - dir = 4 + dir = 5; + icon_state = "darkpurple" }, -/area/station/science/storage) +/area/station/science/genetics) "xOp" = ( /obj/machinery/light{ dir = 1 @@ -106087,9 +106715,7 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, /turf/simulated/floor/plasteel{ icon_state = "white" }, @@ -106230,19 +106856,16 @@ }, /area/station/service/hydroponics) "yai" = ( -/obj/machinery/computer/scan_consolenew{ - dir = 8 - }, /obj/effect/turf_decal/delivery/hollow, -/obj/machinery/light_switch{ - pixel_y = 24; - name = "north bump" +/obj/machinery/computer/nonfunctional{ + dir = 8 }, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whitepurple" }, -/area/station/science/genetics) +/area/station/maintenance/starboard) "yau" = ( /obj/structure/table/wood/fancy/red, /turf/simulated/floor/plasteel{ @@ -106400,6 +107023,13 @@ icon_state = "neutralfull" }, /area/station/hallway/primary/central/north) +"ydB" = ( +/obj/machinery/alarm/directional/north, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "purple" + }, +/area/station/science/storage) "ydE" = ( /obj/machinery/hologram/holopad, /turf/simulated/floor/plasteel{ @@ -106675,6 +107305,23 @@ icon_state = "white" }, /area/station/medical/patients_rooms) +"ygQ" = ( +/obj/effect/mapping_helpers/airlock/access/all/science/tox_storage, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/research/glass{ + name = "Toxins Storage" + }, +/obj/structure/cable/orange{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/station/science/storage) "ygS" = ( /obj/structure/table, /obj/machinery/light{ @@ -106688,19 +107335,6 @@ icon_state = "whitepurple" }, /area/station/science/rnd) -"ygT" = ( -/obj/effect/spawner/window/reinforced/polarized{ - id = "private" - }, -/obj/machinery/door/poddoor{ - density = 0; - icon_state = "open"; - id_tag = "Biohazard_medi"; - name = "Quarantine Lockdown"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/station/medical/patients_rooms) "yhg" = ( /obj/item/t_scanner/adv_mining_scanner/lesser, /obj/structure/rack, @@ -106724,13 +107358,6 @@ icon_state = "darkfull" }, /area/station/supply/storage) -"yhn" = ( -/obj/machinery/alarm/directional/east, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/simulated/floor/wood, -/area/station/public/pet_store) "yhw" = ( /obj/structure/chair/office/dark{ dir = 8 @@ -106782,31 +107409,15 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/central/west) -"yhU" = ( -/obj/effect/spawner/window/reinforced, -/obj/machinery/door/poddoor{ - density = 0; - icon_state = "open"; - id_tag = "Biohazard_medi"; - name = "Quarantine Lockdown"; - opacity = 0 - }, -/turf/simulated/floor/plating, -/area/station/science/genetics) "yhW" = ( /turf/simulated/wall, /area/station/maintenance/fpmaint) "yie" = ( -/obj/machinery/door/airlock/glass{ - name = "Genetics Research" - }, -/obj/effect/mapping_helpers/airlock/access/any/medical/genetics, /obj/structure/cable/orange{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, /obj/machinery/door/poddoor{ density = 0; icon_state = "open"; @@ -106815,8 +107426,13 @@ opacity = 0 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock/maintenance{ + name = "Medbay Maintenance" + }, +/obj/effect/spawner/random/dirt/often, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/simulated/floor/plasteel/white, -/area/station/science/genetics) +/area/station/maintenance/starboard) "yii" = ( /turf/simulated/mineral/ancient/outer, /area/station/hallway/primary/central/west) @@ -115525,12 +116141,12 @@ hUU hUU aXn stw -tba +qUT gbz gbz gbz gbz -tba +qUT stw sMZ qIF @@ -115602,14 +116218,14 @@ rNK rNK rNK rNK -rNK -rNK -cdb +rWw +rWw cdb cdb ccW ccW ccW +ccW rNK rNK rNK @@ -115778,7 +116394,7 @@ rNK rNK bhO hUU -aXn +hUU aXn aXn stw @@ -115856,18 +116472,18 @@ ylg lzH rNK rNK -rNK -rNK -rNK -rNK -rNK +rWw +rWw +rWw +rWw +ccW +cdb +cdb +cdb +cdb cdb cdb cdb -ccW -ccW -rNK -rNK rNK rNK rNK @@ -116112,19 +116728,19 @@ lzH ylg lzH rWw -rNK -rNK -rNK -rNK -rNK +rWw +rWw +ccW +ccW +ccW +ccW +cdb cdb cdb cdb cdb cdb cdb -rNK -rNK rNK rNK rNK @@ -116369,15 +116985,18 @@ vTR kTd vTR mjo -rNK -rNK -rNK +ccW +ccW +ccW +ccW +ccW +ccW +ccW +ccW cdb cdb cdb ccW -ccW -cdb cdb cdb rNK @@ -116385,9 +117004,6 @@ rNK rNK rNK rNK -rNK -rNK -rNK vxH cZN gAG @@ -116626,25 +117242,25 @@ fdX iNa cqi mjo -rNK -rNK -cdb +cxg +cxg +cxg +cxg +cxg +cxg +ccW +ccW cdb cdb ccW ccW ccW -ccW cdb cdb rNK rNK rNK rNK -rNK -rNK -rNK -rNK vxH lez fwi @@ -116882,10 +117498,15 @@ eBL jSc wLz ldL -mjo -rWw -rWw -rWw +aDM +rOZ +gJq +otc +uZq +sJe +cxg +ccW +cdb cdb cdb ccW @@ -116893,12 +117514,7 @@ ccW ccW cdb cdb -ccW -rNK -rNK -rNK -rNK -rNK +cdb rNK rNK rNK @@ -117140,21 +117756,21 @@ eHZ qHZ nTW mjo -rWw +owX +dqK +dcD +qEv +dXR +cxg ccW -rWw cdb cdb cdb ccW -ccW cdb cdb -rNK -rNK -rNK -rNK -rNK +cdb +cdb rNK rNK rNK @@ -117397,21 +118013,21 @@ jgE tst slx mjo -rWw +sQN +fAf +rys +qEv +dXR +cxg ccW -rWw cdb cdb cdb -ccW -ccW cdb cdb cdb -rNK -rNK -rNK -rNK +cdb +cdb rNK rNK rNK @@ -117654,20 +118270,20 @@ rgy vLe eSI mjo +qFH +lFo +qvK +vZQ +iFT +cxg ccW -ccW -rWw -rWw cdb cdb -ccW -ccW -ccW cdb cdb -rNK -rNK -rNK +cdb +cdb +ccW rNK rNK rNK @@ -117911,10 +118527,12 @@ nIZ jZN uCu uCu -ccW -ccW -ccW -rWw +ydB +nCa +gbR +qiq +hRi +cxg cdb cdb cdb @@ -117922,9 +118540,7 @@ cdb ccW ccW ccW -rNK -rNK -rNK +ccW rNK rNK rNK @@ -118164,24 +118780,24 @@ hCt txK vid rBV -qll -xcs +gbD +hDQ cqn uCu -ccW -ccW -ccW -rWw -cdb +eMe +uzh +tql +raR +gtY +cxg cdb cdb cdb ccW ccW ccW -rNK -rNK -rNK +ccW +cdb rNK rNK rNK @@ -118421,24 +119037,24 @@ wbF xbh liC vwy -pgO -xcs +pTu +dBX cqn uCu -ccW -ccW -ccW -rWw -rWw -rWw +xHK +uzh +tFc +gXM +rcQ +cxg cdb cdb cdb ccW ccW cdb -rNK -rNK +cdb +cdb rNK rNK rNK @@ -118679,22 +119295,22 @@ clQ vid oJg stk -xcs +hDQ qVM uCu -uCu -uCu -uCu -uCu -ccW -rWw +wxY +ygQ +hKn +hjh +cxg +cxg +cdb +cdb cdb cdb cdb cdb cdb -rNK -rNK rNK rNK rNK @@ -118939,8 +119555,8 @@ dmB cxM enx okt -sqB -odu +hsQ +xcs umy uCu ccW @@ -118950,7 +119566,7 @@ cdb cdb cdb cdb -rNK +cdb rNK rNK rNK @@ -119193,7 +119809,7 @@ lws uCu pLo qll -jdf +ydE dIo dBB uVh @@ -119450,10 +120066,10 @@ clR cmF saR dqY -ydE +qll mbN uaP -uaP +jSi uaP syZ uCu @@ -119705,9 +120321,9 @@ owN sCy iSo wYa -hsQ -qll -qll +kam +ujd +ujd xYd mpM fUZ @@ -119963,8 +120579,8 @@ pgO qll tUh xjA -xjA -xjA +pgO +qll sRN nxf nxf @@ -120221,7 +120837,7 @@ xbQ wFa hAn cFQ -qll +oxM tjx aqh wzE @@ -120715,7 +121331,7 @@ aXn aXn aXn aXn -ccW +wIq azv bGB ccW @@ -120971,8 +121587,8 @@ aXn aXn aXn aXn -ccW -ccW +aXn +wIq wsR rSX sKh @@ -121227,9 +121843,9 @@ hUU hUU hUU hUU -ccW -ccW -ccW +aXn +wIq +wIq wsR wsR sKh @@ -121483,28 +122099,28 @@ rNK rNK rNK rNK -rWw -ccW -ccW +hUU +aXn +wIq czP wsR wsR -sKh +bjI uuf xFi -ftr -ftr -ftr -wIq -wIq -wIq -wIq +cGd +cGd +cGd +cGd +cGd +cGd +cGd +cGd +cGd +cGd +cGd vNV rhw -wIq -wIq -sKh -sKh sKo twp iBC @@ -121740,29 +122356,29 @@ rNK rNK rNK rNK -rWw -rWw -ccW -ccW -ccW -ccW -fmF -mDv -bfg +hUU +hUU +wIq +wIq +wIq ftr -ccW -ccW -ccW -ccW -cxg -cxg -cxg -cxg -cxg -cxg -cxg -cxg -cxg +ftr +mDv +sKo +cGd +fFi +fFi +jgc +pqq +kTR +iPQ +bcJ +fvu +vOp +cGd +cGd +cGd +cGd tHG ptZ tHG @@ -121786,7 +122402,7 @@ sKo ftr bbw qkb -xxU +mrh qDH dXN eBJ @@ -121998,28 +122614,28 @@ rNK rNK rNK rNK -rWw -ccW -ccW -ccW -ccW -vkl -cRV -vkl -ftr -ccW -ccW -ccW -ccW -cxg -cGW -cjN -cjN +hUU +aXn +aXn +naB +rrI +diW +wHE +rFq +bWk +gbJ +gbJ +jgc +jTr +cmL +cmL +cmL +pQM nLc lDh omL cFP -cxg +bDA bSv ahD bsR @@ -122043,7 +122659,7 @@ uVg czI wqE oyp -mrh +dwy ira xhB xdw @@ -122255,28 +122871,28 @@ rNK rNK rNK rNK -rWw -rWw -ccW -ccW -ccW -xtM +hUU +hUU +aXn +naB +chQ +diW tqh tuK -ccW -ccW -ccW -ccW -ccW -cxg -jgc -jTr -qcW -hXo -pQM -jum +bWk +dEg +gbJ +oqg +cmJ +cmL +cmL +cmL +vJd +dmm +dmm +dzr jiv -cxg +bDA pqv xAU jOi @@ -122513,25 +123129,25 @@ rNK rNK rNK rNK -rWw -ccW -ccW -ayp -rFq -waT +hUU +aXn vkl -cvg -ccW -ccW -ccW -ccW -cxg -gLW -cmJ -nWm -hcm -hwg -dzr +vkl +alH +wHE +qZL +bWk +qRZ +kzi +jgc +jTr +cmL +cmL +cmL +hrj +cmL +cmL +jum ogJ coy sjC @@ -122773,26 +123389,26 @@ rNK fxg nOP yez -faV +ayp qNj wHE -bSc -vkl -vkl -vkl -ccW -ccW -cxg -owX -fFu -ojL -hrj +aLO +bWk +gbJ +egx +jgc +xOm +jOt +cGW +fmq +oPZ +cmL cmL wEK vQk lKN -pOU -ssD +mZk +der buE xnA gMb @@ -123033,15 +123649,15 @@ hEC nop nNd xNu -vkl -raH -raH -vkl -ccW -ccW -hjh -lWM -xOm +xtM +bWk +nzo +nzo +nzo +sWu +tpo +sWu +nzo ffy fkc puz @@ -123291,20 +123907,20 @@ vkl vkl tjL vkl -xEd -pCN vkl -ccW -ccW -cxg -cxg -cxg -cxg -whS -cxg -cxg -cxg -cxg +pCN +jKe +kem +jRs +alw +kkn +nzo +aFb +bDA +bDA +bDA +bDA +bDA lTB tBR sLQ @@ -123548,12 +124164,12 @@ pEi qbD fKX qDv -oii -oii -vRu -oop gwg -sLK +gwg +gwg +gwg +gwg +gwg aTi tHG xRh @@ -124724,7 +125340,7 @@ cnJ gmC xla bOp -vIJ +aWX nEq xla jzO @@ -124979,7 +125595,7 @@ qxe lta dpu lZU -sKs +dWr vTO xMz pmB @@ -125235,8 +125851,8 @@ mqc doc oeK dpu -apl -sKs +wvl +dWr vTO geV nvO @@ -125493,7 +126109,7 @@ daG iBP cnL wrW -iFG +cAr mrp hgu cbP @@ -125716,7 +126332,7 @@ ciF mDT acw ijf -bqg +rhO aes afY aQL @@ -127555,7 +128171,7 @@ txE knF kuV mSn -tKF +cOh bpT fMx kqd @@ -128070,8 +128686,8 @@ fxM gFP rnL xeU -jvT -vIJ +dgU +aWX xrp dPs tyT @@ -129094,9 +129710,9 @@ flL wUX wHW tjy -sKs +dWr aAV -tKF +cOh bwv dgZ fMx @@ -129953,7 +130569,7 @@ dgP dgP dgP jyM -sls +hhl nmx eMb hUU @@ -130125,7 +130741,7 @@ wmP ozL xla mUN -vGW +ctr vTt xla qLc @@ -130382,7 +130998,7 @@ rlf vWX bVL rnL -tKF +cOh dgZ peB hII @@ -130637,9 +131253,9 @@ wUX vFV iCq hTP -iAK +lvm pwT -tKF +cOh hZU fMx vJL @@ -138098,10 +138714,10 @@ vTH sEC ece wBC -xzT -qrB -sVU -bco +nPU +pFe +qPN +gkA eNW dJc cRv @@ -138356,11 +138972,11 @@ rHK dKw nhG dJc -waL -pmi -ghZ -atH -fse +xtv +hGZ +iBK +jQT +sGk abE abE rNK @@ -138402,7 +139018,7 @@ bxv byx bzv jpU -gtz +oCr bCK nGm bFi @@ -138612,12 +139228,12 @@ hiH jlm ugQ oBw -jmo -nXW -hRc -nXW -nxx -fse +eeY +nSI +jHr +nSI +gFs +sGk abE rNK rNK @@ -138869,12 +139485,12 @@ qsv jlm ugQ oBw -jmo -nXW -sAJ -nXW -nXW -fse +rtu +nSI +toj +nSI +nSI +sGk abE rNK rNK @@ -139123,15 +139739,15 @@ chb vuY vuY vuY -jlm +oFY ugQ oBw -jmo -lKF -ukg -yhn -qcC -fse +rtu +aJa +pEh +aji +rHd +sGk abE rNK rNK @@ -139380,7 +139996,7 @@ koP jMO iwu iwu -ttT +bwc vQu oBw eNW @@ -139637,16 +140253,16 @@ hgc obC gOi duU -ttl +dQW ugQ oBw -npV -npV -npV -npV -npV -npV -npV +abW +abW +abW +abW +abW +abW +abW cRv rNK rNK @@ -139894,7 +140510,7 @@ oPo obC cof iJf -ttl +dQW ugQ uzv aKp @@ -140151,7 +140767,7 @@ lrs obC mkx gYx -duJ +ltY lfg gDa lNu @@ -140408,7 +141024,7 @@ dwG tlx uau uau -fiE +ePN grh nhG aKp @@ -141412,7 +142028,7 @@ aEU aVC wVh aCh -tMM +dLS eTm eYJ xzb @@ -142202,11 +142818,11 @@ mWm sSz xPy wfN -cMz -npV -npV -npV -npV +eQg +bqg +bqg +bqg +bqg vrW dTd dMB @@ -142459,11 +143075,11 @@ wSb xBD cRT wNf -cMz -abW -abW -abW -npV +eQg +oIe +bMm +sJW +bqg rPB tRn cjE @@ -142716,11 +143332,11 @@ biA vVQ cRT qHg -cMz -abW -abW -abW -aKp +eQg +cdZ +vGW +iNX +bqg rHS lHB daj @@ -142973,11 +143589,11 @@ hgK vHG lak bIl -cMz -abW -abW -abW -npV +eQg +gsu +gZM +ptU +bqg eFt fEK gDZ @@ -143230,11 +143846,11 @@ sqW dIt ctm bIl -cMz -abW -abW -abW -npV +eQg +slY +qGr +wNY +lmd cUk dTI tze @@ -143487,11 +144103,11 @@ cMz mOy vfU cMz -cMz -abW -abW -abW -npV +eQg +fqD +feB +jdL +fOr ooJ nTd tze @@ -143744,11 +144360,11 @@ ryJ ghU fPl xSb -pls -pls -pls -pls -cDp +bqg +bqg +bqg +bqg +bqg tLh dWE qyR @@ -158198,7 +158814,7 @@ ygF udk uhF uhF -bME +uhF uhF aMC pkQ @@ -158452,11 +159068,11 @@ xdJ xAz rjp dlk -udk +fqw uVC vPs bLe -bDA +fqw vHH bAn yfZ @@ -158708,12 +159324,12 @@ wPK xeq xeq xeq -ygT -udk +fqw +fqw vCS xhG kkD -bDA +fqw vHH wtg yfZ @@ -158965,12 +159581,12 @@ wQf fuD xDY naI -yhU +fqw vFy -mTp +wyL ull fKo -bDA +fqw wyL xZe gjb @@ -159479,9 +160095,9 @@ pDM dAn ybb gjD -bDA +fqw bHy -xhG +ull uYD sFd bMN @@ -159736,12 +160352,12 @@ kre xhW bDw wxv -bDA -gEz -xhG -xhG +fqw +wyL +wyL +ull bLh -bDA +fqw itf tlJ pps @@ -159993,12 +160609,12 @@ biN biN nql biN -bDA +fqw yai -xhG -xhG +ull +ull pZK -bDA +fqw itf xuJ bvb @@ -160250,12 +160866,12 @@ bBt sfZ dBx uyn -bDA +fqw eZR bKf -bKf +wyL bLi -bDA +fqw fqw tBW sWr @@ -160507,12 +161123,12 @@ bkH bCq bkH qhP -bDA +fqw iXy -iFv -lFm +gSQ bLj -cFA +bLj +xiQ itf mqf bvb @@ -160764,12 +161380,12 @@ bBv bCt uyn uyn -bDA -ptm -gbJ -gbJ -bLk -cFA +fqw +gSQ +gSQ +gSQ +gSQ +xiQ abH tvJ xjx @@ -161021,12 +161637,12 @@ bkH bCt bkH giJ -bDA -qRZ -fFi -bLl -fFi -cFA +fqw +gSQ +rtW +gSQ +gSQ +xiQ itf mqf bPZ @@ -161278,12 +161894,12 @@ bkH bCt bLc bkH -bDA -bDA -bDA -bDA -cFA -cFA +fqw +fqw +fqw +fqw +xiQ +xiQ cQy tvJ trc diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm index 19e2fe2d79ce..8565f0c9fa44 100644 --- a/_maps/map_files/stations/deltastation.dmm +++ b/_maps/map_files/stations/deltastation.dmm @@ -1998,7 +1998,7 @@ /area/station/maintenance/fore2) "aoe" = ( /obj/structure/table, -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /obj/machinery/newscaster/directional/east, /obj/effect/turf_decal/delivery, /turf/simulated/floor/plasteel{ @@ -2159,7 +2159,7 @@ /area/station/maintenance/fore) "aoS" = ( /obj/structure/table, -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /obj/item/wrench, /turf/simulated/floor/plating, /area/station/maintenance/fore) @@ -20555,6 +20555,26 @@ icon_state = "red" }, /area/station/security/storage) +"bug" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/disposalpipe/junction/reversed{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + icon_state = "bluecorner" + }, +/area/station/hallway/primary/central/south) "buh" = ( /obj/machinery/door/airlock/security/glass, /obj/machinery/door/firedoor, @@ -24782,26 +24802,6 @@ icon_state = "neutralfull" }, /area/station/engineering/break_room) -"bGG" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/structure/disposalpipe/junction/reversed{ - dir = 2 - }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" - }, -/area/station/engineering/break_room) "bGH" = ( /obj/structure/cable{ icon_state = "4-8" @@ -36373,12 +36373,12 @@ }, /area/station/hallway/primary/central) "csV" = ( -/obj/structure/closet/secure_closet/explorer, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "browncorner" +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/area/station/supply/expedition) +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "csW" = ( /turf/simulated/floor/plasteel{ dir = 1; @@ -36711,11 +36711,10 @@ }, /area/station/hallway/primary/central) "cuk" = ( -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "browncorner" - }, -/area/station/supply/expedition) +/obj/machinery/alarm/directional/west, +/obj/item/flag/nt, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "cul" = ( /obj/structure/cable{ icon_state = "0-4" @@ -36725,6 +36724,7 @@ }, /obj/machinery/power/apc/directional/north, /obj/effect/landmark/start/explorer, +/obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "brown" @@ -36845,6 +36845,28 @@ icon_state = "neutralfull" }, /area/station/public/locker) +"cuB" = ( +/obj/machinery/hologram/holopad, +/obj/machinery/door/window/classic/normal{ + name = "Glass Door" + }, +/obj/structure/chair/comfy/brown, +/obj/effect/landmark/start/nanotrasen_career_trainer, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 + }, +/obj/machinery/door_control{ + id = "nct"; + name = "Office Door"; + normaldoorcontrol = 1; + pixel_x = -25; + req_access = list(80); + pixel_y = -1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "cuC" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ @@ -37276,17 +37298,14 @@ }, /area/station/hallway/primary/central) "cvJ" = ( -/obj/structure/extinguisher_cabinet{ - name = "east bump"; - pixel_x = 30 - }, -/obj/machinery/suit_storage_unit/expedition, +/obj/structure/dispenser/oxygen, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "brown" }, /area/station/supply/expedition) "cvK" = ( +/obj/structure/closet/secure_closet/explorer, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "brown" @@ -37301,9 +37320,12 @@ /obj/machinery/status_display{ pixel_y = 32 }, -/obj/machinery/mineral/equipment_vendor/explorer, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) +/obj/structure/filingcabinet, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "cvT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -37343,14 +37365,6 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/starboard/south) -"cvY" = ( -/obj/effect/spawner/random/dirt/often, -/obj/machinery/suit_storage_unit/expedition, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "browncorner" - }, -/area/station/supply/expedition) "cvZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -37739,28 +37753,27 @@ icon_state = "neutralfull" }, /area/station/supply/expedition) -"cxh" = ( -/obj/effect/spawner/random/dirt/often, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) "cxk" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, +/obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plasteel{ icon_state = "browncorner" }, /area/station/supply/expedition) "cxl" = ( -/obj/machinery/recharge_station, +/obj/machinery/power/apc/directional/north, +/obj/item/kirbyplants, +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/cable{ + d2 = 2; + icon_state = "0-2" + }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "browncorner" + dir = 9; + icon_state = "darkgreen" }, -/area/station/supply/expedition) +/area/station/procedure/trainer_office) "cxm" = ( /obj/machinery/camera{ c_tag = "Central Ring Hallway East"; @@ -38146,24 +38159,13 @@ icon_state = "darkblue" }, /area/station/ai_monitored/storage/eva) -"cyr" = ( -/obj/machinery/camera{ - c_tag = "Expedition Access"; - dir = 4 - }, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = -32 - }, -/obj/effect/spawner/random/dirt/often, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) "cys" = ( /obj/machinery/hologram/holopad, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 5 }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" @@ -38185,14 +38187,21 @@ /turf/simulated/wall, /area/station/supply/expedition) "cyw" = ( -/obj/machinery/light{ - dir = 8 +/obj/structure/window/reinforced, +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = 8 }, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "browncorner" + dir = 10; + icon_state = "darkgreen" }, -/area/station/supply/expedition) +/area/station/procedure/trainer_office) "cyx" = ( /obj/structure/chair{ dir = 4 @@ -38202,15 +38211,26 @@ /area/station/supply/expedition) "cyy" = ( /obj/machinery/camera{ - c_tag = "Expedition"; + c_tag = "Career Trainer's Office"; dir = 8 }, -/obj/structure/closet/secure_closet/explorer, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer, +/obj/machinery/door/window/reinforced/normal{ + name = "NCT" + }, /turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "brown" + dir = 6; + icon_state = "darkgreen" }, -/area/station/supply/expedition) +/area/station/procedure/trainer_office) "cyz" = ( /obj/item/radio/intercom{ name = "west bump"; @@ -38276,15 +38296,6 @@ }, /turf/simulated/floor/plasteel, /area/station/public/toilet/lockerroom) -"cyI" = ( -/obj/item/radio/intercom{ - name = "east bump"; - pixel_x = 28 - }, -/obj/effect/spawner/random/dirt/often, -/obj/machinery/suit_storage_unit/expedition, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) "cyJ" = ( /obj/structure/urinal{ pixel_y = 28 @@ -38747,19 +38758,9 @@ /turf/simulated/floor/plasteel, /area/station/public/toilet/lockerroom) "czV" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/structure/chair/stool/bar, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" - }, -/area/station/supply/expedition) -"czW" = ( /obj/effect/spawner/random/dirt/often, -/obj/machinery/requests_console/directional/west, /turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "browncorner" + icon_state = "neutralfull" }, /area/station/supply/expedition) "czY" = ( @@ -38769,9 +38770,9 @@ }, /area/station/hallway/primary/central/south) "cAb" = ( -/obj/machinery/atmospherics/unary/vent_pump/on, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) +/obj/structure/table/wood, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "cAc" = ( /turf/simulated/floor/plasteel/freezer, /area/station/public/toilet/lockerroom) @@ -39241,54 +39242,41 @@ }, /turf/simulated/floor/carpet, /area/station/science/robotics/showroom) -"cBv" = ( -/obj/structure/table/reinforced, -/obj/item/pizzabox/firecracker, -/obj/effect/spawner/random/dirt/often, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) "cBw" = ( /obj/machinery/firealarm/directional/west, +/obj/structure/chair/stool/bar, /obj/effect/landmark/start/explorer, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "brown" }, /area/station/supply/expedition) -"cBy" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 5 - }, -/obj/structure/chair/stool/bar, -/obj/effect/landmark/start/explorer, -/obj/effect/spawner/random/dirt/often, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) "cBC" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/machinery/firealarm/directional/west, +/obj/structure/chair/comfy/black{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +/obj/effect/landmark/start/nanotrasen_career_trainer, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "browncorner" - }, -/area/station/supply/expedition) +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "cBD" = ( -/obj/machinery/hologram/holopad, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 9 + dir = 6 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) +/obj/machinery/hologram/holopad, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "cBE" = ( /turf/simulated/floor/plating, /area/station/public/toilet/lockerroom) @@ -39653,6 +39641,8 @@ /turf/simulated/floor/carpet, /area/station/science/robotics/showroom) "cCV" = ( +/obj/structure/table/reinforced, +/obj/item/pizzabox/firecracker, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "brown" @@ -39664,18 +39654,20 @@ name = "south bump"; pixel_y = -24 }, -/obj/structure/table/reinforced, +/obj/structure/chair/stool/bar, +/obj/effect/landmark/start/explorer, +/obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plasteel{ icon_state = "brown" }, /area/station/supply/expedition) "cCX" = ( -/obj/machinery/economy/vending/exploredrobe, -/turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "browncorner" +/obj/item/kirbyplants, +/obj/machinery/light{ + dir = 8 }, -/area/station/supply/expedition) +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "cCY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -39698,11 +39690,18 @@ /turf/simulated/floor/plasteel, /area/station/supply/expedition) "cDc" = ( -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "cDd" = ( /obj/effect/landmark/lightsout, /turf/simulated/floor/plasteel{ @@ -39714,12 +39713,16 @@ /turf/simulated/wall, /area/station/public/toilet/lockerroom) "cDf" = ( -/obj/structure/closet/secure_closet/explorer, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "brown" +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" }, -/area/station/supply/expedition) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 + }, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "cDg" = ( /obj/structure/cable{ icon_state = "1-2" @@ -45811,7 +45814,7 @@ /area/station/maintenance/starboard) "cZc" = ( /obj/structure/rack, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plasteel{ dir = 8; @@ -50477,8 +50480,9 @@ /turf/simulated/floor/plating, /area/station/science/genetics) "dte" = ( -/obj/item/kirbyplants, /obj/machinery/alarm/directional/south, +/obj/machinery/mineral/equipment_vendor/explorer, +/obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plasteel{ icon_state = "brown" }, @@ -56110,7 +56114,7 @@ /obj/item/reagent_containers/iv_bag/blood/random, /obj/item/reagent_containers/syringe/epinephrine, /obj/item/reagent_containers/syringe, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/machinery/status_display{ pixel_y = -32 }, @@ -56673,6 +56677,17 @@ icon_state = "yellow" }, /area/station/engineering/transmission_laser) +"eeT" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/procedure/trainer_office) "eeX" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance, @@ -57233,6 +57248,28 @@ }, /turf/simulated/floor/plasteel, /area/station/security/permabrig) +"etC" = ( +/obj/structure/safe/floor{ + known_by = list("captain") + }, +/obj/item/toy/russian_revolver, +/obj/item/reagent_containers/drinks/bottle/absinthe/premium, +/obj/item/lighter/zippo/nt_rep, +/obj/item/storage/fancy/cigarettes/cigpack_robustgold, +/obj/item/toy/figure/crew/captain, +/obj/effect/mapping_helpers/airlock/windoor/access/any/security/doors{ + dir = 8 + }, +/obj/machinery/door/window{ + dir = 8 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/carpet/black, +/area/station/command/office/captain/bedroom) "etR" = ( /obj/structure/extinguisher_cabinet{ name = "east bump"; @@ -58283,12 +58320,12 @@ /turf/simulated/floor/carpet/red, /area/station/command/office/hos) "eXJ" = ( -/obj/structure/dispenser/oxygen, -/obj/effect/turf_decal/delivery/hollow, +/obj/machinery/economy/vending/traindrobe, /turf/simulated/floor/plasteel{ - icon_state = "browncorner" + dir = 5; + icon_state = "darkgreen" }, -/area/station/supply/expedition) +/area/station/procedure/trainer_office) "eXP" = ( /obj/structure/closet/l3closet/security, /obj/machinery/firealarm/directional/east, @@ -59130,15 +59167,6 @@ icon_state = "redyellowfull" }, /area/station/medical/break_room) -"fys" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/drinks/bottle/beer, -/obj/item/reagent_containers/drinks/bottle/beer, -/obj/item/reagent_containers/drinks/bottle/beer, -/obj/item/reagent_containers/drinks/bottle/beer, -/obj/effect/spawner/random/dirt/often, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) "fzd" = ( /obj/machinery/access_button{ autolink_id = "virolab_btn_int"; @@ -59342,6 +59370,19 @@ icon_state = "dark" }, /area/station/security/armory/secure) +"fFu" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel{ + icon_state = "neutralfull" + }, +/area/station/hallway/primary/central/south) "fFy" = ( /obj/machinery/camera{ dir = 6; @@ -60191,6 +60232,14 @@ icon_state = "red" }, /area/station/security/storage) +"fZa" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/drinks/bottle/beer, +/obj/item/reagent_containers/drinks/bottle/beer, +/obj/item/reagent_containers/drinks/bottle/beer, +/obj/item/reagent_containers/drinks/bottle/beer, +/turf/simulated/floor/plasteel, +/area/station/supply/expedition) "fZc" = ( /obj/machinery/light{ dir = 1 @@ -60305,9 +60354,7 @@ /turf/simulated/floor/plating, /area/station/engineering/controlroom) "gdm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 2 - }, +/obj/effect/turf_decal/stripes/line, /obj/structure/railing, /turf/simulated/floor/engine, /area/station/science/testrange) @@ -64633,20 +64680,6 @@ /obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/wood, /area/station/maintenance/abandonedbar) -"iFr" = ( -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/supply/expedition, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/door/airlock/mining{ - name = "Expedition Headquarters" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) "iFv" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 4 @@ -67492,6 +67525,10 @@ }, /turf/simulated/floor/plasteel, /area/station/science/testrange) +"kol" = ( +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/station/maintenance/port) "kot" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -67716,6 +67753,36 @@ icon_state = "dark" }, /area/station/security/execution) +"kwm" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Trainer's Office"; + id_tag = "nct" + }, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "NCT" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, +/obj/machinery/door/firedoor, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "kxj" = ( /obj/structure/mirror{ pixel_y = 28 @@ -68556,6 +68623,20 @@ }, /turf/simulated/floor/carpet/black, /area/station/service/chapel) +"kWp" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "neutralcorner" + }, +/area/station/hallway/primary/central/south) "kWF" = ( /obj/machinery/light, /turf/simulated/floor/engine, @@ -69554,13 +69635,13 @@ /area/station/science/research) "lwY" = ( /obj/structure/table/glass, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 3 }, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/reagent_containers/spray/cleaner, /obj/structure/sign/poster/official/random{ pixel_x = 32 @@ -70666,12 +70747,14 @@ name = "east bump"; pixel_x = 28 }, -/obj/structure/closet/secure_closet/explorer, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "brown" +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/area/station/supply/expedition) +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/wood, +/area/station/procedure/trainer_office) "miQ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -71905,6 +71988,14 @@ /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, /area/station/command/bridge) +"mSW" = ( +/obj/machinery/requests_console/directional/west, +/obj/structure/closet/secure_closet/explorer, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "browncorner" + }, +/area/station/supply/expedition) "mTd" = ( /obj/machinery/door/poddoor/preopen{ id_tag = "xeno5"; @@ -72088,6 +72179,11 @@ icon_state = "dark" }, /area/station/security/warden) +"mWq" = ( +/obj/machinery/economy/vending/exploredrobe, +/obj/effect/spawner/random/dirt/often, +/turf/simulated/floor/plasteel, +/area/station/supply/expedition) "mWz" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -72954,13 +73050,6 @@ /obj/structure/sink/puddle, /turf/simulated/floor/grass, /area/station/medical/medbay) -"nsD" = ( -/obj/structure/chair/stool/bar, -/obj/effect/spawner/random/dirt/often, -/turf/simulated/floor/plasteel{ - icon_state = "brown" - }, -/area/station/supply/expedition) "ntt" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -73959,26 +74048,6 @@ }, /turf/simulated/floor/plasteel/dark, /area/station/engineering/gravitygenerator) -"nYv" = ( -/obj/machinery/door/window{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/windoor/access/any/security/doors{ - dir = 8 - }, -/obj/structure/safe/floor{ - known_by = list("captain") - }, -/obj/item/gun/projectile/revolver/russian, -/obj/item/reagent_containers/drinks/bottle/absinthe/premium, -/obj/item/lighter/zippo/nt_rep, -/obj/item/storage/fancy/cigarettes/cigpack_robustgold, -/obj/item/toy/figure/crew/captain, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/carpet/black, -/area/station/command/office/captain/bedroom) "nYw" = ( /turf/simulated/floor/plasteel, /area/station/maintenance/fore) @@ -75174,6 +75243,16 @@ /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, /area/station/hallway/primary/central) +"oHi" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/closet/secure_closet/explorer, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "browncorner" + }, +/area/station/supply/expedition) "oHk" = ( /obj/machinery/door/firedoor, /obj/machinery/door/window, @@ -75993,9 +76072,9 @@ dir = 8 }, /obj/machinery/camera{ - c_tag = "Research Lobby"; + c_tag = "Power Transmission Laser"; dir = 1; - network = list("Research","SS13") + network = list("Engineering","SS13") }, /turf/simulated/floor/plasteel{ icon_state = "caution" @@ -76122,6 +76201,16 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/fore/north) +"pec" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "peB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/yellow{ @@ -76250,6 +76339,11 @@ icon_state = "yellow" }, /area/station/engineering/transmission_laser) +"piL" = ( +/obj/machinery/suit_storage_unit/expedition, +/obj/effect/spawner/random/dirt/often, +/turf/simulated/floor/plasteel, +/area/station/supply/expedition) "pjk" = ( /turf/simulated/floor/engine, /area/station/science/test_chamber) @@ -76664,10 +76758,6 @@ }, /turf/simulated/floor/plating, /area/station/security/armory/secure) -"pvo" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/maintenance/port) "pvv" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/reinforced/normal, @@ -77031,9 +77121,9 @@ "pFX" = ( /obj/structure/rack, /obj/item/storage/belt/utility, -/obj/random/tool, -/obj/random/tool, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, +/obj/effect/spawner/random/engineering/tools, +/obj/effect/spawner/random/engineering/tools, /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, /area/station/maintenance/fsmaint) @@ -77232,15 +77322,6 @@ /obj/effect/turf_decal/delivery, /turf/simulated/floor/plasteel, /area/station/supply/miningdock) -"pLm" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/plasteel, -/area/station/supply/expedition) "pLq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 8 @@ -80865,6 +80946,10 @@ /obj/machinery/alarm/directional/south, /turf/simulated/floor/carpet/black, /area/station/security/detective) +"rIu" = ( +/obj/effect/landmark/start/explorer, +/turf/simulated/floor/plasteel, +/area/station/supply/expedition) "rIE" = ( /obj/structure/table/wood, /obj/item/storage/bible, @@ -81092,6 +81177,18 @@ icon_state = "whiteyellowcorner" }, /area/station/medical/medbay) +"rPd" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/closet, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "rPH" = ( /obj/structure/cable{ icon_state = "4-8" @@ -83871,6 +83968,13 @@ /obj/structure/morgue, /turf/simulated/floor/plasteel/dark, /area/station/medical/morgue) +"ten" = ( +/obj/machinery/suit_storage_unit/expedition, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "browncorner" + }, +/area/station/supply/expedition) "tep" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -84069,6 +84173,18 @@ icon_state = "darkbluecorners" }, /area/station/medical/morgue) +"tlb" = ( +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = -32 + }, +/obj/structure/closet/secure_closet/explorer, +/obj/machinery/camera{ + c_tag = "Expedition Access"; + dir = 4 + }, +/obj/effect/spawner/random/dirt/often, +/turf/simulated/floor/plasteel, +/area/station/supply/expedition) "tls" = ( /obj/effect/turf_decal/delivery/hollow, /obj/effect/mapping_helpers/airlock/access/all/engineering/construction, @@ -86449,7 +86565,7 @@ "uud" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /turf/simulated/floor/plating, /area/station/maintenance/aft) "uuh" = ( @@ -86953,6 +87069,31 @@ }, /turf/simulated/floor/engine/n20, /area/station/engineering/atmos) +"uJP" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/structure/disposalpipe/junction/reversed{ + dir = 2 + }, +/obj/machinery/autolathe, +/turf/simulated/floor/plasteel{ + icon_state = "neutralfull" + }, +/area/station/engineering/break_room) "uJQ" = ( /obj/structure/table, /obj/machinery/photocopier/faxmachine{ @@ -89304,6 +89445,12 @@ icon_state = "whiteblue" }, /area/station/medical/reception) +"vZf" = ( +/obj/machinery/recharge_station, +/turf/simulated/floor/plasteel{ + icon_state = "brown" + }, +/area/station/supply/expedition) "vZx" = ( /obj/effect/turf_decal/delivery/hollow, /obj/structure/closet/walllocker/emerglocker/east, @@ -89372,7 +89519,7 @@ /area/station/hallway/primary/central) "waJ" = ( /obj/structure/table/glass, -/obj/random/plushie, +/obj/effect/spawner/random/plushies, /obj/machinery/light{ dir = 1 }, @@ -90221,6 +90368,9 @@ icon_state = "neutralfull" }, /area/station/hallway/secondary/entry/east) +"wwx" = ( +/turf/simulated/wall, +/area/station/procedure/trainer_office) "wwK" = ( /obj/machinery/hologram/holopad, /obj/structure/cable{ @@ -90820,6 +90970,16 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, /area/station/science/storage) +"wOM" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "wOW" = ( /obj/structure/cable{ icon_state = "4-8" @@ -90990,11 +91150,28 @@ /turf/simulated/floor/plasteel/dark, /area/station/engineering/controlroom) "wUm" = ( +/obj/machinery/button/windowtint{ + id = "NCT"; + pixel_x = 24; + dir = 8; + pixel_y = 5 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/light_switch{ + dir = 8; + name = "east bump"; + pixel_x = 24; + pixel_y = -5 + }, /turf/simulated/floor/plasteel{ dir = 4; - icon_state = "brown" + icon_state = "darkgreen" }, -/area/station/supply/expedition) +/area/station/procedure/trainer_office) "wUq" = ( /obj/machinery/economy/vending/hydronutrients, /obj/effect/turf_decal/delivery/hollow, @@ -91814,6 +91991,15 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel/white, /area/station/science/lobby) +"xpZ" = ( +/obj/item/radio/intercom{ + name = "east bump"; + pixel_x = 28 + }, +/obj/machinery/suit_storage_unit/expedition, +/obj/effect/spawner/random/dirt/often, +/turf/simulated/floor/plasteel, +/area/station/supply/expedition) "xql" = ( /obj/machinery/light{ dir = 8 @@ -119976,7 +120162,7 @@ bzV bBH bDx bEZ -bGG +uJP bIC nhh bMt @@ -127466,7 +127652,7 @@ tik xjh mQi rLQ -pvo +kol drn dhG fBk @@ -134907,9 +135093,9 @@ bIX cyv cxe cvK -cyw -cyr -czW +oHi +tlb +mSW cBw cCV cyv @@ -135166,8 +135352,8 @@ cul cDa cDa cyt -fys -cBv +fZa +cDa cCW cyv cEZ @@ -135424,8 +135610,8 @@ cvM cxf cys czV -cBy -nsD +rIu +vZf cyv csW qZt @@ -135678,10 +135864,10 @@ bIX cyv cuX cyx -cxh +cDa cyu cDa -pLm +cDa dte cyv csW @@ -135934,12 +136120,12 @@ sHD crO cyv cvJ -cvY +ten +piL +xpZ cxJ -cyI -cDa cxk -cDa +mWq cyv rfw ckv @@ -136190,14 +136376,14 @@ coG wat bIX cyv -cyv -oVl -oVl -cyv -oVl -iFr -oVl -cyv +wwx +wwx +wwx +wwx +wwx +wwx +wwx +wwx jdr dLT njU @@ -136435,7 +136621,7 @@ bYD bYD bYD car -nYv +etC cdY bYD chy @@ -136447,14 +136633,14 @@ cht sqO bIX uaS -cyv +wwx cxl -cuk +rPd cyw cuk cBC cCX -cyv +wOM csW ckv jfG @@ -136704,17 +136890,17 @@ xmE ygv bIX rVL -cyv +wwx cvQ -cDa -cDa +eeT +cuB cAb cBD cDc -cyv -csW -ckv -cHN +kwm +kWp +fFu +bug ppu cKW nQF @@ -136961,14 +137147,14 @@ cht ygv bIX nSv -cyv +wwx eXJ wUm cyy mhU cDf csV -cyv +pec csW ckv cHN @@ -137217,15 +137403,15 @@ cht cht vAP bSz -cyv -cyv -cyv -cyv -cyv -cyv -cyv -cyv -cyv +bsv +wwx +wwx +wwx +wwx +wwx +wwx +wwx +wwx lXi tIa njo diff --git a/_maps/map_files/stations/emeraldstation.dmm b/_maps/map_files/stations/emeraldstation.dmm index 6a891b00c8cd..78097402b526 100644 --- a/_maps/map_files/stations/emeraldstation.dmm +++ b/_maps/map_files/stations/emeraldstation.dmm @@ -7298,7 +7298,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/item/solar_assembly, +/obj/machinery/power/tracker, /turf/space, /area/station/engineering/solar/fore_port) "bwP" = ( @@ -9633,6 +9633,16 @@ icon_state = "redyellowfull" }, /area/station/maintenance/apmaint) +"bSp" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "bSq" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -10970,6 +10980,12 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/wood, /area/station/maintenance/abandoned_office) +"cfS" = ( +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "cfV" = ( /obj/item/food/grown/harebell, /turf/simulated/floor/grass, @@ -11034,16 +11050,20 @@ /turf/simulated/floor/plating, /area/station/maintenance/starboard) "cgE" = ( -/obj/structure/table, -/obj/item/paper_bin/nanotrasen{ - pixel_y = -2 - }, /obj/machinery/camera{ c_tag = "Paper Supplies"; dir = 8 }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) +/obj/machinery/power/apc/important/directional/east, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/obj/effect/turf_decal/woodsiding{ + dir = 4 + }, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "cgK" = ( /obj/structure/rack{ dir = 1 @@ -11125,19 +11145,6 @@ icon_state = "darkgrey" }, /area/station/security/permabrig) -"chI" = ( -/obj/structure/table, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler{ - pixel_y = 3; - pixel_x = 2 - }, -/obj/item/hand_labeler, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) "chK" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -13542,6 +13549,20 @@ "cHG" = ( /turf/simulated/wall, /area/station/medical/patients_rooms_secondary) +"cHH" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/solar{ + name = "Fore-Port Solar Array" + }, +/obj/machinery/power/solar{ + name = "Fore-Port Solar Array" + }, +/turf/simulated/floor/plasteel/airless{ + icon_state = "solarpanel" + }, +/area/station/engineering/solar/fore_port) "cHI" = ( /obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, @@ -17683,6 +17704,13 @@ icon_state = "cult" }, /area/station/service/chapel/office) +"dzM" = ( +/obj/structure/filingcabinet, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "dzR" = ( /turf/simulated/floor/plasteel{ dir = 4; @@ -19137,6 +19165,9 @@ /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/power/solar{ + name = "Fore-Port Solar Array" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, @@ -19151,18 +19182,24 @@ }, /area/station/science/lobby) "dOH" = ( -/obj/structure/rack, -/obj/item/folder/red{ - pixel_x = 8; - pixel_y = 6 +/obj/structure/table/wood, +/obj/effect/turf_decal/woodsiding{ + dir = 10 }, -/obj/item/folder/blue{ - pixel_x = 4; - pixel_y = 3 +/obj/item/flashlight/lamp/green{ + pixel_y = 8; + pixel_x = 5 }, -/obj/item/folder, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) +/obj/machinery/door_control{ + id = "nct"; + name = "Office Door"; + normaldoorcontrol = 1; + req_access = list(80); + pixel_y = -2; + pixel_x = -7 + }, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "dOQ" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 4 @@ -19822,40 +19859,6 @@ }, /area/station/medical/break_room) "dXx" = ( -/obj/structure/closet/crate, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/tracker_electronics, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -4 - }, -/obj/item/stack/sheet/glass{ - amount = 50; - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/stack/sheet/glass{ - amount = 50 - }, /turf/simulated/floor/plating, /area/station/maintenance/solar_maintenance/fore_port) "dXC" = ( @@ -22489,6 +22492,19 @@ icon_state = "caution" }, /area/station/engineering/break_room) +"ezi" = ( +/obj/structure/table/glass, +/obj/item/clothing/neck/stethoscope{ + pixel_y = 6 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/newscaster/directional/north, +/turf/simulated/floor/plasteel{ + icon_state = "whitebluefull" + }, +/area/station/medical/sleeper) "ezp" = ( /obj/structure/disposalpipe/segment/corner{ dir = 1 @@ -23263,9 +23279,9 @@ "eHd" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/camera{ - c_tag = "AI Satellite Exterior West"; dir = 8; - network = list("SS13","MiniSat") + network = list("Engineering","SS13"); + c_tag = "Power Transmission Laser" }, /obj/machinery/power/apc/directional/east, /obj/structure/cable{ @@ -26680,17 +26696,6 @@ icon_state = "darkred" }, /area/station/security/brig) -"fop" = ( -/obj/structure/rack, -/obj/item/clothing/suit/corgisuit, -/obj/item/clothing/head/corgi{ - pixel_y = 7 - }, -/obj/structure/sign/poster/official/love_ian{ - pixel_y = -32 - }, -/turf/simulated/floor/plating, -/area/station/maintenance/fpmaint) "fot" = ( /obj/machinery/light/small, /turf/simulated/floor/plating, @@ -27522,7 +27527,7 @@ dir = 1; icon_state = "yellowcorner" }, -/area/station/hallway/primary/central/nw) +/area/station/hallway/primary/central/sw) "fvK" = ( /obj/machinery/atmospherics/pipe/manifold/visible/yellow, /turf/simulated/floor/plasteel, @@ -30327,6 +30332,23 @@ icon_state = "freezerfloor" }, /area/station/security/brig) +"fZt" = ( +/obj/machinery/button/windowtint{ + id = "NCT"; + pixel_y = 24; + pixel_x = 5 + }, +/obj/machinery/light_switch{ + pixel_y = 24; + name = "north bump"; + pixel_x = -5 + }, +/obj/structure/closet, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "fZK" = ( /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, @@ -31387,12 +31409,12 @@ /turf/simulated/floor/plating, /area/station/maintenance/security/fore) "gjA" = ( -/obj/machinery/power/solar{ - name = "Starboard Solar Array" - }, /obj/structure/cable{ icon_state = "0-8" }, +/obj/machinery/power/solar{ + name = "Aft-Starboard Solar Array" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, @@ -31418,7 +31440,7 @@ /area/station/service/hydroponics) "gkj" = ( /obj/machinery/power/solar{ - name = "Starboard Solar Array" + name = "Fore-Starboard Solar Array" }, /obj/structure/cable{ icon_state = "0-2" @@ -32270,6 +32292,10 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, /area/station/public/storage/office) +"gsr" = ( +/obj/item/flag/ian, +/turf/simulated/floor/wood, +/area/station/maintenance/fpmaint) "gsu" = ( /obj/structure/closet/secure_closet/freezer/fridge/open, /obj/item/organ/internal/liver/nian, @@ -33752,20 +33778,6 @@ icon_state = "whiteblue" }, /area/station/medical/surgery/primary) -"gHY" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, -/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) "gId" = ( /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, @@ -35282,15 +35294,6 @@ /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) -"gYN" = ( -/obj/item/solar_assembly, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/simulated/floor/plasteel/airless{ - icon_state = "solarpanel" - }, -/area/station/engineering/solar/fore_port) "gYO" = ( /obj/structure/chair{ dir = 4 @@ -35787,15 +35790,6 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/station/maintenance/aft2) -"hde" = ( -/obj/item/kitchen/sushimat{ - name = "Prayer Mat" - }, -/obj/item/clothing/suit/ianshirt{ - desc = "A worn out, curiously comfortable t-shirt with a picture of Ian. You wouldn't go so far as to say it feels like being hugged when you wear it but it's pretty close. Good for sleeping in. This one in particular looks like it wasnt washed in months" - }, -/turf/simulated/floor/wood, -/area/station/maintenance/fpmaint) "hdi" = ( /obj/structure/sign/poster/official/random{ pixel_x = -32 @@ -36966,6 +36960,14 @@ "hoM" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "blue" @@ -37354,7 +37356,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, -/area/station/hallway/primary/central/nw) +/area/station/hallway/primary/central/sw) "hsN" = ( /obj/structure/chair{ dir = 4 @@ -37503,8 +37505,8 @@ layer = 2.9 }, /obj/structure/rack, -/obj/item/clothing/accessory/stripedbluescarf, -/obj/item/clothing/accessory/blue, +/obj/item/clothing/neck/scarf/stripedblue, +/obj/item/clothing/neck/tie/blue, /turf/simulated/floor/plating, /area/station/maintenance/starboard) "huB" = ( @@ -37891,6 +37893,14 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/asmaint) +"hxK" = ( +/obj/structure/rack, +/obj/item/clothing/suit/corgisuit, +/obj/item/clothing/head/corgi{ + pixel_y = 7 + }, +/turf/simulated/floor/wood, +/area/station/maintenance/fpmaint) "hxL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -37945,8 +37955,8 @@ /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "hye" = ( /obj/item/clothing/under/misc/swimsuit/blue, /turf/simulated/floor/beach/away/sand, @@ -39427,10 +39437,10 @@ /turf/simulated/floor/plating, /area/station/maintenance/apmaint2) "hMY" = ( +/obj/structure/cable, /obj/machinery/power/solar{ - name = "Starboard Solar Array" + name = "Aft-Starboard Solar Array" }, -/obj/structure/cable, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, @@ -39878,7 +39888,7 @@ /area/station/maintenance/incinerator) "hTk" = ( /obj/structure/table, -/obj/random/plushie, +/obj/effect/spawner/random/plushies, /obj/machinery/light{ dir = 4 }, @@ -39923,10 +39933,6 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, /area/station/maintenance/fsmaint2) -"hTO" = ( -/obj/item/flag/ian, -/turf/simulated/floor/plating, -/area/station/maintenance/fpmaint) "hUe" = ( /obj/effect/spawner/random/blood/maybe, /obj/structure/cable{ @@ -41747,6 +41753,15 @@ /obj/machinery/atmospherics/portable/canister/air, /turf/simulated/floor/plating, /area/station/maintenance/security/fore) +"imy" = ( +/obj/structure/disposalpipe/segment/corner{ + dir = 2 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "blue" + }, +/area/station/hallway/primary/fore/north) "imB" = ( /obj/item/kirbyplants, /turf/simulated/floor/plasteel, @@ -43125,12 +43140,12 @@ /turf/simulated/floor/plating, /area/station/maintenance/aft2) "iAv" = ( -/obj/machinery/power/solar{ - name = "Starboard Solar Array" - }, /obj/structure/cable{ icon_state = "0-2" }, +/obj/machinery/power/solar{ + name = "Aft-Starboard Solar Array" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, @@ -43905,32 +43920,6 @@ }, /turf/simulated/floor/plasteel, /area/station/maintenance/starboard) -"iHX" = ( -/obj/structure/closet/crate, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/stack/sheet/metal/fifty, -/obj/item/circuitboard/solar_control, -/turf/simulated/floor/plating, -/area/station/maintenance/solar_maintenance/fore_port) "iHY" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan, /obj/structure/table, @@ -44647,6 +44636,9 @@ /obj/structure/flora/grass/jungle, /turf/simulated/floor/grass, /area/station/public/dorms) +"iPs" = ( +/turf/simulated/wall, +/area/station/procedure/trainer_office) "iPw" = ( /obj/structure/lattice/catwalk, /obj/machinery/camera{ @@ -46205,7 +46197,7 @@ known_by = list("captain") }, /obj/item/reagent_containers/drinks/bottle/absinthe/premium, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /obj/item/lighter/zippo/nt_rep, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, /obj/item/toy/figure/crew/captain, @@ -46624,6 +46616,23 @@ /obj/structure/cable, /turf/simulated/floor/plating, /area/station/engineering/atmos/asteroid_maint) +"jjE" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/junction/reversed{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/fore/north) "jjJ" = ( /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, @@ -48112,8 +48121,12 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) +/obj/structure/chair/comfy/black{ + dir = 8 + }, +/obj/effect/turf_decal/woodsiding, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "jzo" = ( /obj/machinery/turretid/stun{ control_area = "\improper AI Satellite Atmospherics"; @@ -49250,9 +49263,7 @@ pixel_y = 2; pixel_x = -9 }, -/obj/random/carp_plushie{ - pixel_y = -8 - }, +/obj/effect/spawner/random/toy/carp_plushie, /obj/structure/table, /turf/simulated/floor/plating, /area/station/maintenance/apmaint2) @@ -49449,14 +49460,6 @@ }, /turf/simulated/floor/plating, /area/station/turret_protected/aisat/interior) -"jLq" = ( -/obj/structure/chair/office, -/obj/item/restraints/handcuffs/cable/red, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/spawner/random/cobweb/right/rare, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating, -/area/station/maintenance/fpmaint) "jLr" = ( /obj/machinery/firealarm/directional/east, /turf/simulated/floor/plasteel, @@ -50193,6 +50196,17 @@ /obj/effect/spawner/window/reinforced, /turf/simulated/floor/plating, /area/station/engineering/atmos/distribution) +"jSa" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/chair/sofa/left, +/obj/effect/turf_decal/woodsiding{ + dir = 1 + }, +/obj/effect/landmark/start/nanotrasen_career_trainer, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "jSe" = ( /obj/structure/closet/emcloset, /turf/simulated/floor/plating, @@ -53178,51 +53192,15 @@ /turf/simulated/floor/plating, /area/station/maintenance/starboard) "kyS" = ( -/obj/machinery/door/airlock/engineering{ - name = "Aft Starboard Solar Access" - }, /obj/structure/cable{ icon_state = "1-2" }, /obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/simulated/floor/plating, -/area/station/maintenance/solar_maintenance/aft_port) -"kyY" = ( -/obj/structure/closet/crate, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/solar_assembly, -/obj/item/stack/sheet/glass{ - amount = 50 - }, -/obj/item/stack/sheet/glass{ - amount = 50; - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -4 +/obj/machinery/door/airlock/engineering{ + name = "Aft Port Solar Access" }, /turf/simulated/floor/plating, -/area/station/maintenance/solar_maintenance/fore_port) +/area/station/maintenance/solar_maintenance/aft_port) "kzl" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/plasteel{ @@ -54072,7 +54050,7 @@ name = "Central Access" }, /turf/simulated/floor/plasteel, -/area/station/hallway/primary/central/nw) +/area/station/hallway/primary/central/sw) "kJn" = ( /obj/structure/table/wood, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims, @@ -61595,6 +61573,9 @@ /area/station/maintenance/aft2) "mlB" = ( /obj/structure/cable, +/obj/machinery/power/solar{ + name = "Fore-Port Solar Array" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, @@ -62563,13 +62544,15 @@ /turf/simulated/floor/plasteel, /area/station/maintenance/apmaint) "muP" = ( -/obj/structure/table, -/obj/item/paper_bin, -/obj/item/paper_bin{ - pixel_y = 15 +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) +/obj/effect/turf_decal/woodsiding{ + dir = 6 + }, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "muR" = ( /obj/structure/cable{ icon_state = "2-4" @@ -62779,12 +62762,12 @@ }, /area/station/hallway/primary/starboard/south) "mxT" = ( -/obj/machinery/power/solar{ - name = "Starboard Solar Array" - }, /obj/structure/cable{ icon_state = "0-8" }, +/obj/machinery/power/solar{ + name = "Aft-Port Solar Array" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, @@ -63732,6 +63715,17 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/station/maintenance/security/fore) +"mJo" = ( +/obj/item/radio/intercom{ + name = "west bump"; + pixel_x = -28 + }, +/obj/machinery/economy/vending/traindrobe, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "mJr" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/sparsegrass, @@ -64053,9 +64047,15 @@ /turf/simulated/wall/r_wall, /area/station/science/toxins/mixing) "mMY" = ( -/obj/effect/spawner/window/reinforced, +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-4" + }, /turf/simulated/floor/plating, -/area/station/hallway/primary/fore/north) +/area/station/procedure/trainer_office) "mNe" = ( /obj/structure/table, /obj/item/multitool, @@ -64065,6 +64065,16 @@ }, /turf/simulated/floor/plasteel, /area/station/engineering/atmos/distribution) +"mNf" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/effect/landmark/start/nanotrasen_career_trainer, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "mNs" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk, @@ -65774,7 +65784,7 @@ /area/station/maintenance/fpmaint) "ndK" = ( /obj/structure/table/glass, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, /obj/machinery/light/small{ @@ -66544,7 +66554,7 @@ /obj/structure/table/glass, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/ointment, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /turf/simulated/floor/plating, /area/station/maintenance/asmaint) "nlH" = ( @@ -67218,7 +67228,7 @@ /area/station/maintenance/fsmaint2) "nrE" = ( /obj/structure/table, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, /obj/item/reagent_containers/glass/bottle/morphine, @@ -69228,12 +69238,12 @@ /turf/simulated/floor/plating, /area/station/maintenance/fsmaint2) "nLU" = ( -/obj/machinery/power/solar{ - name = "Starboard Solar Array" - }, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/power/solar{ + name = "Aft-Starboard Solar Array" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, @@ -71358,13 +71368,6 @@ }, /turf/simulated/floor/plasteel, /area/station/maintenance/aft) -"ofC" = ( -/obj/structure/closet, -/obj/item/toy/plushie/girly_corgi, -/obj/item/toy/plushie/robo_corgi, -/obj/effect/spawner/random/maintenance, -/turf/simulated/floor/plating, -/area/station/maintenance/fpmaint) "ofE" = ( /obj/machinery/alarm/directional/west, /turf/simulated/floor/plasteel{ @@ -71405,6 +71408,13 @@ }, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/ne) +"ogi" = ( +/obj/structure/closet, +/obj/effect/spawner/random/maintenance, +/obj/item/toy/plushie/robo_corgi, +/obj/item/toy/plushie/girly_corgi, +/turf/simulated/floor/plating, +/area/station/maintenance/fpmaint) "ogs" = ( /obj/structure/railing, /obj/structure/flora/ausbushes/ywflowers, @@ -72262,6 +72272,9 @@ /obj/structure/cable{ icon_state = "0-8" }, +/obj/machinery/power/solar{ + name = "Fore-Port Solar Array" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, @@ -76196,6 +76209,9 @@ /obj/structure/cable{ icon_state = "0-2" }, +/obj/machinery/power/solar{ + name = "Fore-Port Solar Array" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, @@ -76493,6 +76509,29 @@ icon_state = "bluecorner" }, /area/station/hallway/primary/central/west) +"pdn" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/fore/north) "pdw" = ( /obj/machinery/door/airlock/public/glass{ name = "Central Access" @@ -76560,7 +76599,7 @@ /area/station/command/office/ntrep) "peo" = ( /obj/structure/closet/cabinet, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/crowbar, /obj/effect/spawner/random/maintenance, /turf/simulated/floor/wood, @@ -77063,7 +77102,7 @@ "pio" = ( /obj/structure/table, /obj/item/soap/deluxe, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/effect/decal/cleanable/dirt, /obj/machinery/defibrillator_mount{ pixel_y = 32 @@ -77084,11 +77123,11 @@ /area/station/maintenance/aft) "piB" = ( /obj/structure/table, -/obj/item/clothing/accessory/stethoscope, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/neck/stethoscope{ pixel_y = 3 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, /obj/item/radio/intercom{ @@ -78173,7 +78212,7 @@ /turf/simulated/floor/plasteel, /area/station/command/vault) "puY" = ( -/obj/structure/filingcabinet/security, +/obj/machinery/autolathe, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "caution" @@ -80888,18 +80927,16 @@ /turf/space, /area/space/nearstation) "pXA" = ( -/obj/item/kitchen/knife/shiv{ - pixel_y = 16; - pixel_x = 7 +/obj/machinery/alarm/directional/west, +/obj/machinery/photocopier, +/obj/machinery/light{ + dir = 8 }, -/obj/item/clothing/mask/gas, -/obj/item/stock_parts/cell/high/empty{ - pixel_y = 12; - pixel_x = -7 +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkgreen" }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating, -/area/station/maintenance/fpmaint) +/area/station/procedure/trainer_office) "pXC" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ @@ -86197,34 +86234,12 @@ }, /area/station/security/permabrig) "rcg" = ( -/obj/structure/closet/crate, -/obj/item/pen, -/obj/item/pen{ - pixel_x = -8; - pixel_y = 5 - }, -/obj/item/pen{ - pixel_x = 8; - pixel_y = 5 - }, -/obj/item/pen/blue{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/pen/blue{ - pixel_x = -3; - pixel_y = 2 - }, -/obj/item/pen/multi{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/item/pen/multi{ - pixel_x = -6 +/obj/structure/chair/sofa/right, +/obj/effect/turf_decal/woodsiding{ + dir = 1 }, -/obj/item/stack/wrapping_paper, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "rcm" = ( /obj/machinery/economy/vending/wallmed/directional/west, /turf/simulated/floor/wood, @@ -86485,16 +86500,6 @@ icon_state = "rampbottom" }, /area/station/medical/medbay2) -"reI" = ( -/obj/structure/table, -/obj/item/stack/sheet/cardboard{ - amount = 10 - }, -/obj/item/dest_tagger{ - pixel_x = -4 - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) "reR" = ( /obj/structure/table/wood, /obj/item/storage/fancy/crayons, @@ -86560,12 +86565,12 @@ /turf/simulated/floor/plasteel, /area/station/maintenance/security/aft_starboard) "rfz" = ( -/obj/machinery/power/solar{ - name = "Starboard Solar Array" - }, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/power/solar{ + name = "Aft-Port Solar Array" + }, /turf/simulated/floor/plasteel/airless{ icon_state = "solarpanel" }, @@ -88350,16 +88355,18 @@ /turf/simulated/floor/plasteel, /area/station/maintenance/assembly_line) "rwZ" = ( -/obj/machinery/photocopier, -/obj/item/radio/intercom{ - name = "west bump"; - pixel_x = -28 +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer{ + dir = 8 }, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 +/obj/effect/turf_decal/woodsiding{ + dir = 8 }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) +/obj/machinery/door/window/reinforced/normal{ + name = "NCT"; + dir = 8 + }, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "rxd" = ( /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/south) @@ -90129,6 +90136,16 @@ }, /turf/simulated/floor/plasteel, /area/station/security/interrogation) +"rNI" = ( +/obj/item/flag/nt, +/obj/effect/turf_decal/woodsiding{ + dir = 9 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "rNN" = ( /obj/machinery/newscaster/directional/south, /turf/simulated/floor/plasteel{ @@ -90864,14 +90881,35 @@ /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/nw) "rUQ" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Paper Supplies" - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/firedoor, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock/command/glass{ + name = "Trainer's Office"; + id_tag = "nct" + }, +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "NCT" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, /turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) +/area/station/procedure/trainer_office) "rUU" = ( /obj/structure/sign/poster/official/random{ pixel_y = -32 @@ -99423,7 +99461,9 @@ /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) "tDQ" = ( -/obj/effect/spawner/random/maintenance, +/obj/structure/sign/poster/official/love_ian{ + pixel_y = -32 + }, /turf/simulated/floor/plating, /area/station/maintenance/fpmaint) "tDY" = ( @@ -101260,8 +101300,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/machinery/hologram/holopad, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "tXh" = ( /obj/structure/chair/stool, /turf/simulated/floor/plating, @@ -101583,7 +101629,7 @@ /area/station/medical/storage) "tZN" = ( /obj/structure/table, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/healthanalyzer, /obj/effect/decal/cleanable/glass, /turf/simulated/floor/plating, @@ -102416,13 +102462,6 @@ }, /turf/simulated/floor/wood, /area/station/security/permabrig) -"uiJ" = ( -/obj/structure/sign/poster/official/love_ian{ - pixel_y = -32 - }, -/obj/effect/mapping_helpers/turfs/damage, -/turf/simulated/floor/wood, -/area/station/maintenance/fpmaint) "uiT" = ( /obj/structure/table, /obj/item/storage/box/lights/mixed, @@ -103285,16 +103324,6 @@ }, /area/station/service/theatre) "usw" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -4 - }, /obj/effect/spawner/random/cobweb/right/rare, /turf/simulated/floor/plating, /area/station/maintenance/solar_maintenance/fore_port) @@ -106854,7 +106883,7 @@ /area/station/engineering/atmos) "vcm" = ( /obj/machinery/power/solar{ - name = "Starboard Solar Array" + name = "Fore-Starboard Solar Array" }, /obj/structure/cable, /turf/simulated/floor/plasteel/airless{ @@ -107101,6 +107130,14 @@ "vfn" = ( /turf/simulated/floor/plasteel, /area/station/supply/miningdock) +"vft" = ( +/obj/item/decorations/sticky_decorations/flammable/heart, +/obj/item/stack/sheet/wood{ + name = "Ians Stick"; + desc = "A large stick covered in bite marks and dried slobber.ss" + }, +/turf/simulated/floor/wood, +/area/station/maintenance/fpmaint) "vfu" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 4 @@ -113267,19 +113304,6 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/aft2) -"woS" = ( -/obj/structure/table/glass, -/obj/item/clothing/accessory/stethoscope{ - pixel_y = 6 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/simulated/floor/plasteel{ - icon_state = "whitebluefull" - }, -/area/station/medical/sleeper) "woU" = ( /obj/effect/spawner/random/barrier/grille_maybe, /obj/structure/cable{ @@ -116022,15 +116046,6 @@ icon_state = "white" }, /area/station/science/research) -"wUg" = ( -/obj/item/solar_assembly, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/simulated/floor/plasteel/airless{ - icon_state = "solarpanel" - }, -/area/station/engineering/solar/fore_port) "wUh" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 1 @@ -119522,8 +119537,17 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/fore/north) +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, +/obj/effect/turf_decal/woodsiding, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "xEC" = ( /obj/structure/cable{ icon_state = "4-8" @@ -120388,15 +120412,6 @@ icon_state = "redcorner" }, /area/station/security/processing) -"xOh" = ( -/obj/item/solar_assembly, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/simulated/floor/plasteel/airless{ - icon_state = "solarpanel" - }, -/area/station/engineering/solar/fore_port) "xOk" = ( /obj/structure/cable{ icon_state = "4-8" @@ -121655,6 +121670,19 @@ /obj/structure/girder, /turf/simulated/floor/plating, /area/station/maintenance/asmaint) +"ybJ" = ( +/obj/structure/sign/poster/official/love_ian{ + pixel_y = -32 + }, +/obj/item/kitchen/sushimat{ + name = "Prayer Mat" + }, +/obj/item/clothing/suit/ianshirt{ + desc = "A worn out, curiously comfortable t-shirt with a picture of Ian. You wouldn't go so far as to say it feels like being hugged when you wear it but it's pretty close. Good for sleeping in. This one in particular looks like it wasnt washed in months" + }, +/obj/effect/mapping_helpers/turfs/damage, +/turf/simulated/floor/wood, +/area/station/maintenance/fpmaint) "ybL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 @@ -122464,6 +122492,14 @@ }, /turf/simulated/floor/carpet/blue, /area/station/command/office/blueshield) +"yjS" = ( +/obj/item/kirbyplants, +/obj/effect/turf_decal/woodsiding{ + dir = 5 + }, +/obj/machinery/firealarm/directional/east, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "yjU" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 9 @@ -142288,7 +142324,7 @@ jnP aZS jnP aZS -gYN +dOB aZS jnP wXf @@ -144335,7 +144371,7 @@ jnP jnP wXf jnP -wUg +pay jSB jSB raE @@ -144602,7 +144638,7 @@ oCR onQ onQ onQ -xOh +onQ onQ aZS aZS @@ -145622,12 +145658,12 @@ wXf aZS aZS onQ -xOh onQ onQ onQ -knb onQ +knb +cHH onQ onQ onQ @@ -147427,7 +147463,7 @@ dGi uTg uVV fXb -kyY +dXx oJh vWJ muu @@ -147684,7 +147720,7 @@ dGi usw pOM pTR -iHX +dXx dGi lfn mQF @@ -148957,17 +148993,17 @@ jnP jnP jnP jnP -aZS sik sik sik -rtG -rvy sik -vyj rtG -sik -hjW +rvy +iPs +iPs +iPs +iPs +iPs slw pRV ttR @@ -149214,17 +149250,17 @@ jnP jnP jnP jnP -aZS sik bah vqr -hTO +gsr +aSK tDQ -fop -sik -jLq +iPs +dzM +mJo pXA -hjW +iPs buP vqN dNw @@ -149471,17 +149507,17 @@ jnP jnP jnP jnP -jnP sik vgB iOz -vtq seW -ofC -hjW -hjW -hjW -hjW +vtq +hxK +iPs +fZt +cfS +mNf +iPs uGP xuN czL @@ -149728,17 +149764,17 @@ jnP jnP jnP jnP -jnP sik toV fdc -hde -aSK -hjW -hjW +seW +iOz +pXZ +iPs +rNI rwZ dOH -hjW +iPs lZK tMO iZd @@ -149985,13 +150021,13 @@ jnP jnP jnP jnP -jnP sik iWm fdc +aSK cnZ pck -hjW +iPs rcg hyc jzm @@ -150242,19 +150278,19 @@ jnP jnP jnP jnP -jnP sik qXC +vft oNy -pXZ -uiJ -hjW -chI +aSK +ybJ +iPs +jSa tXb xEx rUQ hoM -gHY +pdn dat lwr mZC @@ -150499,19 +150535,19 @@ aZS aZS aZS jnP -jnP sik vEd fck +ogi lLd pUl -chh -reI +iPs +yjS cgE muP -mMY -eNi -xuN +bSp +imy +jjE slD tnk xtx @@ -166769,7 +166805,7 @@ peJ oXT wxB vDJ -woS +ezi ggt fYp jbE diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm index b5ef6ca7ad58..802dcd918984 100644 --- a/_maps/map_files/stations/metastation.dmm +++ b/_maps/map_files/stations/metastation.dmm @@ -30,6 +30,11 @@ }, /turf/space, /area/space) +"aaT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/plating, +/area/station/maintenance/fsmaint) "aaX" = ( /obj/docking_port/stationary{ dheight = 9; @@ -464,12 +469,13 @@ /turf/simulated/floor/plating, /area/station/maintenance/fore) "agh" = ( -/obj/structure/table, -/obj/item/multitool, +/obj/machinery/light{ + dir = 8 + }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/turf/simulated/floor/plating, -/area/station/maintenance/fsmaint) +/obj/machinery/requests_console/directional/west, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "agi" = ( /turf/simulated/floor/catwalk, /area/station/maintenance/fore) @@ -1541,12 +1547,12 @@ dir = 8; layer = 2.9 }, -/obj/item/clothing/accessory/red{ +/obj/item/clothing/neck/tie/red{ pixel_x = -5; pixel_y = 3 }, -/obj/item/clothing/accessory/horrible, -/obj/item/clothing/accessory/blue{ +/obj/item/clothing/neck/tie/horrible, +/obj/item/clothing/neck/tie/blue{ pixel_x = 5; pixel_y = -2 }, @@ -3339,12 +3345,6 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/fore) -"awv" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/cyan, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" - }, -/area/station/maintenance/fsmaint) "aww" = ( /obj/structure/cable{ icon_state = "4-8" @@ -5378,15 +5378,6 @@ }, /turf/simulated/floor/plasteel, /area/station/maintenance/starboard2) -"aFM" = ( -/obj/effect/spawner/random/barrier/grille_often, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" - }, -/area/station/maintenance/fsmaint) "aFO" = ( /obj/effect/spawner/random/fungus/frequent, /turf/simulated/wall, @@ -10007,13 +9998,6 @@ /obj/machinery/alarm/directional/west, /turf/simulated/floor/carpet/red, /area/station/command/office/hos) -"aWf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/plating, -/area/station/maintenance/fsmaint) "aWi" = ( /obj/structure/extinguisher_cabinet{ name = "east bump"; @@ -12183,22 +12167,6 @@ icon_state = "dark" }, /area/station/service/chapel) -"bdr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/simulated/floor/plating, -/area/station/maintenance/fsmaint) "bds" = ( /obj/structure/rack{ dir = 8; @@ -13773,15 +13741,37 @@ /turf/simulated/wall, /area/station/service/janitor) "bhr" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Trainer's Office"; + id_tag = "nct" + }, +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "NCT" + }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, /obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock, -/obj/effect/mapping_helpers/airlock/autoname, -/obj/effect/mapping_helpers/airlock/access/all/service/janitor, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/procedure/trainer_office) "bht" = ( /turf/simulated/wall, /area/station/maintenance/maintcentral) @@ -13907,20 +13897,18 @@ }, /area/station/engineering/tech_storage) "bhK" = ( -/obj/structure/disposalpipe/segment/corner{ - dir = 2 +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/obj/structure/closet/jcloset, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch{ - dir = 8; - name = "custom placement"; - pixel_x = 24; - pixel_y = -6 +/obj/machinery/camera{ + c_tag = "Career Trainer's Office" }, -/obj/machinery/firealarm/directional/north, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bhL" = ( /obj/machinery/hologram/holopad, /obj/structure/cable{ @@ -14366,34 +14354,43 @@ }, /area/station/hallway/primary/central/nw) "biY" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/structure/reagent_dispensers/spacecleanertank{ - pixel_y = 30 - }, -/obj/machinery/light{ - dir = 8 +/obj/machinery/economy/vending/traindrobe, +/obj/effect/turf_decal/woodsiding{ + dir = 9 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "biZ" = ( +/obj/effect/turf_decal/woodsiding{ + dir = 1 + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, /obj/structure/disposalpipe/segment/corner{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "bja" = ( -/obj/structure/closet/l3closet/janitor, -/obj/machinery/alarm/directional/north, +/obj/item/kirbyplants, +/obj/effect/turf_decal/woodsiding{ + dir = 5 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "bjb" = ( /obj/structure/table/wood, /obj/item/folder/blue, @@ -15013,59 +15010,18 @@ }, /area/station/hallway/primary/central/nw) "bkL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/structure/chair/comfy/black, +/obj/effect/turf_decal/woodsiding, +/obj/effect/landmark/start/nanotrasen_career_trainer, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, -/obj/effect/landmark/start/janitor, -/turf/simulated/floor/plating, -/area/station/service/janitor) -"bkM" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) -"bkN" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) -"bkO" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/autoname, -/obj/effect/mapping_helpers/airlock/access/all/service/janitor, -/turf/simulated/floor/plating, -/area/station/maintenance/maintcentral) -"bkP" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/simulated/floor/plating, -/area/station/maintenance/maintcentral) -"bkQ" = ( -/obj/item/flashlight{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 }, -/turf/simulated/floor/plating, -/area/station/maintenance/maintcentral) +/obj/machinery/hologram/holopad, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "bkS" = ( /obj/structure/cable{ icon_state = "0-8" @@ -15175,28 +15131,21 @@ }, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/ne) -"bll" = ( -/obj/structure/closet/emcloset, -/obj/structure/sign/double/map/left{ - desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; - icon_state = "map-left-MS"; - pixel_y = 32 - }, -/turf/simulated/floor/plasteel{ - icon_state = "darkgrey" - }, -/area/station/hallway/primary/starboard) "blm" = ( -/obj/structure/sign/double/map/right{ - desc = "A framed picture of the station. Clockwise from security in red at the top, you see engineering in yellow, science in purple, escape in checkered red-and-white, medbay in green, arrivals in checkered red-and-blue, and then cargo in brown."; - icon_state = "map-right-MS"; - pixel_y = 32 - }, -/obj/structure/closet/firecloset, -/turf/simulated/floor/plasteel{ - icon_state = "darkgrey" +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/all/service/janitor, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" }, -/area/station/hallway/primary/starboard) +/obj/machinery/door/airlock, +/obj/effect/mapping_helpers/airlock/autoname, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "blo" = ( /turf/simulated/wall, /area/station/hallway/primary/starboard/north) @@ -15706,27 +15655,6 @@ /mob/living/simple_animal/mouse, /turf/simulated/floor/plating, /area/station/maintenance/fpmaint) -"bmC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 1 - }, -/mob/living/simple_animal/lizard{ - name = "Wags-His-Tail"; - real_name = "Wags-His-Tail" - }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) -"bmD" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) "bmE" = ( /obj/machinery/newscaster/directional/east, /obj/structure/disposalpipe/segment/corner{ @@ -15791,6 +15719,7 @@ "bmQ" = ( /obj/structure/table, /obj/structure/cable{ + d2 = 4; icon_state = "0-4" }, /obj/item/key/janitor, @@ -15804,15 +15733,6 @@ /obj/item/grenade/chem_grenade/cleaner, /turf/simulated/floor/plasteel, /area/station/service/janitor) -"bmR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" - }, -/area/station/maintenance/fsmaint) "bmT" = ( /obj/machinery/porta_turret/ai_turret, /turf/simulated/floor/plasteel{ @@ -15933,15 +15853,6 @@ icon_state = "cautioncorner" }, /area/station/hallway/primary/starboard) -"bnj" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "cautioncorner" - }, -/area/station/hallway/primary/starboard) "bnk" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel{ @@ -16333,15 +16244,21 @@ /turf/simulated/floor/plasteel, /area/station/supply/lobby) "bou" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/economy/vending/janidrobe, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/item/flag/nt, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bov" = ( -/obj/structure/janitorialcart, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/obj/effect/landmark/start/nanotrasen_career_trainer, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bow" = ( /obj/machinery/atmospherics/portable/canister/nitrogen, /obj/machinery/atmospherics/pipe/simple/hidden/purple{ @@ -16350,13 +16267,17 @@ /turf/simulated/floor/plasteel, /area/station/engineering/atmos/control) "box" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 +/obj/machinery/power/apc/directional/east, +/obj/machinery/alarm/directional/south, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" }, -/obj/machinery/disposal, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "boy" = ( /obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, @@ -16464,24 +16385,16 @@ /turf/simulated/floor/carpet, /area/station/command/office/captain/bedroom) "boN" = ( -/obj/item/restraints/legcuffs/beartrap, -/obj/item/restraints/legcuffs/beartrap, -/obj/machinery/requests_console/directional/west, -/obj/machinery/camera{ - c_tag = "Custodial Closet"; - dir = 4 +/obj/effect/turf_decal/woodsiding{ + dir = 10 }, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/obj/structure/rack{ - dir = 1 +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 }, -/obj/item/clothing/gloves/color/orange, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/box/mousetraps, -/obj/item/storage/box/mousetraps, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/structure/closet, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "boQ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -16510,24 +16423,6 @@ }, /turf/simulated/floor/plasteel, /area/station/science/toxins/mixing) -"boV" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/starboard) "boX" = ( /obj/structure/cable{ icon_state = "4-8" @@ -16869,19 +16764,27 @@ }, /area/station/supply/sorting) "bpQ" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/janitor, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom{ +/obj/machinery/button/windowtint{ + id = "NCT"; + pixel_x = 24; + dir = 8; + pixel_y = 5 + }, +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer, +/obj/machinery/door/window/reinforced/normal{ + name = "NCT" + }, +/obj/machinery/light_switch{ + dir = 8; name = "east bump"; - pixel_x = 28 + pixel_x = 24; + pixel_y = -5 }, -/obj/structure/sink{ +/turf/simulated/floor/plasteel{ dir = 4; - pixel_x = 12 + icon_state = "darkgreen" }, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/area/station/procedure/trainer_office) "bpS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -17749,10 +17652,15 @@ }, /area/station/engineering/ai_transit_tube) "bsE" = ( -/obj/machinery/light/small, -/obj/vehicle/janicart, -/turf/simulated/floor/plating, -/area/station/service/janitor) +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bsG" = ( /obj/machinery/hologram/holopad, /obj/machinery/light/small{ @@ -19735,7 +19643,7 @@ /obj/structure/safe/floor{ known_by = list("captain") }, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /obj/item/reagent_containers/drinks/bottle/absinthe/premium, /obj/item/lighter/zippo/nt_rep, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, @@ -27328,7 +27236,7 @@ /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 4 }, -/obj/machinery/alarm/directional/north, +/obj/machinery/alarm/server/directional/north, /turf/simulated/floor/plasteel/dark/telecomms, /area/station/science/server/coldroom) "cbi" = ( @@ -27565,11 +27473,11 @@ }, /area/station/command/bridge) "cca" = ( -/obj/item/clothing/accessory/stethoscope, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 3 }, /obj/item/flashlight/pen{ @@ -35729,6 +35637,20 @@ icon_state = "whiteblue" }, /area/station/medical/paramedic) +"cJS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/l3closet/janitor, +/obj/structure/reagent_dispensers/spacecleanertank{ + pixel_y = 30 + }, +/obj/machinery/light_switch{ + dir = 8; + name = "east bump"; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "cJT" = ( /obj/machinery/suit_storage_unit/expedition, /turf/simulated/floor/plasteel{ @@ -43226,6 +43148,10 @@ icon_state = "green" }, /area/station/security/permabrig) +"ewi" = ( +/obj/effect/mapping_helpers/turfs/rust/probably, +/turf/simulated/wall, +/area/station/service/janitor) "ewk" = ( /turf/simulated/floor/grass/no_creep, /area/station/medical/virology) @@ -44712,6 +44638,26 @@ /obj/machinery/firealarm/directional/east, /turf/simulated/floor/plasteel, /area/station/security/defusal) +"ffM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 5; + level = 2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/station/maintenance/fsmaint) "fga" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -47329,6 +47275,12 @@ icon_state = "white" }, /area/station/maintenance/asmaint) +"ghd" = ( +/obj/structure/table/wood, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/procedure/trainer_office) "ghF" = ( /obj/structure/sign/securearea{ pixel_x = 32; @@ -48804,6 +48756,16 @@ icon_state = "white" }, /area/station/science/xenobiology) +"gSv" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + d2 = 4; + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "gSO" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, @@ -49051,6 +49013,21 @@ "gWO" = ( /turf/simulated/floor/plasteel, /area/station/science/toxins/mixing) +"gWX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack{ + dir = 1 + }, +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/mousetraps, +/obj/item/clothing/gloves/color/orange, +/obj/item/reagent_containers/glass/bucket, +/obj/item/restraints/legcuffs/beartrap, +/obj/item/restraints/legcuffs/beartrap, +/obj/item/mop, +/obj/machinery/firealarm/directional/north, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "gXg" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -49551,7 +49528,7 @@ "hjn" = ( /obj/structure/table/glass, /obj/item/folder/blue, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/clothing/glasses/hud/health, /turf/simulated/floor/plasteel{ dir = 1; @@ -50732,6 +50709,23 @@ icon_state = "cult" }, /area/station/legal/lawoffice) +"hIp" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/starboard) "hIG" = ( /obj/structure/window/reinforced{ dir = 8 @@ -51093,6 +51087,12 @@ }, /turf/simulated/floor/plasteel, /area/station/science/toxins/mixing) +"hQS" = ( +/obj/machinery/alarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/economy/vending/janidrobe, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "hQZ" = ( /obj/structure/closet/secure_closet/magistrate, /obj/machinery/alarm/directional/north, @@ -51261,21 +51261,6 @@ }, /turf/simulated/floor/plasteel, /area/station/science/xenobiology) -"hSX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" - }, -/area/station/maintenance/fsmaint) "hTg" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow{ dir = 9 @@ -51695,6 +51680,15 @@ icon_state = "yellow" }, /area/station/engineering/break_room) +"ieC" = ( +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "ieD" = ( /obj/effect/spawner/window/reinforced/grilled, /obj/structure/cable{ @@ -51799,6 +51793,26 @@ /obj/effect/spawner/random/trash, /turf/simulated/floor/plating, /area/station/maintenance/xenobio_north) +"igE" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/starboard) "igJ" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -53299,6 +53313,11 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/aft/south) +"iQu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/vehicle/janicart, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "iQC" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -54139,6 +54158,27 @@ icon_state = "dark" }, /area/station/engineering/control) +"jnO" = ( +/obj/item/flashlight/lamp/green{ + pixel_y = 15 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/door_control{ + id = "nct"; + name = "Office Door"; + normaldoorcontrol = 1; + req_access = list(80); + pixel_y = -1 + }, +/obj/structure/table/wood, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/procedure/trainer_office) "jnZ" = ( /obj/item/kirbyplants/plant24, /obj/machinery/atmospherics/unary/vent_scrubber/on, @@ -55013,6 +55053,23 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/fsmaint) +"jJw" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 6 + }, +/turf/simulated/floor/plasteel{ + icon_state = "neutralfull" + }, +/area/station/maintenance/fsmaint) "jJI" = ( /obj/structure/bed/dogbed/runtime, /mob/living/simple_animal/pet/cat/runtime, @@ -55097,6 +55154,12 @@ }, /turf/space, /area/space/nearstation) +"jLc" = ( +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/autoname, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "jLr" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -58262,6 +58325,14 @@ /obj/effect/turf_decal/stripes/line, /turf/simulated/floor/plasteel, /area/station/engineering/atmos) +"lga" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/janitor, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "lgf" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 @@ -59076,6 +59147,21 @@ icon_state = "darkgrey" }, /area/station/science/toxins/launch) +"lwd" = ( +/obj/effect/turf_decal/woodsiding{ + dir = 6 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/carpet, +/area/station/procedure/trainer_office) "lwx" = ( /obj/machinery/atmospherics/pipe/simple/visible/yellow, /obj/structure/lattice/catwalk, @@ -59105,6 +59191,21 @@ }, /turf/simulated/floor/plasteel, /area/station/security/brig) +"lxV" = ( +/mob/living/simple_animal/lizard{ + name = "Wags-His-Tail"; + real_name = "Wags-His-Tail" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "lyn" = ( /obj/machinery/door/airlock/hatch{ name = "Xenobiology Maintenance" @@ -60932,21 +61033,6 @@ "mlV" = ( /turf/simulated/floor/plasteel, /area/station/maintenance/aft2) -"mmk" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/central/north) "mmB" = ( /obj/structure/closet/secure_closet/atmos_personal, /turf/simulated/floor/plasteel, @@ -65407,6 +65493,16 @@ icon_state = "whitepurple" }, /area/station/science/rnd) +"onX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/hologram/holopad, +/turf/simulated/floor/plating, +/area/station/service/janitor) "oob" = ( /obj/machinery/atmospherics/unary/portables_connector{ dir = 4 @@ -65447,6 +65543,10 @@ /obj/item/seeds/eggplant, /turf/simulated/floor/plating, /area/station/maintenance/starboard2) +"ooo" = ( +/obj/structure/sign/custodian, +/turf/simulated/wall, +/area/station/service/janitor) "ooD" = ( /obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel, @@ -66100,6 +66200,21 @@ icon_state = "caution" }, /area/station/engineering/atmos/control) +"oGK" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/starboard) "oHb" = ( /obj/structure/sign/poster/official/safety_internals{ pixel_x = 30 @@ -67622,6 +67737,21 @@ /obj/structure/closet/secure_closet/brig/temp/cell_5, /turf/simulated/floor/plasteel, /area/station/security/brig) +"pnD" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "cautioncorner" + }, +/area/station/hallway/primary/starboard) "pos" = ( /obj/machinery/atmospherics/pipe/manifold/visible/green{ dir = 8 @@ -68614,6 +68744,18 @@ }, /turf/simulated/floor/bluegrid, /area/station/turret_protected/ai) +"pKS" = ( +/obj/item/flashlight{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/station/maintenance/maintcentral) "pLD" = ( /obj/machinery/door_timer/cell_1{ pixel_x = -32 @@ -71465,6 +71607,16 @@ icon_state = "white" }, /area/station/medical/chemistry) +"ral" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "rao" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -71912,6 +72064,30 @@ }, /turf/simulated/floor/plasteel, /area/station/security/permabrig) +"rkM" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/central/north) "rkT" = ( /obj/structure/cable{ icon_state = "1-2" @@ -73399,7 +73575,7 @@ pixel_x = -24; pixel_y = -6 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, /turf/simulated/floor/plasteel{ @@ -73795,6 +73971,15 @@ icon_state = "greenblue" }, /area/station/service/hydroponics) +"rXl" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "cautioncorner" + }, +/area/station/hallway/primary/starboard) "rXS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -75019,21 +75204,6 @@ /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, /area/station/security/warden) -"sDT" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/starboard) "sEI" = ( /obj/machinery/atmospherics/trinary/filter, /turf/simulated/floor/plasteel, @@ -76888,6 +77058,24 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/fsmaint) +"ttp" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -5 + }, +/obj/item/pen{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "ttA" = ( /obj/structure/rack, /obj/item/hand_labeler, @@ -76916,6 +77104,18 @@ "ttE" = ( /turf/simulated/floor/carpet, /area/station/command/office/captain/bedroom) +"tub" = ( +/obj/machinery/camera{ + c_tag = "Custodial Closet"; + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/janitor, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "tug" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/atmospherics/binary/valve{ @@ -77289,6 +77489,11 @@ /obj/structure/disposalpipe/segment/corner{ dir = 2 }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralcorner" }, @@ -78319,16 +78524,6 @@ /obj/machinery/door/airlock/maintenance, /turf/simulated/floor/plating, /area/station/maintenance/starboard2) -"ufr" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/fyellow, -/obj/effect/spawner/random/maintenance, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/station/maintenance/fsmaint) "uft" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/glass/rag, @@ -78697,6 +78892,12 @@ icon_state = "darkblue" }, /area/station/medical/storage) +"uoI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/jcloset, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "uoK" = ( /obj/structure/sign/poster/official/random{ pixel_y = -32 @@ -79447,8 +79648,9 @@ "uJG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/camera{ - c_tag = "AI Satellite Antechamber South"; - dir = 4 + dir = 4; + c_tag = "Power Transmission Laser"; + network = list("Engineering","SS13") }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -81044,6 +81246,12 @@ icon_state = "dark" }, /area/station/legal/courtroom/gallery) +"vrM" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/service/janitor, +/obj/effect/mapping_helpers/airlock/autoname, +/turf/simulated/floor/plating, +/area/station/service/janitor) "vrO" = ( /obj/machinery/access_button{ autolink_id = "atmossouth_btn_ext"; @@ -81130,6 +81338,7 @@ /turf/simulated/floor/plasteel, /area/station/engineering/atmos/control) "vug" = ( +/obj/machinery/autolathe, /turf/simulated/floor/plasteel{ icon_state = "yellow" }, @@ -81362,6 +81571,20 @@ icon_state = "white" }, /area/station/medical/reception) +"vAS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom{ + name = "east bump"; + pixel_x = 28 + }, +/obj/structure/sink{ + dir = 4; + pixel_x = 12 + }, +/obj/structure/janitorialcart, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "vBv" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -82733,6 +82956,20 @@ }, /turf/simulated/floor/engine/vacuum, /area/station/science/toxins/mixing) +"wnk" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 4 + }, +/turf/simulated/floor/plating, +/area/station/maintenance/fsmaint) "wnn" = ( /obj/machinery/power/apc/directional/north, /obj/structure/cable{ @@ -85798,6 +86035,9 @@ icon_state = "whitepurple" }, /area/station/science/lobby) +"xIX" = ( +/turf/simulated/wall, +/area/station/procedure/trainer_office) "xJy" = ( /obj/structure/cable{ icon_state = "1-2" @@ -109997,11 +110237,11 @@ lSa aFE xuG bfK -bhq -bhq -bhq -bhq -bhq +xIX +xIX +xIX +xIX +xIX bqc bqc ezM @@ -110254,10 +110494,10 @@ lIM bMC xuG bfK -bhq +gSv biY boN -bmQ +ttp bou bqc bvp @@ -110509,12 +110749,12 @@ iLs oWs eXm bcM -mmk +rkM tFb bhr biZ bkL -bmC +ghd bov bqc cfj @@ -110768,10 +111008,10 @@ gYO sTC hdw hiC -bhq +ral bja -bkM -bmD +lwd +jnO bsE bqc bvq @@ -111025,9 +111265,9 @@ suO nuz xuG bjA -bhq +xIX bhK -bkN +ieC bpQ box bje @@ -111282,11 +111522,11 @@ bbh bcM bel bfR -bht -bht -bkO -bht -bht +xIX +xIX +jLc +xIX +xIX bht brS bje @@ -111541,7 +111781,7 @@ qWN acw bht bjc -bkP +bmF bmF boy btP @@ -111798,7 +112038,7 @@ bep ccP bhu clO -bkQ +pKS bpU boz bqe @@ -121303,11 +121543,11 @@ aYK aVc alb eTo -aIo -aLl -aLl -aLl -bez +bhq +bhq +bhq +bhq +bhq bni dnS wwo @@ -121560,13 +121800,13 @@ uPu aLl dAH eTo -sOy +vrM agh -ufr -aLl -bll -bnr -boY +tub +bmQ +ooo +rXl +oGK bqA bHA bwp @@ -121815,15 +122055,15 @@ aVV fWg aYK aLl -avA -hSX -awv -sln -avA -aLl +sOy +jJw +bhq +gWX +onX +lxV blm -bnr -sDT +pnD +igE rEV bHA bus @@ -122073,12 +122313,12 @@ aTp aXm aLl mdS -fvU -dAH -avA -alb -aLl -aLl +wnk +bhq +hQS +lga +iQu +bhq wnn bcP bqA @@ -122329,15 +122569,15 @@ aTo aTp auO aLl -dAH -bdr -aFM -aWf -aWf -bmR -eMs -bnj -boV +aaT +ffM +bhq +cJS +uoI +vAS +bhq +bnr +hIp bqA bsp bxH @@ -122588,11 +122828,11 @@ bbv aLl wVi bPb -aIo -aLl -edZ -wPQ -aLl +bhq +bhq +bhq +ewi +bhq bnk gcq lhu diff --git a/_maps/map_files/templates/biodome_beach.dmm b/_maps/map_files/templates/biodome_beach.dmm index 27dfc60702ec..c622e6cca4d5 100644 --- a/_maps/map_files/templates/biodome_beach.dmm +++ b/_maps/map_files/templates/biodome_beach.dmm @@ -147,7 +147,7 @@ /turf/simulated/floor/plating, /area/ruin/powered/beach) "az" = ( -/obj/item/clothing/accessory/necklace/dope, +/obj/item/clothing/neck/necklace/dope, /obj/item/reagent_containers/spray/spraytan, /turf/simulated/floor/beach/sand, /area/ruin/powered/beach) diff --git a/_maps/map_files/tests/test_generic.dmm b/_maps/map_files/tests/test_generic.dmm new file mode 100644 index 000000000000..c8e2358307f5 --- /dev/null +++ b/_maps/map_files/tests/test_generic.dmm @@ -0,0 +1,176 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/simulated/floor/plasteel, +/area/game_test) +"G" = ( +/turf/simulated/wall/indestructible/riveted, +/area/game_test) +"R" = ( +/obj/effect/landmark/game_test/bottom_left_corner, +/turf/simulated/floor/plasteel, +/area/game_test) +"Y" = ( +/obj/effect/landmark/game_test/top_right_corner, +/turf/simulated/floor/plasteel, +/area/game_test) + +(1,1,1) = {" +G +G +G +G +G +G +G +G +"} +(2,1,1) = {" +G +a +a +a +a +a +a +G +"} +(3,1,1) = {" +G +a +a +a +a +R +a +G +"} +(4,1,1) = {" +G +a +a +a +a +a +a +G +"} +(5,1,1) = {" +G +a +a +a +a +a +a +G +"} +(6,1,1) = {" +G +a +a +a +a +a +a +G +"} +(7,1,1) = {" +G +a +a +a +a +a +a +G +"} +(8,1,1) = {" +G +a +a +a +a +a +a +G +"} +(9,1,1) = {" +G +a +a +a +a +a +a +G +"} +(10,1,1) = {" +G +a +a +a +a +a +a +G +"} +(11,1,1) = {" +G +a +a +a +a +a +a +G +"} +(12,1,1) = {" +G +a +a +a +a +a +a +G +"} +(13,1,1) = {" +G +a +a +a +a +a +a +G +"} +(14,1,1) = {" +G +a +Y +a +a +a +a +G +"} +(15,1,1) = {" +G +a +a +a +a +a +a +G +"} +(16,1,1) = {" +G +G +G +G +G +G +G +G +"} diff --git a/code/tests/atmos/test_ventcrawl.dmm b/_maps/map_files/tests/test_ventcrawl.dmm similarity index 87% rename from code/tests/atmos/test_ventcrawl.dmm rename to _maps/map_files/tests/test_ventcrawl.dmm index e7e84c5acd96..e14c7c9036eb 100644 --- a/code/tests/atmos/test_ventcrawl.dmm +++ b/_maps/map_files/tests/test_ventcrawl.dmm @@ -4,20 +4,20 @@ dir = 4 }, /turf/simulated/floor, -/area/space) +/area/template_noop) "d" = ( /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 }, /turf/simulated/floor, -/area/space) +/area/template_noop) "X" = ( /obj/machinery/atmospherics/pipe/simple/visible{ dir = 4 }, /obj/structure/table, /turf/simulated/floor, -/area/space) +/area/template_noop) (1,1,1) = {" a diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/spacehotel.dmm index 26475d0d4daf..9385aa142bef 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/spacehotel.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/spacehotel.dmm @@ -379,7 +379,7 @@ /area/ruin/space/spacehotelv1/cargostorage) "de" = ( /obj/structure/rack, -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /obj/effect/spawner/random/dirt/often, /obj/structure/sign/poster/random{ pixel_x = -32 @@ -2409,7 +2409,7 @@ /obj/effect/spawner/random/cobweb/left/rare, /obj/effect/spawner/random/dirt/often, /obj/structure/rack, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, /area/ruin/space/spacehotelv1/engi1) @@ -2911,7 +2911,7 @@ /area/ruin/space/spacehotelv1/guestroom4) "wK" = ( /obj/structure/rack, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/effect/spawner/random/maintenance, /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plating, @@ -3783,8 +3783,8 @@ /area/ruin/space/spacehotelv1/kitchen) "Dx" = ( /obj/structure/rack, -/obj/random/toolbox, -/obj/random/tool, +/obj/effect/spawner/random/engineering/toolbox, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plating, /area/ruin/space/spacehotelv1/engi1) "Dy" = ( @@ -4362,7 +4362,7 @@ /obj/structure/sign/vacuum{ pixel_x = 32 }, -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plating, /area/ruin/space/spacehotelv1/forestarboardmaints) @@ -4470,7 +4470,7 @@ /area/ruin/space/spacehotelv1/forehallway) "IB" = ( /obj/structure/rack, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/machinery/light/small/directional/north, /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plating, @@ -5441,8 +5441,8 @@ /area/ruin/space/spacehotelv1/restoraunt2) "PO" = ( /obj/structure/rack, -/obj/random/toolbox, -/obj/random/tool, +/obj/effect/spawner/random/engineering/toolbox, +/obj/effect/spawner/random/engineering/tools, /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plating, /area/ruin/space/spacehotelv1/engi2) diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/syndie_space_base.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/syndie_space_base.dmm index 3766a75eee9b..6176737b253a 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/syndie_space_base.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/syndie_space_base.dmm @@ -3432,7 +3432,7 @@ }, /area/ruin/unpowered/syndicate_space_base/storage) "uy" = ( -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkred" @@ -7943,7 +7943,7 @@ /obj/item/storage/belt/medical, /obj/item/crowbar, /obj/item/clothing/glasses/hud/health, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/structure/table, /turf/simulated/floor/plasteel{ icon_state = "whiteblue" diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm index b561d0031027..6dea3a509a25 100644 --- a/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm +++ b/_maps/map_files220/RandomRuins/SpaceRuins/whiteship.dmm @@ -1484,7 +1484,7 @@ /obj/machinery/atmospherics/unary/passive_vent{ dir = 1 }, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/flashlight/pen, /obj/item/food/grown/apple{ desc = "An apple a day - keeps doctor away..."; diff --git a/_maps/map_files220/RandomZLevels/beach.dmm b/_maps/map_files220/RandomZLevels/beach.dmm index a58060d9d1b1..442d49900c7a 100644 --- a/_maps/map_files220/RandomZLevels/beach.dmm +++ b/_maps/map_files220/RandomZLevels/beach.dmm @@ -3092,7 +3092,7 @@ pixel_x = -4 }, /obj/structure/table/glass, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 4; pixel_x = 4 }, diff --git a/_maps/map_files220/RandomZLevels/caves.dmm b/_maps/map_files220/RandomZLevels/caves.dmm index bc7dbb355aee..18d543c14567 100644 --- a/_maps/map_files220/RandomZLevels/caves.dmm +++ b/_maps/map_files220/RandomZLevels/caves.dmm @@ -3704,7 +3704,7 @@ /turf/simulated/floor/wood/lavaland_air, /area/awaymission/caves) "tK" = ( -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface, /area/awaymission/caves) "tL" = ( @@ -6777,8 +6777,8 @@ /area/awaymission/caves) "Ku" = ( /obj/structure/table, -/obj/random/toolbox, -/obj/random/tool, +/obj/effect/spawner/random/engineering/toolbox, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plating, /area/awaymission/caves/build/reqpower_build) "Kw" = ( @@ -6807,7 +6807,7 @@ /area/awaymission/caves/build/reqpower_build) "Kz" = ( /obj/structure/table, -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plating, /area/awaymission/caves/build/reqpower_build) @@ -7038,7 +7038,7 @@ /area/awaymission/caves) "LJ" = ( /obj/structure/table, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/wood/oak, /area/awaymission/caves/build/reqpower_build) @@ -7573,10 +7573,8 @@ /area/awaymission/caves/build/reqpower_build) "Po" = ( /obj/structure/table, -/obj/random/toolbox, -/obj/random/toolbox{ - pixel_y = 8 - }, +/obj/effect/spawner/random/engineering/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /turf/simulated/floor/plasteel, /area/awaymission/caves/build) "Pp" = ( @@ -7752,7 +7750,7 @@ /area/awaymission/caves) "Qm" = ( /obj/structure/table_frame, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plasteel{ dir = 8; @@ -8379,7 +8377,7 @@ /obj/structure/closet/crate/wooden, /obj/item/kitchen/knife/ritual, /obj/item/staff/broom, -/obj/item/clothing/accessory/necklace/locket/fluff/fethasnecklace, +/obj/item/clothing/accessory/locket/fluff/fethasnecklace, /obj/effect/spawner/random/dirt/often, /obj/item/salvage/ruin/tablet, /turf/simulated/floor/wood/lavaland_air, @@ -8805,7 +8803,7 @@ "VP" = ( /obj/item/clothing/glasses/night, /obj/structure/closet, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/item/storage/toolbox/emergency, /turf/simulated/floor/plasteel, /area/awaymission/caves/build) diff --git a/_maps/map_files220/RandomZLevels/gate_lizard.dmm b/_maps/map_files220/RandomZLevels/gate_lizard.dmm index 67c68484ec4d..2078507ab1ce 100644 --- a/_maps/map_files220/RandomZLevels/gate_lizard.dmm +++ b/_maps/map_files220/RandomZLevels/gate_lizard.dmm @@ -243,7 +243,7 @@ pixel_x = 16; pixel_y = -9 }, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/machinery/door_control/shutter/west{ id = "CMDgate"; req_access = list(301) @@ -535,10 +535,10 @@ /turf/simulated/floor/indestructible/grass, /area/awaymission/jungle_planet/outside/waterfall) "aOn" = ( -/obj/item/clothing/accessory/necklace/skullcodpiece, -/obj/item/clothing/accessory/necklace/talisman, -/obj/item/clothing/accessory/necklace/skullcodpiece, -/obj/item/clothing/accessory/necklace/talisman, +/obj/item/clothing/accessory/skullcodpiece, +/obj/item/clothing/accessory/talisman, +/obj/item/clothing/accessory/skullcodpiece, +/obj/item/clothing/accessory/talisman, /obj/structure/closet/crate/wooden, /turf/simulated/floor/wood/oak, /area/awaymission/jungle_planet/outside/cave) @@ -886,7 +886,7 @@ /obj/item/clothing/gloves/color/fyellow/old, /obj/item/multitool, /obj/item/clothing/head/welding, -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /obj/structure/cable{ icon_state = "1-2" }, @@ -1008,7 +1008,7 @@ /obj/item/stack/sheet/leather, /obj/item/stack/sheet/leather, /obj/item/stack/sheet/leather, -/obj/item/clothing/accessory/necklace/dope, +/obj/item/clothing/neck/necklace/dope, /obj/structure/closet/crate/wooden, /turf/simulated/floor/engine/cult, /area/awaymission/jungle_planet/outside/cave) @@ -2676,7 +2676,7 @@ /turf/simulated/floor/plasteel, /area/awaymission/jungle_planet/inside) "dxA" = ( -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /obj/machinery/door/window/reinforced/normal{ dir = 8 }, @@ -3468,8 +3468,8 @@ pixel_x = -9; pixel_y = 11 }, -/obj/item/clothing/accessory/necklace, -/obj/item/clothing/accessory/necklace/locket, +/obj/item/clothing/neck/necklace, +/obj/item/clothing/neck/necklace/locket, /obj/structure/stone_tile/slab, /obj/item/stack/ore/plasma, /turf/simulated/floor/engine/cult, @@ -5377,7 +5377,7 @@ pixel_x = 12 }, /obj/item/pen/multi/gold, -/obj/item/clothing/accessory/necklace, +/obj/item/clothing/neck/necklace, /obj/structure/stone_tile/surrounding_tile/cracked, /obj/item/stack/ore/plasma, /obj/item/stack/sheet/mineral/gold{ @@ -7212,7 +7212,7 @@ /turf/simulated/floor/plasteel, /area/awaymission/jungle_planet/outside/river) "jvT" = ( -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/effect/light_emitter{ light_color = "#FFFFFF"; set_cap = 1; @@ -7733,7 +7733,7 @@ }, /area/awaymission/jungle_planet/outside) "kcJ" = ( -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plating/asteroid/ancient{ name = "ground" }, @@ -10263,7 +10263,7 @@ /area/awaymission/jungle_planet/outside/cave) "ncb" = ( /obj/item/clothing/gloves/ring/gold, -/obj/item/clothing/accessory/necklace/locket, +/obj/item/clothing/neck/necklace/locket, /obj/item/coin/gold, /obj/effect/spawner/random/dirt/often, /obj/structure/closet/crate/wooden, @@ -10550,7 +10550,7 @@ }, /area/awaymission/jungle_planet/inside/complex) "nAu" = ( -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/indestructible/grass, /area/awaymission/jungle_planet/outside/river) "nAK" = ( @@ -12491,7 +12491,7 @@ /obj/item/coin/gold{ pixel_x = -9 }, -/obj/item/clothing/accessory/necklace/locket{ +/obj/item/clothing/neck/necklace/locket{ pixel_x = 9 }, /obj/item/stack/ore/plasma, @@ -13668,7 +13668,7 @@ }, /area/awaymission/jungle_planet/inside/complex) "rDj" = ( -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plating, /area/awaymission/jungle_planet/inside/complex) "rEW" = ( @@ -14006,7 +14006,7 @@ /turf/simulated/floor/indestructible/grass, /area/awaymission/jungle_planet/outside/river) "rVt" = ( -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /turf/simulated/floor/plating, /area/awaymission/jungle_planet/outside/abandoned) "rVw" = ( @@ -15438,7 +15438,7 @@ "tMG" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/cobweb2, -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /turf/simulated/floor/plating, /area/awaymission/jungle_planet/inside/complex) "tNq" = ( @@ -16467,7 +16467,7 @@ "val" = ( /obj/machinery/atmospherics/pipe/simple/visible, /obj/structure/sign/poster/contraband/random/west, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/effect/spawner/random/dirt/often, /turf/simulated/floor/plating, /area/awaymission/jungle_planet/inside) @@ -16819,8 +16819,8 @@ "vvz" = ( /obj/item/clothing/shoes/sandal, /obj/item/clothing/shoes/sandal, -/obj/item/clothing/suit/unathi/mantle, -/obj/item/clothing/suit/unathi/mantle, +/obj/item/clothing/neck/cloak/unathi, +/obj/item/clothing/neck/cloak/unathi, /obj/item/clothing/suit/unathi/robe, /obj/item/clothing/suit/unathi/robe, /obj/structure/closet/crate/wooden, @@ -17755,10 +17755,10 @@ pixel_y = 11 }, /obj/structure/stone_tile/slab, -/obj/item/clothing/accessory/necklace/locket{ +/obj/item/clothing/neck/necklace/locket{ pixel_x = 9 }, -/obj/item/clothing/accessory/necklace/locket, +/obj/item/clothing/neck/necklace/locket, /turf/simulated/floor/engine/cult, /area/awaymission/jungle_planet/outside/cave) "wEF" = ( diff --git a/_maps/map_files220/RandomZLevels/wildwest.dmm b/_maps/map_files220/RandomZLevels/wildwest.dmm index fe4da4c2723c..de62efb0c7bb 100644 --- a/_maps/map_files220/RandomZLevels/wildwest.dmm +++ b/_maps/map_files220/RandomZLevels/wildwest.dmm @@ -1970,7 +1970,7 @@ /area/awaymission/wildwest/wildwest_mines) "sg" = ( /obj/structure/table/glass, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /turf/simulated/floor/wood/oak, /area/awaymission/wildwest/wildwest_mines) "sq" = ( diff --git a/_maps/map_files220/generic/Admin_Zone.dmm b/_maps/map_files220/generic/Admin_Zone.dmm index 4460addb6e52..b0079e3887f0 100644 --- a/_maps/map_files220/generic/Admin_Zone.dmm +++ b/_maps/map_files220/generic/Admin_Zone.dmm @@ -1349,7 +1349,6 @@ "eD" = ( /obj/structure/table, /obj/item/tank/internals/oxygen/yellow, -/obj/random/bomb_supply, /obj/item/clothing/head/sombrero/shamebrero, /turf/simulated/floor/wood/oak, /area/admin) @@ -4510,7 +4509,7 @@ /area/ghost_bar/outdoor) "pJ" = ( /obj/structure/table/wood, -/obj/item/toy/russian_revolver/trick_revolver, +/obj/item/toy/russian_revolver/soul, /turf/simulated/floor/carpet/arcade, /area/admin) "pL" = ( @@ -4622,8 +4621,7 @@ /area/ghost_bar/indoor) "qh" = ( /obj/structure/table, -/obj/random/toolbox, -/obj/random/bomb_supply, +/obj/effect/spawner/random/engineering/toolbox, /obj/machinery/syndicatebomb/badmin/clown, /turf/simulated/floor/wood/oak, /area/admin) @@ -9060,7 +9058,7 @@ /area/shuttle/trade/sol) "ES" = ( /obj/structure/table/wood, -/obj/item/gun/projectile/revolver/russian/soul, +/obj/item/toy/russian_revolver/soul, /turf/simulated/floor/wood/oak, /area/admin) "ET" = ( @@ -10724,7 +10722,7 @@ /area/ghost_bar/indoor) "KG" = ( /obj/structure/table, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/item/clothing/gloves/color/yellow, /obj/item/pinpointer/advpinpointer, /turf/simulated/floor/wood/oak, @@ -14608,7 +14606,7 @@ /area/admin) "Yd" = ( /obj/structure/table/wood, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /turf/simulated/floor/wood/oak, /area/admin) "Ye" = ( diff --git a/_maps/map_files220/generic/Lavaland.dmm b/_maps/map_files220/generic/Lavaland.dmm index 6d668d52241b..f712cd48fc5a 100644 --- a/_maps/map_files220/generic/Lavaland.dmm +++ b/_maps/map_files220/generic/Lavaland.dmm @@ -1691,7 +1691,7 @@ /area/lavaland/surface/outdoors) "dU" = ( /obj/structure/rack, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plating, /area/mine/outpost/maintenance/south) "dV" = ( diff --git a/_maps/map_files220/generic/centcomm.dmm b/_maps/map_files220/generic/centcomm.dmm index 7d4ef101a522..9a0142b7a5ff 100644 --- a/_maps/map_files220/generic/centcomm.dmm +++ b/_maps/map_files220/generic/centcomm.dmm @@ -5413,8 +5413,8 @@ /obj/item/clothing/glasses/hud/security/sunglasses, /obj/item/storage/backpack/satchel, /obj/item/clothing/under/color/black, -/obj/item/clothing/accessory/blue, -/obj/item/clothing/accessory/black, +/obj/item/clothing/neck/tie/blue, +/obj/item/clothing/neck/tie/black, /obj/item/clothing/accessory/holster, /obj/effect/turf_decal/tile/neutral/full{ color = "#000000" @@ -7014,8 +7014,8 @@ name = "Supreme Judge ID card"; registered_name = "Supreme Judge" }, -/obj/item/clothing/accessory/blue, -/obj/item/clothing/accessory/black, +/obj/item/clothing/neck/tie/blue, +/obj/item/clothing/neck/tie/black, /obj/item/clothing/accessory/holster, /obj/effect/turf_decal/tile/neutral/full{ color = "#000000" @@ -9044,19 +9044,19 @@ /area/shuttle/administration) "frP" = ( /obj/structure/rack/holorack, -/obj/item/clothing/accessory/black{ +/obj/item/clothing/neck/tie/black{ desc = null; name = "Black tie" }, -/obj/item/clothing/accessory/blue{ +/obj/item/clothing/neck/tie/blue{ desc = null; name = "Blue tie" }, -/obj/item/clothing/accessory/blue{ +/obj/item/clothing/neck/tie/blue{ desc = null; name = "Blue tie" }, -/obj/item/clothing/accessory/black{ +/obj/item/clothing/neck/tie/black{ desc = null; name = "Black tie" }, @@ -18785,8 +18785,8 @@ /obj/structure/rack, /obj/item/reagent_containers/applicator/dual, /obj/item/reagent_containers/applicator/dual, -/obj/item/clothing/accessory/stethoscope, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/storage/firstaid/tactical, /obj/item/storage/firstaid/tactical, /turf/simulated/floor/plasteel{ @@ -39631,7 +39631,7 @@ /obj/item/folder/blue{ pixel_y = 2 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 3 }, /turf/simulated/floor/plasteel{ diff --git a/_maps/map_files220/generic/centcomm_test.dmm b/_maps/map_files220/generic/centcomm_test.dmm index 101b14c0aff7..b18797c9a1e6 100644 --- a/_maps/map_files220/generic/centcomm_test.dmm +++ b/_maps/map_files220/generic/centcomm_test.dmm @@ -294,7 +294,6 @@ "eD" = ( /obj/structure/table, /obj/item/tank/internals/oxygen/yellow, -/obj/random/bomb_supply, /obj/item/clothing/head/sombrero/shamebrero, /turf/simulated/floor/wood/oak, /area/admin) @@ -1053,7 +1052,7 @@ /area/admin) "pJ" = ( /obj/structure/table/wood, -/obj/item/toy/russian_revolver/trick_revolver, +/obj/item/toy/russian_revolver/soul, /turf/simulated/floor/carpet/arcade, /area/admin) "pN" = ( @@ -1074,8 +1073,7 @@ /area/admin) "qh" = ( /obj/structure/table, -/obj/random/toolbox, -/obj/random/bomb_supply, +/obj/effect/spawner/random/engineering/toolbox, /obj/machinery/syndicatebomb/badmin/clown, /turf/simulated/floor/wood/oak, /area/admin) @@ -1997,7 +1995,7 @@ /area/admin) "ES" = ( /obj/structure/table/wood, -/obj/item/gun/projectile/revolver/russian/soul, +/obj/item/toy/russian_revolver/soul, /turf/simulated/floor/wood/oak, /area/admin) "ET" = ( @@ -2478,7 +2476,7 @@ /area/shuttle/escape) "KG" = ( /obj/structure/table, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/item/clothing/gloves/color/yellow, /obj/item/pinpointer/advpinpointer, /turf/simulated/floor/wood/oak, @@ -3489,7 +3487,7 @@ /area/admin) "Yd" = ( /obj/structure/table/wood, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /turf/simulated/floor/wood/oak, /area/admin) "Yl" = ( diff --git a/_maps/map_files220/stations/boxstation.dmm b/_maps/map_files220/stations/boxstation.dmm index bf869712ef3c..d213cd603737 100644 --- a/_maps/map_files220/stations/boxstation.dmm +++ b/_maps/map_files220/stations/boxstation.dmm @@ -3310,8 +3310,7 @@ /area/station/engineering/atmos) "apy" = ( /obj/machinery/door/window/reinforced/normal{ - dir = 8; - req_access = list(63) + dir = 8 }, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/windoor/access/any/security/general{ @@ -4226,8 +4225,7 @@ /area/station/security/processing) "atp" = ( /obj/machinery/door/window/reinforced/normal{ - dir = 8; - req_access = list(63) + dir = 8 }, /obj/effect/mapping_helpers/airlock/windoor/access/any/security/general{ dir = 8 @@ -13649,8 +13647,7 @@ "baB" = ( /obj/structure/closet/coffin, /obj/machinery/door/window/classic/normal{ - name = "Coffin Storage"; - req_access = list(22) + name = "Coffin Storage" }, /obj/structure/window/reinforced{ dir = 8 @@ -14243,7 +14240,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/machinery/light/directional/north, /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) "bcL" = ( @@ -14261,6 +14257,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/machinery/light/directional/north, /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) "bcN" = ( @@ -14455,7 +14452,6 @@ /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) "bdq" = ( -/obj/machinery/light/directional/north, /obj/structure/sign/electricshock{ pixel_y = 32 }, @@ -14463,9 +14459,6 @@ /obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/machinery/camera{ - c_tag = "Port Hallway 2" - }, /turf/simulated/floor/plasteel, /area/station/hallway/primary/port) "bdr" = ( @@ -15123,7 +15116,6 @@ /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) "bgn" = ( -/obj/machinery/light/directional/north, /obj/structure/sign/directions/cargo{ dir = 4; pixel_y = 25 @@ -15274,7 +15266,6 @@ }, /area/station/hallway/secondary/entry) "bgJ" = ( -/obj/machinery/light/directional/north, /obj/machinery/firealarm/directional/north, /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/plasteel, @@ -15428,8 +15419,7 @@ /obj/effect/turf_decal/delivery, /obj/machinery/door/window/classic/reversed{ dir = 4; - name = "Hydroponics Delivery"; - req_access = list(35) + name = "Hydroponics Delivery" }, /obj/effect/mapping_helpers/airlock/windoor/access/any/service/hydroponics{ dir = 4 @@ -16641,13 +16631,13 @@ }, /area/station/service/chapel) "bmW" = ( -/obj/structure/sign/poster/official/random/south, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/machinery/firealarm/directional/south, /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) "bnd" = ( @@ -17125,13 +17115,15 @@ }, /area/station/hallway/secondary/entry) "boT" = ( -/obj/machinery/firealarm/directional/south, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) "boU" = ( @@ -17164,7 +17156,10 @@ }, /obj/structure/disposalpipe/segment, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" }, /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) @@ -17339,16 +17334,6 @@ /obj/item/storage/fancy/donut_box, /turf/simulated/floor/plasteel, /area/station/command/bridge) -"bpF" = ( -/obj/machinery/alarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/secondary/entry) "bpM" = ( /obj/effect/landmark/start/chaplain, /obj/structure/disposalpipe/segment, @@ -17467,7 +17452,7 @@ /area/station/hallway/primary/central/nw) "bqr" = ( /turf/simulated/wall, -/area/station/public/vacant_office) +/area/station/procedure/trainer_office) "bqs" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -17805,8 +17790,13 @@ }, /area/station/command/bridge) "brU" = ( -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreenfull" + }, +/area/station/procedure/trainer_office) "bsc" = ( /obj/effect/spawner/random/cobweb/right/frequent, /obj/structure/rack, @@ -17843,7 +17833,7 @@ }, /area/station/hallway/secondary/entry) "bsi" = ( -/obj/random/plushie, +/obj/effect/spawner/random/plushies, /turf/simulated/floor/plating, /area/station/maintenance/apmaint) "bsk" = ( @@ -17906,6 +17896,9 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) "bst" = ( @@ -18180,16 +18173,20 @@ "btA" = ( /obj/structure/table/wood, /obj/item/storage/briefcase, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "btB" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp{ pixel_x = -2; pixel_y = 4 }, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "btE" = ( /obj/effect/spawner/random/barrier/grille_maybe, /obj/structure/cable{ @@ -18200,25 +18197,33 @@ /area/station/maintenance/asmaint) "btF" = ( /obj/item/kirbyplants, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/machinery/firealarm/directional/south, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "btG" = ( /obj/structure/table/wood, /obj/item/taperecorder{ pixel_x = -4; pixel_y = 2 }, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) -"btH" = ( -/obj/machinery/power/apc/directional/east, -/obj/structure/cable{ - icon_state = "0-2" +/obj/machinery/door/window/classic/normal{ + name = "Glass Door"; + dir = 4 }, +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer{ + dir = 4 + }, +/obj/item/paicard, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) +"btH" = ( /obj/structure/table/wood, /obj/item/camera, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "btK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/explorer, @@ -18409,25 +18414,21 @@ }, /area/station/public/dorms) "buX" = ( -/obj/structure/computerframe, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/obj/machinery/economy/vending/traindrobe, +/obj/machinery/requests_console/directional/west, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "bva" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass, /obj/effect/mapping_helpers/airlock/autoname, /turf/simulated/floor/carpet, /area/station/service/chapel) -"bvb" = ( -/obj/structure/chair/comfy/black, -/obj/machinery/newscaster/directional/north, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) "bvc" = ( /obj/structure/table/wood, /obj/item/hand_labeler, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "bve" = ( /obj/structure/sign/poster/random{ pixel_y = 32 @@ -18465,14 +18466,18 @@ "bvm" = ( /obj/machinery/light_switch/west, /obj/machinery/light/directional/west, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/obj/machinery/door/window/classic/normal{ + name = "Glass Door" + }, +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "bvn" = ( /obj/structure/chair/comfy/black{ dir = 1 }, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "bvo" = ( /obj/machinery/atmospherics/unary/tank/air{ dir = 4 @@ -18721,12 +18726,12 @@ /turf/simulated/floor/plasteel, /area/station/science/robotics/chargebay) "bwM" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/machinery/firealarm/directional/east, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bwN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -19074,15 +19079,18 @@ /area/station/command/bridge) "byh" = ( /obj/item/radio/intercom/directional/south, +/obj/structure/chair/office/dark{ + dir = 8 + }, /obj/machinery/camera{ - c_tag = "Vacant Office"; + c_tag = "Career Trainer's Office"; dir = 1 }, -/obj/structure/chair/office/dark{ - dir = 8 +/obj/effect/landmark/start/nanotrasen_career_trainer, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/area/station/procedure/trainer_office) "byj" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel, @@ -19686,20 +19694,23 @@ }, /area/station/hallway/primary/central/west) "bBr" = ( -/obj/machinery/door/airlock/public/glass, +/obj/machinery/door/airlock/command/glass{ + id_tag = "nct" + }, /obj/effect/mapping_helpers/airlock/autoname, /obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "NCT" + }, +/turf/simulated/floor/plasteel, +/area/station/procedure/trainer_office) "bBy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -20072,11 +20083,9 @@ /area/station/maintenance/aft) "bDu" = ( /obj/machinery/light/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/sign/poster/official/random/east, /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) "bDv" = ( @@ -20220,9 +20229,6 @@ /turf/simulated/floor/plasteel, /area/station/service/chapel) "bEm" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/status_display/directional/east, @@ -21138,9 +21144,6 @@ /turf/simulated/wall, /area/station/science/robotics) "bIb" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 4 }, @@ -21496,9 +21499,6 @@ /area/station/science/rnd) "bJs" = ( /obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /turf/simulated/floor/plasteel, @@ -22610,13 +22610,13 @@ /obj/item/clipboard{ pixel_y = 3 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 3 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 9 }, /obj/machinery/light_switch/west, @@ -22915,8 +22915,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/window/classic/normal{ dir = 8; - name = "Cargo Desk"; - req_access = list(50) + name = "Cargo Desk" }, /obj/structure/noticeboard{ pixel_y = 27 @@ -26069,6 +26068,10 @@ "cdN" = ( /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/south) +"cdO" = ( +/obj/structure/closet, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "cdP" = ( /obj/effect/turf_decal/stripes/corner, /obj/structure/cable{ @@ -26534,7 +26537,7 @@ pixel_x = -6; pixel_y = 2 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_x = 4; pixel_y = 6 }, @@ -27340,8 +27343,7 @@ "cjG" = ( /obj/machinery/door/window/classic/reversed{ dir = 8; - name = "Do Not Revive"; - req_access = list(6) + name = "Do Not Revive" }, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/windoor/access/any/medical/morgue{ @@ -29287,8 +29289,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 2; - d2 = 4; icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -32562,8 +32562,6 @@ dir = 4 }, /obj/structure/cable{ - d1 = 4; - d2 = 8; icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -34260,8 +34258,7 @@ /area/station/engineering/tech_storage) "cKD" = ( /obj/machinery/door/airlock/medical{ - locked = 1; - req_access = list(33) + locked = 1 }, /obj/effect/mapping_helpers/airlock/autoname, /obj/effect/mapping_helpers/airlock/access/any/medical/chemistry, @@ -38379,16 +38376,9 @@ /turf/simulated/floor/wood/fancy/cherry, /area/station/command/office/captain) "dab" = ( -/obj/structure/table, +/obj/machinery/autolathe, /obj/machinery/light/directional/east, /obj/item/radio/intercom/directional/east, -/obj/item/stack/rods{ - amount = 50 - }, -/obj/item/stack/rods{ - amount = 50; - pixel_y = -6 - }, /turf/simulated/floor/plasteel{ icon_state = "darkyellowfull" }, @@ -38770,6 +38760,13 @@ /obj/structure/table, /obj/machinery/firealarm/directional/east, /obj/item/crowbar/large, +/obj/item/stack/rods{ + amount = 50 + }, +/obj/item/stack/rods{ + amount = 50; + pixel_y = -6 + }, /obj/item/crowbar/large{ pixel_y = 4 }, @@ -45179,11 +45176,26 @@ /turf/simulated/wall/r_wall, /area/station/maintenance/aft) "ehb" = ( -/obj/machinery/door/airlock/public/glass, +/obj/machinery/door/airlock/command/glass{ + id_tag = "nct" + }, /obj/effect/mapping_helpers/airlock/autoname, /obj/machinery/door/firedoor, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "NCT" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/station/procedure/trainer_office) "ehi" = ( /obj/effect/spawner/window/reinforced/polarized/grilled{ id = "conference" @@ -45583,6 +45595,7 @@ /obj/structure/disposalpipe/segment/corner{ dir = 8 }, +/obj/machinery/light/directional/south, /turf/simulated/floor/plasteel, /area/station/hallway/primary/port) "epT" = ( @@ -45621,14 +45634,15 @@ "eqL" = ( /obj/structure/table/wood, /obj/item/paper_bin{ - pixel_x = -2; + pixel_x = -6; pixel_y = 4 }, /obj/item/pen{ - pixel_y = 8 + pixel_x = 6 }, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/obj/structure/window/reinforced, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "eqO" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/plasteel, @@ -47711,6 +47725,18 @@ /obj/machinery/seed_extractor, /turf/simulated/floor/grass, /area/station/security/permabrig) +"ffQ" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "ffY" = ( /obj/machinery/atmospherics/pipe/simple/visible/universal{ dir = 4 @@ -49046,6 +49072,19 @@ /obj/machinery/light/small/directional/west, /turf/simulated/floor/engine/xenobio, /area/station/science/xenobiology) +"fEW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/alarm/directional/south, +/turf/simulated/floor/plasteel, +/area/station/hallway/secondary/entry) "fFz" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/light_switch/south, @@ -49306,6 +49345,11 @@ icon_state = "dark" }, /area/station/engineering/secure_storage) +"fKq" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/station/hallway/secondary/entry) "fKw" = ( /obj/structure/sign/poster/random{ pixel_y = 32 @@ -49547,6 +49591,18 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/asmaint) +"fQP" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "fRo" = ( /obj/effect/spawner/random/cobweb/right/frequent, /obj/structure/chair, @@ -52372,6 +52428,16 @@ icon_state = "dark" }, /area/station/engineering/equipmentstorage) +"gQu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Port Hallway"; + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/port) "gQD" = ( /obj/structure/cable{ icon_state = "4-8" @@ -52787,13 +52853,11 @@ /area/station/hallway/primary/aft) "gXL" = ( /obj/machinery/door/window/classic/reversed{ - name = "Toxins Launcher"; - req_access = list(7) + name = "Toxins Launcher" }, /obj/machinery/door/window/classic/reversed{ dir = 1; - name = "Toxins Launcher"; - req_access = list(7) + name = "Toxins Launcher" }, /obj/machinery/door/poddoor/preopen{ id_tag = "Biohazard"; @@ -53466,16 +53530,13 @@ /area/station/service/chapel/office) "hjH" = ( /obj/machinery/light/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/structure/table/wood, /obj/item/toner, /obj/item/toner{ pixel_y = 6 }, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "hjO" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -55758,8 +55819,9 @@ /obj/structure/chair/office/dark{ dir = 4 }, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/obj/effect/landmark/start/nanotrasen_career_trainer, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "ibM" = ( /obj/machinery/power/apc/directional/south, /obj/structure/cable{ @@ -57058,9 +57120,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/door/airlock/command/glass{ - req_access = list(16) - }, +/obj/machinery/door/airlock/command/glass, /obj/effect/mapping_helpers/airlock/autoname, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -57502,10 +57562,6 @@ /turf/simulated/floor/carpet, /area/station/maintenance/asmaint) "iPh" = ( -/obj/machinery/camera{ - c_tag = "Port Hallway"; - dir = 1 - }, /obj/machinery/light/directional/south, /obj/structure/disposalpipe/segment{ dir = 4 @@ -58122,8 +58178,13 @@ /area/station/maintenance/asmaint2) "jcg" = ( /obj/machinery/atmospherics/unary/vent_scrubber/on, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreenfull" + }, +/area/station/procedure/trainer_office) "jcp" = ( /obj/structure/musician/piano{ dir = 8 @@ -58432,9 +58493,6 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/structure/cable{ - icon_state = "1-4" - }, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 }, @@ -58672,11 +58730,11 @@ }, /area/station/public/toilet/lockerroom) "joq" = ( -/obj/structure/cable{ - icon_state = "4-8" +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen"; + dir = 1 }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/area/station/procedure/trainer_office) "jot" = ( /obj/structure/cable{ icon_state = "1-8" @@ -59606,6 +59664,15 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/asmaint2) +"jGi" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "jGG" = ( /obj/structure/grille/broken, /obj/item/stack/rods, @@ -59894,6 +59961,12 @@ }, /turf/space, /area/space/nearstation) +"jMX" = ( +/obj/structure/filingcabinet, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "jNd" = ( /obj/machinery/alarm/directional/south, /turf/simulated/floor/plasteel{ @@ -63841,6 +63914,13 @@ icon_state = "bluecorner" }, /area/station/hallway/primary/fore) +"lnP" = ( +/obj/item/kirbyplants, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "lnQ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -65351,7 +65431,6 @@ /obj/structure/window/reinforced, /obj/machinery/door/window/classic/normal{ layer = 3; - req_access = list(50); dir = 1; name = "Delivery Chute" }, @@ -67474,7 +67553,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/random/hampter, +/obj/effect/spawner/random/toy/hampter, /turf/simulated/floor/plasteel{ icon_state = "grimy" }, @@ -69188,8 +69267,8 @@ /area/station/command/office/blueshield) "nmJ" = ( /obj/structure/chair/comfy/black, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "nmO" = ( /obj/structure/cable{ icon_state = "4-8" @@ -69623,8 +69702,6 @@ dir = 8 }, /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -70120,7 +70197,7 @@ "nDi" = ( /obj/structure/bed, /obj/machinery/light/small/directional/east, -/obj/random/hampter, +/obj/effect/spawner/random/toy/hampter, /turf/simulated/floor/plating, /area/station/maintenance/fore) "nDq" = ( @@ -71494,6 +71571,16 @@ /obj/item/radio/intercom/directional/west, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central/se) +"ofH" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Port Hallway 2"; + dir = 1 + }, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/port) "ofP" = ( /obj/structure/sign/restroom{ pixel_x = 32 @@ -72474,6 +72561,21 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/station/maintenance/fsmaint) +"owW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen"; + dir = 1 + }, +/area/station/procedure/trainer_office) "oxe" = ( /obj/effect/spawner/random/maintenance, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -72524,9 +72626,18 @@ /turf/simulated/floor/plating, /area/station/maintenance/aft) "oyG" = ( -/obj/machinery/alarm/directional/west, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/obj/machinery/door_control/normal/west{ + id = "nct"; + name = "Office Door Control"; + req_access = list(80); + pixel_y = 6 + }, +/obj/machinery/button/windowtint/west{ + pixel_y = -6; + id = "NCT" + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "oyH" = ( /obj/structure/cable{ icon_state = "1-2" @@ -73678,18 +73789,20 @@ /turf/simulated/floor/plasteel, /area/station/command/bridge) "oTT" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/hologram/holopad, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen"; + dir = 1 + }, +/area/station/procedure/trainer_office) "oUf" = ( /obj/effect/turf_decal/delivery/red/hollow, /obj/machinery/economy/vending/secdrobe, @@ -74044,7 +74157,7 @@ /obj/structure/safe/floor{ known_by = list("captain") }, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /obj/item/reagent_containers/drinks/bottle/absinthe/premium, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, /obj/item/toy/figure/crew/captain, @@ -74562,17 +74675,18 @@ /area/station/maintenance/assembly_line) "pjR" = ( /obj/structure/table/wood, -/obj/item/poster/random_contraband{ - pixel_y = 2 - }, -/obj/item/poster/random_contraband{ - pixel_y = 10 - }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/machinery/alarm/directional/south, +/obj/item/poster/random_official, +/obj/item/poster/random_official{ + pixel_y = 8 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "pkf" = ( /obj/machinery/door/airlock/external{ locked = 1 @@ -75565,7 +75679,7 @@ "pAM" = ( /obj/structure/table, /obj/item/soap/deluxe, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/station/maintenance/aft) @@ -77857,8 +77971,14 @@ /area/station/maintenance/fsmaint) "qtA" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/machinery/hologram/holopad, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreenfull" + }, +/area/station/procedure/trainer_office) "qtC" = ( /turf/simulated/floor/plasteel{ dir = 8; @@ -79127,8 +79247,11 @@ /area/station/maintenance/asmaint) "qON" = ( /obj/machinery/photocopier, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/machinery/newscaster/directional/south, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "qOP" = ( /obj/machinery/door/airlock/atmos, /obj/effect/mapping_helpers/airlock/autoname, @@ -80146,21 +80269,16 @@ icon_state = "whitepurple" }, /area/station/science/xenobiology) -"rjP" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ +"rjY" = ( +/obj/structure/table/wood, +/obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 +/obj/machinery/photocopier/faxmachine/longrange{ + department = "Nanotrasen Career Trainer's Office" }, -/obj/machinery/light/directional/south, -/turf/simulated/floor/plasteel, -/area/station/hallway/secondary/entry) -"rjY" = ( -/obj/structure/table/wood, -/obj/item/paicard, -/turf/simulated/floor/carpet, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "rkb" = ( /obj/effect/spawner/random/oil/maybe, /obj/structure/cable{ @@ -80202,6 +80320,21 @@ icon_state = "purple" }, /area/station/science/hallway) +"rkX" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen"; + dir = 1 + }, +/area/station/procedure/trainer_office) "rlm" = ( /obj/machinery/atmospherics/pipe/simple/visible/cyan{ dir = 9 @@ -80437,9 +80570,13 @@ /turf/simulated/floor/plasteel, /area/station/supply/warehouse) "rrL" = ( -/obj/structure/bookcase, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/machinery/papershredder, +/obj/machinery/power/apc/directional/south, +/obj/structure/cable, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "rsv" = ( /obj/machinery/atmospherics/unary/outlet_injector/on{ dir = 8 @@ -81116,8 +81253,6 @@ /area/station/engineering/utility) "rIw" = ( /obj/structure/cable{ - d1 = 1; - d2 = 2; icon_state = "1-2" }, /obj/machinery/atmospherics/unary/vent_scrubber/on{ @@ -83351,17 +83486,17 @@ /turf/simulated/floor/plasteel, /area/station/public/locker) "sAq" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "sAy" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 4 @@ -84208,7 +84343,7 @@ /turf/simulated/floor/plating, /area/station/maintenance/asmaint2) "sPu" = ( -/obj/item/clothing/suit/mantle/old, +/obj/item/clothing/neck/cloak/old, /turf/simulated/floor/carpet, /area/station/maintenance/asmaint) "sPx" = ( @@ -86571,7 +86706,7 @@ "tMs" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/spawner/random/blood/often, -/obj/random/mech, +/obj/effect/spawner/random/toy/mech_figure, /turf/simulated/floor/plating, /area/station/maintenance/disposal) "tMx" = ( @@ -87058,7 +87193,7 @@ /area/station/command/bridge) "tUd" = ( /obj/structure/closet/cabinet, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/crowbar, /obj/effect/landmark/spawner/nukedisc_respawn, /obj/effect/spawner/random/cobweb/left/frequent, @@ -88995,6 +89130,22 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/asmaint) +"uDF" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/sign/nanotrasen{ + pixel_y = -32 + }, +/turf/simulated/floor/plasteel, +/area/station/hallway/secondary/entry) "uDJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random{ @@ -89118,9 +89269,6 @@ /turf/simulated/floor/plasteel, /area/station/security/permabrig) "uGE" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ dir = 8 @@ -90192,7 +90340,7 @@ /area/station/maintenance/fsmaint) "vbD" = ( /obj/structure/bed/psych, -/obj/random/therapy, +/obj/effect/spawner/random/toy/therapy_doll, /obj/machinery/newscaster/directional/east, /turf/simulated/floor/wood/oak, /area/station/medical/psych) @@ -92477,6 +92625,15 @@ }, /turf/simulated/floor/carpet/green, /area/station/public/arcade) +"vSt" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "vSz" = ( /obj/structure/window/reinforced{ dir = 1 @@ -92675,7 +92832,7 @@ /obj/effect/decal/cleanable/dirt, /obj/item/clothing/shoes/sandal/white, /obj/item/clothing/under/pants/white, -/obj/item/clothing/accessory/scarf/white, +/obj/item/clothing/neck/scarf/white, /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -94680,8 +94837,7 @@ "wMl" = ( /obj/machinery/door/window/classic/reversed{ dir = 4; - name = "Do Not Revive"; - req_access = list(6) + name = "Do Not Revive" }, /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/airlock/windoor/access/any/medical/morgue{ @@ -94797,7 +94953,7 @@ /obj/structure/bed, /obj/item/bedsheet/black, /obj/effect/spawner/random/cobweb/right/rare, -/obj/random/hampter, +/obj/effect/spawner/random/toy/hampter, /turf/simulated/floor/carpet/royalblack, /area/station/maintenance/apmaint) "wOf" = ( @@ -95126,9 +95282,7 @@ }, /area/station/maintenance/asmaint) "wVH" = ( -/obj/machinery/door/airlock/security/glass{ - req_access = list(1) - }, +/obj/machinery/door/airlock/security/glass, /obj/effect/mapping_helpers/airlock/autoname, /obj/structure/cable{ icon_state = "4-8" @@ -96846,6 +97000,13 @@ "xBl" = ( /turf/simulated/floor/grass, /area/station/security/permabrig) +"xBp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/simulated/floor/plasteel, +/area/station/hallway/primary/port) "xBw" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 9 @@ -98030,6 +98191,14 @@ /obj/item/trash/chips, /turf/simulated/floor/plating, /area/station/maintenance/asmaint2) +"xWI" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "xWJ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/south, @@ -111660,7 +111829,7 @@ hCn uGE bDu bEm -plc +fKq bIb bJs jiy @@ -112424,11 +112593,11 @@ bjO vcQ brk bgB -bqr -buX +vSt +cdO ibL eqL -sAq +rkX rrL bqr bFY @@ -112680,13 +112849,13 @@ bhm bhm aSX brk -bpF -bqr +bgB +fQP rjY btG btB -sAq -rrL +owW +jMX bqr bFZ nfo @@ -113195,9 +113364,9 @@ bhv aSY brk boT -bqr +ffQ nmJ -btB +xWI bvn joq byh @@ -113451,9 +113620,9 @@ aMs aMs aMs brn -rjP -bqr -bvb +boT +jGi +nmJ btA bvn joq @@ -113708,13 +113877,13 @@ biv bkd blJ brk -bgB +uDF bqr bvc btH hjH bwM -btF +lnP bqr bGb bJu @@ -113965,7 +114134,7 @@ blh blh blh brp -bgB +fEW bqr bqr bqr @@ -114733,7 +114902,7 @@ bgM beP bgz vJv -bgz +bki blM dig dfh @@ -118331,7 +118500,7 @@ bdk beR bgz vJv -oll +xBp blM bnI bnD @@ -118845,7 +119014,7 @@ aaa beL bgA vJv -oll +ofH blM blM blM @@ -120644,7 +120813,7 @@ aab beL bgA vJv -oll +gQu blR iFm rEs diff --git a/_maps/map_files220/stations/deltastation.dmm b/_maps/map_files220/stations/deltastation.dmm index 1b0eb5fc9a85..a1d85b2b5bc5 100644 --- a/_maps/map_files220/stations/deltastation.dmm +++ b/_maps/map_files220/stations/deltastation.dmm @@ -120,7 +120,7 @@ /turf/space, /area/station/maintenance/solar_maintenance/port) "acn" = ( -/obj/structure/machine_frame, +/obj/machinery/autolathe, /obj/effect/turf_decal/delivery/hollow, /obj/machinery/economy/vending/wallmed/directional/east, /turf/simulated/floor/plasteel{ @@ -321,9 +321,6 @@ }, /area/station/science/storage) "adS" = ( -/obj/structure/disposalpipe/segment/corner{ - dir = 1 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -969,12 +966,18 @@ /turf/simulated/floor/plasteel, /area/station/security/permabrig) "ahy" = ( -/obj/machinery/door/airlock/glass, -/obj/effect/mapping_helpers/airlock/autoname, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/door/airlock/command/glass{ + id_tag = "nct" + }, +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, +/obj/effect/mapping_helpers/airlock/autoname, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "NCT" + }, /turf/simulated/floor/plasteel, -/area/station/public/vacant_office) +/area/station/procedure/trainer_office) "ahz" = ( /obj/machinery/door/airlock/external{ id_tag = "ferry_home" @@ -1936,9 +1939,7 @@ /area/station/supply/warehouse) "aoe" = ( /obj/structure/table, -/obj/random/toolbox{ - pixel_y = 2 - }, +/obj/effect/spawner/random/engineering/toolbox, /obj/machinery/newscaster/directional/east, /obj/effect/turf_decal/delivery, /turf/simulated/floor/plasteel, @@ -1985,7 +1986,7 @@ /area/station/public/vacant_store) "aoo" = ( /turf/simulated/wall, -/area/station/public/vacant_office) +/area/station/procedure/trainer_office) "aop" = ( /turf/simulated/wall, /area/station/command/customs) @@ -2122,7 +2123,7 @@ /area/station/maintenance/fore) "aoS" = ( /obj/structure/table, -/obj/random/toolbox, +/obj/effect/spawner/random/engineering/toolbox, /obj/item/wrench, /turf/simulated/floor/plating, /area/station/maintenance/fore) @@ -2130,28 +2131,43 @@ /obj/structure/table/wood, /obj/item/folder, /obj/item/pen, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "aoV" = ( /obj/machinery/photocopier, -/obj/machinery/light/small/directional/north, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "aoX" = ( /obj/structure/table/wood, /obj/item/storage/briefcase{ pixel_x = 4; pixel_y = 4 }, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch/north, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "aoY" = ( /obj/item/kirbyplants, /obj/machinery/firealarm/directional/north, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "aoZ" = ( /obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/segment/corner{ + dir = 2 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "neutralcorner" @@ -2160,22 +2176,26 @@ "apa" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, -/obj/machinery/light_switch/north, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "apb" = ( /obj/structure/table/wood, -/obj/item/taperecorder, -/obj/machinery/light/small/directional/north, /obj/machinery/status_display/directional/north, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) -"apc" = ( -/obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) +"apc" = ( +/obj/structure/table/wood, +/obj/machinery/requests_console/directional/north, +/obj/machinery/photocopier/faxmachine/longrange{ + department = "Nanotrasen Career Trainer's Office" + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "ape" = ( /obj/structure/table/reinforced, /obj/item/storage/box/ids{ @@ -2396,14 +2416,22 @@ /turf/simulated/floor/plating, /area/station/maintenance/fore) "apL" = ( -/obj/structure/chair/office/light{ +/obj/structure/chair/office/dark{ dir = 1 }, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/turf/simulated/floor/plasteel{ + dir = 9; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "apM" = ( -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "apP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -2426,19 +2454,35 @@ }, /obj/item/folder/yellow, /obj/item/pen, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/machinery/door/window/classic/normal{ + name = "Glass Door"; + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer{ + dir = 8 + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "apS" = ( -/obj/structure/chair/office/light{ +/obj/structure/chair/office/dark{ dir = 8 }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "apT" = ( -/obj/machinery/status_display/directional/east, -/obj/structure/computerframe, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/structure/filingcabinet, +/obj/machinery/door_control/normal/east{ + pixel_y = 6; + id = "nct"; + name = "Office Door Control"; + req_access = list(80) + }, +/obj/machinery/button/windowtint/east{ + pixel_y = -6; + id = "NCT" + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "apV" = ( /obj/machinery/keycard_auth/west, /turf/simulated/floor/plasteel{ @@ -2695,35 +2739,40 @@ }, /area/station/maintenance/fore) "aqI" = ( -/obj/structure/chair/office/light, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/obj/structure/chair/office/dark, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "aqJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/unary/vent_pump/on{ - dir = 4 +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" }, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/area/station/procedure/trainer_office) "aqN" = ( -/obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkgreencorners" + }, +/area/station/procedure/trainer_office) "aqO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ +/obj/machinery/door/window/classic/normal{ + name = "Glass Door"; dir = 8 }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer{ + dir = 8 + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "aqQ" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/structure/closet, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "aqR" = ( /obj/machinery/ai_status_display/west, /obj/machinery/computer/crew{ @@ -2774,8 +2823,8 @@ /obj/item/paper_bin, /obj/item/pen, /obj/machinery/newscaster/directional/south, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "aqZ" = ( /turf/simulated/floor/plasteel{ icon_state = "redcorner" @@ -2948,7 +2997,7 @@ dir = 8 }, /obj/machinery/atmospherics/unary/vent_scrubber/on, -/obj/random/hampter, +/obj/effect/spawner/random/toy/hampter, /obj/effect/mapping_helpers/turfs/damage, /turf/simulated/floor/wood/oak, /area/station/maintenance/electrical_shop) @@ -2964,8 +3013,9 @@ dir = 1 }, /obj/item/radio/intercom/directional/south, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/obj/item/taperecorder, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "ary" = ( /obj/structure/computerframe{ dir = 8 @@ -2997,31 +3047,37 @@ /obj/structure/table/wood, /obj/item/phone, /obj/machinery/newscaster/directional/south, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "arC" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/light/small/directional/south, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/obj/machinery/papershredder, +/obj/machinery/light/directional/south, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "arE" = ( /obj/structure/cable{ icon_state = "2-8" }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "arF" = ( /obj/item/kirbyplants, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "arG" = ( -/obj/structure/table/wood, -/obj/item/camera, -/obj/machinery/light/small/directional/south, -/obj/item/camera_film, -/obj/item/camera_film, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/machinery/economy/vending/traindrobe, +/obj/machinery/light/directional/south, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "arH" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, @@ -3260,8 +3316,8 @@ /turf/simulated/floor/plating, /area/station/maintenance/fore) "ast" = ( -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "asw" = ( /obj/machinery/status_display/directional/west, /obj/machinery/computer/med_data{ @@ -7664,6 +7720,7 @@ /obj/effect/mapping_helpers/airlock/autoname, /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/any/service/bar, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -8299,6 +8356,7 @@ c_tag = "Theatre East"; dir = 8 }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -8887,14 +8945,6 @@ }, /turf/simulated/floor/wood/oak, /area/station/security/permabrig) -"aNj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor/plasteel{ - icon_state = "dark" - }, -/area/station/service/bar) "aNk" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -10124,16 +10174,13 @@ }, /area/station/maintenance/fsmaint) "aTj" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/disposalpipe/segment/corner{ + dir = 8 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel{ - icon_state = "neutralfull" + icon_state = "dark" }, -/area/station/hallway/primary/fore) +/area/station/service/bar) "aTp" = ( /obj/item/kirbyplants, /turf/simulated/floor/carpet, @@ -12412,21 +12459,6 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/plasteel/white, /area/station/service/kitchen) -"bdO" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" - }, -/area/station/hallway/primary/fore) "bdP" = ( /turf/simulated/floor/plasteel{ icon_state = "redfull" @@ -12535,7 +12567,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/junction/y{ +/obj/structure/disposalpipe/segment/corner{ dir = 4 }, /turf/simulated/floor/plasteel{ @@ -15979,8 +16011,10 @@ /area/station/hallway/primary/central/north) "bsq" = ( /obj/machinery/disposal, -/obj/structure/disposalpipe/trunk, /obj/machinery/requests_console/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -17438,6 +17472,7 @@ /obj/item/aicard{ pixel_y = 5 }, +/obj/item/multitool/command, /turf/simulated/floor/plasteel/dark, /area/station/command/bridge) "bza" = ( @@ -24707,9 +24742,16 @@ /area/station/maintenance/disposal/west) "bXo" = ( /obj/structure/table/glass, -/obj/machinery/light_switch/north, +/obj/machinery/light_switch/north{ + pixel_x = -6 + }, /obj/structure/extinguisher_cabinet/directional/east, -/obj/item/soap, +/obj/item/reagent_containers/spray/cleaner, +/obj/machinery/button/windowtint/west{ + id = "paramedic"; + pixel_x = 6; + pixel_y = 24 + }, /turf/simulated/floor/plasteel{ dir = 5; icon_state = "whiteblue" @@ -28177,6 +28219,9 @@ /obj/effect/mapping_helpers/airlock/autoname, /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/theatre, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, /area/station/maintenance/fore) "ckm" = ( @@ -34546,6 +34591,11 @@ pixel_y = 10; pixel_x = 6 }, +/obj/item/stack/sheet/mineral/plasma{ + amount = 10; + pixel_y = -3; + pixel_x = -15 + }, /turf/simulated/floor/plasteel{ icon_state = "whiteyellowfull" }, @@ -34939,7 +34989,7 @@ "cOF" = ( /obj/effect/decal/cleanable/blood, /obj/effect/decal/cleanable/crayon, -/obj/item/clothing/suit/mantle/old, +/obj/item/clothing/neck/cloak/old, /turf/simulated/floor/carpet, /area/station/maintenance/port) "cOG" = ( @@ -38932,7 +38982,9 @@ }, /area/station/hallway/primary/aft) "dgD" = ( -/obj/effect/spawner/window/reinforced/grilled, +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "paramedic" + }, /turf/simulated/floor/plating, /area/station/medical/paramedic) "dgE" = ( @@ -40436,12 +40488,12 @@ /turf/simulated/floor/plasteel/dark, /area/station/maintenance/abandonedbar) "dnJ" = ( -/obj/machinery/disposal, /obj/machinery/camera{ c_tag = "Medbay Paramedic"; network = list("Medbay","SS13"); dir = 1 }, +/obj/structure/closet/paramedic, /turf/simulated/floor/plasteel{ dir = 10; icon_state = "whiteblue" @@ -40725,7 +40777,6 @@ /turf/simulated/floor/plating, /area/station/maintenance/port2) "dpf" = ( -/obj/structure/closet/paramedic, /obj/item/radio/intercom/directional/south, /turf/simulated/floor/plasteel{ icon_state = "whiteblue" @@ -41009,6 +41060,15 @@ icon_state = "whitegreen" }, /area/station/medical/medbay) +"dqB" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "dqC" = ( /obj/machinery/door/window/classic/reversed{ name = "Chemistry Delivery" @@ -43300,6 +43360,9 @@ "dCT" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -48340,6 +48403,9 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "paramedic" + }, /obj/effect/mapping_helpers/airlock/access/any/medical/paramedic, /turf/simulated/floor/plasteel{ icon_state = "white" @@ -51212,9 +51278,6 @@ /turf/simulated/floor/plating, /area/station/supply/warehouse) "fbk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -54044,13 +54107,8 @@ }, /area/station/maintenance/port) "fWM" = ( -/obj/structure/table, /obj/machinery/firealarm/directional/south, -/obj/item/stack/sheet/mineral/plasma{ - amount = 10; - pixel_y = 6 - }, -/obj/item/hand_labeler, +/obj/structure/reagent_dispensers/oil, /turf/simulated/floor/plasteel{ icon_state = "whiteyellow" }, @@ -54843,7 +54901,7 @@ /obj/structure/table/wood, /obj/item/reagent_containers/drinks/drinkingglass/shotglass, /obj/effect/decal/cleanable/dirt, -/obj/item/gun/projectile/revolver/russian{ +/obj/item/toy/russian_revolver{ pixel_y = 12 }, /turf/simulated/floor/wood/oak, @@ -55404,6 +55462,9 @@ /obj/structure/cable{ icon_state = "1-8" }, +/obj/structure/disposalpipe/segment/corner{ + dir = 2 + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -56825,6 +56886,15 @@ /obj/item/shard, /turf/simulated/floor/plating, /area/station/maintenance/starboard) +"gTa" = ( +/obj/structure/chair/office/dark, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "gTc" = ( /obj/structure/railing/corner{ dir = 8 @@ -57283,6 +57353,17 @@ icon_state = "caution" }, /area/station/maintenance/electrical) +"hbo" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "hbq" = ( /obj/effect/spawner/window/reinforced/plasma/grilled, /obj/machinery/atmospherics/pipe/simple/visible, @@ -57299,7 +57380,7 @@ /obj/structure/safe/floor{ known_by = list("captain") }, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /obj/item/toy/figure/crew/captain, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, /obj/item/lighter/zippo/nt_rep, @@ -59284,7 +59365,7 @@ /area/station/security/checkpoint/south) "hIj" = ( /obj/structure/bed/psych, -/obj/random/therapy, +/obj/effect/spawner/random/toy/therapy_doll, /obj/effect/turf_decal/siding/wood/oak, /turf/simulated/floor/wood/oak, /area/station/medical/psych) @@ -61133,9 +61214,8 @@ /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, -/obj/machinery/newscaster/directional/north, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "imx" = ( /obj/item/kirbyplants, /turf/simulated/floor/plasteel{ @@ -62512,6 +62592,7 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -64111,6 +64192,9 @@ pixel_y = 6; pixel_x = 16 }, +/obj/item/hand_labeler{ + pixel_x = 6 + }, /turf/simulated/floor/plasteel{ dir = 1; icon_state = "whiteyellow" @@ -65060,7 +65144,7 @@ "jvm" = ( /obj/structure/table/reinforced, /obj/effect/decal/cleanable/dirt, -/obj/random/hampter, +/obj/effect/spawner/random/toy/hampter, /turf/simulated/floor/plasteel{ icon_state = "redyellowfull" }, @@ -69874,6 +69958,12 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, /turf/simulated/floor/plasteel, /area/station/maintenance/port) +"kWy" = ( +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen"; + dir = 1 + }, +/area/station/procedure/trainer_office) "kWB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -69899,6 +69989,15 @@ /obj/machinery/light/directional/south, /turf/simulated/floor/engine, /area/station/science/test_chamber) +"kWK" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "kWO" = ( /obj/structure/chair/sofa/corp/left{ dir = 1 @@ -72687,7 +72786,7 @@ pixel_x = -6; pixel_y = 2 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_x = 14; pixel_y = 4 }, @@ -73180,7 +73279,7 @@ "lYq" = ( /obj/structure/table/wood/poker, /obj/effect/decal/cleanable/dirt, -/obj/random/hampter, +/obj/effect/spawner/random/toy/hampter, /turf/simulated/floor/plasteel/grimy, /area/station/maintenance/abandonedbar) "lYz" = ( @@ -73811,13 +73910,13 @@ /obj/item/clipboard{ pixel_y = 3 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 3 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 9 }, /obj/machinery/door/poddoor/preopen{ @@ -74209,10 +74308,18 @@ }, /area/station/public/toilet) "mqF" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "mqG" = ( /obj/structure/cable{ icon_state = "0-8" @@ -75986,6 +76093,15 @@ }, /turf/simulated/floor/wood/parquet/tile, /area/station/service/library) +"mWg" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen"; + dir = 1 + }, +/area/station/procedure/trainer_office) "mWM" = ( /obj/structure/cable{ icon_state = "1-2" @@ -76004,16 +76120,20 @@ /turf/simulated/floor/plating, /area/station/maintenance/apmaint) "mXk" = ( -/obj/effect/spawner/window/reinforced/grilled, -/obj/structure/disposalpipe/segment{ +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 4 }, -/obj/machinery/door/poddoor/shutters/preopen{ - id_tag = "Bar"; - name = "Bar Privacy Shutters" +/obj/structure/disposalpipe/segment, +/turf/simulated/floor/plasteel{ + icon_state = "neutralfull" }, -/turf/simulated/floor/plating, -/area/station/service/bar) +/area/station/hallway/primary/fore) "mXo" = ( /obj/structure/chair/sofa/bench/right{ cover_color = "#68452a"; @@ -77425,6 +77545,7 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -77712,6 +77833,9 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, /turf/simulated/floor/plating, /area/station/maintenance/fore) "nxy" = ( @@ -78248,8 +78372,11 @@ /obj/structure/cable{ icon_state = "0-4" }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "nEn" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -78906,6 +79033,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "neutralcorner" @@ -80468,19 +80598,6 @@ "oij" = ( /turf/simulated/floor/plating, /area/station/maintenance/fore2) -"oir" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, -/obj/structure/disposalpipe/segment/corner{ - dir = 2 - }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" - }, -/area/station/hallway/primary/fore) "oiz" = ( /obj/machinery/shower{ dir = 4; @@ -81520,9 +81637,6 @@ /turf/simulated/floor/plasteel, /area/station/hallway/secondary/entry) "oBi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 10 }, @@ -82560,9 +82674,6 @@ }, /area/station/science/lobby) "oTh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -82853,8 +82964,10 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "oYg" = ( /obj/structure/chair/light{ dir = 1 @@ -83526,18 +83639,6 @@ icon_state = "brown" }, /area/station/supply/miningdock) -"pic" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/simulated/floor/plating, -/area/station/maintenance/fore) "pid" = ( /obj/structure/table/wood, /obj/item/storage/fancy/crayons, @@ -86377,11 +86478,8 @@ /area/station/maintenance/starboard) "qbx" = ( /obj/structure/table, -/obj/random/tool, -/obj/random/tool{ - pixel_x = 3; - pixel_y = 5 - }, +/obj/effect/spawner/random/engineering/tools, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plating, /area/station/maintenance/virology_maint) "qbB" = ( @@ -87062,6 +87160,21 @@ icon_state = "neutral" }, /area/station/public/locker) +"qnj" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "qno" = ( /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, @@ -87609,6 +87722,9 @@ }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment/corner{ + dir = 1 + }, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -88879,6 +88995,15 @@ /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, /turf/simulated/floor/carpet, /area/station/service/library) +"qQa" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen"; + dir = 1 + }, +/area/station/procedure/trainer_office) "qQx" = ( /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ dir = 10 @@ -89082,6 +89207,15 @@ /obj/effect/turf_decal/delivery, /turf/simulated/floor/plasteel/dark, /area/station/maintenance/apmaint) +"qSe" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "darkgreencorners" + }, +/area/station/procedure/trainer_office) "qSh" = ( /obj/machinery/door/airlock/external{ hackProof = 1; @@ -91425,12 +91559,13 @@ /turf/simulated/floor/plasteel, /area/station/medical/virology/test_room) "rCA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/turf_decal/delivery/partial{ dir = 8 }, +/obj/structure/disposalpipe/sortjunction/reversed{ + dir = 4; + sort_type_txt = "19" + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "neutralcorner" @@ -92106,6 +92241,10 @@ icon_state = "dark_small" }, /area/station/security/execution) +"rQn" = ( +/obj/machinery/status_display/directional/east, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "rQp" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -93120,11 +93259,9 @@ /area/station/medical/virology) "sgA" = ( /obj/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, /obj/effect/turf_decal/delivery, /obj/machinery/light_switch/north, +/obj/structure/disposalpipe/trunk, /turf/simulated/floor/plasteel{ dir = 9; icon_state = "green" @@ -96277,7 +96414,7 @@ /area/station/service/library) "teK" = ( /obj/structure/rack, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, /area/station/maintenance/fore) @@ -96792,6 +96929,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, +/obj/structure/sign/nanotrasen{ + pixel_y = -32 + }, /turf/simulated/floor/plasteel{ icon_state = "arrival" }, @@ -98761,14 +98901,17 @@ }, /area/station/maintenance/starboard2) "tUZ" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 5 +/obj/structure/cable{ + icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, -/turf/simulated/floor/wood/oak, -/area/station/public/vacant_office) +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "tVj" = ( /obj/effect/spawner/window/reinforced/grilled, /obj/structure/cable{ @@ -98869,8 +99012,9 @@ }, /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/autoname, +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, /turf/simulated/floor/plating, -/area/station/public/vacant_office) +/area/station/procedure/trainer_office) "tWL" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -99047,12 +99191,14 @@ /turf/simulated/floor/plating, /area/station/maintenance/starboard) "tYC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ - dir = 1; - icon_state = "neutralcorner" + icon_state = "neutralfull" }, /area/station/hallway/primary/fore) "tYD" = ( @@ -102164,6 +102310,7 @@ /obj/effect/landmark/lightsout, /obj/machinery/hologram/holopad, /obj/effect/turf_decal/delivery/hollow, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -102382,6 +102529,9 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment/corner{ + dir = 4 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -103770,7 +103920,7 @@ "vCV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, -/obj/random/tool, +/obj/effect/spawner/random/engineering/tools, /turf/simulated/floor/plating, /area/station/maintenance/fore) "vCZ" = ( @@ -103912,16 +104062,11 @@ /obj/structure/table/wood, /obj/item/stack/package_wrap, /obj/item/hand_labeler, -/obj/machinery/newscaster/directional/north, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) -"vEV" = ( -/obj/structure/chair/office/light, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/simulated/floor/plasteel/grimy, -/area/station/public/vacant_office) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "vFu" = ( /obj/machinery/atmospherics/unary/portables_connector{ dir = 8 @@ -104136,6 +104281,9 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/simulated/floor/plating, /area/station/maintenance/fore) "vJi" = ( @@ -105111,7 +105259,6 @@ /turf/simulated/floor/engine/co2, /area/station/engineering/atmos) "vYE" = ( -/obj/structure/disposalpipe/junction/reversed, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ dir = 8 }, @@ -105124,6 +105271,10 @@ /obj/structure/cable{ icon_state = "2-4" }, +/obj/structure/disposalpipe/sortjunction/reversed{ + dir = 2; + sort_type_txt = "21" + }, /turf/simulated/floor/plating, /area/station/maintenance/fore) "vYI" = ( @@ -108452,6 +108603,7 @@ }, /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/any/service/bar, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plating, /area/station/maintenance/fore) "xaQ" = ( @@ -110091,11 +110243,11 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -110451,6 +110603,7 @@ /obj/structure/cable{ icon_state = "1-8" }, +/obj/structure/disposalpipe/segment, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -143976,9 +144129,9 @@ aaa adb ant anP -aoo +dqB imf -apM +kWy aqJ arB aoo @@ -144231,12 +144384,12 @@ aaa abj aaa adb -ant -nCK -aoo +ann +anP +qnj aoV +mWg apM -oYb arC aoo uCt @@ -144490,9 +144643,9 @@ aaa acC ant anP -aoo +kWK vET -apM +qQa oYb aqY aoo @@ -144749,8 +144902,8 @@ ant rBP aoo aoX -apM -vEV +qQa +gTa arx aoo aVK @@ -145006,7 +145159,7 @@ ant anP aoo aoY -ast +qSe aqN nEe aoo @@ -145262,7 +145415,7 @@ acC ant dWx ahy -mqF +hbo mqF tUZ arE @@ -146035,7 +146188,7 @@ nCK aoo apc apT -ast +rQn aqQ aoo azb @@ -147338,7 +147491,7 @@ nxx xaO iIC xIG -aQb +aTj aFA bsq adS @@ -148362,14 +148515,14 @@ aAE aIQ aES aYP -pic +mzd hvS qCk aHR aJb raD aZZ -aNj +aQb aQb dMp mit @@ -148626,7 +148779,7 @@ aFA aFA aFA aFA -mXk +aOH aOH aFA aFA @@ -148883,7 +149036,7 @@ bhO bhO aKt qul -tYC +bhO aWq bhO qWV @@ -149134,17 +149287,17 @@ vMg vMg uFI guk -vMg +tYC uXv -qvT -qvT -qvT +ima +ima +ima nsL -oir -bdO +ima +mXk ima xCn -aTj +qvT beb bOD ima diff --git a/_maps/map_files220/stations/metastation.dmm b/_maps/map_files220/stations/metastation.dmm index 39851a8b89fd..202f84fb9fd3 100644 --- a/_maps/map_files220/stations/metastation.dmm +++ b/_maps/map_files220/stations/metastation.dmm @@ -532,12 +532,20 @@ /turf/simulated/floor/plating, /area/station/maintenance/fore) "agh" = ( -/obj/structure/table, -/obj/item/multitool, +/obj/machinery/light{ + dir = 8 + }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/turf/simulated/floor/plating, -/area/station/maintenance/fsmaint) +/obj/machinery/requests_console/directional/west, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/mob/living/simple_animal/lizard{ + name = "Wags-His-Tail"; + real_name = "Wags-His-Tail" + }, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "agi" = ( /turf/simulated/floor/catwalk, /area/station/maintenance/fore) @@ -1679,12 +1687,12 @@ /area/station/maintenance/port) "anI" = ( /obj/structure/rack, -/obj/item/clothing/accessory/red{ +/obj/item/clothing/neck/tie/red{ pixel_x = -5; pixel_y = 3 }, -/obj/item/clothing/accessory/horrible, -/obj/item/clothing/accessory/blue{ +/obj/item/clothing/neck/tie/horrible, +/obj/item/clothing/neck/tie/blue{ pixel_x = 5; pixel_y = -2 }, @@ -2465,7 +2473,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -3165,7 +3173,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -3456,12 +3464,6 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/fore) -"awv" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/cyan, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" - }, -/area/station/maintenance/fsmaint) "aww" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -5524,15 +5526,6 @@ icon_state = "barber" }, /area/station/public/dorms) -"aFM" = ( -/obj/effect/spawner/random/barrier/grille_often, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" - }, -/area/station/maintenance/fsmaint) "aFO" = ( /obj/effect/spawner/random/fungus/frequent, /turf/simulated/wall, @@ -10083,7 +10076,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /turf/simulated/floor/plasteel, /area/station/public/fitness) @@ -10094,11 +10087,10 @@ /area/station/command/office/hos) "aWf" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/simulated/floor/plating, -/area/station/maintenance/fsmaint) +/obj/structure/closet/jcloset, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "aWi" = ( /obj/structure/extinguisher_cabinet/directional/east, /obj/item/kirbyplants/plant11, @@ -12213,18 +12205,17 @@ /area/station/service/chapel) "bdr" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/structure/cable/yellow{ - icon_state = "2-4" +/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ + dir = 5; + level = 2 }, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/station/maintenance/fsmaint) "bds" = ( @@ -13746,20 +13737,36 @@ /turf/simulated/wall, /area/station/service/janitor) "bhr" = ( +/obj/machinery/door/airlock/command/glass{ + id_tag = "nct" + }, +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock, /obj/effect/mapping_helpers/airlock/autoname, -/obj/effect/mapping_helpers/airlock/access/any/service/janitor, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/effect/mapping_helpers/airlock/polarized{ + id = "NCT" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/procedure/trainer_office) "bht" = ( /turf/simulated/wall, /area/station/maintenance/maintcentral) "bhu" = ( -/obj/machinery/door/airlock, +/obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/autoname, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -13867,17 +13874,19 @@ }, /area/station/engineering/tech_storage) "bhK" = ( -/obj/structure/disposalpipe/segment/corner{ - dir = 2 +/obj/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/obj/structure/closet/jcloset, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch/east{ - pixel_y = -6 +/obj/machinery/camera{ + c_tag = "Career Trainer's Office" }, -/obj/machinery/firealarm/directional/north, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/machinery/light_switch/north, +/turf/simulated/floor/plasteel{ + dir = 5; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bhL" = ( /obj/machinery/hologram/holopad, /obj/structure/cable/yellow{ @@ -14311,30 +14320,30 @@ }, /area/station/hallway/primary/central) "biY" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/structure/reagent_dispensers/spacecleanertank/north, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/machinery/economy/vending/traindrobe, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "biZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/disposalpipe/segment/corner{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "bja" = ( -/obj/structure/closet/l3closet/janitor, -/obj/machinery/alarm/directional/north, +/obj/item/kirbyplants, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "bjb" = ( /obj/structure/table/wood, /obj/item/folder/blue, @@ -14899,54 +14908,46 @@ }, /area/station/hallway/primary/central) "bkL" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ +/obj/structure/chair/comfy/black, +/obj/effect/landmark/start/nanotrasen_career_trainer, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 5 }, -/obj/effect/landmark/start/janitor, -/turf/simulated/floor/plating, -/area/station/service/janitor) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/hologram/holopad, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "bkM" = ( /obj/structure/cable/yellow{ - icon_state = "2-4" + icon_state = "1-2" }, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "bkN" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 8 }, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) -"bkO" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkgreen" }, +/area/station/procedure/trainer_office) +"bkO" = ( +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer, /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/autoname, -/obj/effect/mapping_helpers/airlock/access/any/service/janitor, -/turf/simulated/floor/plating, -/area/station/maintenance/maintcentral) -"bkP" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /turf/simulated/floor/plating, -/area/station/maintenance/maintcentral) +/area/station/procedure/trainer_office) "bkQ" = ( /obj/item/flashlight{ pixel_x = 1; pixel_y = 5 }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -15063,27 +15064,18 @@ /turf/simulated/floor/plasteel, /area/station/hallway/primary/central) "bll" = ( -/obj/structure/closet/emcloset, -/obj/structure/sign/double/map/left{ - desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; - icon_state = "map-left-MS"; - pixel_y = 32 - }, -/turf/simulated/floor/plasteel{ - icon_state = "darkneutralfull" - }, -/area/station/hallway/primary/starboard) +/obj/structure/sign/custodian, +/turf/simulated/wall, +/area/station/service/janitor) "blm" = ( -/obj/structure/sign/double/map/right{ - desc = "A framed picture of the station. Clockwise from security in red at the top, you see engineering in yellow, science in purple, escape in checkered red-and-white, medbay in green, arrivals in checkered red-and-blue, and then cargo in brown."; - icon_state = "map-right-MS"; - pixel_y = 32 - }, -/obj/structure/closet/firecloset, -/turf/simulated/floor/plasteel{ - icon_state = "darkneutralfull" - }, -/area/station/hallway/primary/starboard) +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/effect/mapping_helpers/airlock/access/all/service/janitor, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/door/airlock, +/obj/effect/mapping_helpers/airlock/autoname, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "bln" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/autoname, @@ -15553,26 +15545,46 @@ /turf/simulated/floor/plating, /area/station/public/storage/emergency) "bmC" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/structure/table/wood, +/obj/machinery/door/window/reinforced/normal{ + name = "NCT"; + dir = 1 }, -/obj/machinery/atmospherics/unary/vent_pump/on{ +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer{ dir = 1 }, -/mob/living/simple_animal/lizard{ - name = "Wags-His-Tail"; - real_name = "Wags-His-Tail" +/turf/simulated/floor/plasteel{ + icon_state = "dark" }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/area/station/procedure/trainer_office) "bmD" = ( +/obj/item/flashlight/lamp/green{ + pixel_y = 15 + }, /obj/structure/cable/yellow{ - icon_state = "1-8" + icon_state = "1-2" }, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/machinery/door_control{ + id = "nct"; + name = "Office Door"; + normaldoorcontrol = 1; + req_access = list(80); + pixel_x = -6 + }, +/obj/structure/table/wood, +/obj/machinery/button/windowtint{ + id = "NCT"; + dir = 8; + pixel_x = 6 + }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/procedure/trainer_office) "bmE" = ( /obj/machinery/newscaster/directional/east, /obj/structure/disposalpipe/segment/corner{ @@ -15598,7 +15610,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -15623,30 +15635,41 @@ }, /area/station/security/checkpoint/secondary) "bmQ" = ( -/obj/structure/table, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -5 }, -/obj/item/key/janitor, -/obj/item/reagent_containers/spray/cleaner, -/obj/machinery/power/apc/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/box/lights/mixed, -/obj/item/storage/box/lights/mixed, -/obj/item/grenade/chem_grenade/cleaner, -/obj/item/grenade/chem_grenade/cleaner, -/obj/item/grenade/chem_grenade/cleaner, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/item/pen{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bmR" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/item/radio/intercom{ + name = "east bump"; + pixel_x = 28 }, -/turf/simulated/floor/plasteel{ - icon_state = "neutralfull" +/obj/structure/sink{ + dir = 4; + pixel_x = 12 }, -/area/station/maintenance/fsmaint) +/obj/structure/janitorialcart, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "bmT" = ( /obj/machinery/porta_turret/ai_turret, /turf/simulated/floor/plasteel{ @@ -15765,15 +15788,6 @@ icon_state = "cautioncorner" }, /area/station/hallway/primary/starboard) -"bnj" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/simulated/floor/plasteel{ - dir = 4; - icon_state = "cautioncorner" - }, -/area/station/hallway/primary/starboard) "bnk" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel{ @@ -16151,15 +16165,25 @@ /turf/simulated/floor/plasteel, /area/station/supply/lobby) "bou" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/economy/vending/janidrobe, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/machinery/requests_console/directional/south, +/obj/machinery/photocopier/faxmachine/longrange{ + department = "Nanotrasen Career Trainer's Office" + }, +/obj/structure/table/wood, +/turf/simulated/floor/plasteel{ + dir = 10; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bov" = ( -/obj/structure/janitorialcart, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/structure/chair/comfy/brown{ + dir = 1 + }, +/obj/effect/landmark/start/nanotrasen_career_trainer, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bow" = ( /obj/effect/turf_decal/delivery/hollow, /obj/machinery/atmospherics/portable/canister/nitrogen, @@ -16169,13 +16193,16 @@ /turf/simulated/floor/plasteel, /area/station/engineering/atmos/control) "box" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 +/obj/machinery/power/apc/directional/east, +/obj/machinery/alarm/directional/south, +/obj/structure/cable/yellow{ + icon_state = "0-8" }, -/obj/machinery/disposal, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/turf/simulated/floor/plasteel{ + dir = 6; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "boy" = ( /obj/item/storage/box/lights/mixed, /turf/simulated/floor/plating, @@ -16279,22 +16306,13 @@ /turf/simulated/floor/carpet, /area/station/command/office/captain/bedroom) "boN" = ( -/obj/item/restraints/legcuffs/beartrap, -/obj/item/restraints/legcuffs/beartrap, -/obj/machinery/requests_console/directional/west, -/obj/machinery/camera{ - c_tag = "Custodial Closet"; - dir = 4 +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 }, -/obj/item/mop, -/obj/item/reagent_containers/glass/bucket, -/obj/structure/rack, -/obj/item/clothing/gloves/color/orange, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/box/mousetraps, -/obj/item/storage/box/mousetraps, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/structure/closet, +/turf/simulated/floor/carpet/black, +/area/station/procedure/trainer_office) "boO" = ( /obj/structure/cable/yellow{ icon_state = "1-4" @@ -16331,42 +16349,6 @@ }, /turf/simulated/floor/plasteel, /area/station/hallway/primary/starboard) -"boS" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/starboard) -"boV" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/simulated/floor/plasteel, -/area/station/hallway/primary/starboard) "boX" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -16702,13 +16684,18 @@ }, /area/station/supply/office) "bpQ" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/janitor, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/east, -/obj/structure/sink/directional/west, -/turf/simulated/floor/plasteel, -/area/station/service/janitor) +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer{ + dir = 1 + }, +/obj/machinery/door/window/reinforced/normal{ + name = "NCT"; + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bpS" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -17576,10 +17563,13 @@ }, /area/station/engineering/ai_transit_tube) "bsE" = ( -/obj/machinery/light/small/directional/south, -/obj/vehicle/janicart, -/turf/simulated/floor/plating, -/area/station/service/janitor) +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/turf/simulated/floor/plasteel{ + icon_state = "darkgreen" + }, +/area/station/procedure/trainer_office) "bsG" = ( /obj/machinery/hologram/holopad, /obj/machinery/light/small/directional/north, @@ -19529,7 +19519,7 @@ /obj/structure/safe/floor{ known_by = list("captain") }, -/obj/item/gun/projectile/revolver/russian, +/obj/item/toy/russian_revolver, /obj/item/reagent_containers/drinks/bottle/absinthe/premium, /obj/item/lighter/zippo/nt_rep, /obj/item/storage/fancy/cigarettes/cigpack_robustgold, @@ -24053,7 +24043,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/light/small/directional/south, +/obj/machinery/light/small, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -27737,11 +27727,11 @@ }, /area/station/command/bridge) "cca" = ( -/obj/item/clothing/accessory/stethoscope, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope, +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 3 }, /obj/item/flashlight/pen{ @@ -28371,7 +28361,7 @@ sort_type_txt = "7" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -30982,6 +30972,12 @@ /area/station/medical/reception) "cop" = ( /obj/structure/closet/secure_closet/paramedic, +/obj/machinery/light_switch/west, +/obj/machinery/button/windowtint/west{ + id = "paramedic"; + pixel_y = 8; + range = 10 + }, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" }, @@ -36733,7 +36729,7 @@ /turf/simulated/floor/plating, /area/station/maintenance/port) "cKC" = ( -/obj/random/hampter, +/obj/effect/spawner/random/toy/hampter, /turf/simulated/floor/mech_bay_recharge_floor, /area/station/maintenance/apmaint) "cKD" = ( @@ -39637,7 +39633,7 @@ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -41822,7 +41818,7 @@ /obj/structure/chair{ dir = 8 }, -/obj/random/hampter, +/obj/effect/spawner/random/toy/hampter, /turf/simulated/floor/plating, /area/station/maintenance/fpmaint) "dAO" = ( @@ -42260,16 +42256,6 @@ /obj/effect/spawner/wire_splicing/thirty, /turf/simulated/floor/plating, /area/station/maintenance/fpmaint) -"dPf" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/spawner/wire_splicing/thirty, -/turf/simulated/floor/plating, -/area/station/maintenance/fsmaint) "dPW" = ( /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, @@ -42412,6 +42398,14 @@ /obj/machinery/atmospherics/pipe/simple/hidden, /turf/simulated/floor/plating, /area/station/maintenance/aft2) +"dTr" = ( +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/janitor, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "dTt" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -42836,7 +42830,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -43189,6 +43183,20 @@ }, /turf/space, /area/station/engineering/solar/fore) +"eos" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/l3closet/janitor, +/obj/structure/reagent_dispensers/spacecleanertank{ + pixel_y = 30 + }, +/obj/machinery/light_switch{ + dir = 8; + name = "east bump"; + pixel_x = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "eow" = ( /obj/machinery/atmospherics/pipe/manifold/visible, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, @@ -44417,8 +44425,8 @@ "eTh" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/autoname, -/obj/effect/mapping_helpers/airlock/unres, /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres, /turf/simulated/floor/plating, /area/station/maintenance/fsmaint) "eTo" = ( @@ -44551,6 +44559,17 @@ icon_state = "whiteblue" }, /area/station/medical/reception) +"eVv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/nanotrasen{ + pixel_y = -32 + }, +/turf/simulated/floor/plasteel{ + icon_state = "neutralcorner" + }, +/area/station/hallway/primary/central) "eVz" = ( /obj/structure/table, /obj/item/storage/fancy/rollingpapers, @@ -44962,6 +44981,11 @@ icon_state = "dark" }, /area/station/engineering/atmos) +"fhz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/vehicle/janicart, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "fhC" = ( /obj/item/kirbyplants/plant22, /turf/simulated/floor/plasteel{ @@ -45274,7 +45298,7 @@ }, /area/station/engineering/tech_storage) "fpi" = ( -/obj/random/hampter, +/obj/effect/spawner/random/toy/hampter, /turf/simulated/floor/plating, /area/station/maintenance/asmaint) "fpk" = ( @@ -45529,7 +45553,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/any/security/general, /turf/simulated/floor/plasteel{ @@ -47486,6 +47510,12 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, /area/station/security/prison/cell_block/a) +"grU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "gsM" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -47657,18 +47687,6 @@ icon_state = "purple" }, /area/station/science/xenobiology) -"gAM" = ( -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/simulated/floor/plasteel, -/area/station/security/permabrig) "gBa" = ( /obj/machinery/atmospherics/pipe/manifold/hidden{ dir = 8 @@ -48810,6 +48828,12 @@ }, /turf/simulated/floor/plasteel, /area/station/engineering/atmos) +"hcb" = ( +/obj/machinery/alarm/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/economy/vending/janidrobe, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "hci" = ( /obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers, @@ -49104,7 +49128,7 @@ "hjn" = ( /obj/structure/table/glass, /obj/item/folder/blue, -/obj/item/clothing/accessory/stethoscope, +/obj/item/clothing/neck/stethoscope, /obj/item/clothing/glasses/hud/health, /turf/simulated/floor/plasteel{ dir = 1; @@ -50267,6 +50291,18 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/fore) +"hIW" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/simulated/floor/plating, +/area/station/maintenance/fsmaint) "hIZ" = ( /obj/docking_port/stationary{ dir = 8; @@ -50655,16 +50691,13 @@ /turf/simulated/floor/plating, /area/station/maintenance/aft2) "hSX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/hidden/cyan{ - dir = 6 - }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, /obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel{ icon_state = "neutralfull" }, @@ -57772,7 +57805,7 @@ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 10 @@ -57853,16 +57886,6 @@ /obj/structure/lattice/catwalk, /turf/space, /area/space/nearstation) -"lwL" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/bar, -/turf/simulated/floor/plasteel{ - dir = 8; - icon_state = "neutralcorner" - }, -/area/station/hallway/primary/starboard) "lwN" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/yellow{ @@ -57870,6 +57893,15 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/fpmaint) +"lxc" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/mapping_helpers/airlock/access/all/service/janitor, +/obj/effect/mapping_helpers/airlock/autoname, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/simulated/floor/plating, +/area/station/service/janitor) "lxz" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/cable/yellow{ @@ -59645,6 +59677,9 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, /turf/simulated/floor/plasteel, /area/station/hallway/primary/central) "mmB" = ( @@ -60019,6 +60054,10 @@ icon_state = "solarpanel" }, /area/station/engineering/solar/fore) +"mzQ" = ( +/obj/effect/mapping_helpers/turfs/rust/probably, +/turf/simulated/wall, +/area/station/service/janitor) "mAa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -60424,7 +60463,7 @@ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 @@ -60923,6 +60962,15 @@ /obj/effect/mapping_helpers/airlock/access/any/science/research, /turf/simulated/floor/plating, /area/station/maintenance/aft2) +"mVV" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "mVW" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -61478,18 +61526,6 @@ /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, /area/station/engineering/atmos) -"ngm" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/autoname, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance, -/turf/simulated/floor/plating, -/area/station/maintenance/fsmaint) "ngG" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/cable/yellow{ @@ -62811,7 +62847,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -63523,7 +63559,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /turf/simulated/floor/plasteel, /area/station/security/brig) @@ -65446,6 +65482,15 @@ }, /turf/simulated/floor/plasteel, /area/station/security/permabrig) +"pox" = ( +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "NCT" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/simulated/floor/plating, +/area/station/procedure/trainer_office) "pps" = ( /obj/structure/rack, /obj/item/crowbar/red, @@ -66253,7 +66298,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /obj/effect/mapping_helpers/airlock/access/any/security/general, /turf/simulated/floor/plasteel{ @@ -68148,6 +68193,9 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical/glass, /obj/effect/mapping_helpers/airlock/autoname, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "paramedic" + }, /obj/effect/mapping_helpers/airlock/access/any/medical/paramedic, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" @@ -69039,6 +69087,9 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, +/obj/effect/mapping_helpers/airlock/polarized{ + id = "paramedic" + }, /obj/effect/mapping_helpers/airlock/access/any/medical/paramedic, /turf/simulated/floor/plasteel{ icon_state = "whitebluefull" @@ -69076,9 +69127,6 @@ }, /area/station/security/brig) "rhw" = ( -/obj/structure/mirror{ - pixel_y = -34 - }, /obj/effect/decal/cleanable/dirt, /obj/structure/sink/directional/north, /turf/simulated/floor/wood, @@ -70433,7 +70481,7 @@ /obj/machinery/light_switch/west{ pixel_y = -6 }, -/obj/item/clothing/accessory/stethoscope{ +/obj/item/clothing/neck/stethoscope{ pixel_y = 6 }, /turf/simulated/floor/plasteel{ @@ -70901,7 +70949,7 @@ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /turf/simulated/floor/plasteel{ icon_state = "dark" @@ -71117,11 +71165,19 @@ /area/station/security/main) "sln" = ( /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/unary/vent_pump/on{ +/obj/structure/rack{ dir = 1 }, -/turf/simulated/floor/plating, -/area/station/maintenance/fsmaint) +/obj/item/storage/box/mousetraps, +/obj/item/storage/box/mousetraps, +/obj/item/clothing/gloves/color/orange, +/obj/item/reagent_containers/glass/bucket, +/obj/item/restraints/legcuffs/beartrap, +/obj/item/restraints/legcuffs/beartrap, +/obj/item/mop, +/obj/machinery/firealarm/directional/north, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "sls" = ( /obj/structure/window/reinforced{ dir = 4 @@ -71740,17 +71796,13 @@ /turf/simulated/floor/plating, /area/station/security/warden) "sDT" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 +/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers, +/obj/structure/cable/yellow{ + icon_state = "4-8" }, /turf/simulated/floor/plasteel, /area/station/hallway/primary/starboard) @@ -72474,6 +72526,16 @@ /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, /area/station/maintenance/engimaint) +"sUN" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/machinery/hologram/holopad, +/turf/simulated/floor/plating, +/area/station/service/janitor) "sVu" = ( /obj/effect/spawner/random/maintenance, /turf/simulated/floor/plating, @@ -73849,6 +73911,9 @@ /obj/structure/disposalpipe/segment/corner{ dir = 2 }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/simulated/floor/plasteel{ icon_state = "neutralcorner" }, @@ -74426,18 +74491,6 @@ icon_state = "vault" }, /area/station/security/armory/secure) -"tYH" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/hidden/supply{ - dir = 4 - }, -/turf/simulated/floor/plasteel, -/area/station/security/permabrig) "tYV" = ( /obj/structure/rack, /obj/item/reagent_containers/drinks/bottle/rum{ @@ -74697,13 +74750,20 @@ /turf/simulated/floor/plasteel, /area/station/security/brig) "ufr" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/fyellow, -/obj/effect/spawner/random/maintenance, +/obj/machinery/camera{ + c_tag = "Custodial Closet"; + dir = 4 + }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/west, -/turf/simulated/floor/plating, -/area/station/maintenance/fsmaint) +/obj/effect/landmark/start/janitor, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "ufw" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -74731,7 +74791,7 @@ sort_type_txt = "8" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -77299,6 +77359,7 @@ /turf/simulated/floor/plasteel, /area/station/engineering/atmos/control) "vug" = ( +/obj/machinery/autolathe, /turf/simulated/floor/plasteel{ icon_state = "yellow" }, @@ -77947,6 +78008,9 @@ /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plating, /area/station/maintenance/starboard2) +"vRi" = ( +/turf/simulated/wall, +/area/station/procedure/trainer_office) "vRv" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/machinery/atmospherics/pipe/manifold/hidden/supply{ @@ -78739,6 +78803,20 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/plasteel, /area/station/supply/lobby) +"wpE" = ( +/obj/structure/table, +/obj/item/key/janitor, +/obj/item/reagent_containers/spray/cleaner, +/obj/machinery/power/apc/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/lights/mixed, +/obj/item/storage/box/lights/mixed, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/item/grenade/chem_grenade/cleaner, +/obj/structure/cable/yellow, +/turf/simulated/floor/plasteel, +/area/station/service/janitor) "wpL" = ( /obj/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -78840,7 +78918,7 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ - dir = 8 + dir = 4 }, /obj/structure/disposalpipe/sortjunction/reversed{ dir = 2; @@ -79182,6 +79260,9 @@ c_tag = "Bar - Backroom"; dir = 1 }, +/obj/structure/mirror{ + pixel_y = -34 + }, /turf/simulated/floor/wood, /area/station/service/bar) "wBl" = ( @@ -80776,7 +80857,9 @@ /turf/simulated/floor/plating, /area/station/maintenance/fpmaint) "xvh" = ( -/obj/effect/spawner/window/reinforced/grilled, +/obj/effect/spawner/window/reinforced/polarized/grilled{ + id = "paramedic" + }, /turf/simulated/floor/plating, /area/station/medical/paramedic) "xvi" = ( @@ -80969,6 +81052,11 @@ /obj/structure/lattice, /turf/space, /area/space/nearstation) +"xzM" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/unary/vent_pump/on, +/turf/simulated/floor/plating, +/area/station/maintenance/fsmaint) "xAl" = ( /obj/structure/rack, /obj/item/storage/briefcase/inflatable{ @@ -105536,12 +105624,12 @@ mXE lSa aFE bek -bfK -bhq -bhq -bhq -bhq -bhq +eVv +vRi +vRi +vRi +vRi +vRi bqc bqc ezM @@ -105794,7 +105882,7 @@ lIM bMC bek bfK -bhq +pox biY boN bmQ @@ -106308,7 +106396,7 @@ gYO bQF ben bqb -bhq +mVV bja bkM bmD @@ -106565,7 +106653,7 @@ bbg bNp bek bjA -bhq +vRi bhK bkN bpQ @@ -106822,11 +106910,11 @@ bbh bcM bel bfO -bhq -bhq +vRi +vRi bkO -bhq -bhq +vRi +vRi bht brS bqc @@ -107081,7 +107169,7 @@ qWN acw bht bjc -bkP +bmF bmF boy btP @@ -108064,9 +108152,9 @@ adi oLF xKQ adi -gAM +nju pXf -tYH +hgp oEm amx pPJ @@ -115821,8 +115909,8 @@ bhB bjq bkk bnr -boS -lwL +hfi +bqA bsp bun hvW @@ -116842,12 +116930,12 @@ fWg aYK eTh alb -dPf -aIo -aLl -aLl -aLl -bez +eTo +bhq +bhq +bhq +bhq +bhq bni eFD wwo @@ -117099,11 +117187,11 @@ aTo uPu aLl dAH -eTo -sOy +hIW +lxc agh ufr -aLl +wpE bll bnr boY @@ -117355,14 +117443,14 @@ aVV fWg aYK aLl -avA +sOy hSX -awv +bhq sln -avA -aLl +sUN +grU blm -bnr +vEp sDT rEV bHA @@ -117613,12 +117701,12 @@ aTp aXm aLl mdS -fvU -dAH -avA -alb -aLl -aLl +eTo +bhq +hcb +dTr +fhz +bhq bnr bcP bqA @@ -117869,15 +117957,15 @@ aTo aTp auO aLl -dAH +xzM bdr -aFM -aWf +bhq +eos aWf bmR -ngm -bnj -boV +bhq +bnr +boY bqA bsp bxH @@ -118128,11 +118216,11 @@ bbv aLl wVi bPb -aIo -aLl -edZ -gbM -aLl +bhq +bhq +bhq +mzQ +bhq bnk gcq lhu diff --git a/code/__DEFINES/access_defines.dm b/code/__DEFINES/access_defines.dm index b946f7a75ba7..30a4f5c4dc8a 100644 --- a/code/__DEFINES/access_defines.dm +++ b/code/__DEFINES/access_defines.dm @@ -65,6 +65,7 @@ #define ACCESS_MINERAL_STOREROOM 76 #define ACCESS_CARGO_BAY 78 #define ACCESS_SUPPLY_SHUTTLE 79 +#define ACCESS_TRAINER 80 #define ACCESS_WEAPONS 99 //! Weapon authorization for secbots. diff --git a/code/__DEFINES/antag_defines.dm b/code/__DEFINES/antag_defines.dm index 3123da30e09b..d6214ac272cf 100644 --- a/code/__DEFINES/antag_defines.dm +++ b/code/__DEFINES/antag_defines.dm @@ -103,8 +103,8 @@ GLOBAL_LIST(contractors) #define ORG_PROB_HUNTER 10 #define ORG_PROB_MILD 20 -#define ORG_PROB_AVERAGE 60 -#define ORG_PROB_HIJACK 2 // SS220 EDIT - reduced from 10 to 2 +#define ORG_PROB_AVERAGE 65 +#define ORG_PROB_HIJACK 2 // SS220 EDIT - reduced from 5 to 2 // Chance that a traitor will receive a 'You are being targeted by another syndicate agent' notification regardless of being an actual target #define ORG_PROB_PARANOIA 5 diff --git a/code/__DEFINES/atmospherics_defines.dm b/code/__DEFINES/atmospherics_defines.dm index 2df5b9f0a2f0..ae6031aea778 100644 --- a/code/__DEFINES/atmospherics_defines.dm +++ b/code/__DEFINES/atmospherics_defines.dm @@ -169,3 +169,15 @@ #define ENVIRONMENT_TEMPERATE "temperate" /// Cold environment: Normal atmosphere, -93 C. #define ENVIRONMENT_COLD "cold" + +/// How far away should we load the pressure HUD data from MILLA? +#define PRESSURE_HUD_LOAD_RADIUS 15 + +/// How far away should we send the pressure HUD to the player? +#define PRESSURE_HUD_RADIUS 12 + +// Vent pump modes +/// Don't go over the external pressure +#define ONLY_CHECK_EXT_PRESSURE 1 +/// Only release until we reach this pressure +#define ONLY_CHECK_INT_PRESSURE 2 diff --git a/code/__DEFINES/dcs/atom_signals.dm b/code/__DEFINES/dcs/atom_signals.dm index 294e5bd5aac1..42745166c8dc 100644 --- a/code/__DEFINES/dcs/atom_signals.dm +++ b/code/__DEFINES/dcs/atom_signals.dm @@ -134,5 +134,9 @@ #define COMPONENT_NO_MOUSEDROP (1<<0) ///from base of atom/MouseDrop_T: (/atom/from, /mob/user) #define COMSIG_MOUSEDROPPED_ONTO "mousedropped_onto" + +/// Called on the atom being hit, from /datum/component/anti_magic/on_attack() : (obj/item/weapon, mob/user, antimagic_flags) +#define COMSIG_ATOM_HOLY_ATTACK "atom_holyattacked" /// On a ranged attack: base of mob/living/carbon/human/RangedAttack (/mob/living/carbon/human) #define COMSIG_ATOM_RANGED_ATTACKED "atom_range_attacked" + diff --git a/code/__DEFINES/dcs/mob_signals.dm b/code/__DEFINES/dcs/mob_signals.dm index 3d0406f583ea..e9b71bdc58b7 100644 --- a/code/__DEFINES/dcs/mob_signals.dm +++ b/code/__DEFINES/dcs/mob_signals.dm @@ -22,11 +22,14 @@ #define COMSIG_MOB_ALTCLICKON "mob_altclickon" #define COMSIG_MOB_CANCEL_CLICKON (1<<0) +///from base of mob/can_cast_magic(): (mob/user, magic_flags, charge_cost) +#define COMSIG_MOB_RESTRICT_MAGIC "mob_cast_magic" +///from base of mob/can_block_magic(): (mob/user, casted_magic_flags, charge_cost) +#define COMSIG_MOB_RECEIVE_MAGIC "mob_receive_magic" + #define COMPONENT_MAGIC_BLOCKED (1<<0) + ///from base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj #define COMSIG_MOB_ALLOWED "mob_allowed" -///from base of mob/anti_magic_check(): (mob/user, magic, holy, tinfoil, chargecost, self, protection_sources) -#define COMSIG_MOB_RECEIVE_MAGIC "mob_receive_magic" - #define COMPONENT_BLOCK_MAGIC (1<<0) ///from base of mob/create_mob_hud(): () #define COMSIG_MOB_HUD_CREATED "mob_hud_created" ///from base of atom/attack_hand(): (mob/user) diff --git a/code/__DEFINES/hud.dm b/code/__DEFINES/hud.dm index 9cb28648132b..72be5053f1b0 100644 --- a/code/__DEFINES/hud.dm +++ b/code/__DEFINES/hud.dm @@ -27,6 +27,7 @@ #define DIAG_AIRLOCK_HUD "22" // Airlock shock overlay #define GLAND_HUD "23"//Gland indicators for abductors #define JANI_HUD "24" // Sign overlay over cleanable decals +#define PRESSURE_HUD "25" // Pressure coloring for tiles //by default everything in the hud_list of an atom is an image //a value in hud_list with one of these will change that behavior @@ -42,25 +43,26 @@ #define DATA_HUD_DIAGNOSTIC_ADVANCED 6 #define DATA_HUD_HYDROPONIC 7 #define DATA_HUD_JANITOR 8 +#define DATA_HUD_PRESSURE 9 //antag HUD defines -#define ANTAG_HUD_CULT 9 -#define ANTAG_HUD_REV 10 -#define ANTAG_HUD_OPS 11 -#define ANTAG_HUD_WIZ 12 -#define ANTAG_HUD_SHADOW 13 -#define ANTAG_HUD_TRAITOR 14 -#define ANTAG_HUD_NINJA 15 -#define ANTAG_HUD_CHANGELING 16 -#define ANTAG_HUD_VAMPIRE 17 -#define ANTAG_HUD_ABDUCTOR 18 -#define DATA_HUD_ABDUCTOR 19 -#define ANTAG_HUD_EVENTMISC 20 -#define ANTAG_HUD_BLOB 21 -#define ANTAG_HUD_ZOMBIE 22 -#define ANTAG_HUD_MIND_FLAYER 23 +#define ANTAG_HUD_CULT 10 +#define ANTAG_HUD_REV 11 +#define ANTAG_HUD_OPS 12 +#define ANTAG_HUD_WIZ 13 +#define ANTAG_HUD_SHADOW 14 +#define ANTAG_HUD_TRAITOR 15 +#define ANTAG_HUD_NINJA 16 +#define ANTAG_HUD_CHANGELING 17 +#define ANTAG_HUD_VAMPIRE 18 +#define ANTAG_HUD_ABDUCTOR 19 +#define DATA_HUD_ABDUCTOR 20 +#define ANTAG_HUD_EVENTMISC 21 +#define ANTAG_HUD_BLOB 22 +#define ANTAG_HUD_ZOMBIE 23 +#define ANTAG_HUD_MIND_FLAYER 24 // SS220 EDIT - START -#define ANTAG_HUD_BLOOD_BROTHER 24 -#define ANTAG_HUD_VOX_RAIDER 25 +#define ANTAG_HUD_BLOOD_BROTHER 25 +#define ANTAG_HUD_VOX_RAIDER 26 // SS220 EDIT - END // Notification action types diff --git a/code/__DEFINES/job_defines.dm b/code/__DEFINES/job_defines.dm index 54e041e11a35..161dd84541a4 100644 --- a/code/__DEFINES/job_defines.dm +++ b/code/__DEFINES/job_defines.dm @@ -22,6 +22,7 @@ #define JOB_JUDGE (1<<12) #define JOB_BLUESHIELD (1<<13) #define JOB_NANO (1<<14) +#define JOB_INSTRUCTOR (1<<15) #define JOBCAT_MEDSCI (1<<1) diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 60638b439f8a..0dbc154ec0bf 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -84,15 +84,16 @@ /** * Air alarm modes */ -#define AALARM_MODE_SCRUBBING 1 -#define AALARM_MODE_VENTING 2 //makes draught +#define AALARM_MODE_FILTERING 1 +#define AALARM_MODE_DRAUGHT 2 //makes draught #define AALARM_MODE_PANIC 3 //like siphon, but stronger (enables widenet) -#define AALARM_MODE_REPLACEMENT 4 //sucks off all air, then refill and swithes to scrubbing +#define AALARM_MODE_CYCLE 4 //sucks off all air, then refill and swithes to scrubbing #define AALARM_MODE_SIPHON 5 //Scrubbers suck air #define AALARM_MODE_CONTAMINATED 6 //Turns on all filtering and widenet scrubbing. -#define AALARM_MODE_REFILL 7 //just like normal, but with triple the air output +#define AALARM_MODE_REFILL 7 //just like normal, but disables low pressure check until normalized, then switches to normal #define AALARM_MODE_OFF 8 #define AALARM_MODE_FLOOD 9 //Emagged mode; turns off scrubbers and pressure checks on vents +#define AALARM_MODE_CUSTOM 10 #define NUKE_STATUS_INTACT 0 #define NUKE_CORE_MISSING 1 diff --git a/code/__DEFINES/magic_defines.dm b/code/__DEFINES/magic_defines.dm new file mode 100644 index 000000000000..9d0ee8158cdc --- /dev/null +++ b/code/__DEFINES/magic_defines.dm @@ -0,0 +1,16 @@ +// Bitflags for magic resistance types +/// Default magic resistance that blocks normal magic (wizard, spells, magical staff projectiles) +#define MAGIC_RESISTANCE (1<<0) +/// Tinfoil hat magic resistance that blocks mental magic (telepathy / mind links, mind curses, abductors) +#define MAGIC_RESISTANCE_MIND (1<<1) +/// Holy magic resistance that blocks unholy magic (revenant, vampire, voice of god) +#define MAGIC_RESISTANCE_HOLY (1<<2) + +DEFINE_BITFIELD(antimagic_flags, list( + "MAGIC_RESISTANCE" = MAGIC_RESISTANCE, + "MAGIC_RESISTANCE_HOLY" = MAGIC_RESISTANCE_HOLY, + "MAGIC_RESISTANCE_MIND" = MAGIC_RESISTANCE_MIND, +)) + +/// Whether the spell can be cast while the user has antimagic on them that corresponds to the spell's own antimagic flags. +#define SPELL_REQUIRES_NO_ANTIMAGIC (1 << 0) diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm index 8b1a340c4bbf..1328cbef4371 100644 --- a/code/__DEFINES/misc_defines.dm +++ b/code/__DEFINES/misc_defines.dm @@ -191,30 +191,31 @@ #define FOAM_REACT_BEFORE_SPREAD (1<<3) //Human Overlays Indexes///////// -#define EYES_OVERLAY_LAYER 49 -#define MISC_LAYER 48 // Handles eye_shine() -> cybernetic eyes, specific eye traits. -#define WING_LAYER 47 -#define WING_UNDERLIMBS_LAYER 46 -#define MUTANTRACE_LAYER 45 -#define TAIL_UNDERLIMBS_LAYER 44 //Tail split-rendering. -#define LIMBS_LAYER 43 -#define MARKINGS_LAYER 42 -#define INTORGAN_LAYER 41 -#define UNDERWEAR_LAYER 40 -#define MUTATIONS_LAYER 39 -#define H_DAMAGE_LAYER 38 -#define UNIFORM_LAYER 37 -#define ID_LAYER 36 -#define HANDS_LAYER 35 //Exists to overlay hands over jumpsuits -#define SHOES_LAYER 34 -#define L_FOOT_BLOOD_LAYER 33 // Blood overlay separation Left-Foot -#define R_FOOT_BLOOD_LAYER 32 // Blood overlay separation Right-Foot -#define GLOVES_LAYER 31 -#define L_HAND_BLOOD_LAYER 30 // Blood overlay separation Left-Hand -#define R_HAND_BLOOD_LAYER 29 // Blood overlay separation Right-Hand -#define LEFT_EAR_LAYER 28 -#define RIGHT_EAR_LAYER 27 -#define BELT_LAYER 26 //Possible make this an overlay of something required to wear a belt? +#define EYES_OVERLAY_LAYER 50 +#define MISC_LAYER 49 // Handles eye_shine() -> cybernetic eyes, specific eye traits. +#define WING_LAYER 48 +#define WING_UNDERLIMBS_LAYER 47 +#define MUTANTRACE_LAYER 46 +#define TAIL_UNDERLIMBS_LAYER 45 //Tail split-rendering. +#define LIMBS_LAYER 44 +#define MARKINGS_LAYER 43 +#define INTORGAN_LAYER 42 +#define UNDERWEAR_LAYER 41 +#define MUTATIONS_LAYER 40 +#define H_DAMAGE_LAYER 39 +#define UNIFORM_LAYER 38 +#define ID_LAYER 37 +#define HANDS_LAYER 36 //Exists to overlay hands over jumpsuits +#define SHOES_LAYER 35 +#define L_FOOT_BLOOD_LAYER 34 // Blood overlay separation Left-Foot +#define R_FOOT_BLOOD_LAYER 33 // Blood overlay separation Right-Foot +#define GLOVES_LAYER 32 +#define L_HAND_BLOOD_LAYER 31 // Blood overlay separation Left-Hand +#define R_HAND_BLOOD_LAYER 30 // Blood overlay separation Right-Hand +#define LEFT_EAR_LAYER 29 +#define RIGHT_EAR_LAYER 28 +#define BELT_LAYER 27 //Possible make this an overlay of something required to wear a belt? +#define SPECIAL_NECK_LAYER 26 #define SUIT_LAYER 25 #define SPECIAL_BELT_LAYER 24 #define NECK_LAYER 23 @@ -240,7 +241,7 @@ #define HALO_LAYER 3 //blood cult ascended halo, because there's currently no better solution for adding/removing #define FIRE_LAYER 2 //If you're on fire #define FROZEN_LAYER 1 -#define TOTAL_LAYERS 49 +#define TOTAL_LAYERS 50 ///Access Region Codes/// #define REGION_ALL 0 diff --git a/code/__DEFINES/rust.dm b/code/__DEFINES/rust.dm index 0c337d93554b..935f540bafda 100644 --- a/code/__DEFINES/rust.dm +++ b/code/__DEFINES/rust.dm @@ -53,14 +53,15 @@ // This needs to go BELOW the above define, otherwise the BYOND compiler can make the above immediate call disappear #undef RUSTLIBS_SUFFIX +/// Exists by default in 516, but needs to be defined for 515 or byondapi-rs doesn't like it. +/proc/byondapi_stack_trace(err) + CRASH(err) + /proc/milla_init_z(z) return RUSTLIB_CALL(milla_initialize, z) -/proc/is_milla_synchronous(tick) - return RUSTLIB_CALL(milla_is_synchronous, tick) - -/proc/set_tile_atmos(turf/T, airtight_north, airtight_east, airtight_south, airtight_west, atmos_mode, environment_id, oxygen, carbon_dioxide, nitrogen, toxins, sleeping_agent, agent_b, temperature, innate_heat_capacity) - return RUSTLIB_CALL(milla_set_tile, T, airtight_north, airtight_east, airtight_south, airtight_west, atmos_mode, environment_id, oxygen, carbon_dioxide, nitrogen, toxins, sleeping_agent, agent_b, temperature, innate_heat_capacity) +/proc/set_tile_atmos(turf/T, airtight_north, airtight_east, airtight_south, airtight_west, atmos_mode, environment_id, oxygen, carbon_dioxide, nitrogen, toxins, sleeping_agent, agent_b, temperature, innate_heat_capacity, hotspot_temperature, hotspot_volume) + return RUSTLIB_CALL(milla_set_tile, T, airtight_north, airtight_east, airtight_south, airtight_west, atmos_mode, environment_id, oxygen, carbon_dioxide, nitrogen, toxins, sleeping_agent, agent_b, temperature, innate_heat_capacity, hotspot_temperature, hotspot_volume) /proc/get_tile_atmos(turf/T, list/L) return RUSTLIB_CALL(milla_get_tile, T, L) @@ -74,6 +75,9 @@ /proc/get_interesting_atmos_tiles() return RUSTLIB_CALL(milla_get_interesting_tiles) +/proc/get_tracked_pressure_tiles() + return RUSTLIB_CALL(milla_get_tracked_pressure_tiles) + /proc/reduce_superconductivity(turf/T, list/superconductivity) var/north = superconductivity[1] var/east = superconductivity[2] @@ -93,6 +97,14 @@ return RUSTLIB_CALL(milla_set_tile_airtight, T, north, east, south, west) +/proc/create_hotspot(turf/T, hotspot_temperature, hotspot_volume) + return RUSTLIB_CALL(milla_create_hotspot, T, hotspot_temperature, hotspot_volume) + +/proc/track_pressure_tiles(atom/A, radius) + var/turf/T = get_turf(A) + if(istype(T)) + return RUSTLIB_CALL(milla_track_pressure_tiles, T, radius) + /proc/get_random_interesting_tile() return RUSTLIB_CALL(milla_get_random_interesting_tile) @@ -122,15 +134,20 @@ #define MILLA_INDEX_SUPERCONDUCTIVITY_WEST 13 #define MILLA_INDEX_INNATE_HEAT_CAPACITY 14 #define MILLA_INDEX_TEMPERATURE 15 +#define MILLA_INDEX_HOTSPOT_TEMPERATURE 16 +#define MILLA_INDEX_HOTSPOT_VOLUME 17 +#define MILLA_INDEX_WIND_X 18 +#define MILLA_INDEX_WIND_Y 19 +#define MILLA_INDEX_FUEL_BURNT 20 /// The number of values per tile. -#define MILLA_TILE_SIZE MILLA_INDEX_TEMPERATURE +#define MILLA_TILE_SIZE MILLA_INDEX_FUEL_BURNT // These are only for InterestingTiles. -#define MILLA_INDEX_TURF 16 -#define MILLA_INDEX_INTERESTING_REASONS 17 -#define MILLA_INDEX_AIRFLOW_X 18 -#define MILLA_INDEX_AIRFLOW_Y 19 +#define MILLA_INDEX_TURF 21 +#define MILLA_INDEX_INTERESTING_REASONS 22 +#define MILLA_INDEX_AIRFLOW_X 23 +#define MILLA_INDEX_AIRFLOW_Y 24 /// The number of values per interesting tile. #define MILLA_INTERESTING_TILE_SIZE MILLA_INDEX_AIRFLOW_Y diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 465d730a97d6..78f6aa827f03 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -136,6 +136,8 @@ #define STATUS_EFFECT_REVERSED_HIGH_PRIESTESS /datum/status_effect/reversed_high_priestess //Bubblegum will chase the person hit by the effect, grabbing people at random. This can and WILL include the caster. +#define STATUS_EFFECT_UNBALANCED /datum/status_effect/unbalanced // Prevents you from automatically grabbing walls to stop moving in space. + #define STATUS_EFFECT_C_FOAMED /datum/status_effect/c_foamed #define STATUS_EFFECT_TEMPORAL_SLASH /datum/status_effect/temporal_slash @@ -165,6 +167,7 @@ #define STATUS_EFFECT_IMMOBILIZED /datum/status_effect/incapacitating/immobilized #define STATUS_EFFECT_SLEEPING /datum/status_effect/incapacitating/sleeping #define STATUS_EFFECT_SLOWED /datum/status_effect/incapacitating/slowed +#define STATUS_EFFECT_DIRECTIONAL_SLOW /datum/status_effect/incapacitating/directional_slow #define STATUS_EFFECT_PARALYZED /datum/status_effect/incapacitating/paralyzed #define STATUS_EFFECT_FLOORED /datum/status_effect/incapacitating/floored #define STATUS_EFFECT_ARMBAR /datum/status_effect/judo_armbar diff --git a/code/__DEFINES/wires_defines.dm b/code/__DEFINES/wires_defines.dm index c1d1160bbb00..7d267d96e954 100644 --- a/code/__DEFINES/wires_defines.dm +++ b/code/__DEFINES/wires_defines.dm @@ -23,7 +23,7 @@ #define WIRE_BOLT_LIGHT "Bolt Lights" // Air alarm -#define WIRE_SYPHON "Siphon" +#define WIRE_SIPHON "Siphon" #define WIRE_AALARM "Atmospherics Alarm" // Camera diff --git a/code/__HELPERS/trait_helpers.dm b/code/__HELPERS/trait_helpers.dm index f7d77fad8073..095e02a0fa8a 100644 --- a/code/__HELPERS/trait_helpers.dm +++ b/code/__HELPERS/trait_helpers.dm @@ -180,6 +180,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_DWARF "dwarf" #define TRAIT_SILENT_FOOTSTEPS "silent_footsteps" //makes your footsteps completely silent #define TRAIT_MESON_VISION "meson_vision" +#define TRAIT_PRESSURE_VISION "pressure_vision" #define TRAIT_FLASH_PROTECTION "flash_protection" #define TRAIT_NIGHT_VISION "night_vision" #define TRAIT_EMOTE_MUTE "emote_mute" @@ -243,6 +244,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_EMP_RESIST "emp_resist" //The mob will take less damage from EMPs #define TRAIT_MINDFLAYER_NULLIFIED "flayer_nullified" //The mindflayer will not be able to activate their abilities, or drain swarms from people #define TRAIT_FLYING "flying" +/// This mob is antimagic, and immune to spells / cannot cast spells +#define TRAIT_ANTIMAGIC "anti_magic" +/// This allows a person who has antimagic to cast spells without getting blocked +#define TRAIT_ANTIMAGIC_NO_SELFBLOCK "anti_magic_no_selfblock" +/// This mob recently blocked magic with some form of antimagic +#define TRAIT_RECENTLY_BLOCKED_MAGIC "recently_blocked_magic" #define TRAIT_UNKNOWN "unknown" // The person with this trait always appears as 'unknown'. #define TRAIT_CRYO_DESPAWNING "cryo_despawning" // dont adminbus this please @@ -301,6 +308,12 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai ///An organ that was inserted into a dead mob, that has not been revived yet #define TRAIT_ORGAN_INSERTED_WHILE_DEAD "organ_inserted_while_dead" +/// Prevents stripping this equipment or seeing it in the strip menu +#define TRAIT_NO_STRIP "no_strip" + +/// Prevents seeing this item on examine when on a mob, or seeing it in the strip menu. It's like ABSTRACT, without making the item fail to interact in several ways. The item can still be stripped however, combine with no_strip unless you have a reason not to. +#define TRAIT_SKIP_EXAMINE "skip_examine" + //****** OBJ TRAITS *****// ///An /obj that should not increase the "depth" of the search for adjacency, diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index dad257b8aac6..b2a70fdf51ad 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -259,7 +259,7 @@ /proc/heat2color_g(temp) temp /= 100 if(temp <= 66) - . = max(0, min(255, 99.4708025861 * log(temp) - 161.1195681661)) + . = max(0, min(255, 99.4708025861 * log(max(temp, 1)) - 161.1195681661)) else . = max(0, min(255, 288.1221695283 * ((temp - 60) ** -0.0755148492))) @@ -271,7 +271,7 @@ if(temp <= 16) . = 0 else - . = max(0, min(255, 138.5177312231 * log(temp - 10) - 305.0447927307)) + . = max(0, min(255, 138.5177312231 * log(max(temp - 10, 1)) - 305.0447927307)) //Argument: Give this a space-separated string consisting of 6 numbers. Returns null if you don't /proc/text2matrix(matrixtext) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 2033b926c9a4..822121b2dbe3 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -772,6 +772,14 @@ Returns 1 if the chain up to the area contains the given typepath var/y_pos var/z_pos +/datum/coords/New(x_pos_, y_pos_, z_pos_) + x_pos = x_pos_ + y_pos = y_pos_ + z_pos = z_pos_ + +/datum/coords/proc/to_string(z = null) + return "([x_pos],[y_pos],[z ? z : z_pos])" + /area/proc/move_contents_to(area/A, turf_to_leave, direction) // someone rewrite this function i beg of you //Takes: Area. Optional: turf type to leave behind. //Returns: Nothing. diff --git a/code/_globalvars/lists/reagents_lists.dm b/code/_globalvars/lists/reagents_lists.dm index a9a04f4a0f6a..447e4783475f 100644 --- a/code/_globalvars/lists/reagents_lists.dm +++ b/code/_globalvars/lists/reagents_lists.dm @@ -50,4 +50,5 @@ GLOBAL_LIST_INIT(blocked_chems, list("polonium", "initropidril", "concentrated_i "teslium_paste", "omnizine_no_addiction", "zombiecure1", "zombiecure2", "zombiecure3", "zombiecure4", "admincleaner_all", "admincleaner_item", "admincleaner_mob", + "synthetic_omnizine_no_addiction", "surge_plus" )) diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index f86cd7e55eab..e0be5bf3b901 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -49,6 +49,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_SILENT_FOOTSTEPS" = TRAIT_SILENT_FOOTSTEPS, "TRAIT_ALCOHOL_TOLERANCE" = TRAIT_ALCOHOL_TOLERANCE, "TRAIT_MESON_VISION" = TRAIT_MESON_VISION, + "TRAIT_PRESSURE_VISION" = TRAIT_PRESSURE_VISION, "TRAIT_FLASH_PROTECTION" = TRAIT_FLASH_PROTECTION, "TRAIT_NIGHT_VISION" = TRAIT_NIGHT_VISION, "TRAIT_DRASK_SUPERCOOL" = TRAIT_DRASK_SUPERCOOL, @@ -105,6 +106,9 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_CANNOT_PULL" = TRAIT_CANNOT_PULL, "TRAIT_BSG_IMMUNE" = TRAIT_BSG_IMMUNE, "TRAIT_FLYING" = TRAIT_FLYING, + "TRAIT_ANTIMAGIC" = TRAIT_ANTIMAGIC, + "TRAIT_ANTIMAGIC_NO_SELFBLOCK" = TRAIT_ANTIMAGIC_NO_SELFBLOCK, + "TRAIT_RECENTLY_BLOCKED_MAGIC" = TRAIT_RECENTLY_BLOCKED_MAGIC, "TRAIT_UNKNOWN" = TRAIT_UNKNOWN ), @@ -132,7 +136,9 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NO_THROWN_MESSAGE" = TRAIT_NO_THROWN_MESSAGE, "TRAIT_SILENT_INSERTION" = TRAIT_SILENT_INSERTION, "TRAIT_HYPOSPRAY_IMMUNE" = TRAIT_HYPOSPRAY_IMMUNE, - "TRAIT_ITEM_ACTIVE" = TRAIT_ITEM_ACTIVE + "TRAIT_ITEM_ACTIVE" = TRAIT_ITEM_ACTIVE, + "TRAIT_NO_STRIP" = TRAIT_NO_STRIP, + "TRAIT_SKIP_EXAMINE" = TRAIT_SKIP_EXAMINE ), /turf = list( diff --git a/code/_onclick/click_override.dm b/code/_onclick/click_override.dm index c59506c654e1..5fc15d8e800d 100644 --- a/code/_onclick/click_override.dm +++ b/code/_onclick/click_override.dm @@ -65,7 +65,7 @@ if(get_dist(T, target_turf) > P.shock_range) to_chat(user, "The target is too far away.") return FALSE - target_turf.hotspot_expose(2000, 400) + target_turf.hotspot_expose(2000, 1) playsound(user.loc, 'sound/effects/eleczap.ogg', 40, 1) var/atom/beam_from = user diff --git a/code/controllers/subsystem/SSair.dm b/code/controllers/subsystem/SSair.dm index 6da9b4916c1a..270dbed53129 100644 --- a/code/controllers/subsystem/SSair.dm +++ b/code/controllers/subsystem/SSair.dm @@ -3,14 +3,16 @@ #define SSAIR_ATMOSMACHINERY 3 #define SSAIR_INTERESTING_TILES 4 #define SSAIR_HOTSPOTS 5 -#define SSAIR_BOUND_MIXTURES 6 -#define SSAIR_MILLA_TICK 7 +#define SSAIR_WINDY_TILES 6 +#define SSAIR_BOUND_MIXTURES 7 +#define SSAIR_PRESSURE_OVERLAY 8 +#define SSAIR_MILLA_TICK 9 SUBSYSTEM_DEF(air) name = "Atmospherics" init_order = INIT_ORDER_AIR priority = FIRE_PRIORITY_AIR - wait = 5 + wait = 2 flags = SS_BACKGROUND runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME offline_implications = "Turfs will no longer process atmos, and all atmospheric machines (including cryotubes) will no longer function. Shuttle call recommended." @@ -28,12 +30,16 @@ SUBSYSTEM_DEF(air) var/datum/resumable_cost_counter/cost_interesting_tiles = new() /// The cost of a pass through hotspots, shown in SS Info's C block as HS. var/datum/resumable_cost_counter/cost_hotspots = new() + /// The cost of a pass through windy tiles, shown in SS Info's C block as WT. + var/datum/resumable_cost_counter/cost_windy_tiles = new() /// The cost of a pass through pipenets, shown in SS Info's C block as PN. var/datum/resumable_cost_counter/cost_pipenets = new() /// The cost of a pass through building pipenets, shown in SS Info's C block as DPN. var/datum/resumable_cost_counter/cost_pipenets_to_build = new() /// The cost of a pass through atmos machinery, shown in SS Info's C block as AM. var/datum/resumable_cost_counter/cost_atmos_machinery = new() + /// The cost of a pass through loading pressure tiles, shown in SS Info's C block as PT. + var/datum/resumable_cost_counter/cost_pressure_tiles = new() /// The set of current bound mixtures. Shown in SS Info as BM:x+y, where x is the length at the start of the most recent processing, and y is the number of mixtures that have been added during processing. var/list/bound_mixtures = list() @@ -45,14 +51,24 @@ SUBSYSTEM_DEF(air) var/added_bound_mixtures = 0 /// The length of the most recent interesting tiles list, shown in SS Info as IT. var/interesting_tile_count = 0 - /// The set of current active hotspots. Length shown in SS Info as HS. - var/list/hotspots = list() + /// The length of the most recent hotspot list, shown in SS Info as HS. + var/hotspot_count = 0 + /// The length of the most recent windy tiles list, shown in SS Info as WT. + var/windy_tile_count = 0 /// The set of pipenets that need to be built. Length shown in SS Info as PTB. var/list/pipenets_to_build = list() /// The set of active pipenets. Length shown in SS Info as PN. var/list/pipenets = list() /// The set of active atmos machinery. Length shown in SS Info as AM. var/list/atmos_machinery = list() + /// The set of tiles that are currently on fire. + var/list/hotspots + /// The set of tiles that are still on fire after this tick. + var/list/new_hotspots + /// The set of tiles that are currently experiencing wind. + var/list/windy_tiles + /// The set of tiles that are still experiencing wind after this tick. + var/list/new_windy_tiles /// A list of atmos machinery to set up in Initialize. var/list/machinery_to_construct = list() @@ -69,17 +85,19 @@ SUBSYSTEM_DEF(air) /// Are we currently running in a MILLA-safe context, i.e. is is_synchronous *guaranteed* to be TRUE. Nothing outside of this file should change this. VAR_PRIVATE/in_milla_safe_code = FALSE - /// When did we start the last MILLA tick? - var/milla_tick_start = null + /// A list of callbacks waiting for MILLA to finish its tick and enter synchronous mode. + var/list/waiting_for_sync = list() - /// Is MILLA (and hence SSair) reliably healthy? - var/healthy = TRUE + /// The coordinates of the pressure image we're currently loading. + var/pressure_x = 0 + var/pressure_y = 0 + var/pressure_z = 0 - /// When was MILLA last seen unhealthy? - var/last_unhealthy = 0 + /// The people who were using the pressure HUD last tick. + var/list/pressure_hud_users = list() - /// A list of callbacks waiting for MILLA to finish its tick and enter synchronous mode. - var/list/waiting_for_sync = list() + /// What alpha to use for the pressure overlay. Applies to everyone using the overlay. + var/pressure_overlay_alpha = 50 /// A cost counter for resumable, repeating processes. /datum/resumable_cost_counter @@ -112,13 +130,16 @@ SUBSYSTEM_DEF(air) msg += "MT:[round(cost_milla_tick,1)]|" msg += "IT:[cost_interesting_tiles.to_string()]|" msg += "HS:[cost_hotspots.to_string()]|" + msg += "WT:[cost_windy_tiles.to_string()]|" msg += "PN:[cost_pipenets.to_string()]|" msg += "PTB:[cost_pipenets_to_build.to_string()]|" - msg += "AM:[cost_atmos_machinery.to_string()]" + msg += "AM:[cost_atmos_machinery.to_string()]|" + msg += "PT:[cost_pressure_tiles.to_string()]" msg += "} " msg += "BM:[original_bound_mixtures]+[added_bound_mixtures]|" msg += "IT:[interesting_tile_count]|" - msg += "HS:[length(hotspots)]|" + msg += "HS:[hotspot_count]|" + msg += "WT:[windy_tile_count]|" msg += "PN:[length(pipenets)]|" msg += "AM:[length(atmos_machinery)]|" return msg.Join("") @@ -126,8 +147,9 @@ SUBSYSTEM_DEF(air) /datum/controller/subsystem/air/get_metrics() . = ..() var/list/cust = list() - cust["hotspots"] = length(hotspots) cust["interesting turfs"] = interesting_tile_count + cust["hotspots"] = hotspot_count + cust["windy turfs"] = windy_tile_count .["cost"] = cost_full.last_complete_ms .["custom"] = cust @@ -145,7 +167,6 @@ SUBSYSTEM_DEF(air) in_milla_safe_code = FALSE /datum/controller/subsystem/air/Recover() - hotspots = SSair.hotspots pipenets_to_build = SSair.pipenets_to_build pipenets = SSair.pipenets atmos_machinery = SSair.atmos_machinery @@ -154,23 +175,23 @@ SUBSYSTEM_DEF(air) currentpart = SSair.currentpart is_synchronous = SSair.is_synchronous +#define SLEEPABLE_TIMER (world.time + world.tick_usage * world.tick_lag / 100) /datum/controller/subsystem/air/fire(resumed = 0) // All atmos stuff assumes MILLA is synchronous. Ensure it actually is. if(!is_synchronous) - var/timer = TICK_USAGE_REAL + var/timer = SLEEPABLE_TIMER while(!is_synchronous) // Sleep for 1ms. sleep(0.01) if(MC_TICK_CHECK) - time_slept.record_progress(TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer), FALSE) - cost_full.record_progress(TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer), FALSE) + time_slept.record_progress((SLEEPABLE_TIMER - timer) * 100, FALSE) return - cost_full.record_progress(TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer), FALSE) - time_slept.record_progress(TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer), TRUE) + time_slept.record_progress((SLEEPABLE_TIMER - timer) * 100, TRUE) fire_sleepless(resumed) +#undef SLEEPABLE_TIMER /datum/controller/subsystem/air/proc/fire_sleepless(resumed) // Any proc that wants MILLA to be synchronous should not sleep. @@ -242,6 +263,19 @@ SUBSYSTEM_DEF(air) in_milla_safe_code = FALSE return resumed = 0 + currentpart = SSAIR_WINDY_TILES + + if(currentpart == SSAIR_WINDY_TILES) + timer = TICK_USAGE_REAL + + process_windy_tiles(resumed) + + cost_windy_tiles.record_progress(TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer), state != SS_PAUSED && state != SS_PAUSING) + cost_full.record_progress(TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer), FALSE) + if(state == SS_PAUSED || state == SS_PAUSING) + in_milla_safe_code = FALSE + return + resumed = 0 currentpart = SSAIR_BOUND_MIXTURES if(currentpart == SSAIR_BOUND_MIXTURES) @@ -255,6 +289,19 @@ SUBSYSTEM_DEF(air) in_milla_safe_code = FALSE return resumed = 0 + currentpart = SSAIR_PRESSURE_OVERLAY + + if(currentpart == SSAIR_PRESSURE_OVERLAY) + timer = TICK_USAGE_REAL + + process_pressure_overlay(resumed) + + cost_pressure_tiles.record_progress(TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer), state != SS_PAUSED && state != SS_PAUSING) + cost_full.record_progress(TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer), FALSE) + if(state == SS_PAUSED || state == SS_PAUSING) + in_milla_safe_code = FALSE + return + resumed = 0 currentpart = SSAIR_MILLA_TICK if(currentpart == SSAIR_MILLA_TICK) @@ -309,27 +356,26 @@ SUBSYSTEM_DEF(air) src.currentrun = atmos_machinery.Copy() //cache for sanic speed (lists are references anyways) var/list/currentrun = src.currentrun + var/list/supermatters = list() while(length(currentrun)) var/obj/machinery/atmospherics/M = currentrun[length(currentrun)] currentrun.len-- - if(isnull(M) || (M.process_atmos(seconds) == PROCESS_KILL)) + if(istype(M, /obj/machinery/atmospherics/supermatter_crystal)) + supermatters += M + else if(isnull(M) || (M.process_atmos(seconds) == PROCESS_KILL)) atmos_machinery -= M if(MC_TICK_CHECK) + for(var/SM in supermatters) + currentrun += SM return - -/datum/controller/subsystem/air/proc/process_hotspots(resumed = 0) - if(!resumed) - src.currentrun = hotspots.Copy() - //cache for sanic speed (lists are references anyways) - var/list/currentrun = src.currentrun - while(length(currentrun)) - var/obj/effect/hotspot/H = currentrun[length(currentrun)] - currentrun.len-- - if(H) - H.process() - else - hotspots -= H + while(length(supermatters)) + var/obj/machinery/atmospherics/supermatter_crystal/SM = supermatters[length(supermatters)] + supermatters.len-- + if(isnull(SM) || (SM.process_atmos(seconds) == PROCESS_KILL)) + atmos_machinery -= SM if(MC_TICK_CHECK) + for(var/other_sm in supermatters) + currentrun += other_sm return /datum/controller/subsystem/air/proc/process_interesting_tiles(resumed = 0) @@ -371,18 +417,183 @@ SUBSYSTEM_DEF(air) S.update_visuals() if(reasons & MILLA_INTERESTING_REASON_HOT) - var/datum/gas_mixture/air = T.get_readonly_air() - T.hotspot_expose(air.temperature(), CELL_VOLUME) - for(var/atom/movable/item in T) - item.temperature_expose(air, air.temperature(), CELL_VOLUME) - T.temperature_expose(air, air.temperature(), CELL_VOLUME) + var/turf/simulated/S = T + if(istype(S)) + if(isnull(S.active_hotspot)) + // Wasn't an active hotspot before, add it. + hotspots += S + + var/datum/gas_mixture/air = T.get_readonly_air() + T.temperature_expose(air.temperature()) + for(var/atom/movable/item in T) + item.temperature_expose(air, air.temperature(), CELL_VOLUME) + T.temperature_expose(air, air.temperature(), CELL_VOLUME) if(reasons & MILLA_INTERESTING_REASON_WIND) + var/turf/simulated/S = T + if(istype(S)) + if(isnull(S.wind_tick)) + // Didn't have wind before, add it. + windy_tiles += S + S.wind_tick = times_fired + S.wind_x = x_flow + S.wind_y = y_flow T.high_pressure_movements(x_flow, y_flow) if(MC_TICK_CHECK) return +/datum/controller/subsystem/air/proc/process_hotspots(resumed = 0) + if(!resumed) + src.currentrun = hotspots + new_hotspots = list() + hotspot_count = length(src.currentrun) + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while(length(currentrun)) + var/turf/simulated/S = currentrun[length(currentrun)] + currentrun.len-- + + if(!istype(S)) + continue + + if(S.update_hotspot()) + // Is still a hotspot, keep it. + new_hotspots += S + + if(MC_TICK_CHECK) + return + + hotspots = new_hotspots + +/datum/controller/subsystem/air/proc/process_windy_tiles(resumed = 0) + if(!resumed) + src.currentrun = windy_tiles + new_windy_tiles = list() + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while(length(currentrun)) + var/turf/simulated/S = currentrun[length(currentrun)] + currentrun.len-- + + if(!istype(S)) + continue + + if(S.update_wind()) + // Still has wind, keep it. + new_windy_tiles += S + + if(MC_TICK_CHECK) + return + + windy_tiles = new_windy_tiles + +/datum/controller/subsystem/air/proc/process_pressure_overlay(resumed = 0) + if(!resumed) + currentrun = list(get_tracked_pressure_tiles(), pressure_hud_users) + pressure_hud_users = list() + + //cache for sanic speed (lists are references anyways) + var/list/tracked_tiles = currentrun[1] + while(length(tracked_tiles)) + var/x = tracked_tiles[length(tracked_tiles) - 3] + var/y = tracked_tiles[length(tracked_tiles) - 2] + var/z = tracked_tiles[length(tracked_tiles) - 1] + var/pressure = tracked_tiles[length(tracked_tiles) - 0] + tracked_tiles.len -= 4 + + var/turf/tile = locate(x, y, z) + if(istype(tile)) + var/obj/effect/pressure_overlay/pressure_overlay = tile.ensure_pressure_overlay() + var/ratio = pressure / ONE_ATMOSPHERE + pressure_overlay.overlay.color = rgb((1 - ratio) * 255, 0, ratio * 255) + pressure_overlay.overlay.alpha = pressure_overlay_alpha + + if(MC_TICK_CHECK) + return + + var/datum/atom_hud/data/pressure/hud = GLOB.huds[DATA_HUD_PRESSURE] + + //cache for sanic speed (lists are references anyways) + var/list/users = currentrun[2] + while(length(users)) + var/mob/user = users[length(users)] + var/turf/oldloc = users[user] + users.len-- + + if(!istype(user) || QDELETED(user) || isnull(user.client) || !istype(oldloc)) + continue + + if(user in hud.hudusers) + var/turf/newloc = get_turf(user) + if(oldloc == newloc) + // Ya ain't moved, son. Ya get the same tiles ya already had. + continue + clear_pressure_hud(user, oldloc, FALSE) + add_pressure_hud(user, oldloc, FALSE) + pressure_hud_users[user] = newloc + else + clear_pressure_hud(user, oldloc, TRUE) + + if(MC_TICK_CHECK) + return + + for(var/mob/user in hud.hudusers) + if(isnull(user.client)) + continue + track_pressure_tiles(user, PRESSURE_HUD_LOAD_RADIUS) + if(!(user in pressure_hud_users)) + pressure_hud_users[user] = get_turf(user) + + // Clean up currentrun so we don't confuse the next step. + currentrun = list() + +/datum/controller/subsystem/air/proc/clear_pressure_hud(mob/user, turf/oldloc, full_clear) + if(!istype(oldloc) || isnull(user.client)) + return + var/turf/newloc = get_turf(user) + if(!istype(newloc)) + full_clear = TRUE + else if(oldloc.z != newloc.z) + full_clear = TRUE + + for(var/x in oldloc.x - PRESSURE_HUD_RADIUS to oldloc.x + PRESSURE_HUD_RADIUS) + if(x < 1 || x > world.maxx) + continue + + for(var/y in oldloc.y - PRESSURE_HUD_RADIUS to oldloc.y + PRESSURE_HUD_RADIUS) + if(y < 1 || y > world.maxy) + continue + if(!full_clear && abs(newloc.x - x) <= PRESSURE_HUD_RADIUS && abs(newloc.y - y) <= PRESSURE_HUD_RADIUS) + continue + + var/turf/tile = locate(x, y, oldloc.z) + var/obj/effect/pressure_overlay/pressure_overlay = tile.ensure_pressure_overlay() + user.client.images -= pressure_overlay.overlay + +/datum/controller/subsystem/air/proc/add_pressure_hud(mob/user, turf/oldloc, full_send) + var/turf/newloc = get_turf(user) + if(!istype(newloc) || isnull(user.client)) + return + if(!istype(oldloc)) + full_send = TRUE + else if(oldloc.z != newloc.z) + full_send = TRUE + + for(var/x in newloc.x - PRESSURE_HUD_RADIUS to newloc.x + PRESSURE_HUD_RADIUS) + if(x < 1 || x > world.maxx) + continue + + for(var/y in newloc.y - PRESSURE_HUD_RADIUS to newloc.y + PRESSURE_HUD_RADIUS) + if(y < 1 || y > world.maxy) + continue + if(!full_send && abs(oldloc.x - x) <= PRESSURE_HUD_RADIUS && abs(oldloc.y - y) <= PRESSURE_HUD_RADIUS) + continue + + var/turf/tile = locate(x, y, newloc.z) + var/obj/effect/pressure_overlay/pressure_overlay = tile.ensure_pressure_overlay() + user.client.images += pressure_overlay.overlay + /datum/controller/subsystem/air/proc/process_bound_mixtures(resumed = 0) if(!resumed) original_bound_mixtures = length(bound_mixtures) @@ -531,6 +742,21 @@ SUBSYSTEM_DEF(air) SSair.on_milla_tick_finished() +/proc/milla_tick_error(err) + // Any proc that wants MILLA to be synchronous should not sleep. + SHOULD_NOT_SLEEP(TRUE) + + log_debug(err) + var/msg = "MILLA has crashed. SSair will stop running, and all atmospherics will stop functioning. Every turf will report as full of breathable air, and all fires will be extinguished. Shuttle call highly recommended." + to_chat(GLOB.admins, "[msg]") + log_world(msg) + + // Disable firing. + SSair.flags |= SS_NO_FIRE + // Disable fire, too. + for(var/turf/simulated/S in SSair.hotspots) + QDEL_NULL(S.active_hotspot) + /// Create a subclass of this and implement `on_run` to manipulate tile air safely. /datum/milla_safe var/run_args = list() @@ -589,5 +815,7 @@ SUBSYSTEM_DEF(air) #undef SSAIR_ATMOSMACHINERY #undef SSAIR_INTERESTING_TILES #undef SSAIR_HOTSPOTS +#undef SSAIR_WINDY_TILES #undef SSAIR_BOUND_MIXTURES +#undef SSAIR_PRESSURE_OVERLAY #undef SSAIR_MILLA_TICK diff --git a/code/controllers/subsystem/SSdebugview.dm b/code/controllers/subsystem/SSdebugview.dm index f47d7016aaa9..437d544f01c6 100644 --- a/code/controllers/subsystem/SSdebugview.dm +++ b/code/controllers/subsystem/SSdebugview.dm @@ -15,7 +15,7 @@ SUBSYSTEM_DEF(debugview) // Generate debug text var/list/entries = list() entries += "CPU: [round(world.cpu, 1)] | MCPU: [round(world.map_cpu, 1)] | FPS/TPS: [world.fps] | Clients: [length(GLOB.clients)] | BYOND: [world.byond_version].[world.byond_build]" - entries += "\[Air] Cost: [SSair.get_cost()]ms | MT: [round(SSair.cost_milla_tick, 1)]ms | IT: [SSair.interesting_tile_count]" + entries += "\[Air] Cost: [SSair.get_cost()]ms | MT: [round(SSair.cost_milla_tick, 1)]ms | IT: [SSair.interesting_tile_count] | HS: [SSair.hotspot_count] | WT: [SSair.windy_tile_count]" entries += "\[Debug] Cost: [round(SSdebugview.cost, 1)]ms | P: [length(SSdebugview.processing)]" // meta af (tbf we need to know how much were using) entries += "\[FP] Cost: [round(SSfastprocess.cost, 1)]ms | P: [length(SSfastprocess.processing)]" // Snowflakery for SSgarbage diff --git a/code/controllers/subsystem/SSjobs.dm b/code/controllers/subsystem/SSjobs.dm index c66340be5aae..dbb9d88b695c 100644 --- a/code/controllers/subsystem/SSjobs.dm +++ b/code/controllers/subsystem/SSjobs.dm @@ -183,6 +183,9 @@ SUBSYSTEM_DEF(jobs) if(job.admin_only) // No admin positions either. continue + if(job.mentor_only) // Neither for mentor positions + continue + if(jobban_isbanned(player, job.title)) Debug("GRJ isbanned failed, Player: [player], Job: [job.title]") continue diff --git a/code/controllers/subsystem/non_firing/SSmapping.dm b/code/controllers/subsystem/non_firing/SSmapping.dm index aa230347edb1..c9313a79a2d9 100644 --- a/code/controllers/subsystem/non_firing/SSmapping.dm +++ b/code/controllers/subsystem/non_firing/SSmapping.dm @@ -88,7 +88,6 @@ SUBSYSTEM_DEF(mapping) // Load all Z level templates preloadTemplates() - preloadTemplates(path = "code/tests/atmos/") // Load the station loadStation() @@ -102,9 +101,14 @@ SUBSYSTEM_DEF(mapping) else log_startup_progress("Skipping space ruins...") - // Makes a blank space level for the sake of randomness - GLOB.space_manager.add_new_zlevel("Empty Area", linkage = CROSSLINKED, traits = list(REACHABLE_BY_CREW, REACHABLE_SPACE_ONLY)) + var/empty_z_traits = list(REACHABLE_BY_CREW, REACHABLE_SPACE_ONLY) +#ifdef GAME_TESTS + preloadTemplates(path = "_maps/map_files/tests/") + empty_z_traits |= GAME_TEST_LEVEL +#endif + // Makes a blank space level for the sake of randomness + GLOB.space_manager.add_new_zlevel("Empty Area", linkage = CROSSLINKED, traits = empty_z_traits) // Setup the Z-level linkage GLOB.space_manager.do_transition_setup() diff --git a/code/controllers/subsystem/tickets/SSmentor_tickets.dm b/code/controllers/subsystem/tickets/SSmentor_tickets.dm index 10f87fe836c1..6f659339a569 100644 --- a/code/controllers/subsystem/tickets/SSmentor_tickets.dm +++ b/code/controllers/subsystem/tickets/SSmentor_tickets.dm @@ -31,7 +31,8 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets "Clear Cache" = "To fix a blank screen, go to the 'Special Verbs' tab and press 'Reload UI Resources'. If that fails, clear your BYOND cache (instructions provided with 'Reload UI Resources'). If that still fails, please ask for help again, stating you have already done these steps.", "Experiment!" = "Experiment! Part of the joy of this game is trying out various things, and dealing with the consequences if/when they go horribly wrong.", "How to Objectives" = "There are lots of ways to accomplish your objectives as an antagonist. A direct frontal assault may work, provided you can get in and out before backup arrives. Sneaking in can work, too, as long as you're quick and avoid prying eyes. But don't forget roleplaying methods! Tricking your target into a maze of bear traps is much more interesting than just shooting them with a gun. Even if it fails, you and your target (or its guardians) are likely to have more fun this way, and that's the most important part.", - "MHelp was in Russian" = "Привет! Ты попал на английский Paradise сервер. Возможно, ты ошибся. Русский имеет такое название: SS220\[RU]." + "MHelp was in Russian" = "Привет! Ты попал на английский Paradise сервер. Возможно, ты ошибся. Русский имеет такое название: SS220\[RU].", + "NCT Dispatch" = "A Nanotrasen Career Trainer will be assisting you in-game. You should be able to identify them by their green uniform and black coat." ) if(GLOB.configuration.url.github_url) @@ -71,6 +72,21 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets if(message_key == null) T.staffAssigned = null //if they cancel we dont need to hold this ticket anymore return + if(message_key == "NCT Dispatch") + var/nct_active = list() + for(var/mob/living/carbon/human/trainer as anything in GLOB.human_list) // Let's check if we have any active NCTs + if(trainer.mind?.assigned_role != "Nanotrasen Career Trainer") + continue + nct_active += trainer + if(!length(nct_active)) + to_chat(usr, "There are no active NCTs. Autoresponse canceled.") // If we don't, don't solve the ticket and then send feedback. + return + var/mob/living/carbon/human/trainee = get_mob_by_ckey(T.client_ckey) + for(var/mob/living/carbon/human/nct as anything in nct_active) + if(!locate(/obj/item/radio/headset) in list(nct.l_ear, nct.r_ear)) // If the NCT doesn't have a headset, ignore it. + continue + to_chat(nct, "Incoming priority transmission from Nanotrasen Training Center. Request information as follows: Career Trainer, we've received a request from an employee. [trainee.p_their(TRUE)] name is [trainee.real_name], [trainee.p_theyre()] a [trainee.mind.assigned_role]. See if [trainee.p_they()] need [trainee.p_s()] any help.") + SEND_SOUND(nct, 'sound/effects/headset_message.ogg') SEND_SOUND(returnClient(N), sound('sound/effects/adminhelp.ogg')) to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [response_phrases[message_key]]") //for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key] diff --git a/code/datums/atom_hud.dm b/code/datums/atom_hud.dm index 9ab6f8e0fd20..5178b181fbaf 100644 --- a/code/datums/atom_hud.dm +++ b/code/datums/atom_hud.dm @@ -11,6 +11,7 @@ GLOBAL_LIST_INIT(huds, list( DATA_HUD_DIAGNOSTIC_ADVANCED = new/datum/atom_hud/data/diagnostic/advanced(), DATA_HUD_HYDROPONIC = new/datum/atom_hud/data/hydroponic(), DATA_HUD_JANITOR = new/datum/atom_hud/data/janitor(), + DATA_HUD_PRESSURE = new/datum/atom_hud/data/pressure(), ANTAG_HUD_CULT = new/datum/atom_hud/antag(), ANTAG_HUD_REV = new/datum/atom_hud/antag(), ANTAG_HUD_OPS = new/datum/atom_hud/antag(), diff --git a/code/datums/components/anti_magic.dm b/code/datums/components/anti_magic.dm new file mode 100644 index 000000000000..645e579a7091 --- /dev/null +++ b/code/datums/components/anti_magic.dm @@ -0,0 +1,166 @@ +/// This provides different types of magic resistance on an object +/datum/component/anti_magic + /// A bitflag with the types of magic resistance on the object + var/antimagic_flags + /// The amount of times the object can protect the user from magic + /// Set to INFINITY to have, well, infinite charges. + var/charges + /// The inventory slot the object must be located at in order to activate + var/inventory_flags + /// The callback invoked when we have been drained a antimagic charge + var/datum/callback/drain_antimagic + /// The callback invoked when twe have been depleted of all charges + var/datum/callback/expiration + /// Whether we should, on equipping, alert the caster that this item can block any of their spells + /// This changes between true and false on equip and drop, don't set it outright to something + var/alert_caster_on_equip = TRUE + +/** + * Adds magic resistances to an object + * + * Magic resistance will prevent magic from affecting the user if it has the correct resistance + * against the type of magic being used + * + * args: + * * antimagic_flags (optional) A bitflag with the types of magic resistance on the object + * * charges (optional) The amount of times the object can protect the user from magic + * * inventory_flags (optional) The inventory slot the object must be located at in order to activate + * * drain_antimagic (optional) The proc that is triggered when an object has been drained a antimagic charge + * * expiration (optional) The proc that is triggered when the object is depleted of charges + * * + * antimagic bitflags: (see code/__DEFINES/magic.dm) + * * MAGIC_RESISTANCE - Default magic resistance that blocks normal magic (wizard, spells, staffs) + * * MAGIC_RESISTANCE_MIND - Tinfoil hat magic resistance that blocks mental magic (telepathy, abductors, jelly people) + * * MAGIC_RESISTANCE_HOLY - Holy magic resistance that blocks unholy magic (revenant, cult, vampire, voice of god) +**/ +/datum/component/anti_magic/Initialize( + antimagic_flags = MAGIC_RESISTANCE, + charges = INFINITY, + inventory_flags = ~ITEM_SLOT_IN_BACKPACK, // items in a backpack won't activate, anywhere else is fine + datum/callback/drain_antimagic, + datum/callback/expiration, + ) + + + var/atom/movable/movable = parent + if(!istype(movable)) + return COMPONENT_INCOMPATIBLE + + var/compatible = FALSE + if(isitem(movable)) + RegisterSignal(movable, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equip)) + RegisterSignal(movable, COMSIG_ITEM_DROPPED, PROC_REF(on_drop)) + RegisterSignal(movable, COMSIG_ATTACK, PROC_REF(on_attack)) + compatible = TRUE + else if(ismob(movable)) + register_antimagic_signals(movable) + compatible = TRUE + + if(movable.can_buckle) + RegisterSignal(movable, COMSIG_MOVABLE_BUCKLE, PROC_REF(on_buckle)) + RegisterSignal(movable, COMSIG_MOVABLE_UNBUCKLE, PROC_REF(on_unbuckle)) + compatible = TRUE + + if(!compatible) + return COMPONENT_INCOMPATIBLE + + src.antimagic_flags = antimagic_flags + src.charges = charges + src.inventory_flags = inventory_flags + src.drain_antimagic = drain_antimagic + src.expiration = expiration + +/datum/component/anti_magic/Destroy(force) + drain_antimagic = null + expiration = null + return ..() + +/datum/component/anti_magic/proc/register_antimagic_signals(datum/on_what) + RegisterSignal(on_what, COMSIG_MOB_RECEIVE_MAGIC, PROC_REF(block_receiving_magic), override = TRUE) + RegisterSignal(on_what, COMSIG_MOB_RESTRICT_MAGIC, PROC_REF(restrict_casting_magic), override = TRUE) + +/datum/component/anti_magic/proc/unregister_antimagic_signals(datum/on_what) + UnregisterSignal(on_what, list(COMSIG_MOB_RECEIVE_MAGIC, COMSIG_MOB_RESTRICT_MAGIC)) + +/datum/component/anti_magic/proc/on_buckle(atom/movable/source, mob/living/bucklee) + SIGNAL_HANDLER // COMSIG_MOVABLE_BUCKLE + register_antimagic_signals(bucklee) + +/datum/component/anti_magic/proc/on_unbuckle(atom/movable/source, mob/living/bucklee) + SIGNAL_HANDLER // COMSIG_MOVABLE_UNBUCKLE + unregister_antimagic_signals(bucklee) + +/datum/component/anti_magic/proc/on_equip(atom/movable/source, mob/equipper, slot) + SIGNAL_HANDLER // COMSIG_ITEM_EQUIPPED + addtimer(CALLBACK(src, PROC_REF(on_equip_part_2), source, equipper, slot), 0.1 SECONDS) //We wait a moment to see if the item grants antimagic flags + +/datum/component/anti_magic/proc/on_equip_part_2(atom/movable/source, mob/equipper, slot) + if(!(inventory_flags & slot)) //Check that the slot is valid for antimagic + unregister_antimagic_signals(equipper) + return + + register_antimagic_signals(equipper) + if(HAS_TRAIT(equipper, TRAIT_ANTIMAGIC_NO_SELFBLOCK)) //If they do not care about antimagic, don't warn them + return + if(!alert_caster_on_equip) + return + + // Check to see if we have any spells that are blocked due to antimagic + if(!equipper.mind) + return + for(var/datum/spell/knownspell in equipper.mind.spell_list) + if(!(knownspell.spell_requirements & SPELL_REQUIRES_NO_ANTIMAGIC)) + continue + + if(!(antimagic_flags & knownspell.antimagic_flags)) + continue + + to_chat(equipper, "[parent] is interfering with your ability to cast magic!") + alert_caster_on_equip = FALSE + break + +/datum/component/anti_magic/proc/on_drop(atom/movable/source, mob/user) + SIGNAL_HANDLER //COMSIG_ITEM_DROPPED + + // Reset alert + if(source.loc != user) + alert_caster_on_equip = TRUE + unregister_antimagic_signals(user) + +/datum/component/anti_magic/proc/block_receiving_magic(mob/living/carbon/source, casted_magic_flags, charge_cost, list/antimagic_sources) + SIGNAL_HANDLER // COMSIG_MOB_RECEIVE_MAGIC + + // We do not block this type of magic, good day + if(!(casted_magic_flags & antimagic_flags)) + return NONE + + // We have already blocked this spell + if(parent in antimagic_sources) + return NONE + + // Block success! Add this parent to the list of antimagic sources + antimagic_sources += parent + + if((charges != INFINITY) && charge_cost > 0) + drain_antimagic?.Invoke(source, parent) + charges -= charge_cost + if(charges <= 0) + expiration?.Invoke(source, parent) + qdel(src) // no more antimagic + + return COMPONENT_MAGIC_BLOCKED + +/// cannot cast magic with the same type of antimagic present +/datum/component/anti_magic/proc/restrict_casting_magic(mob/user, magic_flags) + SIGNAL_HANDLER // COMSIG_MOB_RESTRICT_MAGIC + + if(magic_flags & antimagic_flags) + if(HAS_TRAIT(user, TRAIT_ANTIMAGIC_NO_SELFBLOCK)) // this trait bypasses magic casting restrictions + return NONE + return COMPONENT_MAGIC_BLOCKED + + return NONE + +/datum/component/anti_magic/proc/on_attack(obj/item/source, mob/living/target, mob/living/user) + SIGNAL_HANDLER //COMSIG_ATTACK + SEND_SIGNAL(target, COMSIG_ATOM_HOLY_ATTACK, source, user, antimagic_flags) diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 4f0059b543c7..07b21892ed8e 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -402,6 +402,10 @@ GLOBAL_VAR_INIT(record_id_num, 1001) if("Nanotrasen Representative") clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY) + if("Nanotrasen Career Trainer") + clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "trainer_s") + clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "trainercoat"), ICON_OVERLAY) if("Blueshield") clothes_s = new /icon('icons/mob/clothing/under/centcom.dmi', "officer_s") clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY) diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm index ce26ce82eb35..416facf8aeaa 100644 --- a/code/datums/elements/strippable.dm +++ b/code/datums/elements/strippable.dm @@ -318,7 +318,7 @@ var/list/result var/obj/item/item = item_data.get_item(owner) - if(item && (item.flags & ABSTRACT)) + if(item && (item.flags & ABSTRACT || HAS_TRAIT(item, TRAIT_NO_STRIP) || HAS_TRAIT(item, TRAIT_SKIP_EXAMINE))) items[strippable_key] = result continue diff --git a/code/datums/helper_datums/map_template.dm b/code/datums/helper_datums/map_template.dm index ff159e7d63ca..c25e8bc6bd12 100644 --- a/code/datums/helper_datums/map_template.dm +++ b/code/datums/helper_datums/map_template.dm @@ -84,6 +84,12 @@ stack_trace(" The file of [src] appears to be empty/non-existent.") /datum/map_template/proc/get_affected_turfs(turf/T, centered = 0) + var/list/coordinate_bounds = get_coordinate_bounds(T, centered) + var/datum/coords/bottom_left = coordinate_bounds["bottom_left"] + var/datum/coords/top_right = coordinate_bounds["top_right"] + return block(max(bottom_left.x_pos, 1), max(bottom_left.y_pos, 1), T.z, min(top_right.x_pos, world.maxx), min(top_right.y_pos, world.maxy), T.z) + +/datum/map_template/proc/get_coordinate_bounds(turf/T, centered = FALSE) var/turf/placement = T var/min_x = placement.x var/min_y = placement.y @@ -93,7 +99,10 @@ var/max_x = min_x + width-1 var/max_y = min_y + height-1 - return block(max(min_x, 1), max(min_y, 1), placement.z, min(max_x, world.maxx), min(max_y, world.maxy), placement.z) + + var/datum/coords/bottom_left = new(min_x, min_y, 1) + var/datum/coords/top_right = new(max_x, max_y, 1) + return list("bottom_left" = bottom_left, "top_right" = top_right) /datum/map_template/proc/fits_in_map_bounds(turf/T, centered = 0) var/turf/placement = T diff --git a/code/datums/mind.dm b/code/datums/mind.dm index f40b8fdb3e16..d8ed50b0e04b 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -444,7 +444,7 @@ /datum/mind/proc/memory_edit_eventmisc(mob/living/H) . = _memory_edit_header("event", list()) - if(src in SSticker.mode.eventmiscs) + if(has_antag_datum(/datum/antagonist/eventmisc)) . += "YES|no" else . += "Event Role|NO" @@ -1214,16 +1214,16 @@ else if(href_list["eventmisc"]) switch(href_list["eventmisc"]) if("clear") - if(src in SSticker.mode.eventmiscs) - SSticker.mode.eventmiscs -= src - SSticker.mode.update_eventmisc_icons_removed(src) - special_role = null - message_admins("[key_name_admin(usr)] has de-eventantag'ed [current].") - log_admin("[key_name(usr)] has de-eventantag'ed [current].") + if(!has_antag_datum(/datum/antagonist/eventmisc)) + return + remove_antag_datum(/datum/antagonist/eventmisc) + message_admins("[key_name_admin(usr)] has de-eventantag'ed [current].") + log_admin("[key_name(usr)] has de-eventantag'ed [current].") if("eventmisc") - SSticker.mode.eventmiscs += src - special_role = SPECIAL_ROLE_EVENTMISC - SSticker.mode.update_eventmisc_icons_added(src) + if(has_antag_datum(/datum/antagonist/eventmisc)) + to_chat(usr, "[current] is already an event antag!") + return + add_antag_datum(/datum/antagonist/eventmisc) message_admins("[key_name_admin(usr)] has eventantag'ed [current].") log_admin("[key_name(usr)] has eventantag'ed [current].") current.create_log(MISC_LOG, "[current] was made into an event antagonist by [key_name_admin(usr)]") diff --git a/code/datums/outfits/plasmamen_outfits.dm b/code/datums/outfits/plasmamen_outfits.dm index 4ba5e9665a34..c18f4e4a0579 100644 --- a/code/datums/outfits/plasmamen_outfits.dm +++ b/code/datums/outfits/plasmamen_outfits.dm @@ -188,5 +188,12 @@ /datum/outfit/plasmaman/assistant name = "Assistant Plasmaman" + head = /obj/item/clothing/head/helmet/space/plasmaman/assistant uniform = /obj/item/clothing/under/plasmaman/assistant + +/datum/outfit/plasmaman/trainer + name = "Plasmaman Career Trainer" + + head = /obj/item/clothing/head/helmet/space/plasmaman/trainer + uniform = /obj/item/clothing/under/plasmaman/trainer diff --git a/code/datums/ruins/ruin_placer.dm b/code/datums/ruins/ruin_placer.dm index 3f0d80bb4a67..0d53c9bb71b7 100644 --- a/code/datums/ruins/ruin_placer.dm +++ b/code/datums/ruins/ruin_placer.dm @@ -1,7 +1,107 @@ +#define DEFAULT_PADDING 32 + +/datum/ruin_placement + var/datum/map_template/ruin/ruin + var/base_padding + var/padding + +/datum/ruin_placement/New(datum/map_template/ruin/ruin_, padding_ = DEFAULT_PADDING, base_padding_ = 0) + . = ..() + ruin = ruin_ + base_padding = base_padding_ + padding = padding_ + +/datum/ruin_placement/proc/reduce_padding() + padding = max(floor(padding / 2) - 1, -1) + +/datum/ruin_placement/proc/try_to_place(zlist_or_zlevel, area_whitelist) + var/list/z_levels = islist(zlist_or_zlevel) ? zlist_or_zlevel : list(zlist_or_zlevel) + + // Our goal is to maximize padding, so we'll perform some number of attempts + // on one z-level, then the next, until we reach some limit, then reduce the + // padding and start again. + padding = DEFAULT_PADDING + while(padding >= 0) + var/width_border = base_padding + round(ruin.width / 2) + padding + var/height_border = base_padding + round(ruin.height / 2) + padding + + for(var/z_level in z_levels) + var/placement_tries = PLACEMENT_TRIES + while(placement_tries > 0) + placement_tries-- + + var/turf/central_turf = locate( + rand(width_border, world.maxx - width_border), + rand(height_border, world.maxy - height_border), + z_level + ) + var/valid = TRUE + + if(!central_turf) + continue + + // Expand the original bounds of the ruin with our padding and call + // that our list of affected turfs. + var/list/bounds = ruin.get_coordinate_bounds(central_turf, centered = TRUE) + var/datum/coords/bottom_left = bounds["bottom_left"] + var/datum/coords/top_right = bounds["top_right"] + bottom_left.x_pos -= padding + bottom_left.y_pos -= padding + top_right.x_pos += padding + top_right.y_pos += padding + var/list/affected_turfs = block(bottom_left.x_pos, bottom_left.y_pos, z_level, top_right.x_pos, top_right.y_pos, z_level) + + // One sanity check just in case + if(!ruin.fits_in_map_bounds(central_turf, centered = TRUE)) + valid = FALSE + + for(var/turf/check in affected_turfs) + var/area/new_area = get_area(check) + if(!(istype(new_area, area_whitelist)) || check.flags & NO_RUINS) + valid = FALSE + break + + if(!valid) + continue + + for(var/turf/T in affected_turfs) + for(var/obj/structure/spawner/nest in T) + qdel(nest) + for(var/mob/living/simple_animal/monster in T) + qdel(monster) + for(var/obj/structure/flora/ash/plant in T) + qdel(plant) + + ruin.load(central_turf, centered = TRUE) + for(var/turf/T in ruin.get_affected_turfs(central_turf, centered = TRUE)) // Just flag the actual ruin turfs! + T.flags |= NO_RUINS + new /obj/effect/landmark/ruin(central_turf, ruin) + ruin.loaded++ + + log_world("Ruin \"[ruin.name]\" placed at ([central_turf.x], [central_turf.y], [central_turf.z])") + + var/map_filename = splittext(ruin.mappath, "/") + map_filename = map_filename[length(map_filename)] + SSblackbox.record_feedback("associative", "ruin_placement", 1, list( + "map" = map_filename, + "coords" = "[central_turf.x],[central_turf.y],[central_turf.z]" + )) + + return TRUE + + // Ran out of placement tries for this z-level/padding, move to the next z-level + + // Ran out of z-levels to try with this padding, cut it and start again + reduce_padding() + + // Ran out of z-levels, we got nowhere to place it + return FALSE + /datum/ruin_placer var/ruin_budget var/area_whitelist var/list/templates + var/base_padding /datum/ruin_placer/proc/place_ruins(z_levels) if(!z_levels || !length(z_levels)) @@ -44,17 +144,8 @@ else //Otherwise just pick random one current_pick = pickweight(ruins_availible) - var/placement_tries = PLACEMENT_TRIES - var/failed_to_place = TRUE - var/z_placed = 0 - while(placement_tries > 0) - placement_tries-- - z_placed = pick(z_levels) - if(!current_pick.try_to_place(forced_z ? forced_z : z_placed, area_whitelist)) - continue - else - failed_to_place = FALSE - break + var/datum/ruin_placement/placement = new(current_pick, base_padding_ = base_padding) + var/placement_success = placement.try_to_place(forced_z ? forced_z : z_levels, area_whitelist) //That's done remove from priority even if it failed if(forced) @@ -62,12 +153,7 @@ forced_ruins -= current_pick forced = FALSE - if(failed_to_place) - for(var/datum/map_template/ruin/R in ruins_availible) - if(R.id == current_pick.id) - ruins_availible -= R - log_world("Failed to place [current_pick.name] ruin.") - else + if(placement_success) ruin_budget -= current_pick.get_cost() if(!current_pick.allow_duplicates) for(var/datum/map_template/ruin/R in ruins_availible) @@ -78,6 +164,12 @@ for(var/possible_exclusion in ruins_availible) if(istype(possible_exclusion,blacklisted_type)) ruins_availible -= possible_exclusion + else + for(var/datum/map_template/ruin/R in ruins_availible) + if(R.id == current_pick.id) + ruins_availible -= R + log_world("Failed to place [current_pick.name] ruin.") + forced_z = 0 //Update the availible list @@ -87,8 +179,11 @@ log_world("Ruin loader finished with [ruin_budget] left to spend.") +#undef DEFAULT_PADDING + /datum/ruin_placer/space area_whitelist = /area/space + base_padding = TRANSITIONEDGE + SPACERUIN_MAP_EDGE_PAD /datum/ruin_placer/space/New() ruin_budget = rand( diff --git a/code/datums/spell.dm b/code/datums/spell.dm index 8ad1b79793c6..3604140c8193 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -73,8 +73,6 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) var/should_recharge_after_cast = TRUE var/still_recharging_msg = "The spell is still recharging." - var/holder_var_type = "bruteloss" //only used if charge_type equals to "holder_var" - var/holder_var_amount = 20 //same. The amount adjusted with the mob's var when the spell is used var/active = FALSE //Used by toggle based abilities. var/ranged_mousepointer var/mob/ranged_ability_user @@ -97,9 +95,6 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) var/overlay_icon_state = "spell" var/overlay_lifespan = 0 - var/sparks_spread = FALSE - var/sparks_amt = 0 - ///Determines if the spell has smoke, and if so what effect the smoke has. See spell defines. var/smoke_type = SMOKE_NONE var/smoke_amt = 0 @@ -139,6 +134,13 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) var/static/list/spell_handlers = list() /// handles a given spells cooldowns. tracks the time until its off cooldown, var/datum/spell_cooldown/cooldown_handler + /// Flag for certain states that the spell requires the user be in to cast. + var/spell_requirements = SPELL_REQUIRES_NO_ANTIMAGIC + /// This determines what type of antimagic is needed to block the spell. + /// (MAGIC_RESISTANCE, MAGIC_RESISTANCE_MIND, MAGIC_RESISTANCE_HOLY) + /// If SPELL_REQUIRES_NO_ANTIMAGIC is set in Spell requirements, + /// The spell cannot be cast if the caster has any of the antimagic flags set. + var/antimagic_flags = MAGIC_RESISTANCE /* Checks if the user can cast the spell * @param charge_check If the proc should do the cooldown check @@ -389,8 +391,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) location = target if(isliving(target) && message) to_chat(target, "[message]") - if(sparks_spread) - do_sparks(sparks_amt, 0, location) + if(smoke_type) var/datum/effect_system/smoke_spread/smoke switch(smoke_type) @@ -473,6 +474,12 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell)) if(T && is_admin_level(T.z)) return FALSE + // If the spell requires the user has no antimagic equipped, and they're holding antimagic + // that corresponds with the spell's antimagic, then they can't actually cast the spell + if((spell_requirements & SPELL_REQUIRES_NO_ANTIMAGIC) && !user.can_cast_magic(antimagic_flags)) + to_chat(user, "Some form of antimagic is preventing you from casting [src]!") + return FALSE + if(!holy_area_cancast && user.holy_check()) return FALSE diff --git a/code/datums/spells/alien_spells/basetype_alien_spell.dm b/code/datums/spells/alien_spells/basetype_alien_spell.dm index 12d98e8e489b..02ac8ddab2a2 100644 --- a/code/datums/spells/alien_spells/basetype_alien_spell.dm +++ b/code/datums/spells/alien_spells/basetype_alien_spell.dm @@ -24,6 +24,7 @@ Updates the spell's actions on use as well, so they know when they can or can't create_attack_logs = FALSE /// Every alien spell creates only logs, no attack messages on someone placing weeds, but you DO get attack messages on neurotoxin and corrosive acid create_custom_logs = TRUE + antimagic_flags = NONE /// How much plasma it costs to use this var/plasma_cost = 0 diff --git a/code/datums/spells/alien_spells/basetype_alien_touch.dm b/code/datums/spells/alien_spells/basetype_alien_touch.dm index c58ff15bed29..f979b2af6ba3 100644 --- a/code/datums/spells/alien_spells/basetype_alien_touch.dm +++ b/code/datums/spells/alien_spells/basetype_alien_touch.dm @@ -6,6 +6,7 @@ base_cooldown = 1 action_background_icon_state = "bg_alien" clothes_req = FALSE + antimagic_flags = NONE create_attack_logs = FALSE /// Every alien spell creates only logs, no attack messages on someone placing weeds, but you DO get attack messages on neurotoxin and corrosive acid create_custom_logs = TRUE diff --git a/code/datums/spells/alien_spells/build_resin_structure.dm b/code/datums/spells/alien_spells/build_resin_structure.dm index 60bc6bbfa121..b33967cd40a4 100644 --- a/code/datums/spells/alien_spells/build_resin_structure.dm +++ b/code/datums/spells/alien_spells/build_resin_structure.dm @@ -85,6 +85,7 @@ to_chat(C, "You viciously rip apart and consume [target]!") C.add_plasma(-10) qdel(target) + handle_delete(user) #undef RESIN_WALL #undef RESIN_NEST diff --git a/code/datums/spells/alien_spells/corrosive_acid_spit.dm b/code/datums/spells/alien_spells/corrosive_acid_spit.dm index b74af9fe38ca..eca1d74ac863 100644 --- a/code/datums/spells/alien_spells/corrosive_acid_spit.dm +++ b/code/datums/spells/alien_spells/corrosive_acid_spit.dm @@ -31,6 +31,7 @@ C.add_plasma(-200) else to_chat(C, "You cannot dissolve this object.") + handle_delete(user) /datum/spell/touch/alien_spell/burning_touch name = "Blazing touch" @@ -72,3 +73,4 @@ C.visible_message("[C] touches [target] and burns right through it!") C.add_plasma(-100) qdel(target) + handle_delete(user) diff --git a/code/datums/spells/banana_touch.dm b/code/datums/spells/banana_touch.dm index b7d823bccdb3..9dc684f061a0 100644 --- a/code/datums/spells/banana_touch.dm +++ b/code/datums/spells/banana_touch.dm @@ -17,21 +17,21 @@ on_use_sound = 'sound/items/AirHorn.ogg' icon_state = "banana_touch" item_state = "banana_touch" + var/is_apprentice_spell = FALSE /datum/spell/touch/banana/apprentice hand_path = /obj/item/melee/touch_attack/banana/apprentice /obj/item/melee/touch_attack/banana/apprentice + is_apprentice_spell = TRUE -/obj/item/melee/touch_attack/banana/apprentice/after_attack(atom/target, mob/user, proximity_flag, click_parameters) +/obj/item/melee/touch_attack/banana/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() - if(iswizard(target) && target != user) + + if(is_apprentice_spell && iswizard(target) && target != user) to_chat(user, "Seriously?! Honk THEM, not me!") return - -/obj/item/melee/touch_attack/banana/after_attack(atom/target, mob/user, proximity_flag, click_parameters) - . = ..() - if(!proximity_flag || target == user || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) + if(!proximity_flag || target == user || blocked_by_antimagic || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return var/datum/effect_system/smoke_spread/s = new @@ -41,6 +41,7 @@ to_chat(user, "HONK") var/mob/living/carbon/human/H = target H.bananatouched() + handle_delete(user) /mob/living/carbon/human/proc/bananatouched() to_chat(src, "HONK") diff --git a/code/datums/spells/bloodcrawl.dm b/code/datums/spells/bloodcrawl.dm index 007ff329932f..9bc2864a656c 100644 --- a/code/datums/spells/bloodcrawl.dm +++ b/code/datums/spells/bloodcrawl.dm @@ -8,6 +8,7 @@ overlay = null action_icon_state = "bloodcrawl" action_background_icon_state = "bg_demon" + antimagic_flags = NONE var/allowed_type = /obj/effect/decal/cleanable var/phased = FALSE diff --git a/code/datums/spells/chaplain_bless.dm b/code/datums/spells/chaplain_bless.dm index 970cebd638cc..518f51207c8e 100644 --- a/code/datums/spells/chaplain_bless.dm +++ b/code/datums/spells/chaplain_bless.dm @@ -7,6 +7,7 @@ clothes_req = FALSE invocation = "none" invocation_type = "none" + antimagic_flags = NONE selection_activated_message = "You prepare a blessing. Click on a target to start blessing." selection_deactivated_message = "The crew will be blessed another time." diff --git a/code/datums/spells/chef.dm b/code/datums/spells/chef.dm index a28438b397a1..2e42e0b1be66 100644 --- a/code/datums/spells/chef.dm +++ b/code/datums/spells/chef.dm @@ -4,6 +4,7 @@ clothes_req = FALSE base_cooldown = 5 SECONDS human_req = TRUE + antimagic_flags = NONE action_icon_state = "chef" action_background_icon_state = "bg_default" still_recharging_msg = "All this thinking makes your head hurt, wait a bit longer." diff --git a/code/datums/spells/horsemask.dm b/code/datums/spells/horsemask.dm index f0614edddd55..32d5cab3dcb3 100644 --- a/code/datums/spells/horsemask.dm +++ b/code/datums/spells/horsemask.dm @@ -27,6 +27,13 @@ var/mob/living/carbon/human/target = targets[1] + if(target.can_block_magic(antimagic_flags)) + target.visible_message("[target]'s face bursts into flames, which instantly burst outward, leaving [target.p_them()] unharmed!", + "Your face starts burning up, but the flames are repulsed by your anti-magic protection!", + ) + to_chat(user, "The spell had no effect!") + return FALSE + var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead magichead.flags |= NODROP | DROPDEL //curses! magichead.flags_inv = null //so you can still see their face diff --git a/code/datums/spells/lightning.dm b/code/datums/spells/lightning.dm index d4a141c1ccb4..c7e79e2e103d 100644 --- a/code/datums/spells/lightning.dm +++ b/code/datums/spells/lightning.dm @@ -38,6 +38,12 @@ origin.Beam(target, icon_state = "lightning[rand(1, 12)]", icon = 'icons/effects/effects.dmi', time = 5) /datum/spell/charge_up/bounce/lightning/apply_bounce_effect(mob/origin, mob/living/target, energy, mob/user) + if(target.can_block_magic(antimagic_flags)) + target.visible_message( + "[target] absorbs the spell, remaining unharmed!", + "You absorb the spell, remaining unharmed!" + ) + return if(damaging) target.electrocute_act(energy, "Lightning Bolt", flags = SHOCK_NOGLOVES) else diff --git a/code/datums/spells/mime.dm b/code/datums/spells/mime.dm index 2e139981d64e..eda8b9822419 100644 --- a/code/datums/spells/mime.dm +++ b/code/datums/spells/mime.dm @@ -9,6 +9,7 @@ clothes_req = FALSE cast_sound = null human_req = TRUE + antimagic_flags = NONE action_icon_state = "mime" action_background_icon_state = "bg_mime" @@ -87,6 +88,7 @@ clothes_req = FALSE base_cooldown = 30 SECONDS human_req = TRUE + antimagic_flags = NONE action_icon_state = "fingergun" action_background_icon_state = "bg_mime" diff --git a/code/datums/spells/mime_malaise.dm b/code/datums/spells/mime_malaise.dm index 63b1c3e2f298..67de63013349 100644 --- a/code/datums/spells/mime_malaise.dm +++ b/code/datums/spells/mime_malaise.dm @@ -20,7 +20,8 @@ /obj/item/melee/touch_attack/mime_malaise/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() - if(!proximity_flag || target == user || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) + + if(!proximity_flag || target == user || blocked_by_antimagic || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) return var/datum/effect_system/smoke_spread/s = new @@ -29,6 +30,7 @@ var/mob/living/carbon/human/H = target H.mimetouched() + handle_delete(user) /mob/living/carbon/human/proc/mimetouched() Weaken(14 SECONDS) diff --git a/code/datums/spells/mind_transfer.dm b/code/datums/spells/mind_transfer.dm index 4690dec49729..2e3bad262cf0 100644 --- a/code/datums/spells/mind_transfer.dm +++ b/code/datums/spells/mind_transfer.dm @@ -9,6 +9,7 @@ selection_activated_message = "You prepare to transfer your mind. Click on a target to cast the spell." selection_deactivated_message = "You decide that your current form is good enough." cooldown_min = 200 //100 deciseconds reduction per rank + antimagic_flags = MAGIC_RESISTANCE|MAGIC_RESISTANCE_MIND var/list/protected_roles = list(SPECIAL_ROLE_WIZARD, SPECIAL_ROLE_CHANGELING, SPECIAL_ROLE_CULTIST) //which roles are immune to the spell var/paralysis_amount_caster = 40 SECONDS //how much the caster is paralysed for after the spell var/paralysis_amount_victim = 40 SECONDS //how much the victim is paralysed for after the spell @@ -47,6 +48,9 @@ Also, you never added distance checking after target is selected. I've went ahea if(issilicon(target)) to_chat(user, "You feel this enslaved being is just as dead as its cold, hard exoskeleton.") return + if(target.can_block_magic(antimagic_flags)) + to_chat(user, "Their mind is resisting your spell.") + return var/mob/living/victim = target//The target of the spell whos body will be transferred to. var/mob/living/caster = user//The wizard/whomever doing the body transferring. diff --git a/code/datums/spells/night_vision.dm b/code/datums/spells/night_vision.dm index de085eae1993..ae5c94f97610 100644 --- a/code/datums/spells/night_vision.dm +++ b/code/datums/spells/night_vision.dm @@ -4,6 +4,7 @@ base_cooldown = 10 clothes_req = FALSE + antimagic_flags = NONE message = "You toggle your night vision!" diff --git a/code/datums/spells/rathens.dm b/code/datums/spells/rathens.dm index 195103244444..22969027c466 100644 --- a/code/datums/spells/rathens.dm +++ b/code/datums/spells/rathens.dm @@ -15,6 +15,8 @@ /datum/spell/rathens/cast(list/targets, mob/user = usr) for(var/mob/living/carbon/human/H in targets) + if(H.can_block_magic(antimagic_flags)) + continue var/datum/effect_system/smoke_spread/s = new s.set_up(5, FALSE, H) s.start() diff --git a/code/datums/spells/sentient_sword_lunge.dm b/code/datums/spells/sentient_sword_lunge.dm index 725bc77846c4..2053a75a87e8 100644 --- a/code/datums/spells/sentient_sword_lunge.dm +++ b/code/datums/spells/sentient_sword_lunge.dm @@ -16,7 +16,14 @@ to_chat(user, "You cannot use this ability if you're outside a blade!") return var/obj/item/nullrod/scythe/talking/user_sword = user.loc - var/mob/living/carbon/holder = user_sword.loc - if(istype(holder)) + if(ishuman(user_sword.loc)) + var/mob/living/carbon/holder = user_sword.loc holder.unEquip(user_sword) + else if(isstorage(user_sword.loc)) + if(prob(50)) + to_chat(user, "You fail to break out of [user_sword.loc]!") + return + var/turf/our_turf = get_turf(user_sword.loc) + our_turf.visible_message("[user_sword] leaps out of [user_sword.loc]!") + user_sword.forceMove(our_turf) user_sword.throw_at(targets[1], 10, 3, user) diff --git a/code/datums/spells/spacetime_dist.dm b/code/datums/spells/spacetime_dist.dm index 2e7a45c95eef..9d7b09c16298 100644 --- a/code/datums/spells/spacetime_dist.dm +++ b/code/datums/spells/spacetime_dist.dm @@ -82,6 +82,8 @@ desc = "A distortion in spacetime. You can hear faint music..." icon_state = "nothing" /// A flags which save people from being thrown about + var/antimagic_flags = MAGIC_RESISTANCE + /// A flags which save people from being thrown about var/obj/effect/cross_action/spacetime_dist/linked_dist /// Used to prevent an infinite loop in the space tiime continuum var/cant_teleport = FALSE @@ -101,6 +103,10 @@ AddElement(/datum/element/connect_loc, loc_connections) /obj/effect/cross_action/spacetime_dist/proc/walk_link(atom/movable/AM) + if(ismob(AM)) + var/mob/M = AM + if(M.can_block_magic(antimagic_flags, charge_cost = 0)) + return if(linked_dist && walks_left > 0) flick("purplesparkles", src) linked_dist.get_walker(AM) diff --git a/code/datums/spells/wizard_spells.dm b/code/datums/spells/wizard_spells.dm index 5466ee845cf3..c62f868f4018 100644 --- a/code/datums/spells/wizard_spells.dm +++ b/code/datums/spells/wizard_spells.dm @@ -313,6 +313,10 @@ return var/mob/living/target = targets[1] + if(target.can_block_magic(antimagic_flags)) + to_chat(target, "Your eye itches, but it passes momentarily.") + to_chat(user, "The spell had no effect!") + return FALSE target.EyeBlurry(40 SECONDS) target.EyeBlind(30 SECONDS) @@ -414,6 +418,10 @@ playMagSound() for(var/turf/T in targets) //Done this way so things don't get thrown all around hilariously. for(var/atom/movable/AM in T) + if(ismob(AM)) + var/mob/victim_mob = AM + if(victim_mob.can_block_magic(antimagic_flags)) + continue thrownatoms += AM for(var/am in thrownatoms) @@ -457,6 +465,8 @@ /datum/spell/sacred_flame/cast(list/targets, mob/user = usr) for(var/mob/living/L in targets) + if(L.can_block_magic(antimagic_flags)) + continue L.adjust_fire_stacks(20) if(isliving(user)) var/mob/living/U = user diff --git a/code/datums/station_traits/positive_traits.dm b/code/datums/station_traits/positive_traits.dm index 455c70489868..a545c1504e53 100644 --- a/code/datums/station_traits/positive_traits.dm +++ b/code/datums/station_traits/positive_traits.dm @@ -200,7 +200,8 @@ /datum/job/judge = /obj/item/organ/internal/cyberimp/arm/telebaton, /datum/job/explorer = /obj/item/organ/internal/cyberimp/arm/toolset, /datum/job/nanotrasenrep = /obj/item/organ/internal/heart/cybernetic/upgraded, - /datum/job/blueshield = /obj/item/organ/internal/cyberimp/arm/flash + /datum/job/blueshield = /obj/item/organ/internal/cyberimp/arm/flash, + /datum/job/nanotrasentrainer = /obj/item/organ/internal/heart/cybernetic/upgraded ) /datum/station_trait/cybernetic_revolution/New() diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index c4795b8d71a4..aa8dfa6c23dd 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -92,9 +92,12 @@ var/found_someone = FALSE for(var/mob/living/L in oview(9, owner)) - found_someone = TRUE playsound(owner, 'sound/magic/teleport_diss.ogg', 50, TRUE) L.Beam(owner, "grabber_beam", time = 1 SECONDS, maxdistance = 9) + if(L.can_block_magic(MAGIC_RESISTANCE)) + to_chat(L, "You shake off the tendrils that try to wrap around you!") + continue + found_someone = TRUE L.apply_status_effect(STATUS_EFFECT_VOID_PRICE) if(found_someone) owner.visible_message("The violet light around [owner] glows black... and shoots off to those around [owner.p_them()]!", "The tendrils around you cinch tightly... but then unwravel and fly at others!") diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 858f9076582b..5e3b3357b5ee 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -696,6 +696,18 @@ if(isnum(_slowdown_value)) slowdown_value = _slowdown_value +// Directional slow - Like slowed, but only if you're moving in a certain direction. +/datum/status_effect/incapacitating/directional_slow + id = "directional_slow" + var/direction + var/slowdown_value = 10 // defaults to this value if none is specified + +/datum/status_effect/incapacitating/directional_slow/on_creation(mob/living/new_owner, set_duration, _direction, _slowdown_value) + . = ..() + direction = _direction + if(isnum(_slowdown_value)) + slowdown_value = _slowdown_value + /datum/status_effect/transient/silence id = "silenced" @@ -1355,6 +1367,18 @@ new /obj/effect/abstract/bubblegum_rend_helper(get_turf(src), null, 10) qdel(src) +/// The mob has been pushed by airflow recently, and won't automatically grab nearby objects to stop drifting. +/datum/status_effect/unbalanced + id = "unbalanced" + duration = 1 SECONDS + status_type = STATUS_EFFECT_REFRESH + alert_type = /atom/movable/screen/alert/status_effect/unbalanced + +/atom/movable/screen/alert/status_effect/unbalanced + name = "Unbalanced" + desc = "You're being shoved around by airflow! You can resist this by moving, but moving against the wind will be slow." + icon_state = "unbalanced" + /datum/status_effect/c_foamed id = "c_foamed up" duration = 1 MINUTES diff --git a/code/datums/wires/alarm.dm b/code/datums/wires/alarm.dm index 8660a8e64219..08b2ed5a1705 100644 --- a/code/datums/wires/alarm.dm +++ b/code/datums/wires/alarm.dm @@ -6,7 +6,7 @@ /datum/wires/alarm/New(atom/_holder) wires = list( - WIRE_IDSCAN , WIRE_MAIN_POWER1 , WIRE_SYPHON, + WIRE_IDSCAN , WIRE_MAIN_POWER1 , WIRE_SIPHON, WIRE_AI_CONTROL, WIRE_AALARM ) return ..() @@ -39,9 +39,9 @@ if(WIRE_AI_CONTROL) A.aidisabled = !mend - if(WIRE_SYPHON) + if(WIRE_SIPHON) if(!mend) - A.mode = 3 // AALARM_MODE_PANIC + A.mode = AALARM_MODE_PANIC A.apply_mode() if(WIRE_AALARM) @@ -68,11 +68,11 @@ addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/alarm, enable_ai_control_callback)), 10 SECONDS) - if(WIRE_SYPHON) - if(A.mode == 1) // AALARM_MODE_SCRUB - A.mode = 3 // AALARM_MODE_PANIC + if(WIRE_SIPHON) + if(A.mode == AALARM_MODE_FILTERING) + A.mode = AALARM_MODE_PANIC else - A.mode = 1 // AALARM_MODE_SCRUB + A.mode = AALARM_MODE_FILTERING A.apply_mode() if(WIRE_AALARM) diff --git a/code/game/area/misc_areas.dm b/code/game/area/misc_areas.dm index 21e334a94d21..e9bd5f40a6a4 100644 --- a/code/game/area/misc_areas.dm +++ b/code/game/area/misc_areas.dm @@ -48,6 +48,9 @@ icon_state = "space_notp" tele_proof = TRUE +/area/game_test + name = "Game Test Area" + //SYNDICATES /area/syndicate_mothership diff --git a/code/game/area/ss13_areas/procedure_areas.dm b/code/game/area/ss13_areas/procedure_areas.dm new file mode 100644 index 000000000000..12d2e177b5b2 --- /dev/null +++ b/code/game/area/ss13_areas/procedure_areas.dm @@ -0,0 +1,4 @@ + +/area/station/procedure/trainer_office + name = "\improper Trainer's Office" + icon_state = "procedure_nct" diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index cdae5dd85d25..8be85ac77933 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -44,7 +44,7 @@ // Atmos var/pressure_resistance = 10 - var/last_high_pressure_movement_air_cycle = 0 + var/last_high_pressure_movement_time = 0 /// UID for the atom which the current atom is orbiting var/orbiting_uid = null diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index c0c0a7fca2ed..da9bc720a4f4 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -60,6 +60,14 @@ /datum/atom_hud/data/janitor hud_icons = list(JANI_HUD) +/datum/atom_hud/data/pressure + hud_icons = list(PRESSURE_HUD) + +/// Pressure hud is special, because it doesn't use hudatoms. SSair manages its images, so tell SSair to add the initial set. +/datum/atom_hud/data/pressure/add_hud_to(mob/user) + ..() + SSair.add_pressure_hud(user) + /* MED/SEC/DIAG HUD HOOKS */ /* diff --git a/code/game/dna/mutations/mutation_powers.dm b/code/game/dna/mutations/mutation_powers.dm index f9cb5574c824..078633409f49 100644 --- a/code/game/dna/mutations/mutation_powers.dm +++ b/code/game/dna/mutations/mutation_powers.dm @@ -301,6 +301,7 @@ clothes_req = FALSE stat_allowed = CONSCIOUS + antimagic_flags = NONE selection_activated_message = "Your mind grow cold. Click on a target to cast the spell." selection_deactivated_message = "Your mind returns to normal." @@ -372,6 +373,7 @@ clothes_req = FALSE stat_allowed = CONSCIOUS invocation_type = "none" + antimagic_flags = NONE action_icon_state = "genetic_eat" @@ -511,6 +513,7 @@ clothes_req = FALSE stat_allowed = CONSCIOUS invocation_type = "none" + antimagic_flags = NONE action_icon_state = "genetic_jump" var/leap_distance = 10 @@ -636,6 +639,7 @@ selection_deactivated_message = "Your body calms down again." invocation_type = "none" + antimagic_flags = NONE action_icon_state = "genetic_poly" @@ -684,6 +688,7 @@ human_req = TRUE stat_allowed = CONSCIOUS invocation_type = "none" + antimagic_flags = MAGIC_RESISTANCE_MIND action_icon_state = "genetic_empath" @@ -793,6 +798,7 @@ clothes_req = FALSE stat_allowed = CONSCIOUS invocation_type = "none" + antimagic_flags = NONE action_icon_state = "genetic_morph" @@ -983,6 +989,7 @@ clothes_req = FALSE stat_allowed = CONSCIOUS invocation_type = "none" + antimagic_flags = MAGIC_RESISTANCE_MIND action_icon_state = "genetic_project" @@ -1017,6 +1024,7 @@ base_cooldown = 0 clothes_req = FALSE stat_allowed = CONSCIOUS + antimagic_flags = MAGIC_RESISTANCE_MIND invocation_type = "none" action_icon_state = "genetic_mindscan" var/list/expanded_minds = list() @@ -1105,6 +1113,7 @@ clothes_req = FALSE stat_allowed = CONSCIOUS invocation_type = "none" + antimagic_flags = MAGIC_RESISTANCE_MIND action_icon_state = "genetic_view" diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm index bad65ed348e5..ee868afd1be8 100644 --- a/code/game/gamemodes/changeling/changeling.dm +++ b/code/game/gamemodes/changeling/changeling.dm @@ -6,7 +6,7 @@ GLOBAL_LIST_INIT(possible_changeling_IDs, list("Alpha","Beta","Gamma","Delta","E name = "changeling" config_tag = "changeling" restricted_jobs = list("AI", "Cyborg") - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer", "Trans-Solar Federation General") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Internal Affairs Agent", "Nanotrasen Career Trainer", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer", "Trans-Solar Federation General", "Nanotrasen Career Trainer") species_to_mindflayer = list("Machine") required_players = 15 required_enemies = 1 diff --git a/code/game/gamemodes/cult/blood_magic.dm b/code/game/gamemodes/cult/blood_magic.dm index 6f97e380e15e..12b80aa8da5d 100644 --- a/code/game/gamemodes/cult/blood_magic.dm +++ b/code/game/gamemodes/cult/blood_magic.dm @@ -385,6 +385,7 @@ var/uses = 1 var/health_cost = 0 //The amount of health taken from the user when invoking the spell var/datum/action/innate/cult/blood_spell/source + var/antimagic_flags = MAGIC_RESISTANCE_HOLY /obj/item/melee/blood_magic/Initialize(mapload, spell) . = ..() @@ -418,6 +419,11 @@ uses = 0 qdel(src) return + if(M.can_block_magic(MAGIC_RESISTANCE_HOLY)) + to_chat(user, "[M] absorbs your spell!") + uses = 0 + qdel(src) + return add_attack_logs(user, M, "used a cult spell ([src]) on") M.lastattacker = user.real_name diff --git a/code/game/gamemodes/cult/cult_mode.dm b/code/game/gamemodes/cult/cult_mode.dm index a682eae42551..371eb3200f8a 100644 --- a/code/game/gamemodes/cult/cult_mode.dm +++ b/code/game/gamemodes/cult/cult_mode.dm @@ -6,7 +6,7 @@ /datum/game_mode/cult name = "cult" config_tag = "cult" - restricted_jobs = list("Chaplain", "AI", "Cyborg", "Internal Affairs Agent", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Magistrate", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer", "Trans-Solar Federation General") + restricted_jobs = list("Chaplain", "AI", "Cyborg", "Internal Affairs Agent", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Blueshield", "Nanotrasen Representative", "Magistrate", "Nanotrasen Career Trainer", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer", "Trans-Solar Federation General") protected_jobs = list() required_players = 30 required_enemies = 3 diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index b76f5a7b857e..a3d2bced9cf8 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -249,9 +249,8 @@ structure_check() searches for nearby cultist structures required for the invoca qdel(src) /mob/proc/null_rod_check() //The null rod, if equipped, will protect the holder from the effects of most runes - var/obj/item/nullrod/N = locate() in src - if(N) - return N + if(can_block_magic(MAGIC_RESISTANCE_HOLY)) + return TRUE return FALSE //Rite of Enlightenment: Converts a normal crewmember to the cult, or offer them as sacrifice if cant be converted. diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 766ed1eeb669..7edf682a751b 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -625,17 +625,6 @@ if(something_to_print) print_command_report(trait_list_desc.Join("
"), "NAS Trurl Detected Divergencies", FALSE) - -/datum/game_mode/proc/update_eventmisc_icons_added(datum/mind/mob_mind) - var/datum/atom_hud/antag/antaghud = GLOB.huds[ANTAG_HUD_EVENTMISC] - antaghud.join_hud(mob_mind.current) - set_antag_hud(mob_mind.current, "hudevent") - -/datum/game_mode/proc/update_eventmisc_icons_removed(datum/mind/mob_mind) - var/datum/atom_hud/antag/antaghud = GLOB.huds[ANTAG_HUD_EVENTMISC] - antaghud.leave_hud(mob_mind.current) - set_antag_hud(mob_mind.current, null) - /// Gets the value of all end of round stats through auto_declare and returns them /datum/game_mode/proc/get_end_of_round_antagonist_statistics() . = list() diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm index 87b88676d3c9..90ba39865b7a 100644 --- a/code/game/gamemodes/malfunction/Malf_Modules.dm +++ b/code/game/gamemodes/malfunction/Malf_Modules.dm @@ -13,6 +13,7 @@ base_cooldown = 0 var/uses //If we have multiple uses of the same power var/auto_use_uses = TRUE //If we automatically use up uses on each activation + antimagic_flags = NONE /datum/spell/ai_spell/create_new_targeting() return new /datum/spell_targeting/self diff --git a/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm b/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm index df5df3aae74a..d44adb00d178 100644 --- a/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm +++ b/code/game/gamemodes/miniantags/demons/shadow_demon/shadow_demon.dm @@ -212,6 +212,8 @@ return hit = TRUE // to prevent double hits from the pull . = ..() + if(!.) + return for(var/atom/extinguish_target in range(2, src)) extinguish_target.extinguish_light(TRUE) if(!isliving(target)) diff --git a/code/game/gamemodes/miniantags/guardian/host_actions.dm b/code/game/gamemodes/miniantags/guardian/host_actions.dm index 4a4ff5144bad..e21f25094156 100644 --- a/code/game/gamemodes/miniantags/guardian/host_actions.dm +++ b/code/game/gamemodes/miniantags/guardian/host_actions.dm @@ -106,6 +106,7 @@ name = "Place Teleportation Beacon" desc = "Mark a floor as your beacon point, allowing you to warp targets to it. Your beacon requires an anchor, will not work on space tiles." clothes_req = FALSE + antimagic_flags = NONE base_cooldown = 300 SECONDS action_icon_state = "no_state" action_background_icon = 'icons/mob/guardian.dmi' @@ -129,6 +130,7 @@ name = "Set Surveillance Snare" desc = "Places an invisible Surveillance Snare on the ground, if someone walks over it you'll be alerted. Max of 6 snares active at a time" clothes_req = FALSE + antimagic_flags = NONE base_cooldown = 3 SECONDS action_icon_state = "no_state" action_background_icon = 'icons/mob/guardian.dmi' @@ -160,6 +162,7 @@ name = "Change battlecry" desc = "Changes your battlecry." clothes_req = FALSE + antimagic_flags = NONE base_cooldown = 1 SECONDS action_icon_state = "no_state" action_background_icon = 'icons/mob/guardian.dmi' diff --git a/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm b/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm index b8f2f1623bc8..847ee5cce004 100644 --- a/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm +++ b/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm @@ -5,6 +5,7 @@ action_background_icon_state = "bg_morph" action_icon_state = "morph_airlock" clothes_req = FALSE + antimagic_flags = NONE base_cooldown = 10 SECONDS selection_activated_message = "Click on an airlock to try pass it." diff --git a/code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm b/code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm index babc34bc4619..83e7c32d8b69 100644 --- a/code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm +++ b/code/game/gamemodes/miniantags/pulsedemon/pulsedemon.dm @@ -14,7 +14,7 @@ gender = NEUTER speak_chance = 20 - damage_coeff = list(BRUTE = 0, BURN = 0, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) // Pulse demons take damage from nothing + damage_coeff = list(BRUTE = 0, BURN = 0.5, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) // Pulse demons take damage from nothing except some from lasers emote_hear = list("vibrates", "sizzles") speak_emote = list("modulates") @@ -781,9 +781,11 @@ return FALSE /mob/living/simple_animal/demon/pulse_demon/bullet_act(obj/item/projectile/proj) - if(istype(proj, /obj/item/projectile/ion)) + if(proj.damage_type == BURN) + regen_lock = max(regen_lock, 1) return ..() - visible_message("[proj] goes right through [src]!") + else + visible_message("[proj] goes right through [src]!") /mob/living/simple_animal/demon/pulse_demon/electrocute_act(shock_damage, source, siemens_coeff, flags) return @@ -826,6 +828,18 @@ return FALSE return TRUE +/mob/living/simple_animal/demon/pulse_demon/adjustHealth(amount, updating_health) + if(amount > 0) // This damages the pulse demon + return ..() + + if(!ismachinery(loc)) + if(health >= (maxHealth / 2)) + amount = 0 + else + amount = clamp(amount, -((maxHealth / 2) - health), 0) + amount = round(amount, 1) + return ..() + /obj/item/organ/internal/heart/demon/pulse name = "perpetual pacemaker" desc = "It still beats furiously, thousands of bright lights shine within it." diff --git a/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_abilities.dm b/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_abilities.dm index d248e460ba20..97c86faf060d 100644 --- a/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_abilities.dm +++ b/code/game/gamemodes/miniantags/pulsedemon/pulsedemon_abilities.dm @@ -10,6 +10,7 @@ /datum/spell/pulse_demon clothes_req = FALSE + antimagic_flags = NONE action_background_icon_state = "bg_pulsedemon" var/locked = TRUE var/unlock_cost = 1 KJ diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm index 0a167ec7724c..ad6da8561d80 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm @@ -134,6 +134,7 @@ clothes_req = FALSE action_icon_state = "r_transmit" action_background_icon_state = "bg_revenant" + antimagic_flags = MAGIC_RESISTANCE_HOLY|MAGIC_RESISTANCE_MIND /datum/spell/revenant_transmit/create_new_targeting() var/datum/spell_targeting/targeted/T = new() @@ -165,6 +166,7 @@ var/unlock_amount = 100 /// How much essence it costs to use var/cast_amount = 50 + antimagic_flags = MAGIC_RESISTANCE_HOLY /datum/spell/aoe/revenant/New() ..() diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 12def9e3ef48..46ed0c4f3fea 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -7,7 +7,7 @@ /datum/game_mode/revolution name = "revolution" config_tag = "revolution" - restricted_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Blueshield", "Nanotrasen Representative", "Magistrate", "Quartermaster") + restricted_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer", "Blueshield", "Nanotrasen Representative", "Magistrate", "Quartermaster", "Nanotrasen Career Trainer") required_players = 20 required_enemies = 1 recommended_enemies = 3 diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index a4f1f3904517..c1a741341948 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -2,7 +2,7 @@ name = "traitor" config_tag = "traitor" restricted_jobs = list("Cyborg")//They are part of the AI if he is traitor so are they, they use to get double chances - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer", "Trans-Solar Federation General") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer", "Trans-Solar Federation General", "Nanotrasen Career Trainer") required_players = 0 required_enemies = 1 recommended_enemies = 4 diff --git a/code/game/gamemodes/trifecta/trifecta.dm b/code/game/gamemodes/trifecta/trifecta.dm index 2e1798c8a8c9..783de206c6bd 100644 --- a/code/game/gamemodes/trifecta/trifecta.dm +++ b/code/game/gamemodes/trifecta/trifecta.dm @@ -6,7 +6,7 @@ /datum/game_mode/trifecta name = "Trifecta" config_tag = "trifecta" - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Trans-Solar Federation General") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Internal Affairs Agent", "Nanotrasen Career Trainer", "Nanotrasen Navy Officer", "Special Operations Officer", "Trans-Solar Federation General", "Nanotrasen Career Trainer") restricted_jobs = list("Cyborg") secondary_restricted_jobs = list("AI") required_players = 25 diff --git a/code/game/gamemodes/vampire/traitor_vamp.dm b/code/game/gamemodes/vampire/traitor_vamp.dm index 0e6576d4d603..68224edcc120 100644 --- a/code/game/gamemodes/vampire/traitor_vamp.dm +++ b/code/game/gamemodes/vampire/traitor_vamp.dm @@ -2,7 +2,7 @@ name = "traitor_vampire" config_tag = "traitorvamp" traitors_possible = 3 //hard limit on traitors if scaling is turned off - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Trans-Solar Federation General") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Internal Affairs Agent", "Nanotrasen Career Trainer", "Nanotrasen Navy Officer", "Special Operations Officer", "Trans-Solar Federation General") restricted_jobs = list("Cyborg") secondary_restricted_jobs = list("AI", "Chaplain") required_players = 10 diff --git a/code/game/gamemodes/vampire/vampire_chan.dm b/code/game/gamemodes/vampire/vampire_chan.dm index 29ef10b5c104..f0cd8300ccd6 100644 --- a/code/game/gamemodes/vampire/vampire_chan.dm +++ b/code/game/gamemodes/vampire/vampire_chan.dm @@ -2,7 +2,7 @@ name = "vampire_changeling" config_tag = "vampchan" restricted_jobs = list("AI", "Cyborg") - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Chaplain", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer", "Solar Federation General") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Chaplain", "Internal Affairs Agent", "Nanotrasen Career Trainer", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer", "Solar Federation General") species_to_mindflayer = list("Machine") required_players = 15 required_enemies = 1 diff --git a/code/game/gamemodes/vampire/vampire_gamemode.dm b/code/game/gamemodes/vampire/vampire_gamemode.dm index 837577382339..05b15dae3a0c 100644 --- a/code/game/gamemodes/vampire/vampire_gamemode.dm +++ b/code/game/gamemodes/vampire/vampire_gamemode.dm @@ -2,7 +2,7 @@ name = "vampire" config_tag = "vampire" restricted_jobs = list("AI", "Cyborg") - protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Chaplain", "Internal Affairs Agent", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer", "Trans-Solar Federation General") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Blueshield", "Nanotrasen Representative", "Magistrate", "Chaplain", "Internal Affairs Agent", "Nanotrasen Career Trainer", "Nanotrasen Navy Officer", "Special Operations Officer", "Syndicate Officer", "Trans-Solar Federation General", "Nanotrasen Career Trainer") species_to_mindflayer = list("Machine") required_players = 15 required_enemies = 1 diff --git a/code/game/gamemodes/wizard/godhand.dm b/code/game/gamemodes/wizard/godhand.dm index 9c5246972a9a..f75c5a692b83 100644 --- a/code/game/gamemodes/wizard/godhand.dm +++ b/code/game/gamemodes/wizard/godhand.dm @@ -16,6 +16,8 @@ throw_range = 0 throw_speed = 0 new_attack_chain = TRUE + /// Has it been blocked by antimagic? If so, abort. + var/blocked_by_antimagic = FALSE /obj/item/melee/touch_attack/New(spell) attached_spell = spell @@ -39,6 +41,16 @@ /obj/item/melee/touch_attack/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() + var/mob/mob_victim = target + if(istype(mob_victim) && mob_victim.can_block_magic(attached_spell.antimagic_flags)) + to_chat(user, "[mob_victim] absorbs your spell!") + blocked_by_antimagic = TRUE + if(attached_spell && attached_spell.cooldown_handler) + attached_spell.cooldown_handler.start_recharge(attached_spell.cooldown_handler.recharge_duration * 0.5) + qdel(src) + return + +/obj/item/melee/touch_attack/proc/handle_delete(mob/user) if(catchphrase) user.say(catchphrase) playsound(get_turf(user), on_use_sound, 50, 1) @@ -54,13 +66,15 @@ icon_state = "disintegrate" item_state = "disintegrate" + /obj/item/melee/touch_attack/disintegrate/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() - if(!proximity_flag || target == user || !ismob(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //exploding after touching yourself would be bad + if(!proximity_flag || target == user || blocked_by_antimagic || !ismob(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //exploding after touching yourself would be bad return var/mob/M = target do_sparks(4, 0, M.loc) //no idea what the 0 is M.gib() + handle_delete(user) /obj/item/melee/touch_attack/fleshtostone name = "petrifying touch" @@ -72,11 +86,13 @@ /obj/item/melee/touch_attack/fleshtostone/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() - if(!proximity_flag || target == user || !isliving(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //getting hard after touching yourself would also be bad + + if(!proximity_flag || target == user || blocked_by_antimagic || !isliving(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //getting hard after touching yourself would also be bad return var/mob/living/L = target L.Stun(4 SECONDS) new /obj/structure/closet/statue(L.loc, L) + handle_delete(user) /obj/item/melee/touch_attack/plushify name = "fabric touch" @@ -89,10 +105,13 @@ /obj/item/melee/touch_attack/plushify/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() - if(!proximity_flag || target == user || !isliving(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //There are better ways to get a good nights sleep in a bed. + + if(!proximity_flag || target == user || blocked_by_antimagic || !isliving(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //There are better ways to get a good nights sleep in a bed. return var/mob/living/L = target L.plushify() + handle_delete(user) + /obj/item/melee/touch_attack/fake_disintegrate name = "toy plastic hand" @@ -105,10 +124,12 @@ /obj/item/melee/touch_attack/fake_disintegrate/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() - if(!proximity_flag || target == user || !ismob(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //not exploding after touching yourself would be bad + + if(!proximity_flag || target == user || blocked_by_antimagic || !ismob(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //not exploding after touching yourself would be bad return do_sparks(4, 0, target.loc) playsound(target.loc, 'sound/goonstation/effects/gib.ogg', 50, 1) + handle_delete(user) /obj/item/melee/touch_attack/cluwne name = "cluwne touch" @@ -120,7 +141,8 @@ /obj/item/melee/touch_attack/cluwne/after_attack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() - if(!proximity_flag || target == user || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //clowning around after touching yourself would unsurprisingly, be bad + + if(!proximity_flag || target == user || blocked_by_antimagic || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) //clowning around after touching yourself would unsurprisingly, be bad return if(iswizard(target)) @@ -137,3 +159,4 @@ H.makeCluwne() else H.makeAntiCluwne() + handle_delete(user) diff --git a/code/game/gamemodes/wizard/magic_tarot.dm b/code/game/gamemodes/wizard/magic_tarot.dm index 5f7eed073e96..b6d2cbc6140d 100644 --- a/code/game/gamemodes/wizard/magic_tarot.dm +++ b/code/game/gamemodes/wizard/magic_tarot.dm @@ -232,6 +232,11 @@ qdel(src) /obj/item/magic_tarot_card/proc/pre_activate(mob/user, atom/movable/thrower) + if(user != thrower) //Ignore antimagic stuff if the user is the thrower (aka self activation) + if(user.can_block_magic(our_tarot.antimagic_flags, 1)) + visible_message("[src] burns up in a flash on contact with [user]!") + qdel(src) + return has_been_activated = TRUE forceMove(user) var/obj/effect/temp_visual/card_preview/tarot/draft = new(user, "tarot_[our_tarot.card_icon]") @@ -288,6 +293,8 @@ var/card_icon = "the_unknown" /// Are we reversed? Used for the card back. var/reversed = FALSE + /// What antimagic flags do we have? + var/antimagic_flags = MAGIC_RESISTANCE /datum/tarot/proc/activate(mob/living/target) stack_trace("A bugged tarot card was spawned and used. Please make an issue report! Type was [src.type]") @@ -688,8 +695,11 @@ var/sparkle_path = /obj/effect/temp_visual/gravpush for(var/turf/T in range(5, target)) //Done this way so things don't get thrown all around hilariously. for(var/atom/movable/AM in T) + if(ismob(AM)) + var/mob/victim_mob = AM + if(victim_mob.can_block_magic(antimagic_flags)) + continue thrown_atoms += AM - for(var/atom/movable/AM as anything in thrown_atoms) if(AM == target || AM.anchored || (ismob(AM) && !isliving(AM))) continue @@ -729,6 +739,9 @@ /datum/tarot/reversed/the_empress/activate(mob/living/target) for(var/mob/living/L in oview(9, target)) + if(L.can_block_magic(antimagic_flags)) + to_chat(L, "You feel calm for a second, but it quickly passes.") + continue L.apply_status_effect(STATUS_EFFECT_PACIFIED) /datum/tarot/reversed/the_emperor @@ -763,6 +776,8 @@ for(var/mob/living/M in shuffle(orange(7, target))) if(M.stat == DEAD) //Let us not have dead mobs be used to make a disco inferno. continue + if(M.can_block_magic(antimagic_flags)) //Be spared! + continue if(active_chasers >= 2) return var/obj/effect/temp_visual/hierophant/chaser/C = new(get_turf(target), target, M, 1, FALSE) @@ -959,6 +974,7 @@ desc = "May you remember lost memories." extended_desc = "will reveal the memories of everyone in range to the user." card_icon = "the_moon?" + antimagic_flags = MAGIC_RESISTANCE|MAGIC_RESISTANCE_MIND /datum/tarot/reversed/the_moon/activate(mob/living/target) for(var/mob/living/L in view(5, target)) //Shorter range as this kinda can give away antagonists, though that is also funny. diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index ab14142c562f..22e844b19173 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -499,7 +499,9 @@ //Weapons and Armors /datum/spellbook_entry/item/battlemage name = "Battlemage Armor" - desc = "An ensorceled spaceproof suit of protective yet light armor, protected by a powerful shield. The shield can completely negate 15 attacks before permanently failing." + desc = "An ensorceled spaceproof suit of protective yet light armor, protected by a powerful shield. The shield can completely negate 15 attacks before permanently failing. \ + This armor grants you full protection from magical attacks, and allows you to cast magic despite that. However, this means it will also block wands or staffs of \ + healing from working on you, and should be removed before application." item_path = /obj/item/storage/box/wizard/hardsuit limit = 1 category = "Weapons and Armors" diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index fdf42c755982..cb69a0734013 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -107,7 +107,7 @@ ACCESS_INTERNAL_AFFAIRS, ACCESS_LIBRARY, ACCESS_MAGISTRATE, ACCESS_MAINT_TUNNELS, ACCESS_HEADS_VAULT, ACCESS_MEDICAL, ACCESS_MIME, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_MORGUE, ACCESS_NTREP, ACCESS_PARAMEDIC, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_ENGINE_EQUIP, ACCESS_PSYCHIATRIST, ACCESS_QM, ACCESS_RD, ACCESS_RC_ANNOUNCE, ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_RESEARCH, ACCESS_SECURITY, - ACCESS_SURGERY, ACCESS_TECH_STORAGE, ACCESS_TELEPORTER, ACCESS_THEATRE, ACCESS_TCOMSAT, ACCESS_TOX_STORAGE, ACCESS_VIROLOGY, ACCESS_WEAPONS, ACCESS_XENOBIOLOGY) + ACCESS_SURGERY, ACCESS_TECH_STORAGE, ACCESS_TELEPORTER, ACCESS_THEATRE, ACCESS_TCOMSAT, ACCESS_TOX_STORAGE, ACCESS_VIROLOGY, ACCESS_WEAPONS, ACCESS_XENOBIOLOGY, ACCESS_TRAINER) /proc/get_all_centcom_access() return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY, ACCESS_CENT_SHUTTLES, ACCESS_CENT_SPECOPS, ACCESS_CENT_SPECOPS_COMMANDER, ACCESS_CENT_COMMANDER) @@ -126,7 +126,7 @@ if(REGION_ALL) return get_all_accesses() if(REGION_GENERAL) //station general - return list(ACCESS_KITCHEN, ACCESS_BAR, ACCESS_HYDROPONICS, ACCESS_JANITOR, ACCESS_CHAPEL_OFFICE, ACCESS_CREMATORIUM, ACCESS_LIBRARY, ACCESS_THEATRE, ACCESS_INTERNAL_AFFAIRS, ACCESS_MAGISTRATE, ACCESS_CLOWN, ACCESS_MIME) + return list(ACCESS_KITCHEN, ACCESS_BAR, ACCESS_HYDROPONICS, ACCESS_JANITOR, ACCESS_CHAPEL_OFFICE, ACCESS_CREMATORIUM, ACCESS_LIBRARY, ACCESS_THEATRE, ACCESS_INTERNAL_AFFAIRS, ACCESS_MAGISTRATE, ACCESS_CLOWN, ACCESS_MIME, ACCESS_TRAINER) if(REGION_SECURITY) //security return list(ACCESS_SEC_DOORS, ACCESS_WEAPONS, ACCESS_SECURITY, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_FORENSICS_LOCKERS, ACCESS_COURT, ACCESS_HOS) if(REGION_MEDBAY) //medbay @@ -302,6 +302,8 @@ return "AI Satellite" if(ACCESS_WEAPONS) return "Weapon Permit" + if(ACCESS_TRAINER) + return "Nanotrasen Career Trainer" /proc/get_centcom_access_desc(A) switch(A) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index ec1744470965..0d61c9c577b7 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -60,6 +60,7 @@ var/hidden_from_job_prefs = FALSE // if true, job preferences screen never shows this job. var/admin_only = 0 + var/mentor_only = 0 var/spawn_ert = 0 var/syndicate_command = 0 diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index 723ce4f0f603..2b41c27a9e18 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -175,7 +175,8 @@ ACCESS_SECURITY, ACCESS_SUPPLY_SHUTTLE, ACCESS_THEATRE, - ACCESS_WEAPONS + ACCESS_WEAPONS, + ACCESS_TRAINER ) blacklisted_disabilities = list(DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP) outfit = /datum/outfit/job/nanotrasenrep @@ -276,7 +277,8 @@ ACCESS_RC_ANNOUNCE, ACCESS_SEC_DOORS, ACCESS_SECURITY, - ACCESS_WEAPONS + ACCESS_WEAPONS, + ACCESS_TRAINER ) blacklisted_disabilities = list(DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP) outfit = /datum/outfit/job/judge @@ -349,3 +351,74 @@ bio_chips = list(/obj/item/bio_chip/mindshield) satchel = /obj/item/storage/backpack/satchel_sec dufflebag = /obj/item/storage/backpack/duffel/security + +/datum/job/nanotrasentrainer + title = "Nanotrasen Career Trainer" + flag = JOB_INSTRUCTOR + department_flag = JOBCAT_ENGSEC + total_positions = 2 + spawn_positions = 2 + supervisors = "the Nanotrasen Representative" + department_head = list("Captain") + selection_color = "#ddddff" + mentor_only = TRUE + job_department_flags = DEP_FLAG_COMMAND + transfer_allowed = FALSE + access = list( + ACCESS_ALL_PERSONAL_LOCKERS, + ACCESS_CARGO, + ACCESS_MAILSORTING, + ACCESS_CONSTRUCTION, + ACCESS_COURT, + ACCESS_EVA, + ACCESS_MAINT_TUNNELS, + ACCESS_MEDICAL, + ACCESS_RESEARCH, + ACCESS_SEC_DOORS, + ACCESS_THEATRE, + ACCESS_INTERNAL_AFFAIRS, + ACCESS_TRAINER + ) + blacklisted_disabilities = list(DISABILITY_FLAG_DEAF, DISABILITY_FLAG_MUTE, DISABILITY_FLAG_NERVOUS, DISABILITY_FLAG_LISP) + outfit = /datum/outfit/job/nct + important_information = "Your job is to try to assist as many crew members as possible regardless of department. You are NOT permitted to give command staff advice on any command SOP questions or aid in legal advice." + +/datum/outfit/job/nct + name = "Nanotrasen Career Trainer" + jobtype = /datum/job/nanotrasentrainer + uniform = /obj/item/clothing/under/rank/procedure/nct + suit = /obj/item/clothing/suit/storage/nct + gloves = /obj/item/clothing/gloves/color/white + shoes = /obj/item/clothing/shoes/centcom + head = /obj/item/clothing/head/beret/nct/green + glasses = /obj/item/clothing/glasses/hud/skills/sunglasses + l_ear = /obj/item/radio/headset/headset_nct + id = /obj/item/card/id/nct + l_pocket = /obj/item/card/id/nct_data_chip + r_pocket = /obj/item/flash + pda = /obj/item/pda/heads/ntrep + backpack = /obj/item/storage/backpack/satchel + + backpack_contents = list( + /obj/item/pinpointer/crew = 1, + /obj/item/healthanalyzer/advanced = 1, + /obj/item/book/manual/sop_ntinstructor, + /obj/item/laser_pointer/blue = 1 + ) + + bio_chips = list(/obj/item/bio_chip/mindshield) + +/datum/outfit/job/nct/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(visualsOnly) + return + + var/obj/item/card/id/nct_data_chip/I = H.l_store + I.registered_user = H.mind.current + I.registered_name = H.real_name + var/icon/newphoto = get_id_photo(H, "Nanotrasen Career Trainer") + I.photo = newphoto + +/datum/outfit/job/nct/on_mind_initialize(mob/living/carbon/human/H) + . = ..() + H.mind.offstation_role = TRUE diff --git a/code/game/jobs/job_globals.dm b/code/game/jobs/job_globals.dm index eafaadcfaa14..b81f5e410929 100644 --- a/code/game/jobs/job_globals.dm +++ b/code/game/jobs/job_globals.dm @@ -14,7 +14,8 @@ GLOBAL_LIST_INIT(command_positions, list( "Quartermaster", "Nanotrasen Representative", "Magistrate", - "Blueshield" + "Blueshield", + "Nanotrasen Career Trainer" )) /// Only roles that are command of departments, for revolution and similar stuff diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 42175880711c..6e037b9db450 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -76,7 +76,7 @@ if(prob(30)) do_sparks(2, 1, T) T.ex_act(EXPLODE_LIGHT) - T.hotspot_expose(1000,500,1) + T.hotspot_expose(1000,500) /obj/machinery/computer/holodeck_control/proc/loadProgram(area/A) diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index ae795b6b92e8..9b3fee6c25ca 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -12,8 +12,9 @@ /obj/machinery/computer/atmos_alert/Initialize(mapload) . = ..() alarm_cache = list() - alarm_cache["minor"] = list() alarm_cache["priority"] = list() + alarm_cache["minor"] = list() + alarm_cache["mode"] = list() var/area/machine_area = get_area(src) parent_area_type = machine_area.get_top_parent_type() @@ -34,6 +35,10 @@ else alarm_cache["priority"] -= air_alarm.alarm_area.name alarm_cache["minor"] -= air_alarm.alarm_area.name + if(air_alarm.mode == AALARM_MODE_FILTERING) + alarm_cache["mode"] -= air_alarm.alarm_area.name + else + alarm_cache["mode"][air_alarm.alarm_area.name] = GLOB.aalarm_modes["[air_alarm.mode]"] update_icon() diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 67247f5aa475..dd3c3014f01e 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -50,7 +50,8 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) /datum/job/nanotrasenrep, /datum/job/chaplain, /datum/job/officer, - /datum/job/qm + /datum/job/qm, + /datum/job/nanotrasentrainer ) //The scaling factor of max total positions in relation to the total amount of people on board the station in % @@ -154,17 +155,19 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) /obj/machinery/computer/card/attackby__legacy__attackchain(obj/item/card/id/id_card, mob/user, params) if(!istype(id_card)) return ..() + if(istype(id_card, /obj/item/card/id/nct_data_chip)) + return ..() if(!scan && check_access(id_card)) user.drop_item() id_card.forceMove(src) scan = id_card - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) else if(!modify) user.drop_item() id_card.forceMove(src) modify = id_card - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) SStgui.update_uis(src) attack_hand(user) @@ -425,14 +428,18 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) else if(Adjacent(usr)) var/obj/item/I = usr.get_active_hand() if(istype(I, /obj/item/card/id)) + if(istype(I, /obj/item/card/id/nct_data_chip)) + playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, FALSE) + to_chat(usr, "The data chip doesn't fit!") + return FALSE if(!check_access(I)) - playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0) + playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, FALSE) to_chat(usr, "This card does not have access.") return FALSE usr.drop_item() I.forceMove(src) scan = I - playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, 0) + playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE) return if("modify") // inserting or removing the ID you plan to modify if(modify) @@ -451,6 +458,10 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) else if(Adjacent(usr)) var/obj/item/I = usr.get_active_hand() if(istype(I, /obj/item/card/id)) + if(istype(I, /obj/item/card/id/nct_data_chip)) + playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, FALSE) + to_chat(usr, "The data chip doesn't fit!") + return FALSE usr.drop_item() I.forceMove(src) modify = I diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 63907c3abe3e..bef6a5ba1474 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1294,6 +1294,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) return TRUE SEND_SIGNAL(src, COMSIG_AIRLOCK_OPEN) operating = DOOR_OPENING + recalculate_atmos_connectivity() update_icon(AIRLOCK_OPENING, 1) sleep(1) set_opacity(0) @@ -1304,7 +1305,6 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) density = FALSE if(width > 1) set_fillers_density(FALSE) - recalculate_atmos_connectivity() sleep(1) layer = OPEN_DOOR_LAYER update_icon(AIRLOCK_OPEN, 1) @@ -1346,7 +1346,6 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) density = TRUE if(width > 1) set_fillers_density(TRUE) - recalculate_atmos_connectivity() if(!override) sleep(4) if(!safe) @@ -1359,6 +1358,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays) sleep(1) update_icon(AIRLOCK_CLOSED, 1) operating = NONE + recalculate_atmos_connectivity() if(safe) CheckForMobs() return TRUE diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 6b90f4650b56..fd9fd32a64cc 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -142,7 +142,7 @@ return !density /obj/machinery/door/CanAtmosPass(direction) - return !density + return operating || !density /obj/machinery/door/get_superconductivity(direction) if(!density) @@ -373,6 +373,7 @@ return SEND_SIGNAL(src, COMSIG_DOOR_OPEN) operating = DOOR_OPENING + recalculate_atmos_connectivity() do_animate("opening") set_opacity(0) if(width > 1) @@ -388,7 +389,6 @@ if(width > 1) set_fillers_opacity(0) operating = NONE - recalculate_atmos_connectivity() update_freelook_sight() if(autoclose) autoclose_in(normalspeed ? auto_close_time : auto_close_time_dangerous) diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index a3f244b92a8b..2dc5de2e0d25 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -204,6 +204,7 @@ return 0 if(!operating) //in case of emag operating = DOOR_OPENING + recalculate_atmos_connectivity() do_animate("opening") set_opacity(FALSE) playsound(loc, 'sound/machines/windowdoor.ogg', 100, 1) @@ -235,11 +236,11 @@ density = TRUE if(polarized_on) set_opacity(TRUE) - recalculate_atmos_connectivity() update_freelook_sight() sleep(10) operating = NONE + recalculate_atmos_connectivity() return 1 /obj/machinery/door/window/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) diff --git a/code/game/machinery/floor_igniter.dm b/code/game/machinery/floor_igniter.dm index cc1e4c220d9e..7659327ca140 100644 --- a/code/game/machinery/floor_igniter.dm +++ b/code/game/machinery/floor_igniter.dm @@ -57,7 +57,7 @@ if(on && !(stat & NOPOWER)) var/turf/location = get_turf(src) if(isturf(location)) - location.hotspot_expose(1000, 500, 1) + location.hotspot_expose(1000, 1) return TRUE /obj/machinery/igniter/Initialize(mapload) @@ -132,7 +132,7 @@ var/turf/location = get_turf(src) if(isturf(location)) - location.hotspot_expose(1000, 500, 1) + location.hotspot_expose(1000, 500) return TRUE diff --git a/code/game/machinery/guestpass.dm b/code/game/machinery/guestpass.dm index 52f90c600d64..3fe784f09c6b 100644 --- a/code/game/machinery/guestpass.dm +++ b/code/game/machinery/guestpass.dm @@ -61,6 +61,9 @@ my_terminal_id = ++global_terminal_id /obj/machinery/computer/guestpass/attackby__legacy__attackchain(obj/item/I, mob/user, params) + if(istype(I, /obj/item/card/id/nct_data_chip)) + to_chat(user, "[I] does not seem compatible with this terminal!") + return if(istype(I, /obj/item/card/id)) if(!scan) if(user.drop_item()) diff --git a/code/game/machinery/machine_frame.dm b/code/game/machinery/machine_frame.dm index fb6dbae4e02f..a0f34506ee2a 100644 --- a/code/game/machinery/machine_frame.dm +++ b/code/game/machinery/machine_frame.dm @@ -317,7 +317,8 @@ to destroy them and players will be able to make replacements. "BarDrobe" = /obj/machinery/economy/vending/bardrobe, "HydroDrobe" = /obj/machinery/economy/vending/hydrodrobe, "JaniDrobe" = /obj/machinery/economy/vending/janidrobe, - "LawDrobe" = /obj/machinery/economy/vending/lawdrobe) + "LawDrobe" = /obj/machinery/economy/vending/lawdrobe, + "TrainDrobe" = /obj/machinery/economy/vending/traindrobe) var/static/list/unique_vendors = list( "ShadyCigs Ultra" = /obj/machinery/economy/vending/cigarette/beach, "SyndiMed Plus" = /obj/machinery/economy/vending/wallmed/syndicate) diff --git a/code/game/machinery/tcomms/nttc.dm b/code/game/machinery/tcomms/nttc.dm index d2182137d897..993187499f13 100644 --- a/code/game/machinery/tcomms/nttc.dm +++ b/code/game/machinery/tcomms/nttc.dm @@ -132,6 +132,8 @@ "Journalist" = "srvradio", "Librarian" = "srvradio", "Mime" = "srvradio", + // Procedure + "Nanotrasen Career Trainer" = "proradio", ) /// List of Command jobs var/list/heads = list("Captain", "Head of Personnel", "Nanotrasen Representative", "Blueshield", "Chief Engineer", "Chief Medical Officer", "Research Director", "Head of Security", "Magistrate", "Quartermaster", "AI") diff --git a/code/game/machinery/vendors/departmental_vendors.dm b/code/game/machinery/vendors/departmental_vendors.dm index 63d9b65e5d1f..039d460e9287 100644 --- a/code/game/machinery/vendors/departmental_vendors.dm +++ b/code/game/machinery/vendors/departmental_vendors.dm @@ -7,7 +7,7 @@ category = VENDOR_TYPE_DEPARTMENTAL req_one_access = list(ACCESS_ENGINE_EQUIP, ACCESS_ATMOSPHERICS) products = list(/obj/item/clothing/glasses/meson/engine = 2, - /obj/item/clothing/glasses/meson/engine/tray = 4, + /obj/item/clothing/glasses/meson/engine/atmos = 4, /obj/item/multitool = 4, /obj/item/geiger_counter = 5, /obj/item/airlock_electronics = 10, diff --git a/code/game/machinery/vendors/generic_vendors.dm b/code/game/machinery/vendors/generic_vendors.dm index 33912e12fd4b..e78dba978730 100644 --- a/code/game/machinery/vendors/generic_vendors.dm +++ b/code/game/machinery/vendors/generic_vendors.dm @@ -456,23 +456,23 @@ /obj/item/clothing/head/beanie/stripedblue = 3, /obj/item/clothing/head/beanie/stripedgreen = 3, /obj/item/clothing/head/beanie/rasta = 3, - /obj/item/clothing/accessory/scarf/red = 3, - /obj/item/clothing/accessory/scarf/green = 3, - /obj/item/clothing/accessory/scarf/darkblue = 3, - /obj/item/clothing/accessory/scarf/purple = 3, - /obj/item/clothing/accessory/scarf/yellow = 3, - /obj/item/clothing/accessory/scarf/orange = 3, - /obj/item/clothing/accessory/scarf/lightblue = 3, - /obj/item/clothing/accessory/scarf/white = 3, - /obj/item/clothing/accessory/scarf/black = 3, - /obj/item/clothing/accessory/scarf/zebra = 3, - /obj/item/clothing/accessory/scarf/christmas = 3, - /obj/item/clothing/accessory/stripedredscarf = 3, - /obj/item/clothing/accessory/stripedbluescarf = 3, - /obj/item/clothing/accessory/stripedgreenscarf = 3, - /obj/item/clothing/accessory/blue = 3, - /obj/item/clothing/accessory/red = 3, - /obj/item/clothing/accessory/black = 3, + /obj/item/clothing/neck/scarf/red = 3, + /obj/item/clothing/neck/scarf/green = 3, + /obj/item/clothing/neck/scarf/darkblue = 3, + /obj/item/clothing/neck/scarf/purple = 3, + /obj/item/clothing/neck/scarf/yellow = 3, + /obj/item/clothing/neck/scarf/orange = 3, + /obj/item/clothing/neck/scarf/lightblue = 3, + /obj/item/clothing/neck/scarf/white = 3, + /obj/item/clothing/neck/scarf/black = 3, + /obj/item/clothing/neck/scarf/zebra = 3, + /obj/item/clothing/neck/scarf/christmas = 3, + /obj/item/clothing/neck/scarf/stripedred = 3, + /obj/item/clothing/neck/scarf/stripedblue = 3, + /obj/item/clothing/neck/scarf/stripedgreen = 3, + /obj/item/clothing/neck/tie/blue = 3, + /obj/item/clothing/neck/tie/red = 3, + /obj/item/clothing/neck/tie/black = 3, /obj/item/clothing/accessory/waistcoat = 2, /obj/item/clothing/under/dress/sundress = 2, /obj/item/clothing/under/dress/stripeddress = 2, @@ -496,9 +496,9 @@ /obj/item/storage/belt/fannypack = 1, /obj/item/storage/belt/fannypack/blue = 1, /obj/item/storage/belt/fannypack/red = 1, - /obj/item/clothing/suit/mantle = 2, - /obj/item/clothing/suit/mantle/old = 1, - /obj/item/clothing/suit/mantle/regal = 2) + /obj/item/clothing/neck/cloak/mantle = 2, + /obj/item/clothing/neck/cloak/old = 1, + /obj/item/clothing/neck/cloak/regal = 2) contraband = list(/obj/item/clothing/under/syndicate/tacticool = 1, /obj/item/clothing/mask/balaclava = 1, @@ -543,23 +543,23 @@ /obj/item/clothing/head/beanie/stripedblue = 40, /obj/item/clothing/head/beanie/stripedgreen = 40, /obj/item/clothing/head/beanie/rasta = 40, - /obj/item/clothing/accessory/scarf/red = 20, - /obj/item/clothing/accessory/scarf/green = 20, - /obj/item/clothing/accessory/scarf/darkblue = 20, - /obj/item/clothing/accessory/scarf/purple = 20, - /obj/item/clothing/accessory/scarf/yellow = 20, - /obj/item/clothing/accessory/scarf/orange = 20, - /obj/item/clothing/accessory/scarf/lightblue = 20, - /obj/item/clothing/accessory/scarf/white = 20, - /obj/item/clothing/accessory/scarf/black = 20, - /obj/item/clothing/accessory/scarf/zebra = 20, - /obj/item/clothing/accessory/scarf/christmas = 20, - /obj/item/clothing/accessory/stripedredscarf = 20, - /obj/item/clothing/accessory/stripedbluescarf = 20, - /obj/item/clothing/accessory/stripedgreenscarf = 20, - /obj/item/clothing/accessory/blue = 20, - /obj/item/clothing/accessory/red = 20, - /obj/item/clothing/accessory/black = 20, + /obj/item/clothing/neck/scarf/red = 20, + /obj/item/clothing/neck/scarf/green = 20, + /obj/item/clothing/neck/scarf/darkblue = 20, + /obj/item/clothing/neck/scarf/purple = 20, + /obj/item/clothing/neck/scarf/yellow = 20, + /obj/item/clothing/neck/scarf/orange = 20, + /obj/item/clothing/neck/scarf/lightblue = 20, + /obj/item/clothing/neck/scarf/white = 20, + /obj/item/clothing/neck/scarf/black = 20, + /obj/item/clothing/neck/scarf/zebra = 20, + /obj/item/clothing/neck/scarf/christmas = 20, + /obj/item/clothing/neck/scarf/stripedred = 20, + /obj/item/clothing/neck/scarf/stripedblue = 20, + /obj/item/clothing/neck/scarf/stripedgreen = 20, + /obj/item/clothing/neck/tie/blue = 20, + /obj/item/clothing/neck/tie/red = 20, + /obj/item/clothing/neck/tie/black = 20, /obj/item/clothing/accessory/waistcoat = 20, /obj/item/clothing/under/dress/sundress = 75, /obj/item/clothing/under/dress/stripeddress = 75, @@ -584,9 +584,9 @@ /obj/item/storage/belt/fannypack = 50, /obj/item/storage/belt/fannypack/blue = 50, /obj/item/storage/belt/fannypack/red = 50, - /obj/item/clothing/suit/mantle = 20, - /obj/item/clothing/suit/mantle/old = 20, - /obj/item/clothing/suit/mantle/regal = 30, + /obj/item/clothing/neck/cloak/mantle = 20, + /obj/item/clothing/neck/cloak/old = 20, + /obj/item/clothing/neck/cloak/regal = 30, /obj/item/clothing/suit/pimpcoat/white = 500, /obj/item/clothing/under/misc/mailman = 100) @@ -717,7 +717,7 @@ /obj/item/clothing/suit/poncho = 1, /obj/item/clothing/suit/poncho/green = 1, /obj/item/clothing/suit/poncho/red = 1, - /obj/item/clothing/accessory/horrible = 1, + /obj/item/clothing/neck/tie/horrible = 1, /obj/item/clothing/under/costume/maid = 1, /obj/item/clothing/under/costume/janimaid = 1, /obj/item/clothing/under/costume/jester = 1, @@ -835,7 +835,7 @@ /obj/item/clothing/suit/poncho = 75, /obj/item/clothing/suit/poncho/green = 75, /obj/item/clothing/suit/poncho/red = 75, - /obj/item/clothing/accessory/horrible = 30, + /obj/item/clothing/neck/tie/horrible = 30, /obj/item/clothing/under/costume/maid = 75, /obj/item/clothing/under/costume/janimaid = 75, /obj/item/clothing/under/costume/jester = 100, diff --git a/code/game/machinery/vendors/wardrobe_vendors.dm b/code/game/machinery/vendors/wardrobe_vendors.dm index a149a1b0d63c..9ef0c7459b3c 100644 --- a/code/game/machinery/vendors/wardrobe_vendors.dm +++ b/code/game/machinery/vendors/wardrobe_vendors.dm @@ -922,3 +922,41 @@ /obj/item/clothing/under/plasmaman/enviroslacks = 60) refill_canister = /obj/item/vending_refill/lawdrobe + +/obj/machinery/economy/vending/traindrobe + name = "\improper TrainDrobe" + desc = "This wardrobe dispenses the attire of Nanotrasen's finest teaching force." + icon_state = "traindrobe" + icon_lightmask = "base_drobe" + icon_panel = "drobe" + icon_broken = "base_drobe" + icon_off = "base_drobe" + category = VENDOR_TYPE_CLOTHING + ads_list = list("You're gonna LEARN today!", "What am I supposed to do?") + vend_reply = "Thank you for using the TrainDrobe!" + products = list( + /obj/item/clothing/gloves/color/white = 2, + /obj/item/clothing/gloves/color/black = 2, + /obj/item/clothing/shoes/laceup = 2, + /obj/item/clothing/shoes/black = 2, + /obj/item/clothing/shoes/brown = 2, + /obj/item/clothing/head/drilltrainer = 2, + /obj/item/clothing/under/rank/procedure/nct = 2, + /obj/item/clothing/under/rank/procedure/nct/skirt = 2, + /obj/item/clothing/suit/storage/nct = 2, + /obj/item/clothing/head/helmet/space/plasmaman/trainer = 2, + /obj/item/clothing/under/plasmaman/trainer = 2, + /obj/item/clothing/accessory/armband/procedure = 2, + /obj/item/clothing/head/beret/nct/green = 2, + /obj/item/clothing/head/beret/nct/black = 2, + /obj/item/clothing/head/beret/sec = 2, + /obj/item/clothing/head/beret/med = 2, + /obj/item/clothing/head/beret/sci = 2, + /obj/item/clothing/head/beret/eng = 2, + /obj/item/clothing/head/beret/atmos = 2, + /obj/item/clothing/head/beret/cargo = 2, + /obj/item/clothing/head/beret/black = 2) + + prices = list() + + refill_canister = /obj/item/vending_refill/traindrobe diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm index 9f212e3400a8..4475574cab65 100644 --- a/code/game/mecha/mecha_construction_paths.dm +++ b/code/game/mecha/mecha_construction_paths.dm @@ -1529,7 +1529,7 @@ holder.icon_state = "phazon16" else user.visible_message("[user] removes the bluespace crystal from the [holder].", "You remove the bluespace crystal from the [holder].") - new /obj/item/stack/ore/bluespace_crystal(get_turf(holder), new_amount = 5) + new /obj/item/stack/ore/bluespace_crystal(get_turf(holder), 5) holder.icon_state = "phazon14" if(8) if(diff==CONSTRUCTION_PATH_FORWARDS) diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index 89aa71313140..1d213eb825e2 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -341,7 +341,6 @@ /obj/effect/anomaly/pyro name = "pyroclastic anomaly" icon_state = "mustard" - var/ticks = 0 var/produces_slime = TRUE aSignal = /obj/item/assembly/signaler/anomaly/pyro @@ -351,16 +350,11 @@ /obj/effect/anomaly/pyro/anomalyEffect() ..() - ticks++ for(var/mob/living/M in hearers(4, src)) if(prob(50)) M.adjust_fire_stacks(4) M.IgniteMob() - if(ticks < 4) - return - else - ticks = 0 var/turf/simulated/T = get_turf(src) if(istype(T)) var/datum/gas_mixture/air = new() @@ -382,8 +376,8 @@ //Make it hot and burny for the new slime var/datum/gas_mixture/air = new() air.set_temperature(1000) - air.set_toxins(500) - air.set_oxygen(500) + air.set_toxins(125) + air.set_oxygen(125) T.blind_release_air(air) var/new_colour = pick("red", "orange") var/mob/living/simple_animal/slime/S = new(T, new_colour) diff --git a/code/game/objects/effects/decals/contraband_posters.dm b/code/game/objects/effects/decals/contraband_posters.dm index 235c6d836bb9..57344002c4d2 100644 --- a/code/game/objects/effects/decals/contraband_posters.dm +++ b/code/game/objects/effects/decals/contraband_posters.dm @@ -580,4 +580,59 @@ desc = "A healthy crew is a happy crew!" icon_state = "poster40_legit" +/obj/structure/sign/poster/official/darkpurpl + name = "Dark Purp-L" + desc = "A poster for the band \"Dark Purp-L\". They label their music 'Plasmawave'; mixed from various space age sounds like creaking hulls and plasma emitters, it's gained traction in recent years amongst bored ship engineers. " + icon_state = "poster41_legit" + +/obj/structure/sign/poster/official/root + name = "Root Song" + desc = "A poster for all-Diona Jazz band \"Root Song\". When a travelling jazz band's ship crashed on a Diona overgrowth planet, a whole host of musically-inclined Dionea sprung forth. Though the beloved band members sadly perished in the crash, their love of Jazz lived on with these Dionea, who travel the galaxy in the repaired wreck of that ship, under the moniker \"Root Song\"." + icon_state = "poster42_legit" + +/obj/structure/sign/poster/official/core + name = "CO!RE" + desc = "A poster for the all-Slime melodic rap label CO!RE. Known for their unique blend of hard-hitting vocals and traditional Xarxis woodwind instruments, CO!RE took the Federation R&B scene by storm during their debut, and has since engaged in several high-intensity tours across the sector." + icon_state = "poster43_legit" + +/obj/structure/sign/poster/official/metal + name = "METAL" + desc = "A poster for an IPC metal band, aptly named \"METAL\". Though their chassis are dated and badly damaged, they rage on evermore! The electric guitarist, SKULL, has an amp built into their head." + icon_state = "poster44_legit" + +/obj/structure/sign/poster/official/kpop + name = "Kidan Pop" + desc = "A poster for a Kidan boyband known as \"K-Pop\". Though other species find their chittering vocals grating and tuneless, they're wildly popular among young Kidan living in the TSF." + icon_state = "poster45_legit" + +/obj/structure/sign/poster/official/graydays + name = "Gray Days" + desc = "A poster for an emo band of greys. They're known to play a form of Death Metal, but it's so quiet you can only barely hear the words. If you turn the speaker way up, the lyrics are mournful and deep; just remember to turn it back down once you're finished listening." + icon_state = "poster46_legit" + +/obj/structure/sign/poster/official/unathicrush + name = "CRUSH" + desc = "A poster for a unathi band called \"Heart Crush\". They mostly write diss tracks about their bitter rivals, the band \"Heart Smash\". Never tell one of their fans you like the other band, or you can expect a violent argument." + icon_state = "poster47_legit" + +/obj/structure/sign/poster/official/unathismash + name = "SMASH" + desc = "A poster for a unathi band called \"Heart Smash\". They're famously bitter rivals with a very similar band, \"Heart Crush\", who they constantly accuse of copying their style. After multiple assaults and restraining orders, the two are back on tour." + icon_state = "poster48_legit" + +/obj/structure/sign/poster/official/star + name = "Star" + desc = "A poster for a musical called \"Star\". The lead singer and actor searches across the galaxy in a cruise ship for his one true love - the titular \"Star\"." + icon_state = "poster49_legit" + +/obj/structure/sign/poster/official/soul + name = "Kindred Soul" + desc = "A poster for a rarely-seen orchestral band known as \"Kindred Soul\". Those who have been lucky enough to catch a performance say their vocals are deeply moving." + icon_state = "poster50_legit" + +/obj/structure/sign/poster/official/choir + name = "\"Skreethoven's\" Choir" + desc = "A poster for a classical Vox performance group including a full choir and orchestra. The chorists have a great harmony. Despite his violent protestation, the star organist can't shake his popular nickname, \"Skreethoven\"." + icon_state = "poster51_legit" + #undef PLACE_SPEED diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm index 15cfd65b5434..7d6fbdf0d647 100644 --- a/code/game/objects/effects/effect_system/effects_smoke.dm +++ b/code/game/objects/effects/effect_system/effects_smoke.dm @@ -175,53 +175,71 @@ name = "nanofrost smoke" color = "#B2FFFF" opacity = FALSE + var/spread_range = 6 + lifetime = 0.5 SECONDS_TO_LIFE_CYCLES /datum/effect_system/smoke_spread/freezing effect_type = /obj/effect/particle_effect/smoke/freezing - var/blast = FALSE - -/datum/effect_system/smoke_spread/freezing/proc/Chilled(atom/A) - if(issimulatedturf(A)) - var/turf/simulated/T = A - if(!T.blocks_air) - var/datum/milla_safe/smoke_spread_chill/milla = new() - milla.invoke_async(src, T) - for(var/obj/machinery/atmospherics/unary/vent_pump/V in T) - if(!isnull(V.welded) && !V.welded) //must be an unwelded vent pump. - V.welded = TRUE - V.update_icon() - V.visible_message("[V] was frozen shut!") - for(var/obj/machinery/atmospherics/unary/vent_scrubber/U in T) - if(!isnull(U.welded) && !U.welded) //must be an unwelded vent scrubber. - U.welded = TRUE - U.update_icon() - U.visible_message("[U] was frozen shut!") - for(var/mob/living/L in T) - L.ExtinguishMob() - for(var/obj/item/Item in T) - Item.extinguish() - -/datum/milla_safe/smoke_spread_chill - -/datum/milla_safe/smoke_spread_chill/on_run(datum/effect_system/smoke_spread/smoke, turf/T) + +/obj/effect/particle_effect/smoke/freezing/process() + . = ..() + var/turf/T = get_turf(src) + if(!istype(T)) + return + + for(var/obj/machinery/atmospherics/unary/vent_pump/V in T) + if(!isnull(V.welded) && !V.welded) //must be an unwelded vent pump. + V.welded = TRUE + V.update_icon() + V.visible_message("[V] was frozen shut!") + for(var/obj/machinery/atmospherics/unary/vent_scrubber/U in T) + if(!isnull(U.welded) && !U.welded) //must be an unwelded vent scrubber. + U.welded = TRUE + U.update_icon() + U.visible_message("[U] was frozen shut!") + for(var/mob/living/L in T) + L.ExtinguishMob() + for(var/obj/item/Item in T) + Item.extinguish() + + var/datum/milla_safe/nanofrost_extinguish/milla = new() + milla.invoke_async(src, T) + +/datum/milla_safe/nanofrost_extinguish/on_run(obj/effect/particle_effect/smoke/freezing/smoke, turf/T) + if(!istype(T)) + return var/datum/gas_mixture/env = get_turf_air(T) - if(get_dist(T, smoke) < 2) // Otherwise we'll get silliness like people using Nanofrost to kill people through walls with cold air - env.set_temperature(2) - for(var/obj/effect/hotspot/H in T) + for(var/obj/effect/hotspot/fake/H in T) qdel(H) - if(env.toxins()) - env.set_nitrogen(env.nitrogen() + env.toxins()) - env.set_toxins(0) - -/datum/effect_system/smoke_spread/freezing/set_up(amount = 5, only_cardinals = FALSE, source, desired_direction, datum/reagents/chemicals, blasting = FALSE) - ..() - blast = blasting - -/datum/effect_system/smoke_spread/freezing/start() - if(blast) - for(var/turf/T in RANGE_TURFS(2, location)) - Chilled(T) - ..() + + if(env.fuel_burnt() == 0) + return + + env.set_temperature(2) + env.set_nitrogen(env.nitrogen() + env.toxins()) + env.set_toxins(0) + + if(smoke.spread_range <= 0 || smoke.lifetime > 0) + return + + // Spread the smoke, up to spread_range. + for(var/direction in list(NORTH, SOUTH, EAST, WEST)) + var/turf/neighbor = get_step(T, direction) + if(isnull(neighbor)) + continue + if(neighbor.density) + continue + var/has_nanofrost = FALSE + for(var/datum/effect_system/smoke_spread/freezing in neighbor) + has_nanofrost = TRUE + break + if(has_nanofrost) + continue + if(prob(50)) + continue + + var/obj/effect/particle_effect/smoke/freezing/new_smoke = new(neighbor) + new_smoke.spread_range = smoke.spread_range - 1 ///////////////////////////////////////////// // Sleep smoke diff --git a/code/game/objects/effects/effect_system/effects_sparks.dm b/code/game/objects/effects/effect_system/effects_sparks.dm index c744bca02c36..69798349d8cd 100644 --- a/code/game/objects/effects/effect_system/effects_sparks.dm +++ b/code/game/objects/effects/effect_system/effects_sparks.dm @@ -26,20 +26,20 @@ playsound(src, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) var/turf/T = loc if(isturf(T)) - T.hotspot_expose(hotspottemp, 100) + T.hotspot_expose(hotspottemp, 1) QDEL_IN(src, 20) /obj/effect/particle_effect/sparks/Destroy() var/turf/T = loc if(isturf(T)) - T.hotspot_expose(hotspottemp,100) + T.hotspot_expose(hotspottemp,1) return ..() /obj/effect/particle_effect/sparks/Move() ..() var/turf/T = loc if(isturf(T)) - T.hotspot_expose(hotspottemp,100) + T.hotspot_expose(hotspottemp,1) /datum/effect_system/spark_spread effect_type = /obj/effect/particle_effect/sparks diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index 7c59c10efe16..b86ae670a395 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -17,6 +17,8 @@ /obj/effect/forcefield/wizard var/mob/wizard + /// Flags for what antimagic can just ignore our forcefields + var/antimagic_flags = MAGIC_RESISTANCE /obj/effect/forcefield/wizard/Initialize(mapload, mob/summoner) . = ..() @@ -25,6 +27,10 @@ /obj/effect/forcefield/wizard/CanPass(atom/movable/mover, border_dir) if(mover == wizard) return TRUE + if(isliving(mover)) + var/mob/living/living_mover = mover + if(living_mover.can_block_magic(antimagic_flags, charge_cost = 0)) + return TRUE return FALSE ///////////Mimewalls/////////// diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index b4dac11fbc36..f03b08668d82 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -422,9 +422,16 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/newplayer_start) //Without this you sp name = "Warden" icon_state = "Warden" +/obj/effect/landmark/start/nanotrasen_career_trainer + name ="Nanotrasen Career Trainer" + icon_state = "NCT" + /obj/effect/landmark/start/set_tag() tag = "start*[name]" +/obj/effect/landmark/game_test/bottom_left_corner + +/obj/effect/landmark/game_test/top_right_corner //Costume spawner landmarks diff --git a/code/game/objects/effects/spawners/random/bluespace_tap_spawners.dm b/code/game/objects/effects/spawners/random/bluespace_tap_spawners.dm index a2ca9fce872d..25b21a269546 100644 --- a/code/game/objects/effects/spawners/random/bluespace_tap_spawners.dm +++ b/code/game/objects/effects/spawners/random/bluespace_tap_spawners.dm @@ -54,7 +54,7 @@ /obj/machinery/snow_machine = 10, /obj/item/clothing/head/kitty = 5, /obj/item/coin/antagtoken = 5, - /obj/item/toy/prizeball/figure = 15, + /obj/item/toy/prizeball/action_figure = 15, /obj/item/toy/prizeball/therapy = 10, /obj/item/bedsheet/patriot = 2, /obj/item/bedsheet/rainbow = 2, diff --git a/code/game/objects/effects/spawners/random/plushie_spawners.dm b/code/game/objects/effects/spawners/random/plushie_spawners.dm index 9076664f6162..0eddbbe48197 100644 --- a/code/game/objects/effects/spawners/random/plushie_spawners.dm +++ b/code/game/objects/effects/spawners/random/plushie_spawners.dm @@ -83,3 +83,20 @@ /obj/item/toy/plushie/nianplushie/rainbow = 1 ), ) + +/obj/effect/spawner/random/plushies/explosive + /// Chance to spawn a minibomb in the plushie. + var/explosive_chance = 1 + +/obj/effect/spawner/random/plushies/explosive/make_item(spawn_loc, type_path_to_make) + var/obj/item/toy/plushie/plushie = ..() + + if(!istype(plushie)) + return plushie + + if(prob(explosive_chance)) + plushie.has_stuffing = FALSE + var/obj/item/grenade/syndieminibomb/grenade = new(plushie) + plushie.grenade = grenade + + return plushie diff --git a/code/game/objects/effects/spawners/random/toy_spawners.dm b/code/game/objects/effects/spawners/random/toy_spawners.dm new file mode 100644 index 000000000000..01fb4300baf6 --- /dev/null +++ b/code/game/objects/effects/spawners/random/toy_spawners.dm @@ -0,0 +1,29 @@ +/obj/effect/spawner/random/toy + name = "random toy spawner" + icon = 'icons/effects/random_spawners.dmi' + icon_state = "toy" + +/obj/effect/spawner/random/toy/mech_figure + name = "random mech figurine" + loot_subtype_path = /obj/item/toy/figure/mech + +/obj/effect/spawner/random/toy/action_figure + name = "random action figure" + loot_subtype_path = /obj/item/toy/figure/crew + +/obj/effect/spawner/random/toy/carp_plushie + name = "random carp plushie" + loot_type_path = /obj/item/toy/plushie/carpplushie + +/obj/effect/spawner/random/toy/therapy_doll + name = "random therapy doll" + loot_subtype_path = /obj/item/toy/therapy + +/obj/effect/spawner/random/toy/clusterbuster + loot = list( + /obj/item/gun/projectile/shotgun/toy/crossbow, + /obj/item/reagent_containers/spray/waterflower, + /obj/item/toy/balloon, + /obj/item/toy/spinningtoy, + ) + loot_subtype_path = /obj/item/toy/figure/mech diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 647e26610a07..d26400e787f6 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -50,6 +50,8 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons var/w_class = WEIGHT_CLASS_NORMAL /// This is used to determine on which slots an item can fit. var/slot_flags = 0 + /// If set, this determines which slots are considered when using quick equip + var/prefered_slot_flags = 0 /// Determines what it can pass over/through. IE. 'PASSTABLE' will allow it to pass over tables pass_flags = PASSTABLE pressure_resistance = 4 @@ -989,7 +991,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons /obj/item/proc/canStrip(mob/stripper, mob/owner) SHOULD_BE_PURE(TRUE) - return !(flags & NODROP) && !(flags & ABSTRACT) + return !(flags & NODROP) && !(flags & ABSTRACT) && !HAS_TRAIT(src, TRAIT_NO_STRIP) /obj/item/proc/should_stack_with(obj/item/other) return type == other.type && name == other.name diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 9c13bf05c3dc..6885160acf5b 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -104,7 +104,7 @@ qdel(src) if(isturf(loc)) //start a fire if possible var/turf/T = loc - T.hotspot_expose(700, 5) + T.hotspot_expose(700, 1) /obj/item/candle/proc/unlight() if(lit) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 06efea7d556b..5a4e07005b62 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -188,7 +188,7 @@ /obj/item/flashlight/flare/process() var/turf/pos = get_turf(src) if(pos && produce_heat) - pos.hotspot_expose(produce_heat, 5) + pos.hotspot_expose(produce_heat, 1) fuel = max(fuel - 1, 0) if(!fuel || !on) turn_off() diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index 19c8c7319d64..a1999c826e88 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -172,3 +172,8 @@ desc = "Integrated encryption key." icon_state = "cap_cypherkey" channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1, "Procedure" = 1) + +/obj/item/encryptionkey/headset_nct + name = "NCT Radio Encryption Key" + icon_state = "com_cypherkey" + channels = list("Procedure" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 201ceb11fcfe..10770f412070 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -308,6 +308,13 @@ item_state = "headset" ks2type = /obj/item/encryptionkey/heads/ntrep +/obj/item/radio/headset/headset_nct + name = "\improper Nanotrasen career trainer radio headset" + desc = "This is used by your well-taught corporate training team." + icon_state = "com_headset" + item_state = "headset" + ks2type = /obj/item/encryptionkey/headset_nct + /obj/item/radio/headset/heads/magistrate name = "magistrate's headset" desc = "The headset of the Magistrate." diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index f164e8283d0c..077f349263f4 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -625,18 +625,17 @@ SLIME SCANNER * Used in chat-based gas scans. */ /proc/atmos_scan(mob/user, atom/target, silent = FALSE, print = TRUE, milla_turf_details = FALSE) - var/mixture + var/datum/gas_mixture/air var/list/milla = null - if(milla_turf_details) + if(milla_turf_details && istype(target, /turf)) milla = new/list(MILLA_TILE_SIZE) get_tile_atmos(target, milla) - var/datum/gas_mixture/GM = new() - GM.copy_from_milla(milla) - mixture = GM + air = new() + air.copy_from_milla(milla) else - mixture = target.return_analyzable_air() - if(!mixture) - return FALSE + air = target.return_analyzable_air() + if(!air) + return FALSE var/list/message = list() if(!silent && isliving(user)) @@ -646,64 +645,53 @@ SLIME SCANNER if(!print) return TRUE - var/list/airs = islist(mixture) ? mixture : list(mixture) - for(var/datum/gas_mixture/air as anything in airs) - var/mix_name = capitalize(lowertext(target.name)) - if(length(air) > 1) //not a unary gas mixture - var/mix_number = airs.Find(air) - message += "Node [mix_number]" - mix_name += " - Node [mix_number]" - - var/total_moles = air.total_moles() - var/pressure = air.return_pressure() - var/volume = air.return_volume() //could just do mixture.volume... but safety, I guess? - var/heat_capacity = air.heat_capacity() - var/thermal_energy = air.thermal_energy() - - if(total_moles) - message += "Total: [round(total_moles, 0.01)] moles" - if(air.oxygen() && (milla_turf_details || air.oxygen() / total_moles > 0.01)) - message += " Oxygen: [round(air.oxygen(), 0.01)] moles ([round(air.oxygen() / total_moles * 100, 0.01)] %)" - if(air.nitrogen() && (milla_turf_details || air.nitrogen() / total_moles > 0.01)) - message += " Nitrogen: [round(air.nitrogen(), 0.01)] moles ([round(air.nitrogen() / total_moles * 100, 0.01)] %)" - if(air.carbon_dioxide() && (milla_turf_details || air.carbon_dioxide() / total_moles > 0.01)) - message += " Carbon Dioxide: [round(air.carbon_dioxide(), 0.01)] moles ([round(air.carbon_dioxide() / total_moles * 100, 0.01)] %)" - if(air.toxins() && (milla_turf_details || air.toxins() / total_moles > 0.01)) - message += " Plasma: [round(air.toxins(), 0.01)] moles ([round(air.toxins() / total_moles * 100, 0.01)] %)" - if(air.sleeping_agent() && (milla_turf_details || air.sleeping_agent() / total_moles > 0.01)) - message += " Nitrous Oxide: [round(air.sleeping_agent(), 0.01)] moles ([round(air.sleeping_agent() / total_moles * 100, 0.01)] %)" - if(air.agent_b() && (milla_turf_details || air.agent_b() / total_moles > 0.01)) - message += " Agent B: [round(air.agent_b(), 0.01)] moles ([round(air.agent_b() / total_moles * 100, 0.01)] %)" - message += "Temperature: [round(air.temperature()-T0C)] °C ([round(air.temperature())] K)" - message += "Volume: [round(volume)] Liters" - message += "Pressure: [round(pressure, 0.1)] kPa" - message += "Heat Capacity: [DisplayJoules(heat_capacity)] / K" - message += "Thermal Energy: [DisplayJoules(thermal_energy)]" - else - message += length(airs) > 1 ? "This node is empty!" : "[target] is empty!" - message += "Volume: [round(volume)] Liters" // don't want to change the order volume appears in, suck it - - if(milla) - // Values from milla/src/lib.rs, +1 due to array indexing difference. - message += "Airtight North: [(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_NORTH) ? "yes" : "no"]" - message += "Airtight East: [(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_EAST) ? "yes" : "no"]" - message += "Airtight South: [(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_SOUTH) ? "yes" : "no"]" - message += "Airtight West: [(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_WEST) ? "yes" : "no"]" - switch(milla[MILLA_INDEX_ATMOS_MODE]) - // These are enum values, so they don't get increased. - if(0) - message += "Atmos Mode: Space" - if(1) - message += "Atmos Mode: Sealed" - if(2) - message += "Atmos Mode: Exposed to Environment (ID: [milla[MILLA_INDEX_ENVIRONMENT_ID]])" - else - message += "Atmos Mode: Unknown ([milla[MILLA_INDEX_ATMOS_MODE]]), contact a coder." - message += "Superconductivity North: [milla[MILLA_INDEX_SUPERCONDUCTIVITY_NORTH]]" - message += "Superconductivity East: [milla[MILLA_INDEX_SUPERCONDUCTIVITY_EAST]]" - message += "Superconductivity South: [milla[MILLA_INDEX_SUPERCONDUCTIVITY_SOUTH]]" - message += "Superconductivity West: [milla[MILLA_INDEX_SUPERCONDUCTIVITY_WEST]]" - message += "Turf's Innate Heat Capacity: [milla[MILLA_INDEX_INNATE_HEAT_CAPACITY]]" + var/total_moles = air.total_moles() + var/pressure = air.return_pressure() + var/volume = air.return_volume() //could just do mixture.volume... but safety, I guess? + var/heat_capacity = air.heat_capacity() + var/thermal_energy = air.thermal_energy() + + if(total_moles) + message += "Total: [round(total_moles, 0.01)] moles" + if(air.oxygen() && (milla_turf_details || air.oxygen() / total_moles > 0.01)) + message += " Oxygen: [round(air.oxygen(), 0.01)] moles ([round(air.oxygen() / total_moles * 100, 0.01)] %)" + if(air.nitrogen() && (milla_turf_details || air.nitrogen() / total_moles > 0.01)) + message += " Nitrogen: [round(air.nitrogen(), 0.01)] moles ([round(air.nitrogen() / total_moles * 100, 0.01)] %)" + if(air.carbon_dioxide() && (milla_turf_details || air.carbon_dioxide() / total_moles > 0.01)) + message += " Carbon Dioxide: [round(air.carbon_dioxide(), 0.01)] moles ([round(air.carbon_dioxide() / total_moles * 100, 0.01)] %)" + if(air.toxins() && (milla_turf_details || air.toxins() / total_moles > 0.01)) + message += " Plasma: [round(air.toxins(), 0.01)] moles ([round(air.toxins() / total_moles * 100, 0.01)] %)" + if(air.sleeping_agent() && (milla_turf_details || air.sleeping_agent() / total_moles > 0.01)) + message += " Nitrous Oxide: [round(air.sleeping_agent(), 0.01)] moles ([round(air.sleeping_agent() / total_moles * 100, 0.01)] %)" + if(air.agent_b() && (milla_turf_details || air.agent_b() / total_moles > 0.01)) + message += " Agent B: [round(air.agent_b(), 0.01)] moles ([round(air.agent_b() / total_moles * 100, 0.01)] %)" + message += "Temperature: [round(air.temperature()-T0C)] °C ([round(air.temperature())] K)" + message += "Volume: [round(volume)] Liters" + message += "Pressure: [round(pressure, 0.1)] kPa" + message += "Heat Capacity: [DisplayJoules(heat_capacity)] / K" + message += "Thermal Energy: [DisplayJoules(thermal_energy)]" + else + message += "[target] is empty!" + message += "Volume: [round(volume)] Liters" // don't want to change the order volume appears in, suck it + + if(milla) + // Values from milla/src/lib.rs, +1 due to array indexing difference. + message += "Airtight N/E/S/W: [(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_NORTH) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_EAST) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_SOUTH) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_WEST) ? "yes" : "no"]" + switch(milla[MILLA_INDEX_ATMOS_MODE]) + // These are enum values, so they don't get increased. + if(0) + message += "Atmos Mode: Space" + if(1) + message += "Atmos Mode: Sealed" + if(2) + message += "Atmos Mode: Exposed to Environment (ID: [milla[MILLA_INDEX_ENVIRONMENT_ID]])" + else + message += "Atmos Mode: Unknown ([milla[MILLA_INDEX_ATMOS_MODE]]), contact a coder." + message += "Superconductivity N/E/S/W: [milla[MILLA_INDEX_SUPERCONDUCTIVITY_NORTH]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_EAST]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_SOUTH]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_WEST]]" + message += "Turf's Innate Heat Capacity: [milla[MILLA_INDEX_INNATE_HEAT_CAPACITY]]" + message += "Hotspot: [floor(milla[MILLA_INDEX_HOTSPOT_TEMPERATURE]-T0C)] °C ([floor(milla[MILLA_INDEX_HOTSPOT_TEMPERATURE])] K), [round(milla[MILLA_INDEX_HOTSPOT_VOLUME] * CELL_VOLUME, 1)] Liters ([milla[MILLA_INDEX_HOTSPOT_VOLUME]]x)" + message += "Wind: ([round(milla[MILLA_INDEX_WIND_X], 0.001)], [round(milla[MILLA_INDEX_WIND_Y], 0.001)])" + message += "Fuel burnt last tick: [milla[MILLA_INDEX_FUEL_BURNT]] moles" to_chat(user, chat_box_examine(message.Join("\n"))) return TRUE diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index 393209b5c0f5..e5232ec4bc20 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -14,7 +14,7 @@ lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' w_class = WEIGHT_CLASS_GIGANTIC - force = 15 + force = 20 attack_verb = list("robusted") hitsound = 'sound/weapons/smash.ogg' drop_sound = 'sound/items/handling/toolbox_drop.ogg' @@ -77,6 +77,16 @@ else return ..() +/obj/item/his_grace/attack_obj(obj/attacked_obj, mob/living/user, params) + if(!awakened && (isstructure(attacked_obj) || ismachinery(attacked_obj))) + return ..() + var/mob/living/carbon/human/H = user + H.changeNext_move(CLICK_CD_MELEE) + H.do_attack_animation(attacked_obj) + H.visible_message("[H] has hit [attacked_obj] with [src]!", "You hit [attacked_obj] with [src]!") + var/damage = force + attacked_obj.take_damage(damage * 3, BRUTE, MELEE, TRUE, get_dir(src, user), 30) // yoinked from breaching cleaver + /obj/item/his_grace/can_be_pulled(user, grab_state, force, show_message = FALSE) //you can't pull his grace return FALSE @@ -111,7 +121,7 @@ drowse() return if(bloodthirst < HIS_GRACE_CONSUME_OWNER) - adjust_bloodthirst(0.5 + round(length(contents) * (1 / 6), 1)) + adjust_bloodthirst(0.5 + round(length(contents) * (1 / 10), 1)) else adjust_bloodthirst(0.5) //don't cool off rapidly once we're at the point where His Grace consumes all. diff --git a/code/game/objects/items/robot/cyborg_gripper.dm b/code/game/objects/items/robot/cyborg_gripper.dm index 4f81cdc5f977..cac644d7c839 100644 --- a/code/game/objects/items/robot/cyborg_gripper.dm +++ b/code/game/objects/items/robot/cyborg_gripper.dm @@ -62,7 +62,10 @@ if(!gripped_item) to_chat(user, "[src] is empty.") return - gripped_item.attack_self__legacy__attackchain(user) + if(gripped_item.new_attack_chain) + gripped_item.activate_self(user) + else + gripped_item.attack_self__legacy__attackchain(user) // This is required to ensure that the forceMove checks on some objects don't rip the gripper out of the borg's inventory and toss it on the floor. That would hurt, a lot! /obj/item/gripper/forceMove(atom/destination) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 61960c940942..5a23bae121cc 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -60,10 +60,9 @@ GLOBAL_LIST_INIT(rod_recipes, list ( /obj/item/stack/rods/fifty amount = 50 -/obj/item/stack/rods/New(loc, amount=null) - ..() +/obj/item/stack/rods/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.rod_recipes - update_icon(UPDATE_ICON_STATE) /obj/item/stack/rods/update_icon_state() var/amount = get_amount() diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index edc0dd43ba74..52ff0308ffa7 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -61,9 +61,9 @@ GLOBAL_LIST_INIT(glass_recipes, list ( /obj/item/stack/sheet/glass/cyborg/drone energy_type = /datum/robot_storage/energy/glass -/obj/item/stack/sheet/glass/New(loc, amount) +/obj/item/stack/sheet/glass/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.glass_recipes - ..() /obj/item/stack/sheet/glass/attackby__legacy__attackchain(obj/item/W, mob/user, params) if(istype(W, /obj/item/stack/cable_coil)) @@ -128,9 +128,9 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( /obj/item/stack/sheet/rglass/fifty amount = 50 -/obj/item/stack/sheet/rglass/New(loc, amount) +/obj/item/stack/sheet/rglass/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.reinforced_glass_recipes - ..() GLOBAL_LIST_INIT(pglass_recipes, list ( new /datum/stack_recipe("plasma shard", /obj/item/shard/plasma, time = 0 SECONDS), @@ -183,9 +183,9 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( /obj/item/stack/sheet/plasmaglass/fifty amount = 50 -/obj/item/stack/sheet/plasmaglass/New(loc, amount) +/obj/item/stack/sheet/plasmaglass/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.pglass_recipes - ..() /obj/item/stack/sheet/plasmaglass/attackby__legacy__attackchain(obj/item/W, mob/user, params) ..() @@ -241,9 +241,9 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( /obj/item/stack/sheet/plasmarglass/fifty amount = 50 -/obj/item/stack/sheet/plasmarglass/New(loc, amount) +/obj/item/stack/sheet/plasmarglass/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.prglass_recipes - ..() GLOBAL_LIST_INIT(titaniumglass_recipes, list( new /datum/stack_recipe/window("shuttle window", /obj/structure/window/full/shuttle, 2, time = 0 SECONDS, on_floor = TRUE, window_checks = TRUE) @@ -274,9 +274,9 @@ GLOBAL_LIST_INIT(titaniumglass_recipes, list( /obj/item/stack/sheet/titaniumglass/fifty amount = 50 -/obj/item/stack/sheet/titaniumglass/New(loc, amount) +/obj/item/stack/sheet/titaniumglass/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.titaniumglass_recipes - ..() GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( new /datum/stack_recipe/window("plastitanium window", /obj/structure/window/full/plastitanium, 2, time = 0 SECONDS, on_floor = TRUE, window_checks = TRUE) @@ -308,7 +308,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( /obj/item/stack/sheet/plastitaniumglass/fifty amount = 50 -/obj/item/stack/sheet/plastitaniumglass/New(loc, amount) +/obj/item/stack/sheet/plastitaniumglass/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.plastitaniumglass_recipes - ..() diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index de7987e35c92..6423b9edd94d 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -17,9 +17,9 @@ GLOBAL_LIST_INIT(human_recipes, list( new /datum/stack_recipe("bloated human costume head", /obj/item/clothing/head/human_head, 5, on_floor = TRUE), )) -/obj/item/stack/sheet/animalhide/human/New(loc, amount=null) +/obj/item/stack/sheet/animalhide/human/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.human_recipes - return ..() /obj/item/stack/sheet/animalhide/generic name = "generic skin" @@ -152,11 +152,11 @@ GLOBAL_LIST_INIT(leather_recipes, list ( new /datum/stack_recipe("leather jacket", /obj/item/clothing/suit/jacket/leather, 7), new /datum/stack_recipe("leather shoes", /obj/item/clothing/shoes/leather, 2), new /datum/stack_recipe("leather overcoat", /obj/item/clothing/suit/jacket/leather/overcoat, 10), - new /datum/stack_recipe("hide mantle", /obj/item/clothing/suit/unathi/mantle, 4))) + new /datum/stack_recipe("hide mantle", /obj/item/clothing/neck/cloak/unathi, 4))) -/obj/item/stack/sheet/leather/New(loc, new_amount, merge = TRUE) +/obj/item/stack/sheet/leather/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.leather_recipes - return ..() /obj/item/stack/sheet/sinew name = "watcher sinew" @@ -172,9 +172,9 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( new /datum/stack_recipe("sinew restraints", /obj/item/restraints/handcuffs/sinew, 1, on_floor = 1), )) -/obj/item/stack/sheet/sinew/New(loc, amount=null) +/obj/item/stack/sheet/sinew/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.sinew_recipes - return ..() /obj/item/stack/sheet/animalhide/goliath_hide name = "goliath hide plates" diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 2e53e687d1e9..5f45c2e3a02b 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -42,7 +42,7 @@ GLOBAL_LIST_INIT(silver_recipes, list ( new /datum/stack_recipe("Corgi Statue", /obj/structure/statue/silver/corgi, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_floor = TRUE), )), null, - new /datum/stack_recipe("Silver Locket", /obj/item/clothing/accessory/necklace/locket/silver, 1), + new /datum/stack_recipe("Silver Locket", /obj/item/clothing/neck/necklace/locket/silver, 1), )) GLOBAL_LIST_INIT(diamond_recipes, list ( @@ -87,9 +87,9 @@ GLOBAL_LIST_INIT(gold_recipes, list ( new /datum/stack_recipe_list("gold clothing", list( new /datum/stack_recipe("Simple Crown", /obj/item/clothing/head/crown, 5), null, - new /datum/stack_recipe("Simple Necklace", /obj/item/clothing/accessory/necklace, 1), - new /datum/stack_recipe("Large Necklace", /obj/item/clothing/accessory/necklace/long, 2), - new /datum/stack_recipe("Gold Locket", /obj/item/clothing/accessory/necklace/locket, 1), + new /datum/stack_recipe("Simple Necklace", /obj/item/clothing/neck/necklace, 1), + new /datum/stack_recipe("Large Necklace", /obj/item/clothing/neck/necklace/long, 2), + new /datum/stack_recipe("Gold Locket", /obj/item/clothing/neck/necklace/locket, 1), )), )) @@ -148,8 +148,8 @@ GLOBAL_LIST_INIT(snow_recipes, list( throwforce = 5 throw_speed = 3 -/obj/item/stack/sheet/mineral/New() - ..() +/obj/item/stack/sheet/mineral/Initialize(mapload, new_amount, merge) + . = ..() pixel_x = rand(0,4)-4 pixel_y = rand(0,4)-4 @@ -167,8 +167,8 @@ GLOBAL_LIST_INIT(snow_recipes, list( /obj/item/stack/sheet/mineral/sandstone/fifty amount = 50 -/obj/item/stack/sheet/mineral/sandstone/New() - ..() +/obj/item/stack/sheet/mineral/sandstone/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.sandstone_recipes /* @@ -188,9 +188,9 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( new /datum/stack_recipe("sandbags", /obj/structure/barricade/sandbags, 1, time = 25, one_per_turf = TRUE, on_floor = TRUE), )) -/obj/item/stack/sheet/mineral/sandbags/New() +/obj/item/stack/sheet/mineral/sandbags/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.sandbag_recipes - ..() /obj/item/emptysandbag name = "empty sandbag" @@ -230,8 +230,8 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( . += "" . += "Diamond is highly sought after for both aesthetic uses and as a component of many advanced technologies." -/obj/item/stack/sheet/mineral/diamond/New() - ..() +/obj/item/stack/sheet/mineral/diamond/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.diamond_recipes /obj/item/stack/sheet/mineral/diamond/fifty @@ -258,8 +258,8 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( /obj/item/stack/sheet/mineral/uranium/fifty amount = 50 -/obj/item/stack/sheet/mineral/uranium/New() - ..() +/obj/item/stack/sheet/mineral/uranium/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.uranium_recipes /obj/item/stack/sheet/mineral/plasma @@ -288,8 +288,8 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( . += "Despite its flammability, plasma-enhanced materials such as plasteel or plasma glass generally possess extreme fire resistance, ultra-low thermal conductivity, and a high emissivity. \ This allows, for example, a relatively thin pane of plasma glass to be cool to the touch even when a massive inferno is burning on the other side." -/obj/item/stack/sheet/mineral/plasma/New() - ..() +/obj/item/stack/sheet/mineral/plasma/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.plasma_recipes /obj/item/stack/sheet/mineral/plasma/fifty @@ -341,8 +341,8 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( /obj/item/stack/sheet/mineral/gold/fifty amount = 50 -/obj/item/stack/sheet/mineral/gold/New() - ..() +/obj/item/stack/sheet/mineral/gold/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.gold_recipes /obj/item/stack/sheet/mineral/silver @@ -367,8 +367,8 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( /obj/item/stack/sheet/mineral/silver/fifty amount = 50 -/obj/item/stack/sheet/mineral/silver/New() - ..() +/obj/item/stack/sheet/mineral/silver/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.silver_recipes /obj/item/stack/sheet/mineral/bananium @@ -396,8 +396,8 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( /obj/item/stack/sheet/mineral/bananium/fifty amount = 50 -/obj/item/stack/sheet/mineral/bananium/New(loc, amount=null) - ..() +/obj/item/stack/sheet/mineral/bananium/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.bananium_recipes /obj/item/stack/sheet/mineral/tranquillite @@ -427,8 +427,8 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( /obj/item/stack/sheet/mineral/tranquillite/fifty amount = 50 -/obj/item/stack/sheet/mineral/tranquillite/New(loc, amount=null) - ..() +/obj/item/stack/sheet/mineral/tranquillite/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.tranquillite_recipes /* @@ -464,9 +464,9 @@ GLOBAL_LIST_INIT(titanium_recipes, list( new /datum/stack_recipe("surgical tray", /obj/structure/table/tray, 2, one_per_turf = TRUE, on_floor = TRUE), )) -/obj/item/stack/sheet/mineral/titanium/New(loc, amount=null) +/obj/item/stack/sheet/mineral/titanium/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.titanium_recipes - ..() /obj/item/stack/sheet/mineral/titanium/fifty amount = 50 @@ -507,9 +507,9 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list( new /datum/stack_recipe("reinforced wheelchair", /obj/structure/chair/wheelchair/plastitanium, 15, time = 7 SECONDS, one_per_turf = TRUE, on_floor = TRUE), )) -/obj/item/stack/sheet/mineral/plastitanium/New(loc, amount=null) +/obj/item/stack/sheet/mineral/plastitanium/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.plastitanium_recipes - ..() //Alien Alloy @@ -537,9 +537,9 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list( /obj/item/stack/sheet/mineral/abductor/fifty amount = 50 -/obj/item/stack/sheet/mineral/abductor/New(loc, amount=null) +/obj/item/stack/sheet/mineral/abductor/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.abductor_recipes - ..() /obj/item/stack/sheet/mineral/adamantine name = "adamantine" @@ -551,9 +551,9 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list( merge_type = /obj/item/stack/sheet/mineral/adamantine wall_allowed = FALSE -/obj/item/stack/sheet/mineral/adamantine/New(loc, amount = null) +/obj/item/stack/sheet/mineral/adamantine/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.adamantine_recipes - ..() /obj/item/stack/sheet/mineral/adamantine/fifty @@ -571,6 +571,6 @@ GLOBAL_LIST_INIT(plastitanium_recipes, list( throwforce = 2 merge_type = /obj/item/stack/sheet/mineral/snow -/obj/item/stack/sheet/mineral/snow/New(loc, amount = null) +/obj/item/stack/sheet/mineral/snow/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.snow_recipes - ..() diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index c35f465cbf01..a3deade91962 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -172,9 +172,9 @@ GLOBAL_LIST_INIT(metal_recipes, list( new /obj/item/stack/sheet/runed_metal(loc, amount) qdel(src) -/obj/item/stack/sheet/metal/New(loc, amount=null) +/obj/item/stack/sheet/metal/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.metal_recipes - return ..() ////////////////////////////// // MARK: PLASTEEL @@ -226,9 +226,9 @@ GLOBAL_LIST_INIT(plasteel_recipes, list( /obj/item/stack/sheet/plasteel/fifty amount = 50 -/obj/item/stack/sheet/plasteel/New(loc, amount=null) +/obj/item/stack/sheet/plasteel/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.plasteel_recipes - return ..() /obj/item/stack/sheet/wood/cyborg energy_type = /datum/robot_storage/energy/wood @@ -291,9 +291,9 @@ GLOBAL_LIST_INIT(wood_recipes, list( sheettype = "wood" table_type = /obj/structure/table/wood -/obj/item/stack/sheet/wood/New(loc, amount=null) +/obj/item/stack/sheet/wood/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.wood_recipes - return ..() ////////////////////////////// // MARK: BAMBOO @@ -330,9 +330,9 @@ GLOBAL_LIST_INIT(bamboo_recipes, list( sheettype = "bamboo" merge_type = /obj/item/stack/sheet/bamboo -/obj/item/stack/sheet/bamboo/New(loc, amount=null) +/obj/item/stack/sheet/bamboo/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.bamboo_recipes - return ..() /obj/item/stack/sheet/bamboo/fifty amount = 50 @@ -343,7 +343,7 @@ GLOBAL_LIST_INIT(bamboo_recipes, list( GLOBAL_LIST_INIT(cloth_recipes, list ( new /datum/stack_recipe_list("cloth clothings", list( new /datum/stack_recipe("white jumpsuit", /obj/item/clothing/under/color/white, 3), - new /datum/stack_recipe("white scarf", /obj/item/clothing/accessory/scarf/white, 1), + new /datum/stack_recipe("white scarf", /obj/item/clothing/neck/scarf/white, 1), new /datum/stack_recipe("white shoes", /obj/item/clothing/shoes/white, 2), new /datum/stack_recipe("cloth footwraps", /obj/item/clothing/shoes/footwraps, 2), null, @@ -395,9 +395,9 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( drop_sound = 'sound/items/handling/cloth_drop.ogg' pickup_sound = 'sound/items/handling/cloth_pickup.ogg' -/obj/item/stack/sheet/cloth/New(loc, amount=null) +/obj/item/stack/sheet/cloth/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.cloth_recipes - ..() /obj/item/stack/sheet/cloth/ten amount = 10 @@ -512,9 +512,9 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( resistance_flags = FLAMMABLE merge_type = /obj/item/stack/sheet/cardboard -/obj/item/stack/sheet/cardboard/New(loc, amt = null) +/obj/item/stack/sheet/cardboard/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.cardboard_recipes - return ..() ////////////////////////////// // MARK: SOIL @@ -566,7 +566,7 @@ GLOBAL_LIST_INIT(cult_recipes, list ( . += "" . += "Mundane matter turned extraordinary by the dark blessings of those things that lie in wait - such as this - is the canvas used to build the works that shall one day tear asunder the veil that shields our world." -/obj/item/stack/sheet/runed_metal/New() +/obj/item/stack/sheet/runed_metal/Initialize(mapload, new_amount, merge) . = ..() icon_state = GET_CULT_DATA(runed_metal_icon_state, initial(icon_state)) item_state = GET_CULT_DATA(runed_metal_item_state, initial(item_state)) @@ -654,9 +654,9 @@ GLOBAL_LIST_INIT(brass_recipes, list ( new /obj/item/stack/sheet/runed_metal(loc, amount) qdel(src) -/obj/item/stack/tile/brass/New(loc, amount=null) - recipes = GLOB.brass_recipes +/obj/item/stack/tile/brass/Initialize(mapload, new_amount, merge) . = ..() + recipes = GLOB.brass_recipes pixel_x = 0 pixel_y = 0 @@ -747,9 +747,9 @@ GLOBAL_LIST_INIT(plastic_recipes, list( . += "Despite the extensive uses of plastics, they are not as ubiquitous as other materials (especially steel). This is due to a combination of environmental regulations, \ established market patterns, and the operational requirements for many space-based installations to employ easily recycled materials to conserve limited supplies." -/obj/item/stack/sheet/plastic/New() - recipes = GLOB.plastic_recipes +/obj/item/stack/sheet/plastic/Initialize(mapload, new_amount, merge) . = ..() + recipes = GLOB.plastic_recipes /obj/item/stack/sheet/plastic/fifty amount = 50 diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm index 2ead9e4593ca..55472aaab835 100644 --- a/code/game/objects/items/stacks/tiles/tile_mineral.dm +++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm @@ -40,8 +40,8 @@ GLOBAL_LIST_INIT(gold_tile_recipes, list ( \ mineralType = "gold" materials = list(MAT_GOLD=500) -/obj/item/stack/tile/mineral/gold/New(loc, amount=null) - ..() +/obj/item/stack/tile/mineral/gold/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.gold_tile_recipes GLOBAL_LIST_INIT(goldfancy_tile_recipes, list ( \ @@ -52,8 +52,8 @@ GLOBAL_LIST_INIT(goldfancy_tile_recipes, list ( \ icon_state = "tile_goldfancy" turf_type = /turf/simulated/floor/mineral/gold/fancy -/obj/item/stack/tile/mineral/gold/fancy/New(loc, amount=null) - ..() +/obj/item/stack/tile/mineral/gold/fancy/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.goldfancy_tile_recipes GLOBAL_LIST_INIT(silver_tile_recipes, list ( \ @@ -69,8 +69,8 @@ GLOBAL_LIST_INIT(silver_tile_recipes, list ( \ mineralType = "silver" materials = list(MAT_SILVER=500) -/obj/item/stack/tile/mineral/silver/New(loc, amount=null) - ..() +/obj/item/stack/tile/mineral/silver/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.silver_tile_recipes GLOBAL_LIST_INIT(silverfancy_tile_recipes, list ( \ @@ -81,8 +81,8 @@ GLOBAL_LIST_INIT(silverfancy_tile_recipes, list ( \ icon_state = "tile_silverfancy" turf_type = /turf/simulated/floor/mineral/silver/fancy -/obj/item/stack/tile/mineral/silver/fancy/New(loc, amount=null) - ..() +/obj/item/stack/tile/mineral/silver/fancy/Initialize(mapload, new_amount, merge) + . = ..() recipes = GLOB.silverfancy_tile_recipes /obj/item/stack/tile/mineral/diamond diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index da72b17dade1..9eb64dd31302 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -16,8 +16,8 @@ var/turf_type = null var/mineralType = null -/obj/item/stack/tile/New(loc, amount) - ..() +/obj/item/stack/tile/Initialize(mapload, new_amount, merge) + . = ..() pixel_x = rand(-3, 3) pixel_y = rand(-3, 3) //randomize a little diff --git a/code/game/objects/items/tools/welder.dm b/code/game/objects/items/tools/welder.dm index 9208ae62090b..c4711fa34ba9 100644 --- a/code/game/objects/items/tools/welder.dm +++ b/code/game/objects/items/tools/welder.dm @@ -71,7 +71,7 @@ if(tool_enabled) var/turf/T = get_turf(src) if(T) // Implants for instance won't find a turf - T.hotspot_expose(2500, 5) + T.hotspot_expose(2500, 1) if(prob(5)) remove_fuel(1) if(refills_over_time) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 775dd5d25138..8190b14d1a4b 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -478,15 +478,6 @@ playsound(user, 'sound/items/squeaktoy.ogg', 20, TRUE) cooldown = world.time -/obj/random/therapy - name = "Random Therapy Doll" - desc = "This is a random therapy doll." - icon = 'icons/obj/toy.dmi' - icon_state = "therapyred" - -/obj/random/therapy/item_to_spawn() - return pick(subtypesof(/obj/item/toy/therapy)) //exclude the base type. - /obj/item/toy/therapy/red item_state = "egg4" // It's the red egg in items_left/righthand item_color = "red" @@ -542,15 +533,6 @@ poof_sound = list('sound/weapons/bite.ogg' = 1) -/obj/random/carp_plushie - name = "Random Carp Plushie" - desc = "This is a random plushie." - icon = 'icons/obj/toy.dmi' - icon_state = "carpplushie" - -/obj/random/carp_plushie/item_to_spawn() - return pick(typesof(/obj/item/toy/plushie/carpplushie)) //can pick any carp plushie, even the original. - /obj/item/toy/plushie/carpplushie/ice icon_state = "icecarp" @@ -691,28 +673,6 @@ cursed_plushie_victim = null qdel(src) -/obj/random/plushie - name = "Random Plushie" - desc = "This is a random plushie." - icon = 'icons/obj/toy.dmi' - icon_state = "redfox" - -/obj/random/plushie/item_to_spawn() - return pick(subtypesof(/obj/item/toy/plushie) - typesof(/obj/item/toy/plushie/fluff) - typesof(/obj/item/toy/plushie/carpplushie)) //exclude the base type. - -/obj/random/plushie/explosive - var/explosive_chance = 1 // 1% to spawn a blahbomb! - -/obj/random/plushie/explosive/spawn_item() - var/obj/item/toy/plushie/plushie = ..() - if(!prob(explosive_chance)) - return plushie - var/obj/item/I = new /obj/item/grenade/syndieminibomb - plushie.has_stuffing = FALSE - plushie.grenade = I - I.forceMove(plushie) - return plushie - /obj/item/toy/plushie/corgi name = "corgi plushie" icon_state = "corgi" @@ -1181,7 +1141,7 @@ /obj/item/toy/plushie/plasmamanplushie name = "plasmaman plushie" - desc = "A freindly plasma-being in plush form. WARNING: KEEP AWAY FROM OPEN FLAME!" + desc = "A friendly plasma-being in plush form. WARNING: KEEP AWAY FROM OPEN FLAME!" icon_state = "plushie_plasma" rare_hug_sound = 'sound/voice/plas_rattle.ogg' rare_hug_word = "Rattle!" @@ -1525,6 +1485,7 @@ attack_verb = list("struck", "hit", "bashed") var/bullets_left = 0 var/max_shots = 6 + var/cursed_shot = FALSE /obj/item/toy/russian_revolver/suicide_act(mob/user) user.visible_message("[user] quickly loads six bullets into [src]'s cylinder and points it at [user.p_their()] head before pulling the trigger! It looks like [user.p_theyre()] trying to commit suicide!") @@ -1577,6 +1538,11 @@ playsound(src, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, 1) user.visible_message("[src] goes off!") post_shot(user) + if(cursed_shot) + var/obj/item/soulstone/anybody/SS = new /obj/item/soulstone/anybody(get_turf(src)) + SS.transfer_soul("FORCE", user) + user.death(FALSE) + user.visible_message("[user.name]'s soul is captured by [src]!", "You've lost the gamble! Your soul is forfeit!") user.apply_damage(300, BRUTE, zone, sharp = TRUE, used_weapon = "Self-inflicted gunshot wound to the [zone].") user.bleed(BLOOD_VOLUME_NORMAL) user.death() // Just in case @@ -1587,66 +1553,10 @@ to_chat(user, "[src] needs to be reloaded.") return FALSE -/obj/item/toy/russian_revolver/trick_revolver - name = "\improper .357 revolver" - desc = "A suspicious revolver. Uses .357 ammo." - icon_state = "revolver" - max_shots = 1 - var/fake_bullets = 0 - -/obj/item/toy/russian_revolver/trick_revolver/New() - ..() - fake_bullets = rand(2, 7) - -/obj/item/toy/russian_revolver/trick_revolver/examine(mob/user) //Sneaky sneaky - . = ..() - . += "Use a pen on it to rename it." - . += "Has [fake_bullets] round\s remaining." - . += "Use in hand to empty the gun's ammo reserves." - . += "[fake_bullets] of those are live rounds." - . += "You can Alt-Click [src] to spin it's barrel." - -/obj/item/toy/russian_revolver/trick_revolver/post_shot(user) - to_chat(user, "[src] did look pretty dodgey!") - SEND_SOUND(user, sound('sound/misc/sadtrombone.ogg')) //HONK - -/obj/item/toy/russian_revolver/trick_revolver/AltClick(mob/user) - if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user)) - return - - to_chat(user, "You go to spin the chamber... and it goes off in your face!") - shoot_gun(user) - -/obj/item/toy/russian_revolver/trick_revolver/activate_self(mob/user) - if(..()) - return - if(!bullets_left) //You can re-arm the trap... - user.visible_message("[user] loads a bullet into [src]'s cylinder before spinning it.") - spin_cylinder() - else //But if you try to spin it to see if it was fake... - user.visible_message("[user] tries to empty [src], but it goes off in their face!") - shoot_gun(user) - -/obj/item/toy/russian_revolver/trick_revolver/attack_by(obj/item/attacking, mob/user, params) - if(..()) - return FINISH_ATTACK - if(is_pen(attacking)) - to_chat(user, "You go to write on [src].. and it goes off in your face!") - shoot_gun(user) - if(istype(attacking, /obj/item/ammo_casing/a357)) - to_chat(user, "You go to load a bullet into [src].. and it goes off in your face!") - shoot_gun(user) - if(istype(attacking, /obj/item/ammo_box/a357)) - to_chat(user, "You go to speedload [src].. and it goes off in your face!") - shoot_gun(user) - -/obj/item/toy/russian_revolver/trick_revolver/run_pointed_on_item(mob/pointer_mob, atom/target_atom) - if(target_atom != src) - pointer_mob.visible_message("[pointer_mob] points [src] at- and [src] goes off in their hand!") - shoot_gun(pointer_mob) - return TRUE - return ..() - +/obj/item/toy/russian_revolver/soul + name = "cursed russian revolver" + desc = "To play with this revolver requires wagering your very soul." + cursed_shot = TRUE /* * Rubber Chainsaw */ @@ -1689,16 +1599,6 @@ */ -/obj/random/figure - name = "Random Action Figure" - desc = "This is a random toy action figure." - icon = 'icons/obj/toy.dmi' - icon_state = "nuketoy" - -/obj/random/figure/item_to_spawn() - return pick(subtypesof(/obj/item/toy/figure/crew)) - - /obj/item/toy/figure name = "Non-Specific Action Figure action figure" desc = "A \"Space Life\" brand... wait, what the hell is this thing?" @@ -2015,15 +1915,6 @@ to_chat(user, "You play with [src].") playsound(src, 'sound/mecha/mechstep.ogg', 20, TRUE) -/obj/random/mech - name = "Random Mech Prize" - desc = "This is a random prize." - icon = 'icons/obj/toy.dmi' - icon_state = "ripleytoy" - -/obj/random/mech/item_to_spawn() - return pick(subtypesof(/obj/item/toy/figure/mech)) //exclude the base type. - /obj/item/toy/figure/mech/ripley name = "toy Ripley" desc = "Mini-Mecha action figure! Collect them all! 1/11. This one is a ripley, a mining and engineering mecha." diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 38416775f880..f869ea3c0660 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -11,6 +11,8 @@ desc = "A card." icon = 'icons/obj/card.dmi' w_class = WEIGHT_CLASS_TINY + slot_flags = ITEM_SLOT_ID + new_attack_chain = TRUE var/associated_account_number = 0 @@ -29,6 +31,7 @@ icon_state = "emag" item_state = "card-id" origin_tech = "magnets=2;syndicate=2" + prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS /obj/item/card/emag desc = "It's a card with a magnetic strip attached to some circuitry." @@ -38,6 +41,7 @@ origin_tech = "magnets=2;syndicate=2" flags = NOBLUDGEON flags_2 = NO_MAT_REDEMPTION_2 + prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS /obj/item/card/emag/pre_attack(atom/target, mob/living/user, params) if(..() || ismob(target)) @@ -71,6 +75,7 @@ origin_tech = "magnets=2;syndicate=2" flags = NOBLUDGEON flags_2 = NO_MAT_REDEMPTION_2 + prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS /obj/item/card/cmag/Initialize(mapload) . = ..() @@ -95,7 +100,6 @@ var/total_mining_points = 0 var/list/access = list() var/registered_name = "Unknown" // The name registered_name on the card - slot_flags = ITEM_SLOT_ID armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 100, ACID = 100) resistance_flags = FIRE_PROOF | ACID_PROOF var/untrackable // Can not be tracked by AI's @@ -620,6 +624,13 @@ ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION, ACCESS_CLOWN, ACCESS_MIME, ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_WEAPONS, ACCESS_NTREP) +/obj/item/card/id/nct + name = "\improper Nanotrasen Career Trainer ID" + registered_name = "Nanotrasen Career Trainer" + icon_state = "nctrainer" + access = list(ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_CARGO, ACCESS_CONSTRUCTION, ACCESS_COURT, ACCESS_EVA, ACCESS_TRAINER, ACCESS_MAINT_TUNNELS, + ACCESS_MEDICAL, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_THEATRE, ACCESS_INTERNAL_AFFAIRS) + /obj/item/card/id/blueshield name = "Blueshield ID" registered_name = "Blueshield" @@ -776,6 +787,55 @@ /obj/item/card/id/data icon_state = "data" +/obj/item/card/id/nct_data_chip + name = "\improper NCT Trainee Access Chip" + desc = "A small electronic access token that allows its user to copy the access of their Trainee. Only accessible by NT Career Trainers!" + icon_state = "nct_chip" + assignment = "Nanotrasen Career Trainer" + var/registered_user = null + var/trainee = null + +/obj/item/card/id/nct_data_chip/examine(mob/user) + . = ..() + . += "
The current registered Trainee is: [trainee]" + . += "Use in hand to reset the assigned trainee and access." + . += "The datachip is unable to copy any access that has been deemed high-risk by Nanotrasen Officials. That includes some, if not most, head related access permissions." + +/obj/item/card/id/nct_data_chip/activate_self(mob/user) + if(..()) + return + if(!trainee) + return + + var/response = tgui_alert(user, "Would you like to remove [trainee] as your current active Trainee?", "Choose", list("Yes", "No")) + if(response == "Yes") + trainee = null + icon_state = "nct_chip" + access = list() + +/obj/item/card/id/nct_data_chip/interact_with_atom(atom/target, mob/living/user, list/modifiers) + if(!istype(target, /obj/item/card/id)) + return + if(!(isliving(user) && user.mind)) + return + + if(user.mind.current != registered_user) + to_chat(user, "You do not have access to use this NCT Trainee Access Chip!") + return + + if(istype(target, /obj/item/card/id/ert)) + to_chat(user, "The chip's screen blinks red as you attempt scanning this ID.") + return + + var/obj/item/card/id/I = target + to_chat(user, "The chip's microscanners activate as you scan [I.registered_name]'s ID, copying its access.") + access = I.access.Copy() + access.Remove(ACCESS_AI_UPLOAD, ACCESS_ARMORY, ACCESS_CAPTAIN, ACCESS_CE, ACCESS_RD, ACCESS_HOP, ACCESS_QM, ACCESS_CMO, ACCESS_HOS, ACCESS_NTREP, + ACCESS_MAGISTRATE, ACCESS_BLUESHIELD, ACCESS_HEADS_VAULT, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE, + ACCESS_CHANGE_IDS, ACCESS_MINISAT) + trainee = I.registered_name + icon_state = "nct_chip_active" + // Decals /obj/item/id_decal name = "identification card decal" @@ -829,10 +889,10 @@ override_name = 1 /proc/get_station_card_skins() - return list("data","id","gold","silver","security","detective","warden","internalaffairsagent","medical","coroner","chemist","virologist","paramedic","psychiatrist","geneticist","research","roboticist","quartermaster","cargo","shaftminer","engineering","atmostech","captain","HoP","HoS","CMO","RD","CE","assistant","clown","mime","botanist","librarian","chaplain","bartender","chef","janitor","rainbow","prisoner","explorer") + return list("data", "id", "gold", "silver", "security", "detective", "warden", "internalaffairsagent", "medical", "coroner", "chemist", "virologist", "paramedic", "psychiatrist", "geneticist", "research", "roboticist", "quartermaster", "cargo", "shaftminer", "engineering", "atmostech", "captain", "HoP", "HoS", "CMO", "RD", "CE", "assistant", "clown", "mime", "botanist", "librarian", "chaplain", "bartender", "chef", "janitor", "rainbow", "prisoner", "explorer", "nct") /proc/get_centcom_card_skins() - return list("centcom","blueshield","magistrate","ntrep","ERT_leader","ERT_empty","ERT_security","ERT_engineering","ERT_medical","ERT_janitorial","ERT_paranormal","deathsquad","commander","syndie","TDred","TDgreen") + return list("centcom", "blueshield", "magistrate", "ntrep", "ERT_leader", "ERT_empty", "ERT_security", "ERT_engineering", "ERT_medical", "ERT_janitorial", "ERT_paranormal", "deathsquad", "commander", "syndie", "TDred", "TDgreen") /proc/get_all_card_skins() return get_station_card_skins() + get_centcom_card_skins() @@ -853,6 +913,8 @@ return "Security Officer" if("internalaffairsagent") return "Internal Affairs Agent" + if("nct") + return "Nanotrasen Career Trainer" if("atmostech") return "Life Support Specialist" if("HoP") diff --git a/code/game/objects/items/weapons/cigs.dm b/code/game/objects/items/weapons/cigs.dm index bdaaceb28fe9..6d404496973d 100644 --- a/code/game/objects/items/weapons/cigs.dm +++ b/code/game/objects/items/weapons/cigs.dm @@ -269,7 +269,7 @@ LIGHTERS ARE IN LIGHTERS.DM // There used to be a species check here, but synthetics can smoke now is_being_smoked = TRUE if(location) - location.hotspot_expose(700, 5) + location.hotspot_expose(700, 1) if(reagents && reagents.total_volume) // check if it has any reagents at all if(is_being_smoked) // if it's being smoked, transfer reagents to the mob var/mob/living/carbon/C = loc diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index a8f28a7eab7e..9932bdbe4884 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -54,7 +54,12 @@ qdel(src) /obj/item/a_gift/attack_self__legacy__attackchain(mob/M as mob) - var/gift_type = pick(/obj/item/sord, + var/gift_type = pick( + /obj/effect/spawner/random/toy/carp_plushie, + /obj/effect/spawner/random/plushies, + /obj/effect/spawner/random/toy/action_figure, + /obj/effect/spawner/random/toy/mech_figure, + /obj/item/sord, /obj/item/storage/wallet, /obj/item/storage/photo_album, /obj/item/storage/box/snappops, @@ -76,7 +81,6 @@ /obj/item/gun/projectile/shotgun/toy/crossbow, /obj/item/gun/projectile/revolver/capgun, /obj/item/toy/katana, - /obj/random/mech, /obj/item/toy/spinningtoy, /obj/item/toy/sword, /obj/item/food/grown/ambrosia/deus, @@ -85,10 +89,7 @@ /obj/item/instrument/violin, /obj/item/instrument/guitar, /obj/item/storage/belt/utility/full, - /obj/item/clothing/accessory/horrible, - /obj/random/carp_plushie, - /obj/random/plushie, - /obj/random/figure, + /obj/item/clothing/neck/tie/horrible, /obj/item/deck/cards, /obj/item/deck/cards/tiny, /obj/item/deck/unum, diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.dm b/code/game/objects/items/weapons/grenades/clusterbuster.dm index 054f3f97b7a7..ce1e42e9181f 100644 --- a/code/game/objects/items/weapons/grenades/clusterbuster.dm +++ b/code/game/objects/items/weapons/grenades/clusterbuster.dm @@ -173,21 +173,16 @@ desc = "No matter what, do not EVER use this." payload = /obj/singularity -/obj/item/grenade/clusterbuster/tools - name = "\improper Engineering Deployment Platfom" - desc = "For the that time when gearing up was just too hard." - payload = /obj/random/tech_supply - -/obj/item/grenade/clusterbuster/tide - name = "\improper Quick Repair Grenade" - desc = "An assistant's every dream." - payload = /obj/random/tool - /obj/item/grenade/clusterbuster/toys name = "\improper Toy Delivery System" desc = "Who needs skill at arcades anyway?" payload = /obj/item/toy/random +/obj/item/grenade/clusterbuster/random_toys + name = "\improper Toy Delivery System" + desc = "Who needs skill at arcades anyway?" + payload = /obj/effect/spawner/random/toy/clusterbuster + /obj/item/grenade/clusterbuster/banquet name = "\improper Bork Bork Bonanza" desc = "Bork bork bork." diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm index a1179c681676..0b567a426af7 100644 --- a/code/game/objects/items/weapons/holy_weapons.dm +++ b/code/game/objects/items/weapons/holy_weapons.dm @@ -21,9 +21,12 @@ var/list/fluff_transformations = list() /// Extra 'Holy' burn damage for ERT null rods var/sanctify_force = 0 + /// The antimagic type the nullrod has. + var/antimagic_type = MAGIC_RESISTANCE_HOLY /obj/item/nullrod/Initialize(mapload) . = ..() + AddComponent(/datum/component/anti_magic, antimagic_type) if(!length(variant_names)) for(var/I in typesof(/obj/item/nullrod)) var/obj/item/nullrod/rod = I @@ -37,11 +40,6 @@ /obj/item/nullrod/attack__legacy__attackchain(mob/M, mob/living/carbon/user) ..() - var/datum/antagonist/vampire/V = M.mind?.has_antag_datum(/datum/antagonist/vampire) - if(ishuman(M) && V && HAS_MIND_TRAIT(M, TRAIT_HOLY)) - if(!V.get_ability(/datum/vampire_passive/full)) - to_chat(M, "The nullrod's power interferes with your own!") - V.adjust_nullification(30 + sanctify_force, 15 + sanctify_force) if(!sanctify_force) return if(isliving(M)) @@ -593,6 +591,16 @@ to_chat(user, "Your prayer to [SSticker.Bible_deity_name] was interrupted.") praying = FALSE + +/obj/item/nullrod/nazar + name = "nazar" + icon_state = "nazar" + item_state = null + desc = "A set of glass beads and amulet, which has been forged to provide powerful magic protection to the wielder." + force = 0 + throwforce = 0 + antimagic_type = ALL + /obj/item/nullrod/salt name = "Holy Salt" icon = 'icons/obj/food/containers.dmi' diff --git a/code/game/objects/items/weapons/lighters.dm b/code/game/objects/items/weapons/lighters.dm index 1f1d539a9edb..96f06a1766bd 100644 --- a/code/game/objects/items/weapons/lighters.dm +++ b/code/game/objects/items/weapons/lighters.dm @@ -135,7 +135,7 @@ /obj/item/lighter/process() var/turf/location = get_turf(src) if(location) - location.hotspot_expose(700, 5) + location.hotspot_expose(700, 1) return /obj/item/lighter/update_icon_state() @@ -263,7 +263,7 @@ if(smoketime < 1) matchburnout() if(location) - location.hotspot_expose(700, 5) + location.hotspot_expose(700, 1) return /obj/item/match/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index 23cf610f5cf0..7e43d87e2a64 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -996,6 +996,39 @@ title = "Science Standard Operating Procedures" wiki_article_title = "Standard_Operating_Procedure_(Science)" +/obj/item/book/manual/sop_ntinstructor + name = "Career Trainer SOP" + desc = "A set of guidelines for Instructors." + icon_state = "sop_legal" + author = "Nanotrasen" + title = "Instructor SOP" + pages = list({" + + + + + +

Instructor SOP


+

+

    +
  1. NT Career Trainers are to wear their company-provided uniform and jacket OR their issued beret/hat at all times while on duty. They are free to choose a beret that best matches their primary field of knowledge if they so desire. Additionally, Identifying equipment SHOULD not be distributed to crew members.
  2. +
  3. NT Career Trainers are to be available to all Crewmembers, regardless of Department. You may not only assist a singular Department.
  4. +
  5. NT Career Trainers are not to do a Trainee's work for them.
  6. +
  7. NT Career Trainers are to use NCT Data Chips only to acquire the access necessary for providing training. They are not to use said access for other purposes.
  8. +
  9. In the event of a lost or stolen NCT Data Chip, the NT Career Trainer is to report the incident to their local Nanotrasen Representative or Station Captain.
  10. +
  11. NT Career Trainers are permitted to carry a flash for self-defense.
  12. +
+ + + "}) + //* MANUAL SPAWNERS *// (and space Law) /obj/item/book/manual/random diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index d732db1d9fce..724e387b6d1c 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -162,6 +162,7 @@ icon_state = "satchel" origin_tech = "engineering=2" slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BOTH_POCKETS + prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS w_class = WEIGHT_CLASS_NORMAL storage_slots = 10 max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class @@ -230,6 +231,7 @@ storage_slots = 40 //the number of plant pieces it can carry. max_combined_w_class = 40 //Doesn't matter what this is, so long as it's more or equal to storage_slots * plants.w_class max_w_class = WEIGHT_CLASS_NORMAL + prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS w_class = WEIGHT_CLASS_TINY can_hold = list( /obj/item/seeds, @@ -444,6 +446,7 @@ desc = "A bag for storing pills, patches, and bottles." storage_slots = 50 max_combined_w_class = 200 + prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS w_class = WEIGHT_CLASS_TINY can_hold = list(/obj/item/reagent_containers/pill, /obj/item/reagent_containers/patch, @@ -461,6 +464,7 @@ desc = "A bag for the safe transportation and disposal of biowaste and other biological materials." storage_slots = 25 max_combined_w_class = 200 + prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS w_class = WEIGHT_CLASS_TINY can_hold = list(/obj/item/slime_extract, /obj/item/food/monkeycube, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/glass/beaker, @@ -479,6 +483,7 @@ item_state = "mailbag" storage_slots = 14 max_combined_w_class = 28 + prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS w_class = WEIGHT_CLASS_TINY can_hold = list(/obj/item/envelope, /obj/item/stamp, /obj/item/pen, /obj/item/paper, /obj/item/mail_scanner) resistance_flags = FLAMMABLE @@ -494,6 +499,7 @@ item_state = "construction_bag" storage_slots = 30 max_combined_w_class = 60 + prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS w_class = WEIGHT_CLASS_TINY can_hold = list(/obj/item/airlock_electronics, /obj/item/firelock_electronics, /obj/item/firealarm_electronics, /obj/item/apc_electronics, /obj/item/airalarm_electronics, /obj/item/camera_assembly, /obj/item/stock_parts/cell, /obj/item/circuitboard, /obj/item/stack/cable_coil) resistance_flags = FLAMMABLE @@ -509,6 +515,7 @@ icon_state = "satchel" origin_tech = "engineering=2" slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BOTH_POCKETS + prefered_slot_flags = ITEM_SLOT_BOTH_POCKETS w_class = WEIGHT_CLASS_NORMAL storage_slots = 15 max_combined_w_class = 60 diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm index d29ba66b3456..402d6ec2d417 100644 --- a/code/game/objects/items/weapons/storage/briefcase.dm +++ b/code/game/objects/items/weapons/storage/briefcase.dm @@ -22,7 +22,7 @@ /obj/item/storage/briefcase/sniperbundle/populate_contents() new /obj/item/gun/projectile/automatic/sniper_rifle/syndicate(src) - new /obj/item/clothing/accessory/red(src) + new /obj/item/clothing/neck/tie/red(src) new /obj/item/clothing/under/syndicate/sniper(src) new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src) diff --git a/code/game/objects/items/weapons/storage/garment.dm b/code/game/objects/items/weapons/storage/garment.dm index a56fdaf3d71f..28e0b39d3477 100644 --- a/code/game/objects/items/weapons/storage/garment.dm +++ b/code/game/objects/items/weapons/storage/garment.dm @@ -39,7 +39,7 @@ new /obj/item/clothing/suit/armor/vest/capcarapace/jacket/tunic(src) new /obj/item/clothing/suit/armor/vest/capcarapace/coat(src) new /obj/item/clothing/suit/armor/vest/capcarapace/coat/white(src) - new /obj/item/clothing/suit/mantle/armor/captain(src) + new /obj/item/clothing/neck/cloak/captain_mantle(src) new /obj/item/clothing/under/rank/captain(src) new /obj/item/clothing/under/rank/captain/parade(src) new /obj/item/clothing/under/rank/captain/dress(src) @@ -60,7 +60,7 @@ new /obj/item/clothing/head/hop(src) new /obj/item/clothing/head/beret/hop(src) new /obj/item/clothing/neck/cloak/head_of_personnel(src) - new /obj/item/clothing/suit/mantle/armor/hop(src) + new /obj/item/clothing/neck/cloak/hop_mantle(src) new /obj/item/clothing/suit/armor/vest(src) new /obj/item/clothing/suit/hopcoat(src) new /obj/item/clothing/under/rank/civilian/hop(src) @@ -88,7 +88,7 @@ new /obj/item/clothing/neck/cloak/head_of_security(src) new /obj/item/clothing/suit/armor/hos(src) new /obj/item/clothing/suit/armor/hos/alt(src) - new /obj/item/clothing/suit/mantle/armor(src) + new /obj/item/clothing/neck/cloak/hos_mantle(src) new /obj/item/clothing/under/rank/security/head_of_security(src) new /obj/item/clothing/under/rank/security/formal/head_of_security(src) new /obj/item/clothing/under/rank/security/head_of_security/corporate(src) @@ -107,7 +107,7 @@ new /obj/item/clothing/neck/cloak/research_director(src) new /obj/item/clothing/under/rank/rnd/research_director(src) new /obj/item/clothing/suit/storage/labcoat/rd(src) - new /obj/item/clothing/suit/mantle/labcoat(src) + new /obj/item/clothing/neck/cloak/rd_mantle(src) new /obj/item/clothing/suit/storage/labcoat(src) new /obj/item/clothing/shoes/white(src) new /obj/item/clothing/gloves/color/latex(src) @@ -133,7 +133,7 @@ new /obj/item/clothing/under/rank/medical/scrubs/green(src) new /obj/item/clothing/under/rank/medical/scrubs/purple(src) new /obj/item/clothing/suit/storage/labcoat/cmo(src) - new /obj/item/clothing/suit/mantle/labcoat/chief_medical_officer(src) + new /obj/item/clothing/neck/cloak/cmo_mantle(src) new /obj/item/clothing/shoes/white(src) new /obj/item/clothing/shoes/brown (src) new /obj/item/clothing/gloves/color/latex/nitrile(src) @@ -151,7 +151,7 @@ new /obj/item/clothing/neck/cloak/chief_engineer(src) new /obj/item/clothing/under/rank/engineering/chief_engineer(src) new /obj/item/clothing/under/rank/engineering/chief_engineer/skirt(src) - new /obj/item/clothing/suit/mantle/chief_engineer(src) + new /obj/item/clothing/neck/cloak/ce_mantle(src) new /obj/item/clothing/suit/storage/hazardvest/ce(src) new /obj/item/clothing/shoes/brown(src) new /obj/item/clothing/glasses/welding/superior(src) @@ -214,7 +214,7 @@ new /obj/item/clothing/glasses/hud/security/sunglasses(src) new /obj/item/clothing/glasses/hud/health/sunglasses(src) new /obj/item/clothing/glasses/hud/skills/sunglasses(src) - new /obj/item/clothing/accessory/blue(src) + new /obj/item/clothing/neck/tie/blue(src) new /obj/item/clothing/head/helmet/space/plasmaman/blueshield(src) new /obj/item/clothing/under/plasmaman/blueshield(src) @@ -234,7 +234,7 @@ new /obj/item/clothing/neck/cloak/quartermaster(src) new /obj/item/clothing/head/hardhat/orange(src) new /obj/item/clothing/suit/qmcoat(src) - new /obj/item/clothing/suit/mantle/qm(src) + new /obj/item/clothing/neck/cloak/qm_mantle(src) new /obj/item/clothing/suit/storage/hazardvest/qm(src) new /obj/item/clothing/gloves/color/black(src) new /obj/item/tank/internals/emergency_oxygen/double(src) @@ -273,7 +273,7 @@ new /obj/item/clothing/head/det_hat(src) new /obj/item/clothing/shoes/brown(src) new /obj/item/clothing/suit/armor/vest/det_suit(src) - new /obj/item/clothing/accessory/black(src) + new /obj/item/clothing/neck/tie/black(src) new /obj/item/clothing/accessory/holster/armpit(src) new /obj/item/clothing/glasses/sunglasses/yeah(src) @@ -291,14 +291,9 @@ new /obj/item/clothing/suit/witchhunter(src) new /obj/item/clothing/head/witchhunter_hat(src) new /obj/item/clothing/suit/holidaypriest(src) - new /obj/item/clothing/under/dress/wedding/bride_white(src) new /obj/item/clothing/head/helmet/riot/knight/templar(src) new /obj/item/clothing/suit/armor/riot/knight/templar(src) new /obj/item/clothing/suit/storage/labcoat(src) - new /obj/item/clothing/gloves/ring/silver(src) - new /obj/item/clothing/gloves/ring/silver(src) - new /obj/item/clothing/gloves/ring/gold(src) - new /obj/item/clothing/gloves/ring/gold(src) new /obj/item/clothing/head/helmet/space/plasmaman/chaplain(src) new /obj/item/clothing/under/plasmaman/chaplain(src) @@ -315,7 +310,7 @@ new /obj/item/clothing/shoes/laceup(src) new /obj/item/clothing/glasses/hud/health(src) new /obj/item/clothing/glasses/hud/skills(src) - new /obj/item/clothing/accessory/blue(src) + new /obj/item/clothing/neck/tie/blue(src) new /obj/item/clothing/head/helmet/space/plasmaman(src) new /obj/item/clothing/under/plasmaman(src) diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index a866e4b14488..82d882da36a5 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -90,12 +90,12 @@ new /obj/item/wirecutters(src) new /obj/item/t_scanner(src) new /obj/item/crowbar(src) - new /obj/item/stack/cable_coil(src, 30, paramcolor = pickedcolor) - new /obj/item/stack/cable_coil(src, 30, paramcolor = pickedcolor) + new /obj/item/stack/cable_coil(src, 30, pickedcolor) + new /obj/item/stack/cable_coil(src, 30, pickedcolor) if(prob(5)) new /obj/item/clothing/gloves/color/yellow(src) else - new /obj/item/stack/cable_coil(src, 30, paramcolor = pickedcolor) + new /obj/item/stack/cable_coil(src, 30, pickedcolor) /obj/item/storage/toolbox/syndicate name = "suspicious looking toolbox" @@ -132,7 +132,7 @@ new /obj/item/wrench(src) new /obj/item/weldingtool(src) new /obj/item/crowbar(src) - new /obj/item/stack/cable_coil(src, 30, paramcolor = pickedcolor) + new /obj/item/stack/cable_coil(src, 30, pickedcolor) new /obj/item/wirecutters(src) new /obj/item/multitool(src) diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 6aca07ab1cfd..8092c6ab84b4 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -154,7 +154,7 @@ /obj/item/bio_chip_implanter/shock, // 50TC /obj/item/dnainjector/telemut/darkbundle, // 0TC /obj/item/clothing/suit/hooded/chaplain_hoodie, // 0TC - /obj/item/clothing/glasses/meson/engine/tray, // 0TC + /obj/item/clothing/glasses/meson/engine/atmos, // 0TC /obj/item/clothing/mask/chameleon/voice_change, // 10TC /obj/item/card/id/syndicate, // 10TC /obj/item/clothing/shoes/chameleon/noslip, // 10TC @@ -222,7 +222,7 @@ /obj/item/encryptionkey/syndicate, // 10TC /obj/item/clothing/under/syndicate/combat, //0TC /obj/item/clothing/accessory/holster, // 0TC - /obj/item/clothing/accessory/scarf/red, //0TC + /obj/item/clothing/neck/scarf/red, //0TC /obj/item/clothing/head/beret, // 0TC /obj/item/clothing/gloves/combat, // 0TC /obj/item/clothing/shoes/combat) // 0TC @@ -455,7 +455,7 @@ /obj/item/storage/box/syndie_kit/safecracking/populate_contents() new /obj/item/clothing/gloves/color/latex/nitrile(src) new /obj/item/clothing/mask/balaclava(src) - new /obj/item/clothing/accessory/stethoscope(src) + new /obj/item/clothing/neck/stethoscope(src) new /obj/item/book/manual/wiki/hacking(src) /obj/item/storage/box/syndie_kit/chameleon diff --git a/code/game/objects/items/weapons/tanks/watertank.dm b/code/game/objects/items/weapons/tanks/watertank.dm index 01ad9ed3764a..13494689a6fe 100644 --- a/code/game/objects/items/weapons/tanks/watertank.dm +++ b/code/game/objects/items/weapons/tanks/watertank.dm @@ -328,7 +328,7 @@ /obj/effect/nanofrost_container/proc/Smoke() var/datum/effect_system/smoke_spread/freezing/S = new - S.set_up(amount = 6, only_cardinals = FALSE, source = loc, desired_direction = null, chemicals = null, blasting = TRUE) + S.set_up(amount = 6, only_cardinals = FALSE, source = loc) S.start() new /obj/effect/decal/cleanable/flour/nanofrost(get_turf(src)) playsound(src, 'sound/effects/bamf.ogg', 100, TRUE) diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index d29ae94b95cb..cdc924381720 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -72,6 +72,7 @@ turfs += T if(length(turfs)) L["None (Dangerous)"] = pick(turfs) + flick("hand_tele_activated", src) var/t1 = tgui_input_list(user, "Please select a teleporter to lock in on.", "Hand Teleporter", L) if(!t1 || (!user.is_in_active_hand(src) || user.stat || user.restrained())) return diff --git a/code/game/objects/items/weapons/vending_items.dm b/code/game/objects/items/weapons/vending_items.dm index 6995d3ad4426..835b69599391 100644 --- a/code/game/objects/items/weapons/vending_items.dm +++ b/code/game/objects/items/weapons/vending_items.dm @@ -223,3 +223,7 @@ /obj/item/vending_refill/lawdrobe machine_name = "LawDrobe" icon_state = "refill_clothes" + +/obj/item/vending_refill/traindrobe + machine_name = "TrainDrobe" + icon_state = "refill_clothes" diff --git a/code/game/objects/mail.dm b/code/game/objects/mail.dm index 57397c00ef0a..25843fd4cbca 100644 --- a/code/game/objects/mail.dm +++ b/code/game/objects/mail.dm @@ -198,7 +198,7 @@ /obj/item/toy/figure/crew/iaa, /obj/item/toy/figure/crew/dsquad, /obj/item/storage/box/scratch_cards) - job_list = list("Captain", "Magistrate", "Nanotrasen Representative", "Blueshield", "Internal Affairs Agent") + job_list = list("Captain", "Magistrate", "Nanotrasen Representative", "Blueshield", "Internal Affairs Agent", "Nanotrasen Career Trainer") /obj/item/envelope/misc possible_contents = list(/obj/item/clothing/under/misc/assistantformal, diff --git a/code/game/objects/random/random.dm b/code/game/objects/random/random.dm deleted file mode 100644 index 0b18507cd002..000000000000 --- a/code/game/objects/random/random.dm +++ /dev/null @@ -1,110 +0,0 @@ -// TODO: Refactor these into spawners -/obj/random - name = "Random Object" - desc = "This item type is used to spawn random objects at round-start." - icon = 'icons/misc/mark.dmi' - icon_state = "rup" - var/spawn_nothing_percentage = 0 // this variable determines the likelyhood that this random object will not spawn anything - - -// creates a new object and deletes itself -/obj/random/Initialize(mapload) - . = ..() - if(!prob(spawn_nothing_percentage)) - spawn_item() - return INITIALIZE_HINT_QDEL - - -// this function should return a specific item to spawn -/obj/random/proc/item_to_spawn() - return - - -// creates the random item -/obj/random/proc/spawn_item() - var/build_path = item_to_spawn() - return (new build_path(src.loc)) - - -/obj/random/tool - name = "Random Tool" - desc = "This is a random tool." - icon = 'icons/obj/tools.dmi' - icon_state = "random_tool" - -/obj/random/tool/item_to_spawn() - return pick(/obj/item/screwdriver,\ - /obj/item/wirecutters,\ - /obj/item/weldingtool,\ - /obj/item/crowbar,\ - /obj/item/wrench,\ - /obj/item/flashlight) - - -/obj/random/technology_scanner - name = "Random Scanner" - desc = "This is a random technology scanner." - icon = 'icons/obj/device.dmi' - icon_state = "atmos" - -/obj/random/technology_scanner/item_to_spawn() - return pick(prob(5);/obj/item/t_scanner,\ - prob(2);/obj/item/radio/intercom,\ - prob(5);/obj/item/analyzer) - - -/obj/random/powercell - name = "Random Powercell" - desc = "This is a random powercell." - icon = 'icons/obj/power.dmi' - icon_state = "cell" - -/obj/random/powercell/item_to_spawn() - return pick(prob(10);/obj/item/stock_parts/cell/crap,\ - prob(40);/obj/item/stock_parts/cell,\ - prob(40);/obj/item/stock_parts/cell/high,\ - prob(9);/obj/item/stock_parts/cell/super,\ - prob(1);/obj/item/stock_parts/cell/hyper) - -/obj/random/bomb_supply - name = "Bomb Supply" - desc = "This is a random bomb supply." - icon = 'icons/obj/assemblies/new_assemblies.dmi' - icon_state = "signaller" - -/obj/random/bomb_supply/item_to_spawn() - return pick(/obj/item/assembly/igniter,\ - /obj/item/assembly/prox_sensor,\ - /obj/item/assembly/signaler) - - -/obj/random/toolbox - name = "Random Toolbox" - desc = "This is a random toolbox." - icon = 'icons/obj/storage.dmi' - icon_state = "red" - -/obj/random/toolbox/item_to_spawn() - return pick(prob(3);/obj/item/storage/toolbox/mechanical,\ - prob(2);/obj/item/storage/toolbox/electrical,\ - prob(1);/obj/item/storage/toolbox/emergency) - -/obj/random/tech_supply - name = "Random Tech Supply" - desc = "This is a random piece of technology supplies." - icon = 'icons/obj/power.dmi' - icon_state = "cell" - spawn_nothing_percentage = 50 - -/obj/random/tech_supply/item_to_spawn() - return pick(prob(3);/obj/random/powercell,\ - prob(2);/obj/random/technology_scanner,\ - prob(1);/obj/item/stack/package_wrap,\ - prob(2);/obj/random/bomb_supply,\ - prob(1);/obj/item/extinguisher,\ - prob(1);/obj/item/clothing/gloves/color/fyellow,\ - prob(3);/obj/item/stack/cable_coil,\ - prob(2);/obj/random/toolbox,\ - prob(2);/obj/item/storage/belt/utility,\ - prob(5);/obj/random/tool,\ - prob(3);/obj/item/stack/tape_roll) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering_lockers.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering_lockers.dm index 6e86905ddbaf..6703f3bbe317 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering_lockers.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering_lockers.dm @@ -22,6 +22,7 @@ new /obj/item/holosign_creator/engineering(src) new /obj/item/flash(src) new /obj/item/clothing/glasses/meson/engine(src) + new /obj/item/clothing/glasses/meson/engine/atmos(src) new /obj/item/door_remote/chief_engineer(src) new /obj/item/rpd(src) new /obj/item/reagent_containers/drinks/mug/ce(src) @@ -119,6 +120,6 @@ new /obj/item/watertank/atmos(src) new /obj/item/clothing/suit/fire/firefighter/atmos(src) new /obj/item/clothing/head/hardhat/atmos(src) - new /obj/item/clothing/glasses/meson/engine(src) + new /obj/item/clothing/glasses/meson/engine/atmos(src) new /obj/item/rpd(src) new /obj/item/dest_tagger(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical_lockers.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical_lockers.dm index a40f7373bace..bccd658bfc80 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical_lockers.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical_lockers.dm @@ -73,7 +73,7 @@ new /obj/item/clothing/mask/surgical(src) new /obj/item/clothing/glasses/hud/health(src) new /obj/item/clothing/gloves/color/latex/nitrile(src) - new /obj/item/clothing/accessory/stethoscope(src) + new /obj/item/clothing/neck/stethoscope(src) new /obj/item/flashlight/pen(src) new /obj/item/storage/firstaid/regular(src) new /obj/item/storage/firstaid/adv(src) @@ -127,7 +127,7 @@ new /obj/item/storage/fancy/cigarettes/cigpack_med(src) new /obj/item/storage/fancy/cigarettes/cigpack_med(src) new /obj/item/storage/pill_bottle/psychiatrist(src) - new /obj/random/plushie(src) + new /obj/effect/spawner/random/plushies for(var/i in 0 to 3) var/candy = pick(subtypesof(/obj/item/food/candy/fudge)) new candy(src) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index cab056f24be0..77d0d6da3a6e 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -129,7 +129,7 @@ closed_door_sprite = "green" /obj/structure/closet/wardrobe/xenos/populate_contents() - new /obj/item/clothing/suit/unathi/mantle(src) + new /obj/item/clothing/neck/cloak/unathi(src) new /obj/item/clothing/suit/unathi/robe(src) new /obj/item/clothing/gloves/handwraps(src) new /obj/item/clothing/gloves/handwraps(src) diff --git a/code/game/objects/structures/plasmafire_generator.dm b/code/game/objects/structures/plasmafire_generator.dm new file mode 100644 index 000000000000..288eb567443e --- /dev/null +++ b/code/game/objects/structures/plasmafire_generator.dm @@ -0,0 +1,41 @@ +/obj/structure/plasmafire_generator + name = "Plasmafire Generator" + desc = "A magical thing that you really shouldn't be able to see." + anchored = TRUE + alpha = 0 + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + resistance_flags = LAVA_PROOF | FIRE_PROOF + flags = NODECONSTRUCT + +/obj/structure/plasmafire_generator/Initialize(mapload) + . = ..() + START_PROCESSING(SSprocessing, src) + +// for sanity checks +/obj/structure/plasmafire_generator/Destroy() + STOP_PROCESSING(SSprocessing, src) + return ..() + +/obj/structure/plasmafire_generator/process() + var/turf/T = get_turf(src) + if(!istype(T)) + return + + var/datum/gas_mixture/fire = new() + fire.set_toxins(10) + fire.set_oxygen(4) + fire.set_temperature(500) + T.blind_release_air(fire) + +/obj/structure/plasmafire_generator/shadow + var/enabled = FALSE + +/obj/structure/plasmafire_generator/shadow/onShuttleMove(turf/oldT, turf/T1, rotation, mob/caller) + if(T1.z != 1) + enabled = TRUE + return ..() + +/obj/structure/plasmafire_generator/shadow/process() + if(!enabled) + return + return ..() diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index ee476c27cbdc..0ee1015e25db 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -209,7 +209,7 @@ GLOBAL_LIST_EMPTY(safes) else to_chat(user, "[I] won't fit in [src].") else - if(istype(I, /obj/item/clothing/accessory/stethoscope)) + if(istype(I, /obj/item/clothing/neck/stethoscope)) attack_hand(user) return else if(istype(I, /obj/item/thermal_drill)) @@ -270,10 +270,10 @@ GLOBAL_LIST_EMPTY(safes) var/mob/living/carbon/human/H = usr var/list/accessories = H.w_uniform?.accessories if(H.can_hear()) // This is cursed but is_type_in_list somehow fails - if(H.is_in_hands(/obj/item/clothing/accessory/stethoscope)) + if(H.is_in_hands(/obj/item/clothing/neck/stethoscope)) canhear = TRUE else - for(var/obj/item/clothing/accessory/stethoscope/S in accessories) + for(var/obj/item/clothing/neck/stethoscope/S in accessories) canhear = TRUE break diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 303e8d5b6efc..9c85caa033f2 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -30,6 +30,14 @@ /// If a fire is ongoing, how much fuel did we burn last tick? /// Value is not updated while below PLASMA_MINIMUM_BURN_TEMPERATURE. var/fuel_burnt = 0 + /// When do we last remember having wind? + var/wind_tick = null + /// Wind's X component + var/wind_x = null + /// Wind's Y component + var/wind_y = null + /// Wind effect + var/obj/effect/wind/wind_effect = null /turf/simulated/proc/break_tile() return diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index c863cde3f8f6..e0864966cd6f 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -56,12 +56,12 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama break_tile_to_plating() else break_tile() - hotspot_expose(1000,CELL_VOLUME) + hotspot_expose(1000, 100) if(prob(33)) new /obj/item/stack/sheet/metal(src) if(3.0) if(prob(50)) break_tile() - hotspot_expose(1000,CELL_VOLUME) + hotspot_expose(1000, 100) return /turf/simulated/floor/burn_down() @@ -118,6 +118,10 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama burnt = TRUE update_icon() +/turf/simulated/floor/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) + if(exposed_temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST && prob(1)) + burn_tile() + /turf/simulated/floor/proc/make_plating() return ChangeTurf(/turf/simulated/floor/plating) diff --git a/code/game/turfs/simulated/floor/plasteel_floor.dm b/code/game/turfs/simulated/floor/plasteel_floor.dm index 49bc5dda1771..786514e0e56c 100644 --- a/code/game/turfs/simulated/floor/plasteel_floor.dm +++ b/code/game/turfs/simulated/floor/plasteel_floor.dm @@ -9,6 +9,23 @@ /turf/simulated/floor/plasteel/get_broken_states() return list("damaged1", "damaged2", "damaged3", "damaged4", "damaged5") +/turf/simulated/floor/plasteel/pressure_debug + +/turf/simulated/floor/plasteel/pressure_debug/airless + name = "airless floor" + oxygen = 0 + nitrogen = 0 + temperature = TCMB + +/turf/simulated/floor/plasteel/pressure_debug/Initialize(mapload) + ..() + addtimer(CALLBACK(src, PROC_REF(update_color)), 1, TIMER_LOOP) + +/turf/simulated/floor/plasteel/pressure_debug/proc/update_color() + var/datum/gas_mixture/air = get_readonly_air() + var/ratio = min(1, air.return_pressure() / ONE_ATMOSPHERE) + color = rgb(255 * (1 - ratio), 0, 255 * ratio) + /turf/simulated/floor/plasteel/airless name = "airless floor" oxygen = 0 diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index c295188fd93b..b0eda64b7f60 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -82,6 +82,9 @@ var/datum/gas_mixture/bound_to_turf/bound_air + /// The effect used to render a pressure overlay from this tile. + var/obj/effect/pressure_overlay/pressure_overlay + /turf/Initialize(mapload) SHOULD_CALL_PARENT(FALSE) if(initialized) @@ -651,8 +654,98 @@ /datum/milla_safe/turf_blind_set/on_run(turf/T, datum/gas_mixture/air) get_turf_air(T).copy_from(air) +/turf/simulated/proc/update_hotspot() + var/datum/gas_mixture/air = get_readonly_air() + if(air.fuel_burnt() < 0.001) + if(isnull(active_hotspot)) + return FALSE + + // If it's old, delete it. + if(active_hotspot.death_timer < SSair.times_fired) + QDEL_NULL(active_hotspot) + return FALSE + else + return TRUE + + if(isnull(active_hotspot)) + active_hotspot = new(src) + + active_hotspot.death_timer = SSair.times_fired + 4 + if(air.hotspot_volume() > 0) + active_hotspot.temperature = air.hotspot_temperature() + active_hotspot.volume = air.hotspot_volume() * CELL_VOLUME + else + active_hotspot.temperature = air.temperature() + active_hotspot.volume = CELL_VOLUME + + active_hotspot.update_visuals() + return TRUE + +/turf/simulated/proc/update_wind() + if(wind_tick != SSair.times_fired) + QDEL_NULL(wind_effect) + wind_tick = null + return FALSE + + if(isnull(wind_effect)) + wind_effect = new(src) + + wind_effect.dir = wind_direction(wind_x, wind_y) + + var/datum/gas_mixture/air = get_readonly_air() + var/wind = sqrt(wind_x ** 2 + wind_y ** 2) + var/wind_strength = wind * air.total_moles() / MOLES_CELLSTANDARD + wind_effect.alpha = min(255, 5 + wind_strength * 25) + return TRUE + /turf/return_analyzable_air() return get_readonly_air() +/obj/effect/pressure_overlay + icon_state = "nothing" + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + // I'm really not sure this is the right var for this, but it's what the suply shuttle is using to determine if anything is blocking a tile, so let's not do that. + simulated = FALSE + // Please do not splat the visual effect with a shuttle. + flags_2 = IMMUNE_TO_SHUTTLECRUSH_2 + + var/image/overlay + +/obj/effect/pressure_overlay/Initialize(mapload) + . = ..() + overlay = new(icon, src, "white") + overlay.alpha = 0 + overlay.plane = ABOVE_LIGHTING_PLANE + overlay.blend_mode = BLEND_OVERLAY + overlay.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM + +/obj/effect/pressure_overlay/onShuttleMove(turf/oldT, turf/T1, rotation, mob/caller) + // No, I don't think I will. + return FALSE + +/obj/effect/pressure_overlay/singularity_pull() + // I am not a physical object, you have no control over me! + return FALSE + +/obj/effect/pressure_overlay/singularity_act() + // I don't taste good, either! + return FALSE + +/turf/proc/ensure_pressure_overlay() + if(isnull(pressure_overlay)) + for(var/obj/effect/pressure_overlay/found_overlay in src) + pressure_overlay = found_overlay + if(isnull(pressure_overlay)) + pressure_overlay = new(src) + + if(isnull(pressure_overlay.loc)) + // Not sure how exactly this happens, but I've seen it happen, so fix it. + pressure_overlay.forceMove(src) + + if(isnull(pressure_overlay.overlay)) + pressure_overlay.Initialize() + + return pressure_overlay + /turf/_clear_signal_refs() return diff --git a/code/modules/admin/misc_admin_procs.dm b/code/modules/admin/misc_admin_procs.dm index afec64f26193..b3b3f1ac9f40 100644 --- a/code/modules/admin/misc_admin_procs.dm +++ b/code/modules/admin/misc_admin_procs.dm @@ -744,7 +744,7 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE) if(length(matches)==1) chosen = matches[1] else - chosen = input("Select an atom type", "Spawn Atom", matches[1]) as null|anything in matches + chosen = tgui_input_list(usr, "Select an Atom Type", "Spawn Atom", matches) if(!chosen) return diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 042deefc35d0..dd917e6744ec 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -67,7 +67,8 @@ to_chat(M, "You hear a voice in your head... [msg]") log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]") - message_admins("SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]", 1) + message_admins("Subtle Message: [key_name_admin(usr)] -> [key_name_admin(M)] : [msg]", 1) + M.create_log(MISC_LOG, "Subtle Message: [msg]", "From: [key_name_admin(usr)]") SSblackbox.record_feedback("tally", "admin_verb", 1, "Subtle Message") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_mentor_check_new_players() //Allows mentors / admins to determine who the newer players are. @@ -145,7 +146,8 @@ to_chat(M, msg) log_admin("DirectNarrate: [key_name(usr)] to ([key_name(M)]): [msg]") - message_admins("DirectNarrate: [key_name_admin(usr)] to ([key_name_admin(M)]): [msg]
", 1) + message_admins("Direct Narrate: [key_name_admin(usr)] to ([key_name_admin(M)]): [msg]
", 1) + M.create_log(MISC_LOG, "Direct Narrate: [msg]", "From: [key_name_admin(usr)]") SSblackbox.record_feedback("tally", "admin_verb", 1, "Direct Narrate") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -182,6 +184,7 @@ log_admin("[key_name(src)] replied to [key_name(H)]'s [sender] message with the message [input].") message_admins("[key_name_admin(src)] replied to [key_name_admin(H)]'s [sender] message with: \"[input]\"") + H.create_log(MISC_LOG, "Headset Message: [input]", "From: [key_name_admin(src)]") to_chat(H, "Incoming priority transmission from [sender == "Syndicate" ? "your benefactor" : "Central Command"]. Message as follows[sender == "Syndicate" ? ", agent." : ":"] [input]") SEND_SOUND(H, 'sound/effects/headset_message.ogg') @@ -1167,7 +1170,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!D) return - var/add_or_remove = input("Remove/Add?", "Trait Remove/Add") as null|anything in list("Add","Remove") + var/add_or_remove = tgui_input_list(usr, "Add or Remove Trait?", "Modify Trait", list("Add","Remove")) if(!add_or_remove) return var/list/availible_traits = list() @@ -1175,7 +1178,7 @@ Traitors and the like can also be revived with the previous role mostly intact. switch(add_or_remove) if("Add") for(var/key in GLOB.traits_by_type) - if(istype(D,key)) + if(istype(D, key)) availible_traits += GLOB.traits_by_type[key] if("Remove") if(!GLOB.trait_name_map) @@ -1184,7 +1187,7 @@ Traitors and the like can also be revived with the previous role mostly intact. var/name = GLOB.trait_name_map[trait] || trait availible_traits[name] = trait - var/chosen_trait = input("Select trait to modify", "Trait") as null|anything in availible_traits + var/chosen_trait = tgui_input_list(usr, "Select trait to modify.", "Traits", availible_traits) if(!chosen_trait) return chosen_trait = availible_traits[chosen_trait] @@ -1194,14 +1197,14 @@ Traitors and the like can also be revived with the previous role mostly intact. if("Add") //Not doing source choosing here intentionally to make this bit faster to use, you can always vv it. ADD_TRAIT(D, chosen_trait, source) if("Remove") - var/specific = input("All or specific source ?", "Trait Remove/Add") as null|anything in list("All","Specific") + var/specific = tgui_input_list(usr, "All or from a specific source?", "Add or Remove Trait", list("All","Specific")) if(!specific) return switch(specific) if("All") source = null if("Specific") - source = input("Source to be removed","Trait Remove/Add") as null|anything in D.status_traits[chosen_trait] + source = tgui_input_list(usr, "Source to be removed?", "Add or Remove Trait", D.status_traits[chosen_trait]) if(!source) return REMOVE_TRAIT(D, chosen_trait, source) diff --git a/code/modules/antagonists/_common/antag_datum.dm b/code/modules/antagonists/_common/antag_datum.dm index 30317213363a..89605c6e59f3 100644 --- a/code/modules/antagonists/_common/antag_datum.dm +++ b/code/modules/antagonists/_common/antag_datum.dm @@ -406,11 +406,11 @@ GLOBAL_LIST_EMPTY(antagonists) /** * Create and assign a full set of randomized, basic human traitor objectives. - * can_hijack - If you want the 10% chance for the antagonist to be able to roll hijack, only true for traitors + * can_hijack - If you want the 5% chance for the antagonist to be able to roll hijack, only true for traitors */ /datum/antagonist/proc/forge_basic_objectives(can_hijack = FALSE) // Hijack objective. - if(can_hijack && prob(10) && !(locate(/datum/objective/hijack) in owner.get_all_objectives())) + if(can_hijack && prob(5) && !(locate(/datum/objective/hijack) in owner.get_all_objectives())) add_antag_objective(/datum/objective/hijack) return // Hijack should be their only objective (normally), so return. diff --git a/code/modules/antagonists/cult/team_cult.dm b/code/modules/antagonists/cult/team_cult.dm index 7301d9abb9a6..39fb80f62b60 100644 --- a/code/modules/antagonists/cult/team_cult.dm +++ b/code/modules/antagonists/cult/team_cult.dm @@ -34,10 +34,6 @@ RESTRICT_TYPE(/datum/team/cult) /// Timer until we do a recount of cultist members var/recount_timer -/datum/team/cult/New(list/starting_members) - . = ..() - recount_timer = addtimer(CALLBACK(src, PROC_REF(cult_threshold_check)), 5 MINUTES, TIMER_STOPPABLE|TIMER_DELETE_ME|TIMER_LOOP) - /datum/team/cult/Destroy(force, ...) deltimer(recount_timer) return ..() @@ -51,6 +47,7 @@ RESTRICT_TYPE(/datum/team/cult) cult_status = NARSIE_DEMANDS_SACRIFICE create_next_sacrifice() + recount_timer = addtimer(CALLBACK(src, PROC_REF(cult_threshold_check)), 5 MINUTES, TIMER_STOPPABLE|TIMER_DELETE_ME|TIMER_LOOP) for(var/datum/mind/M as anything in starting_members) var/datum/antagonist/cultist/cultist = M.has_antag_datum(/datum/antagonist/cultist) diff --git a/code/modules/antagonists/event/datum_eventmisc.dm b/code/modules/antagonists/event/datum_eventmisc.dm new file mode 100644 index 000000000000..c86ed49603a4 --- /dev/null +++ b/code/modules/antagonists/event/datum_eventmisc.dm @@ -0,0 +1,15 @@ +RESTRICT_TYPE(/datum/antagonist/eventmisc) + +/datum/antagonist/eventmisc + name = "Event" + job_rank = ROLE_EVENTMISC + special_role = SPECIAL_ROLE_EVENTMISC + give_objectives = FALSE + antag_hud_name = "hudevent" + antag_hud_type = ANTAG_HUD_EVENTMISC + +/datum/antagonist/eventmisc/add_owner_to_gamemode() + SSticker.mode.eventmiscs |= owner + +/datum/antagonist/eventmisc/remove_owner_from_gamemode() + SSticker.mode.eventmiscs -= owner diff --git a/code/modules/antagonists/mind_flayer/flayer_power.dm b/code/modules/antagonists/mind_flayer/flayer_power.dm index b48c9c25ca92..481c3d0a78ac 100644 --- a/code/modules/antagonists/mind_flayer/flayer_power.dm +++ b/code/modules/antagonists/mind_flayer/flayer_power.dm @@ -3,6 +3,7 @@ desc = "This spell needs a description!" human_req = TRUE clothes_req = FALSE + antimagic_flags = NONE /// A reference to the owner mindflayer's antag datum. var/datum/antagonist/mindflayer/flayer diff --git a/code/modules/antagonists/traitor/contractor/datums/objective_contract.dm b/code/modules/antagonists/traitor/contractor/datums/objective_contract.dm index 107eae3200f5..b140da97864b 100644 --- a/code/modules/antagonists/traitor/contractor/datums/objective_contract.dm +++ b/code/modules/antagonists/traitor/contractor/datums/objective_contract.dm @@ -8,6 +8,7 @@ /// Jobs that cannot be the kidnapping target. var/static/list/forbidden_jobs = list( "Captain", + "Nanotrasen Career Trainer" ) /// Static whitelist of area names that can be used as an extraction zone, structured by difficulty. /// An area's difficulty should be measured in how crowded it generally is, how out of the way it is and so on. diff --git a/code/modules/antagonists/vampire/vamp_datum.dm b/code/modules/antagonists/vampire/vamp_datum.dm index 3fe4dcc76609..b6e97c0c6717 100644 --- a/code/modules/antagonists/vampire/vamp_datum.dm +++ b/code/modules/antagonists/vampire/vamp_datum.dm @@ -93,6 +93,7 @@ RESTRICT_TYPE(/datum/antagonist/vampire) mob_override.dna?.species.hunger_icon = initial(mob_override.dna.species.hunger_icon) owner.current.alpha = 255 REMOVE_TRAITS_IN(owner.current, "vampire") + UnregisterSignal(owner, COMSIG_ATOM_HOLY_ATTACK) #define BLOOD_GAINED_MODIFIER 0.5 @@ -362,8 +363,21 @@ RESTRICT_TYPE(/datum/antagonist/vampire) mob_override.dna?.species.hunger_icon = 'icons/mob/screen_hunger_vampire.dmi' check_vampire_upgrade(FALSE) + RegisterSignal(mob_override, COMSIG_ATOM_HOLY_ATTACK, PROC_REF(holy_attack_reaction)) - +/datum/antagonist/vampire/proc/holy_attack_reaction(mob/target, obj/item/source, mob/user, antimagic_flags) + SIGNAL_HANDLER // COMSIG_ATOM_HOLY_ATTACK + if(!HAS_MIND_TRAIT(user, TRAIT_HOLY)) // Sec officer with a nullrod, or miner with a talisman, does not get to do this + return + if(!source.force) // Needs force to work. + return + var/bonus_force = 0 + if(istype(source, /obj/item/nullrod)) + var/obj/item/nullrod/N = source + bonus_force = N.sanctify_force + if(!get_ability(/datum/vampire_passive/full)) + to_chat(owner.current, "[source]'s power interferes with your own!") + adjust_nullification(30 + bonus_force, 15 + bonus_force) /datum/antagonist/vampire/custom_blurb() return "On the date [GLOB.current_date_string], at [station_time_timestamp()],\n in the [station_name()], [get_area_name(owner.current, TRUE)]...\nThe hunt begins again..." diff --git a/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm b/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm index d749bfccee37..c38b8523e3d7 100644 --- a/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm +++ b/code/modules/antagonists/vampire/vampire_powers/dantalion_powers.dm @@ -161,6 +161,10 @@ /datum/spell/vampire/switch_places/cast(list/targets, mob/user) var/mob/living/target = targets[1] + if(target.can_block_magic(antimagic_flags)) + to_chat(user, "The spell had no effect!") + to_chat(target, "You feel space bending, but it rapidly dissipates.") + return FALSE var/turf/user_turf = get_turf(user) var/turf/target_turf = get_turf(target) if(!(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, user_turf) & COMPONENT_BLOCK_TELEPORT)) diff --git a/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm b/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm index 20071ab2ebf5..5207ccf7d97c 100644 --- a/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm +++ b/code/modules/antagonists/vampire/vampire_powers/gargantua_powers.dm @@ -157,6 +157,8 @@ /obj/item/projectile/magic/demonic_grasp/on_hit(atom/target, blocked, hit_zone) . = ..() + if(!.) + return if(!isliving(target)) return var/mob/living/L = target diff --git a/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm b/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm index ff227c1774bf..21e6b97f5fae 100644 --- a/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm +++ b/code/modules/antagonists/vampire/vampire_powers/vampire_powers.dm @@ -3,6 +3,9 @@ //Other vampires and thralls aren't affected if(mind?.has_antag_datum(/datum/antagonist/vampire) || mind?.has_antag_datum(/datum/antagonist/mindslave/thrall)) return FALSE + /// Chaplains with their nullrod can block a full power vampire, but a chaplain by themselfs or a crew with a null rod can not. + if(can_block_magic(MAGIC_RESISTANCE_HOLY) && HAS_MIND_TRAIT(src, TRAIT_HOLY)) + return FALSE //Vampires who have reached their full potential can affect nearly everything var/datum/antagonist/vampire/V = user?.mind.has_antag_datum(/datum/antagonist/vampire) if(V?.get_ability(/datum/vampire_passive/full)) @@ -10,12 +13,15 @@ //Holy characters are resistant to vampire powers if(HAS_MIND_TRAIT(src, TRAIT_HOLY)) return FALSE + if(can_block_magic(MAGIC_RESISTANCE_HOLY)) + return FALSE return TRUE /datum/spell/vampire action_background_icon_state = "bg_vampire" human_req = TRUE clothes_req = FALSE + antimagic_flags = MAGIC_RESISTANCE_HOLY /// How much blood this ability costs to use var/required_blood var/deduct_blood_on_cast = TRUE @@ -52,6 +58,7 @@ action_icon_state = "vampire_rejuvinate" base_cooldown = 20 SECONDS stat_allowed = UNCONSCIOUS + antimagic_flags = NONE // So. If you have a null rod on your person, you can't cast vampire spells. I would rather not have officers abuse this by putting a nullrod in their pocket or something to block rejuvinate. /datum/spell/vampire/self/rejuvenate/cast(list/targets, mob/user = usr) var/mob/living/U = user diff --git a/code/modules/antagonists/zombie/zombie_spells.dm b/code/modules/antagonists/zombie/zombie_spells.dm index 3739a953438c..39d02fa99823 100644 --- a/code/modules/antagonists/zombie/zombie_spells.dm +++ b/code/modules/antagonists/zombie/zombie_spells.dm @@ -5,6 +5,7 @@ action_background_icon_state = "bg_vampire" human_req = TRUE clothes_req = FALSE + antimagic_flags = NONE base_cooldown = 0 SECONDS var/list/our_claws = list() var/infection_stage = 1 // mostly for adminbus and testing diff --git a/code/modules/arcade/arcade_prize.dm b/code/modules/arcade/arcade_prize.dm index e17d803d5ff9..10912d16b370 100644 --- a/code/modules/arcade/arcade_prize.dm +++ b/code/modules/arcade/arcade_prize.dm @@ -8,7 +8,13 @@ icon = 'icons/obj/arcade.dmi' icon_state = "prizeball_1" var/opening = 0 - var/possible_contents = list(/obj/random/carp_plushie, /obj/random/plushie, /obj/random/figure, /obj/item/toy/eight_ball, /obj/item/stack/tickets) + var/possible_contents = list( + /obj/effect/spawner/random/toy/carp_plushie, + /obj/effect/spawner/random/plushies, + /obj/effect/spawner/random/toy/action_figure, + /obj/item/toy/eight_ball, + /obj/item/stack/tickets, + ) /obj/item/toy/prizeball/Initialize(mapload) . = ..() @@ -34,27 +40,37 @@ /obj/item/toy/prizeball/mech name = "mecha figure capsule" desc = "Contains one collectible mecha figure!" - possible_contents = list(/obj/random/mech) + possible_contents = list( + /obj/effect/spawner/random/toy/mech_figure, + ) /obj/item/toy/prizeball/carp_plushie name = "carp plushie capsule" desc = "Contains one space carp plushie!" - possible_contents = list(/obj/random/carp_plushie) + possible_contents = list( + /obj/effect/spawner/random/toy/carp_plushie, + ) /obj/item/toy/prizeball/plushie name = "plushie capsule" desc = "Contains one cuddly plushie!" - possible_contents = list(/obj/random/plushie) + possible_contents = list( + /obj/effect/spawner/random/plushies, + ) -/obj/item/toy/prizeball/figure +/obj/item/toy/prizeball/action_figure name = "action figure capsule" desc = "Contains one action figure!" - possible_contents = list(/obj/random/figure) + possible_contents = list( + /obj/effect/spawner/random/toy/action_figure, + ) /obj/item/toy/prizeball/therapy name = "therapy doll capsule" desc = "Contains one squishy therapy doll." - possible_contents = list(/obj/random/therapy) + possible_contents = list( + /obj/effect/spawner/random/toy/therapy_doll, + ) /obj/item/stack/tickets name = "prize ticket" @@ -69,10 +85,6 @@ w_class = WEIGHT_CLASS_TINY max_amount = 9999 //Dang that's a lot of tickets -/obj/item/stack/tickets/New(loc, amount=null) - ..() - update_icon(UPDATE_ICON_STATE) - /obj/item/stack/tickets/attack_self__legacy__attackchain(mob/user as mob) return diff --git a/code/modules/arcade/prize_datums.dm b/code/modules/arcade/prize_datums.dm index 72cddba9eca2..289c203526d0 100644 --- a/code/modules/arcade/prize_datums.dm +++ b/code/modules/arcade/prize_datums.dm @@ -236,7 +236,7 @@ GLOBAL_DATUM_INIT(global_prizes, /datum/prizes, new()) /datum/prize_item/action_figure name = "Random Action Figure" desc = "A random action figure, collect them all!" - typepath = /obj/item/toy/prizeball/figure + typepath = /obj/item/toy/prizeball/action_figure cost = 75 /datum/prize_item/ai diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index f3433f5b208f..66aa95bde49b 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -27,7 +27,7 @@ var/turf/location = get_turf(loc) if(location) - location.hotspot_expose(1000, 1000) + location.hotspot_expose(1000, 1) visible_message( "Sparks shoot out of [src].", "You hear a shower of sparks shooting out from something!" diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index dac9ad424bf7..234aa4a500d7 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -2,41 +2,24 @@ /atom/proc/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(reagents) reagents.temperature_reagents(exposed_temperature) - return null -/turf/proc/hotspot_expose(exposed_temperature, exposed_volume, soh = 0) - return FALSE - -/turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh) +/turf/simulated/temperature_expose(exposed_temperature) if(reagents) reagents.temperature_reagents(exposed_temperature, 10, 300) - if(!issimulatedturf(src)) - return FALSE - var/datum/gas_mixture/air = get_readonly_air() - if(!air) - return FALSE - if(active_hotspot) - if(soh) - if(air.toxins() > 0.5 && air.oxygen() > 0.5) - if(active_hotspot.temperature < exposed_temperature) - active_hotspot.temperature = exposed_temperature - if(active_hotspot.volume < exposed_volume) - active_hotspot.volume = exposed_volume - return TRUE - - if(exposed_temperature > PLASMA_MINIMUM_BURN_TEMPERATURE && air.oxygen() > 0.5 && air.toxins() > 0.5) - var/total = air.total_moles() - if(air.toxins() < 0.01 * total || air.oxygen() < 0.01 * total) - // The rest of the gas is snuffing out the reaction. - return FALSE - active_hotspot = new /obj/effect/hotspot(src) - active_hotspot.temperature = exposed_temperature - active_hotspot.volume = exposed_volume - return TRUE - - return FALSE - -//This is the icon for fire on turfs, also helps for nurturing small fires until they are full tile + +/turf/proc/hotspot_expose(exposed_temperature, exposed_volume) + return + +/turf/simulated/hotspot_expose(exposed_temperature, exposed_volume) + var/datum/milla_safe/make_hotspot/milla = new() + milla.invoke_async(src, exposed_temperature, exposed_volume) + +/datum/milla_safe/make_hotspot + +/datum/milla_safe/make_hotspot/on_run(turf/simulated/tile, exposed_temperature, exposed_volume) + create_hotspot(tile, exposed_temperature, exposed_volume) + +//This is the icon for fire on turfs. /obj/effect/hotspot anchored = TRUE mouse_opacity = MOUSE_OPACITY_TRANSPARENT @@ -49,143 +32,25 @@ var/volume = 125 var/temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - var/fake = FALSE - var/burn_time = 0 + // The last tick this hotspot should be alive for. + var/death_timer = 0 /obj/effect/hotspot/New() ..() - if(!fake) - SSair.hotspots += src - var/datum/milla_safe/hotspot_burn_plasma/milla = new() - milla.invoke_async(src) dir = pick(GLOB.cardinal) -/datum/milla_safe/hotspot_burn_plasma - -/// Burns the air affected by this hotspot. A hotspot is effectively a gas fire that might not cover the entire tile yet. This proc makes that "partial fire" burn, altering the tile as a whole, and potentially setting the entire tile on fire. -/datum/milla_safe/hotspot_burn_plasma/on_run(obj/effect/hotspot/hotspot) - var/turf/simulated/location = get_turf(hotspot) - if(!istype(location) || location.blocks_air) - // We're in the wrong neighborhood. - qdel(hotspot) - return - - var/datum/gas_mixture/location_air = get_turf_air(location) - if(location_air.temperature() >= min(hotspot.temperature, PLASMA_UPPER_TEMPERATURE)) - // The cell is already hot enough, no need to do more. - hotspot.temperature = location_air.temperature() - hotspot.volume = CELL_VOLUME - hotspot.recolor() - return - - if(location_air.toxins() < 0.5 || location_air.oxygen() < 0.5) - // Burn what, exactly? - qdel(hotspot) - return - - var/total = location_air.total_moles() - if(location_air.toxins() < 0.01 * total || location_air.oxygen() < 0.01 * total) - // The rest of the gas is snuffing out the reaction. - qdel(hotspot) - return - - // Get some of the surrounding air for the hotspot to burn. - var/datum/gas_mixture/burning = location_air.remove_ratio(hotspot.volume / location_air.volume) - - // Temporarily boost the temperature of this air to the hotspot temperature. - var/old_temperature = burning.temperature() - burning.set_temperature(hotspot.temperature) - - // Record how much plasma we had initially. - var/old_toxins = burning.toxins() - - // Burn it. - burning.react() - - // Calculate how much thermal energy was produced. - // (Yes, gas_mixture has its own .fuel_burnt, but I dont' trust that code.) - var/fuel_burnt = old_toxins - burning.toxins() - var/thermal_energy = FIRE_PLASMA_ENERGY_RELEASED * fuel_burnt - - // Update the hotspot based on the reaction. - hotspot.temperature = burning.temperature() - hotspot.volume = min(CELL_VOLUME, fuel_burnt * FIRE_GROWTH_RATE) - hotspot.recolor() - - // Revert the air's temperature to where it started. - burning.set_temperature(old_temperature) - - var/heat_capacity = burning.heat_capacity() - if(heat_capacity) - // Add in the produced thermal energy. - burning.set_temperature(burning.temperature() + thermal_energy / burning.heat_capacity()) - - // And add it back to the tile. - location_air.merge(burning) - -/obj/effect/hotspot/process() - var/turf/simulated/location = loc - if(!istype(location)) - qdel(src) - return - - if((temperature < FIRE_MINIMUM_TEMPERATURE_TO_EXIST) || (volume <= 1)) - qdel(src) - return - - var/datum/gas_mixture/location_air = location.get_readonly_air() - if(location.blocks_air || location_air.toxins() < 0.5 || location_air.oxygen() < 0.5) - qdel(src) - return - - var/datum/milla_safe/hotspot_burn_plasma/milla = new() - milla.invoke_async(src) - if(QDELETED(src)) - return - - for(var/A in loc) - var/atom/item = A - if(!QDELETED(item) && item != src) // It's possible that the item is deleted in temperature_expose - item.fire_act(null, temperature, volume) - - if(!istype(location)) - // We are now space. No need to do anything else. - return - - if(location.wet) - location.wet = TURF_DRY - - if(volume >= CELL_VOLUME * 0.95) +/obj/effect/hotspot/proc/update_visuals() + color = heat2color(temperature) + set_light(l_color = color) + var/turf/here = get_turf(src) + var/datum/gas_mixture/gas = here.get_readonly_air() + var/fuel_burnt = gas.fuel_burnt() + if(fuel_burnt > 1) icon_state = "3" - location.burn_tile() - - //Possible spread due to radiated heat - if(temperature > FIRE_MINIMUM_TEMPERATURE_TO_SPREAD) - var/radiated_temperature = temperature * FIRE_SPREAD_RADIOSITY_SCALE - for(var/direction in GLOB.cardinal) - var/turf/simulated/T = get_step(location, direction) - if(!istype(T)) - continue - if(T.active_hotspot) - continue - if(src.CanAtmosPass(direction) && T.CanAtmosPass(turn(direction, 180))) - T.hotspot_expose(radiated_temperature, CELL_VOLUME / 4) - + else if(fuel_burnt > 0.1) + icon_state = "2" else - if(volume > CELL_VOLUME*0.4) - icon_state = "2" - else - icon_state = "1" - - if(temperature > location.max_fire_temperature_sustained) - location.max_fire_temperature_sustained = temperature - - if(location.heat_capacity && temperature > location.heat_capacity) - location.to_be_destroyed = TRUE - /*if(prob(25)) - location.ReplaceWithSpace() - return 0*/ - return 1 + icon_state = "1" /obj/effect/hotspot/Initialize(mapload) @@ -199,18 +64,16 @@ /obj/effect/hotspot/Destroy() set_light(0) - SSair.hotspots -= src var/turf/simulated/T = loc if(istype(T) && T.active_hotspot == src) T.active_hotspot = null - if(!fake) - DestroyTurf() return ..() /obj/effect/hotspot/proc/recolor() color = heat2color(temperature) set_light(l_color = color) +// TODO: Vestigal, kept temporarily to avoid a merge conflict. /obj/effect/hotspot/proc/DestroyTurf() if(issimulatedturf(loc)) var/turf/simulated/T = loc @@ -237,8 +100,7 @@ /// Largely for the fireflash procs below /obj/effect/hotspot/fake - fake = TRUE - burn_time = 30 + var/burn_time = 3 SECONDS /obj/effect/hotspot/fake/New() ..() diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index a629c4dec325..59b1d94e9f0b 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -26,6 +26,7 @@ /turf/simulated/Destroy() QDEL_NULL(active_hotspot) QDEL_NULL(wet_overlay) + QDEL_NULL(wind_effect) return ..() /turf/simulated/proc/mimic_temperature_solid(turf/model, conduction_coefficient) @@ -82,43 +83,79 @@ return null /turf/proc/high_pressure_movements(flow_x, flow_y) - var/atom/movable/M - for(var/thing in src) - M = thing + for(var/atom/movable/M in src) if(QDELETED(M)) continue if(M.anchored) continue if(M.pulledby) continue - if(M.last_high_pressure_movement_air_cycle < SSair.times_fired) - M.experience_pressure_difference(flow_x, flow_y) - -/atom/movable/proc/experience_pressure_difference(flow_x, flow_y, pressure_resistance_prob_delta = 0) - var/const/PROBABILITY_OFFSET = 25 - var/const/PROBABILITY_BASE_PRECENT = 75 - - var/pressure_difference = sqrt(flow_x ** 2 + flow_y ** 2) - var/max_force = sqrt(pressure_difference) * (MOVE_FORCE_DEFAULT / 5) - set waitfor = 0 - var/move_prob = 100 - if(pressure_resistance > 0) - move_prob = (pressure_difference / pressure_resistance * PROBABILITY_BASE_PRECENT) - PROBABILITY_OFFSET - move_prob += pressure_resistance_prob_delta - if(move_prob > PROBABILITY_OFFSET && prob(move_prob) && (move_resist != INFINITY) && (!anchored && (max_force >= (move_resist * MOVE_FORCE_PUSH_RATIO))) || (anchored && (max_force >= (move_resist * MOVE_FORCE_FORCEPUSH_RATIO)))) - var/direction = 0 - if(flow_x > 0.5) - direction |= EAST - if(flow_x < -0.5) - direction |= WEST - if(flow_y > 0.5) - direction |= NORTH - if(flow_y < -0.5) - direction |= SOUTH - step(src, direction) - last_high_pressure_movement_air_cycle = SSair.times_fired - - return pressure_difference + M.experience_pressure_difference(flow_x, flow_y) + +/proc/wind_direction(flow_x, flow_y) + var/direction = 0 + if(flow_x > 0.5) + direction |= EAST + if(flow_x < -0.5) + direction |= WEST + if(flow_y > 0.5) + direction |= NORTH + if(flow_y < -0.5) + direction |= SOUTH + + return direction + +/atom/movable/proc/experience_pressure_difference(flow_x, flow_y) + if(move_resist == INFINITY) + return + + var/force_needed = max(move_resist, 1) + if(anchored) + force_needed *= MOVE_FORCE_FORCEPUSH_RATIO + else + force_needed *= MOVE_FORCE_PUSH_RATIO + + var/turf/my_turf = get_turf(src) + var/datum/gas_mixture/my_air = my_turf.get_readonly_air() + + var/air = my_air.total_moles() / MOLES_CELLSTANDARD + var/wind = sqrt(flow_x ** 2 + flow_y ** 2) + var/force = wind * air * (MOVE_FORCE_DEFAULT / 5) + + if(force < force_needed) + return + + var/direction = wind_direction(flow_x, flow_y) + if(direction == 0) + return + + if(last_high_pressure_movement_time >= SSair.times_fired - 3) + return + last_high_pressure_movement_time = SSair.times_fired + + air_push(direction, (force - force_needed) / force_needed) + +/atom/movable/proc/air_push(direction, strength) + step(src, direction) + +/mob/living/air_push(direction, strength) + if(HAS_TRAIT(src, TRAIT_MAGPULSE)) + return + + apply_status_effect(STATUS_EFFECT_UNBALANCED) + apply_status_effect(STATUS_EFFECT_DIRECTIONAL_SLOW, 1 SECONDS, REVERSE_DIR(direction), min(10, strength * 5)) + + if(client?.input_data?.desired_move_dir) + return + if(!pulling) + return ..() + + // Make sure we don't let go of something just because the wind pushed us into it. + var/atom/movable/was_pulling = pulling + . = ..() + // We were just pulling it, so we can skip all the other stuff in start_pulling and just re-establish the pull. + pulling = was_pulling + was_pulling.pulledby = src /turf/simulated/proc/radiate_to_spess() //Radiate excess tile heat to space if(temperature > T0C) //Considering 0 degC as te break even point for radiation in and out @@ -198,6 +235,14 @@ reset_superconductivity(T) reduce_superconductivity(T, superconductivity) +/obj/effect/wind + anchored = TRUE + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + icon = 'icons/effects/tile_effects.dmi' + icon_state = "wind" + layer = MASSIVE_OBJ_LAYER + blend_mode = BLEND_OVERLAY + #undef INDEX_NORTH #undef INDEX_EAST #undef INDEX_SOUTH diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index eba569848dd9..e39ccf5ef5f9 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -33,6 +33,9 @@ What are the archived variables for? var/private_sleeping_agent = 0 var/private_agent_b = 0 var/private_temperature = 0 //in Kelvin + var/private_hotspot_temperature = 0 + var/private_hotspot_volume = 0 + var/private_fuel_burnt = 0 // Archived versions of the private fields. // Only gas_mixture should use these. @@ -100,6 +103,15 @@ What are the archived variables for? /datum/gas_mixture/proc/set_temperature(value) private_temperature = value +/datum/gas_mixture/proc/hotspot_temperature() + return private_hotspot_temperature + +/datum/gas_mixture/proc/hotspot_volume() + return private_hotspot_volume + +/datum/gas_mixture/proc/fuel_burnt() + return private_fuel_burnt + ///joules per kelvin /datum/gas_mixture/proc/heat_capacity() return HEAT_CAPACITY_CALCULATION(private_oxygen, private_carbon_dioxide, private_nitrogen, private_toxins, private_sleeping_agent, private_agent_b, innate_heat_capacity) @@ -651,6 +663,9 @@ What are the archived variables for? private_agent_b = milla[MILLA_INDEX_AGENT_B] innate_heat_capacity = milla[MILLA_INDEX_INNATE_HEAT_CAPACITY] private_temperature = milla[MILLA_INDEX_TEMPERATURE] + private_hotspot_temperature = milla[MILLA_INDEX_HOTSPOT_TEMPERATURE] + private_hotspot_volume = milla[MILLA_INDEX_HOTSPOT_VOLUME] + private_fuel_burnt = milla[MILLA_INDEX_FUEL_BURNT] /proc/share_many_airs(list/mixtures) var/total_volume = 0 @@ -700,16 +715,8 @@ What are the archived variables for? G.private_temperature = temperature G.set_dirty() - - -///Mathematical proofs: -/** -get_breath_partial_pressure(gas_pp) --> gas_pp/total_moles()*breath_pp = pp -get_true_breath_pressure(pp) --> gas_pp = pp/breath_pp*total_moles() - -10/20*5 = 2.5 -10 = 2.5/5*20 -**/ +/datum/gas_mixture/proc/hotspot_expose(temperature, volume) + return #undef SPECIFIC_HEAT_TOXIN #undef SPECIFIC_HEAT_AIR @@ -742,6 +749,9 @@ get_true_breath_pressure(pp) --> gas_pp = pp/breath_pp*total_moles() readonly.private_sleeping_agent = private_sleeping_agent readonly.private_agent_b = private_agent_b readonly.private_temperature = private_temperature + readonly.private_hotspot_temperature = private_hotspot_temperature + readonly.private_hotspot_volume = private_hotspot_volume + readonly.private_fuel_burnt = private_fuel_burnt if(istype(bound_turf, /turf/simulated)) var/turf/simulated/S = bound_turf @@ -776,6 +786,12 @@ get_true_breath_pressure(pp) --> gas_pp = pp/breath_pp*total_moles() private_temperature = value set_dirty() +/datum/gas_mixture/bound_to_turf/hotspot_expose(temperature, volume) + if(temperature > private_temperature) + set_dirty() + private_hotspot_temperature = max(private_hotspot_temperature, temperature) + private_hotspot_volume = max(private_hotspot_volume, (volume / CELL_VOLUME)) + /datum/gas_mixture/bound_to_turf/proc/private_unsafe_write() set_tile_atmos(bound_turf, oxygen = private_oxygen, carbon_dioxide = private_carbon_dioxide, nitrogen = private_nitrogen, toxins = private_toxins, sleeping_agent = private_sleeping_agent, agent_b = private_agent_b, temperature = private_temperature) @@ -796,6 +812,9 @@ get_true_breath_pressure(pp) --> gas_pp = pp/breath_pp*total_moles() private_agent_b = parent.private_agent_b private_temperature = parent.private_temperature + private_hotspot_temperature = parent.private_hotspot_temperature + private_hotspot_volume = parent.private_hotspot_volume + private_fuel_burnt = parent.private_fuel_burnt /datum/gas_mixture/readonly/set_dirty() CRASH("Attempted to modify a readonly gas_mixture.") diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index 164d81a60815..87fd428c61dc 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -47,6 +47,19 @@ #define MAX_TEMPERATURE 363.15 // 90C #define MIN_TEMPERATURE 233.15 // -40C +GLOBAL_LIST_INIT(aalarm_modes, list( + "[AALARM_MODE_FILTERING]" = "Filtering", + "[AALARM_MODE_DRAUGHT]" = "Draught", + "[AALARM_MODE_PANIC]" = "Panic", + "[AALARM_MODE_CYCLE]" = "Cycle", + "[AALARM_MODE_SIPHON]" = "Siphon", + "[AALARM_MODE_CONTAMINATED]" = "Contaminated", + "[AALARM_MODE_REFILL]" = "Refill", + "[AALARM_MODE_CUSTOM]" = "Custom", + "[AALARM_MODE_OFF]" = "Off", + "[AALARM_MODE_FLOOD]" = "Flood", +)) + /obj/machinery/alarm name = "air alarm" desc = "A wall-mounted device used to control atmospheric equipment. It looks a little cheaply made..." @@ -75,7 +88,7 @@ var/AAlarmwires = 31 var/shorted = FALSE - var/mode = AALARM_MODE_SCRUBBING + var/mode = AALARM_MODE_FILTERING var/preset = AALARM_PRESET_HUMAN var/area/alarm_area var/danger_level = ATMOS_ALARM_NONE @@ -187,7 +200,7 @@ ) if(!no_cycle_after) - mode = AALARM_MODE_REPLACEMENT + mode = AALARM_MODE_CYCLE apply_mode() /obj/machinery/alarm/Initialize(mapload, direction, building = 0) @@ -272,6 +285,15 @@ cur_tlv = TLV["pressure"] var/environment_pressure = environment.return_pressure() var/pressure_dangerlevel = cur_tlv.get_danger_level(environment_pressure) + if(environment_pressure < cur_tlv.min2 && mode == AALARM_MODE_FILTERING) + mode = AALARM_MODE_OFF + apply_mode() + var/area/A = location.loc + A.firealert(src) + + if(mode == AALARM_MODE_REFILL && environment_pressure >= cur_tlv.min1) + mode = AALARM_MODE_FILTERING + apply_mode() cur_tlv = TLV["oxygen"] var/oxygen_dangerlevel = cur_tlv.get_danger_level(environment.oxygen() * GET_PP) @@ -309,8 +331,9 @@ if(old_danger_level != danger_level) apply_danger_level() - if(mode == AALARM_MODE_REPLACEMENT && environment_pressure < ONE_ATMOSPHERE * 0.05) - mode = AALARM_MODE_SCRUBBING + cur_tlv = TLV["pressure"] + if(mode == AALARM_MODE_CYCLE && environment_pressure < cur_tlv.min2 * 0.05) + mode = AALARM_MODE_REFILL apply_mode() /datum/milla_safe/airalarm_heat_cool @@ -393,8 +416,9 @@ underlays += emissive_appearance(icon, "alarm_lightmask") /obj/machinery/alarm/proc/apply_mode() + var/datum/tlv/pressure_tlv = TLV["pressure"] switch(mode) - if(AALARM_MODE_SCRUBBING) + if(AALARM_MODE_FILTERING) for(var/obj/machinery/atmospherics/unary/vent_scrubber/S as anything in alarm_area.scrubbers) if(S.stat & (NOPOWER|BROKEN)) continue @@ -412,8 +436,8 @@ if(P.stat & (NOPOWER|BROKEN)) continue P.on = TRUE - P.pressure_checks = TRUE - P.external_pressure_bound = ONE_ATMOSPHERE + P.pressure_checks = ONLY_CHECK_EXT_PRESSURE + P.external_pressure_bound = (pressure_tlv.min1 + pressure_tlv.max1) / 2 P.update_icon(UPDATE_ICON_STATE) @@ -433,12 +457,12 @@ if(P.stat & (NOPOWER|BROKEN)) continue P.on = TRUE - P.pressure_checks = TRUE - P.external_pressure_bound = ONE_ATMOSPHERE + P.pressure_checks = ONLY_CHECK_EXT_PRESSURE + P.external_pressure_bound = (pressure_tlv.min1 + pressure_tlv.max1) / 2 P.update_icon(UPDATE_ICON_STATE) - if(AALARM_MODE_VENTING) + if(AALARM_MODE_DRAUGHT) for(var/obj/machinery/atmospherics/unary/vent_scrubber/S as anything in alarm_area.scrubbers) if(S.stat & (NOPOWER|BROKEN)) continue @@ -451,8 +475,8 @@ if(P.stat & (NOPOWER|BROKEN)) continue P.on = TRUE - P.pressure_checks = TRUE - P.external_pressure_bound = ONE_ATMOSPHERE * 2 + P.pressure_checks = ONLY_CHECK_EXT_PRESSURE + P.external_pressure_bound = pressure_tlv.max1 P.update_icon(UPDATE_ICON_STATE) @@ -472,12 +496,12 @@ if(P.stat & (NOPOWER|BROKEN)) continue P.on = TRUE - P.pressure_checks = TRUE - P.external_pressure_bound = ONE_ATMOSPHERE * 3 + P.pressure_checks = ONLY_CHECK_EXT_PRESSURE + P.external_pressure_bound = (pressure_tlv.min1 + pressure_tlv.max1) / 2 P.update_icon(UPDATE_ICON_STATE) - if(AALARM_MODE_PANIC, AALARM_MODE_REPLACEMENT) + if(AALARM_MODE_PANIC, AALARM_MODE_CYCLE) for(var/obj/machinery/atmospherics/unary/vent_scrubber/S as anything in alarm_area.scrubbers) if(S.stat & (NOPOWER|BROKEN)) continue @@ -534,7 +558,7 @@ if(P.stat & (NOPOWER|BROKEN)) continue P.on = TRUE - P.pressure_checks = 2 + P.pressure_checks = ONLY_CHECK_INT_PRESSURE P.internal_pressure_bound = 0 P.update_icon(UPDATE_ICON_STATE) @@ -671,15 +695,16 @@ data["atmos_alarm"] = alarm_area.atmosalm data["emagged"] = emagged data["modes"] = list( - AALARM_MODE_SCRUBBING = list("name"="Filtering", "desc"="Scrubs out contaminants", "id" = AALARM_MODE_SCRUBBING),\ - AALARM_MODE_VENTING = list("name"="Draught", "desc"="Siphons out air while replacing", "id" = AALARM_MODE_VENTING),\ - AALARM_MODE_PANIC = list("name"="Panic Siphon","desc"="Siphons air out of the room quickly", "id" = AALARM_MODE_PANIC),\ - AALARM_MODE_REPLACEMENT = list("name"="Cycle", "desc"="Siphons air before replacing", "id" = AALARM_MODE_REPLACEMENT),\ - AALARM_MODE_SIPHON = list("name"="Siphon", "desc"="Siphons air out of the room", "id" = AALARM_MODE_SIPHON),\ - AALARM_MODE_CONTAMINATED= list("name"="Contaminated","desc"="Scrubs out all contaminants quickly", "id" = AALARM_MODE_CONTAMINATED),\ - AALARM_MODE_REFILL = list("name"="Refill", "desc"="Triples vent output", "id" = AALARM_MODE_REFILL),\ - AALARM_MODE_OFF = list("name"="Off", "desc"="Shuts off vents and scrubbers", "id" = AALARM_MODE_OFF),\ - AALARM_MODE_FLOOD = list("name"="Flood", "desc"="Shuts off scrubbers and opens vents", "emagonly" = TRUE, "id" = AALARM_MODE_FLOOD) + "mode[AALARM_MODE_FILTERING]" = list("name"=GLOB.aalarm_modes["[AALARM_MODE_FILTERING]"], "desc"="Scrubs out contaminants. Will shut off and drop firelocks if pressure drops too low.", "id" = AALARM_MODE_FILTERING), + "mode[AALARM_MODE_DRAUGHT]" = list("name"=GLOB.aalarm_modes["[AALARM_MODE_DRAUGHT]"], "desc"="Siphons out air while replacing", "id" = AALARM_MODE_DRAUGHT), + "mode[AALARM_MODE_PANIC]" = list("name"=GLOB.aalarm_modes["[AALARM_MODE_PANIC]"], "desc"="Siphons air out of the room quickly", "id" = AALARM_MODE_PANIC), + "mode[AALARM_MODE_CYCLE]" = list("name"=GLOB.aalarm_modes["[AALARM_MODE_CYCLE]"], "desc"="Siphons air before replacing", "id" = AALARM_MODE_CYCLE), + "mode[AALARM_MODE_SIPHON]" = list("name"=GLOB.aalarm_modes["[AALARM_MODE_SIPHON]"], "desc"="Siphons air out of the room", "id" = AALARM_MODE_SIPHON), + "mode[AALARM_MODE_CONTAMINATED]" = list("name"=GLOB.aalarm_modes["[AALARM_MODE_CONTAMINATED]"], "desc"="Scrubs out all contaminants quickly", "id" = AALARM_MODE_CONTAMINATED), + "mode[AALARM_MODE_REFILL]" = list("name"=GLOB.aalarm_modes["[AALARM_MODE_REFILL]"], "desc"="Refills a room to normal pressure, then switches to Filtering.", "id" = AALARM_MODE_REFILL), + "mode[AALARM_MODE_CUSTOM]" = list("name"=GLOB.aalarm_modes["[AALARM_MODE_CUSTOM]"], "desc"="Custom settings with no automatic mode switching.", "id" = AALARM_MODE_CUSTOM), + "mode[AALARM_MODE_OFF]" = list("name"=GLOB.aalarm_modes["[AALARM_MODE_OFF]"], "desc"="Shuts off vents and scrubbers", "id" = AALARM_MODE_OFF), + "mode[AALARM_MODE_FLOOD]" = list("name"=GLOB.aalarm_modes["[AALARM_MODE_FLOOD]"], "desc"="Shuts off scrubbers and opens vents", "emagonly" = TRUE, "id" = AALARM_MODE_FLOOD) ) data["mode"] = mode data["presets"] = list( @@ -872,6 +897,8 @@ message_admins("[key_name_admin(usr)] attempted to href-exploit an air alarm to control another object!!!") return + mode = AALARM_MODE_CUSTOM + // Its a vent. Handle if(istype(U, /obj/machinery/atmospherics/unary/vent_pump)) var/obj/machinery/atmospherics/unary/vent_pump/V = U diff --git a/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm b/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm index 1aa7e9fff815..f88104e808b5 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/passive_vent.dm @@ -44,7 +44,7 @@ if(pressure_delta > 0) // transfer from pipe air to environment if((vent.air_contents.total_moles() > 0) && (vent.air_contents.temperature() > 0)) - var/transfer_moles = pressure_delta * environment.volume / (vent.air_contents.temperature() * R_IDEAL_GAS_EQUATION) + var/transfer_moles = pressure_delta * vent.air_contents.volume / (vent.air_contents.temperature() * R_IDEAL_GAS_EQUATION) transfer_moles = min(transfer_moles, vent.volume) var/datum/gas_mixture/removed = vent.air_contents.remove(transfer_moles) diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm index e59f55d0b45a..2743bfdd7f92 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_pump.dm @@ -1,6 +1,5 @@ #define EXTERNAL_PRESSURE_BOUND ONE_ATMOSPHERE #define INTERNAL_PRESSURE_BOUND 0 -#define PRESSURE_CHECKS 1 /obj/machinery/atmospherics/unary/vent_pump name = "air vent" @@ -11,29 +10,27 @@ plane = FLOOR_PLANE layer = GAS_PIPE_VISIBLE_LAYER + GAS_SCRUBBER_OFFSET layer_offset = GAS_SCRUBBER_OFFSET - can_unwrench = TRUE - var/open = FALSE + + /// Is the vent open to put a piece of paper in it + var/open = FALSE // A living relic of papercult var/area/initial_loc - var/releasing = TRUE //FALSE = siphoning, TRUE = releasing + /// If false, siphons instead of releasing air + var/releasing = TRUE + var/max_transfer_joules = 200 /*kPa*/ * 2 * ONE_ATMOSPHERE var/external_pressure_bound = EXTERNAL_PRESSURE_BOUND var/internal_pressure_bound = INTERNAL_PRESSURE_BOUND - var/pressure_checks = PRESSURE_CHECKS - //1: Do not pass external_pressure_bound - //2: Do not pass internal_pressure_bound - //3: Do not pass either - - // Used when handling incoming radio signals requesting default settings - var/external_pressure_bound_default = EXTERNAL_PRESSURE_BOUND - var/internal_pressure_bound_default = INTERNAL_PRESSURE_BOUND - var/pressure_checks_default = PRESSURE_CHECKS + /// What do we check when releasing/siphoning air - internal or external pressure + var/pressure_checks = ONLY_CHECK_EXT_PRESSURE - var/welded = FALSE // Added for aliens -- TLE - var/weld_burst_pressure = 50 * ONE_ATMOSPHERE //the (internal) pressure at which welded covers will burst off + /// Is this vent welded shut + var/welded = FALSE + /// How much pressure does there have to be in the pipe to burst the vent open? + var/weld_burst_pressure = 50 * ONE_ATMOSPHERE connect_types = list(CONNECT_TYPE_NORMAL, CONNECT_TYPE_SUPPLY) //connects to regular and supply pipes @@ -143,26 +140,31 @@ var/environment_pressure = environment.return_pressure() if(vent_pump.releasing) //internal -> external var/pressure_delta = 10000 - if(vent_pump.pressure_checks & 1) + if(vent_pump.pressure_checks == ONLY_CHECK_EXT_PRESSURE) + // Only checks difference between set pressure and environment pressure pressure_delta = min(pressure_delta, (vent_pump.external_pressure_bound - environment_pressure)) - if(vent_pump.pressure_checks & 2) + if(vent_pump.pressure_checks == ONLY_CHECK_INT_PRESSURE) pressure_delta = min(pressure_delta, (vent_pump.air_contents.return_pressure() - vent_pump.internal_pressure_bound)) if(pressure_delta > 0.5 && vent_pump.air_contents.temperature() > 0) - var/transfer_moles = pressure_delta * environment.volume / (vent_pump.air_contents.temperature() * R_IDEAL_GAS_EQUATION) + // 1kPa * 1L = 1J + var/wanted_joules = pressure_delta * environment.volume + var/transfer_moles = min(vent_pump.max_transfer_joules, wanted_joules) / (vent_pump.air_contents.temperature() * R_IDEAL_GAS_EQUATION) var/datum/gas_mixture/removed = vent_pump.air_contents.remove(transfer_moles) environment.merge(removed) vent_pump.parent.update = TRUE else //external -> internal var/pressure_delta = 10000 - if(vent_pump.pressure_checks & 1) + if(vent_pump.pressure_checks == ONLY_CHECK_EXT_PRESSURE) pressure_delta = min(pressure_delta, (environment_pressure - vent_pump.external_pressure_bound)) - if(vent_pump.pressure_checks & 2) + if(vent_pump.pressure_checks == ONLY_CHECK_INT_PRESSURE) pressure_delta = min(pressure_delta, (vent_pump.internal_pressure_bound - vent_pump.air_contents.return_pressure())) if(pressure_delta > 0.5 && environment.temperature() > 0) - var/transfer_moles = pressure_delta * vent_pump.air_contents.volume / (environment.temperature() * R_IDEAL_GAS_EQUATION) + // 1kPa * 1L = 1J + var/wanted_joules = pressure_delta * environment.volume + var/transfer_moles = min(vent_pump.max_transfer_joules, wanted_joules) / (environment.temperature() * R_IDEAL_GAS_EQUATION) var/datum/gas_mixture/removed = environment.remove(transfer_moles) vent_pump.air_contents.merge(removed) vent_pump.parent.update = TRUE @@ -252,4 +254,3 @@ #undef EXTERNAL_PRESSURE_BOUND #undef INTERNAL_PRESSURE_BOUND -#undef PRESSURE_CHECKS diff --git a/code/modules/awaymissions/zlevel_helpers.dm b/code/modules/awaymissions/zlevel_helpers.dm index d624671002b2..50da68cfb319 100644 --- a/code/modules/awaymissions/zlevel_helpers.dm +++ b/code/modules/awaymissions/zlevel_helpers.dm @@ -39,50 +39,3 @@ for(var/otherthing in T) qdel(otherthing) T.ChangeTurf(T.baseturf) - -/datum/map_template/ruin/proc/try_to_place(z,allowed_areas) - var/sanity = PLACEMENT_TRIES - while(sanity > 0) - sanity-- - var/width_border = TRANSITIONEDGE + SPACERUIN_MAP_EDGE_PAD + round(width / 2) - var/height_border = TRANSITIONEDGE + SPACERUIN_MAP_EDGE_PAD + round(height / 2) - var/turf/central_turf = locate(rand(width_border, world.maxx - width_border), rand(height_border, world.maxy - height_border), z) - var/valid = TRUE - - for(var/turf/check in get_affected_turfs(central_turf,1)) - var/area/new_area = get_area(check) - if(!(istype(new_area, allowed_areas)) || check.flags & NO_RUINS) - valid = FALSE - break - - if(!valid) - continue - - log_world("Ruin \"[name]\" placed at ([central_turf.x], [central_turf.y], [central_turf.z])") - - for(var/i in get_affected_turfs(central_turf, 1)) - var/turf/T = i - for(var/obj/structure/spawner/nest in T) - qdel(nest) - for(var/mob/living/simple_animal/monster in T) - qdel(monster) - for(var/obj/structure/flora/ash/plant in T) - qdel(plant) - - load(central_turf,centered = TRUE) - loaded++ - - for(var/turf/T in get_affected_turfs(central_turf, 1)) - T.flags |= NO_RUINS - - new /obj/effect/landmark/ruin(central_turf, src) - - var/map_filename = splittext(mappath, "/") - map_filename = map_filename[length(map_filename)] - SSblackbox.record_feedback("associative", "ruin_placement", 1, list( - "map" = map_filename, - "coords" = "[central_turf.x],[central_turf.y],[central_turf.z]" - )) - - return TRUE - return FALSE diff --git a/code/modules/client/preference/character.dm b/code/modules/client/preference/character.dm index 1196cf946cbc..c5e9e6937c40 100644 --- a/code/modules/client/preference/character.dm +++ b/code/modules/client/preference/character.dm @@ -1539,6 +1539,17 @@ clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel-norm"), ICON_OVERLAY) if(4) clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY) + if(JOB_INSTRUCTOR) + clothes_s = new /icon('icons/mob/clothing/under/procedure.dmi', "trainer_s") + clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "laceups"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/clothing/suit.dmi', "trainercoat"), ICON_OVERLAY) + switch(backbag) + if(2) + clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "securitypack"), ICON_OVERLAY) + if(3) + clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel-norm"), ICON_OVERLAY) + if(4) + clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY) if(disabilities & DISABILITY_FLAG_NEARSIGHTED) preview_icon.Blend(new /icon('icons/mob/clothing/eyes.dmi', "glasses"), ICON_OVERLAY) @@ -2048,6 +2059,10 @@ if(job.hidden_from_job_prefs) continue + + if(job.mentor_only) + if(!check_rights(R_MENTOR | R_ADMIN, FALSE, user)) + continue // ===== SS220 ADD - NEW JOBS ====== // ============= START ============= @@ -2080,6 +2095,7 @@ if(jobban_isbanned(user, job.title)) html += "[rank] \[BANNED]" continue + var/restrictions = job.get_exp_restrictions(user.client) if(restrictions) html += "[rank] \[[restrictions]]" diff --git a/code/modules/client/preference/loadout/loadout_accessories.dm b/code/modules/client/preference/loadout/loadout_accessories.dm index a4a8f50368c0..f63e945c3afd 100644 --- a/code/modules/client/preference/loadout/loadout_accessories.dm +++ b/code/modules/client/preference/loadout/loadout_accessories.dm @@ -16,66 +16,6 @@ slot = ITEM_SLOT_ACCESSORY sort_category = "Accessories" -/datum/gear/accessory/scarf - display_name = "Scarf" - path = /obj/item/clothing/accessory/scarf - -/datum/gear/accessory/scarf/red - display_name = "Scarf, red" - path = /obj/item/clothing/accessory/scarf/red - -/datum/gear/accessory/scarf/green - display_name = "Scarf, green" - path = /obj/item/clothing/accessory/scarf/green - -/datum/gear/accessory/scarf/darkblue - display_name = "Scarf, dark blue" - path = /obj/item/clothing/accessory/scarf/darkblue - -/datum/gear/accessory/scarf/purple - display_name = "Scarf, purple" - path = /obj/item/clothing/accessory/scarf/purple - -/datum/gear/accessory/scarf/yellow - display_name = "Scarf, yellow" - path = /obj/item/clothing/accessory/scarf/yellow - -/datum/gear/accessory/scarf/orange - display_name = "Scarf, orange" - path = /obj/item/clothing/accessory/scarf/orange - -/datum/gear/accessory/scarf/lightblue - display_name = "Scarf, light blue" - path = /obj/item/clothing/accessory/scarf/lightblue - -/datum/gear/accessory/scarf/white - display_name = "Scarf, white" - path = /obj/item/clothing/accessory/scarf/white - -/datum/gear/accessory/scarf/black - display_name = "Scarf, black" - path = /obj/item/clothing/accessory/scarf/black - -/datum/gear/accessory/scarf/zebra - display_name = "Scarf, zebra" - path = /obj/item/clothing/accessory/scarf/zebra - -/datum/gear/accessory/scarf/christmas - display_name = "Scarf, christmas" - path = /obj/item/clothing/accessory/scarf/christmas - -/datum/gear/accessory/scarf/stripedred - display_name = "Scarf, striped red" - path = /obj/item/clothing/accessory/stripedredscarf - -/datum/gear/accessory/scarf/stripedgreen - display_name = "Scarf, striped green" - path = /obj/item/clothing/accessory/stripedgreenscarf - -/datum/gear/accessory/scarf/stripedblue - display_name = "Scarf, striped blue" - path = /obj/item/clothing/accessory/stripedbluescarf - /datum/gear/accessory/holobadge display_name = "Holobadge, pin" path = /obj/item/clothing/accessory/holobadge @@ -86,27 +26,6 @@ path = /obj/item/clothing/accessory/holobadge/cord allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer") -/datum/gear/accessory/tieblue - display_name = "Tie, blue" - path = /obj/item/clothing/accessory/blue - -/datum/gear/accessory/tiered - display_name = "Tie, red" - path = /obj/item/clothing/accessory/red - -/datum/gear/accessory/tieblack - display_name = "Tie, black" - path = /obj/item/clothing/accessory/black - -/datum/gear/accessory/tiehorrible - display_name = "Tie, vomit green" - path = /obj/item/clothing/accessory/horrible - -/datum/gear/accessory/stethoscope - display_name = "Stethoscope" - path = /obj/item/clothing/accessory/stethoscope - allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Paramedic") - /datum/gear/accessory/cowboyshirt display_name = "Cowboy shirt, black" path = /obj/item/clothing/accessory/cowboyshirt @@ -147,22 +66,6 @@ display_name = "Cowboy shirt, short sleeved navy" path = /obj/item/clothing/accessory/cowboyshirt/navy/short_sleeved -/datum/gear/accessory/locket/silver - display_name = "Silver locket" - path = /obj/item/clothing/accessory/necklace/locket/silver - -/datum/gear/accessory/locket - display_name = "Gold locket" - path = /obj/item/clothing/accessory/necklace/locket - -/datum/gear/accessory/necklace/long - display_name = "Large necklace" - path = /obj/item/clothing/accessory/necklace/long - -/datum/gear/accessory/necklace - display_name = "Simple necklace" - path = /obj/item/clothing/accessory/necklace - /datum/gear/accessory/corset display_name = "Corset, black" path = /obj/item/clothing/accessory/corset @@ -233,7 +136,7 @@ /datum/gear/accessory/armband_job/procedure display_name = "Armband, procedure" path = /obj/item/clothing/accessory/armband/procedure - allowed_roles = list("Captain", "Nanotrasen Representative", "Magistrate", "Internal Affairs Agent") + allowed_roles = list("Captain", "Nanotrasen Representative", "Magistrate", "Internal Affairs Agent", "Nanotrasen Career Trainer") /datum/gear/accessory/armband_job/service display_name = "Armband, service" diff --git a/code/modules/client/preference/loadout/loadout_donor.dm b/code/modules/client/preference/loadout/loadout_donor.dm index aad1a4f22b6a..b2d6184a1674 100644 --- a/code/modules/client/preference/loadout/loadout_donor.dm +++ b/code/modules/client/preference/loadout/loadout_donor.dm @@ -30,7 +30,7 @@ /datum/gear/donor/furcape display_name = "Fur Cape" - path = /obj/item/clothing/suit/furcape + path = /obj/item/clothing/neck/cloak/furcape /datum/gear/donor/furcoat display_name = "Fur Coat" @@ -76,6 +76,20 @@ display_name = "Fur Cap" path = /obj/item/clothing/head/furcap +/datum/gear/donor/welding_blueflame + display_name = "Blue flame decal welding helmet" + path = /obj/item/clothing/head/welding/flamedecal/blue + allowed_roles = list("Chief Engineer", "Station Engineer", "Life Support Specialist", "Roboticist") + donator_tier = 2 + cost = 2 + +/datum/gear/donor/welding_white + display_name = "White decal welding helmet" + path = /obj/item/clothing/head/welding/white + allowed_roles = list("Chief Engineer", "Station Engineer", "Life Support Specialist", "Roboticist") + donator_tier = 2 + cost = 2 + /datum/gear/donor/fawkes display_name = "Guy Fawkes mask" path = /obj/item/clothing/mask/fawkes diff --git a/code/modules/client/preference/loadout/loadout_neck.dm b/code/modules/client/preference/loadout/loadout_neck.dm new file mode 100644 index 000000000000..c8879c7201fd --- /dev/null +++ b/code/modules/client/preference/loadout/loadout_neck.dm @@ -0,0 +1,206 @@ +/* +###################################################################################### +## ## +## IMPORTANT README ## +## ## +## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ## +## The typepaths are stored directly in the `characters.gear` column of the DB. ## +## Please inform the server host if you wish to modify any of these. ## +## ## +###################################################################################### +*/ + + +/datum/gear/neck + main_typepath = /datum/gear/neck + slot = ITEM_SLOT_NECK + sort_category = "Neck" + +/datum/gear/neck/tie + display_name = "Tie, blue" + path = /obj/item/clothing/neck/tie/blue + +/datum/gear/neck/tie/red + display_name = "Tie, red" + path = /obj/item/clothing/neck/tie/red + +/datum/gear/neck/tie/black + display_name = "Tie, black" + path = /obj/item/clothing/neck/tie/black + +/datum/gear/neck/tie/horrible + display_name = "Tie, vomit green" + path = /obj/item/clothing/neck/tie/horrible + +/datum/gear/neck/scarf + display_name = "Scarf, red" + path = /obj/item/clothing/neck/scarf/red + +/datum/gear/neck/scarf/green + display_name = "Scarf, green" + path = /obj/item/clothing/neck/scarf/green + +/datum/gear/neck/scarf/darkblue + display_name = "Scarf, dark blue" + path = /obj/item/clothing/neck/scarf/darkblue + +/datum/gear/neck/scarf/purple + display_name = "Scarf, purple" + path = /obj/item/clothing/neck/scarf/purple + +/datum/gear/neck/scarf/yellow + display_name = "Scarf, yellow" + path = /obj/item/clothing/neck/scarf/yellow + +/datum/gear/neck/scarf/orange + display_name = "Scarf, orange" + path = /obj/item/clothing/neck/scarf/orange + +/datum/gear/neck/scarf/lightblue + display_name = "Scarf, light blue" + path = /obj/item/clothing/neck/scarf/lightblue + +/datum/gear/neck/scarf/white + display_name = "Scarf, white" + path = /obj/item/clothing/neck/scarf/white + +/datum/gear/neck/scarf/black + display_name = "Scarf, black" + path = /obj/item/clothing/neck/scarf/black + +/datum/gear/neck/scarf/zebra + display_name = "Scarf, zebra" + path = /obj/item/clothing/neck/scarf/zebra + +/datum/gear/neck/scarf/christmas + display_name = "Scarf, christmas" + path = /obj/item/clothing/neck/scarf/christmas + +/datum/gear/neck/scarf/stripedred + display_name = "Scarf, striped red" + path = /obj/item/clothing/neck/scarf/stripedred + +/datum/gear/neck/scarf/stripedgreen + display_name = "Scarf, striped green" + path = /obj/item/clothing/neck/scarf/stripedgreen + +/datum/gear/neck/scarf/stripedblue + display_name = "Scarf, striped blue" + path = /obj/item/clothing/neck/scarf/stripedblue + +/datum/gear/neck/stethoscope + display_name = "Stethoscope" + path = /obj/item/clothing/neck/stethoscope + allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Paramedic") + +/datum/gear/neck/locket + display_name = "Gold locket" + path = /obj/item/clothing/neck/necklace/locket + +/datum/gear/neck/locket/silver + display_name = "Silver locket" + path = /obj/item/clothing/neck/necklace/locket/silver + +/datum/gear/neck/necklace + display_name = "Simple necklace" + path = /obj/item/clothing/neck/necklace + +/datum/gear/neck/necklace/long + display_name = "Large necklace" + path = /obj/item/clothing/neck/necklace/long + +//Cloaks and mantles + +/datum/gear/neck/cloak + display_name = "Cloak" + path = /obj/item/clothing/neck/cloak + +/datum/gear/neck/cloak/job + main_typepath = /datum/gear/neck/cloak/job + subtype_selection_cost = FALSE + +/datum/gear/neck/cloak/job/captain + display_name = "Cloak, captain" + path = /obj/item/clothing/neck/cloak/captain + allowed_roles = list("Captain") + +/datum/gear/neck/cloak/job/hos + display_name = "Cloak, head of security" + path = /obj/item/clothing/neck/cloak/head_of_security + allowed_roles = list("Head of Security") + +/datum/gear/neck/cloak/job/hop + display_name = "Cloak, head of personnel" + path = /obj/item/clothing/neck/cloak/head_of_personnel + allowed_roles = list("Head of Personnel") + +/datum/gear/neck/cloak/job/rd + display_name = "Cloak, research director" + path = /obj/item/clothing/neck/cloak/research_director + allowed_roles = list("Research Director") + +/datum/gear/neck/cloak/job/ce + display_name = "Cloak, chief engineer" + path = /obj/item/clothing/neck/cloak/chief_engineer + allowed_roles = list("Chief Engineer") + +/datum/gear/neck/cloak/job/cmo + display_name = "Cloak, chief medical officer" + path = /obj/item/clothing/neck/cloak/chief_medical_officer + allowed_roles = list("Chief Medical Officer") + +/datum/gear/neck/cloak/job/qm + display_name = "Cloak, quartermaster" + path = /obj/item/clothing/neck/cloak/quartermaster + allowed_roles = list("Quartermaster") + +/datum/gear/neck/old_scarf + display_name = "Old scarf" + path = /obj/item/clothing/neck/cloak/old + +/datum/gear/neck/regal_shawl + display_name = "Regal shawl" + path = /obj/item/clothing/neck/cloak/regal + +/datum/gear/neck/mantle + display_name = "Mantle" + path = /obj/item/clothing/neck/cloak/mantle + +/datum/gear/neck/mantle/job + main_typepath = /datum/gear/neck/mantle/job + subtype_selection_cost = FALSE + +/datum/gear/neck/mantle/job/captain + display_name = "Mantle, captain" + path = /obj/item/clothing/neck/cloak/captain_mantle + allowed_roles = list("Captain") + +/datum/gear/neck/mantle/job/hos + display_name = "Mantle, head of security" + path = /obj/item/clothing/neck/cloak/hos_mantle + allowed_roles = list("Head of Security") + +/datum/gear/neck/mantle/job/hop + display_name = "Mantle, head of personnel" + path = /obj/item/clothing/neck/cloak/hop_mantle + allowed_roles = list("Head of Personnel") + +/datum/gear/neck/mantle/job/rd + display_name = "Mantle, research director" + path = /obj/item/clothing/neck/cloak/rd_mantle + allowed_roles = list("Research Director") + +/datum/gear/neck/mantle/job/ce + display_name = "Mantle, chief engineer" + path = /obj/item/clothing/neck/cloak/ce_mantle + allowed_roles = list("Chief Engineer") + +/datum/gear/neck/mantle/job/cmo + display_name = "Mantle, chief medical officer" + path = /obj/item/clothing/neck/cloak/cmo_mantle + allowed_roles = list("Chief Medical Officer") + +/datum/gear/neck/mantle/job/qm + display_name = "Mantle, quartermaster" + path = /obj/item/clothing/neck/cloak/qm_mantle + allowed_roles = list("Quartermaster") diff --git a/code/modules/client/preference/loadout/loadout_suit.dm b/code/modules/client/preference/loadout/loadout_suit.dm index 4023a2a82e23..3ad597f09bb9 100644 --- a/code/modules/client/preference/loadout/loadout_suit.dm +++ b/code/modules/client/preference/loadout/loadout_suit.dm @@ -252,53 +252,6 @@ display_name = "Suit jacket, purple" path = /obj/item/clothing/suit/storage/iaa/purplejacket -//Mantles! -/datum/gear/suit/mantle - display_name = "Mantle" - path = /obj/item/clothing/suit/mantle - -/datum/gear/suit/old_scarf - display_name = "Old scarf" - path = /obj/item/clothing/suit/mantle/old - -/datum/gear/suit/regal_shawl - display_name = "Regal shawl" - path = /obj/item/clothing/suit/mantle/regal - -/datum/gear/suit/mantle/job - main_typepath = /datum/gear/suit/mantle/job - subtype_selection_cost = FALSE - -/datum/gear/suit/mantle/job/captain - display_name = "Mantle, captain" - path = /obj/item/clothing/suit/mantle/armor/captain - allowed_roles = list("Captain") - -/datum/gear/suit/mantle/job/ce - display_name = "Mantle, chief engineer" - path = /obj/item/clothing/suit/mantle/chief_engineer - allowed_roles = list("Chief Engineer") - -/datum/gear/suit/mantle/job/cmo - display_name = "Mantle, chief medical officer" - path = /obj/item/clothing/suit/mantle/labcoat/chief_medical_officer - allowed_roles = list("Chief Medical Officer") - -/datum/gear/suit/mantle/job/hos - display_name = "Mantle, head of security" - path = /obj/item/clothing/suit/mantle/armor - allowed_roles = list("Head of Security") - -/datum/gear/suit/mantle/job/hop - display_name = "Mantle, head of personnel" - path = /obj/item/clothing/suit/mantle/armor/hop - allowed_roles = list("Head of Personnel") - -/datum/gear/suit/mantle/job/rd - display_name = "Mantle, research director" - path = /obj/item/clothing/suit/mantle/labcoat - allowed_roles = list("Research Director") - //Robes! /datum/gear/suit/witch diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 97b535890a1a..5d5ac61035e5 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -4,10 +4,11 @@ #define MODE_MESON "meson" #define MODE_TRAY "t-ray" #define MODE_RAD "radiation" +#define MODE_PRESSURE "pressure" /obj/item/clothing/glasses/meson/engine name = "engineering scanner goggles" - desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, the T-ray Scanner mode lets you see underfloor objects such as cables and pipes, and the Radiation Scanner mode lets you see objects contaminated by radiation." + desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, the T-ray Scanner mode lets you see underfloor objects such as cables and pipes, the Radiation Scanner mode lets you see objects contaminated by radiation, and the Pressure Scanner mode lets you visualize air pressure." icon_state = "trayson-meson" item_state = "trayson-meson" actions_types = list(/datum/action/item_action/toggle_mode) @@ -37,6 +38,11 @@ if(active_on_equip_rad && mode == MODE_RAD && slot == ITEM_SLOT_EYES) ADD_TRAIT(user, SM_HALLUCINATION_IMMUNE, "meson_glasses[UID()]") + if(mode == MODE_PRESSURE && slot == ITEM_SLOT_EYES) + ADD_TRAIT(user, TRAIT_PRESSURE_VISION, "meson_glasses[UID()]") + if(mode == MODE_PRESSURE && slot != ITEM_SLOT_EYES) + REMOVE_TRAIT(user, TRAIT_PRESSURE_VISION, "meson_glasses[UID()]") + /obj/item/clothing/glasses/meson/engine/proc/toggle_mode(mob/user, voluntary) mode = modes[mode] to_chat(user, "[voluntary ? "You turn the goggles" : "The goggles turn"] [mode ? "to [mode] mode" : "off"][voluntary ? "." : "!"]") @@ -57,6 +63,12 @@ REMOVE_TRAIT(user, SM_HALLUCINATION_IMMUNE, "meson_glasses[UID()]") active_on_equip_rad = FALSE + if(mode == MODE_PRESSURE) + if(!HAS_TRAIT_FROM(user, TRAIT_PRESSURE_VISION, "meson_glasses[UID()]") && user.get_item_by_slot(ITEM_SLOT_EYES) == src) + ADD_TRAIT(user, TRAIT_PRESSURE_VISION, "meson_glasses[UID()]") + else + REMOVE_TRAIT(user, TRAIT_PRESSURE_VISION, "meson_glasses[UID()]") + if(ishuman(user)) var/mob/living/carbon/human/H = user if(H.glasses == src) @@ -101,17 +113,18 @@ user.update_inv_l_hand() user.update_inv_r_hand() -/// atmos techs have lived far too long without tray goggles while those damned engineers get their dual-purpose gogles all to themselves -/obj/item/clothing/glasses/meson/engine/tray - name = "optical t-ray scanner" - icon_state = "trayson-t-ray" - item_state = "trayson-t-ray" - desc = "Used by engineering staff to see underfloor objects such as cables and pipes." +/// Atmospherics techs get their own version with T-ray and an exlusive Pressure view. +/obj/item/clothing/glasses/meson/engine/atmos + name = "atmospherics scanner goggles" + icon_state = "trayson-pressure" + item_state = "trayson-pressure" + desc = "Used by atmospherics techs to visualize pressure, see station structure, and see underfloor objects such as cables and pipes." range = 2 origin_tech = "materials=3;magnets=2;engineering=2" - modes = list(MODE_NONE = MODE_TRAY, MODE_TRAY = MODE_NONE) + modes = list(MODE_NONE = MODE_PRESSURE, MODE_PRESSURE = MODE_MESON, MODE_MESON = MODE_TRAY, MODE_TRAY = MODE_NONE) #undef MODE_NONE #undef MODE_MESON #undef MODE_TRAY #undef MODE_RAD +#undef MODE_PRESSURE diff --git a/code/modules/clothing/head/beret.dm b/code/modules/clothing/head/beret.dm index 0d39a0870cd8..0f8fe78cb0af 100644 --- a/code/modules/clothing/head/beret.dm +++ b/code/modules/clothing/head/beret.dm @@ -178,6 +178,26 @@ "Drask" = 'icons/mob/clothing/species/drask/head/beret.dmi' ) +//NT Career Trainer +/obj/item/clothing/head/beret/nct/black + name = "\improper NT Career Trainer's beret" + desc = "A beret worn by the mentors and trainers of the Career Training Team. This one is black!" + icon_state = "beret_trainerblack" + + sprite_sheets = list( + "Vox" = 'icons/mob/clothing/species/vox/head/beret.dmi', + "Drask" = 'icons/mob/clothing/species/drask/head/beret.dmi' + ) + +/obj/item/clothing/head/beret/nct/green + name = "\improper NT Career Trainer's beret" + desc = "A beret worn by the mentors and trainers of the Career Training Team. This one is green!" + icon_state = "beret_trainergreen" + + sprite_sheets = list( + "Vox" = 'icons/mob/clothing/species/vox/head/beret.dmi', + "Drask" = 'icons/mob/clothing/species/drask/head/beret.dmi' + ) //Special Roles /obj/item/clothing/head/beret/solgov diff --git a/code/modules/clothing/head/job_hats.dm b/code/modules/clothing/head/job_hats.dm index 2d9e423cd9f2..2a1b5b6ea744 100644 --- a/code/modules/clothing/head/job_hats.dm +++ b/code/modules/clothing/head/job_hats.dm @@ -193,3 +193,14 @@ desc = "A cap coroners wear during autopsies. Keeps their hair from falling into the cadavers. It is as dark as the coroner's humor." icon_state = "surgcap_black" dog_fashion = /datum/dog_fashion/head/surgery + +// NT Career Trainer +/obj/item/clothing/head/drilltrainer + name = "campaign hat" + desc = "A wide-brimmed campaign hat with a drill sergeant feel, worn by Career Trainers to project knowledge and guide new employees with classic style." + icon_state = "trainercampaign" + item_state = "trainercampaign" + + sprite_sheets = list( + "Vox" = 'icons/mob/clothing/species/vox/head.dmi' + ) diff --git a/code/modules/clothing/neck/cloaks.dm b/code/modules/clothing/neck/cloaks.dm index 02ae9f4d4f18..780c61326b2f 100644 --- a/code/modules/clothing/neck/cloaks.dm +++ b/code/modules/clothing/neck/cloaks.dm @@ -45,3 +45,74 @@ name = "head of personnel's cloak" desc = "Worn by the Head of Personnel. It smells faintly of bureaucracy." icon_state = "hopcloak" + +//Mantles. + +/obj/item/clothing/neck/cloak/mantle + name = "mantle" + desc = "A heavy quilted mantle, for keeping your shoulders warm and stylish." + icon_state = "mantle" + item_state = "mantle" + +/obj/item/clothing/neck/cloak/regal + name = "regal shawl" + desc = "A fancy shawl for nobility, made from high quality materials." + icon_state = "regal_mantle" + item_state = "regal_mantle" + +/obj/item/clothing/neck/cloak/old + name = "old wrap" + desc = "A tattered fabric wrap, faded over the years. Smells faintly of cigars." + icon_state = "old_mantle" + item_state = "old_mantle" + +/obj/item/clothing/neck/cloak/unathi + name = "hide mantle" + desc = "A rather grisly selection of cured hides and skin, sewn together to form a ragged mantle." + icon_state = "mantle-unathi" + item_state = "mantle-unathi" + sprite_sheets = list( + "Vox" = 'icons/mob/clothing/species/vox/neck.dmi' + ) + +/obj/item/clothing/neck/cloak/captain_mantle + name = "captain's mantle" + desc = "A piece of fashion for the ruling elite." + icon_state = "capmantle" + item_state = "capmantle" + +/obj/item/clothing/neck/cloak/hos_mantle + name = "head of security's shawl" + desc = "An unarmored shawl, worn by the Head of Security. Do you dare take up their mantle?" + icon_state = "hosmantle" + item_state = "hosmantle" + +/obj/item/clothing/neck/cloak/hop_mantle + name = "head of personnel's shawl" + desc = "A shawl for the head of personnel. It's remarkably well kept." + icon_state = "hopmantle" + item_state = "hopmantle" + +/obj/item/clothing/neck/cloak/ce_mantle + name = "chief engineer's mantle" + desc = "A slick, authoritative mantle designed for the Chief Engineer." + icon_state = "cemantle" + item_state = "cemantle" + +/obj/item/clothing/neck/cloak/cmo_mantle + name = "chief medical officer's mantle" + desc = "An absorbent, clean cover found around the neck of the Chief Medical Officer." + icon_state = "cmomantle" + item_state = "cmomantle" + +/obj/item/clothing/neck/cloak/qm_mantle + name = "quartermaster's mantle" + desc = "A shawl for the quartermaster. Keeps the breeze from the vents away from your neck." + icon_state = "qmmantle" + item_state = "qmmantle" + +/obj/item/clothing/neck/cloak/rd_mantle + name = "research director's mantle" + desc = "A tweed mantle, worn by the Research Director. Smells like science." + icon_state = "rdmantle" + item_state = "rdmantle" diff --git a/code/modules/clothing/neck/neck.dm b/code/modules/clothing/neck/neck.dm new file mode 100644 index 000000000000..bf9b754ed32b --- /dev/null +++ b/code/modules/clothing/neck/neck.dm @@ -0,0 +1,96 @@ +/obj/item/clothing/neck/tie + name = "tie" + desc = "A neosilk clip-on tie." + w_class = WEIGHT_CLASS_SMALL + var/under_suit = FALSE + +/obj/item/clothing/neck/tie/blue + name = "blue tie" + icon_state = "bluetie" + item_color = "bluetie" + +/obj/item/clothing/neck/tie/red + name = "red tie" + icon_state = "redtie" + item_color = "redtie" + +/obj/item/clothing/neck/tie/black + name = "black tie" + icon_state = "blacktie" + item_color = "blacktie" + +/obj/item/clothing/neck/tie/horrible + name = "horrible tie" + desc = "A neosilk clip-on tie. This one is disgusting." + icon_state = "horribletie" + item_color = "horribletie" + +/obj/item/clothing/neck/tie/examine(mob/user) + . = ..() + . += "You can Alt-Click [src] to adjust if it is worn under or over your suit." + +/obj/item/clothing/neck/tie/AltClick(mob/living/carbon/human/user) + if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user) || !istype(user)) + return + + under_suit = !under_suit + if(user.neck == src) + user.update_inv_neck() + to_chat(user, "You adjust [src] to be worn [under_suit ? "under" : "over"] your suit.") + +/obj/item/clothing/neck/stethoscope + name = "stethoscope" + desc = "An outdated medical apparatus, used to get a rough idea of the condition of the heart and lungs. It also makes you look like you know what you're doing." + icon_state = "stethoscope" + item_color = "stethoscope" + +/obj/item/clothing/neck/stethoscope/attack__legacy__attackchain(mob/living/carbon/human/M, mob/living/user) + if(!ishuman(M) || !isliving(user)) + return ..(M, user) + + if(user == M) + user.visible_message("[user] places [src] against [user.p_their()] chest and listens attentively.", "You place [src] against your chest...") + else + user.visible_message("[user] places [src] against [M]'s chest and listens attentively.", "You place [src] against [M]'s chest...") + var/datum/organ/heart/heart_datum = M.get_int_organ_datum(ORGAN_DATUM_HEART) + var/datum/organ/lungs/lung_datum = M.get_int_organ_datum(ORGAN_DATUM_LUNGS) + if(!lung_datum || !heart_datum) + to_chat(user, "You don't hear anything.") + return + + var/obj/item/organ/internal/H = heart_datum.linked_organ + var/obj/item/organ/internal/L = lung_datum.linked_organ + if(!M.pulse || (!H || !(L && !HAS_TRAIT(M, TRAIT_NOBREATH)))) + to_chat(user, "You don't hear anything.") + return + + var/color = "notice" + if(H) + var/heart_sound + switch(H.damage) + if(0 to 1) + heart_sound = "healthy" + if(1 to 25) + heart_sound = "offbeat" + if(25 to 50) + heart_sound = "uneven" + color = "warning" + if(50 to INFINITY) + heart_sound = "weak, unhealthy" + color = "warning" + to_chat(user, "You hear \an [heart_sound] pulse.") + + if(L) + var/lung_sound + switch(L.damage) + if(0 to 1) + lung_sound = "healthy respiration" + if(1 to 25) + lung_sound = "labored respiration" + if(25 to 50) + lung_sound = "pained respiration" + color = "warning" + if(50 to INFINITY) + lung_sound = "gurgling" + color = "warning" + to_chat(user, "You hear [lung_sound].") diff --git a/code/modules/clothing/neck/necklace.dm b/code/modules/clothing/neck/necklace.dm new file mode 100644 index 000000000000..9a46d7cfadf9 --- /dev/null +++ b/code/modules/clothing/neck/necklace.dm @@ -0,0 +1,79 @@ +/obj/item/clothing/neck/necklace + name = "necklace" + desc = "A simple necklace." + icon_state = "necklace" + item_state = "necklace" + item_color = "necklace" + w_class = WEIGHT_CLASS_SMALL + +/obj/item/clothing/neck/necklace/long + name = "large necklace" + desc = "A large necklace." + icon_state = "necklacelong" + item_state = "necklacelong" + item_color = "necklacelong" + +/obj/item/clothing/neck/necklace/dope + name = "gold necklace" + desc = "Damn, it feels good to be a gangster." + icon_state = "bling" + item_state = "bling" + item_color = "bling" + +/obj/item/clothing/neck/necklace/locket + name = "gold locket" + desc = "A gold locket that seems to have space for a photo within." + icon_state = "locketgold" + item_state = "locketgold" + item_color = "locketgold" + var/base_icon + var/open + /// Item inside locket. + var/obj/item/held + +/obj/item/clothing/neck/necklace/locket/Destroy() + QDEL_NULL(held) + return ..() + + +/obj/item/clothing/neck/necklace/locket/attack_self__legacy__attackchain(mob/user) + if(!base_icon) + base_icon = icon_state + + if(!("[base_icon]_open" in icon_states(icon))) + to_chat(user, "[src] doesn't seem to open.") + return + + open = !open + to_chat(user, "You flip [src] [open ? "open" : "closed"].") + if(open) + icon_state = "[base_icon]_open" + if(held) + to_chat(user, "[held] falls out!") + held.forceMove(get_turf(user)) + held = null + else + icon_state = "[base_icon]" + +/obj/item/clothing/neck/necklace/locket/attackby__legacy__attackchain(obj/item/O, mob/user) + if(!open) + to_chat(user, "You have to open it first.") + return + + if(istype(O, /obj/item/paper) || istype(O, /obj/item/photo)) + if(held) + to_chat(usr, "[src] already has something inside it.") + else + to_chat(usr, "You slip [O] into [src].") + user.drop_item() + O.forceMove(src) + held = O + else + return ..() + +/obj/item/clothing/neck/necklace/locket/silver + name = "silver locket" + desc = "A silver locket that seems to have space for a photo within." + icon_state = "locketsilver" + item_state = "locketsilver" + item_color = "locketsilver" diff --git a/code/modules/clothing/neck/scarfs.dm b/code/modules/clothing/neck/scarfs.dm new file mode 100644 index 000000000000..ffa1a4b0dd8f --- /dev/null +++ b/code/modules/clothing/neck/scarfs.dm @@ -0,0 +1,78 @@ +/obj/item/clothing/neck/scarf + name = "scarf" + desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks." + w_class = WEIGHT_CLASS_SMALL + dog_fashion = /datum/dog_fashion/head + +/obj/item/clothing/neck/scarf/red + name = "red scarf" + icon_state = "redscarf" + item_color = "redscarf" + +/obj/item/clothing/neck/scarf/green + name = "green scarf" + icon_state = "greenscarf" + item_color = "greenscarf" + +/obj/item/clothing/neck/scarf/darkblue + name = "dark blue scarf" + icon_state = "darkbluescarf" + item_color = "darkbluescarf" + +/obj/item/clothing/neck/scarf/purple + name = "purple scarf" + icon_state = "purplescarf" + item_color = "purplescarf" + +/obj/item/clothing/neck/scarf/yellow + name = "yellow scarf" + icon_state = "yellowscarf" + item_color = "yellowscarf" + +/obj/item/clothing/neck/scarf/orange + name = "orange scarf" + icon_state = "orangescarf" + item_color = "orangescarf" + +/obj/item/clothing/neck/scarf/lightblue + name = "light blue scarf" + icon_state = "lightbluescarf" + item_color = "lightbluescarf" + +/obj/item/clothing/neck/scarf/white + name = "white scarf" + icon_state = "whitescarf" + item_color = "whitescarf" + +/obj/item/clothing/neck/scarf/black + name = "black scarf" + icon_state = "blackscarf" + item_color = "blackscarf" + +/obj/item/clothing/neck/scarf/zebra + name = "zebra scarf" + icon_state = "zebrascarf" + item_color = "zebrascarf" + +/obj/item/clothing/neck/scarf/christmas + name = "christmas scarf" + icon_state = "christmasscarf" + item_color = "christmasscarf" + +/obj/item/clothing/neck/scarf/stripedred + name = "striped red scarf" + icon_state = "stripedredscarf" + item_color = "stripedredscarf" + dog_fashion = null + +/obj/item/clothing/neck/scarf/stripedgreen + name = "striped green scarf" + icon_state = "stripedgreenscarf" + item_color = "stripedgreenscarf" + dog_fashion = null + +/obj/item/clothing/neck/scarf/stripedblue + name = "striped blue scarf" + icon_state = "stripedbluescarf" + item_color = "stripedbluescarf" + dog_fashion = null diff --git a/code/modules/clothing/spacesuits/ert_hardsuits.dm b/code/modules/clothing/spacesuits/ert_hardsuits.dm index 6a41c7d41375..158cdde67748 100644 --- a/code/modules/clothing/spacesuits/ert_hardsuits.dm +++ b/code/modules/clothing/spacesuits/ert_hardsuits.dm @@ -56,6 +56,7 @@ desc = "A powered combat hardsuit produced by Citadel Armories. Decently armored, environmentally sealed, and fire-resistant." icon_state = "ert_commander" item_state = "suit-command" + slowdown = 0 w_class = WEIGHT_CLASS_NORMAL armor = list(MELEE = 40, BULLET = 15, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 50, FIRE = 200, ACID = 200) allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/rcd, /obj/item/crowbar, \ diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 91cfe6e8e4cd..b72c0f71d524 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -359,3 +359,9 @@ if(!H.is_in_hands(src) || HAS_TRAIT(H, TRAIT_HANDS_BLOCKED)) return FALSE return TRUE + +/obj/item/clothing/head/helmet/space/plasmaman/trainer + name = "\improper NT Career Trainer envirosuit helmet" + desc = "A plasmaman envirohelm designed for the nanotrasen career trainer." + icon_state = "trainer_envirohelm" + item_state = "trainer_envirohelm" diff --git a/code/modules/clothing/suits/job_suits.dm b/code/modules/clothing/suits/job_suits.dm index 59d1a603287e..5fd8bd0a31bb 100644 --- a/code/modules/clothing/suits/job_suits.dm +++ b/code/modules/clothing/suits/job_suits.dm @@ -29,13 +29,6 @@ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' ) -/obj/item/clothing/suit/mantle/armor/captain - name = "captain's mantle" - desc = "An armor-plated piece of fashion for the ruling elite. Protect your upper half in style." - icon_state = "capmantle" - item_state = "capmantle" - armor = list(MELEE = 50, BULLET = 35, LASER = 50, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) - //Chaplain /obj/item/clothing/suit/hooded/chaplain_hoodie name = "chaplain hoodie" @@ -115,21 +108,6 @@ body_parts_covered = UPPER_TORSO|LOWER_TORSO allowed = list(/obj/item/kitchen/knife) -//Chief Engineer -/obj/item/clothing/suit/mantle/chief_engineer - name = "chief engineer's mantle" - desc = "A slick, authoritative cloak designed for the Chief Engineer." - icon_state = "cemantle" - item_state = "cemantle" - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/t_scanner, /obj/item/rcd, /obj/item/rpd) - -//Chief Medical Officer -/obj/item/clothing/suit/mantle/labcoat/chief_medical_officer - name = "chief medical officer's mantle" - desc = "An absorbent, clean cover found on the shoulders of the Chief Medical Officer." - icon_state = "cmomantle" - item_state = "cmomantle" - //Detective /obj/item/clothing/suit/storage/det_suit name = "coat" @@ -266,29 +244,7 @@ icon_state = "suitjacket_purple" item_state = "suitjacket_purple" -//Head of Security -/obj/item/clothing/suit/mantle/armor - name = "armored shawl" - desc = "A reinforced shawl, worn by the Head of Security. Do you dare take up their mantle?" - icon_state = "hosmantle" - item_state = "hosmantle" - allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic, /obj/item/kitchen/knife/combat) - armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) - min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT - heat_protection = UPPER_TORSO|ARMS - max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT - strip_delay = 60 - put_on_delay = 40 - resistance_flags = NONE - //Head of Personnel -/obj/item/clothing/suit/mantle/armor/hop - name = "head of personnel's shawl" - desc = "An armored shawl for the head of personnel. It's remarkably well kept." - icon_state = "hopmantle" - item_state = "hopmantle" - armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) - /obj/item/clothing/suit/hopcoat name = "head of personnel's coat" desc = "A big coat for the Head of Personnel who wants to make a fashion statement. Has armour woven within the fabric." @@ -304,14 +260,6 @@ ) //Quartermaster -/obj/item/clothing/suit/mantle/qm - name = "quartermaster's mantle" - desc = "An armored shawl for the quartermaster. Keeps the breeze from the vents away from your neck." - icon_state = "qmmantle" - item_state = "qmmantle" - allowed = list(/obj/item/paper, /obj/item/clipboard, /obj/item/gun/energy/kinetic_accelerator, /obj/item/melee/baton, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic, /obj/item/melee/knuckleduster, /obj/item/rcs) - armor = list(MELEE = 15, BULLET = 10, LASER = 15, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50) - /obj/item/clothing/suit/qmcoat name = "quartermaster's coat" desc = "A brown trenchcoat to show the station you mean business. Has armor woven within the fabric." @@ -402,11 +350,18 @@ item_state = "surgical" allowed = list(/obj/item/scalpel, /obj/item/surgical_drapes, /obj/item/cautery, /obj/item/hemostat, /obj/item/retractor) -//Research Director -/obj/item/clothing/suit/mantle/labcoat - name = "research director's mantle" - desc = "A tweed mantle, worn by the Research Director. Smells like science." - icon_state = "rdmantle" - item_state = "rdmantle" - allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/reagent_containers/applicator, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper) - armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50) +//NT Career Trainer +/obj/item/clothing/suit/storage/nct + name = "\improper NT Career Trainer's jacket" + desc = "A sharp black coat with beige trim around the cuffs and collar, offering a mix of professionalism and approachability." + icon_state = "trainercoat" + blood_overlay_type = "coat" + body_parts_covered = UPPER_TORSO|ARMS + ignore_suitadjust = TRUE + + sprite_sheets = list( + "Vox" = 'icons/mob/clothing/species/vox/suit.dmi', + "Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi', + "Drask" = 'icons/mob/clothing/species/drask/suit.dmi', + "Grey" = 'icons/mob/clothing/species/grey/suit.dmi', + ) diff --git a/code/modules/clothing/suits/misc_suits.dm b/code/modules/clothing/suits/misc_suits.dm index 8be566f41237..5b5f3db86d6f 100644 --- a/code/modules/clothing/suits/misc_suits.dm +++ b/code/modules/clothing/suits/misc_suits.dm @@ -1369,28 +1369,6 @@ icon_state = "ladiesredvictoriancoat" item_state = "ladiesredvictoriancoat" -//Mantles! -/obj/item/clothing/suit/mantle - name = "mantle" - desc = "A heavy quilted mantle, for keeping your shoulders warm and stylish." - icon_state = "mantle" - item_state = "mantle" - body_parts_covered = UPPER_TORSO|ARMS - cold_protection = UPPER_TORSO|ARMS - min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - -/obj/item/clothing/suit/mantle/regal - name = "regal shawl" - desc = "A fancy shawl for nobility, made from high quality materials." - icon_state = "regal_mantle" - item_state = "regal_mantle" - -/obj/item/clothing/suit/mantle/old - name = "old wrap" - desc = "A tattered fabric wrap, faded over the years. Smells faintly of cigars." - icon_state = "old_mantle" - item_state = "old_mantle" - /obj/item/clothing/suit/ghost_sheet name = "ghost sheet" desc = "The hands float by themselves, so it's extra spooky." @@ -1403,15 +1381,11 @@ flags = BLOCKHAIR flags_inv = HIDEGLOVES|HIDEEARS|HIDEFACE -/obj/item/clothing/suit/furcape +/obj/item/clothing/neck/cloak/furcape name = "fur cape" desc = "A cape made from fur. You'll really be stylin' now." icon_state = "furcape" item_state = "furcape" - blood_overlay_type = "armor" - body_parts_covered = UPPER_TORSO|ARMS - cold_protection = UPPER_TORSO | ARMS - min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT /obj/item/clothing/suit/hooded/abaya name = "abaya" diff --git a/code/modules/clothing/suits/unathi_suits.dm b/code/modules/clothing/suits/unathi_suits.dm index 4021f4404339..73a04970873c 100644 --- a/code/modules/clothing/suits/unathi_suits.dm +++ b/code/modules/clothing/suits/unathi_suits.dm @@ -10,10 +10,3 @@ icon_state = "robe-unathi" item_state = "robe-unathi" body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS - -/obj/item/clothing/suit/unathi/mantle - name = "hide mantle" - desc = "A rather grisly selection of cured hides and skin, sewn together to form a ragged mantle." - icon_state = "mantle-unathi" - item_state = "mantle-unathi" - body_parts_covered = UPPER_TORSO diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm index 6a4511534f1d..7314f8984974 100644 --- a/code/modules/clothing/suits/wiz_robe.dm +++ b/code/modules/clothing/suits/wiz_robe.dm @@ -200,6 +200,17 @@ /obj/item/clothing/suit/space/hardsuit/wizard/setup_shielding() AddComponent(/datum/component/shielded, max_charges = 15, recharge_start_delay = 0 SECONDS) +/obj/item/clothing/suit/space/hardsuit/wizard/equipped(mob/user, slot) + . = ..() + ADD_TRAIT(user, TRAIT_ANTIMAGIC, "[UID(src)]") + ADD_TRAIT(user, TRAIT_ANTIMAGIC_NO_SELFBLOCK, "[UID(src)]") + +/obj/item/clothing/suit/space/hardsuit/wizard/dropped(mob/user) + . = ..() + REMOVE_TRAIT(user, TRAIT_ANTIMAGIC, "[UID(src)]") + REMOVE_TRAIT(user, TRAIT_ANTIMAGIC_NO_SELFBLOCK, "[UID(src)]") + + /obj/item/clothing/suit/space/hardsuit/wizard/arch desc = "For the arch wizard in need of additional protection." min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 24d8fef0ac1b..3f62bbae4842 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -1,20 +1,23 @@ /obj/item/clothing/accessory - name = "tie" - desc = "A neosilk clip-on tie." - icon = 'icons/obj/clothing/ties.dmi' - icon_state = "bluetie" - item_state = "" //no inhands - item_color = "bluetie" + name = "accessory" + desc = "If you see this contact a developer." + icon = 'icons/obj/clothing/accessories.dmi' + icon_state = "" + item_state = "" + item_color = "" slot_flags = ITEM_SLOT_ACCESSORY w_class = WEIGHT_CLASS_SMALL var/slot = ACCESSORY_SLOT_DECOR - var/obj/item/clothing/under/has_suit = null //the suit the tie may be attached to - var/image/inv_overlay = null //overlay used when attached to clothing. - var/allow_duplicates = TRUE // Allow accessories of the same type. + /// the suit the accessory may be attached to + var/obj/item/clothing/under/has_suit = null + /// overlay used when attached to clothing. + var/image/inv_overlay = null + /// Allow accessories of the same type. + var/allow_duplicates = TRUE /obj/item/clothing/accessory/Initialize(mapload) . = ..() - inv_overlay = image("icon" = 'icons/obj/clothing/ties_overlay.dmi', "icon_state" = "[item_color? "[item_color]" : "[icon_state]"]") + inv_overlay = image("icon" = 'icons/obj/clothing/accessories_overlay.dmi', "icon_state" = "[item_color? "[item_color]" : "[icon_state]"]") /obj/item/clothing/accessory/Moved(atom/OldLoc, Dir, Forced) . = ..() @@ -112,27 +115,6 @@ /obj/item/clothing/accessory/proc/attached_equip(mob/user) // If we need to do something special when clothing is removed from the user return -/obj/item/clothing/accessory/blue - name = "blue tie" - icon_state = "bluetie" - item_color = "bluetie" - -/obj/item/clothing/accessory/red - name = "red tie" - icon_state = "redtie" - item_color = "redtie" - -/obj/item/clothing/accessory/black - name = "black tie" - icon_state = "blacktie" - item_color = "blacktie" - -/obj/item/clothing/accessory/horrible - name = "horrible tie" - desc = "A neosilk clip-on tie. This one is disgusting." - icon_state = "horribletie" - item_color = "horribletie" - /// No overlay /obj/item/clothing/accessory/waistcoat name = "waistcoat" @@ -145,63 +127,6 @@ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi' ) -/obj/item/clothing/accessory/stethoscope - name = "stethoscope" - desc = "An outdated medical apparatus, used to get a rough idea of the condition of the heart and lungs. It also makes you look like you know what you're doing." - icon_state = "stethoscope" - item_color = "stethoscope" - -/obj/item/clothing/accessory/stethoscope/attack__legacy__attackchain(mob/living/carbon/human/M, mob/living/user) - if(!ishuman(M) || !isliving(user)) - return ..(M, user) - - if(user == M) - user.visible_message("[user] places [src] against [user.p_their()] chest and listens attentively.", "You place [src] against your chest...") - else - user.visible_message("[user] places [src] against [M]'s chest and listens attentively.", "You place [src] against [M]'s chest...") - var/datum/organ/heart/heart_datum = M.get_int_organ_datum(ORGAN_DATUM_HEART) - var/datum/organ/lungs/lung_datum = M.get_int_organ_datum(ORGAN_DATUM_LUNGS) - if(!lung_datum || !heart_datum) - to_chat(user, "You don't hear anything.") - return - - var/obj/item/organ/internal/H = heart_datum.linked_organ - var/obj/item/organ/internal/L = lung_datum.linked_organ - if(!M.pulse || (!H || !(L && !HAS_TRAIT(M, TRAIT_NOBREATH)))) - to_chat(user, "You don't hear anything.") - return - - var/color = "notice" - if(H) - var/heart_sound - switch(H.damage) - if(0 to 1) - heart_sound = "healthy" - if(1 to 25) - heart_sound = "offbeat" - if(25 to 50) - heart_sound = "uneven" - color = "warning" - if(50 to INFINITY) - heart_sound = "weak, unhealthy" - color = "warning" - to_chat(user, "You hear \an [heart_sound] pulse.") - - if(L) - var/lung_sound - switch(L.damage) - if(0 to 1) - lung_sound = "healthy respiration" - if(1 to 25) - lung_sound = "labored respiration" - if(25 to 50) - lung_sound = "pained respiration" - color = "warning" - if(50 to INFINITY) - lung_sound = "gurgling" - color = "warning" - to_chat(user, "You hear [lung_sound].") - //Medals /obj/item/clothing/accessory/medal name = "bronze medal" @@ -512,117 +437,7 @@ desc = "Marks you as an expert of Standard Operating Procedure, and as a soul-crushing paper pusher." what_you_are = "HUMAN RESOURCES" -/////////// -//SCARVES// -/////////// - -/// No overlay -/obj/item/clothing/accessory/scarf - name = "scarf" - desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks." - dog_fashion = /datum/dog_fashion/head - -/obj/item/clothing/accessory/scarf/red - name = "red scarf" - icon_state = "redscarf" - item_color = "redscarf" - -/obj/item/clothing/accessory/scarf/green - name = "green scarf" - icon_state = "greenscarf" - item_color = "greenscarf" - -/obj/item/clothing/accessory/scarf/darkblue - name = "dark blue scarf" - icon_state = "darkbluescarf" - item_color = "darkbluescarf" - -/obj/item/clothing/accessory/scarf/purple - name = "purple scarf" - icon_state = "purplescarf" - item_color = "purplescarf" - -/obj/item/clothing/accessory/scarf/yellow - name = "yellow scarf" - icon_state = "yellowscarf" - item_color = "yellowscarf" - -/obj/item/clothing/accessory/scarf/orange - name = "orange scarf" - icon_state = "orangescarf" - item_color = "orangescarf" - -/obj/item/clothing/accessory/scarf/lightblue - name = "light blue scarf" - icon_state = "lightbluescarf" - item_color = "lightbluescarf" - -/obj/item/clothing/accessory/scarf/white - name = "white scarf" - icon_state = "whitescarf" - item_color = "whitescarf" - -/obj/item/clothing/accessory/scarf/black - name = "black scarf" - icon_state = "blackscarf" - item_color = "blackscarf" - -/obj/item/clothing/accessory/scarf/zebra - name = "zebra scarf" - icon_state = "zebrascarf" - item_color = "zebrascarf" - -/obj/item/clothing/accessory/scarf/christmas - name = "christmas scarf" - icon_state = "christmasscarf" - item_color = "christmasscarf" - -//The three following scarves don't have the scarf subtype -//This is because Ian can equip anything from that subtype -//However, these 3 don't have corgi versions of their sprites -/obj/item/clothing/accessory/stripedredscarf - name = "striped red scarf" - desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks." - icon_state = "stripedredscarf" - item_color = "stripedredscarf" - -/obj/item/clothing/accessory/stripedgreenscarf - name = "striped green scarf" - desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks." - icon_state = "stripedgreenscarf" - item_color = "stripedgreenscarf" - -/obj/item/clothing/accessory/stripedbluescarf - name = "striped blue scarf" - desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks." - icon_state = "stripedbluescarf" - item_color = "stripedbluescarf" - -//Necklaces -/obj/item/clothing/accessory/necklace - name = "necklace" - desc = "A simple necklace." - icon_state = "necklace" - item_state = "necklace" - item_color = "necklace" - slot_flags = ITEM_SLOT_ACCESSORY - -/obj/item/clothing/accessory/necklace/long - name = "large necklace" - desc = "A large necklace." - icon_state = "necklacelong" - item_state = "necklacelong" - item_color = "necklacelong" - - -/obj/item/clothing/accessory/necklace/dope - name = "gold necklace" - desc = "Damn, it feels good to be a gangster." - icon_state = "bling" - item_state = "bling" - item_color = "bling" - -/obj/item/clothing/accessory/necklace/skullcodpiece +/obj/item/clothing/accessory/skullcodpiece name = "skull codpiece" desc = "A skull shaped ornament, intended to protect the important things in life." icon_state = "skull" @@ -631,7 +446,7 @@ armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 10, RAD = 5, FIRE = 0, ACID = 15) allow_duplicates = FALSE -/obj/item/clothing/accessory/necklace/talisman +/obj/item/clothing/accessory/talisman name = "bone talisman" desc = "A hunter's talisman, some say the old gods smile on those who wear it." icon_state = "talisman" @@ -640,64 +455,6 @@ armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 10, RAD = 5, FIRE = 0, ACID = 15) allow_duplicates = FALSE -/obj/item/clothing/accessory/necklace/locket - name = "gold locket" - desc = "A gold locket that seems to have space for a photo within." - icon_state = "locketgold" - item_state = "locketgold" - item_color = "locketgold" - slot_flags = ITEM_SLOT_ACCESSORY - var/base_icon - var/open - var/obj/item/held //Item inside locket. - -/obj/item/clothing/accessory/necklace/locket/Destroy() - QDEL_NULL(held) - return ..() - - -/obj/item/clothing/accessory/necklace/locket/attack_self__legacy__attackchain(mob/user as mob) - if(!base_icon) - base_icon = icon_state - - if(!("[base_icon]_open" in icon_states(icon))) - to_chat(user, "[src] doesn't seem to open.") - return - - open = !open - to_chat(user, "You flip [src] [open?"open":"closed"].") - if(open) - icon_state = "[base_icon]_open" - if(held) - to_chat(user, "[held] falls out!") - held.forceMove(get_turf(user)) - held = null - else - icon_state = "[base_icon]" - -/obj/item/clothing/accessory/necklace/locket/attackby__legacy__attackchain(obj/item/O as obj, mob/user as mob) - if(!open) - to_chat(user, "You have to open it first.") - return - - if(istype(O,/obj/item/paper) || istype(O, /obj/item/photo)) - if(held) - to_chat(usr, "[src] already has something inside it.") - else - to_chat(usr, "You slip [O] into [src].") - user.drop_item() - O.forceMove(src) - held = O - else - return ..() - -/obj/item/clothing/accessory/necklace/locket/silver - name = "silver locket" - desc = "A silver locket that seems to have space for a photo within." - icon_state = "locketsilver" - item_state = "locketsilver" - item_color = "locketsilver" - //Cowboy Shirts /obj/item/clothing/accessory/cowboyshirt name = "black cowboy shirt" @@ -881,7 +638,7 @@ icon_state = pin_icon_state item_state = pin_icon_state item_color = pin_icon_state - inv_overlay = image("icon" = 'icons/obj/clothing/ties_overlay.dmi', "icon_state" = "[item_color? "[item_color]" : "[icon_state]"]") + inv_overlay = image("icon" = 'icons/obj/clothing/accessories_overlay.dmi', "icon_state" = "[item_color? "[item_color]" : "[icon_state]"]") /proc/english_accessory_list(obj/item/clothing/under/U) if(!istype(U) || !length(U.accessories)) diff --git a/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm b/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm index a11e17175869..b7fa92dcbcc9 100644 --- a/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm +++ b/code/modules/clothing/under/jobs/plasmamen/civilian_service.dm @@ -134,3 +134,10 @@ item_state = "tacticool_envirosuit" item_color = "tacticool_envirosuit" has_sensor = FALSE + +/obj/item/clothing/under/plasmaman/trainer + name = "\improper NT career trainer's envirosuit" + desc = "An envirosuit designed for plasmamen employed as the nanotrasen career trainer." + icon_state = "trainer_envirosuit" + item_state = "trainer_envirosuit" + item_color = "trainer_envirosuit" diff --git a/code/modules/clothing/under/jobs/procedure.dm b/code/modules/clothing/under/jobs/procedure.dm index 33a997dc2186..7351e2a245b7 100644 --- a/code/modules/clothing/under/jobs/procedure.dm +++ b/code/modules/clothing/under/jobs/procedure.dm @@ -159,3 +159,17 @@ icon_state = "iaa_formal_goodman_skirt" item_state = "iaa_formal_goodman_skirt" item_color = "iaa_formal_goodman_skirt" + +/obj/item/clothing/under/rank/procedure/nct + name = "\improper NT Career Trainer's uniform" + desc = "A neatly pressed olive green shirt paired with black jeans, worn by those dedicated to shaping the future of the workforce." + icon_state = "trainer" + item_state = "trainer" + item_color = "trainer" + +/obj/item/clothing/under/rank/procedure/nct/skirt + name = "\improper NT Career Trainer's skirt" + desc = "A neatly pressed olive green shirt paired with a sleek black skirt, worn by those committed to mentoring the next generation." + icon_state = "trainer_skirt" + item_state = "trainer_skirt" + item_color = "trainer_skirt" diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index 53df828a3efc..92bd619396ca 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -746,7 +746,7 @@ /datum/crafting_recipe/bonetalisman name = "Bone Talisman" - result = list(/obj/item/clothing/accessory/necklace/talisman) + result = list(/obj/item/clothing/accessory/talisman) time = 20 reqs = list(/obj/item/stack/sheet/bone = 2, /obj/item/stack/sheet/sinew = 1) @@ -754,7 +754,7 @@ /datum/crafting_recipe/bonecodpiece name = "Skull Codpiece" - result = list(/obj/item/clothing/accessory/necklace/skullcodpiece) + result = list(/obj/item/clothing/accessory/skullcodpiece) time = 20 reqs = list(/obj/item/stack/sheet/bone = 2, /obj/item/stack/sheet/animalhide/goliath_hide = 1) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index d3e4b0bd5b19..3081eddac134 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -1432,7 +1432,7 @@ /obj/item/clothing/suit/armor/vest/fluff/tactical name = "tactical armor vest" desc = "A tactical vest with armored plate inserts." - icon = 'icons/obj/clothing/ties.dmi' + icon = 'icons/obj/clothing/accessories.dmi' icon_state = "vest_black" item_state = "vest_black" sprite_sheets = null @@ -1549,7 +1549,7 @@ /// Fethas: Sefra'neem -/obj/item/clothing/accessory/necklace/locket/fluff/fethasnecklace +/obj/item/clothing/accessory/locket/fluff/fethasnecklace name = "Orange gemmed locket" desc = "A locket with a orange gem set on the front, the picture inside seems to be of a Tajaran." icon = 'icons/obj/custom_items.dmi' diff --git a/code/modules/events/bureaucratic_error.dm b/code/modules/events/bureaucratic_error.dm index abb4187273c8..320b563ac32a 100644 --- a/code/modules/events/bureaucratic_error.dm +++ b/code/modules/events/bureaucratic_error.dm @@ -21,7 +21,8 @@ /datum/job/hop, /datum/job/nanotrasenrep, /datum/job/judge, - /datum/job/qm + /datum/job/qm, + /datum/job/nanotrasentrainer ) /datum/event/bureaucratic_error/announce() diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 106fe9c902dd..e4c85d74ab2c 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -171,7 +171,6 @@ GLOBAL_LIST_EMPTY(event_last_fired) new /datum/event_meta(EVENT_LEVEL_MODERATE, "Radiation Storm", /datum/event/radiation_storm, 25, list(ASSIGNMENT_MEDICAL = 50), TRUE), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spider Infestation", /datum/event/spider_infestation, 100, list(ASSIGNMENT_SECURITY = 30), TRUE), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Ion Storm", /datum/event/ion_storm, 0, list(ASSIGNMENT_AI = 50, ASSIGNMENT_CYBORG = 50, ASSIGNMENT_ENGINEER = 15, ASSIGNMENT_SCIENTIST = 5)), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Immovable Rod", /datum/event/immovable_rod, 0, list(ASSIGNMENT_ENGINEER = 30), TRUE), //new /datum/event_meta/ninja(EVENT_LEVEL_MODERATE, "Space Ninja", /datum/event/space_ninja, 0, list(ASSIGNMENT_SECURITY = 15), TRUE), // NON-BAY EVENTS new /datum/event_meta(EVENT_LEVEL_MODERATE, "Mass Hallucination", /datum/event/mass_hallucination, 300), @@ -188,7 +187,6 @@ GLOBAL_LIST_EMPTY(event_last_fired) new /datum/event_meta(EVENT_LEVEL_MODERATE, "Gravitational Anomaly", /datum/event/anomaly/anomaly_grav, 200), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Revenant", /datum/event/revenant, 150), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Morph Spawn", /datum/event/spawn_morph, 40, list(ASSIGNMENT_SECURITY = 10), is_one_shot = TRUE), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Pulse Demon Infiltration", /datum/event/spawn_pulsedemon, 150, list(ASSIGNMENT_ENGINEER = 10), is_one_shot = TRUE), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Disease Outbreak", /datum/event/disease_outbreak, 50, list(ASSIGNMENT_MEDICAL = 30), TRUE), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Door Runtime", /datum/event/door_runtime, 50, list(ASSIGNMENT_ENGINEER = 25, ASSIGNMENT_AI = 150), TRUE), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Tourist Arrivals", /datum/event/tourist_arrivals, 100, list(ASSIGNMENT_SECURITY = 15), TRUE) @@ -208,7 +206,9 @@ GLOBAL_LIST_EMPTY(event_last_fired) new /datum/event_meta(EVENT_LEVEL_MAJOR, "Traders", /datum/event/traders, 85, is_one_shot = TRUE), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Terror Spiders", /datum/event/spider_terror, 15, list(ASSIGNMENT_SECURITY = 3), TRUE), new /datum/event_meta(EVENT_LEVEL_MAJOR, "Slaughter Demon", /datum/event/spawn_slaughter, 20, is_one_shot = TRUE), - new /datum/event_meta(EVENT_LEVEL_MAJOR, "Shadow Demon", /datum/event/spawn_slaughter/shadow, 20, is_one_shot = TRUE) + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Shadow Demon", /datum/event/spawn_slaughter/shadow, 20, is_one_shot = TRUE), + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Pulse Demon Infiltration", /datum/event/spawn_pulsedemon, 20, is_one_shot = TRUE), + new /datum/event_meta(EVENT_LEVEL_MAJOR, "Immovable Rod", /datum/event/immovable_rod, 0, list(ASSIGNMENT_ENGINEER = 10), TRUE) //new /datum/event_meta(EVENT_LEVEL_MAJOR, "Floor Cluwne", /datum/event/spawn_floor_cluwne, 15, is_one_shot = TRUE) ) diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm index b70aa66502e8..63e2a1f78567 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -70,44 +70,69 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 /obj/effect/immovablerod/singularity_pull() return -/obj/effect/immovablerod/Bump(atom/clong) +/obj/effect/immovablerod/Move(turf/newloc, direction) + if(!istype(newloc)) + return ..() + + if(!direction) + direction = get_dir(src, newloc) + forceMove(newloc) + setDir(direction) + if(prob(10)) playsound(src, 'sound/effects/bang.ogg', 50, TRUE) audible_message("CLANG") - if(clong && prob(25)) - x = clong.x - y = clong.y - - if(isturf(clong) || isobj(clong)) - if(clong.density) - clong.ex_act(EXPLODE_HEAVY) - - else if(ismob(clong)) - if(ishuman(clong)) - var/mob/living/carbon/human/H = clong + clong_turf(newloc) + for(var/atom/victim as anything in newloc) + clong_thing(victim) + +/obj/effect/immovablerod/proc/clong_turf(turf/victim) + if(!victim.density) + return + + if(iswallturf(victim)) + var/turf/simulated/wall/W = victim + W.take_damage(rand(W.damage_cap / 3, W.damage_cap * 4 / 3)) + else + victim.ex_act(EXPLODE_LIGHT) + +/obj/effect/immovablerod/proc/clong_thing(atom/victim) + if(isobj(victim) && victim.density) + victim.ex_act(EXPLODE_HEAVY) + else if(ismob(victim)) + if(ishuman(victim)) + var/mob/living/carbon/human/H = victim H.visible_message("[H.name] is penetrated by an immovable rod!", "The rod penetrates you!", "You hear a CLANG!") H.adjustBruteLoss(160) - if(clong.density || prob(10)) - clong.ex_act(EXPLODE_HEAVY) + if(victim.density || prob(10)) + victim.ex_act(EXPLODE_HEAVY) /obj/effect/immovablerod/event // The base chance to "damage" the floor when passing. This is not guaranteed to cause a full on hull breach. - // Chance to expose the tile to space is like 60% of this value. + // Chance to expose the tile to space is like 15% of this value. var/floor_rip_chance = 40 /obj/effect/immovablerod/event/Move() - var/atom/oldloc = loc . = ..() - if(prob(floor_rip_chance)) - var/turf/simulated/floor/T = get_turf(oldloc) - if(istype(T)) - T.ex_act(EXPLODE_HEAVY) if(loc == end) qdel(src) +/obj/effect/immovablerod/event/clong_turf(turf/victim) + if(!isfloorturf(victim)) + return ..() + + if(!prob(floor_rip_chance)) + return + + var/turf/simulated/floor/T = victim + if(prob(25)) + T.ex_act(EXPLODE_HEAVY) + else + T.ex_act(EXPLODE_LIGHT) + /obj/effect/immovablerod/deadchat_plays(mode = DEADCHAT_DEMOCRACY_MODE, cooldown = 6 SECONDS) return AddComponent(/datum/component/deadchat_control/immovable_rod, mode, list(), cooldown) diff --git a/code/modules/events/traders.dm b/code/modules/events/traders.dm index 8cb3977d0302..a8505827d6a0 100644 --- a/code/modules/events/traders.dm +++ b/code/modules/events/traders.dm @@ -149,7 +149,7 @@ GLOBAL_LIST_INIT(unused_trade_stations, list("sol")) /datum/traders/cyber trader_type = "Cybersun Industries" - trader_location = "-=ERROR: Unregisted Station Charter=-" + trader_location = "-=ERROR: Unregistered Station Charter=-" dock_site = "an undercover robotics factory" trader_species = /mob/living/carbon/human trader_outfit = /datum/outfit/admin/trader/cyber diff --git a/code/modules/food_and_drinks/kitchen_machinery/cooker.dm b/code/modules/food_and_drinks/kitchen_machinery/cooker.dm index 0ae75aedd439..17d86d656afd 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/cooker.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/cooker.dm @@ -160,8 +160,7 @@ oil.name = "fat" oil.desc = "Uh oh, looks like some fat from [src]!" oil.loc = location - location.hotspot_expose(700, 50, 1) - //TODO have a chance of setting the tile on fire + location.hotspot_expose(700, 1) /obj/machinery/cooker/proc/changename(obj/item/name, obj/item/setme) setme.name = "[thiscooktype] [name.name]" diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index c2dc17adf74b..827188db878c 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -217,7 +217,7 @@ /obj/structure/bonfire/proc/Burn() var/turf/current_location = get_turf(src) - current_location.hotspot_expose(1000,500,1) + current_location.hotspot_expose(1000, 10) for(var/A in current_location) if(A == src) continue diff --git a/code/modules/mapping/access_helpers.dm b/code/modules/mapping/access_helpers.dm index 6b6506c6fc28..e1e542aaf6e4 100644 --- a/code/modules/mapping/access_helpers.dm +++ b/code/modules/mapping/access_helpers.dm @@ -492,3 +492,10 @@ /obj/effect/mapping_helpers/airlock/access/all/centcomm/traders access = ACCESS_TRADE_SOL + +// -------------------- Procedure access helpers +/obj/effect/mapping_helpers/airlock/access/all/procedure + icon_state = "access_helper_pro" + +/obj/effect/mapping_helpers/airlock/access/all/procedure/trainer + access = ACCESS_TRAINER diff --git a/code/modules/mapping/windoor_access_helpers.dm b/code/modules/mapping/windoor_access_helpers.dm index d193060c9a5f..dca6f386b5ac 100644 --- a/code/modules/mapping/windoor_access_helpers.dm +++ b/code/modules/mapping/windoor_access_helpers.dm @@ -446,3 +446,10 @@ /obj/effect/mapping_helpers/airlock/windoor/access/all/supply/mule_bot access = ACCESS_CARGO_BOT + +// -------------------- Procedure access helpers +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure + icon_state = "access_windoor_pro" + +/obj/effect/mapping_helpers/airlock/windoor/access/all/procedure/trainer + access = ACCESS_TRAINER diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm index d5b9394871f2..e6d347e44e04 100644 --- a/code/modules/mining/abandonedcrates.dm +++ b/code/modules/mining/abandonedcrates.dm @@ -49,7 +49,7 @@ if(46 to 50) new /obj/item/clothing/under/chameleon(src) for(var/i in 1 to 7) - new /obj/item/clothing/accessory/horrible(src) + new /obj/item/clothing/neck/tie/horrible(src) if(51 to 52) // 2% chance new /obj/item/melee/classic_baton(src) if(53 to 54) diff --git a/code/modules/mining/lavaland/loot/tendril_loot.dm b/code/modules/mining/lavaland/loot/tendril_loot.dm index d0329bf4fcbc..4cf0d24f8ce6 100644 --- a/code/modules/mining/lavaland/loot/tendril_loot.dm +++ b/code/modules/mining/lavaland/loot/tendril_loot.dm @@ -338,6 +338,7 @@ max_charges = 1 flags = NOBLUDGEON force = 18 + antimagic_flags = NONE /obj/item/ammo_casing/magic/hook name = "hook" @@ -384,7 +385,7 @@ //Immortality Talisman /obj/item/immortality_talisman - name = "Immortality Talisman" + name = "\improper Immortality Talisman" desc = "A dread talisman that can render you completely invulnerable." icon = 'icons/obj/lavaland/artefacts.dmi' icon_state = "talisman" @@ -393,6 +394,21 @@ actions_types = list(/datum/action/item_action/immortality) var/cooldown = 0 +/obj/item/immortality_talisman/Initialize(mapload) + . = ..() + AddComponent(/datum/component/anti_magic, ALL) + +/obj/item/immortality_talisman/equipped(mob/user, slot) + ..() + if(slot != ITEM_SLOT_IN_BACKPACK) + var/user_UID = user.UID() + ADD_TRAIT(user, TRAIT_ANTIMAGIC_NO_SELFBLOCK, user_UID) + +/obj/item/immortality_talisman/dropped(mob/user, silent) + . = ..() + var/user_UID = user.UID() + REMOVE_TRAIT(user, TRAIT_ANTIMAGIC_NO_SELFBLOCK, user_UID) + /datum/action/item_action/immortality name = "Immortality" diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index e4b1f52529db..89e0de5217f5 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -184,6 +184,10 @@ ) hide_tail_by_species = list("Unathi", "Tajaran", "Vox", "Vulpkanin") +/obj/item/clothing/suit/hooded/berserker/Initialize(mapload) + . = ..() + AddComponent(/datum/component/anti_magic, ALL, inventory_flags = ITEM_SLOT_OUTER_SUIT) + /obj/item/clothing/head/hooded/berserker name = "berserker helmet" desc = "Peering into the eyes of the helmet is enough to seal damnation." diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index d82d8351d673..f068ace4aa94 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -364,7 +364,7 @@ EQUIPMENT("Big Burger", /obj/item/food/burger/bigbite, 250), EQUIPMENT("Recycled Prisoner", /obj/item/food/soylentgreen, 500), EQUIPMENT("Crayons", /obj/item/storage/fancy/crayons, 350), - EQUIPMENT("Plushie", /obj/random/plushie, 750), + EQUIPMENT("Plushie", /obj/effect/spawner/random/plushies, 750), EQUIPMENT("Dnd set", /obj/item/storage/box/characters, 500), EQUIPMENT("Dice set", /obj/item/storage/box/dice, 250), EQUIPMENT("Cards", /obj/item/deck/cards, 150), diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 731285e775ce..dcc350ea9ade 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -17,8 +17,8 @@ var/points = 0 //How many points this ore gets you from the ore redemption machine var/refined_type = null //What this ore defaults to being refined into -/obj/item/stack/ore/New(loc, new_amount, merge = TRUE) - ..() +/obj/item/stack/ore/Initialize(mapload, new_amount, merge = TRUE) + . = ..() pixel_x = rand(0, 16) - 8 pixel_y = rand(0, 8) - 8 @@ -349,14 +349,12 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ var/cooldown = 0 var/credits = 10 -/obj/item/coin/New() - ..() +/obj/item/coin/Initialize(mapload) + . = ..() icon_state = "coin_[cmineral]_[sideslist[1]]" if(cmineral && name_by_cmineral) name = "[cmineral] coin" - -/obj/item/coin/Initialize(mapload) - . = ..() + update_appearance(UPDATE_NAME|UPDATE_ICON_STATE) AddComponent(/datum/component/surgery_initiator/robo) /obj/item/coin/gold diff --git a/code/modules/mob/dead/observer/orbit.dm b/code/modules/mob/dead/observer/orbit.dm index 9f13488cba08..c83753cb1ad8 100644 --- a/code/modules/mob/dead/observer/orbit.dm +++ b/code/modules/mob/dead/observer/orbit.dm @@ -107,6 +107,7 @@ GLOBAL_DATUM_INIT(orbit_menu, /datum/orbit_menu, new) - vampire - changelings - revolutionaries/headrevs + - event */ for(var/_A in mind.antag_datums) var/datum/antagonist/A = _A @@ -121,8 +122,7 @@ GLOBAL_DATUM_INIT(orbit_menu, /datum/orbit_menu, new) other_antags += list( "Blob" = (mind.special_role == SPECIAL_ROLE_BLOB), "Nuclear Operative" = (mind in SSticker.mode.syndicates), - "Abductor" = (mind in SSticker.mode.abductors), - "Event Roles" = (mind.special_role == SPECIAL_ROLE_EVENTMISC) + "Abductor" = (mind in SSticker.mode.abductors) ) for(var/antag_name in other_antags) diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index c634b429d711..4f2d5abaa865 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -145,6 +145,8 @@ grab_items |= item if(item.flags & ABSTRACT) abstract_items |= item + if(HAS_TRAIT(item, TRAIT_SKIP_EXAMINE)) + continue else var/item_words = item.name if(item.blood_DNA) diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index b28bf42d048d..91860b6a8822 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -612,7 +612,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) else if(A.sprite_sheets && A.sprite_sheets[dna.species.sprite_sheet_name]) standing.overlays += image("icon" = A.sprite_sheets[dna.species.sprite_sheet_name], "icon_state" = "[A.icon_state]") else - standing.overlays += image("icon" = 'icons/mob/ties.dmi', "icon_state" = "[tie_color]") + standing.overlays += image("icon" = 'icons/mob/accessories.dmi', "icon_state" = "[tie_color]") standing.alpha = w_uniform.alpha standing.color = w_uniform.color overlays_standing[UNIFORM_LAYER] = standing @@ -1062,20 +1062,31 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) /mob/living/carbon/human/update_inv_neck() remove_overlay(NECK_LAYER) + remove_overlay(SPECIAL_NECK_LAYER) + if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[ITEM_SLOT_2_INDEX(ITEM_SLOT_NECK)] if(inv) inv.update_icon() if(neck) + var/mutable_appearance/new_neck update_hud_neck(neck) + if(neck.icon_override) - overlays_standing[NECK_LAYER] = mutable_appearance(neck.icon_override, "[neck.icon_state]", layer = -NECK_LAYER) + new_neck = mutable_appearance(neck.icon_override, "[neck.icon_state]", layer = -NECK_LAYER) else if(neck.sprite_sheets && neck.sprite_sheets[dna.species.sprite_sheet_name]) - overlays_standing[NECK_LAYER] = mutable_appearance(neck.sprite_sheets[dna.species.sprite_sheet_name], "[neck.icon_state]", layer = -NECK_LAYER) + new_neck = mutable_appearance(neck.sprite_sheets[dna.species.sprite_sheet_name], "[neck.icon_state]", layer = -NECK_LAYER) + else + new_neck = mutable_appearance('icons/mob/clothing/neck.dmi', "[neck.icon_state]", layer = -NECK_LAYER) + var/obj/item/clothing/neck/tie/N = neck + if(istype(N) && N.under_suit) + new_neck.layer = -SPECIAL_NECK_LAYER + overlays_standing[SPECIAL_NECK_LAYER] = new_neck + apply_overlay(SPECIAL_NECK_LAYER) else - overlays_standing[NECK_LAYER] = mutable_appearance('icons/mob/clothing/neck.dmi', "[neck.icon_state]", layer = -NECK_LAYER) - apply_overlay(NECK_LAYER) + overlays_standing[NECK_LAYER] = new_neck + apply_overlay(NECK_LAYER) /mob/living/carbon/human/update_inv_back() ..() diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm index 774181c27857..91303d807667 100644 --- a/code/modules/mob/living/carbon/human/species/plasmaman.dm +++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm @@ -147,6 +147,9 @@ if("Assistant") O = new /datum/outfit/plasmaman/assistant + if("Nanotrasen Career Trainer") + O = new /datum/outfit/plasmaman/trainer + H.equipOutfit(O, visualsOnly) H.internal = H.r_hand H.update_action_buttons_icon() diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index a7f63bd6e071..cb497112049f 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -143,6 +143,7 @@ desc = "Allows you to recruit a conscious, non-braindead, non-catatonic human to be part of the Greyshirts, your personal henchmen. This works on Assistants only and you can recruit a maximum of 3!." base_cooldown = 450 clothes_req = FALSE + antimagic_flags = NONE action_icon_state = "spell_greytide" var/recruiting = 0 diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index 07baa8e3c926..adf03cbff7e4 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -30,6 +30,8 @@ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_UNKNOWN), PROC_REF(on_unknown_trait)) RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_UNKNOWN), PROC_REF(on_unknown_trait)) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_PRESSURE_VISION), PROC_REF(on_pressure_vision_trait_gain)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_PRESSURE_VISION), PROC_REF(on_pressure_vision_trait_loss)) /// Called when [TRAIT_KNOCKEDOUT] is added to the mob. /mob/living/proc/on_knockedout_trait_gain(datum/source) @@ -172,3 +174,17 @@ /mob/living/proc/on_unknown_trait_part_2() name = get_visible_name() sec_hud_set_ID() + +/// Called when [TRAIT_PRESSURE_VISION] is added to the mob. +/mob/living/proc/on_pressure_vision_trait_gain(datum/source) + SIGNAL_HANDLER + var/datum/atom_hud/data/pressure/hud = GLOB.huds[DATA_HUD_PRESSURE] + if(!(src in hud.hudusers)) + hud.add_hud_to(src) + +/// Called when [TRAIT_PRESSURE_VISION] is removed from the mob. +/mob/living/proc/on_pressure_vision_trait_loss(datum/source) + SIGNAL_HANDLER + var/datum/atom_hud/data/pressure/hud = GLOB.huds[DATA_HUD_PRESSURE] + if(src in hud.hudusers) + hud.remove_hud_from(src) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 267343b767b8..2df2bb1a32b7 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -121,6 +121,10 @@ if(moving_diagonally) //no mob swap during diagonal moves. return TRUE + if(has_status_effect(STATUS_EFFECT_UNBALANCED)) + // Don't swap while being shoved by air. + return TRUE + if(a_intent == INTENT_HELP) // Help intent doesn't mob swap a mob pulling a structure if(isstructure(M.pulling) || isstructure(pulling)) return TRUE @@ -589,6 +593,11 @@ /mob/living/proc/UpdateDamageIcon() return +/mob/living/get_spacemove_backup(movement_dir) + if(movement_dir == 0 && has_status_effect(STATUS_EFFECT_UNBALANCED)) + return + return ..() + /mob/living/Move(atom/newloc, direct, movetime) if(buckled && buckled.loc != newloc) //not updating position if(!buckled.anchored) @@ -683,41 +692,7 @@ /mob/living/experience_pressure_difference(flow_x, flow_y, pressure_resistance_prob_delta = 0) if(buckled) return - if(client && client.move_delay >= world.time + world.tick_lag * 2) - pressure_resistance_prob_delta -= 30 - - var/list/turfs_to_check = list() - - if(has_limbs) - var/direction = 0 - if(flow_x > 100) - direction |= EAST - if(flow_x < -100) - direction |= WEST - if(flow_y > 100) - direction |= NORTH - if(flow_y < -100) - direction |= SOUTH - - var/turf/T = get_step(src, angle2dir(dir2angle(direction) + 90)) - if(T) - turfs_to_check += T - - T = get_step(src, angle2dir(dir2angle(direction) - 90)) - if(T) - turfs_to_check += T - - for(var/t in turfs_to_check) - T = t - if(T.density) - pressure_resistance_prob_delta -= 20 - continue - for(var/atom/movable/AM in T) - if(AM.density && AM.anchored) - pressure_resistance_prob_delta -= 20 - break - - ..(flow_x, flow_y, pressure_resistance_prob_delta) + ..() /*////////////////////// START RESIST PROCS @@ -982,6 +957,29 @@ var/datum/status_effect/incapacitating/slowed/S = IsSlowed() if(S) . += S.slowdown_value + else + // Only apply directional slow if we don't have a full slow. + var/datum/status_effect/incapacitating/directional_slow/DS = has_status_effect(STATUS_EFFECT_DIRECTIONAL_SLOW) + if(DS) + if(DS.direction == last_move) + // Moving directly in the direction we're slowed, full penalty + . += DS.slowdown_value + else if(REVERSE_DIR(DS.direction) == last_move) + // Moving directly opposite to the slow, no penalty. + // Lint doesn't like this block being empty so, uh, add zero, I guess. + . += 0 + else if(IS_DIR_CARDINAL(DS.direction) || IS_DIR_CARDINAL(last_move)) + if(DS.direction & last_move) + // Moving roughly in the direction we're slowed, full penalty. + . += DS.slowdown_value + else if(!(REVERSE_DIR(DS.direction) & last_move)) + // Moving perpendicular to the slow, partial penalty. + . += DS.slowdown_value / 2 + // Moving roughly opposite to the slow, no penalty. + else + // Diagonal move perpendicular to the slow, partial penalty. + . += DS.slowdown_value / 2 + if(forced_look) . += DIRECTION_LOCK_SLOWDOWN if(ignorewalk) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 074081bba93f..d872d92ec7ee 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -228,7 +228,7 @@ if(!G || G.oxygen() < 1) ExtinguishMob() //If there's no oxygen in the tile we're on, put out the fire return FALSE - T.hotspot_expose(700, 50, 1) + T.hotspot_expose(700, 10) SEND_SIGNAL(src, COMSIG_LIVING_FIRE_TICK) return TRUE diff --git a/code/modules/mob/living/living_status_procs.dm b/code/modules/mob/living/living_status_procs.dm index 35a56aa0ae62..97433d8b3fda 100644 --- a/code/modules/mob/living/living_status_procs.dm +++ b/code/modules/mob/living/living_status_procs.dm @@ -512,26 +512,26 @@ STATUS EFFECTS /mob/living/proc/IsSlowed() return has_status_effect(STATUS_EFFECT_SLOWED) -/mob/living/proc/Slowed(amount, _slowdown_value) +/mob/living/proc/Slowed(amount, slowdown_value) var/datum/status_effect/incapacitating/slowed/S = IsSlowed() if(S) S.duration = max(world.time + amount, S.duration) - S.slowdown_value = _slowdown_value + S.slowdown_value = slowdown_value else if(amount > 0) - S = apply_status_effect(STATUS_EFFECT_SLOWED, amount, _slowdown_value) + S = apply_status_effect(STATUS_EFFECT_SLOWED, amount, slowdown_value) return S -/mob/living/proc/SetSlowed(amount, _slowdown_value) +/mob/living/proc/SetSlowed(amount, slowdown_value) var/datum/status_effect/incapacitating/slowed/S = IsSlowed() - if(amount <= 0 || _slowdown_value <= 0) + if(amount <= 0 || slowdown_value <= 0) if(S) qdel(S) else if(S) S.duration = amount - S.slowdown_value = _slowdown_value + S.slowdown_value = slowdown_value else - S = apply_status_effect(STATUS_EFFECT_SLOWED, amount, _slowdown_value) + S = apply_status_effect(STATUS_EFFECT_SLOWED, amount, slowdown_value) return S diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index dd136add437d..653a6c7cdb32 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -242,6 +242,7 @@ name = "Unfold/Fold Chassis" desc = "Allows you to fold in/out of your mobile form." clothes_req = FALSE + antimagic_flags = NONE base_cooldown = 20 SECONDS action_icon_state = "repairbot" action_background_icon_state = "bg_tech_blue" diff --git a/code/modules/mob/living/silicon/robot/robot_module_actions.dm b/code/modules/mob/living/silicon/robot/robot_module_actions.dm index cb6834e24746..84b34b0d345a 100644 --- a/code/modules/mob/living/silicon/robot/robot_module_actions.dm +++ b/code/modules/mob/living/silicon/robot/robot_module_actions.dm @@ -40,6 +40,7 @@ #define MODE_MESON "meson" #define MODE_TRAY "t-ray" #define MODE_RAD "radiation" +#define MODE_PRESSURE "pressure" #define RAD_RANGE 5 /datum/action/innate/robot_sight/engineering_scanner @@ -47,7 +48,7 @@ sight_mode = BORGMESON button_overlay_icon = 'icons/obj/clothing/glasses.dmi' button_overlay_icon_state = "trayson-meson" - var/list/mode_list = list(MODE_NONE = MODE_MESON, MODE_MESON = MODE_TRAY, MODE_TRAY = MODE_RAD, MODE_RAD = MODE_NONE) + var/list/mode_list = list(MODE_NONE = MODE_MESON, MODE_MESON = MODE_TRAY, MODE_TRAY = MODE_RAD, MODE_RAD = MODE_PRESSURE, MODE_PRESSURE = MODE_NONE) var/mode = MODE_NONE /datum/action/innate/robot_sight/engineering_scanner/Activate() @@ -67,8 +68,13 @@ else STOP_PROCESSING(SSobj, src) + if(mode == MODE_PRESSURE) + ADD_TRAIT(R, TRAIT_PRESSURE_VISION, "borgsight") + else + REMOVE_TRAIT(R, TRAIT_PRESSURE_VISION, "borgsight") + /datum/action/innate/robot_sight/engineering_scanner/Deactivate() - return + REMOVE_TRAIT(owner, TRAIT_PRESSURE_VISION, "borgsight") /datum/action/innate/robot_sight/engineering_scanner/process() var/mob/living/silicon/robot/user = owner @@ -84,6 +90,7 @@ #undef MODE_MESON #undef MODE_TRAY #undef MODE_RAD +#undef MODE_PRESSURE #undef RAD_RANGE /datum/action/innate/robot_magpulse diff --git a/code/modules/mob/living/silicon/robot/robot_movement.dm b/code/modules/mob/living/silicon/robot/robot_movement.dm index 89ff5cc82ea6..4f5a17da5088 100644 --- a/code/modules/mob/living/silicon/robot/robot_movement.dm +++ b/code/modules/mob/living/silicon/robot/robot_movement.dm @@ -25,5 +25,6 @@ return ..() || mob_negates_gravity() /mob/living/silicon/robot/experience_pressure_difference(flow_x, flow_y) - if(!HAS_TRAIT(src, TRAIT_MAGPULSE)) - return ..() + if(HAS_TRAIT(src, TRAIT_MAGPULSE)) + return + ..() diff --git a/code/modules/mob/living/silicon/robot/syndicate_robot.dm b/code/modules/mob/living/silicon/robot/syndicate_robot.dm index 35215d7f2362..891f0fa7d1cc 100644 --- a/code/modules/mob/living/silicon/robot/syndicate_robot.dm +++ b/code/modules/mob/living/silicon/robot/syndicate_robot.dm @@ -40,6 +40,11 @@ playsound(loc, 'sound/mecha/nominalsyndi.ogg', 75, 0) +/mob/living/silicon/robot/syndicate/air_push(direction, strength) + // Syndicate borgs ignore airflow, because they're bloody expensive. + // This should probably be revisited later, as part of a broader move_resist/move_force/pull_force rework. + return + /mob/living/silicon/robot/syndicate/medical base_icon = "syndi-medi" icon_state = "syndi-medi" diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index d17e5842d695..dbb791303b86 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -305,9 +305,9 @@ health = 40 melee_damage_lower = 20 melee_damage_upper = 25 - attacktext = "prods" + attacktext = "rends" environment_smash = ENVIRONMENT_SMASH_RWALLS - attack_sound = 'sound/weapons/tap.ogg' + attack_sound = 'sound/weapons/bladeslice.ogg' construct_type = "harvester" construct_spells = list(/datum/spell/night_vision, /datum/spell/aoe/conjure/build/wall, diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm index 5b4d0624eb42..5d1dcec846cb 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/ancient_robot.dm @@ -596,7 +596,7 @@ Difficulty: Hard var/obj/effect/hotspot/hotspot = new /obj/effect/hotspot/fake(T) hotspot.temperature = 1000 hotspot.recolor() - T.hotspot_expose(700,50,1) + T.hotspot_expose(700, 50) if(mode == VORTEX) var/turf/T = get_turf(src) for(var/atom/A in T) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index b9bddd139c78..ef5abf4224e9 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -282,7 +282,7 @@ Difficulty: Medium var/obj/effect/hotspot/hotspot = new /obj/effect/hotspot/fake(T) hotspot.temperature = 1000 hotspot.recolor() - T.hotspot_expose(700,50,1) + T.hotspot_expose(700, 50) for(var/mob/living/L in T.contents) if((L in hit_list) || L == source) continue diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm index 5f8c3709735e..bc4f66ae3a1e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/pandora.dm @@ -40,7 +40,7 @@ mouse_opacity = MOUSE_OPACITY_ICON death_sound = 'sound/magic/repulse.ogg' deathmessage = "'s lights flicker, before its top part falls down." - loot_drop = /obj/item/clothing/accessory/necklace/pandora_hope + loot_drop = /obj/item/clothing/accessory/pandora_hope attack_action_types = list(/datum/action/innate/elite_attack/chaser_burst, /datum/action/innate/elite_attack/magic_box, @@ -199,7 +199,8 @@ //Pandora's loot: Hope -/obj/item/clothing/accessory/necklace/pandora_hope +//This should probably be turned into a pin at some point +/obj/item/clothing/accessory/pandora_hope name = "Hope" desc = "Found at the bottom of Pandora. After all the evil was released, this was the only thing left inside." icon = 'icons/obj/lavaland/elite_trophies.dmi' @@ -210,13 +211,13 @@ allow_duplicates = FALSE resistance_flags = FIRE_PROOF -/obj/item/clothing/accessory/necklace/pandora_hope/on_attached(obj/item/clothing/under/S, mob/user) +/obj/item/clothing/accessory/pandora_hope/on_attached(obj/item/clothing/under/S, mob/user) . = ..() if(isliving(S.loc)) var/mob/living/M = S.loc M.apply_status_effect(STATUS_EFFECT_HOPE) -/obj/item/clothing/accessory/necklace/pandora_hope/on_removed(mob/user) +/obj/item/clothing/accessory/pandora_hope/on_removed(mob/user) if(isliving(has_suit.loc)) var/mob/living/M = has_suit.loc M.remove_status_effect(STATUS_EFFECT_HOPE) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/combat_drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/combat_drone.dm index b8dacf1f796d..bc0df94d6242 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/combat_drone.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/combat_drone.dm @@ -146,64 +146,61 @@ K.amount = pick(1, 2, 3, 4) K.update_icon() - //also drop dummy circuit boards deconstructable for research (loot) - var/obj/item/circuitboard/C - - //spawn 1-4 boards of a random type - var/spawnees = 0 + // Spawn 1-4 boards of a random type var/num_boards = rand(1, 4) - var/list/options = list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512) - for(var/i=0, i 0 && !HAS_TRAIT(src, TRAIT_RECENTLY_BLOCKED_MAGIC)) + on_block_magic_effects(casted_magic_flags, antimagic_sources) + + return is_magic_blocked + +/// Called whenever a magic effect with a charge cost is blocked and we haven't recently blocked magic. +/mob/proc/on_block_magic_effects(magic_flags, list/antimagic_sources) + return + +/mob/living/on_block_magic_effects(magic_flags, list/antimagic_sources) + ADD_TRAIT(src, TRAIT_RECENTLY_BLOCKED_MAGIC, MAGIC_TRAIT) + addtimer(CALLBACK(src, PROC_REF(remove_recent_magic_block)), 6 SECONDS) + + var/mutable_appearance/antimagic_effect + var/antimagic_color + var/atom/antimagic_source = length(antimagic_sources) ? pick(antimagic_sources) : src + + if(magic_flags & MAGIC_RESISTANCE) + visible_message( + "[src] pulses red as [ismob(antimagic_source) ? p_they() : antimagic_source] absorbs magic energy!", + "An intense magical aura pulses around [ismob(antimagic_source) ? "you" : antimagic_source] as it dissipates into the air!", + ) + antimagic_effect = mutable_appearance('icons/effects/effects.dmi', "shield-red", ABOVE_MOB_LAYER) + antimagic_color = LIGHT_COLOR_BLOOD_MAGIC + playsound(src, 'sound/magic/magic_block.ogg', 50, TRUE) + + else if(magic_flags & MAGIC_RESISTANCE_HOLY) + visible_message( + "[src] starts to glow as [ismob(antimagic_source) ? p_they() : antimagic_source] emits a halo of light!", + "A feeling of warmth washes over [ismob(antimagic_source) ? "you" : antimagic_source] as rays of light surround your body and protect you!", + ) + antimagic_effect = mutable_appearance('icons/mob/genetics.dmi', "servitude", ABOVE_MOB_LAYER) + antimagic_color = LIGHT_COLOR_HOLY_MAGIC + playsound(src, 'sound/magic/magic_block_holy.ogg', 50, TRUE) + + else if(magic_flags & MAGIC_RESISTANCE_MIND) + visible_message( + "[src] forehead shines as [ismob(antimagic_source) ? p_they() : antimagic_source] repulses magic from their mind!", + "A feeling of cold splashes on [ismob(antimagic_source) ? "you" : antimagic_source] as your forehead reflects magic usering your mind!", + ) + antimagic_effect = mutable_appearance('icons/mob/genetics.dmi', "telekinesishead", ABOVE_MOB_LAYER) + antimagic_color = LIGHT_COLOR_DARK_BLUE + playsound(src, 'sound/magic/magic_block_mind.ogg', 50, TRUE) + + mob_light(_color = antimagic_color, _range = 2, _power = 2, _duration = 5 SECONDS) + add_overlay(antimagic_effect) + addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, cut_overlay), antimagic_effect), 5 SECONDS) + +/mob/living/proc/remove_recent_magic_block() + REMOVE_TRAIT(src, TRAIT_RECENTLY_BLOCKED_MAGIC, MAGIC_TRAIT) diff --git a/code/modules/mob/mob_holder.dm b/code/modules/mob/mob_holder.dm index 18290c6cecb0..5f7200b17347 100644 --- a/code/modules/mob/mob_holder.dm +++ b/code/modules/mob/mob_holder.dm @@ -3,7 +3,7 @@ name = "holder" desc = "You shouldn't ever see this." icon = 'icons/obj/objects.dmi' - slot_flags = ITEM_SLOT_HEAD|ITEM_SLOT_BOTH_EARS + slot_flags = ITEM_SLOT_HEAD|ITEM_SLOT_NECK /obj/item/holder/New() ..() diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index c3a043807110..db5d91b22557 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -289,6 +289,8 @@ return FALSE if(job.get_exp_restrictions(client)) return FALSE + if(job.mentor_only && !check_rights(R_MENTOR | R_ADMIN, FALSE)) + return FALSE if(GLOB.configuration.jobs.assistant_limit) if(job.title == "Assistant") diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm index 74176c1a1640..af6292a6284e 100644 --- a/code/modules/mod/mod_types.dm +++ b/code/modules/mod/mod_types.dm @@ -366,12 +366,17 @@ var/insignia_type = /obj/item/mod/module/insignia /// Additional module we add, as a treat. var/additional_module + /// Inquisitorial module, as we have reached that point. + var/inquisitorial_module /obj/item/mod/control/pre_equipped/responsory/Initialize(mapload, new_theme, new_skin, new_core) applied_modules.Insert(1, insignia_type) if(additional_module) applied_modules += additional_module default_pins += additional_module + if(inquisitorial_module) + applied_modules += inquisitorial_module + return ..() /obj/item/mod/control/pre_equipped/responsory/commander @@ -410,9 +415,10 @@ insignia_type = /obj/item/mod/module/insignia/chaplain additional_module = /obj/item/mod/module/injector -/// Diffrent look, as well as magic proof on TG. We don't have the magic proof stuff here, but it's perfect for inqusitors. Or if you want to give your ERT a fancy look. +/// Diffrent look, as well as magic proof. It's perfect for inqusitors. Or if you want to give your ERT a fancy look. At this time, the other ones are unused, and frankly I don't like the idea of antimagic gamma. /obj/item/mod/control/pre_equipped/responsory/inquisitory applied_skin = "inquisitory" + inquisitorial_module = /obj/item/mod/module/anti_magic /obj/item/mod/control/pre_equipped/responsory/inquisitory/commander insignia_type = /obj/item/mod/module/insignia/commander diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index f33db48aa27f..002de3f3b308 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -527,6 +527,24 @@ /obj/item/mod/module/energy_shield/gamma shield_icon = "shield-old" +///Magic Nullifier - Protects you from magic. +/obj/item/mod/module/anti_magic + name = "MOD magic nullifier module" + desc = "A series of obsidian rods installed into critical points around the suit, \ + vibrated at a certain low frequency to enable them to resonate. \ + This creates a low-range, yet strong, magic nullification field around the user, \ + aided by a full replacement of the suit's normal coolant with holy water. \ + Spells will spall right off this field, though it'll do nothing to help others believe you about all this." + icon_state = "magic_nullifier" + removable = FALSE + incompatible_modules = list(/obj/item/mod/module/anti_magic) + +/obj/item/mod/module/anti_magic/on_suit_activation() + ADD_TRAIT(mod.wearer, TRAIT_ANTIMAGIC, "[UID(src)]") + +/obj/item/mod/module/anti_magic/on_suit_deactivation(deleting = FALSE) + REMOVE_TRAIT(mod.wearer, TRAIT_ANTIMAGIC, "[UID(src)]") + /obj/item/mod/module/anomaly_locked/teslawall name = "MOD arc-shield module" // temp desc = "A module that uses a flux core to project an unstable protective shield." //change diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 2d20a77d9037..38bd6bf1b3cc 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -172,7 +172,7 @@ icon_state = "camera" item_state = "electropack" w_class = WEIGHT_CLASS_SMALL - slot_flags = ITEM_SLOT_BELT + slot_flags = ITEM_SLOT_NECK var/list/matter = list("metal" = 2000) var/pictures_max = 10 // cameras historically were varedited to start with 30 shots despite diff --git a/code/modules/power/cables/cable.dm b/code/modules/power/cables/cable.dm index e46b052f0a3f..23c6b28e3003 100644 --- a/code/modules/power/cables/cable.dm +++ b/code/modules/power/cables/cable.dm @@ -157,9 +157,9 @@ By design, d1 is the smallest direction and d2 is the highest investigate_log("was deconstructed by [key_name(usr, 1)] in [get_area(usr)]([T.x], [T.y], [T.z] - [ADMIN_JMP(T)])","wires") if(!(flags & NODECONSTRUCT)) if(d1) // 0-X cables are 1 unit, X-X cables are 2 units long - new/obj/item/stack/cable_coil(T, 2, paramcolor = color) + new/obj/item/stack/cable_coil(T, 2, color) else - new/obj/item/stack/cable_coil(T, 1, paramcolor = color) + new/obj/item/stack/cable_coil(T, 1, color) qdel(src) /* ===POWERNET PROCS=== */ diff --git a/code/modules/power/cables/cable_coil.dm b/code/modules/power/cables/cable_coil.dm index 9f5ec33fc4e5..f688d0ab2679 100644 --- a/code/modules/power/cables/cable_coil.dm +++ b/code/modules/power/cables/cable_coil.dm @@ -28,13 +28,10 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain usesound = 'sound/items/deconstruct.ogg' toolspeed = 1 -/obj/item/stack/cable_coil/New(location, length, paramcolor) +/obj/item/stack/cable_coil/Initialize(mapload, length, paramcolor) . = ..() if(paramcolor) color = paramcolor - -/obj/item/stack/cable_coil/Initialize(mapload) - . = ..() update_icon() recipes = GLOB.cable_coil_recipes update_wclass() @@ -210,7 +207,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain if(C.shock(user, 50)) if(prob(50)) //fail - new /obj/item/stack/cable_coil(get_turf(C), 1, paramcolor = C.color) + new /obj/item/stack/cable_coil(get_turf(C), 1, C.color) C.deconstruct() SEND_GLOBAL_SIGNAL(COMSIG_GLOB_CABLE_UPDATED, T) @@ -378,9 +375,9 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain /obj/item/stack/cable_coil/white color = COLOR_WHITE -/obj/item/stack/cable_coil/random/New() +/obj/item/stack/cable_coil/random/Initialize(mapload) + . = ..() color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN, COLOR_ORANGE) - ..() /obj/item/stack/cable_coil/cut item_state = "coil2" diff --git a/code/modules/power/engines/supermatter/supermatter.dm b/code/modules/power/engines/supermatter/supermatter.dm index f2d3a7d1e57a..335c56dbfe48 100644 --- a/code/modules/power/engines/supermatter/supermatter.dm +++ b/code/modules/power/engines/supermatter/supermatter.dm @@ -44,7 +44,7 @@ #define DAMAGE_INCREASE_MULTIPLIER 0.25 -#define THERMAL_RELEASE_MODIFIER 5 //Higher == less heat released during reaction, not to be confused with the above values +#define THERMAL_RELEASE_MODIFIER 1 //Higher == less heat released during reaction, not to be confused with the above values #define PLASMA_RELEASE_MODIFIER 750 //Higher == less plasma released by reaction #define OXYGEN_RELEASE_MODIFIER 325 //Higher == less oxygen released at high temperature/power @@ -230,6 +230,11 @@ /// Run S-Class event? So we can only run one S-class event per round per crystal var/has_run_sclass = FALSE + /// How often do we want to process the crystal? + var/ticks_per_run = 5 + /// How long has it been since we processed the crystal? + var/tick_counter = 0 + /obj/machinery/atmospherics/supermatter_crystal/Initialize(mapload) . = ..() @@ -410,8 +415,11 @@ qdel(src) /obj/machinery/atmospherics/supermatter_crystal/process_atmos() - var/datum/milla_safe/supermatter_process/milla = new() - milla.invoke_async(src) + tick_counter += SSair.wait + if(tick_counter >= ticks_per_run) + var/datum/milla_safe/supermatter_process/milla = new() + milla.invoke_async(src) + tick_counter -= ticks_per_run /datum/milla_safe/supermatter_process @@ -427,7 +435,7 @@ if(isnull(T)) // We have a null turf...something is wrong, stop processing this entity. return PROCESS_KILL - if(!istype(T)) //We are in a crate or somewhere that isn't turf, if we return to turf resume processing but for now. + if(!istype(loc, /turf)) //We are in a crate or somewhere that isn't turf, if we return to turf resume processing but for now. return //Yeah just stop. if(T.density) @@ -569,15 +577,11 @@ //Power * 0.55 * a value between 1 and 0.8 var/device_energy = power * REACTION_POWER_MODIFIER - //To figure out how much temperature to add each tick, consider that at one atmosphere's worth - //of pure oxygen, with all four lasers firing at standard energy and no N2 present, at room temperature - //that the device energy is around 2140. At that stage, we don't want too much heat to be put out - //Since the core is effectively "cold" - - //Also keep in mind we are only adding this temperature to (efficiency)% of the one tile the rock - //is on. An increase of 4*C @ 25% efficiency here results in an increase of 1*C / (#tilesincore) overall. - //Power * 0.55 * (some value between 1.5 and 23) / 5 - removed.set_temperature(removed.temperature() + max(0, min((2500 * dynamic_heat_modifier) - removed.temperature(), (((device_energy * dynamic_heat_modifier) / THERMAL_RELEASE_MODIFIER) * heat_multiplier)))) + // Calculate temperature change in terms of thermal energy, scaled by the average specific heat of the gas. + if(removed.total_moles()) + var/produced_joules = max(0, ((device_energy * dynamic_heat_modifier) / THERMAL_RELEASE_MODIFIER) * heat_multiplier) + produced_joules *= (removed.heat_capacity() / removed.total_moles()) + removed.set_temperature((removed.thermal_energy() + produced_joules) / removed.heat_capacity()) //Calculate how much gas to release //Varies based on power and gas content diff --git a/code/modules/power/lights.dm b/code/modules/power/lights.dm index 659c6d4d7bdd..344d73a4bbac 100644 --- a/code/modules/power/lights.dm +++ b/code/modules/power/lights.dm @@ -76,7 +76,7 @@ stage = LIGHT_CONSTRUCT_EMPTY_FRAME update_icon(UPDATE_ICON_STATE) - new /obj/item/stack/cable_coil(get_turf(loc), 1, paramcolor = COLOR_RED) + new /obj/item/stack/cable_coil(get_turf(loc), 1, COLOR_RED) WIRECUTTER_SNIP_MESSAGE /obj/machinery/light_construct/screwdriver_act(mob/living/user, obj/item/I) diff --git a/code/modules/projectiles/guns/chaos_bolt.dm b/code/modules/projectiles/guns/chaos_bolt.dm index fab8d9955f4a..cd197bd82757 100644 --- a/code/modules/projectiles/guns/chaos_bolt.dm +++ b/code/modules/projectiles/guns/chaos_bolt.dm @@ -18,7 +18,8 @@ /obj/item/projectile/magic/chaos/on_hit(atom/target, blocked = 0) . = ..() - + if(!.) + return if(iswallturf(target) || isobj(target)) target.color = pick(GLOB.random_color_list) return diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index c542ffa00417..795e31760862 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -15,6 +15,7 @@ var/can_charge = TRUE var/ammo_type var/no_den_usage + var/antimagic_flags = MAGIC_RESISTANCE origin_tech = null clumsy_check = FALSE trigger_guard = TRIGGER_GUARD_ALLOW_ALL // Has no trigger at all, uses magic instead @@ -31,6 +32,9 @@ return else no_den_usage = 0 + if(!user.can_cast_magic(antimagic_flags)) + to_chat(user, "[src] whizzles quietly.") + return FALSE ..() /obj/item/gun/magic/can_shoot() diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index 8a82da356006..ff3ef65d9324 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -197,111 +197,6 @@ origin_tech = "combat=3;biotech=5" mag_type = /obj/item/ammo_box/magazine/internal/overgrown -// A gun to play Russian Roulette! -// You can spin the chamber to randomize the position of the bullet. - -/obj/item/gun/projectile/revolver/russian - name = "\improper Russian Revolver" - desc = "A Russian-made revolver for drinking games. Uses .357 ammo, and has a mechanism that spins the chamber before each trigger pull." - icon_state = "russian_revolver" - origin_tech = "combat=2;materials=2" - mag_type = /obj/item/ammo_box/magazine/internal/rus357 - var/spun = 0 - - -/obj/item/gun/projectile/revolver/russian/Initialize(mapload) - . = ..() - Spin() - update_icon() - -/obj/item/gun/projectile/revolver/russian/proc/Spin() - chambered = null - var/random = rand(1, magazine.max_ammo) - if(random <= get_ammo(0,0)) - chamber_round() - spun = 1 - -/obj/item/gun/projectile/revolver/russian/attackby__legacy__attackchain(obj/item/A, mob/user, params) - var/num_loaded = ..() - if(num_loaded) - user.visible_message("[user] loads a single bullet into the revolver and spins the chamber.", "You load a single bullet into the chamber and spin it.") - else - user.visible_message("[user] spins the chamber of the revolver.", "You spin the revolver's chamber.") - if(get_ammo() > 0) - Spin() - update_icon() - A.update_icon() - return - -/obj/item/gun/projectile/revolver/russian/attack_self__legacy__attackchain(mob/user) - if(!spun && can_shoot()) - user.visible_message("[user] spins the chamber of the revolver.", "You spin the revolver's chamber.") - Spin() - else - var/num_unloaded = 0 - while(get_ammo() > 0) - var/obj/item/ammo_casing/CB - CB = magazine.get_round() - chambered = null - CB.loc = get_turf(loc) - CB.update_icon() - playsound(get_turf(CB), "casingdrop", 60, 1) - num_unloaded++ - if(num_unloaded) - to_chat(user, "You unload [num_unloaded] shell\s from [src].") - else - to_chat(user, "[src] is empty.") - -/obj/item/gun/projectile/revolver/russian/afterattack__legacy__attackchain(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) - if(flag) - if(!(target in user.contents) && ismob(target)) - if(user.a_intent == INTENT_HARM) // Flogging action - return - - if(isliving(user)) - if(!can_trigger_gun(user)) - return - if(target != user) - if(ismob(target)) - to_chat(user, "A mechanism prevents you from shooting anyone but yourself!") - return - - if(ishuman(user)) - if(!spun) - to_chat(user, "You need to spin the revolver's chamber first!") - return - - spun = 0 - - if(chambered) - var/obj/item/ammo_casing/AC = chambered - if(AC.fire(user, user, firer_source_atom = src)) - playsound(user, fire_sound, 50, 1) - var/zone = check_zone(user.zone_selected) - if(zone == "head" || zone == "eyes" || zone == "mouth") - shoot_self(user, zone) - else - user.visible_message("[user.name] cowardly fires [src] at [user.p_their()] [zone]!", "You cowardly fire [src] at your [zone]!", "You hear a gunshot!") - return - - user.visible_message("*click*") - playsound(user, 'sound/weapons/empty.ogg', 100, 1) - -/obj/item/gun/projectile/revolver/russian/proc/shoot_self(mob/living/carbon/human/user, affecting = "head") - user.apply_damage(300, BRUTE, affecting) - user.visible_message("[user.name] fires [src] at [user.p_their()] head!", "You fire [src] at your head!", "You hear a gunshot!") - -/obj/item/gun/projectile/revolver/russian/soul - name = "cursed Russian revolver" - desc = "To play with this revolver requires wagering your very soul." - -/obj/item/gun/projectile/revolver/russian/soul/shoot_self(mob/living/user) - ..() - var/obj/item/soulstone/anybody/SS = new /obj/item/soulstone/anybody(get_turf(src)) - SS.transfer_soul("FORCE", user) - user.death(FALSE) - user.visible_message("[user.name]'s soul is captured by \the [src]!", "You've lost the gamble! Your soul is forfeit!") - /obj/item/gun/projectile/revolver/capgun name = "cap gun" desc = "Looks almost like the real thing! Ages 8 and up." diff --git a/code/modules/projectiles/guns/projectile/saw.dm b/code/modules/projectiles/guns/projectile/saw.dm index c8ddc466f2da..81c7305c2102 100644 --- a/code/modules/projectiles/guns/projectile/saw.dm +++ b/code/modules/projectiles/guns/projectile/saw.dm @@ -101,7 +101,7 @@ var/obj/effect/hotspot/hotspot = new /obj/effect/hotspot/fake(location) hotspot.temperature = 1000 hotspot.recolor() - location.hotspot_expose(700, 50, 1) + location.hotspot_expose(700, 50) //magazines// diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 77ce0bb8af19..39387e18b811 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -167,7 +167,7 @@ var/obj/effect/hotspot/hotspot = new /obj/effect/hotspot/fake(location) hotspot.temperature = 1000 hotspot.recolor() - location.hotspot_expose(700, 50, 1) + location.hotspot_expose(700, 50) /obj/item/projectile/bullet/incendiary/shell/dragonsbreath name = "dragonsbreath round" diff --git a/code/modules/projectiles/projectile/magic_projectiles.dm b/code/modules/projectiles/projectile/magic_projectiles.dm index 99c40d5929c3..7f06491c7e93 100644 --- a/code/modules/projectiles/projectile/magic_projectiles.dm +++ b/code/modules/projectiles/projectile/magic_projectiles.dm @@ -6,6 +6,28 @@ nodamage = 1 armour_penetration_percentage = 100 flag = MAGIC + /// determines what type of antimagic can block the spell projectile + var/antimagic_flags = MAGIC_RESISTANCE + /// determines the drain cost on the antimagic item + var/antimagic_charge_cost = 1 + +/obj/item/projectile/magic/prehit(atom/target) + if(isliving(target)) + var/mob/living/victim = target + if(victim.can_block_magic(antimagic_flags, antimagic_charge_cost)) + visible_message("[src] fizzles on contact with [victim]!") + damage = 0 + nodamage = 1 + return FALSE + return ..() + +/obj/item/projectile/magic/on_hit(atom/target, blocked, hit_zone) + if(isliving(target)) + var/mob/living/victim = target + if(victim.can_block_magic(antimagic_flags, antimagic_charge_cost)) // Yes we have to check this twice welcome to bullet hell code + return FALSE + return ..() + /obj/item/projectile/magic/death name = "bolt of death" @@ -21,7 +43,7 @@ muzzle_flash_range = 2 muzzle_flash_color_override = LIGHT_COLOR_PURPLE impact_light_intensity = 7 - impact_light_range = 2.5 + impact_light_range = 2.5 impact_light_color_override = LIGHT_COLOR_PURPLE /obj/item/projectile/magic/fireball @@ -41,6 +63,8 @@ /obj/item/projectile/magic/death/on_hit(mob/living/carbon/target) . = ..() + if(!.) + return . if(isliving(target)) if(target.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead if(target.revive()) @@ -75,6 +99,8 @@ /obj/item/projectile/magic/fireball/on_hit(target) . = ..() + if(!.) + return . var/turf/T = get_turf(target) explosion(T, exp_devastate, exp_heavy, exp_light, exp_flash, 0, flame_range = exp_fire) if(ismob(target)) //multiple flavors of pain @@ -95,6 +121,8 @@ /obj/item/projectile/magic/resurrection/on_hit(mob/living/carbon/target) . = ..() + if(!.) + return . if(ismob(target)) if(target.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead target.death(FALSE) @@ -121,6 +149,8 @@ /obj/item/projectile/magic/teleport/on_hit(mob/target) . = ..() + if(!.) + return . var/teleammount = 0 var/teleloc = target if(!isturf(target)) @@ -142,6 +172,8 @@ /obj/item/projectile/magic/door/on_hit(atom/target) . = ..() + if(!.) + return . var/atom/T = target.loc if(isturf(target) && target.density) if(!(istype(target, /turf/simulated/wall/indestructible))) @@ -179,6 +211,8 @@ /obj/item/projectile/magic/change/on_hit(atom/change) . = ..() + if(!.) + return . wabbajack(change) GLOBAL_LIST_INIT(wabbajack_hostile_animals, list( @@ -380,6 +414,9 @@ GLOBAL_LIST_INIT(wabbajack_docile_animals, list( SpinAnimation() /obj/item/projectile/magic/slipping/on_hit(atom/target, blocked = 0) + . = ..() + if(!.) + return . if(ishuman(target)) var/mob/living/carbon/human/H = target H.slip(src, slip_weaken, 0, FALSE, TRUE) //Slips even with noslips/magboots on. NO ESCAPE! @@ -394,7 +431,6 @@ GLOBAL_LIST_INIT(wabbajack_docile_animals, list( to_chat(target, "You get splatted by [src].") L.Weaken(slip_weaken) L.Stun(slip_stun) - . = ..() /obj/item/projectile/magic/arcane_barrage name = "arcane bolt" diff --git a/code/modules/reagents/reagent_containers/glass_containers.dm b/code/modules/reagents/reagent_containers/glass_containers.dm index 1484b49792e2..f80992e0347c 100644 --- a/code/modules/reagents/reagent_containers/glass_containers.dm +++ b/code/modules/reagents/reagent_containers/glass_containers.dm @@ -306,6 +306,7 @@ volume = 120 armor = list(MELEE = 10, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 75, ACID = 50) //Weak melee protection, because you can wear it on your head slot_flags = ITEM_SLOT_HEAD + prefered_slot_flags = ITEM_SLOT_IN_BACKPACK resistance_flags = NONE blocks_emissive = EMISSIVE_BLOCK_GENERIC container_type = OPENCONTAINER diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index f41f02f2ad57..f01a8d1c1a02 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -548,7 +548,7 @@ id = "stethoscope" build_type = AUTOLATHE materials = list(MAT_METAL = 500) - build_path = /obj/item/clothing/accessory/stethoscope + build_path = /obj/item/clothing/neck/stethoscope category = list("initial", "Medical") /datum/design/timer diff --git a/code/modules/research/designs/equipment_designs.dm b/code/modules/research/designs/equipment_designs.dm index 443d9361bf62..995af56462d2 100644 --- a/code/modules/research/designs/equipment_designs.dm +++ b/code/modules/research/designs/equipment_designs.dm @@ -92,14 +92,14 @@ build_path = /obj/item/clothing/glasses/meson/engine category = list("Equipment") -/datum/design/tray_goggles - name = "Optical T-Ray Scanners" - desc = "Used by engineering staff to see underfloor objects such as cables and pipes." - id = "tray_goggles" +/datum/design/atmos_goggles + name = "Atmospherics Scanner Goggles" + desc = "Used by atmospherics techs to see pressure and underfloor objects such as cables and pipes." + id = "atmos_goggles" req_tech = list("materials" = 3, "magnets" = 2, "engineering" = 2) build_type = PROTOLATHE materials = list(MAT_METAL = 500, MAT_GLASS = 500) - build_path = /obj/item/clothing/glasses/meson/engine/tray + build_path = /obj/item/clothing/glasses/meson/engine/atmos category = list("Equipment") /datum/design/nvgmesons diff --git a/code/modules/response_team/ert.dm b/code/modules/response_team/ert.dm index 0a3784e212c2..fcf87416b445 100644 --- a/code/modules/response_team/ert.dm +++ b/code/modules/response_team/ert.dm @@ -95,8 +95,8 @@ GLOBAL_LIST_EMPTY(ert_request_messages) A.close() var/list/ert_species_prefs = list() for(var/mob/M in GLOB.response_team_members) - ert_species_prefs.Add(input_async(M, "Please select a species (10 seconds):", list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Drask", "Kidan", "Grey", "Random"))) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(get_ert_role_prefs), GLOB.response_team_members, ert_gender_prefs, ert_species_prefs), 10 SECONDS) + ert_species_prefs.Add(input_async(M, "Please select a species (10 seconds):", list("Human"))) // SS220 EDIT - Human only ERT + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(get_ert_role_prefs), GLOB.response_team_members, ert_gender_prefs, ert_species_prefs), 0 SECONDS) // SS220 EDIT - Human only ERT /proc/get_ert_role_prefs(list/response_team_members, list/ert_gender_prefs, list/ert_species_prefs) // Why the FUCK is this variable the EXACT SAME as the global one var/list/ert_role_prefs = list() diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index bc32bedbe9fe..c77d8b9a11df 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -219,6 +219,10 @@ var/obj/effect/E = AM if(E.is_cleanable()) return CARGO_OK + return CARGO_SKIP_ATOM + + if(istype(AM, /mob/dead)) + return CARGO_SKIP_ATOM return CARGO_OK diff --git a/code/modules/supply/supply_packs/pack_miscellaneous.dm b/code/modules/supply/supply_packs/pack_miscellaneous.dm index 1908e9aa0467..73326fdf98bd 100644 --- a/code/modules/supply/supply_packs/pack_miscellaneous.dm +++ b/code/modules/supply/supply_packs/pack_miscellaneous.dm @@ -351,7 +351,11 @@ name = "Collectable Plushies Crate" cost = 1000 containername = "collectable plushies crate! Brought to you by Bass.inc!" - contains = list(/obj/random/plushie, /obj/random/plushie, /obj/random/plushie/explosive) + contains = list( + /obj/effect/spawner/random/plushies, + /obj/effect/spawner/random/plushies, + /obj/effect/spawner/random/plushies/explosive, + ) /datum/supply_packs/misc/foamforce name = "Foam Force Crate" @@ -430,9 +434,9 @@ /obj/item/clothing/under/rank/procedure/iaa, /obj/item/clothing/suit/storage/iaa/blackjacket, /obj/item/clothing/accessory/waistcoat, - /obj/item/clothing/accessory/blue, - /obj/item/clothing/accessory/red, - /obj/item/clothing/accessory/black, + /obj/item/clothing/neck/tie/blue, + /obj/item/clothing/neck/tie/red, + /obj/item/clothing/neck/tie/black, /obj/item/clothing/head/bowlerhat, /obj/item/clothing/head/fedora, /obj/item/clothing/head/flatcap, diff --git a/code/modules/supply/supply_packs/pack_vendor.dm b/code/modules/supply/supply_packs/pack_vendor.dm index ae1054479b83..969378756839 100644 --- a/code/modules/supply/supply_packs/pack_vendor.dm +++ b/code/modules/supply/supply_packs/pack_vendor.dm @@ -84,3 +84,8 @@ name = "Chinese Supply Crate" contains = list(/obj/item/vending_refill/chinese) containername = "chinese supply crate" + +/datum/supply_packs/vending/trainer + name = "TrainDrobe Supply Crate" + contains = list(/obj/item/vending_refill/traindrobe) + containername = "traindrobe supply crate" diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index 90698ed3b918..a96307d18a71 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -506,6 +506,7 @@ clothes_req = FALSE invocation = "none" invocation_type = "none" + antimagic_flags = NONE selection_activated_message = "You warm up your Binyat deck, there's an idle buzzing at the back of your mind as it awaits a target." selection_deactivated_message = "Your hacking deck makes an almost disappointed sounding buzz at the back of your mind as it powers down." action_icon_state = "hackerman" @@ -678,6 +679,10 @@ COOLDOWN_DECLARE(reviver_cooldown) /// How long till we can try to defib again COOLDOWN_DECLARE(defib_cooldown) + /// This check is an aditional minute delay applied to nuggeted IPCS, so they are not endlessly instantly reviving. + COOLDOWN_DECLARE(nugget_contingency) + /// The trigger when nuggeted is detected. Resets when revived. Prevents the cooldown from being applied again. + var/applied_nugget_cooldown = FALSE /obj/item/organ/internal/cyberimp/chest/reviver/hardened name = "Hardened reviver implant" @@ -699,12 +704,18 @@ COOLDOWN_START(src, reviver_cooldown, revive_cost) reviving = FALSE to_chat(owner, "Your reviver implant shuts down and starts recharging. It will be ready again in [DisplayTimeText(revive_cost)].") + applied_nugget_cooldown = FALSE else addtimer(CALLBACK(src, PROC_REF(heal)), 3 SECONDS) return - if(!COOLDOWN_FINISHED(src, reviver_cooldown) || owner.suiciding) // don't heal while you're in cooldown! + if(!COOLDOWN_FINISHED(src, reviver_cooldown) || owner.suiciding || !COOLDOWN_FINISHED(src, nugget_contingency)) // don't heal while you're in cooldown! return if(owner.health <= 0 || owner.stat == DEAD) + if(ismachineperson(owner)) + if(!applied_nugget_cooldown && length(owner.bodyparts) <= 2) + COOLDOWN_START(src, nugget_contingency, 1 MINUTES) + applied_nugget_cooldown = TRUE + return revive_cost = 0 reviving = TRUE has_defibed = FALSE diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm index 65782477e2ea..e83adeb5efaf 100644 --- a/code/modules/telesci/bscrystal.dm +++ b/code/modules/telesci/bscrystal.dm @@ -29,8 +29,8 @@ . += "" . += "Nanotrasen and many of its rivals are scrambling to be the first to develop practical mass-producible bluespace technologies so they they can become the hegemon of a new market monopoly." -/obj/item/stack/ore/bluespace_crystal/New(loc, new_amount, merge = TRUE) - ..() +/obj/item/stack/ore/bluespace_crystal/Initialize(mapload, new_amount, merge) + . = ..() pixel_x = rand(-5, 5) pixel_y = rand(-5, 5) diff --git a/code/modules/telesci/rcs.dm b/code/modules/telesci/rcs.dm index 92f7a1109fef..67b938b11fb7 100644 --- a/code/modules/telesci/rcs.dm +++ b/code/modules/telesci/rcs.dm @@ -10,14 +10,14 @@ desc = "A device used to teleport crates and closets to cargo telepads." icon = 'icons/obj/telescience.dmi' icon_state = "rcs" - item_state = "rcd" + item_state = "rcs" flags = CONDUCT force = 10.0 throwforce = 10.0 throw_speed = 2 throw_range = 5 toolspeed = 1 - usesound = 'sound/machines/click.ogg' + usesound = 'sound/weapons/flash.ogg' /// Power cell (10000W) var/obj/item/stock_parts/cell/high/rcell = null /// Selected telepad @@ -124,7 +124,7 @@ /obj/item/rcs/proc/teleport(mob/user, obj/structure/closet/C, target) to_chat(user, "Teleporting [C]...") - playsound(src, usesound, 50, TRUE) + playsound(get_turf(src), usesound, 25, TRUE) teleporting = TRUE if(!do_after(user, 50 * toolspeed, target = C)) teleporting = FALSE @@ -132,6 +132,6 @@ teleporting = FALSE rcell.use(chargecost) - do_sparks(5, TRUE, C) + playsound(get_turf(src), 'sound/weapons/emitter2.ogg', 25, TRUE) do_teleport(C, target) to_chat(user, "Teleport successful. [round(rcell.charge/chargecost)] charge\s left.") diff --git a/code/modules/tgui/modules/ghost_hud_panel.dm b/code/modules/tgui/modules/ghost_hud_panel.dm index 2e6a6b8d58d9..307bed5119c9 100644 --- a/code/modules/tgui/modules/ghost_hud_panel.dm +++ b/code/modules/tgui/modules/ghost_hud_panel.dm @@ -13,7 +13,8 @@ GLOBAL_DATUM_INIT(ghost_hud_panel, /datum/ui_module/ghost_hud_panel, new) var/list/hud_type_lookup = list( "medical" = DATA_HUD_MEDICAL_ADVANCED, "security" = DATA_HUD_SECURITY_ADVANCED, - "diagnostic" = DATA_HUD_DIAGNOSTIC_ADVANCED + "diagnostic" = DATA_HUD_DIAGNOSTIC_ADVANCED, + "pressure" = DATA_HUD_PRESSURE ) /datum/ui_module/ghost_hud_panel/ui_state(mob/user) diff --git a/code/modules/vehicle/tg_vehicles/scooter.dm b/code/modules/vehicle/tg_vehicles/scooter.dm index 6ff3e1b4a168..b42b7044935a 100644 --- a/code/modules/vehicle/tg_vehicles/scooter.dm +++ b/code/modules/vehicle/tg_vehicles/scooter.dm @@ -176,7 +176,7 @@ if(location) if(prob(33)) - location.hotspot_expose(1000, 1000) + location.hotspot_expose(1000, 1) sparks.start() //the most radical way to start plasma fires for(var/mob/living/carbon/victim in location) if(victim.body_position == LYING_DOWN) diff --git a/code/tests/_game_test.dm b/code/tests/_game_test.dm index 784540d7759a..3781987af15c 100644 --- a/code/tests/_game_test.dm +++ b/code/tests/_game_test.dm @@ -47,8 +47,7 @@ var/list/procs_tested //usable vars - var/turf/run_loc_bottom_left - var/turf/run_loc_top_right + var/static/list/available_turfs //internal shit var/succeeded = TRUE @@ -56,14 +55,25 @@ var/list/fail_reasons /datum/game_test/New() - run_loc_bottom_left = locate(1, 1, 1) - run_loc_top_right = locate(5, 5, 1) + if(!length(available_turfs)) + load_testing_area() + available_turfs = get_test_turfs() + +/datum/game_test/proc/load_testing_area() + var/list/testing_levels = levels_by_trait(GAME_TEST_LEVEL) + if(!length(testing_levels)) + Fail("Could not find appropriate z-level for spawning test areas") + var/testing_z_level = pick(testing_levels) + var/datum/map_template/generic_test_area = GLOB.map_templates["test_generic.dmm"] + if(!generic_test_area.load(locate(TRANSITIONEDGE + 1, TRANSITIONEDGE + 1, testing_z_level))) + Fail("Could not place generic testing area on z-level [testing_z_level]") /datum/game_test/Destroy() QDEL_LIST_CONTENTS(allocated) - //clear the test area - for(var/atom/movable/AM in block(run_loc_bottom_left, run_loc_top_right)) - qdel(AM) + // clear the whole test area, not just the bounds of the landmarks + for(var/turf/T in get_area_turfs(/area/game_test)) + for(var/atom/movable/AM in T) + qdel(AM) return ..() /datum/game_test/proc/Run() @@ -77,15 +87,36 @@ LAZYADD(fail_reasons, list(list(reason, file, line))) +/datum/game_test/proc/get_test_turfs() + var/list/result = list() + var/obj/effect/landmark/bottom_left + var/obj/effect/landmark/top_right + for(var/obj/effect/landmark in GLOB.landmarks_list) + if(istype(landmark, /obj/effect/landmark/game_test/bottom_left_corner)) + bottom_left = landmark + else if(istype(landmark, /obj/effect/landmark/game_test/top_right_corner)) + top_right = landmark + + if(!(bottom_left && top_right)) + Fail("could not find test area landmarks") + + for(var/turf/T in block(bottom_left.loc, top_right.loc)) + result |= T + + if(!length(result)) + Fail("could not find any test turfs") + + return result + /// Allocates an instance of the provided type, and places it somewhere in an available loc /// Instances allocated through this proc will be destroyed when the test is over /datum/game_test/proc/allocate(type, ...) var/list/arguments = args.Copy(2) if(ispath(type, /atom)) if(!arguments.len) - arguments = list(run_loc_bottom_left) + arguments = list(pick(available_turfs)) else if(arguments[1] == null) - arguments[1] = run_loc_bottom_left + arguments[1] = pick(available_turfs) var/instance // Byond will throw an index out of bounds if arguments is empty in that arglist call. Sigh if(length(arguments)) diff --git a/code/tests/atmos/test_ventcrawl.dm b/code/tests/atmos/test_ventcrawl.dm index fd4ca7c4e38a..c757bc9e11e7 100644 --- a/code/tests/atmos/test_ventcrawl.dm +++ b/code/tests/atmos/test_ventcrawl.dm @@ -7,14 +7,16 @@ /datum/milla_safe/ventcrawl_test_setup /datum/milla_safe/ventcrawl_test_setup/on_run(datum/game_test/ventcrawl/test) + // I'm sure get_area_turfs is totally deterministic and this will never go wrong + var/turf/run_loc_bottom_left = test.available_turfs[1] // This setup creates turfs that initialize themselves in MILLA on creation, which is why we need to be MILLA-safe. var/datum/map_template/template = GLOB.map_templates["test_ventcrawl.dmm"] - if(!template.load(test.run_loc_bottom_left)) + if(!template.load(run_loc_bottom_left)) test.Fail("Failed to load 'test_ventcrawl.dmm'") - test.slime = new /mob/living/simple_animal/slime/unit_test_dummy(test.run_loc_bottom_left) - test.vent = test.find_spawned_test_object(test.run_loc_bottom_left, /obj/machinery/atmospherics/unary/vent_pump) - test.table = test.find_spawned_test_object(get_step(test.run_loc_bottom_left, EAST), /obj/structure/table) + test.slime = new /mob/living/simple_animal/slime/unit_test_dummy(run_loc_bottom_left) + test.vent = test.find_spawned_test_object(run_loc_bottom_left, /obj/machinery/atmospherics/unary/vent_pump) + test.table = test.find_spawned_test_object(get_step(run_loc_bottom_left, EAST), /obj/structure/table) test.setup_complete = TRUE /datum/game_test/ventcrawl/proc/find_spawned_test_object(turf/location as turf, test_object_type) diff --git a/code/tests/games/test_cards.dm b/code/tests/games/test_cards.dm index 209fdfb92c13..c74f52bc1a94 100644 --- a/code/tests/games/test_cards.dm +++ b/code/tests/games/test_cards.dm @@ -16,7 +16,7 @@ /datum/game_test/card_deck/Run() // setup - var/loc = pick(block(run_loc_bottom_left, run_loc_top_right)) + var/loc = pick(available_turfs) var/obj/item/deck/cards/cards = allocate(/obj/item/deck/cards, loc) cards.build_decks() diff --git a/code/tests/test_spawn_humans.dm b/code/tests/test_spawn_humans.dm index ca0a6d6bd4a7..f7bb6c6cd22a 100644 --- a/code/tests/test_spawn_humans.dm +++ b/code/tests/test_spawn_humans.dm @@ -1,8 +1,6 @@ /datum/game_test/spawn_humans/Run() - var/locs = block(run_loc_bottom_left, run_loc_top_right) - for(var/I in 1 to 5) - allocate(/mob/living/carbon/human, pick(locs)) + allocate(/mob/living/carbon/human, pick(available_turfs)) // There is a 5 second delay here so that all the items on the humans have time to initialize and spawn sleep(50) diff --git a/icons/_nanomaps/BoxStation220_nanomap_z1.png b/icons/_nanomaps/BoxStation220_nanomap_z1.png index 89129efc0734..1a47040565da 100644 Binary files a/icons/_nanomaps/BoxStation220_nanomap_z1.png and b/icons/_nanomaps/BoxStation220_nanomap_z1.png differ diff --git a/icons/_nanomaps/BoxStation_nanomap_z1.png b/icons/_nanomaps/BoxStation_nanomap_z1.png index e9a136ce907f..54ad9eefdaf5 100644 Binary files a/icons/_nanomaps/BoxStation_nanomap_z1.png and b/icons/_nanomaps/BoxStation_nanomap_z1.png differ diff --git a/icons/_nanomaps/CereStation_nanomap_z1.png b/icons/_nanomaps/CereStation_nanomap_z1.png index fa5a964348ce..b60e9a8c63ca 100644 Binary files a/icons/_nanomaps/CereStation_nanomap_z1.png and b/icons/_nanomaps/CereStation_nanomap_z1.png differ diff --git a/icons/_nanomaps/DeltaStation220_nanomap_z1.png b/icons/_nanomaps/DeltaStation220_nanomap_z1.png index ff773b6c4264..cf5fedb4e4f4 100644 Binary files a/icons/_nanomaps/DeltaStation220_nanomap_z1.png and b/icons/_nanomaps/DeltaStation220_nanomap_z1.png differ diff --git a/icons/_nanomaps/DeltaStation_nanomap_z1.png b/icons/_nanomaps/DeltaStation_nanomap_z1.png index e5208546cbb2..f8f770860793 100644 Binary files a/icons/_nanomaps/DeltaStation_nanomap_z1.png and b/icons/_nanomaps/DeltaStation_nanomap_z1.png differ diff --git a/icons/_nanomaps/EmeraldStation_nanomap_z1.png b/icons/_nanomaps/EmeraldStation_nanomap_z1.png index bc69d82ecdba..23390fd0f2f7 100644 Binary files a/icons/_nanomaps/EmeraldStation_nanomap_z1.png and b/icons/_nanomaps/EmeraldStation_nanomap_z1.png differ diff --git a/icons/_nanomaps/MetaStation220_nanomap_z1.png b/icons/_nanomaps/MetaStation220_nanomap_z1.png index a2ad6fd4e95c..189e412538e8 100644 Binary files a/icons/_nanomaps/MetaStation220_nanomap_z1.png and b/icons/_nanomaps/MetaStation220_nanomap_z1.png differ diff --git a/icons/_nanomaps/MetaStation_nanomap_z1.png b/icons/_nanomaps/MetaStation_nanomap_z1.png index bace9e87d755..7c19ef34fab6 100644 Binary files a/icons/_nanomaps/MetaStation_nanomap_z1.png and b/icons/_nanomaps/MetaStation_nanomap_z1.png differ diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi index eb702d225df5..ca99e6fc18ce 100644 Binary files a/icons/effects/mapping_helpers.dmi and b/icons/effects/mapping_helpers.dmi differ diff --git a/icons/effects/random_spawners.dmi b/icons/effects/random_spawners.dmi index ad6f8e96837f..4cccc5ddfadf 100644 Binary files a/icons/effects/random_spawners.dmi and b/icons/effects/random_spawners.dmi differ diff --git a/icons/effects/spawner_icons.dmi b/icons/effects/spawner_icons.dmi index 3f8518c5e123..9ba31a537ca5 100644 Binary files a/icons/effects/spawner_icons.dmi and b/icons/effects/spawner_icons.dmi differ diff --git a/icons/effects/tile_effects.dmi b/icons/effects/tile_effects.dmi index 9b5e2d877dc2..4a1a04f3438d 100644 Binary files a/icons/effects/tile_effects.dmi and b/icons/effects/tile_effects.dmi differ diff --git a/icons/mecha/mecha_mouse.dmi b/icons/mecha/mecha_mouse.dmi index 765199388565..3518094b8439 100644 Binary files a/icons/mecha/mecha_mouse.dmi and b/icons/mecha/mecha_mouse.dmi differ diff --git a/icons/mob/accessories.dmi b/icons/mob/accessories.dmi new file mode 100644 index 000000000000..f769c25b7fc0 Binary files /dev/null and b/icons/mob/accessories.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 8c855c614265..cc1bae10c47f 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/ears.dmi b/icons/mob/clothing/ears.dmi index ca9351f857b4..e039f0663f6d 100644 Binary files a/icons/mob/clothing/ears.dmi and b/icons/mob/clothing/ears.dmi differ diff --git a/icons/mob/clothing/eyes.dmi b/icons/mob/clothing/eyes.dmi index 15765964a0d2..728ea3f4a8bb 100644 Binary files a/icons/mob/clothing/eyes.dmi and b/icons/mob/clothing/eyes.dmi differ diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index 866d32557e33..5fbb0f01023c 100644 Binary files a/icons/mob/clothing/head.dmi and b/icons/mob/clothing/head.dmi differ diff --git a/icons/mob/clothing/head/beret.dmi b/icons/mob/clothing/head/beret.dmi index bc5b8facb798..5b1df173b2a7 100644 Binary files a/icons/mob/clothing/head/beret.dmi and b/icons/mob/clothing/head/beret.dmi differ diff --git a/icons/mob/clothing/neck.dmi b/icons/mob/clothing/neck.dmi index 0cfe1952e5a3..c1527a6e638e 100644 Binary files a/icons/mob/clothing/neck.dmi and b/icons/mob/clothing/neck.dmi differ diff --git a/icons/mob/clothing/species/drask/head/beret.dmi b/icons/mob/clothing/species/drask/head/beret.dmi index 7254e00ca5b6..30e60a411f83 100644 Binary files a/icons/mob/clothing/species/drask/head/beret.dmi and b/icons/mob/clothing/species/drask/head/beret.dmi differ diff --git a/icons/mob/clothing/species/drask/suit.dmi b/icons/mob/clothing/species/drask/suit.dmi index 764bb78c135f..1ec8cc17a93f 100644 Binary files a/icons/mob/clothing/species/drask/suit.dmi and b/icons/mob/clothing/species/drask/suit.dmi differ diff --git a/icons/mob/clothing/species/drask/under/procedure.dmi b/icons/mob/clothing/species/drask/under/procedure.dmi index 916ecd9f68c2..dd7a0080a454 100644 Binary files a/icons/mob/clothing/species/drask/under/procedure.dmi and b/icons/mob/clothing/species/drask/under/procedure.dmi differ diff --git a/icons/mob/clothing/species/grey/back.dmi b/icons/mob/clothing/species/grey/back.dmi index e8a8ea198353..8e074d22774e 100644 Binary files a/icons/mob/clothing/species/grey/back.dmi and b/icons/mob/clothing/species/grey/back.dmi differ diff --git a/icons/mob/clothing/species/grey/suit.dmi b/icons/mob/clothing/species/grey/suit.dmi index a16b779e26fe..eedd850ff7d5 100644 Binary files a/icons/mob/clothing/species/grey/suit.dmi and b/icons/mob/clothing/species/grey/suit.dmi differ diff --git a/icons/mob/clothing/species/grey/under/procedure.dmi b/icons/mob/clothing/species/grey/under/procedure.dmi index 94850a5ae561..1fab9081bad3 100644 Binary files a/icons/mob/clothing/species/grey/under/procedure.dmi and b/icons/mob/clothing/species/grey/under/procedure.dmi differ diff --git a/icons/mob/clothing/species/kidan/suit.dmi b/icons/mob/clothing/species/kidan/suit.dmi index da7fb0c82a7d..883012947395 100644 Binary files a/icons/mob/clothing/species/kidan/suit.dmi and b/icons/mob/clothing/species/kidan/suit.dmi differ diff --git a/icons/mob/clothing/species/kidan/suits/utility.dmi b/icons/mob/clothing/species/kidan/suits/utility.dmi index a3b278bae094..5f0993d1c7f8 100644 Binary files a/icons/mob/clothing/species/kidan/suits/utility.dmi and b/icons/mob/clothing/species/kidan/suits/utility.dmi differ diff --git a/icons/mob/clothing/species/kidan/under/centcom.dmi b/icons/mob/clothing/species/kidan/under/centcom.dmi index 405f30624061..08dd0d2b33a7 100644 Binary files a/icons/mob/clothing/species/kidan/under/centcom.dmi and b/icons/mob/clothing/species/kidan/under/centcom.dmi differ diff --git a/icons/mob/clothing/species/kidan/under/procedure.dmi b/icons/mob/clothing/species/kidan/under/procedure.dmi index 1007af530f0b..49e9f892e52d 100644 Binary files a/icons/mob/clothing/species/kidan/under/procedure.dmi and b/icons/mob/clothing/species/kidan/under/procedure.dmi differ diff --git a/icons/mob/clothing/species/kidan/under/suit.dmi b/icons/mob/clothing/species/kidan/under/suit.dmi index 8dc146c45489..c648a85e9177 100644 Binary files a/icons/mob/clothing/species/kidan/under/suit.dmi and b/icons/mob/clothing/species/kidan/under/suit.dmi differ diff --git a/icons/mob/clothing/species/plasmaman/helmet.dmi b/icons/mob/clothing/species/plasmaman/helmet.dmi index 04feebb6aa9b..64b5361aa4ca 100644 Binary files a/icons/mob/clothing/species/plasmaman/helmet.dmi and b/icons/mob/clothing/species/plasmaman/helmet.dmi differ diff --git a/icons/mob/clothing/species/plasmaman/uniform.dmi b/icons/mob/clothing/species/plasmaman/uniform.dmi index bf1e7080881c..23eb37b89d2f 100644 Binary files a/icons/mob/clothing/species/plasmaman/uniform.dmi and b/icons/mob/clothing/species/plasmaman/uniform.dmi differ diff --git a/icons/mob/clothing/species/vox/back.dmi b/icons/mob/clothing/species/vox/back.dmi index 60cf1f0989e9..e1e1b6cd985b 100644 Binary files a/icons/mob/clothing/species/vox/back.dmi and b/icons/mob/clothing/species/vox/back.dmi differ diff --git a/icons/mob/clothing/species/vox/head.dmi b/icons/mob/clothing/species/vox/head.dmi index f98d218d01a0..d375080b891f 100644 Binary files a/icons/mob/clothing/species/vox/head.dmi and b/icons/mob/clothing/species/vox/head.dmi differ diff --git a/icons/mob/clothing/species/vox/head/beret.dmi b/icons/mob/clothing/species/vox/head/beret.dmi index 827f085bf540..1a3d4308f5d2 100644 Binary files a/icons/mob/clothing/species/vox/head/beret.dmi and b/icons/mob/clothing/species/vox/head/beret.dmi differ diff --git a/icons/mob/clothing/species/vox/neck.dmi b/icons/mob/clothing/species/vox/neck.dmi new file mode 100644 index 000000000000..e49ab4e91f66 Binary files /dev/null and b/icons/mob/clothing/species/vox/neck.dmi differ diff --git a/icons/mob/clothing/species/vox/suit.dmi b/icons/mob/clothing/species/vox/suit.dmi index 7f23a6c79cb8..7276a815d9cb 100644 Binary files a/icons/mob/clothing/species/vox/suit.dmi and b/icons/mob/clothing/species/vox/suit.dmi differ diff --git a/icons/mob/clothing/species/vox/under/procedure.dmi b/icons/mob/clothing/species/vox/under/procedure.dmi index e06e6c2b2bcb..a83061dcf9cc 100644 Binary files a/icons/mob/clothing/species/vox/under/procedure.dmi and b/icons/mob/clothing/species/vox/under/procedure.dmi differ diff --git a/icons/mob/clothing/species/vox/under/suit.dmi b/icons/mob/clothing/species/vox/under/suit.dmi index 7021585a4aec..44ed7d6794e3 100644 Binary files a/icons/mob/clothing/species/vox/under/suit.dmi and b/icons/mob/clothing/species/vox/under/suit.dmi differ diff --git a/icons/mob/clothing/suit.dmi b/icons/mob/clothing/suit.dmi index 06ab83e88584..6fcc795c6b3a 100644 Binary files a/icons/mob/clothing/suit.dmi and b/icons/mob/clothing/suit.dmi differ diff --git a/icons/mob/clothing/under/procedure.dmi b/icons/mob/clothing/under/procedure.dmi index 9b781e24ba38..329b28a15375 100644 Binary files a/icons/mob/clothing/under/procedure.dmi and b/icons/mob/clothing/under/procedure.dmi differ diff --git a/icons/mob/genetics.dmi b/icons/mob/genetics.dmi new file mode 100644 index 000000000000..cb5a3df029c9 Binary files /dev/null and b/icons/mob/genetics.dmi differ diff --git a/icons/mob/hud/sechud.dmi b/icons/mob/hud/sechud.dmi index 20f7cdf6495e..18e336332ef7 100644 Binary files a/icons/mob/hud/sechud.dmi and b/icons/mob/hud/sechud.dmi differ diff --git a/icons/mob/inhands/clothing_lefthand.dmi b/icons/mob/inhands/clothing_lefthand.dmi index 4b1908d93761..6c753baefcfd 100644 Binary files a/icons/mob/inhands/clothing_lefthand.dmi and b/icons/mob/inhands/clothing_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing_righthand.dmi b/icons/mob/inhands/clothing_righthand.dmi index 1d228c3e05bd..6ddf8bf55d85 100644 Binary files a/icons/mob/inhands/clothing_righthand.dmi and b/icons/mob/inhands/clothing_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index b69382632e6c..81322117b123 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 39878c80842a..5d19aed57507 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi index 5591755e0190..a18666708200 100644 Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi deleted file mode 100644 index 6b10d61b77e9..000000000000 Binary files a/icons/mob/ties.dmi and /dev/null differ diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index afadfaa14da0..f89f5d783bfd 100644 Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ diff --git a/icons/obj/clothing/accessories.dmi b/icons/obj/clothing/accessories.dmi new file mode 100644 index 000000000000..ac7094fea86e Binary files /dev/null and b/icons/obj/clothing/accessories.dmi differ diff --git a/icons/obj/clothing/accessories_overlay.dmi b/icons/obj/clothing/accessories_overlay.dmi new file mode 100644 index 000000000000..f667b8dc04e9 Binary files /dev/null and b/icons/obj/clothing/accessories_overlay.dmi differ diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi index b4775ad0f4d0..ca7685c79d43 100644 Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 255c1d7f9340..020c2e847166 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/head/beret.dmi b/icons/obj/clothing/head/beret.dmi index fae5d85c0e95..075c5f6f2fa0 100644 Binary files a/icons/obj/clothing/head/beret.dmi and b/icons/obj/clothing/head/beret.dmi differ diff --git a/icons/obj/clothing/neck.dmi b/icons/obj/clothing/neck.dmi index c06d4875bcfd..dc6419550b82 100644 Binary files a/icons/obj/clothing/neck.dmi and b/icons/obj/clothing/neck.dmi differ diff --git a/icons/obj/clothing/species/plasmaman/hats.dmi b/icons/obj/clothing/species/plasmaman/hats.dmi index f216a84f05a6..27aba871aa9d 100644 Binary files a/icons/obj/clothing/species/plasmaman/hats.dmi and b/icons/obj/clothing/species/plasmaman/hats.dmi differ diff --git a/icons/obj/clothing/species/plasmaman/uniform.dmi b/icons/obj/clothing/species/plasmaman/uniform.dmi index 3486bd07b43d..bddb3b810563 100644 Binary files a/icons/obj/clothing/species/plasmaman/uniform.dmi and b/icons/obj/clothing/species/plasmaman/uniform.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index b866b44ad753..d61e20a90f10 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi deleted file mode 100644 index b840b321a59d..000000000000 Binary files a/icons/obj/clothing/ties.dmi and /dev/null differ diff --git a/icons/obj/clothing/ties_overlay.dmi b/icons/obj/clothing/ties_overlay.dmi deleted file mode 100644 index fe3433bdbb06..000000000000 Binary files a/icons/obj/clothing/ties_overlay.dmi and /dev/null differ diff --git a/icons/obj/clothing/under/procedure.dmi b/icons/obj/clothing/under/procedure.dmi index 5a04123668d4..cc5e677c64ac 100644 Binary files a/icons/obj/clothing/under/procedure.dmi and b/icons/obj/clothing/under/procedure.dmi differ diff --git a/icons/obj/contraband.dmi b/icons/obj/contraband.dmi index b88a147b4674..d31f87e96ebd 100644 Binary files a/icons/obj/contraband.dmi and b/icons/obj/contraband.dmi differ diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 9d78a9877d0b..c72150b5abc7 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/icons/obj/flag.dmi b/icons/obj/flag.dmi index fc10ab104d00..ac37ee5bd377 100644 Binary files a/icons/obj/flag.dmi and b/icons/obj/flag.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index bb0271c71353..6621c3da0e9f 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/telescience.dmi b/icons/obj/telescience.dmi index 290be6c34e85..54f9a03812dd 100644 Binary files a/icons/obj/telescience.dmi and b/icons/obj/telescience.dmi differ diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index 0f9f31c90031..174a89c25e18 100755 Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ diff --git a/icons/obj/weapons/magical_weapons.dmi b/icons/obj/weapons/magical_weapons.dmi index f8be67a8c08c..154cd8790155 100644 Binary files a/icons/obj/weapons/magical_weapons.dmi and b/icons/obj/weapons/magical_weapons.dmi differ diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index 371e919052e4..d27c76b49de6 100755 Binary files a/icons/turf/areas.dmi and b/icons/turf/areas.dmi differ diff --git a/modular_ss220/_defines220/code/job_defines.dm b/modular_ss220/_defines220/code/job_defines.dm index e93e785a5198..3d16c629cb7a 100644 --- a/modular_ss220/_defines220/code/job_defines.dm +++ b/modular_ss220/_defines220/code/job_defines.dm @@ -11,17 +11,17 @@ // ==================================== // JOBCAT_ENGSEC -// Начинаются с JOB_NANO (1<<14) -#define JOB_TRAINEE (1<<15) -#define JOB_CADET (1<<16) -//#define JOB_PILOT (1<<17) - -#define JOB_REPRESENTATIVE_TSF (1<<17) -#define JOB_REPRESENTATIVE_USSP (1<<18) -#define JOB_DEALER (1<<19) -#define JOB_VIP_GUEST (1<<20) -#define JOB_BANKER (1<<21) -#define JOB_SECURITY_CLOWN (1<<22) +// Начинаются с JOB_INSTRUCTOR (1<<15) +#define JOB_TRAINEE (1<<16) +#define JOB_CADET (1<<17) +//#define JOB_PILOT (1<<18) + +#define JOB_REPRESENTATIVE_TSF (1<<18) +#define JOB_REPRESENTATIVE_USSP (1<<19) +#define JOB_DEALER (1<<20) +#define JOB_VIP_GUEST (1<<21) +#define JOB_BANKER (1<<22) +#define JOB_SECURITY_CLOWN (1<<23) #define JOBCAT_LAST_ENGSEC (1<<23) diff --git a/modular_ss220/aesthetics/better_ids/icons/card.dmi b/modular_ss220/aesthetics/better_ids/icons/card.dmi index a6270c06d585..ae3f789f1758 100644 Binary files a/modular_ss220/aesthetics/better_ids/icons/card.dmi and b/modular_ss220/aesthetics/better_ids/icons/card.dmi differ diff --git a/modular_ss220/aesthetics_sounds/code/items.dm b/modular_ss220/aesthetics_sounds/code/items.dm index 91f8c2c4bf50..1f30d18d11b4 100644 --- a/modular_ss220/aesthetics_sounds/code/items.dm +++ b/modular_ss220/aesthetics_sounds/code/items.dm @@ -111,7 +111,7 @@ drop_sound = 'modular_ss220/aesthetics_sounds/sound/handling/drop/accessory.ogg' pickup_sound = 'modular_ss220/aesthetics_sounds/sound/handling/pickup/accessory.ogg' -/obj/item/clothing/accessory/necklace +/obj/item/clothing/neck/necklace drop_sound = 'modular_ss220/aesthetics_sounds/sound/handling/drop/accessory.ogg' pickup_sound = 'modular_ss220/aesthetics_sounds/sound/handling/pickup/accessory.ogg' diff --git a/modular_ss220/clothing/_clothing.dme b/modular_ss220/clothing/_clothing.dme index a70b69054c10..7d41d6f1a1d2 100644 --- a/modular_ss220/clothing/_clothing.dme +++ b/modular_ss220/clothing/_clothing.dme @@ -11,4 +11,3 @@ #include "code/shoes.dm" #include "code/suits.dm" #include "code/under.dm" -#include "code/mod.dm" diff --git a/modular_ss220/clothing/code/cloaks.dm b/modular_ss220/clothing/code/cloaks.dm index 00a8afca9355..d1fdd6b4fb36 100644 --- a/modular_ss220/clothing/code/cloaks.dm +++ b/modular_ss220/clothing/code/cloaks.dm @@ -1,4 +1,4 @@ -/obj/item/clothing/suit/mantle/armor/captain/black +/obj/item/clothing/neck/cloak/captain_mantle/black name = "чёрная капитанская мантия" desc = "Носится верховным лидером станции NSS Cyberiad." icon = 'modular_ss220/clothing/icons/object/cloaks.dmi' @@ -6,7 +6,7 @@ icon_override = 'modular_ss220/clothing/icons/mob/cloaks.dmi' item_state = "capcloak_black" -/obj/item/clothing/suit/mantle/armor/captain/black/Initialize(mapload) +/obj/item/clothing/neck/cloak/captain_mantle/black/Initialize(mapload) . = ..() desc = "Носится верховным лидером станции [station_name()]." diff --git a/modular_ss220/clothing/code/garment_bag.dm b/modular_ss220/clothing/code/garment_bag.dm index 461b6d20af61..1520419fe499 100644 --- a/modular_ss220/clothing/code/garment_bag.dm +++ b/modular_ss220/clothing/code/garment_bag.dm @@ -1,7 +1,7 @@ /obj/item/storage/bag/garment/captain/populate_contents() . = ..() new /obj/item/clothing/head/caphat/beret_black(src) - new /obj/item/clothing/suit/mantle/armor/captain/black(src) + new /obj/item/clothing/neck/cloak/captain_mantle/black(src) /obj/item/storage/bag/garment/head_of_security/populate_contents() . = ..() diff --git a/modular_ss220/clothing/code/mod.dm b/modular_ss220/clothing/code/mod.dm deleted file mode 100644 index b0cbf5f3daa1..000000000000 --- a/modular_ss220/clothing/code/mod.dm +++ /dev/null @@ -1,317 +0,0 @@ -// MARK: MODsuit clothes -/obj/item/clothing/head/mod/exclusive - icon = 'modular_ss220/clothing/icons/object/mod_clothing.dmi' - item_state = 'modular_ss220/clothing/icons/mob/mod_clothing.dmi' - icon_override = 'modular_ss220/clothing/icons/mob/mod_clothing.dmi' - sprite_sheets = list( - "Skrell" = 'modular_ss220/clothing/icons/mob/species/skrell/mod_clothing.dmi', - "Grey" = 'modular_ss220/clothing/icons/mob/species/grey/mod_clothing.dmi', - "Vulpkanin" = 'modular_ss220/clothing/icons/mob/species/vulpkanin/mod_clothing.dmi', - "Tajaran" = 'modular_ss220/clothing/icons/mob/species/tajaran/mod_clothing.dmi', - "Unathi" = 'modular_ss220/clothing/icons/mob/species/unathi/mod_clothing.dmi', - "Vox" = 'modular_ss220/clothing/icons/mob/species/vox/mod_clothing.dmi', - ) - -/obj/item/clothing/suit/mod/exclusive - icon = 'modular_ss220/clothing/icons/object/mod_clothing.dmi' - item_state = 'modular_ss220/clothing/icons/mob/mod_clothing.dmi' - icon_override = 'modular_ss220/clothing/icons/mob/mod_clothing.dmi' - sprite_sheets = list( - "Skrell" = 'modular_ss220/clothing/icons/mob/species/skrell/mod_clothing.dmi', - "Grey" = 'modular_ss220/clothing/icons/mob/species/grey/mod_clothing.dmi', - "Vulpkanin" = 'modular_ss220/clothing/icons/mob/species/vulpkanin/mod_clothing.dmi', - "Tajaran" = 'modular_ss220/clothing/icons/mob/species/tajaran/mod_clothing.dmi', - "Unathi" = 'modular_ss220/clothing/icons/mob/species/unathi/mod_clothing.dmi', - "Vox" = 'modular_ss220/clothing/icons/mob/species/vox/mod_clothing.dmi', - ) - -/obj/item/clothing/gloves/mod/exclusive - icon = 'modular_ss220/clothing/icons/object/mod_clothing.dmi' - item_state = 'modular_ss220/clothing/icons/mob/mod_clothing.dmi' - icon_override = 'modular_ss220/clothing/icons/mob/mod_clothing.dmi' - sprite_sheets = list( - "Skrell" = 'modular_ss220/clothing/icons/mob/species/skrell/mod_clothing.dmi', - "Grey" = 'modular_ss220/clothing/icons/mob/species/grey/mod_clothing.dmi', - "Vulpkanin" = 'modular_ss220/clothing/icons/mob/species/vulpkanin/mod_clothing.dmi', - "Tajaran" = 'modular_ss220/clothing/icons/mob/species/tajaran/mod_clothing.dmi', - "Unathi" = 'modular_ss220/clothing/icons/mob/species/unathi/mod_clothing.dmi', - "Vox" = 'modular_ss220/clothing/icons/mob/species/vox/mod_clothing.dmi', - ) - -/obj/item/clothing/shoes/mod/exclusive - icon = 'modular_ss220/clothing/icons/object/mod_clothing.dmi' - item_state = 'modular_ss220/clothing/icons/mob/mod_clothing.dmi' - icon_override = 'modular_ss220/clothing/icons/mob/mod_clothing.dmi' - sprite_sheets = list( - "Skrell" = 'modular_ss220/clothing/icons/mob/species/skrell/mod_clothing.dmi', - "Grey" = 'modular_ss220/clothing/icons/mob/species/grey/mod_clothing.dmi', - "Vulpkanin" = 'modular_ss220/clothing/icons/mob/species/vulpkanin/mod_clothing.dmi', - "Tajaran" = 'modular_ss220/clothing/icons/mob/species/tajaran/mod_clothing.dmi', - "Unathi" = 'modular_ss220/clothing/icons/mob/species/unathi/mod_clothing.dmi', - "Vox" = 'modular_ss220/clothing/icons/mob/species/vox/mod_clothing.dmi', - ) - -// MARK: MODsuit control -/obj/item/mod/control/proc/build_head() - return new /obj/item/clothing/head/mod(src) - -/obj/item/mod/control/proc/build_suit() - return new /obj/item/clothing/suit/mod(src) - -/obj/item/mod/control/proc/build_gloves() - return new /obj/item/clothing/gloves/mod(src) - -/obj/item/mod/control/proc/build_shoes() - return new /obj/item/clothing/shoes/mod(src) - -/obj/item/mod/control/proc/is_any_part_deployed() - for(var/obj/item/part as anything in mod_parts) - if(part.loc != src) - return TRUE - return FALSE - -// This is kinda sick but we need to retract it before the actual species change. -/obj/item/mod/control/proc/pre_species_gain(datum/species/new_species) - if(!wearer) - return - if(is_any_part_deployed() && !theme.is_species_allowed(new_species)) - // Deactivate MODsuit to respect the species allowed. - to_chat(wearer, span_warning("Ошибка видовой принадлежности! Деактивация.")) - if(active) - var/old_activation_step_time = activation_step_time - activation_step_time = 0.1 SECONDS // gotta go fast - toggle_activate(wearer, force_deactivate = TRUE) - activation_step_time = old_activation_step_time - quick_deploy(wearer) - -/obj/item/mod/control/quick_deploy(mob/user) - user = user || loc // why the fuck this is nullable - if(!is_any_part_deployed() && !theme.is_species_allowed(user.dna.species)) - to_chat(user, span_warning("Ошибка видовой принадлежности! Развертывание недоступно.")) - playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) - return FALSE - return ..() - -/obj/item/mod/control/deploy(mob/user, obj/item/part, mass) - user = user || loc // why the fuck this is nullable - if(!mass && part.loc != user && !theme.is_species_allowed(user.dna.species)) - to_chat(user, span_warning("Ошибка видовой принадлежности! Развертывание недоступно.")) - playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) - return FALSE - return ..() - -/obj/item/mod/control/pre_equipped/exclusive - icon = 'modular_ss220/clothing/icons/object/mod_clothing.dmi' - icon_override = 'modular_ss220/clothing/icons/mob/mod_clothing.dmi' - -/obj/item/mod/control/pre_equipped/exclusive/build_head() - return new /obj/item/clothing/head/mod/exclusive(src) - -/obj/item/mod/control/pre_equipped/exclusive/build_suit() - return new /obj/item/clothing/suit/mod/exclusive(src) - -/obj/item/mod/control/pre_equipped/exclusive/build_gloves() - return new /obj/item/clothing/gloves/mod/exclusive(src) - -/obj/item/mod/control/pre_equipped/exclusive/build_shoes() - return new /obj/item/clothing/shoes/mod/exclusive(src) - -// MARK: MODsuit Theme -/datum/mod_theme - /// Which species are allowed to deploy MODsuit. Consider empty list as no restriction. - var/list/species_allowed = list() - -/datum/mod_theme/proc/is_species_allowed(datum/species/species) - if(!length(species_allowed)) - return TRUE - if(!(species.name in species_allowed)) - return FALSE - return TRUE - -/mob/living/carbon/human/change_dna(datum/dna/new_dna, include_species_change) - if(istype(back, /obj/item/mod/control)) - INVOKE_ASYNC(back, TYPE_PROC_REF(/obj/item/mod/control, pre_species_gain), new_dna.species) - return ..() - -/mob/living/carbon/human/set_species(datum/species/new_species, use_default_color = FALSE, delay_icon_update = FALSE, skip_same_check = FALSE, retain_damage = FALSE, transformation = FALSE, keep_missing_bodyparts = FALSE) - if(istype(back, /obj/item/mod/control)) - INVOKE_ASYNC(back, TYPE_PROC_REF(/obj/item/mod/control, pre_species_gain), new_species) - return ..() - -// MARK: Skrell elite MODsuit - Raskinta -/datum/mod_theme/skrell_raskinta - name = "\improper raskinta" - desc = "Боевая броня с функцией костюма для ВКД, созданная для воинов Раскинта Ме'керр-Кэтиш." - extended_desc = "Массивный бронекостюм, выполненный в черно-синих цветах, является отличительной чертой \ - военных формирований Раскинта-Кэтиш. Защитные пластины состоят из укрепленной керамики, в то время как \ - каркасные пластины выполнены из сплавов вороной пластали, позволяющей эффективно поглощать и рассеивать энергию \ - через радиаторные отводы на \"хвостовых\" окончаниях шлема. \ - Этот костюм является самым часто встречаемым в штурмовых отрядах Оборонительных Сил Скреллов." - default_skin = "skrell_elite" - armor_type_1 = /obj/item/mod/armor/mod_theme_skrell_raskinta - flag_2_flags = RAD_PROTECT_CONTENTS_2 - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - siemens_coefficient = 0 - slowdown_inactive = 1 - slowdown_active = 0.25 - complexity_max = DEFAULT_MAX_COMPLEXITY + 5 - allowed_suit_storage = list( - /obj/item/ammo_box, - /obj/item/ammo_casing, - /obj/item/restraints/handcuffs, - /obj/item/flash, - /obj/item/melee/baton, - /obj/item/gun, - /obj/item/melee/vibroblade, - ) - species_allowed = list("Skrell") - skins = list( - "skrell_elite" = list( - MOD_ICON_OVERRIDE = 'modular_ss220/clothing/icons/object/mod_clothing.dmi', - HELMET_FLAGS = list( - UNSEALED_LAYER = COLLAR_LAYER, - - SEALED_CLOTHING = THICKMATERIAL | STOPSPRESSUREDMAGE | BLOCK_GAS_SMOKE_EFFECT | BLOCKHAIR, - UNSEALED_INVISIBILITY = HIDEFACE, - SEALED_INVISIBILITY = HIDEMASK | HIDEEYES | HIDEEARS | HIDEFACE, - SEALED_COVER = HEADCOVERSMOUTH | HEADCOVERSEYES, - ), - CHESTPLATE_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT | HIDETAIL, - ), - GAUNTLETS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDMAGE, - CAN_OVERSLOT = TRUE, - ), - BOOTS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDMAGE, - CAN_OVERSLOT = TRUE, - ), - ), - ) - -/obj/item/mod/armor/mod_theme_skrell_raskinta - armor = list(MELEE = 40, BULLET = 25, LASER = 25, ENERGY = 20, BOMB = 25, RAD = INFINITY, FIRE = 200, ACID = 200) - -/obj/item/mod/control/pre_equipped/exclusive/skrell_raskinta - theme = /datum/mod_theme/skrell_raskinta - applied_cell = /obj/item/stock_parts/cell/super - applied_modules = list( - /obj/item/mod/module/storage/syndicate, - /obj/item/mod/module/emp_shield, - /obj/item/mod/module/status_readout, - /obj/item/mod/module/flashlight, - /obj/item/mod/module/magboot/advanced, - /obj/item/mod/module/jetpack/advanced, - ) - default_pins = list( - /obj/item/mod/module/jetpack/advanced, - /obj/item/mod/module/magboot/advanced, - ) - -// MARK: Skrell elite MODsuit - Sardaukars -/datum/mod_theme/skrell_sardaukars - name = "\improper emperor guard" - desc = "Элитная боевая броня гвардейцев Скреллианской империи." - extended_desc = "Благодаря высшим технологическим достижениям скреллов этот костюм сочетает в себе \ - невероятные показатели защищенности и мобильности, являясь незаменимой вещью на вооружении свирепых Куи'кверр-Кэтиш. \ - Носящие его воины являются личной гвардией Императора и выполняют самые сложные задачи по его воле. \ - Кроваво-белоснежные цвета, отождествляющие кровь врагов и власть Его Величества, скорее всего последнее \ - что вы увидите в своей жизни." - default_skin = "skrell_white" - armor_type_1 = /obj/item/mod/armor/mod_theme_skrell_sardaukars - resistance_flags = FIRE_PROOF - flag_2_flags = RAD_PROTECT_CONTENTS_2 - max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - siemens_coefficient = 0 - slowdown_inactive = 0.5 - slowdown_active = 0 - complexity_max = DEFAULT_MAX_COMPLEXITY + 10 - allowed_suit_storage = list( - /obj/item/ammo_box, - /obj/item/ammo_casing, - /obj/item/restraints/handcuffs, - /obj/item/flash, - /obj/item/melee/baton, - /obj/item/gun, - /obj/item/melee/vibroblade, - ) - species_allowed = list("Skrell") - skins = list( - "skrell_white" = list( - MOD_ICON_OVERRIDE = 'modular_ss220/clothing/icons/object/mod_clothing.dmi', - HELMET_FLAGS = list( - UNSEALED_LAYER = COLLAR_LAYER, - - SEALED_CLOTHING = THICKMATERIAL | STOPSPRESSUREDMAGE | BLOCK_GAS_SMOKE_EFFECT | BLOCKHAIR, - UNSEALED_INVISIBILITY = HIDEFACE, - SEALED_INVISIBILITY = HIDEMASK | HIDEEYES | HIDEEARS | HIDEFACE, - SEALED_COVER = HEADCOVERSMOUTH | HEADCOVERSEYES, - ), - CHESTPLATE_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDMAGE, - SEALED_INVISIBILITY = HIDEJUMPSUIT | HIDETAIL, - ), - GAUNTLETS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDMAGE, - CAN_OVERSLOT = TRUE, - ), - BOOTS_FLAGS = list( - UNSEALED_CLOTHING = THICKMATERIAL, - SEALED_CLOTHING = STOPSPRESSUREDMAGE, - CAN_OVERSLOT = TRUE, - ), - ), - ) - -/obj/item/mod/armor/mod_theme_skrell_sardaukars - armor = list(MELEE = 120, BULLET = 120, LASER = 100, ENERGY = 50, BOMB = 100, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) - -/obj/item/mod/control/pre_equipped/exclusive/skrell_sardaukars - theme = /datum/mod_theme/skrell_sardaukars - applied_cell = /obj/item/stock_parts/cell/bluespace - applied_modules = list( - /obj/item/mod/module/storage/bluespace, - /obj/item/mod/module/emp_shield, - /obj/item/mod/module/flashlight, - /obj/item/mod/module/jetpack/advanced, - /obj/item/mod/module/status_readout, - /obj/item/mod/module/magboot/advanced, - /obj/item/mod/module/visor/thermal - ) - default_pins = list( - /obj/item/mod/module/jetpack/advanced, - /obj/item/mod/module/magboot/advanced, - /obj/item/mod/module/visor/thermal - ) - -/obj/item/mod/control/pre_equipped/exclusive/skrell_sardaukars/Initialize(mapload, new_theme, new_skin, new_core, new_access) - . = ..() - ADD_TRAIT(chestplate, TRAIT_RSG_IMMUNE, ROUNDSTART_TRAIT) - -// MARK: Corporate MODsuit -/obj/item/mod/control/pre_equipped/corporate - icon = 'modular_ss220/clothing/icons/object/mod_clothing.dmi' - icon_override = 'modular_ss220/clothing/icons/mob/mod_clothing.dmi' - -/datum/mod_theme/corporate/New() - . = ..() - skins["corporate"][MOD_ICON_OVERRIDE] = 'modular_ss220/clothing/icons/object/mod_clothing.dmi' - -/obj/item/mod/control/pre_equipped/corporate/build_head() - return new /obj/item/clothing/head/mod/exclusive(src) - -/obj/item/mod/control/pre_equipped/corporate/build_suit() - return new /obj/item/clothing/suit/mod/exclusive(src) - -/obj/item/mod/control/pre_equipped/corporate/build_gloves() - return new /obj/item/clothing/gloves/mod/exclusive(src) - -/obj/item/mod/control/pre_equipped/corporate/build_shoes() - return new /obj/item/clothing/shoes/mod/exclusive(src) diff --git a/modular_ss220/clothing/icons/mob/mod_clothing.dmi b/modular_ss220/clothing/icons/mob/mod_clothing.dmi index cc7d72e6d5d1..61c711ef595f 100644 Binary files a/modular_ss220/clothing/icons/mob/mod_clothing.dmi and b/modular_ss220/clothing/icons/mob/mod_clothing.dmi differ diff --git a/modular_ss220/clothing/icons/object/mod_clothing.dmi b/modular_ss220/clothing/icons/object/mod_clothing.dmi index d1b91725df35..1018abdd4a1c 100644 Binary files a/modular_ss220/clothing/icons/object/mod_clothing.dmi and b/modular_ss220/clothing/icons/object/mod_clothing.dmi differ diff --git a/modular_ss220/jobs/code/donor/job/2_tier_jobs.dm b/modular_ss220/jobs/code/donor/job/2_tier_jobs.dm index 74bbbf0f8243..c5aa45ca2a9f 100644 --- a/modular_ss220/jobs/code/donor/job/2_tier_jobs.dm +++ b/modular_ss220/jobs/code/donor/job/2_tier_jobs.dm @@ -50,7 +50,7 @@ jobtype = /datum/job/donor/bath uniform = /obj/item/clothing/under/costume/pirate_rags - suit = /obj/item/clothing/suit/mantle + suit = /obj/item/clothing/neck/cloak/mantle shoes = /obj/item/clothing/shoes/sandal glasses = /obj/item/clothing/glasses/goggles l_ear = /obj/item/radio/headset/headset_service diff --git a/modular_ss220/jobs/code/donor/job/3_tier_jobs.dm b/modular_ss220/jobs/code/donor/job/3_tier_jobs.dm index d197421957d7..d595dda5a9a2 100644 --- a/modular_ss220/jobs/code/donor/job/3_tier_jobs.dm +++ b/modular_ss220/jobs/code/donor/job/3_tier_jobs.dm @@ -326,7 +326,7 @@ jobtype = /datum/job/donor/uncertain uniform = /obj/item/clothing/under/costume/kilt - suit = /obj/item/clothing/suit/unathi/mantle + suit = /obj/item/clothing/neck/cloak/unathi shoes = /obj/item/clothing/shoes/footwraps head = /obj/item/clothing/head/beanie/yellow glasses = /obj/item/clothing/glasses/eyepatch @@ -339,10 +339,10 @@ /obj/item/storage/fancy/cigarettes/cigpack_random = 2, /obj/item/food/fancy/doshik = 3, /obj/item/food/fancy/doshik_spicy = 3, - /obj/item/clothing/suit/mantle/old = 1, + /obj/item/clothing/neck/cloak/old = 1, /obj/item/clothing/head/flatcap = 1, /obj/item/clothing/suit/browntrenchcoat = 1, - /obj/item/clothing/accessory/horrible = 1, + /obj/item/clothing/neck/tie/horrible = 1, /obj/item/clothing/under/costume/pirate_rags = 1, /obj/item/clothing/head/cowboyhat = 1, /obj/item/clothing/shoes/sandal = 1, diff --git a/modular_ss220/jobs/code/objects/job_objects.dm b/modular_ss220/jobs/code/objects/job_objects.dm index 2f2fb49fd5f9..e11b08dfd2da 100644 --- a/modular_ss220/jobs/code/objects/job_objects.dm +++ b/modular_ss220/jobs/code/objects/job_objects.dm @@ -63,7 +63,6 @@ /obj/item/toy/balloon, /obj/item/toy/blink, /obj/item/toy/katana, - /obj/random/mech, /obj/item/toy/spinningtoy, /obj/item/toy/sword, /obj/item/dualsaber/toy, @@ -71,10 +70,7 @@ /obj/item/instrument/violin, /obj/item/instrument/guitar, /obj/item/storage/belt/utility/full, - /obj/item/clothing/accessory/horrible, - /obj/random/carp_plushie, - /obj/random/plushie, - /obj/random/figure, + /obj/item/clothing/neck/tie/horrible, /obj/item/deck/cards, /obj/item/deck/cards/tiny, /obj/item/deck/unum, @@ -100,7 +96,7 @@ /obj/item/stack/tile/fakespace/loaded, /obj/item/stack/tile/brass/fifty, /obj/item/sord, - /obj/item/toy/prizeball/figure, + /obj/item/toy/prizeball/action_figure, /obj/item/toy/prizeball/therapy, // pew pew diff --git a/modular_ss220/jobs/code/objects/medical_job_objects.dm b/modular_ss220/jobs/code/objects/medical_job_objects.dm index 0090302fe1bd..7dd346db2570 100644 --- a/modular_ss220/jobs/code/objects/medical_job_objects.dm +++ b/modular_ss220/jobs/code/objects/medical_job_objects.dm @@ -9,10 +9,6 @@ // loadout -/datum/gear/accessory/stethoscope/New() - . = ..() - allowed_roles |= GLOB.medical_positions_ss220 - /datum/gear/accessory/armband_job/medical/New() . = ..() allowed_roles |= GLOB.medical_positions_ss220 diff --git a/modular_ss220/maps220/icons/mapping_helpers.dmi b/modular_ss220/maps220/icons/mapping_helpers.dmi index 98f6b9118df8..fc470b6072c9 100644 Binary files a/modular_ss220/maps220/icons/mapping_helpers.dmi and b/modular_ss220/maps220/icons/mapping_helpers.dmi differ diff --git a/modular_ss220/mod/_mods.dm b/modular_ss220/mod/_mods.dm new file mode 100644 index 000000000000..b3fb7fe7c853 --- /dev/null +++ b/modular_ss220/mod/_mods.dm @@ -0,0 +1,4 @@ +/datum/modpack/mods + name = "МОДсьюты" + desc = "Неочевидная штука - там внутри МОДсьюты" + author = "Konushi, Kar4es" diff --git a/modular_ss220/mod/_mods.dme b/modular_ss220/mod/_mods.dme new file mode 100644 index 000000000000..23a6c3dfed3c --- /dev/null +++ b/modular_ss220/mod/_mods.dme @@ -0,0 +1,7 @@ +#include "_mods.dm" + +#include "code/mod_control.dm" +#include "code/mod_modules.dm" +#include "code/mod_theme.dm" +#include "code/mod_clothes.dm" +#include "code/mod_types.dm" diff --git a/modular_ss220/mod/code/mod_clothes.dm b/modular_ss220/mod/code/mod_clothes.dm new file mode 100644 index 000000000000..03828eef35d9 --- /dev/null +++ b/modular_ss220/mod/code/mod_clothes.dm @@ -0,0 +1,53 @@ +// MARK: MODsuit clothes +/obj/item/clothing/head/mod/exclusive + icon = 'modular_ss220/mod/icons/object/mod_clothing.dmi' + item_state = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + icon_override = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + sprite_sheets = list( + "Skrell" = 'modular_ss220/mod/icons/mob/species/skrell/mod_clothing.dmi', + "Grey" = 'modular_ss220/mod/icons/mob/species/grey/mod_clothing.dmi', + "Vulpkanin" = 'modular_ss220/mod/icons/mob/species/vulpkanin/mod_clothing.dmi', + "Tajaran" = 'modular_ss220/mod/icons/mob/species/tajaran/mod_clothing.dmi', + "Unathi" = 'modular_ss220/mod/icons/mob/species/unathi/mod_clothing.dmi', + "Vox" = 'modular_ss220/mod/icons/mob/species/vox/mod_clothing.dmi', + ) + +/obj/item/clothing/suit/mod/exclusive + icon = 'modular_ss220/mod/icons/object/mod_clothing.dmi' + item_state = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + icon_override = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + sprite_sheets = list( + "Skrell" = 'modular_ss220/mod/icons/mob/species/skrell/mod_clothing.dmi', + "Grey" = 'modular_ss220/mod/icons/mob/species/grey/mod_clothing.dmi', + "Vulpkanin" = 'modular_ss220/mod/icons/mob/species/vulpkanin/mod_clothing.dmi', + "Tajaran" = 'modular_ss220/mod/icons/mob/species/tajaran/mod_clothing.dmi', + "Unathi" = 'modular_ss220/mod/icons/mob/species/unathi/mod_clothing.dmi', + "Vox" = 'modular_ss220/mod/icons/mob/species/vox/mod_clothing.dmi', + ) + +/obj/item/clothing/gloves/mod/exclusive + icon = 'modular_ss220/mod/icons/object/mod_clothing.dmi' + item_state = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + icon_override = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + sprite_sheets = list( + "Skrell" = 'modular_ss220/mod/icons/mob/species/skrell/mod_clothing.dmi', + "Grey" = 'modular_ss220/mod/icons/mob/species/grey/mod_clothing.dmi', + "Vulpkanin" = 'modular_ss220/mod/icons/mob/species/vulpkanin/mod_clothing.dmi', + "Tajaran" = 'modular_ss220/mod/icons/mob/species/tajaran/mod_clothing.dmi', + "Unathi" = 'modular_ss220/mod/icons/mob/species/unathi/mod_clothing.dmi', + "Vox" = 'modular_ss220/mod/icons/mob/species/vox/mod_clothing.dmi', + ) + +/obj/item/clothing/shoes/mod/exclusive + icon = 'modular_ss220/mod/icons/object/mod_clothing.dmi' + item_state = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + icon_override = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + sprite_sheets = list( + "Skrell" = 'modular_ss220/mod/icons/mob/species/skrell/mod_clothing.dmi', + "Grey" = 'modular_ss220/mod/icons/mob/species/grey/mod_clothing.dmi', + "Vulpkanin" = 'modular_ss220/mod/icons/mob/species/vulpkanin/mod_clothing.dmi', + "Tajaran" = 'modular_ss220/mod/icons/mob/species/tajaran/mod_clothing.dmi', + "Unathi" = 'modular_ss220/mod/icons/mob/species/unathi/mod_clothing.dmi', + "Vox" = 'modular_ss220/mod/icons/mob/species/vox/mod_clothing.dmi', + ) + diff --git a/modular_ss220/mod/code/mod_control.dm b/modular_ss220/mod/code/mod_control.dm new file mode 100644 index 000000000000..770b5a1b9901 --- /dev/null +++ b/modular_ss220/mod/code/mod_control.dm @@ -0,0 +1,90 @@ +// MARK: MODsuit control +/obj/item/mod/control/proc/build_head() + return new /obj/item/clothing/head/mod(src) + +/obj/item/mod/control/proc/build_suit() + return new /obj/item/clothing/suit/mod(src) + +/obj/item/mod/control/proc/build_gloves() + return new /obj/item/clothing/gloves/mod(src) + +/obj/item/mod/control/proc/build_shoes() + return new /obj/item/clothing/shoes/mod(src) + +/obj/item/mod/control/proc/is_any_part_deployed() + for(var/obj/item/part as anything in mod_parts) + if(part.loc != src) + return TRUE + return FALSE + +// This is kinda sick but we need to retract it before the actual species change. +/obj/item/mod/control/proc/pre_species_gain(datum/species/new_species) + if(!wearer) + return + if(is_any_part_deployed() && !theme.is_species_allowed(new_species)) + // Deactivate MODsuit to respect the species allowed. + to_chat(wearer, span_warning("Ошибка видовой принадлежности! Деактивация.")) + if(active) + var/old_activation_step_time = activation_step_time + activation_step_time = 0.1 SECONDS // gotta go fast + toggle_activate(wearer, force_deactivate = TRUE) + activation_step_time = old_activation_step_time + quick_deploy(wearer) + +/obj/item/mod/control/quick_deploy(mob/user) + user = user || loc // why the fuck this is nullable + if(!is_any_part_deployed() && !theme.is_species_allowed(user.dna.species)) + to_chat(user, span_warning("Ошибка видовой принадлежности! Развертывание недоступно.")) + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + return ..() + +/obj/item/mod/control/deploy(mob/user, obj/item/part, mass) + user = user || loc // why the fuck this is nullable + if(!mass && part.loc != user && !theme.is_species_allowed(user.dna.species)) + to_chat(user, span_warning("Ошибка видовой принадлежности! Развертывание недоступно.")) + playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + return ..() + +/obj/item/mod/control/pre_equipped/exclusive + icon = 'modular_ss220/mod/icons/object/mod_clothing.dmi' + icon_override = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + +/obj/item/mod/control/pre_equipped/exclusive/build_head() + return new /obj/item/clothing/head/mod/exclusive(src) + +/obj/item/mod/control/pre_equipped/exclusive/build_suit() + return new /obj/item/clothing/suit/mod/exclusive(src) + +/obj/item/mod/control/pre_equipped/exclusive/build_gloves() + return new /obj/item/clothing/gloves/mod/exclusive(src) + +/obj/item/mod/control/pre_equipped/exclusive/build_shoes() + return new /obj/item/clothing/shoes/mod/exclusive(src) + +//MARK: Corporate +/obj/item/mod/control/pre_equipped/corporate/build_head() + return new /obj/item/clothing/head/mod/exclusive(src) + +/obj/item/mod/control/pre_equipped/corporate/build_suit() + return new /obj/item/clothing/suit/mod/exclusive(src) + +/obj/item/mod/control/pre_equipped/corporate/build_gloves() + return new /obj/item/clothing/gloves/mod/exclusive(src) + +/obj/item/mod/control/pre_equipped/corporate/build_shoes() + return new /obj/item/clothing/shoes/mod/exclusive(src) + +//MARK: ERT Red +/obj/item/mod/control/pre_equipped/responsory/red/build_head() + return new /obj/item/clothing/head/mod/exclusive(src) + +/obj/item/mod/control/pre_equipped/responsory/red/build_suit() + return new /obj/item/clothing/suit/mod/exclusive(src) + +/obj/item/mod/control/pre_equipped/responsory/red/build_gloves() + return new /obj/item/clothing/gloves/mod/exclusive(src) + +/obj/item/mod/control/pre_equipped/responsory/red/build_shoes() + return new /obj/item/clothing/shoes/mod/exclusive(src) diff --git a/modular_ss220/mod/code/mod_modules.dm b/modular_ss220/mod/code/mod_modules.dm new file mode 100644 index 000000000000..8b94a6a3f523 --- /dev/null +++ b/modular_ss220/mod/code/mod_modules.dm @@ -0,0 +1,23 @@ +/obj/item/mod/module/insignia/red + overlay_icon_file = 'modular_ss220/mod/icons/mob/mod_modules.dmi' + +/obj/item/mod/module/insignia/red/commander + color = "#4980a5" + +/obj/item/mod/module/insignia/red/security + color = "#b30d1e" + +/obj/item/mod/module/insignia/red/engineer + color = "#e9c80e" + +/obj/item/mod/module/insignia/red/medic + color = "#ebebf5" + +/obj/item/mod/module/insignia/red/janitor + color = "#7925c7" + +/obj/item/mod/module/insignia/red/clown + color = "#ff1fc7" + +/obj/item/mod/module/insignia/red/chaplain + color = "#f0a00c" diff --git a/modular_ss220/mod/code/mod_theme.dm b/modular_ss220/mod/code/mod_theme.dm new file mode 100644 index 000000000000..ee79402128de --- /dev/null +++ b/modular_ss220/mod/code/mod_theme.dm @@ -0,0 +1,228 @@ +// MARK: MODsuit Theme +/datum/mod_theme + /// Which species are allowed to deploy MODsuit. Consider empty list as no restriction. + var/list/species_allowed = list() + +/datum/mod_theme/proc/is_species_allowed(datum/species/species) + if(!length(species_allowed)) + return TRUE + if(!(species.name in species_allowed)) + return FALSE + return TRUE + +/mob/living/carbon/human/change_dna(datum/dna/new_dna, include_species_change) + if(istype(back, /obj/item/mod/control)) + INVOKE_ASYNC(back, TYPE_PROC_REF(/obj/item/mod/control, pre_species_gain), new_dna.species) + return ..() + +/mob/living/carbon/human/set_species(datum/species/new_species, use_default_color = FALSE, delay_icon_update = FALSE, skip_same_check = FALSE, retain_damage = FALSE, transformation = FALSE, keep_missing_bodyparts = FALSE) + if(istype(back, /obj/item/mod/control)) + INVOKE_ASYNC(back, TYPE_PROC_REF(/obj/item/mod/control, pre_species_gain), new_species) + return ..() + +// MARK: Skrell elite MODsuit - Raskinta +/datum/mod_theme/skrell_raskinta + name = "\improper raskinta" + desc = "Боевая броня с функцией костюма для ВКД, созданная для воинов Раскинта Ме'керр-Кэтиш." + extended_desc = "Массивный бронекостюм, выполненный в черно-синих цветах, является отличительной чертой \ + военных формирований Раскинта-Кэтиш. Защитные пластины состоят из укрепленной керамики, в то время как \ + каркасные пластины выполнены из сплавов вороной пластали, позволяющей эффективно поглощать и рассеивать энергию \ + через радиаторные отводы на \"хвостовых\" окончаниях шлема. \ + Этот костюм является самым часто встречаемым в штурмовых отрядах Оборонительных Сил Скреллов." + default_skin = "skrell_elite" + armor_type_1 = /obj/item/mod/armor/mod_theme_skrell_raskinta + flag_2_flags = RAD_PROTECT_CONTENTS_2 + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 1 + slowdown_active = 0.25 + complexity_max = DEFAULT_MAX_COMPLEXITY + 5 + allowed_suit_storage = list( + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/flash, + /obj/item/melee/baton, + /obj/item/gun, + /obj/item/melee/vibroblade, + ) + species_allowed = list("Skrell") + skins = list( + "skrell_elite" = list( + MOD_ICON_OVERRIDE = 'modular_ss220/mod/icons/object/mod_clothing.dmi', + HELMET_FLAGS = list( + UNSEALED_LAYER = COLLAR_LAYER, + + SEALED_CLOTHING = THICKMATERIAL | STOPSPRESSUREDMAGE | BLOCK_GAS_SMOKE_EFFECT | BLOCKHAIR, + UNSEALED_INVISIBILITY = HIDEFACE, + SEALED_INVISIBILITY = HIDEMASK | HIDEEYES | HIDEEARS | HIDEFACE, + SEALED_COVER = HEADCOVERSMOUTH | HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT | HIDETAIL, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/obj/item/mod/armor/mod_theme_skrell_raskinta + armor = list(MELEE = 40, BULLET = 25, LASER = 25, ENERGY = 20, BOMB = 25, RAD = INFINITY, FIRE = 200, ACID = 200) + +// MARK: Skrell elite MODsuit - Sardaukars +/datum/mod_theme/skrell_sardaukars + name = "\improper emperor guard" + desc = "Элитная боевая броня гвардейцев Скреллианской империи." + extended_desc = "Благодаря высшим технологическим достижениям скреллов этот костюм сочетает в себе \ + невероятные показатели защищенности и мобильности, являясь незаменимой вещью на вооружении свирепых Куи'кверр-Кэтиш. \ + Носящие его воины являются личной гвардией Императора и выполняют самые сложные задачи по его воле. \ + Кроваво-белоснежные цвета, отождествляющие кровь врагов и власть Его Величества, скорее всего последнее \ + что вы увидите в своей жизни." + default_skin = "skrell_white" + armor_type_1 = /obj/item/mod/armor/mod_theme_skrell_sardaukars + resistance_flags = FIRE_PROOF + flag_2_flags = RAD_PROTECT_CONTENTS_2 + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 0.5 + slowdown_active = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY + 10 + allowed_suit_storage = list( + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/flash, + /obj/item/melee/baton, + /obj/item/gun, + /obj/item/melee/vibroblade, + ) + species_allowed = list("Skrell") + skins = list( + "skrell_white" = list( + MOD_ICON_OVERRIDE = 'modular_ss220/mod/icons/object/mod_clothing.dmi', + HELMET_FLAGS = list( + UNSEALED_LAYER = COLLAR_LAYER, + + SEALED_CLOTHING = THICKMATERIAL | STOPSPRESSUREDMAGE | BLOCK_GAS_SMOKE_EFFECT | BLOCKHAIR, + UNSEALED_INVISIBILITY = HIDEFACE, + SEALED_INVISIBILITY = HIDEMASK | HIDEEYES | HIDEEARS | HIDEFACE, + SEALED_COVER = HEADCOVERSMOUTH | HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT | HIDETAIL, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/obj/item/mod/armor/mod_theme_skrell_sardaukars + armor = list(MELEE = 120, BULLET = 120, LASER = 100, ENERGY = 50, BOMB = 100, RAD = INFINITY, FIRE = INFINITY, ACID = INFINITY) + +//MARK: Corporate MODsuit +/datum/mod_theme/corporate/New() + . = ..() + skins["corporate"][MOD_ICON_OVERRIDE] = 'modular_ss220/mod/icons/object/mod_clothing.dmi' + +//MARK: ERT Red MODsuit +/datum/mod_theme/responsory/red + name = "\improper 'Rhino' responsory" + desc = "Высокотехнологичный боевой MODsuit 'Носорог', разработанный и произведенный Нанотрейзен. Хорошо бронированный, герметичный и оснащенный всевозможными полезными приспособлениями. \ + Лучшее корпоративное оборудование для обеспечения безопасности." + extended_desc = "Костюм быстрого реагирования NS-20 'Носорог' - один из самых лучших в категории 'цена и качество' из всех боевых костюмов на рынке. \ + Внутри NS-20 установлена система NTOS-11, что позволяет использовать несравненные возможности настройки в сочетании с \ + необычайно щедрыми техническими характеристиками 'Носорога'. NS-20 можно встретить только в отряде быстрого реагирования Нанотрейзен." + default_skin = "rhino" + armor_type_1 = /obj/item/mod/armor/mod_theme_responsory/red + resistance_flags = FIRE_PROOF + flag_2_flags = RAD_PROTECT_CONTENTS_2 + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + slowdown_inactive = 0.5 + slowdown_active = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY + 5 + allowed_suit_storage = list( + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/restraints/handcuffs, + /obj/item/flash, + /obj/item/melee/baton, + /obj/item/gun, + ) + species_allowed = list("Human") + skins = list( + "rhino" = list( + MOD_ICON_OVERRIDE = 'modular_ss220/mod/icons/object/mod_clothing.dmi', + HELMET_FLAGS = list( + UNSEALED_LAYER = COLLAR_LAYER, + + SEALED_CLOTHING = THICKMATERIAL | STOPSPRESSUREDMAGE | BLOCK_GAS_SMOKE_EFFECT | BLOCKHAIR, + UNSEALED_INVISIBILITY = HIDEFACE, + SEALED_INVISIBILITY = HIDEMASK | HIDEEYES | HIDEEARS | HIDEFACE, + SEALED_COVER = HEADCOVERSMOUTH | HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT | HIDETAIL, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + "inquisitory" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = null, + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE | BLOCK_GAS_SMOKE_EFFECT | BLOCKHAIR, + UNSEALED_INVISIBILITY = HIDEFACE | HIDEMASK | HIDEEARS | HIDEEYES, + UNSEALED_COVER = HEADCOVERSMOUTH | HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT | HIDETAIL, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/obj/item/mod/armor/mod_theme_responsory/red + armor = list(MELEE = 30, BULLET = 25, LASER = 25, ENERGY = 15, BOMB = 40, RAD = 25, FIRE = INFINITY, ACID = 150) + diff --git a/modular_ss220/mod/code/mod_types.dm b/modular_ss220/mod/code/mod_types.dm new file mode 100644 index 000000000000..de4250b308bc --- /dev/null +++ b/modular_ss220/mod/code/mod_types.dm @@ -0,0 +1,90 @@ +// MARK: Skrell elite MODsuit - Raskinta +/obj/item/mod/control/pre_equipped/exclusive/skrell_raskinta + theme = /datum/mod_theme/skrell_raskinta + applied_cell = /obj/item/stock_parts/cell/super + applied_modules = list( + /obj/item/mod/module/storage/syndicate, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/status_readout, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/magboot/advanced, + /obj/item/mod/module/jetpack/advanced, + ) + default_pins = list( + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/magboot/advanced, + ) + +// MARK: Skrell elite MODsuit - Sardaukars +/obj/item/mod/control/pre_equipped/exclusive/skrell_sardaukars + theme = /datum/mod_theme/skrell_sardaukars + applied_cell = /obj/item/stock_parts/cell/bluespace + applied_modules = list( + /obj/item/mod/module/storage/bluespace, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/status_readout, + /obj/item/mod/module/magboot/advanced, + /obj/item/mod/module/visor/thermal + ) + default_pins = list( + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/magboot/advanced, + /obj/item/mod/module/visor/thermal + ) + +/obj/item/mod/control/pre_equipped/exclusive/skrell_sardaukars/Initialize(mapload, new_theme, new_skin, new_core, new_access) + . = ..() + ADD_TRAIT(chestplate, TRAIT_RSG_IMMUNE, ROUNDSTART_TRAIT) + +// MARK: Corporate MODsuit +/obj/item/mod/control/pre_equipped/corporate + icon = 'modular_ss220/mod/icons/object/mod_clothing.dmi' + icon_override = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + +// MARK: ERT RED MODsuit +/obj/item/mod/control/pre_equipped/responsory/red + icon = 'modular_ss220/mod/icons/object/mod_clothing.dmi' + icon_override = 'modular_ss220/mod/icons/mob/mod_clothing.dmi' + theme = /datum/mod_theme/responsory/red + req_access = list(ACCESS_CENT_GENERAL) + applied_modules = list( + /obj/item/mod/module/storage/syndicate, + /obj/item/mod/module/welding, + /obj/item/mod/module/emp_shield, + /obj/item/mod/module/status_readout, + /obj/item/mod/module/flashlight, + /obj/item/mod/module/magboot, + /obj/item/mod/module/jetpack/advanced, + /obj/item/mod/module/ert_camera, + ) + insignia_type = /obj/item/mod/module/insignia/red + +/obj/item/mod/control/pre_equipped/responsory/red/commander + insignia_type = /obj/item/mod/module/insignia/red/commander + +/obj/item/mod/control/pre_equipped/responsory/red/security + insignia_type = /obj/item/mod/module/insignia/red/security + +/obj/item/mod/control/pre_equipped/responsory/red/engineer + insignia_type = /obj/item/mod/module/insignia/red/engineer + +/obj/item/mod/control/pre_equipped/responsory/red/medic + insignia_type = /obj/item/mod/module/insignia/red/medic + +/obj/item/mod/control/pre_equipped/responsory/red/medic/Initialize(mapload, new_theme, new_skin, new_core, new_access) + . = ..() + ADD_TRAIT(chestplate, TRAIT_RSG_IMMUNE, ROUNDSTART_TRAIT) + +/obj/item/mod/control/pre_equipped/responsory/red/janitor + insignia_type = /obj/item/mod/module/insignia/red/janitor + +/obj/item/mod/control/pre_equipped/responsory/red/clown + insignia_type = /obj/item/mod/module/insignia/red/clown + +/obj/item/mod/control/pre_equipped/responsory/red/chaplain + insignia_type = /obj/item/mod/module/insignia/red/chaplain + +/obj/item/mod/control/pre_equipped/responsory/red/inquisitory + applied_skin = "inquisitory" diff --git a/modular_ss220/mod/icons/mob/mod_clothing.dmi b/modular_ss220/mod/icons/mob/mod_clothing.dmi new file mode 100644 index 000000000000..e00e724a7049 Binary files /dev/null and b/modular_ss220/mod/icons/mob/mod_clothing.dmi differ diff --git a/modular_ss220/mod/icons/mob/mod_modules.dmi b/modular_ss220/mod/icons/mob/mod_modules.dmi new file mode 100644 index 000000000000..27cd854bdb14 Binary files /dev/null and b/modular_ss220/mod/icons/mob/mod_modules.dmi differ diff --git a/modular_ss220/clothing/icons/mob/species/grey/mod_clothing.dmi b/modular_ss220/mod/icons/mob/species/grey/mod_clothing.dmi similarity index 100% rename from modular_ss220/clothing/icons/mob/species/grey/mod_clothing.dmi rename to modular_ss220/mod/icons/mob/species/grey/mod_clothing.dmi diff --git a/modular_ss220/clothing/icons/mob/species/skrell/mod_clothing.dmi b/modular_ss220/mod/icons/mob/species/skrell/mod_clothing.dmi similarity index 100% rename from modular_ss220/clothing/icons/mob/species/skrell/mod_clothing.dmi rename to modular_ss220/mod/icons/mob/species/skrell/mod_clothing.dmi diff --git a/modular_ss220/clothing/icons/mob/species/tajaran/mod_clothing.dmi b/modular_ss220/mod/icons/mob/species/tajaran/mod_clothing.dmi similarity index 100% rename from modular_ss220/clothing/icons/mob/species/tajaran/mod_clothing.dmi rename to modular_ss220/mod/icons/mob/species/tajaran/mod_clothing.dmi diff --git a/modular_ss220/clothing/icons/mob/species/unathi/mod_clothing.dmi b/modular_ss220/mod/icons/mob/species/unathi/mod_clothing.dmi similarity index 100% rename from modular_ss220/clothing/icons/mob/species/unathi/mod_clothing.dmi rename to modular_ss220/mod/icons/mob/species/unathi/mod_clothing.dmi diff --git a/modular_ss220/clothing/icons/mob/species/vox/mod_clothing.dmi b/modular_ss220/mod/icons/mob/species/vox/mod_clothing.dmi similarity index 100% rename from modular_ss220/clothing/icons/mob/species/vox/mod_clothing.dmi rename to modular_ss220/mod/icons/mob/species/vox/mod_clothing.dmi diff --git a/modular_ss220/clothing/icons/mob/species/vulpkanin/mod_clothing.dmi b/modular_ss220/mod/icons/mob/species/vulpkanin/mod_clothing.dmi similarity index 100% rename from modular_ss220/clothing/icons/mob/species/vulpkanin/mod_clothing.dmi rename to modular_ss220/mod/icons/mob/species/vulpkanin/mod_clothing.dmi diff --git a/modular_ss220/mod/icons/object/mod_clothing.dmi b/modular_ss220/mod/icons/object/mod_clothing.dmi new file mode 100644 index 000000000000..31f1b0c88ea5 Binary files /dev/null and b/modular_ss220/mod/icons/object/mod_clothing.dmi differ diff --git a/modular_ss220/modular_ss220.dme b/modular_ss220/modular_ss220.dme index 4b3c55d3098d..7e2626f94768 100644 --- a/modular_ss220/modular_ss220.dme +++ b/modular_ss220/modular_ss220.dme @@ -68,6 +68,7 @@ #include "logs/_logs.dme" #include "mecha_skins/mecha_skins.dme" #include "mobs/_mobs.dme" +#include "mod/_mods.dme" #include "outfits/_outfits.dme" #include "phrases/_phrases.dme" #include "pixel_shift/_pixel_shift.dme" diff --git a/modular_ss220/objects/code/plushies/hampters.dm b/modular_ss220/objects/code/plushies/hampters.dm index 38fbeb436d29..c2478575d6be 100644 --- a/modular_ss220/objects/code/plushies/hampters.dm +++ b/modular_ss220/objects/code/plushies/hampters.dm @@ -38,14 +38,11 @@ play_squeak() // Спавнер рандомного хамптера для карты -/obj/random/hampter - name = "Random Hampter" - desc = "This is a random hampter spawner." +/obj/effect/spawner/random/toy/hampter + name = "random hampter toy" icon = 'modular_ss220/objects/icons/plushies.dmi' icon_state = "hampter" - -/obj/random/hampter/item_to_spawn() - return pick(typesof(/obj/item/toy/hampter)) + loot_type_path = /obj/item/toy/hampter // Хамптер /obj/item/toy/hampter diff --git a/modular_ss220/objects/icons/posters.dmi b/modular_ss220/objects/icons/posters.dmi index 3e9e1fdaaae5..8ec9a3975e2f 100644 Binary files a/modular_ss220/objects/icons/posters.dmi and b/modular_ss220/objects/icons/posters.dmi differ diff --git a/modular_ss220/outfits/code/outfits.dm b/modular_ss220/outfits/code/outfits.dm index e3b3fc8e5ce7..4dde3bb4e9e1 100644 --- a/modular_ss220/outfits/code/outfits.dm +++ b/modular_ss220/outfits/code/outfits.dm @@ -152,7 +152,7 @@ gloves =/obj/item/clothing/gloves/ring/silver mask = /obj/item/clothing/mask/holo_cigar backpack_contents = list( - /obj/item/clothing/accessory/scarf/purple, + /obj/item/clothing/neck/scarf/purple, /obj/item/clothing/gloves/combat, /obj/item/gun/projectile/revolver/mateba, /obj/item/ammo_box/a357, @@ -312,11 +312,117 @@ /datum/outfit/job/centcom/response_team/commander/amber glasses = /obj/item/clothing/glasses/hud/security/sunglasses +/datum/outfit/job/response_team/commander/red + name = "RT Commander (Red)" + shoes = /obj/item/clothing/shoes/combat + back = /obj/item/mod/control/pre_equipped/responsory/red/commander + suit = null + glasses = /obj/item/clothing/glasses/sunglasses + mask = /obj/item/clothing/mask/gas/sechailer/swat + belt = /obj/item/gun/energy/gun/blueshield/pdw9 + + backpack_contents = list( + /obj/item/camera_bug/ert = 1, + /obj/item/door_remote/omni = 1, + /obj/item/restraints/handcuffs = 1, + /obj/item/clothing/shoes/magboots = 1, + /obj/item/storage/box/mindshield = 1 + ) + +/* Security */ +/datum/outfit/job/response_team/security/red + name = "RT Security (Red)" + shoes = /obj/item/clothing/shoes/combat + back = /obj/item/mod/control/pre_equipped/responsory/red/security + suit = null + suit_store = /obj/item/gun/energy/gun/blueshield/pdw9 + glasses = /obj/item/clothing/glasses/sunglasses + mask = /obj/item/clothing/mask/gas/sechailer + l_hand = /obj/item/gun/projectile/automatic/lasercarbine + + backpack_contents = list( + /obj/item/clothing/shoes/magboots = 1, + /obj/item/storage/box/handcuffs = 1, + /obj/item/grenade/flashbang = 2, + /obj/item/ammo_box/magazine/laser/ert = 2 + ) + /* Engineer */ /datum/outfit/job/centcom/response_team/engineer/amber suit = /obj/item/clothing/suit/space/ert_engineer head = /obj/item/clothing/head/helmet/space/ert_engineer +/datum/outfit/job/response_team/engineer/red + name = "RT Engineer (Red)" + shoes = /obj/item/clothing/shoes/magboots/advance + back = /obj/item/mod/control/pre_equipped/responsory/red/engineer + suit = null + suit_store = /obj/item/tank/internals/emergency_oxygen/double + glasses = /obj/item/clothing/glasses/meson/engine + mask = /obj/item/clothing/mask/gas + l_pocket = /obj/item/t_scanner + r_pocket = /obj/item/melee/classic_baton/telescopic + + backpack_contents = list( + /obj/item/rcd/preloaded = 1, + /obj/item/rcd_ammo = 3, + /obj/item/gun/energy/gun = 1, + /obj/item/rpd/bluespace = 1, + /obj/item/storage/bag/construction = 1 + ) + +/* Medic */ +/datum/outfit/job/response_team/medic/red + name = "RT Medic (Red)" + rt_mob_job = "ERT Medical" + shoes = /obj/item/clothing/shoes/magboots + back = /obj/item/mod/control/pre_equipped/responsory/red/medic + suit = null + glasses = /obj/item/clothing/glasses/hud/health/sunglasses + suit_store = /obj/item/gun/energy/gun + belt = /obj/item/defibrillator/compact/advanced/loaded + l_pocket = /obj/item/reagent_containers/hypospray/safety/ert + r_pocket = /obj/item/melee/classic_baton/telescopic + + backpack_contents = list( + /obj/item/clothing/mask/surgical = 1, + /obj/item/storage/firstaid/ert = 1, + /obj/item/storage/box/autoinjectors = 1, + /obj/item/roller/holo = 1, + /obj/item/bodyanalyzer = 1, + /obj/item/handheld_defibrillator = 1, + /obj/item/storage/pill_bottle/ert_red = 1, + /obj/item/storage/pill_bottle/patch_pack/ert = 1, + /obj/item/soap/nanotrasen = 1 + ) + +/* Paranormal */ +/datum/outfit/job/response_team/paranormal/red + name = "RT Paranormal (Red)" + back = /obj/item/mod/control/pre_equipped/responsory/red/chaplain + suit = null + suit_store = /obj/item/gun/energy/gun + r_pocket = /obj/item/nullrod/ert + glasses = /obj/item/clothing/glasses/sunglasses + + backpack_contents = list( + /obj/item/clothing/shoes/magboots = 1, + /obj/item/storage/box/zipties = 1, + /obj/item/flashlight/seclite = 1, + /obj/item/storage/bible = 1 + ) + +/* Janitor */ +/datum/outfit/job/response_team/janitorial/red + name = "RT Janitor (Red)" + back = /obj/item/mod/control/pre_equipped/responsory/red/janitor + suit = null + glasses = /obj/item/clothing/glasses/hud/janitor/sunglasses + shoes = /obj/item/clothing/shoes/galoshes/dry/lightweight + r_pocket = /obj/item/scythe/tele + suit_store = /obj/item/gun/energy/gun + + // MARK: Skrell /datum/outfit/admin/sdtf name = "Skrellian Defence Task Forces Marine" diff --git a/modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_clothing.dm b/modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_clothing.dm index 759c55a79b75..b61830a682c4 100644 --- a/modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_clothing.dm +++ b/modular_ss220/species/code/mob/living/carbon/human/eat/eat_list_clothing.dm @@ -49,7 +49,7 @@ /obj/item/clothing/accessory/legal_badge/Initialize(mapload) . = ..() material_type = MATERIAL_CLASS_NONE -/obj/item/clothing/accessory/necklace/Initialize(mapload) +/obj/item/clothing/neck/necklace/Initialize(mapload) . = ..() material_type = MATERIAL_CLASS_NONE /obj/item/clothing/accessory/medal/Initialize(mapload) diff --git a/modular_ss220/text_to_speech/code/tts_subsystem.dm b/modular_ss220/text_to_speech/code/tts_subsystem.dm index 02bdfafdf1a6..350ce993ba9d 100644 --- a/modular_ss220/text_to_speech/code/tts_subsystem.dm +++ b/modular_ss220/text_to_speech/code/tts_subsystem.dm @@ -94,6 +94,10 @@ SUBSYSTEM_DEF(tts220) "вкд" = "Вэ Ка Дэ", "нтр" = "Эн Тэ Эр", "пнт" = "Пэ Эн Тэ", + "птн" = "Пэ Тэ Эн", + "нст" = "Эн Эс Тэ", + "нкт" = "Эн Кэ Тэ", + "nct" = "Эн Кэ Тэ", "авд" = "А Вэ Дэ", "пнв" = "Пэ Эн Вэ", "ссд" = "Эс Эс Дэ", diff --git a/paradise.dme b/paradise.dme index d0c7b2a6dd2f..0f8cfac0a1b9 100644 --- a/paradise.dme +++ b/paradise.dme @@ -83,6 +83,7 @@ #include "code\__DEFINES\lighting_defines.dm" #include "code\__DEFINES\logs.dm" #include "code\__DEFINES\machines.dm" +#include "code\__DEFINES\magic_defines.dm" #include "code\__DEFINES\mappers.dm" #include "code\__DEFINES\martial_arts.dm" #include "code\__DEFINES\MC.dm" @@ -109,8 +110,8 @@ #include "code\__DEFINES\radio_defines.dm" #include "code\__DEFINES\reagents_defines.dm" #include "code\__DEFINES\regex.dm" -#include "code\__DEFINES\revolution_defines.dm" #include "code\__DEFINES\resonator_defines.dm" +#include "code\__DEFINES\revolution_defines.dm" #include "code\__DEFINES\role_preferences.dm" #include "code\__DEFINES\rolebans.dm" #include "code\__DEFINES\rust.dm" @@ -430,6 +431,7 @@ #include "code\datums\cache\crew.dm" #include "code\datums\cache\powermonitor.dm" #include "code\datums\components\_component.dm" +#include "code\datums\components\anti_magic.dm" #include "code\datums\components\boomerang.dm" #include "code\datums\components\boss_music.dm" #include "code\datums\components\caltrop.dm" @@ -722,6 +724,7 @@ #include "code\game\area\ss13_areas\legal_areas.dm" #include "code\game\area\ss13_areas\maintenance_areas.dm" #include "code\game\area\ss13_areas\medical_areas.dm" +#include "code\game\area\ss13_areas\procedure_areas.dm" #include "code\game\area\ss13_areas\public_areas.dm" #include "code\game\area\ss13_areas\science_areas.dm" #include "code\game\area\ss13_areas\security_areas.dm" @@ -931,8 +934,8 @@ #include "code\game\machinery\computer\prisoner.dm" #include "code\game\machinery\computer\robot_control.dm" #include "code\game\machinery\computer\security_records.dm" -#include "code\game\machinery\computer\sm_monitor.dm" #include "code\game\machinery\computer\singulo_monitor.dm" +#include "code\game\machinery\computer\sm_monitor.dm" #include "code\game\machinery\computer\station_alert.dm" #include "code\game\machinery\computer\arcade_games\recruiter.dm" #include "code\game\machinery\doors\airlock.dm" @@ -1059,6 +1062,7 @@ #include "code\game\objects\effects\spawners\random\misc_spawners.dm" #include "code\game\objects\effects\spawners\random\plushie_spawners.dm" #include "code\game\objects\effects\spawners\random\random_spawner.dm" +#include "code\game\objects\effects\spawners\random\toy_spawners.dm" #include "code\game\objects\effects\spawners\random\trash_spawners.dm" #include "code\game\objects\effects\spawners\random\pool\pool_spawner.dm" #include "code\game\objects\effects\spawners\random\pool\spawn_pool.dm" @@ -1309,7 +1313,6 @@ #include "code\game\objects\items\weapons\tanks\tank_types.dm" #include "code\game\objects\items\weapons\tanks\tanks.dm" #include "code\game\objects\items\weapons\tanks\watertank.dm" -#include "code\game\objects\random\random.dm" #include "code\game\objects\structures\aliens.dm" #include "code\game\objects\structures\barsign.dm" #include "code\game\objects\structures\bedsheet_bin.dm" @@ -1347,6 +1350,7 @@ #include "code\game\objects\structures\nest.dm" #include "code\game\objects\structures\noticeboard.dm" #include "code\game\objects\structures\plasma_geyser.dm" +#include "code\game\objects\structures\plasmafire_generator.dm" #include "code\game\objects\structures\plasticflaps.dm" #include "code\game\objects\structures\pondering_orb.dm" #include "code\game\objects\structures\railings.dm" @@ -1549,6 +1553,7 @@ #include "code\modules\antagonists\changeling\powers\transform.dm" #include "code\modules\antagonists\cult\datum_cultist.dm" #include "code\modules\antagonists\cult\team_cult.dm" +#include "code\modules\antagonists\event\datum_eventmisc.dm" #include "code\modules\antagonists\mind_flayer\flayer_datum.dm" #include "code\modules\antagonists\mind_flayer\flayer_power.dm" #include "code\modules\antagonists\mind_flayer\mindflayer_gamemode.dm" @@ -1750,6 +1755,7 @@ #include "code\modules\client\preference\loadout\loadout_glasses.dm" #include "code\modules\client\preference\loadout\loadout_gloves.dm" #include "code\modules\client\preference\loadout\loadout_hat.dm" +#include "code\modules\client\preference\loadout\loadout_neck.dm" #include "code\modules\client\preference\loadout\loadout_racial.dm" #include "code\modules\client\preference\loadout\loadout_shoes.dm" #include "code\modules\client\preference\loadout\loadout_suit.dm" @@ -1782,6 +1788,9 @@ #include "code\modules\clothing\masks\misc_masks.dm" #include "code\modules\clothing\masks\voicemodulator.dm" #include "code\modules\clothing\neck\cloaks.dm" +#include "code\modules\clothing\neck\neck.dm" +#include "code\modules\clothing\neck\necklace.dm" +#include "code\modules\clothing\neck\scarfs.dm" #include "code\modules\clothing\patreon\hats.dm" #include "code\modules\clothing\patreon\patreon_glasses.dm" #include "code\modules\clothing\shoes\colour.dm" diff --git a/rust/Cargo.lock b/rust/Cargo.lock index a3c486a8d949..ffbbc755efac 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -36,6 +36,21 @@ dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + [[package]] name = "atomic_float" version = "1.0.0" @@ -78,16 +93,14 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "bindgen" -version = "0.69.4" +version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ "bitflags 2.5.0", "cexpr", "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", + "itertools", "log", "prettyplease", "proc-macro2", @@ -96,7 +109,6 @@ dependencies = [ "rustc-hash", "shlex", "syn 2.0.60", - "which", ] [[package]] @@ -129,22 +141,20 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byondapi" -version = "0.4.7" -source = "git+https://github.com/spacestation13/byondapi-rs.git#aa4addd95c33b66652b3e35e7401a0ad82aa028e" +version = "0.4.11" +source = "git+https://github.com/spacestation13/byondapi-rs.git#c3b15e8574eca87865c640616029e6ea72da4cd1" dependencies = [ "byondapi-macros", "byondapi-sys", "inventory", - "lazy_static", "libloading", "num_enum", - "walkdir", ] [[package]] name = "byondapi-macros" -version = "0.1.2" -source = "git+https://github.com/spacestation13/byondapi-rs.git#aa4addd95c33b66652b3e35e7401a0ad82aa028e" +version = "0.1.3" +source = "git+https://github.com/spacestation13/byondapi-rs.git#c3b15e8574eca87865c640616029e6ea72da4cd1" dependencies = [ "proc-macro2", "quote", @@ -153,14 +163,12 @@ dependencies = [ [[package]] name = "byondapi-sys" -version = "0.11.1" -source = "git+https://github.com/spacestation13/byondapi-rs.git#aa4addd95c33b66652b3e35e7401a0ad82aa028e" +version = "0.11.2" +source = "git+https://github.com/spacestation13/byondapi-rs.git#c3b15e8574eca87865c640616029e6ea72da4cd1" dependencies = [ "bindgen", "doxygen-rs", "libloading", - "rustc_version", - "walkdir", ] [[package]] @@ -189,6 +197,15 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "cc" +version = "1.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d6dbb628b8f8555f86d0323c2eb39e3ec81901f4b83e091db8a6a76d316a333" +dependencies = [ + "shlex", +] + [[package]] name = "cexpr" version = "0.6.0" @@ -204,6 +221,20 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chrono" +version = "0.4.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-targets", +] + [[package]] name = "clang-sys" version = "1.7.0" @@ -227,6 +258,12 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52fdfaf2bee6357023bf7f95b15a8ef0b82759d2bce705cc45efcae9ae10f0ff" +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + [[package]] name = "crc32fast" version = "1.4.2" @@ -325,16 +362,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" -[[package]] -name = "errno" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" -dependencies = [ - "libc", - "windows-sys", -] - [[package]] name = "eyre" version = "0.6.12" @@ -345,6 +372,15 @@ dependencies = [ "once_cell", ] +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + [[package]] name = "flate2" version = "1.0.33" @@ -411,12 +447,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] -name = "home" -version = "0.5.9" +name = "iana-time-zone" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ - "windows-sys", + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", ] [[package]] @@ -480,15 +530,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.11" @@ -496,16 +537,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" +name = "js-sys" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +dependencies = [ + "once_cell", + "wasm-bindgen", +] [[package]] name = "libc" @@ -515,20 +554,14 @@ checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libloading" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", "windows-targets", ] -[[package]] -name = "linux-raw-sys" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" - [[package]] name = "lodepng" version = "3.10.7" @@ -576,6 +609,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ "adler2", + "simd-adler32", ] [[package]] @@ -630,18 +664,18 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -706,6 +740,19 @@ dependencies = [ "siphasher", ] +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -887,40 +934,20 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - -[[package]] -name = "rustix" -version = "0.38.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags 2.5.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys", -] - [[package]] name = "rustlibs" -version = "1.0.0" +version = "2.0.0" dependencies = [ "atomic_float", "bitflags 2.5.0", "byondapi", + "chrono", "diff", "dmm-tools", "eyre", "fxhash", - "itertools 0.10.5", + "itertools", + "png", "rand", "regex", "scc", @@ -966,12 +993,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" -[[package]] -name = "semver" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" - [[package]] name = "serde" version = "1.0.210" @@ -1010,6 +1031,12 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "siphasher" version = "0.3.11" @@ -1122,17 +1149,59 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] -name = "which" -version = "4.4.2" +name = "wasm-bindgen" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" dependencies = [ - "either", - "home", + "cfg-if", "once_cell", - "rustix", + "wasm-bindgen-macro", ] +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn 2.0.60", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.60", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" + [[package]] name = "winapi" version = "0.3.9" @@ -1164,6 +1233,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets", +] + [[package]] name = "windows-sys" version = "0.52.0" diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 06e948f3bec0..77be2902dbb9 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rustlibs" -version = "1.0.0" +version = "2.0.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -33,3 +33,5 @@ serde_json = { version = "1.0" } walkdir = "2.5.0" # regex regex = "1.10.5" +png = "0.17.16" +chrono = "0.4.39" diff --git a/rust/src/logging/mod.rs b/rust/src/logging/mod.rs index fc5312ae5941..97d524f8773c 100644 --- a/rust/src/logging/mod.rs +++ b/rust/src/logging/mod.rs @@ -1,16 +1,14 @@ +use byondapi::global_call::call_global; +use byondapi::prelude::ByondValue; +use byondapi::threadsync::thread_sync; +use chrono::prelude::Utc; +use eyre; + /// Call stack trace dm method with message. -pub(crate) fn dm_call_stack_trace(msg: String) { - let msg = byondapi::value::ByondValue::try_from(msg).unwrap(); - // this is really ugly, cause we want to get id/ref to a proc name string - // that is already allocated, and don't want to allocate a new string entirely - byondapi::global_call::call_global_id( - { - static STRING_ID: std::sync::OnceLock = std::sync::OnceLock::new(); - *STRING_ID.get_or_init(|| byondapi::byond_string::str_id_of("_stack_trace").unwrap()) - }, - &[msg], - ) - .unwrap(); +pub(crate) fn dm_call_stack_trace(msg: String) -> eyre::Result<()> { + call_global("stack_trace", &[ByondValue::new_str(msg)?])?; + + Ok(()) } /// Panic handler, called on unhandled errors. @@ -18,7 +16,17 @@ pub(crate) fn dm_call_stack_trace(msg: String) { pub(crate) fn setup_panic_handler() { std::panic::set_hook(Box::new(|info| { let msg = format!("Panic \n {:#?}", info); - let _ = std::fs::write("./rustlibs_panic.txt", msg.clone()); - dm_call_stack_trace(msg); + let msg_copy = msg.clone(); + let _ = thread_sync( + || -> ByondValue { + if let Err(error) = dm_call_stack_trace(msg_copy) { + let second_msg = format!("BYOND error \n {:#?}", error); + let _ = std::fs::write(Utc::now().format("data/rustlibs_dm_trace_failed_%Y%m%d_%H%M%S.txt").to_string(), second_msg.clone()); + } + Default::default() + }, + true, + ); + let _ = std::fs::write(Utc::now().format("data/rustlibs_panic_%Y%m%d_%H%M%S.txt").to_string(), msg.clone()); })) } diff --git a/rust/src/mapmanip/mod.rs b/rust/src/mapmanip/mod.rs index 70bc79b8cf34..f9c7f25b0df7 100644 --- a/rust/src/mapmanip/mod.rs +++ b/rust/src/mapmanip/mod.rs @@ -170,7 +170,7 @@ fn mapmanip_submap_extract_insert( /// #[byondapi::bind] -fn mapmanip_read_dmm_file(path: ByondValue) { +fn mapmanip_read_dmm_file(path: ByondValue) -> eyre::Result { internal_mapmanip_read_dmm_file(path) } @@ -235,7 +235,7 @@ pub unsafe extern "C" fn read_dmm_file_ffi( ) { Ok(val) => val, Err(info) => { - dm_call_stack_trace(format!("Rustlibs ERROR read_dmm_file_ffi() \n {info:#?}")); + let _ = dm_call_stack_trace(format!("Rustlibs ERROR read_dmm_file_ffi() \n {info:#?}")); ByondValue::null() } } diff --git a/rust/src/milla/api.rs b/rust/src/milla/api.rs index b5393a58859a..d6fb9845d30d 100644 --- a/rust/src/milla/api.rs +++ b/rust/src/milla/api.rs @@ -2,6 +2,7 @@ use crate::logging; use crate::milla::constants::*; use crate::milla::conversion; use crate::milla::model::*; +use crate::milla::simulate; use crate::milla::statics::*; use crate::milla::tick; use byondapi::global_call::call_global; @@ -9,20 +10,22 @@ use byondapi::map::byond_xyz; use byondapi::prelude::*; use eyre::eyre; use eyre::Result; +use std::env; use std::thread; use std::time::Instant; /// BYOND API for ensuring the buffers are usable. #[byondapi::bind] -fn milla_initialize(byond_z: ByondValue) { +fn milla_initialize(byond_z: ByondValue) -> eyre::Result { logging::setup_panic_handler(); + env::set_var("RUST_BACKTRACE", "1"); let z = f32::try_from(byond_z)? as i32 - 1; internal_initialize(z)?; - Ok(Default::default()) + Ok(ByondValue::null()) } /// Ensure that buffers are available. -pub(crate) fn internal_initialize(z: i32) -> Result<(), eyre::Error> { +pub(crate) fn internal_initialize(z: i32) -> eyre::Result { if z >= MAX_Z_LEVELS { return Err(eyre!( "Suspiciously high Z level {} initialized, update MAX_Z_LEVELS if this is intentional.", @@ -31,7 +34,7 @@ pub(crate) fn internal_initialize(z: i32) -> Result<(), eyre::Error> { } let buffers = BUFFERS.get_or_init(Buffers::new); buffers.init_to(z); - Ok(Default::default()) + Ok(ByondValue::null()) } /// BYOND API for defining an environment that a tile can be exposed to. @@ -44,7 +47,7 @@ fn milla_create_environment( sleeping_agent: ByondValue, agent_b: ByondValue, temperature: ByondValue, -) { +) -> eyre::Result { logging::setup_panic_handler(); Ok(ByondValue::from(internal_create_environment( conversion::byond_to_option_f32(oxygen)?, @@ -112,7 +115,9 @@ fn milla_set_tile( agent_b: ByondValue, temperature: ByondValue, _innate_heat_capacity: ByondValue, -) { + hotspot_temperature: ByondValue, + hotspot_volume: ByondValue, +) -> eyre::Result { logging::setup_panic_handler(); let (x, y, z) = byond_xyz(&turf)?.coordinates(); internal_set_tile( @@ -136,8 +141,10 @@ fn milla_set_tile( // Temporarily disabled to better match the existing system. //bounded_byond_to_option_f32(innate_heat_capacity, 0.0, f32::INFINITY)?, Some(0.0), + conversion::bounded_byond_to_option_f32(hotspot_temperature, 0.0, f32::INFINITY)?, + conversion::bounded_byond_to_option_f32(hotspot_volume, 0.0, 1.0)?, )?; - Ok(Default::default()) + Ok(ByondValue::null()) } /// BYOND API for setting the directions a tile is airtight in. @@ -149,7 +156,7 @@ fn milla_set_tile_airtight( airtight_east: ByondValue, airtight_south: ByondValue, airtight_west: ByondValue, -) { +) -> eyre::Result { logging::setup_panic_handler(); let (x, y, z) = byond_xyz(&turf)?.coordinates(); internal_set_tile( @@ -171,8 +178,10 @@ fn milla_set_tile_airtight( None, None, None, + None, + None, )?; - Ok(Default::default()) + Ok(ByondValue::null()) } /// Rust version of setting the atmos details of a tile. @@ -196,6 +205,8 @@ pub(crate) fn internal_set_tile( temperature: Option, thermal_energy: Option, innate_heat_capacity: Option, + hotspot_temperature: Option, + hotspot_volume: Option, ) -> Result<()> { let buffers = BUFFERS.get().ok_or(eyre!("BUFFERS not initialized."))?; let active = buffers.get_active().read().unwrap(); @@ -272,25 +283,45 @@ pub(crate) fn internal_set_tile( if let Some(value) = thermal_energy { tile.thermal_energy = value; } + if let Some(value) = hotspot_temperature { + tile.hotspot_temperature = value; + } + if let Some(value) = hotspot_volume { + tile.hotspot_volume = value; + } Ok(()) } /// BYOND API for fetching the atmos details of a tile. #[byondapi::bind] -fn milla_get_tile(turf: ByondValue, list: ByondValue) { +fn milla_get_tile(turf: ByondValue, list: ByondValue) -> eyre::Result { logging::setup_panic_handler(); let (x, y, z) = byond_xyz(&turf)?.coordinates(); - let tile = internal_get_tile(x as i32 - 1, y as i32 - 1, z as i32 - 1)?; - let vec: Vec = (&tile).into(); + let vec: Vec; + if let Ok(tile) = internal_get_tile(x as i32 - 1, y as i32 - 1, z as i32 - 1) { + vec = (&tile).into(); + } else { + // MILLA has died and is unrecoverable. + // Uh... uh... report everything as breathable air, I guess? + let mut air = Tile::new(); + air.gases.set_oxygen(20.0); + air.gases.set_nitrogen(80.0); + air.thermal_energy = air.heat_capacity() * T20C; + vec = (&air).into(); + } list.write_list(vec.as_slice())?; - Ok(Default::default()) + Ok(ByondValue::null()) } /// Rust version of fetching the atmos details of a tile. pub(crate) fn internal_get_tile(x: i32, y: i32, z: i32) -> Result { let buffers = BUFFERS.get().ok_or(eyre!("BUFFERS not initialized."))?; - let active = buffers.get_active().read().unwrap(); + let maybe_active = buffers.get_active().read(); + if maybe_active.is_err() { + return Err(eyre!("MILLA buffers have been poisoned.")); + } + let active = maybe_active.unwrap(); let z_level = active.0[z as usize].read().unwrap(); Ok(z_level .get_tile(ZLevel::maybe_get_index(x, y).ok_or(eyre!( @@ -308,7 +339,7 @@ pub(crate) fn internal_get_tile(x: i32, y: i32, z: i32) -> Result { /// * Turfs that just passed the threshold for showing plasma or sleeping gas. /// * Turfs with strong airflow out. #[byondapi::bind] -fn milla_get_interesting_tiles() { +fn milla_get_interesting_tiles() -> eyre::Result { logging::setup_panic_handler(); let interesting_tiles = INTERESTING_TILES.lock().unwrap(); let byond_interesting_tiles = interesting_tiles @@ -320,7 +351,7 @@ fn milla_get_interesting_tiles() { /// BYOND API for getting a single random interesting tile. #[byondapi::bind] -fn milla_get_random_interesting_tile() { +fn milla_get_random_interesting_tile() -> eyre::Result { logging::setup_panic_handler(); let interesting_tiles = INTERESTING_TILES.lock().unwrap(); let length = interesting_tiles.len() as f32; @@ -342,7 +373,8 @@ fn milla_reduce_superconductivity( east: ByondValue, south: ByondValue, west: ByondValue, -) { +) -> eyre::Result { + logging::setup_panic_handler(); let (x, y, z) = byond_xyz(&turf)?.coordinates(); let rust_north = conversion::bounded_byond_to_option_f32(north, 0.0, 1.0)?; let rust_east = conversion::bounded_byond_to_option_f32(east, 0.0, 1.0)?; @@ -357,7 +389,7 @@ fn milla_reduce_superconductivity( rust_south, rust_west, )?; - Ok(Default::default()) + Ok(ByondValue::null()) } /// Rust version of capping the superconductivity of a tile. @@ -371,7 +403,7 @@ pub(crate) fn internal_reduce_superconductivity( east: Option, south: Option, west: Option, -) -> Result<(), eyre::Error> { +) -> eyre::Result<()> { let buffers = BUFFERS.get().ok_or(eyre!("BUFFERS not initialized."))?; let active = buffers.get_active().read().unwrap(); let maybe_z_level = active.0[z as usize].try_write(); @@ -404,10 +436,11 @@ pub(crate) fn internal_reduce_superconductivity( /// BYOND API for resetting the superconductivity of a tile. #[byondapi::bind] -fn milla_reset_superconductivity(turf: ByondValue) { +fn milla_reset_superconductivity(turf: ByondValue) -> eyre::Result { + logging::setup_panic_handler(); let (x, y, z) = byond_xyz(&turf)?.coordinates(); internal_reset_superconductivity(x as i32 - 1, y as i32 - 1, z as i32 - 1)?; - Ok(Default::default()) + Ok(ByondValue::null()) } /// Rust version of resetting the superconductivity of a tile. @@ -434,27 +467,185 @@ pub(crate) fn internal_reset_superconductivity(x: i32, y: i32, z: i32) -> Result Ok(()) } -/// BYOND API for starting an atmos tick. +/// BYOND API for a heat source creating a hotspot on a tile. #[byondapi::bind] -fn milla_spawn_tick_thread() { +fn milla_create_hotspot( + turf: ByondValue, + temperature: ByondValue, + volume: ByondValue, +) -> eyre::Result { logging::setup_panic_handler(); + let (x, y, z) = byond_xyz(&turf)?.coordinates(); + let rust_temperature = + conversion::bounded_byond_to_option_f32(temperature, 0.0, f32::INFINITY)? + .ok_or(eyre!("Hotspot temperature is required.."))?; + let rust_volume = conversion::bounded_byond_to_option_f32(volume, 0.0, TILE_VOLUME)? + .ok_or(eyre!("Hotspot volume is required.."))?; + + internal_create_hotspot( + x as i32 - 1, + y as i32 - 1, + z as i32 - 1, + rust_temperature, + rust_volume / TILE_VOLUME, + )?; + Ok(ByondValue::null()) +} + +/// Rust version of a heat source creating a hotspot. +pub(crate) fn internal_create_hotspot( + x: i32, + y: i32, + z: i32, + temperature: f32, + volume: f32, +) -> Result<()> { + let buffers = BUFFERS.get().ok_or(eyre!("BUFFERS not initialized."))?; + let active = buffers.get_active().read().unwrap(); + let maybe_z_level = active.0[z as usize].try_write(); + if maybe_z_level.is_err() { + return Err(eyre!( + "Tried to write during asynchronous, read-only atmos. Use a /datum/milla_safe/..." + )); + } + let mut z_level = maybe_z_level.unwrap(); + let tile = z_level.get_tile_mut(ZLevel::maybe_get_index(x, y).ok_or(eyre!( + "Bad coordinates ({}, {}, {})", + x + 1, + y + 1, + z + 1 + ))?); + + if temperature <= tile.temperature() || volume == 0.0 { + return Ok(()); + } + + if tile.hotspot_volume == 0.0 { + tile.hotspot_temperature = temperature; + tile.hotspot_volume = volume; + return Ok(()); + } + + let excess_thermal_energy = (temperature - tile.temperature()) * tile.heat_capacity() * volume; + if excess_thermal_energy > 0.0 { + simulate::adjust_hotspot(tile, excess_thermal_energy); + } + + Ok(()) +} + +/// BYOND API for tracking the pressure of all nearby tiles next tick. +#[byondapi::bind] +fn milla_track_pressure_tiles( + turf: ByondValue, + byond_radius: ByondValue, +) -> eyre::Result { + logging::setup_panic_handler(); + let (x, y, z) = byond_xyz(&turf)?.coordinates(); + let radius = conversion::bounded_byond_to_option_f32(byond_radius, 0.0, MAP_SIZE as f32)? + .ok_or(eyre!("Invalid radius: {:#?}", byond_radius))? as i32; + + internal_track_pressure_tiles(x as i32 - 1, y as i32 - 1, z as i32 - 1, radius)?; + Ok(ByondValue::null()) +} + +/// Rust version of tracking the pressure of all nearby tiles next tick. +fn internal_track_pressure_tiles(x: i32, y: i32, z: i32, radius: i32) -> eyre::Result<()> { + let mut tracked_pressure_tiles = TRACKED_PRESSURE_TILES.lock().unwrap(); + for dx in -radius..=radius { + if x + dx < 0 { + continue; + } + if x + dx >= MAP_SIZE as i32 { + break; + } + for dy in -radius..=radius { + if y + dy < 0 { + continue; + } + if y + dy >= MAP_SIZE as i32 { + break; + } + tracked_pressure_tiles.push((x + dx, y + dy, z as usize)); + } + } + + Ok(()) +} + +/// BYOND API for getting the tracked pressure tiles. +#[byondapi::bind] +fn milla_get_tracked_pressure_tiles() -> eyre::Result { + logging::setup_panic_handler(); + let tracked_pressures = internal_get_tracked_pressure_tiles()? + .iter() + .map(|v: &f32| ByondValue::from(*v)) + .collect::>(); + Ok(tracked_pressures.as_slice().try_into()?) +} + +/// Rust version of getting the tracked pressure tiles. +fn internal_get_tracked_pressure_tiles() -> eyre::Result> { + let buffers = BUFFERS.get().ok_or(eyre!("BUFFERS not initialized."))?; + let inactive = buffers.get_inactive().read().unwrap(); + let mut tracked_pressure_tiles = TRACKED_PRESSURE_TILES.lock().unwrap(); + + let mut tiles_by_zlevel: Vec> = Vec::new(); + for _z in 0..inactive.0.len() { + tiles_by_zlevel.push(Vec::new()); + } + + for (x, y, z) in tracked_pressure_tiles.drain(..) { + if z < tiles_by_zlevel.len() { + tiles_by_zlevel[z].push((x, y)); + } + } + + // This is a bit gross, but the easiest way to return the coordinates and data is to cast the + // coordinates to f32. It feels bad in Rust, but everything is an f32 in BYOND, so it's more or + // less a no-op. + let mut tracked_pressures: Vec = Vec::new(); + for z in 0..tiles_by_zlevel.len() { + let z_level = inactive.0[z as usize].read().unwrap(); + for (x, y) in &tiles_by_zlevel[z] { + if let Some(index) = ZLevel::maybe_get_index(*x, *y) { + tracked_pressures.push(*x as f32 + 1.0); + tracked_pressures.push(*y as f32 + 1.0); + tracked_pressures.push(z as f32 + 1.0); + tracked_pressures.push(z_level.get_tile(index).pressure()); + } + } + } + + Ok(tracked_pressures) +} + +/// BYOND API for starting an atmos tick. +#[byondapi::bind] +fn milla_spawn_tick_thread() -> eyre::Result { thread::spawn(|| -> Result<(), eyre::Error> { let now = Instant::now(); let buffers = BUFFERS.get_or_init(Buffers::new); - tick::tick(buffers)?; + let result = tick::tick(buffers); TICK_TIME.store( now.elapsed().as_millis() as usize, std::sync::atomic::Ordering::Relaxed, ); - call_global("milla_tick_finished", &[])?; + if result.is_ok() { + call_global("milla_tick_finished", &[])?; + } else { + let err = format!("MILLA tick error:\n----\n{:#?}\n----", result); + call_global("milla_tick_error", &[ByondValue::new_str(err)?])?; + } + Ok(()) }); - Ok(Default::default()) + Ok(ByondValue::null()) } /// BYOND API for asking how long the prior tick took. #[byondapi::bind] -fn milla_get_tick_time() { +fn milla_get_tick_time() -> eyre::Result { logging::setup_panic_handler(); Ok(ByondValue::from( TICK_TIME.load(std::sync::atomic::Ordering::Relaxed) as f32, @@ -492,6 +683,8 @@ mod tests { None, None, Some(1.0), + None, + Some(1.0), ) .unwrap(); @@ -507,6 +700,8 @@ mod tests { } assert_eq!(tile.thermal_energy, 0.0); assert_eq!(tile.innate_heat_capacity, 1.0); + assert_eq!(tile.hotspot_temperature, 0.0); + assert_eq!(tile.hotspot_volume, 1.0); } // Set a different set of arbitrary data. @@ -529,6 +724,8 @@ mod tests { None, Some(1.0), None, + Some(1.0), + None, ) .unwrap(); @@ -544,6 +741,8 @@ mod tests { } assert_eq!(tile.thermal_energy, 1.0); assert_eq!(tile.innate_heat_capacity, 0.0); + assert_eq!(tile.hotspot_temperature, 1.0); + assert_eq!(tile.hotspot_volume, 0.0); } } } diff --git a/rust/src/milla/constants.rs b/rust/src/milla/constants.rs index fa0e6e8569bb..d0f4d8b9160e 100644 --- a/rust/src/milla/constants.rs +++ b/rust/src/milla/constants.rs @@ -4,6 +4,12 @@ pub(crate) const MAX_Z_LEVELS: i32 = 14; /// How big is the map? Assumed square. pub(crate) const MAP_SIZE: usize = 255; +/// One atmosphere, in kPa. +pub(crate) const ONE_ATMOSPHERE: f32 = 101.325; + +/// The temperature of space, in Kelvin +pub(crate) const TCMB: f32 = 2.725; + /// 0 degrees Celsius, in Kelvin pub(crate) const T0C: f32 = 273.15; @@ -19,17 +25,15 @@ pub(crate) const R_IDEAL_GAS_EQUATION: f32 = 8.31; /// How big a tile is, in liters. pub(crate) const TILE_VOLUME: f32 = 2500.0; -/// How many moles are needed to make toxins visible. -pub(crate) const TOXINS_VISIBILITY_MOLES: f32 = 0.5; +/// How many moles of toxins are needed for a fire to exist. For reasons, this is also how hany +/// moles are needed to be visible. +pub(crate) const TOXINS_MIN_VISIBILITY_MOLES: f32 = 0.5; /// How many moles are needed to make sleeping gas visible. pub(crate) const SLEEPING_GAS_VISIBILITY_MOLES: f32 = 1.0; -/// How many moles of each gas are needed before a reaction should happen. -pub(crate) const REACTION_SIGNIFICANCE_MOLES: f32 = 0.5; - -/// How much of the tile a reaction's gas needs to occupy to happen. -pub(crate) const REACTION_SIGNIFICANCE_RATIO: f32 = 0.01; +/// How much stuff needs to react before we think hotspots and BYOND care. +pub(crate) const REACTION_SIGNIFICANCE_MOLES: f32 = 0.1; /// How hot does it need to be for Agent B to work? pub(crate) const AGENT_B_CONVERSION_TEMP: f32 = 900.0; @@ -58,12 +62,25 @@ pub(crate) const GAS_AGENT_B: usize = 5; /// How many gases are there? pub(crate) const GAS_COUNT: usize = GAS_AGENT_B + 1; -/// The two axes, Y and X. The order is arbitrary, but will break the copy from active to inactive -/// if changed. -pub(crate) const AXES: [(i32, i32); 2] = [(0, 1), (1, 0)]; +/// The two axes, Y and X. The order is arbitrary, but may break things if changed. +pub(crate) const AXES: [(i32, i32); 2] = [(1, 0), (0, 1)]; + +/// The index of the X axis in AXES. +pub(crate) const AXIS_X: usize = 0; +/// The index of the Y axis in AXES. +pub(crate) const AXIS_Y: usize = 1; + +/// The four directions: up, down, right, and left. The order is arbitrary, but may break things if changed. +pub(crate) const DIRECTIONS: [(i32, i32); 4] = [(1, 0), (-1, 0), (0, -1), (0, 1)]; + +/// Gives the axis for each direction. +pub(crate) const DIRECTION_AXIS: [usize; 4] = [0, 0, 1, 1]; -/// The four cardinal directions. The order is arbitrary, and doesn't matter. -pub(crate) const DIRECTIONS: [(i32, i32); 4] = [(0, 1), (1, 0), (0, -1), (-1, 0)]; +/// Index for incoming gas. +pub(crate) const GAS_FLOW_IN: usize = 0; + +/// Index for outgoing gas. +pub(crate) const GAS_FLOW_OUT: usize = 1; // The numbers here are completely wrong for actual gases, but they're what LINDA used, so we'll // keep them for now. @@ -102,17 +119,17 @@ pub(crate) const PLASMA_BURN_MIN_TEMP: f32 = 100.0 + T0C; /// How hot does it need to be for a plasma fire to work as well as possible? pub(crate) const PLASMA_BURN_OPTIMAL_TEMP: f32 = 1370.0 + T0C; -/// How much oxygen needs to be available per unit of plasma. -pub(crate) const PLASMA_BURN_REQUIRED_OXYGEN_AVAILABILITY: f32 = 10.0; - /// How much of the plasma are we willing to burn each tick? -pub(crate) const PLASMA_BURN_MAX_RATIO: f32 = 0.25; +pub(crate) const PLASMA_BURN_MAX_RATIO: f32 = 0.05; + +/// How much of the plasma do we burn anyway if the ratio would make it really small? +pub(crate) const PLASMA_BURN_MIN_MOLES: f32 = 0.001; -/// How much oxygen do we use per plasma at min temp? -pub(crate) const PLASMA_BURN_WORST_OXYGEN_PER_PLASMA: f32 = 1.4; +/// How much of a boost to burn ratio do we give to hotspots? +pub(crate) const PLASMA_BURN_HOTSPOT_RATIO_BOOST: f32 = 10.0; -/// How much oxygen do we use per plasma at optimal temp? -pub(crate) const PLASMA_BURN_BEST_OXYGEN_PER_PLASMA: f32 = 0.4; +/// How much oxygen do we use per plasma? +pub(crate) const PLASMA_BURN_OXYGEN_PER_PLASMA: f32 = 0.4; /// How much thermal energy is produced, in joules per mole of agent b. pub(crate) const AGENT_B_CONVERSION_ENERGY: f32 = 20_000.0; @@ -123,12 +140,67 @@ pub(crate) const NITROUS_BREAKDOWN_ENERGY: f32 = 200_000.0; /// How much thermal energy is produced, in joules per mole of sleeping toxins. pub(crate) const PLASMA_BURN_ENERGY: f32 = 3_000_000.0; -/// We allow small deviations in tests, so that floating point precision doesn't cause problems. +/// We allow small deviations in tests as our spring chain solution is not exact. #[cfg(test)] -pub(crate) const TEST_TOLERANCE: f32 = 0.00001; +pub(crate) const TEST_TOLERANCE: f32 = 0.1; -/// Lose this multiple of heat energy per tick if above T20C. -pub(crate) const SPACE_COOLING_FACTOR: f32 = 0.005; +/// When space cooling starts, in Kelvin. +pub(crate) const SPACE_COOLING_THRESHOLD: f32 = T20C; + +/// Lose this amount of heat energy per tick if above SPACE_COOLING_THRESHOLD. +pub(crate) const SPACE_COOLING_FLAT: f32 = 2000.0; + +/// Lose this ratio of heat energy per tick if above SPACE_COOLING_THRESHOLD. +pub(crate) const SPACE_COOLING_RATIO: f32 = 0.002; /// Tiles with less than this much gas will become empty. pub(crate) const MINIMUM_NONZERO_MOLES: f32 = 0.1; + +/// How many iterations of gas flow are we willing to run per tick? +pub(crate) const MAX_ITERATIONS: usize = 100; + +/// When we stop caring about gas changes and end iteration, in moles on a single tile. +pub(crate) const GAS_CHANGE_SIGNIFICANCE: f32 = 0.01; + +/// When we stop caring about gas changes and end iteration, roughly as a fraction of the gas. +pub(crate) const GAS_CHANGE_SIGNIFICANCE_FRACTION: f32 = 0.001; + +/// When we stop caring about thermal energy changes and end iteration, in thermal energy on a +/// single tile. +pub(crate) const THERMAL_CHANGE_SIGNIFICANCE: f32 = 0.1; + +/// When we stop caring about thermal energy changes and end iteration, roughly as a fraction of +/// the thermal energy. +pub(crate) const THERMAL_CHANGE_SIGNIFICANCE_FRACTION: f32 = 0.001; + +/// Controls how strongly each type of gas moves towards an even spread, ignoring wind. +/// [0.0, f32::INFINITY] +pub(crate) const DIFFUSION_SPEED: f32 = 0.2; + +/// Controls how quickly the wind moves air. +/// (0.0, f32::INFINITY] +pub(crate) const WIND_STRENGTH: f32 = 8.0; + +/// Controls how fast the wind changes towards what the current pressur gradient wants. +/// (0.0, 1.0], a value of 0.25 means getting 25% closer every tick. +pub(crate) const WIND_ACCELERATION: f32 = 0.05; + +/// Controls how quickly the wind spreads from tile to tile. +/// [0.0, f32::INFINITY] +pub(crate) const WIND_SPEED: f32 = 0.5; + +/// A hard cap on how strong wind can become. +/// [0.0, f32::INFINITY] +pub(crate) const MAX_WIND: f32 = f32::INFINITY; + +/// How fast should temperature flow? +/// [0.0, f32::INFINITY] +pub(crate) const TEMPERATURE_FLOW_RATE: f32 = 0.2; + +/// Direct multiplier on strength of wind reported to BYOND. +/// [0.0, f32::INFINITY] +pub(crate) const BYOND_WIND_MULTIPLIER: f32 = 0.5; + +/// The smallest temperature allowed for the purpose of caluclating pressure. +/// Prevents weirdness from absolute-zero gas having no pressure at all. +pub(crate) const MINIMUM_TEMPERATURE_FOR_PRESSURE: f32 = 1.0; diff --git a/rust/src/milla/model.rs b/rust/src/milla/model.rs index 13044a6d879c..4b7ac10036eb 100644 --- a/rust/src/milla/model.rs +++ b/rust/src/milla/model.rs @@ -3,6 +3,8 @@ use atomic_float::AtomicF32; use bitflags::bitflags; use byondapi::map::{byond_locatexyz, ByondXYZ}; use byondapi::prelude::*; +use std::collections::HashSet; +use std::ops::Add; use std::sync::{atomic::AtomicBool, atomic::Ordering::Relaxed, RwLock}; /// Represents a collection of gases, with amounts in moles. @@ -69,7 +71,7 @@ impl GasSet { pub(crate) fn set_dirty(&mut self) { self.dirty.store(true, Relaxed); } - fn recalculate(&self) { + pub(crate) fn recalculate(&self) { let mut moles = 0.0; let mut heat_capacity = 0.0; for i in 0..GAS_COUNT { @@ -99,7 +101,7 @@ impl GasSet { pub(crate) fn copy_from(&mut self, other: &GasSet) { for i in 0..GAS_COUNT { self.values[i] = other.values[i]; - let dirty = self.dirty.load(Relaxed); + let dirty = other.dirty.load(Relaxed); if dirty { self.dirty.store(true, Relaxed); } else { @@ -111,6 +113,17 @@ impl GasSet { } } } + pub(crate) fn add_gases(&mut self, other: &Self) { + for i in 0..GAS_COUNT { + self.values[i] += other.values[i]; + } + } + #[allow(dead_code)] + pub(crate) fn clear(&mut self) { + for i in 0..GAS_COUNT { + self.values[i] = 0.0; + } + } } impl Clone for GasSet { @@ -121,6 +134,16 @@ impl Clone for GasSet { } } +impl Add for GasSet { + type Output = Self; + + fn add(self, other: Self) -> Self { + let mut result = self.clone(); + result.add_gases(&other); + result + } +} + /// Determines the general behavior of a tile. #[derive(Debug, Copy, Clone, PartialEq)] pub(crate) enum AtmosMode { @@ -130,8 +153,8 @@ pub(crate) enum AtmosMode { Sealed, /// Tile is exposed to the given environment. ExposedTo { environment_id: u8 }, - /// Prevents hot tiles from automatically decaying towards T20C - NoDecay, + /// Prevents hot tiles from automatically decaying towards T20C + NoDecay, } impl From for ByondValue { @@ -140,7 +163,7 @@ impl From for ByondValue { AtmosMode::Space => ByondValue::from(0.0), AtmosMode::Sealed => ByondValue::from(1.0), AtmosMode::ExposedTo { .. } => ByondValue::from(2.0), - AtmosMode::NoDecay => ByondValue::from(3.0), + AtmosMode::NoDecay => ByondValue::from(3.0), } } } @@ -198,6 +221,17 @@ pub(crate) struct Tile { pub(crate) superconductivity: Superconductivity, /// How much heat capacity the tile itself has, in joules per kelvin. pub(crate) innate_heat_capacity: f32, + /// How hot the tile's hotspot is. A hotspot is a sub-tile reagion that's caught fire. + pub(crate) hotspot_temperature: f32, + /// How much of the tile the hotspot covers. 1.0 would be the entire tile. + pub(crate) hotspot_volume: f32, + /// How strongly the air in this tile is flowing towards +axis. + pub(crate) wind: [f32; AXES.len()], + /// Is there a wall in this direction? + pub(crate) wall: [bool; AXES.len()], + pub(crate) gas_flow: [[[f32; 2]; GAS_COUNT]; AXES.len()], + /// How much fuel was burnt this tick? + pub(crate) fuel_burnt: f32, } impl Tile { @@ -209,6 +243,12 @@ impl Tile { mode: AtmosMode::Space, superconductivity: Superconductivity::new(), innate_heat_capacity: 0.0, + hotspot_temperature: 0.0, + hotspot_volume: 0.0, + wind: [0.0, 0.0], + wall: [false, false], + gas_flow: [[[0.0; 2]; GAS_COUNT]; AXES.len()], + fuel_burnt: 0.0, } } /// The total heat capacity of this tile and its gases, in joules per kelvin. @@ -224,8 +264,7 @@ impl Tile { self.thermal_energy / heat_capacity } } - // Calculates the pressure of a tile. - #[allow(clippy::needless_range_loop)] + /// Calculates the pressure of a tile. pub(crate) fn pressure(&self) -> f32 { if let AtmosMode::Space = self.mode { return 0.0; @@ -233,12 +272,27 @@ impl Tile { let mut heat_capacity = self.gases.heat_capacity(); heat_capacity += self.innate_heat_capacity; if heat_capacity <= 0.0 { - 0.0 - } else { - let temperature = self.thermal_energy / heat_capacity; - self.gases.moles() * temperature * R_IDEAL_GAS_EQUATION / TILE_VOLUME + return 0.0; + } + let temperature = self.thermal_energy / heat_capacity; + self.gases.moles() + * temperature.max(MINIMUM_TEMPERATURE_FOR_PRESSURE) + * R_IDEAL_GAS_EQUATION + / TILE_VOLUME + } + /// Calculates the partial pressure of a gas in a tile. + pub(crate) fn partial_pressure(&self, gas: usize) -> f32 { + if self.gases.values[gas] <= 0.0 { + return 0.0; } + + self.gases.values[gas] + * self.temperature().max(MINIMUM_TEMPERATURE_FOR_PRESSURE) + * R_IDEAL_GAS_EQUATION + / TILE_VOLUME } + + #[allow(clippy::needless_range_loop)] pub(crate) fn copy_from(&mut self, other: &Tile) { self.airtight_directions = other.airtight_directions; self.gases.copy_from(&other.gases); @@ -246,6 +300,17 @@ impl Tile { self.mode = other.mode; self.superconductivity.copy_from(&other.superconductivity); self.innate_heat_capacity = other.innate_heat_capacity; + self.hotspot_temperature = other.hotspot_temperature; + self.hotspot_volume = other.hotspot_volume; + for axis in 0..AXES.len() { + self.wind[axis] = other.wind[axis]; + self.wall[axis] = other.wall[axis]; + for gas in 0..GAS_COUNT { + self.gas_flow[axis][gas][GAS_FLOW_IN] = other.gas_flow[axis][gas][GAS_FLOW_IN]; + self.gas_flow[axis][gas][GAS_FLOW_OUT] = other.gas_flow[axis][gas][GAS_FLOW_OUT]; + } + } + self.fuel_burnt = other.fuel_burnt; } } @@ -276,6 +341,11 @@ impl From<&Tile> for Vec { ByondValue::from(value.superconductivity.west), ByondValue::from(value.innate_heat_capacity), ByondValue::from(value.temperature()), + ByondValue::from(value.hotspot_temperature), + ByondValue::from(value.hotspot_volume), + ByondValue::from(value.wind[AXIS_X]), + ByondValue::from(value.wind[AXIS_Y]), + ByondValue::from(value.fuel_burnt), ] } } @@ -298,12 +368,12 @@ pub(crate) struct InterestingTile { pub(crate) coords: ByondXYZ, /// A bitmask of reasons this tile is interesting, values are REASON_*. pub(crate) reasons: ReasonFlags, - /// These represent the net force generated by air flowing out of the tile along each axis. + /// These represent the net force generated by air winding out of the tile along each axis. /// For a tile losing air equally in all directions, they will be zero. - /// For a tile losing air towards positive X only, flow_x will be the air pressure moved. - pub(crate) flow_x: f32, - /// See flow_x. - pub(crate) flow_y: f32, + /// For a tile losing air towards positive X only, wind_x will be the air pressure moved. + pub(crate) wind_x: f32, + /// See wind_x. + pub(crate) wind_y: f32, } /// Convert an InterestingTile into a flat vector of ByondValues. @@ -319,8 +389,8 @@ impl From<&InterestingTile> for Vec { ret.extend(vec![ byond_locatexyz(value.coords).unwrap(), ByondValue::from(value.reasons.bits() as f32), - ByondValue::from(value.flow_x), - ByondValue::from(value.flow_y), + ByondValue::from(value.wind_x), + ByondValue::from(value.wind_y), ]); ret @@ -328,7 +398,10 @@ impl From<&InterestingTile> for Vec { } /// A single Z level in the atmos model. -pub(crate) struct ZLevel(Box<[Tile; MAP_SIZE * MAP_SIZE]>); +pub(crate) struct ZLevel { + tiles: Box<[Tile; MAP_SIZE * MAP_SIZE]>, + pub(crate) active_pressure_chunks: HashSet<(u8, u8)>, +} impl ZLevel { pub(crate) fn new() -> Self { @@ -336,7 +409,10 @@ impl ZLevel { for _ in 0..MAP_SIZE * MAP_SIZE { unbuilt.push(Tile::new()); } - ZLevel(unbuilt.into_boxed_slice().try_into().unwrap()) + ZLevel { + tiles: unbuilt.into_boxed_slice().try_into().unwrap(), + active_pressure_chunks: HashSet::new(), + } } pub(crate) fn maybe_get_index(x: i32, y: i32) -> Option { @@ -348,21 +424,22 @@ impl ZLevel { } pub(crate) fn get_tile(&self, index: usize) -> &Tile { - &self.0[index] + &self.tiles[index] } + #[allow(dead_code)] pub(crate) fn maybe_get_tile(&self, x: i32, y: i32) -> Option<&Tile> { - Some(&self.0[ZLevel::maybe_get_index(x, y)?]) + Some(&self.tiles[ZLevel::maybe_get_index(x, y)?]) } pub(crate) fn get_tile_mut(&mut self, index: usize) -> &mut Tile { - &mut self.0[index] + &mut self.tiles[index] } pub(crate) fn get_pair_mut(&mut self, index1: usize, index2: usize) -> (&mut Tile, &mut Tile) { // Split borrow to get two mutable tiles at the same time. // Ref: https://doc.rust-lang.org/nomicon/borrow-splitting.html - let ptr = self.0.as_mut_ptr(); + let ptr = self.tiles.as_mut_ptr(); unsafe { assert!(index1 != index2); @@ -374,9 +451,10 @@ impl ZLevel { } pub(crate) fn copy_from(&mut self, other: &ZLevel) { - for i in 0..self.0.len() { - self.0[i].copy_from(&other.0[i]); + for i in 0..self.tiles.len() { + self.tiles[i].copy_from(&other.tiles[i]); } + self.active_pressure_chunks = other.active_pressure_chunks.clone(); } } @@ -455,9 +533,11 @@ impl Buffers { } /// Create an environment for ExposedTo. - pub(crate) fn create_environment(&self, tile: Tile) -> u8 { + pub(crate) fn create_environment(&self, mut tile: Tile) -> u8 { let mut environments = self.environments.write().unwrap(); let id = environments.len() as u8; + tile.mode = AtmosMode::ExposedTo { environment_id: id }; + tile.gases.recalculate(); environments.push(tile); id } diff --git a/rust/src/milla/simulate.rs b/rust/src/milla/simulate.rs index b663b77f7081..befff52558eb 100644 --- a/rust/src/milla/simulate.rs +++ b/rust/src/milla/simulate.rs @@ -3,158 +3,424 @@ use crate::milla::model::*; use byondapi::map::ByondXYZ; use eyre::eyre; use scc::Bag; +use std::collections::HashSet; + +pub(crate) fn find_walls(next: &mut ZLevel) { + for my_index in 0..MAP_SIZE * MAP_SIZE { + let x = (my_index / MAP_SIZE) as i32; + let y = (my_index % MAP_SIZE) as i32; + + for (axis, (dx, dy)) in AXES.iter().enumerate() { + let their_index = match ZLevel::maybe_get_index(x + dx, y + dy) { + Some(index) => index, + None => { + // Edge of the map, acts like a wall. + let my_tile = next.get_tile_mut(my_index); + my_tile.wall[axis] = true; + continue; + } + }; -/// Calculates the pressure flow out from this tile to the two neighboring tiles on this axis. -/// For a tile losing air equally in all directions, flow will be zero. -/// For a tile losing air towards positive only, flow will be the air pressure moved. -pub(crate) fn calculate_flow( - maybe_negative_tile: Option<&Tile>, - tile: &Tile, - maybe_positive_tile: Option<&Tile>, - is_x: bool, -) -> f32 { - let mut flow = 0.0; - let my_pressure = tile.pressure(); - if let Some(negative_tile) = maybe_negative_tile { - // Make sure air can pass this way. - let mut permeable = true; - if is_x { - permeable = permeable - && !negative_tile + let (my_tile, their_tile) = next.get_pair_mut(my_index, their_index); + if *dx > 0 + && (my_tile .airtight_directions - .contains(AirtightDirections::EAST); - permeable = permeable && !tile.airtight_directions.contains(AirtightDirections::WEST); - } else { - permeable = permeable - && !negative_tile + .contains(AirtightDirections::EAST) + || their_tile + .airtight_directions + .contains(AirtightDirections::WEST)) + { + // Something's blocking airflow. + my_tile.wall[axis] = true; + continue; + } else if *dy > 0 + && (my_tile .airtight_directions - .contains(AirtightDirections::NORTH); - permeable = permeable && !tile.airtight_directions.contains(AirtightDirections::SOUTH); + .contains(AirtightDirections::NORTH) + || their_tile + .airtight_directions + .contains(AirtightDirections::SOUTH)) + { + // Something's blocking airflow. + my_tile.wall[axis] = true; + continue; + } + my_tile.wall[axis] = false; } - if permeable { - let negative_pressure = negative_tile.pressure(); - if negative_pressure < my_pressure { - // Causes flow in the negative direction. - flow += negative_pressure - my_pressure; + } +} + +/// Calculate the new wind at each boundary. +pub(crate) fn update_wind(prev: &ZLevel, next: &mut ZLevel) { + for my_index in 0..MAP_SIZE * MAP_SIZE { + let x = (my_index / MAP_SIZE) as i32; + let y = (my_index % MAP_SIZE) as i32; + let my_tile = prev.get_tile(my_index); + + for (axis, (dx, dy)) in AXES.iter().enumerate() { + let neighbor_index = match ZLevel::maybe_get_index(x + dx, y + dy) { + Some(index) => index, + None => continue, + }; + let neighbor = prev.get_tile(neighbor_index); + let my_new_tile = next.get_tile_mut(my_index); + + // No wind across walls. + if my_new_tile.wall[axis] { + my_new_tile.wind[axis] = 0.0; + for i in 0..GAS_COUNT { + my_new_tile.gas_flow[axis][i][GAS_FLOW_IN] = 0.0; + my_new_tile.gas_flow[axis][i][GAS_FLOW_OUT] = 0.0; + } + continue; + } + + // If there's no air, there's no wind. + if my_tile.pressure() + neighbor.pressure() <= 0.0 { + my_new_tile.wind[axis] = 0.0; + for i in 0..GAS_COUNT { + my_new_tile.gas_flow[axis][i][GAS_FLOW_IN] = 0.0; + my_new_tile.gas_flow[axis][i][GAS_FLOW_OUT] = 0.0; + } + continue; + } + + // How much pressure do these tiles have together? + let combined_pressure = my_tile.pressure() + neighbor.pressure(); + + // A bias from [-1.0, 1.0] representing how much air is flowing from the negative tile + // to the positive one, based purely on pressure. + let pressure_bias = 2.0 * (my_tile.pressure() / combined_pressure) - 1.0; + + // New wind mixes the pressure bias with the old wind, and clamps it to reasonable + // bounds. + my_new_tile.wind[axis] = (my_tile.wind[axis] + + WIND_ACCELERATION * (pressure_bias * WIND_STRENGTH - my_tile.wind[axis])) + .clamp(-MAX_WIND, MAX_WIND); + + for i in 0..GAS_COUNT { + my_new_tile.gas_flow[axis][i][GAS_FLOW_IN] = 0.0; + my_new_tile.gas_flow[axis][i][GAS_FLOW_OUT] = 0.0; + + // Calculate how much gas should flow based on pressure. + let combined_partial_pressure = + my_tile.partial_pressure(i) + neighbor.partial_pressure(i); + if combined_partial_pressure <= 0.0 { + // Gas? What gas? + continue; + } + let wind_gas_flow = (1.0 + WIND_SPEED).powf(my_new_tile.wind[axis].abs()) - 1.0; + if my_new_tile.wind[axis] > 0.0 { + my_new_tile.gas_flow[axis][i][GAS_FLOW_OUT] += wind_gas_flow; + } else { + my_new_tile.gas_flow[axis][i][GAS_FLOW_IN] += wind_gas_flow; + } + + // And how much gas should flow based on diffusion. + let diffusion_gas_flow = DIFFUSION_SPEED; + my_new_tile.gas_flow[axis][i][GAS_FLOW_IN] += diffusion_gas_flow; + my_new_tile.gas_flow[axis][i][GAS_FLOW_OUT] += diffusion_gas_flow; } } } - if let Some(positive_tile) = maybe_positive_tile { - // Make sure air can pass this way. - let mut permeable = true; - if is_x { - permeable = permeable - && !positive_tile - .airtight_directions - .contains(AirtightDirections::WEST); - permeable = permeable && !tile.airtight_directions.contains(AirtightDirections::EAST); - } else { - permeable = permeable - && !positive_tile - .airtight_directions - .contains(AirtightDirections::SOUTH); - permeable = permeable && !tile.airtight_directions.contains(AirtightDirections::NORTH); +} + +pub(crate) struct AirflowOutcome { + active_tiles: HashSet, + max_gas_delta: f32, + max_thermal_energy_delta: f32, +} + +/// Let the air flow until it stabilizes for this tick or we run out of patience. +pub(crate) fn flow_air(prev: &ZLevel, next: &mut ZLevel) -> Result { + let mut outcome = flow_air_once(prev, next, None)?; + for _iter in 1..MAX_ITERATIONS { + outcome = flow_air_once(prev, next, Some(outcome))?; + + // Check for significant changes. + if outcome.max_gas_delta < GAS_CHANGE_SIGNIFICANCE + && outcome.max_thermal_energy_delta < THERMAL_CHANGE_SIGNIFICANCE + { + // We've stabilized. + return Ok(outcome); } - if permeable { - let positive_pressure = positive_tile.pressure(); - if positive_pressure < my_pressure { - // Causes flow in the positive direction. - flow += my_pressure - positive_pressure; - } + } + + Ok(outcome) +} + +/// Let the air flow at every active tile by one step. +pub(crate) fn flow_air_once( + prev: &ZLevel, + next: &mut ZLevel, + maybe_old_outcome: Option, +) -> Result { + let mut new_outcome = AirflowOutcome { + active_tiles: HashSet::new(), + max_gas_delta: 0.0, + max_thermal_energy_delta: 0.0, + }; + + if let Some(old_outcome) = maybe_old_outcome { + for my_index in &old_outcome.active_tiles { + flow_air_once_at_index(prev, next, *my_index, &mut new_outcome)?; + } + } else { + for my_index in 0..MAP_SIZE * MAP_SIZE { + flow_air_once_at_index(prev, next, my_index, &mut new_outcome)?; } } - flow + + Ok(new_outcome) } -/// Counts the number of adjacent tiles that can share atmos with this tile, i.e. have no blockers -/// on either tile. -#[allow(clippy::if_same_then_else)] -pub(crate) fn count_connected_dirs( - z_level: &ZLevel, - index: usize, - x: i32, - y: i32, -) -> Result { - let mut connected_dirs = 0; +pub(crate) fn flow_air_once_at_index( + prev: &ZLevel, + next: &mut ZLevel, + my_index: usize, + outcome: &mut AirflowOutcome, +) -> Result<(), eyre::Error> { + let x = (my_index / MAP_SIZE) as i32; + let y = (my_index % MAP_SIZE) as i32; + let my_tile = prev.get_tile(my_index); - let tile = z_level.get_tile(index); - if let AtmosMode::Space = tile.mode { - // Space can always accept as much air as you throw at it. - return Ok(1); + // Skip tiles that can't change. + match my_tile.mode { + // Space is always empty. + AtmosMode::Space => return Ok(()), + // Tiles exposed to an environment always contain that environment. + AtmosMode::ExposedTo { .. } => return Ok(()), + _ => (), } - for (dx, dy) in DIRECTIONS { - let maybe_other_index = ZLevel::maybe_get_index(x + dx, y + dy); - let other_index; - match maybe_other_index { - Some(index) => other_index = index, + + // Save the values from the prior iteration so we can check how much they changed. + let prev_iter = next.get_tile(my_index).clone(); + { + // We're doing a modified Gauss-Seidel method, and while it's counter-intuitive, one of + // the necessary steps is to reset the current tile to its original values before + // processing this iteration. + // See https://en.wikipedia.org/wiki/Gauss%E2%80%93Seidel_method#Element-based_formula + let my_new_tile = next.get_tile_mut(my_index); + my_new_tile.gases.copy_from(&my_tile.gases); + my_new_tile.thermal_energy = my_tile.thermal_energy; + } + let mut outgoing_gas_mult: [f32; GAS_COUNT] = [0.0; GAS_COUNT]; + let mut total_weighted_temperature = my_tile.temperature() * my_tile.heat_capacity(); + let mut total_temperature_weights: f32 = my_tile.heat_capacity(); + for (dir, (dx, dy)) in DIRECTIONS.iter().enumerate() { + let neighbor_index = match ZLevel::maybe_get_index(x + dx, y + dy) { + Some(value) => value, None => continue, + }; + let (my_new_tile, new_neighbor) = next.get_pair_mut(my_index, neighbor_index); + + let axis = DIRECTION_AXIS[dir]; + + // Don't do anything across walls. + if dx + dy > 0 { + if my_new_tile.wall[axis] { + continue; + } + } else { + if new_neighbor.wall[axis] { + continue; + } } - let other_tile = z_level.get_tile(other_index); - if dx > 0 - && !tile.airtight_directions.contains(AirtightDirections::EAST) - && !other_tile - .airtight_directions - .contains(AirtightDirections::WEST) - { - connected_dirs += 1; - } else if dy > 0 - && !tile.airtight_directions.contains(AirtightDirections::NORTH) - && !other_tile - .airtight_directions - .contains(AirtightDirections::SOUTH) + // If there's no air, don't do anything. + let total_pressure = my_tile.pressure() + new_neighbor.pressure(); + if total_pressure <= 0.0 { + continue; + } + + for i in 0..GAS_COUNT { + // Normalise the gas flow direction. + let gas_flow_in; + let gas_flow_out; + if dx + dy > 0 { + gas_flow_in = my_new_tile.gas_flow[axis][i][GAS_FLOW_IN]; + gas_flow_out = my_new_tile.gas_flow[axis][i][GAS_FLOW_OUT]; + } else { + gas_flow_in = new_neighbor.gas_flow[axis][i][GAS_FLOW_OUT]; + gas_flow_out = new_neighbor.gas_flow[axis][i][GAS_FLOW_IN]; + } + + // Once again, this may looks a bit odd, but it's the second step of Gauss-Seidel, + // summing together this tile's value from the last iteration with the incoming values + // from other tiles this tick. + my_new_tile.gases.values[i] += gas_flow_in * new_neighbor.gases.values[i]; + let temperature_weight = gas_flow_in * new_neighbor.gases.values[i] * SPECIFIC_HEATS[i]; + + // Track the outgoing values as well. + outgoing_gas_mult[i] += gas_flow_out; + + // Temperature is not Gauss-Seidel, though it looks similar. It's just a weighted + // average. + total_weighted_temperature += + new_neighbor.temperature() * temperature_weight * TEMPERATURE_FLOW_RATE; + total_temperature_weights += temperature_weight * TEMPERATURE_FLOW_RATE; + } + + my_new_tile.gases.set_dirty(); + } + + // And now we finish off Gauss-Seidel by dividing by the total outgoing weights, plus one + // to represent this tile. + let mut max_gas_delta: f32 = 0.0; + let my_new_tile = next.get_tile_mut(my_index); + for i in 0..GAS_COUNT { + my_new_tile.gases.values[i] /= 1.0 + outgoing_gas_mult[i]; + + if (prev_iter.gases.values[i] - my_new_tile.gases.values[i]).abs() + >= GAS_CHANGE_SIGNIFICANCE { - connected_dirs += 1; - } else if dx < 0 - && !tile.airtight_directions.contains(AirtightDirections::WEST) - && !other_tile - .airtight_directions - .contains(AirtightDirections::EAST) + let new_gas_delta = (2.0 * prev_iter.gases.values[i] + / (prev_iter.gases.values[i] + my_new_tile.gases.values[i]) + - 1.0) + .abs(); + max_gas_delta = max_gas_delta.max(new_gas_delta); + } + } + my_new_tile.gases.set_dirty(); + + my_new_tile.thermal_energy = + my_new_tile.heat_capacity() * total_weighted_temperature / total_temperature_weights; + + let new_thermal_energy_delta; + if (prev_iter.thermal_energy - my_new_tile.thermal_energy).abs() >= THERMAL_CHANGE_SIGNIFICANCE + { + new_thermal_energy_delta = (2.0 * prev_iter.thermal_energy + / (prev_iter.thermal_energy + my_new_tile.thermal_energy) + - 1.0) + .abs(); + } else { + new_thermal_energy_delta = 0.0 + } + + // outcome is the global version across all tiles. + outcome.max_gas_delta = outcome.max_gas_delta.max(max_gas_delta); + outcome.max_thermal_energy_delta = outcome + .max_thermal_energy_delta + .max(new_thermal_energy_delta); + + // Check for significant changes. + if max_gas_delta < GAS_CHANGE_SIGNIFICANCE_FRACTION { + if new_thermal_energy_delta < THERMAL_CHANGE_SIGNIFICANCE_FRACTION { + return Ok(()); + } + } + + // If any change was significant, mark this tile and all neighbors as active. + outcome.active_tiles.insert(my_index); + for (dx, dy) in DIRECTIONS { + if let Some(neighbor_index) = ZLevel::maybe_get_index(x + dx, y + dy) { + outcome.active_tiles.insert(neighbor_index); + } + } + + Ok(()) +} + +/// Applies effects that happen after the main airflow routine: +/// * Tile modes +/// * Superconductivity +/// * Reactions +/// * Hotspot cleanup +/// * Sanitization +/// * Looking for interesting tiles. +pub(crate) fn post_process( + prev: &ZLevel, + next: &mut ZLevel, + environments: &Box<[Tile]>, + new_interesting_tiles: &Bag, + z: i32, +) -> Result<(), eyre::Error> { + for my_index in 0..MAP_SIZE * MAP_SIZE { + let x = (my_index / MAP_SIZE) as i32; + let y = (my_index % MAP_SIZE) as i32; + let my_tile = prev.get_tile(my_index); + { - connected_dirs += 1; - } else if dy < 0 - && !tile.airtight_directions.contains(AirtightDirections::SOUTH) - && !other_tile - .airtight_directions - .contains(AirtightDirections::NORTH) + let my_next_tile = next.get_tile_mut(my_index); + apply_tile_mode(my_next_tile, environments)?; + } + + if let AtmosMode::Space = my_tile.mode { + // Space doesn't superconduct, has no reactions, doesn't need to be sanitized, and is never interesting. (Take that, astrophysicists and astronomers!) + continue; + } + + for (dx, dy) in AXES { + let their_index = match ZLevel::maybe_get_index(x + dx, y + dy) { + Some(index) => index, + None => continue, + }; + + let (my_next_tile, their_next_tile) = next.get_pair_mut(my_index, their_index); + + if their_next_tile.mode != AtmosMode::Space { + superconduct(my_next_tile, their_next_tile, dx > 0, false); + } + } + { - connected_dirs += 1; + let my_next_tile = next.get_tile_mut(my_index); + // New tick, reset the fuel tracker. + my_next_tile.fuel_burnt = 0.0; + + react(my_next_tile, false); + if my_next_tile.hotspot_volume > 0.0 { + react(my_next_tile, true); + } + + // Sanitize the tile, to avoid negative/NaN/infinity spread. + sanitize(my_next_tile, my_tile); } - } - Ok(connected_dirs) + check_interesting(x, y, z, next, my_tile, my_index, new_interesting_tiles)?; + } + Ok(()) } -/// Sanitizes a tile to make sure it's not problematic. -pub(crate) fn sanitize(my_inactive_tile: &mut Tile, my_tile: &Tile) -> bool { +pub(crate) fn sanitize(my_next_tile: &mut Tile, my_tile: &Tile) -> bool { let mut sanitized = false; for i in 0..GAS_COUNT { - if !my_inactive_tile.gases.values[i].is_finite() { + if !my_next_tile.gases.values[i].is_finite() { // Reset back to the last value, in the hopes that it's safe. - my_inactive_tile.gases.values[i] = my_tile.gases.values[i]; - my_inactive_tile.gases.set_dirty(); + my_next_tile.gases.values[i] = my_tile.gases.values[i]; + my_next_tile.gases.set_dirty(); sanitized = true; - } else if my_inactive_tile.gases.values[i] < 0.0 { + } else if my_next_tile.gases.values[i] < 0.0 { // Zero out anything that becomes negative. - my_inactive_tile.gases.values[i] = 0.0; - my_inactive_tile.gases.set_dirty(); + my_next_tile.gases.values[i] = 0.0; + my_next_tile.gases.set_dirty(); sanitized = true; } } - if !my_inactive_tile.thermal_energy.is_finite() { + if !my_next_tile.thermal_energy.is_finite() { // Reset back to the last value, in the hopes that it's safe. - my_inactive_tile.thermal_energy = my_tile.thermal_energy; + my_next_tile.thermal_energy = my_tile.thermal_energy; sanitized = true; - } else if my_inactive_tile.thermal_energy < 0.0 { + } else if my_next_tile.thermal_energy < 0.0 { // Zero out anything that becomes negative. - my_inactive_tile.thermal_energy = 0.0; + my_next_tile.thermal_energy = 0.0; sanitized = true; } - if my_inactive_tile.gases.moles() < MINIMUM_NONZERO_MOLES { + if !my_next_tile.wind[0].is_finite() { + // Reset back to the last value, in the hopes that it's safe. + my_next_tile.wind[0] = my_tile.wind[0]; + sanitized = true; + } + if !my_next_tile.wind[1].is_finite() { + // Reset back to the last value, in the hopes that it's safe. + my_next_tile.wind[1] = my_tile.wind[1]; + sanitized = true; + } + if my_next_tile.gases.moles() < MINIMUM_NONZERO_MOLES { for i in 0..GAS_COUNT { - my_inactive_tile.gases.values[i] = 0.0; + my_next_tile.gases.values[i] = 0.0; } - my_inactive_tile.thermal_energy = 0.0; + my_next_tile.thermal_energy = 0.0; // We don't count this as sanitized because it's expected. } @@ -167,274 +433,257 @@ pub(crate) fn check_interesting( x: i32, y: i32, z: i32, - active: &std::sync::RwLockReadGuard, - environments: &Box<[Tile]>, + next: &mut ZLevel, my_tile: &Tile, - my_inactive_tile: &Tile, - fuel_burnt: f32, + my_index: usize, new_interesting_tiles: &Bag, ) -> Result<(), eyre::Error> { let mut reasons: ReasonFlags = ReasonFlags::empty(); - if (my_inactive_tile.gases.toxins() >= TOXINS_VISIBILITY_MOLES) - != (my_tile.gases.toxins() >= TOXINS_VISIBILITY_MOLES) - { - // Crossed the toxins visibility threshold. - reasons |= ReasonFlags::DISPLAY; - } else if (my_inactive_tile.gases.sleeping_agent() >= SLEEPING_GAS_VISIBILITY_MOLES) - != (my_tile.gases.sleeping_agent() >= SLEEPING_GAS_VISIBILITY_MOLES) { - // Crossed the sleeping agent visibility threshold. - reasons |= ReasonFlags::DISPLAY; - } - let temperature = my_inactive_tile.temperature(); - if temperature > PLASMA_BURN_MIN_TEMP { - match my_inactive_tile.mode { - // In environments we expect to be hot, we don't normally flag that as interesting. - AtmosMode::ExposedTo { environment_id } => { - if fuel_burnt > 0.0 { - // Active fires are interesting, even if it's hot here normally. + let my_next_tile = next.get_tile_mut(my_index); + if (my_next_tile.fuel_burnt > REACTION_SIGNIFICANCE_MOLES) + != (my_tile.fuel_burnt > REACTION_SIGNIFICANCE_MOLES) + { + // Fire started or stopped. + reasons |= ReasonFlags::DISPLAY; + } else if (my_next_tile.gases.toxins() >= TOXINS_MIN_VISIBILITY_MOLES) + != (my_tile.gases.toxins() >= TOXINS_MIN_VISIBILITY_MOLES) + { + // Crossed the toxins visibility threshold. + reasons |= ReasonFlags::DISPLAY; + } else if (my_next_tile.gases.sleeping_agent() >= SLEEPING_GAS_VISIBILITY_MOLES) + != (my_tile.gases.sleeping_agent() >= SLEEPING_GAS_VISIBILITY_MOLES) + { + // Crossed the sleeping agent visibility threshold. + reasons |= ReasonFlags::DISPLAY; + } + + if my_next_tile.temperature() > PLASMA_BURN_MIN_TEMP { + if let AtmosMode::ExposedTo { .. } = my_next_tile.mode { + // Since environments have fixed gases and temperatures, we only count them as + // interesting (for heat) if there's an active fire. + if my_next_tile.fuel_burnt > REACTION_SIGNIFICANCE_MOLES { reasons |= ReasonFlags::HOT; - } else { - if environment_id as usize > environments.len() { - return Err(eyre!("Invalid environment ID {}", environment_id)); - } - - let environment_temp = environments[environment_id as usize].temperature(); - if environment_temp + 1.0 >= temperature { - // No active fire, not hotter than normal. Not interesting. - } else { - // Oh, hey, we're hotter than normal, and can start fires. - // That's interesting. - reasons |= ReasonFlags::HOT; - } } + } else { + // Anywhere else is interesting if it's hot enough to start a fire. + reasons |= ReasonFlags::HOT; } - // Anywhere else is interesting if it can start fires. - _ => reasons |= ReasonFlags::HOT, } } - let flow_x = calculate_flow( - active.maybe_get_tile(x - 1, y), - my_tile, - active.maybe_get_tile(x + 1, y), - true, - ); - if flow_x.abs() > 1.0 { - // Pressure flowing out of this tile along the X axis. - reasons |= ReasonFlags::WIND; + let my_next_tile = next.get_tile(my_index); + let mut wind_x: f32 = 0.0; + if my_next_tile.wind[AXIS_X] > 0.0 { + wind_x += my_next_tile.wind[AXIS_X] * WIND_SPEED * BYOND_WIND_MULTIPLIER; + } + if let Some(index) = ZLevel::maybe_get_index(x - 1, y) { + let their_next_tile = next.get_tile(index); + if their_next_tile.wind[AXIS_X] < 0.0 { + // This is negative, but that's good, because we want it to fight against the wind + // towards +X. + wind_x += their_next_tile.wind[AXIS_X] * BYOND_WIND_MULTIPLIER; + } + } + wind_x *= my_next_tile.pressure(); + let mut wind_y: f32 = 0.0; + if my_next_tile.wind[AXIS_Y] > 0.0 { + wind_y += my_next_tile.wind[AXIS_Y] * BYOND_WIND_MULTIPLIER; + } + if let Some(index) = ZLevel::maybe_get_index(x, y - 1) { + let their_next_tile = next.get_tile(index); + if their_next_tile.wind[AXIS_Y] < 0.0 { + // This is negative, but that's good, because we want it to fight against the wind + // towards +Y. + wind_y += their_next_tile.wind[AXIS_Y] * BYOND_WIND_MULTIPLIER; + } } - let flow_y = calculate_flow( - active.maybe_get_tile(x, y - 1), - my_tile, - active.maybe_get_tile(x, y + 1), - false, - ); - if flow_x.powi(2) + flow_y.powi(2) > 1.0 { - // Pressure flowing out of this tile along the Y axis. + wind_y *= my_next_tile.pressure(); + if wind_x.powi(2) + wind_y.powi(2) > 1.0 { + // Pressure flowing out of this tile might move stuff. reasons |= ReasonFlags::WIND; } if !reasons.is_empty() { - // Boooooring. - // :eyes: new_interesting_tiles.push(InterestingTile { - tile: my_inactive_tile.clone(), + tile: my_next_tile.clone(), // +1 here to convert from our 0-indexing to BYOND's 1-indexing. coords: ByondXYZ::with_coords((x as i16 + 1, y as i16 + 1, z as i16 + 1)), reasons, - flow_x, - flow_y, + wind_x, + wind_y, }); } Ok(()) } -/// Is the amount of gas present significant? -pub(crate) fn is_significant(tile: &Tile, gas: usize) -> bool { - if tile.gases.values[gas] < REACTION_SIGNIFICANCE_MOLES { - return false; - } - if gas != GAS_AGENT_B - && tile.gases.values[gas] / tile.gases.moles() < REACTION_SIGNIFICANCE_RATIO - { - return false; +/// Perform chemical reactions on the tile. +pub(crate) fn react(my_next_tile: &mut Tile, hotspot_step: bool) { + let fraction: f32; + let hotspot_boost: f32; + let mut cached_heat_capacity: f32; + let mut cached_temperature: f32; + let mut thermal_energy: f32; + if hotspot_step { + fraction = my_next_tile.hotspot_volume; + hotspot_boost = PLASMA_BURN_HOTSPOT_RATIO_BOOST; + cached_heat_capacity = fraction * my_next_tile.heat_capacity(); + cached_temperature = my_next_tile.hotspot_temperature; + thermal_energy = cached_temperature * cached_heat_capacity; + } else { + fraction = 1.0 - my_next_tile.hotspot_volume; + hotspot_boost = 1.0; + cached_heat_capacity = fraction * my_next_tile.heat_capacity(); + thermal_energy = fraction * my_next_tile.thermal_energy; + cached_temperature = thermal_energy / cached_heat_capacity; } - return true; -} + let initial_thermal_energy = thermal_energy; -/// Perform chemical reactions on the tile. -pub(crate) fn react(my_inactive_tile: &mut Tile) -> f32 { - let mut fuel_burnt: f32 = 0.0; - // Handle reactions - let mut my_inactive_temperature = my_inactive_tile.temperature(); // Agent B converting CO2 to O2 - if my_inactive_temperature > AGENT_B_CONVERSION_TEMP - && is_significant(my_inactive_tile, GAS_AGENT_B) - && is_significant(my_inactive_tile, GAS_CARBON_DIOXIDE) - && is_significant(my_inactive_tile, GAS_TOXINS) + if cached_temperature > AGENT_B_CONVERSION_TEMP + && my_next_tile.gases.agent_b() > 0.0 + && my_next_tile.gases.carbon_dioxide() > 0.0 + && my_next_tile.gases.toxins() > 0.0 { - let co2_converted = (my_inactive_tile.gases.carbon_dioxide() * 0.75) - .min(my_inactive_tile.gases.toxins() * 0.25) - .min(my_inactive_tile.gases.agent_b() * 0.05); + let co2_converted = fraction + * (my_next_tile.gases.carbon_dioxide() * 0.75) + .min(my_next_tile.gases.toxins() * 0.25) + .min(my_next_tile.gases.agent_b() * 0.05); - my_inactive_tile + my_next_tile .gases - .set_carbon_dioxide(my_inactive_tile.gases.carbon_dioxide() - co2_converted); - my_inactive_tile + .set_carbon_dioxide(my_next_tile.gases.carbon_dioxide() - co2_converted); + my_next_tile .gases - .set_oxygen(my_inactive_tile.gases.oxygen() + co2_converted); - my_inactive_tile + .set_oxygen(my_next_tile.gases.oxygen() + co2_converted); + my_next_tile .gases - .set_agent_b(my_inactive_tile.gases.agent_b() - co2_converted * 0.05); - // Recalculate existing thermal energy to account for the decrease in heat capacity - // caused by turning very high capacity toxins into much lower capacity carbon - // dioxide. - my_inactive_tile.thermal_energy = - my_inactive_temperature * my_inactive_tile.heat_capacity(); + .set_agent_b(my_next_tile.gases.agent_b() - co2_converted * 0.05); + // Recalculate existing thermal energy to account for the change in heat capacity. + cached_heat_capacity = fraction * my_next_tile.heat_capacity(); + thermal_energy = cached_temperature * cached_heat_capacity; // THEN we can add in the new thermal energy. - my_inactive_tile.thermal_energy += co2_converted * AGENT_B_CONVERSION_ENERGY; + thermal_energy += AGENT_B_CONVERSION_ENERGY * co2_converted; // Recalculate temperature for any subsequent reactions. - my_inactive_temperature = my_inactive_tile.temperature(); - fuel_burnt += co2_converted; + cached_temperature = thermal_energy / cached_heat_capacity; + my_next_tile.fuel_burnt += co2_converted; } // Nitrous Oxide breaking down into nitrogen and oxygen. - if my_inactive_temperature > SLEEPING_GAS_BREAKDOWN_TEMP - && is_significant(my_inactive_tile, GAS_SLEEPING_AGENT) + if cached_temperature > SLEEPING_GAS_BREAKDOWN_TEMP && my_next_tile.gases.sleeping_agent() > 0.0 { let reaction_percent = (0.00002 - * (my_inactive_temperature - (0.00001 * (my_inactive_temperature.powi(2))))) + * (cached_temperature - (0.00001 * (cached_temperature.powi(2))))) .max(0.0) .min(1.0); - let nitrous_decomposed = reaction_percent * my_inactive_tile.gases.sleeping_agent(); + let nitrous_decomposed = reaction_percent * fraction * my_next_tile.gases.sleeping_agent(); - my_inactive_tile + my_next_tile .gases - .set_sleeping_agent(my_inactive_tile.gases.sleeping_agent() - nitrous_decomposed); - my_inactive_tile + .set_sleeping_agent(my_next_tile.gases.sleeping_agent() - nitrous_decomposed); + my_next_tile .gases - .set_nitrogen(my_inactive_tile.gases.nitrogen() + nitrous_decomposed); - my_inactive_tile + .set_nitrogen(my_next_tile.gases.nitrogen() + nitrous_decomposed); + my_next_tile .gases - .set_oxygen(my_inactive_tile.gases.oxygen() + nitrous_decomposed / 2.0); - // Recalculate existing thermal energy to account for the decrease in heat capacity - // caused by turning very high capacity toxins into much lower capacity carbon - // dioxide. - my_inactive_tile.thermal_energy = - my_inactive_temperature * my_inactive_tile.heat_capacity(); + .set_oxygen(my_next_tile.gases.oxygen() + nitrous_decomposed / 2.0); + + // Recalculate existing thermal energy to account for the change in heat capacity. + cached_heat_capacity = fraction * my_next_tile.heat_capacity(); + thermal_energy = cached_temperature * cached_heat_capacity; // THEN we can add in the new thermal energy. - my_inactive_tile.thermal_energy += NITROUS_BREAKDOWN_ENERGY * nitrous_decomposed; + thermal_energy += NITROUS_BREAKDOWN_ENERGY * nitrous_decomposed; // Recalculate temperature for any subsequent reactions. - my_inactive_temperature = my_inactive_tile.temperature(); - fuel_burnt += nitrous_decomposed; + cached_temperature = thermal_energy / cached_heat_capacity; + + my_next_tile.fuel_burnt += nitrous_decomposed; } // Plasmafire! - if my_inactive_temperature > PLASMA_BURN_MIN_TEMP - && is_significant(my_inactive_tile, GAS_TOXINS) - && is_significant(my_inactive_tile, GAS_OXYGEN) + if cached_temperature > PLASMA_BURN_MIN_TEMP + && my_next_tile.gases.toxins() > 0.0 + && my_next_tile.gases.oxygen() > 0.0 { // How efficient is the burn? // Linear scaling fom 0 to 1 as temperatue goes from minimum to optimal. - let efficiency = ((my_inactive_temperature - PLASMA_BURN_MIN_TEMP) + let efficiency = ((cached_temperature - PLASMA_BURN_MIN_TEMP) / (PLASMA_BURN_OPTIMAL_TEMP - PLASMA_BURN_MIN_TEMP)) .max(0.0) .min(1.0); - // How much oxygen do we consume per plasma burnt? - // Linear scaling from worst to best as efficiency goes from 0 to 1. - let oxygen_per_plasma = PLASMA_BURN_WORST_OXYGEN_PER_PLASMA - + (PLASMA_BURN_BEST_OXYGEN_PER_PLASMA - PLASMA_BURN_WORST_OXYGEN_PER_PLASMA) - * efficiency; - // How much plasma is available to burn? - // Capped by oxygen availability. Significantly more oxygen is required than is - // consumed. This means that if there is enough oxygen to burn all the plasma, the - // oxygen-to-plasm ratio will increase while burning. - let burnable_plasma = my_inactive_tile - .gases - .toxins() - .min(my_inactive_tile.gases.oxygen() / PLASMA_BURN_REQUIRED_OXYGEN_AVAILABILITY); + let burnable_plasma = fraction * my_next_tile.gases.toxins(); // Actual burn amount. - let plasma_burnt = efficiency * PLASMA_BURN_MAX_RATIO * burnable_plasma; + let mut plasma_burnt = efficiency * PLASMA_BURN_MAX_RATIO * hotspot_boost * burnable_plasma; + if plasma_burnt < PLASMA_BURN_MIN_MOLES { + // Boost up to the minimum. + plasma_burnt = PLASMA_BURN_MIN_MOLES.min(burnable_plasma); + } + if plasma_burnt * PLASMA_BURN_OXYGEN_PER_PLASMA > fraction * my_next_tile.gases.oxygen() { + // Restrict based on available oxygen. + plasma_burnt = fraction * my_next_tile.gases.oxygen() / PLASMA_BURN_OXYGEN_PER_PLASMA; + } - my_inactive_tile + my_next_tile .gases - .set_toxins(my_inactive_tile.gases.toxins() - plasma_burnt); - my_inactive_tile + .set_toxins(my_next_tile.gases.toxins() - plasma_burnt); + my_next_tile .gases - .set_carbon_dioxide(my_inactive_tile.gases.carbon_dioxide() + plasma_burnt); - my_inactive_tile + .set_carbon_dioxide(my_next_tile.gases.carbon_dioxide() + plasma_burnt); + my_next_tile .gases - .set_oxygen(my_inactive_tile.gases.oxygen() - plasma_burnt * oxygen_per_plasma); - // Recalculate existing thermal energy to account for the decrease in heat capacity - // caused by turning very high capacity toxins into much lower capacity carbon - // dioxide. - my_inactive_tile.thermal_energy = - my_inactive_temperature * my_inactive_tile.heat_capacity(); + .set_oxygen(my_next_tile.gases.oxygen() - plasma_burnt * PLASMA_BURN_OXYGEN_PER_PLASMA); + + // Recalculate existing thermal energy to account for the change in heat capacity. + cached_heat_capacity = fraction * my_next_tile.heat_capacity(); + thermal_energy = cached_temperature * cached_heat_capacity; // THEN we can add in the new thermal energy. - my_inactive_tile.thermal_energy += PLASMA_BURN_ENERGY * plasma_burnt; - fuel_burnt += plasma_burnt; + thermal_energy += PLASMA_BURN_ENERGY * plasma_burnt; + // Recalculate temperature for any subsequent reactions. + // (or we would, but this is the last reaction) + //cached_temperature = thermal_energy / cached_heat_capacity; + + my_next_tile.fuel_burnt += plasma_burnt; } - fuel_burnt + if hotspot_step { + adjust_hotspot(my_next_tile, thermal_energy - initial_thermal_energy); + } else { + my_next_tile.thermal_energy += thermal_energy - initial_thermal_energy; + } } /// Apply effects caused by the tile's atmos mode. pub(crate) fn apply_tile_mode( - my_tile: &Tile, - my_inactive_tile: &mut Tile, + my_next_tile: &mut Tile, environments: &Box<[Tile]>, ) -> Result<(), eyre::Error> { - match my_tile.mode { + match my_next_tile.mode { AtmosMode::Space => { // Space tiles lose all gas and thermal energy every tick. for gas in 0..GAS_COUNT { - my_inactive_tile.gases.values[gas] = 0.0; + my_next_tile.gases.values[gas] = 0.0; } - my_inactive_tile.gases.set_dirty(); - my_inactive_tile.thermal_energy = 0.0; + my_next_tile.gases.set_dirty(); + my_next_tile.thermal_energy = 0.0; } AtmosMode::ExposedTo { environment_id } => { + // Exposed tiles reset back to the same state every tick. if environment_id as usize > environments.len() { return Err(eyre!("Invalid environment ID {}", environment_id)); } - let mut environment = environments[environment_id as usize].clone(); - - // Calculate the amount of air and thermal energy transferred. - let (gas_change, thermal_energy_change) = share_air( - // Planetary atmos is aggressive and does a 1-connected-direction share - // with the otherwise-final air. - my_inactive_tile, - &environment, - 1, - 1, - ); - - // Transfer it. - for i in 0..GAS_COUNT { - if gas_change.values[i] != 0.0 { - my_inactive_tile.gases.values[i] += gas_change.values[i]; - my_inactive_tile.gases.set_dirty(); - } - } - my_inactive_tile.thermal_energy += thermal_energy_change; - - // Temporarily override the tile's superconductivity, since there's no UP. - let real_superconductivity = my_inactive_tile.superconductivity; - my_inactive_tile.superconductivity = Superconductivity::new(); - - // Superconduct with planetary atmos. - superconduct(my_inactive_tile, &mut environment, true); - - // Restore original superconductivity - my_inactive_tile.superconductivity = real_superconductivity; + let environment = &environments[environment_id as usize]; + my_next_tile.gases.copy_from(&environment.gases); + my_next_tile.thermal_energy = environment.thermal_energy; } AtmosMode::Sealed => { - if my_inactive_tile.temperature() > T20C { - my_inactive_tile.thermal_energy *= 1.0 - SPACE_COOLING_FACTOR; + if my_next_tile.temperature() > SPACE_COOLING_THRESHOLD { + let excess_thermal_energy = my_next_tile.thermal_energy + - SPACE_COOLING_THRESHOLD * my_next_tile.heat_capacity(); + let cooling = (SPACE_COOLING_FLAT + SPACE_COOLING_RATIO * excess_thermal_energy) + .min(excess_thermal_energy); + my_next_tile.thermal_energy -= cooling; } } AtmosMode::NoDecay => {} // No special interactions @@ -442,54 +691,27 @@ pub(crate) fn apply_tile_mode( Ok(()) } -/// Shares air between two connected tiles. -#[allow(clippy::needless_range_loop)] -pub(crate) fn share_air( - mine: &Tile, - theirs: &Tile, - my_connected_dirs: i32, - their_connected_dirs: i32, -) -> (GasSet, f32) { - let mut delta_gases = GasSet::new(); - let mut delta_thermal_energy: f32 = 0.0; - - // Since we're moving bits of gas independantly, we need to know the temperature of the gas - // mix. - let my_old_temperature = mine.temperature(); - let their_old_temperature = theirs.temperature(); - - // Each gas is handled separately. This is dumb, but it's how LINDA did it, so it's used in V1. - for gas in 0..GAS_COUNT { - delta_gases.values[gas] = theirs.gases.values[gas] - mine.gases.values[gas]; - if delta_gases.values[gas] > 0.0 { - // Gas flowing in from the other tile, limit by its connected_dirs. - delta_gases.values[gas] /= (their_connected_dirs + 1) as f32; - // Heat flowing in. - delta_thermal_energy += - SPECIFIC_HEATS[gas] * delta_gases.values[gas] * their_old_temperature; - } else { - // Gas flowing out from this tile, limit by our connected_dirs. - delta_gases.values[gas] /= (my_connected_dirs + 1) as f32; - // Heat flowing out. - delta_thermal_energy += - SPECIFIC_HEATS[gas] * delta_gases.values[gas] * my_old_temperature; - } - } - - (delta_gases, delta_thermal_energy) -} - -/// Performs superconduction between two superconductivity-connected tiles. -pub(crate) fn superconduct(my_tile: &mut Tile, their_tile: &mut Tile, is_east: bool) { +// Performs superconduction between two superconductivity-connected tiles. +pub(crate) fn superconduct(my_tile: &mut Tile, their_tile: &mut Tile, is_east: bool, force: bool) { // Superconduction is scaled to the smaller directional superconductivity setting of the two // tiles. let mut transfer_coefficient: f32; - if is_east { + if force { + transfer_coefficient = OPEN_HEAT_TRANSFER_COEFFICIENT; + } else if is_east { + if !my_tile.wall[AXIS_X] { + // Atmos flows freely here, no need to superconduct. + return; + } transfer_coefficient = my_tile .superconductivity .east .min(their_tile.superconductivity.west); } else { + if !my_tile.wall[AXIS_Y] { + // Atmos flows freely here, no need to superconduct. + return; + } transfer_coefficient = my_tile .superconductivity .north @@ -509,107 +731,128 @@ pub(crate) fn superconduct(my_tile: &mut Tile, their_tile: &mut Tile, is_east: b } // This is the formula from LINDA. I have no idea if it's a good one, I just copied it. + // Positive means heat flow from us to them. + // Negative means heat flow from them to us. let conduction = transfer_coefficient * (my_tile.temperature() - their_tile.temperature()) * my_heat_capacity * their_heat_capacity / (my_heat_capacity + their_heat_capacity); - my_tile.thermal_energy -= conduction; - their_tile.thermal_energy += conduction; + + // Half of the conduction always goes to the overall heat of the tile + my_tile.thermal_energy -= conduction / 2.0; + their_tile.thermal_energy += conduction / 2.0; + + // The other half can spawn or expand hotspots. + if conduction > 0.0 + && my_tile.temperature() > PLASMA_BURN_OPTIMAL_TEMP + && their_tile.temperature() < PLASMA_BURN_OPTIMAL_TEMP + { + // Positive: Spawn or expand their hotspot. + adjust_hotspot(their_tile, conduction / 2.0); + my_tile.thermal_energy -= conduction / 2.0; + } else if conduction < 0.0 + && my_tile.temperature() < PLASMA_BURN_OPTIMAL_TEMP + && their_tile.temperature() > PLASMA_BURN_OPTIMAL_TEMP + { + // Negative: Spawn or expand my hotspot. + adjust_hotspot(my_tile, -conduction / 2.0); + their_tile.thermal_energy += conduction / 2.0; + } else { + // No need for hotspot adjustment. + my_tile.thermal_energy -= conduction / 2.0; + their_tile.thermal_energy += conduction / 2.0; + } } -// Yay, tests! -#[cfg(test)] -mod tests { - use super::*; - // share_air() should do nothing to two space tiles. - #[test] - fn share_nothing() { - let tile_a = Tile::new(); - let tile_b = Tile::new(); +pub(crate) fn normalise_hotspot(tile: &mut Tile) { + if tile.hotspot_volume <= 0.0 || tile.hotspot_temperature <= tile.temperature() { + // Unnecesary hotspot. + tile.hotspot_temperature = 0.0; + tile.hotspot_volume = 0.0; + return; + } - let (gas_change, thermal_energy_change) = share_air(&tile_a, &tile_b, 1, 1); - for i in 0..GAS_COUNT { - assert_eq!(gas_change.values[i], 0.0, "{}", i); - } - assert_eq!(thermal_energy_change, 0.0); - } - - // share_air() should do nothing to two matching tiles. - #[test] - fn share_equilibrium() { - let mut tile_a = Tile::new(); - tile_a.gases.set_oxygen(80.0); - tile_a.gases.set_nitrogen(20.0); - tile_a.thermal_energy = 100.0; - let mut tile_b = Tile::new(); - tile_b.gases.set_oxygen(80.0); - tile_b.gases.set_nitrogen(20.0); - tile_b.thermal_energy = 100.0; - - let (gas_change, thermal_energy_change) = share_air(&tile_a, &tile_b, 1, 1); - for i in 0..GAS_COUNT { - assert_eq!(gas_change.values[i], 0.0, "{}", i); - } - assert_eq!(thermal_energy_change, 0.0); + if tile.hotspot_volume >= 1.0 { + // Hotspot has expanded to fill the tile. + tile.thermal_energy = tile.hotspot_temperature * tile.heat_capacity(); + tile.hotspot_temperature = 0.0; + tile.hotspot_volume = 0.0; + return; } - // share_air() should split air into 2 equal parts with connected_dirs of 1. - #[test] - fn share_splits_air_cd1() { - let mut tile_a = Tile::new(); - tile_a.gases.set_oxygen(100.0); - tile_a.thermal_energy = 100.0; - let tile_b = Tile::new(); + let optimal_thermal_energy = PLASMA_BURN_OPTIMAL_TEMP * tile.heat_capacity(); + let hotspot_extra_thermal_energy = tile.hotspot_volume + * (tile.hotspot_temperature - tile.temperature()) + * tile.heat_capacity(); + if tile.thermal_energy + hotspot_extra_thermal_energy >= optimal_thermal_energy { + // Hotspot has done its job, dump the remaining heat into the tile. + tile.thermal_energy += hotspot_extra_thermal_energy; + tile.hotspot_temperature = 0.0; + tile.hotspot_volume = 0.0; + return; + } - let (gas_change, thermal_energy_change) = share_air(&tile_a, &tile_b, 1, 1); - for i in 0..GAS_COUNT { - if i == GAS_OXYGEN { - assert_eq!(gas_change.values[i], -50.0); - } else { - assert_eq!(gas_change.values[i], 0.0, "{}", i); - } - } - assert_eq!(thermal_energy_change, -50.0); + let hotspot_thermal_energy = + tile.hotspot_volume * tile.hotspot_temperature * tile.heat_capacity(); + if tile.hotspot_temperature > PLASMA_BURN_OPTIMAL_TEMP { + // Use excess heat to expand the hotspot. + tile.hotspot_volume = hotspot_thermal_energy / optimal_thermal_energy; + tile.hotspot_temperature = PLASMA_BURN_OPTIMAL_TEMP; + return; } - // share_air() should split air into 5 equal parts with connected_dirs of 4. - #[test] - fn share_splits_air_cd4() { - let mut tile_a = Tile::new(); - tile_a.gases.set_oxygen(100.0); - tile_a.thermal_energy = 100.0; - let tile_b = Tile::new(); + if tile.hotspot_temperature < PLASMA_BURN_MIN_TEMP + || tile.gases.toxins() <= REACTION_SIGNIFICANCE_MOLES + || tile.gases.oxygen() <= REACTION_SIGNIFICANCE_MOLES + { + // Hotspot can't sustain combustion. + tile.thermal_energy += hotspot_extra_thermal_energy; + tile.hotspot_temperature = 0.0; + tile.hotspot_volume = 0.0; + return; + } +} - let (gas_change, thermal_energy_change) = share_air(&tile_a, &tile_b, 4, 4); - for i in 0..GAS_COUNT { - if i == GAS_OXYGEN { - assert_eq!(gas_change.values[i], -20.0); - } else { - assert_eq!(gas_change.values[i], 0.0, "{}", i); - } +// Adjusts the hotspot based on the given thermal energy delta. +// For positive values, the energy will first be used to reach PLASMA_BURN_OPTIMAL_TEMP, then +// to expand volume up to 1 (filled), and finally dumped into the tile's thermal energy. +// For negative values, only the hotspot's volume is affected. +pub(crate) fn adjust_hotspot(tile: &mut Tile, thermal_energy_delta: f32) { + if thermal_energy_delta < 0.0 { + if tile.hotspot_volume <= 0.0 { + // No hotspot to sap heat from. + return; } - assert_eq!(thermal_energy_change, -20.0); + // Shrink volume accordingly. + // How much heat do we need to fill the whole tile? + let total_heat_needed = tile.heat_capacity() * tile.hotspot_temperature; + // How much heat do we have now? + let heat_available = tile.heat_capacity() * tile.hotspot_temperature * tile.hotspot_volume + + thermal_energy_delta; + // We fill that portion of the tile. + tile.hotspot_volume = (heat_available / total_heat_needed).max(0.0); + } else if tile.hotspot_volume > 0.0 { + // Heat up the hotspot; it'll expand when normalised. + tile.hotspot_temperature += + thermal_energy_delta / (tile.heat_capacity() * tile.hotspot_volume); + } else if tile.temperature() > PLASMA_BURN_OPTIMAL_TEMP { + // No need to make a hotspot, just heat the tile. + tile.thermal_energy += thermal_energy_delta; + } else { + // Create an optimal hotspot with the available energy. + let optimal_thermal_energy = PLASMA_BURN_OPTIMAL_TEMP * tile.heat_capacity(); + tile.hotspot_temperature = PLASMA_BURN_OPTIMAL_TEMP; + tile.hotspot_volume = thermal_energy_delta / (optimal_thermal_energy - tile.thermal_energy); } - // superconduct() should transfer part of the thermal energy between two tiles that differ - // only in thermal energy. - #[test] - fn superconduct_temperature() { - let mut tile_a = Tile::new(); - tile_a.gases.set_oxygen(80.0); - tile_a.gases.set_nitrogen(20.0); - tile_a.thermal_energy = 100.0; - let mut tile_b = Tile::new(); - tile_b.gases.set_oxygen(80.0); - tile_b.gases.set_nitrogen(20.0); - tile_b.thermal_energy = 200.0; + normalise_hotspot(tile); +} - superconduct(&mut tile_a, &mut tile_b, true); +// Yay, tests! +#[cfg(test)] +mod tests { + use super::*; - // These values are arbitrary, they're just what we get right now. - // Update them if the calculations changed intentionally. - assert_eq!(tile_a.thermal_energy, 120.0); - assert_eq!(tile_b.thermal_energy, 180.0); - } + // TODO } diff --git a/rust/src/milla/statics.rs b/rust/src/milla/statics.rs index 4ecdd702c1b8..d179b5ad74aa 100644 --- a/rust/src/milla/statics.rs +++ b/rust/src/milla/statics.rs @@ -10,5 +10,10 @@ pub(crate) static BUFFERS: OnceLock = OnceLock::new(); /// We only write this once per tick, and only read it on user input. pub(crate) static INTERESTING_TILES: Mutex> = Mutex::new(Vec::new()); +/// The current set of tiles BYOND wants the pressure of. +/// Written to via BYOND call. +/// Read from and cleared via BYOND call. +pub(crate) static TRACKED_PRESSURE_TILES: Mutex> = Mutex::new(Vec::new()); + /// How long the last tick took, in milliseconds. pub(crate) static TICK_TIME: AtomicUsize = AtomicUsize::new(0); diff --git a/rust/src/milla/tick.rs b/rust/src/milla/tick.rs index bc9afafff1f8..ee197e5788fb 100644 --- a/rust/src/milla/tick.rs +++ b/rust/src/milla/tick.rs @@ -1,7 +1,7 @@ -use crate::milla::constants::*; use crate::milla::model::*; use crate::milla::simulate; use crate::milla::statics::*; +use eyre; use scc::Bag; use std::sync::RwLock; use std::thread; @@ -13,11 +13,12 @@ pub(crate) fn tick(buffers: &Buffers) -> Result<(), eyre::Error> { assert!(thread_priority::ThreadPriority::Min .set_for_current() .is_ok()); - let active = buffers.get_active().read().unwrap(); - let inactive = buffers.get_inactive().read().unwrap(); + let prev = buffers.get_active().read().unwrap(); + let next = buffers.get_inactive().read().unwrap(); let new_interesting_tiles: Bag = Bag::default(); - let mut result: Result<(), eyre::Error> = Ok(()); + let mut result: eyre::Result<()> = Ok(()); + let handle_results: RwLock>> = RwLock::new(Vec::new()); // The scope tells Rust that all the threads we create here will end by the time the scope // closes. This allows us to pass things into them that are only borrowed for the lifetime of @@ -25,30 +26,39 @@ pub(crate) fn tick(buffers: &Buffers) -> Result<(), eyre::Error> { thread::scope(|s| { // Force most things to be captured by reference, despite the `move` // in the thread spawn, which is really just for `z`. - let active = &active; - let inactive = &inactive; + let prev = &prev; + let next = &next; let new_interesting_tiles = &new_interesting_tiles; // Handle each Z level in its own thread. let mut handles = Vec::>::new(); - for z in 0..active.0.len() { + let handle_results = &handle_results; + for z in 0..prev.0.len() { handles.push(s.spawn(move || { assert!(thread_priority::ThreadPriority::Min .set_for_current() .is_ok()); - tick_z_level( + let result = tick_z_level( buffers, - &active.0[z], - &inactive.0[z], + &prev.0[z], + &next.0[z], z as i32, &new_interesting_tiles, - ) - .unwrap(); + ); + let mut results = handle_results.write().unwrap(); + results.push(result); })); } for handle in handles { - if let Err(e) = handle.join() { - result = Err(eyre::eyre!("Worker thread failed: {:#?}", e)); + let _ = handle.join(); + } + let readable_results = handle_results.read().unwrap(); + for index in 0..readable_results.len() { + if readable_results[index].is_err() { + result = Err(eyre::eyre!( + "MILLA worker thread failed: {:#?}", + readable_results[index].as_ref().err() + )); } } }); @@ -69,118 +79,28 @@ pub(crate) fn tick(buffers: &Buffers) -> Result<(), eyre::Error> { /// Runs a single tick of one Z level's atmospherics model. pub(crate) fn tick_z_level( buffers: &Buffers, - active_atmos_lock: &RwLock, - inactive_atmos_lock: &RwLock, + prev_atmos_lock: &RwLock, + next_atmos_lock: &RwLock, z: i32, new_interesting_tiles: &Bag, -) -> Result<(), eyre::Error> { +) -> eyre::Result<()> { let environments; { let global_environments = buffers.environments.read().unwrap(); environments = global_environments.clone().into_boxed_slice(); } - let active = active_atmos_lock.read().unwrap(); - let mut inactive = inactive_atmos_lock.write().unwrap(); - // Initialize the new frame as a copy of the old one. - inactive.copy_from(&active); - for my_index in 0..MAP_SIZE * MAP_SIZE { - let x = (my_index / MAP_SIZE) as i32; - let y = (my_index % MAP_SIZE) as i32; - let my_tile = active.get_tile(my_index); - let my_connected_dirs = simulate::count_connected_dirs(&active, my_index, x, y)?; - - // Handle gas and heat exchange with neighbors. - for (dx, dy) in AXES { - let maybe_their_index = ZLevel::maybe_get_index(x + dx, y + dy); - let their_index; - match maybe_their_index { - Some(index) => their_index = index, - None => continue, - } - - let their_tile = active.get_tile(their_index); - if let AtmosMode::Space = my_tile.mode { - if let AtmosMode::Space = their_tile.mode { - // Exchange what, exactly? - continue; - } - } - let their_connected_dirs = - simulate::count_connected_dirs(&active, their_index, x + dx, y + dy)?; - - let (my_inactive_tile, their_inactive_tile) = - inactive.get_pair_mut(my_index, their_index); + let prev = prev_atmos_lock.read().unwrap(); + let mut next = next_atmos_lock.write().unwrap(); - // Bail if we shouldn't share air this way, but still run superconductivity. - if dx > 0 - && (my_tile - .airtight_directions - .contains(AirtightDirections::EAST) - || their_tile - .airtight_directions - .contains(AirtightDirections::WEST)) - { - simulate::superconduct(my_inactive_tile, their_inactive_tile, true); - continue; - } - if dy > 0 - && (my_tile - .airtight_directions - .contains(AirtightDirections::NORTH) - || their_tile - .airtight_directions - .contains(AirtightDirections::SOUTH)) - { - simulate::superconduct(my_inactive_tile, their_inactive_tile, false); - continue; - } - - // Calculate the amount of air and thermal energy transferred. - let (gas_change, thermal_energy_change) = - simulate::share_air(my_tile, their_tile, my_connected_dirs, their_connected_dirs); - - // Transfer it. - for i in 0..GAS_COUNT { - if gas_change.values[i] != 0.0 { - my_inactive_tile.gases.values[i] += gas_change.values[i]; - my_inactive_tile.gases.set_dirty(); - their_inactive_tile.gases.values[i] -= gas_change.values[i]; - their_inactive_tile.gases.set_dirty(); - } - } - my_inactive_tile.thermal_energy += thermal_energy_change; - their_inactive_tile.thermal_energy -= thermal_energy_change; - - // Run superconductivity. - simulate::superconduct(my_inactive_tile, their_inactive_tile, dx > 0); - } - - let my_inactive_tile = inactive.get_tile_mut(my_index); - simulate::apply_tile_mode(my_tile, my_inactive_tile, &environments)?; - - if let AtmosMode::Space = my_tile.mode { - // Space has no reactions, doesn't need to be sanitized, and is never interesting. - continue; - } - - // Track how much "fuel" was burnt across all reactions. - let fuel_burnt = simulate::react(my_inactive_tile); + // Initialize the new frame as a copy of the old one. + next.copy_from(&prev); - // Sanitize the tile, to avoid negative/NaN/infinity spread. - simulate::sanitize(my_inactive_tile, my_tile); + simulate::find_walls(&mut next); + simulate::update_wind(&prev, &mut next); + simulate::flow_air(&prev, &mut next)?; + simulate::post_process(&prev, &mut next, &environments, new_interesting_tiles, z)?; - simulate::check_interesting( - x, - y, - z, - &active, - &environments, - my_tile, - my_inactive_tile, - fuel_burnt, - new_interesting_tiles, - )?; - } + next.active_pressure_chunks.clear(); Ok(()) } @@ -189,6 +109,7 @@ pub(crate) fn tick_z_level( #[cfg(test)] mod tests { use super::*; + use crate::constants::*; fn set_with_defaults(legend: F) -> impl Fn(char) -> Tile where @@ -226,8 +147,8 @@ mod tests { where F: Fn(char) -> Tile, { - let active = buffers.get_active().read().unwrap(); - let mut z_level = active.0[z as usize].write().unwrap(); + let current = buffers.get_active().read().unwrap(); + let mut z_level = current.0[z as usize].write().unwrap(); for inv_y in 0..pattern.len() { // Reverse the Y direction, so +Y is up, like in the game. let y = pattern.len() - inv_y - 1; @@ -277,8 +198,8 @@ mod tests { where F: Fn(char) -> TileChecker, { - let active = buffers.get_active().read().unwrap(); - let z_level = active.0[z as usize].read().unwrap(); + let current = buffers.get_active().read().unwrap(); + let z_level = current.0[z as usize].read().unwrap(); for inv_y in 0..pattern.len() { // Reverse the Y direction, so +Y is up, like in the game. let y = pattern.len() - inv_y - 1; @@ -525,386 +446,5 @@ mod tests { // unfortunately, the compiler won't let it be applied in the middle of // the code right now. It formats right, it just won't compile. - // Air should split evenly to surrounding vacuum tiles. - #[test] - fn tick_splits_air() { - let buffers = Buffers::new(); - buffers.init_to(0); - - set_pattern( - &buffers, - &[ - "#######", // - "# #", // - "# 0 #", // - "# 0X0 #", // - "# 0 #", // - "# #", // - "#######", // - ], - set_with_defaults(|_c: char| None), - 0, - ); - - tick(&buffers).unwrap(); - - expect_pattern( - &buffers, - &[ - "#######", // - "# #", // - "# x #", // - "# xxx #", // - "# x #", // - "# #", // - "#######", // - ], - expect_with_defaults(|c: char| match c { - 'x' => Some( - TileChecker::new() // - .oxygen(20.0) - .thermal_energy(20.0), - ), - _ => None, - }), - 0, - ); - } - - // Air should not flow into walls. - #[test] - fn tick_respects_walls() { - let buffers = Buffers::new(); - buffers.init_to(0); - - set_pattern( - &buffers, - &[ - "###", // - "#X#", // - "###", // - ], - set_with_defaults(|_c: char| None), - 0, - ); - - tick(&buffers).unwrap(); - - expect_pattern( - &buffers, - &[ - "#0#", // - "0X0", // - "#0#", // - ], - expect_with_defaults(|_c: char| None), - 0, - ); - } - - // Air should flow properly into dead-end tiles. - #[test] - fn tick_handles_different_connections() { - let buffers = Buffers::new(); - buffers.init_to(0); - - set_pattern( - &buffers, - &[ - "#####", // - "##0##", // - "#0X0#", // - "##0##", // - "#####", // - ], - set_with_defaults(|_c: char| None), - 0, - ); - - tick(&buffers).unwrap(); - - expect_pattern( - &buffers, - &[ - "#####", // - "##x##", // - "#xxx#", // - "##x##", // - "#####", // - ], - expect_with_defaults(|c: char| match c { - 'x' => Some( - TileChecker::new() // - .oxygen(20.0) - .thermal_energy(20.0), - ), - _ => None, - }), - 0, - ); - } - - // Four equal dead-end tiles around a vacuum should distribute air evenly between all 5 tiles. - // Temp: Or not, because we're matching MILLA behavior. - #[test] - fn tick_merges_properly() { - let buffers = Buffers::new(); - buffers.init_to(0); - - set_pattern( - &buffers, - &[ - "#####", // - "##X##", // - "#X0X#", // - "##X##", // - "#####", // - ], - set_with_defaults(|_c: char| None), - 0, - ); - - tick(&buffers).unwrap(); - - expect_pattern( - &buffers, - &[ - "#####", // - "##x##", // - "#x!x#", // - "##x##", // - "#####", // - ], - expect_with_defaults(|c: char| match c { - '!' => Some( - TileChecker::new() // - .oxygen(200.0) - .thermal_energy(200.0), - ), - 'x' => Some( - TileChecker::new() // - .oxygen(50.0) - .thermal_energy(50.0), - ), - _ => None, - }), - 0, - ); - } - - // Energy should be transferred into superconducting walls. - #[test] - fn tick_superconducts_into_walls() { - let buffers = Buffers::new(); - buffers.init_to(0); - - set_pattern( - &buffers, - &[ - "######", // - "##XS##", // - "#S##X#", // - "#X##S#", // - "##SX##", // - "######", // - ], - set_with_defaults(|c: char| match c { - 'S' => Some( - TileBuilder::wall() // - .superconducts(OPEN_HEAT_TRANSFER_COEFFICIENT) - .innate_heat_capacity(2000.0) - .build(), - ), - _ => None, - }), - 0, - ); - - tick(&buffers).unwrap(); - - expect_pattern( - &buffers, - &[ - "######", // - "##xS##", // - "#S##x#", // - "#x##S#", // - "##Sx##", // - "######", // - ], - expect_with_defaults(|c: char| match c { - 'x' => Some( - TileChecker::new() // - .oxygen(100.0) - // This value is arbitrary, it's just what we get right now. - // Update it if the calculations changed intentionally. - .thermal_energy(80.0), - ), - 'S' => Some( - TileChecker::new() // - // This value is arbitrary, it's just what we get right now. - // Update it if the calculations changed intentionally. - .thermal_energy(20.0), - ), - _ => None, - }), - 0, - ); - } - - // Air should flow into a space tile, and be deleted. - #[test] - fn tick_empties_space() { - let buffers = Buffers::new(); - buffers.init_to(0); - - set_pattern( - &buffers, - &[ - "#####", // - "##X##", // - "#X X#", // - "##X##", // - "#####", // - ], - set_with_defaults(|c: char| match c { - 'x' => Some( - TileBuilder::sealed() // - .oxygen(100.0) - .thermal_energy(100.0) - .build(), - ), - _ => None, - }), - 0, - ); - - tick(&buffers).unwrap(); - - expect_pattern( - &buffers, - &[ - "#####", // - "##x##", // - "#x0x#", // - "##x##", // - "#####", // - ], - expect_with_defaults(|c: char| match c { - 'x' => Some( - TileChecker::new() // - .oxygen(50.0) - .thermal_energy(50.0), - ), - _ => None, - }), - 0, - ); - } - - // Air should tend towards the environment's temperature, if any. - #[test] - fn tick_affected_by_environment_temperature() { - let buffers = Buffers::new(); - buffers.init_to(0); - let lavaland = buffers.create_environment( - TileBuilder::sealed() // - .oxygen(8.0) - .nitrogen(14.0) - .temperature(500.0) - .build(), - ); - - set_pattern( - &buffers, - &[ - "###", // - "#X#", // - "###", // - ], - set_with_defaults(|c: char| match c { - 'X' => Some( - TileBuilder::exposed_to(lavaland) - .oxygen(8.0) - .nitrogen(14.0) - .thermal_energy(0.0) - .build(), - ), - _ => None, - }), - 0, - ); - - tick(&buffers).unwrap(); - - expect_pattern( - &buffers, - &[ - "###", // - "#Y#", // - "###", // - ], - expect_with_defaults(|c: char| match c { - 'Y' => Some( - TileChecker::new() // - .oxygen(8.0) - .nitrogen(14.0) - // This value is arbitrary, it's just what we get right now. - // Update it if the calculations changed intentionally. - .thermal_energy(44_000.0), - ), - _ => None, - }), - 0, - ); - } - - // Air should exchange with the tile's environment, if any. - #[test] - fn tick_affected_by_environment() { - let buffers = Buffers::new(); - buffers.init_to(0); - let lavaland = buffers.create_environment( - TileBuilder::sealed() // - .oxygen(8.0) - .nitrogen(14.0) - .temperature(500.0) - .build(), - ); - - set_pattern( - &buffers, - &[ - "###", // - "#X#", // - "###", // - ], - set_with_defaults(|c: char| match c { - 'X' => Some(TileBuilder::exposed_to(lavaland).build()), - _ => None, - }), - 0, - ); - - tick(&buffers).unwrap(); - - expect_pattern( - &buffers, - &[ - "###", // - "#Y#", // - "###", // - ], - expect_with_defaults(|c: char| match c { - 'Y' => Some( - TileChecker::new() // - .oxygen(4.0) - .nitrogen(7.0) - .temperature(500.0), - ), - _ => None, - }), - 0, - ); - } + // TODO } diff --git a/rustlibs.dll b/rustlibs.dll index 963afa5910ed..2339d9779627 100644 Binary files a/rustlibs.dll and b/rustlibs.dll differ diff --git a/rustlibs_prod.dll b/rustlibs_prod.dll index 355c4be35408..2e59e3f4fb96 100644 Binary files a/rustlibs_prod.dll and b/rustlibs_prod.dll differ diff --git a/sound/magic/magic_block.ogg b/sound/magic/magic_block.ogg new file mode 100644 index 000000000000..e9c4ffdca948 Binary files /dev/null and b/sound/magic/magic_block.ogg differ diff --git a/sound/magic/magic_block_holy.ogg b/sound/magic/magic_block_holy.ogg new file mode 100644 index 000000000000..eb34f01a8960 Binary files /dev/null and b/sound/magic/magic_block_holy.ogg differ diff --git a/sound/magic/magic_block_mind.ogg b/sound/magic/magic_block_mind.ogg new file mode 100644 index 000000000000..3b824da3e4c4 Binary files /dev/null and b/sound/magic/magic_block_mind.ogg differ diff --git a/tgui/packages/tgui/interfaces/AirAlarm.js b/tgui/packages/tgui/interfaces/AirAlarm.js index 0aa5845671d3..b56a410d14e8 100644 --- a/tgui/packages/tgui/interfaces/AirAlarm.js +++ b/tgui/packages/tgui/interfaces/AirAlarm.js @@ -364,24 +364,24 @@ const AirAlarmModesView = (props, context) => { return ( <>
- - {modes.map( - (m) => - (!m.emagonly || (m.emagonly && !!emagged)) && ( - - -
+ {Object.keys(modes).map((key) => { + let m = modes[key]; + if (!m.emagonly || !!emagged) { + return ( + + +
After making a selection, the system will automatically cycle in order to remove contaminants. diff --git a/tgui/packages/tgui/interfaces/AtmosAlertConsole.js b/tgui/packages/tgui/interfaces/AtmosAlertConsole.js index 15f9c2fb978a..30a1fc31bc03 100644 --- a/tgui/packages/tgui/interfaces/AtmosAlertConsole.js +++ b/tgui/packages/tgui/interfaces/AtmosAlertConsole.js @@ -6,6 +6,7 @@ export const AtmosAlertConsole = (props, context) => { const { act, data } = useBackend(context); const priorityAlerts = data.priority || []; const minorAlerts = data.minor || []; + const areaModes = data.mode || {}; return ( @@ -23,6 +24,12 @@ export const AtmosAlertConsole = (props, context) => { {alert} ))} + {Object.keys(areaModes).length === 0 &&
  • All Areas Filtering
  • } + {Object.keys(areaModes).map((label) => ( +
  • + {label} mode is {areaModes[label]} +
  • + ))}
    diff --git a/tgui/packages/tgui/interfaces/GhostHudPanel.js b/tgui/packages/tgui/interfaces/GhostHudPanel.js index 742db732f0f9..ba0362a47d03 100644 --- a/tgui/packages/tgui/interfaces/GhostHudPanel.js +++ b/tgui/packages/tgui/interfaces/GhostHudPanel.js @@ -4,14 +4,15 @@ import { Window } from '../layouts'; export const GhostHudPanel = (props, context) => { const { data } = useBackend(context); - const { security, medical, diagnostic, radioactivity, ahud } = data; + const { security, medical, diagnostic, pressure, radioactivity, ahud } = data; return ( - +
    + { const [tweakedGear, setTweakedGear] = useLocalState(context, 'tweakedGear', ''); return ( - + {tweakedGear && } diff --git a/tgui/public/tgui.bundle.js b/tgui/public/tgui.bundle.js index 011bb77e2bdd..66c97ba0ff0d 100644 --- a/tgui/public/tgui.bundle.js +++ b/tgui/public/tgui.bundle.js @@ -1,30 +1,30 @@ -(function(){(function(){var Jt={96376:function(A,r,n){"use strict";r.__esModule=!0,r.createPopper=void 0,r.popperGenerator=m;var e=g(n(74758)),a=g(n(28811)),t=g(n(98309)),o=g(n(44896)),f=g(n(33118)),b=g(n(10579)),S=g(n(56500)),I=g(n(17633));r.detectOverflow=I.default;var k=n(75573);function g(d){return d&&d.__esModule?d:{default:d}}var u={placement:"bottom",modifiers:[],strategy:"absolute"};function c(){for(var d=arguments.length,s=new Array(d),i=0;i0&&(0,a.round)(g.width)/S.offsetWidth||1,c=S.offsetHeight>0&&(0,a.round)(g.height)/S.offsetHeight||1);var m=(0,e.isElement)(S)?(0,t.default)(S):window,l=m.visualViewport,d=!(0,o.default)()&&k,s=(g.left+(d&&l?l.offsetLeft:0))/u,i=(g.top+(d&&l?l.offsetTop:0))/c,h=g.width/u,C=g.height/c;return{width:h,height:C,top:i,right:s+h,bottom:i+C,left:s,x:s,y:i}}},49035:function(A,r,n){"use strict";r.__esModule=!0,r.default=C;var e=n(46206),a=d(n(87991)),t=d(n(79752)),o=d(n(98309)),f=d(n(44896)),b=d(n(40600)),S=d(n(16599)),I=n(75573),k=d(n(37786)),g=d(n(57819)),u=d(n(4206)),c=d(n(12972)),m=d(n(81666)),l=n(63618);function d(v){return v&&v.__esModule?v:{default:v}}function s(v,p){var N=(0,k.default)(v,!1,p==="fixed");return N.top=N.top+v.clientTop,N.left=N.left+v.clientLeft,N.bottom=N.top+v.clientHeight,N.right=N.left+v.clientWidth,N.width=v.clientWidth,N.height=v.clientHeight,N.x=N.left,N.y=N.top,N}function i(v,p,N){return p===e.viewport?(0,m.default)((0,a.default)(v,N)):(0,I.isElement)(p)?s(p,N):(0,m.default)((0,t.default)((0,b.default)(v)))}function h(v){var p=(0,o.default)((0,g.default)(v)),N=["absolute","fixed"].indexOf((0,S.default)(v).position)>=0,V=N&&(0,I.isHTMLElement)(v)?(0,f.default)(v):v;return(0,I.isElement)(V)?p.filter(function(y){return(0,I.isElement)(y)&&(0,u.default)(y,V)&&(0,c.default)(y)!=="body"}):[]}function C(v,p,N,V){var y=p==="clippingParents"?h(v):[].concat(p),B=[].concat(y,[N]),L=B[0],w=B.reduce(function(x,T){var M=i(v,T,V);return x.top=(0,l.max)(M.top,x.top),x.right=(0,l.min)(M.right,x.right),x.bottom=(0,l.min)(M.bottom,x.bottom),x.left=(0,l.max)(M.left,x.left),x},i(v,L,V));return w.width=w.right-w.left,w.height=w.bottom-w.top,w.x=w.left,w.y=w.top,w}},74758:function(A,r,n){"use strict";r.__esModule=!0,r.default=u;var e=k(n(37786)),a=k(n(13390)),t=k(n(12972)),o=n(75573),f=k(n(79697)),b=k(n(40600)),S=k(n(10798)),I=n(63618);function k(c){return c&&c.__esModule?c:{default:c}}function g(c){var m=c.getBoundingClientRect(),l=(0,I.round)(m.width)/c.offsetWidth||1,d=(0,I.round)(m.height)/c.offsetHeight||1;return l!==1||d!==1}function u(c,m,l){l===void 0&&(l=!1);var d=(0,o.isHTMLElement)(m),s=(0,o.isHTMLElement)(m)&&g(m),i=(0,b.default)(m),h=(0,e.default)(c,s,l),C={scrollLeft:0,scrollTop:0},v={x:0,y:0};return(d||!d&&!l)&&(((0,t.default)(m)!=="body"||(0,S.default)(i))&&(C=(0,a.default)(m)),(0,o.isHTMLElement)(m)?(v=(0,e.default)(m,!0),v.x+=m.clientLeft,v.y+=m.clientTop):i&&(v.x=(0,f.default)(i))),{x:h.left+C.scrollLeft-v.x,y:h.top+C.scrollTop-v.y,width:h.width,height:h.height}}},16599:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(95115));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return(0,e.default)(o).getComputedStyle(o)}},40600:function(A,r,n){"use strict";r.__esModule=!0,r.default=a;var e=n(75573);function a(t){return(((0,e.isElement)(t)?t.ownerDocument:t.document)||window.document).documentElement}},79752:function(A,r,n){"use strict";r.__esModule=!0,r.default=S;var e=b(n(40600)),a=b(n(16599)),t=b(n(79697)),o=b(n(43750)),f=n(63618);function b(I){return I&&I.__esModule?I:{default:I}}function S(I){var k,g=(0,e.default)(I),u=(0,o.default)(I),c=(k=I.ownerDocument)==null?void 0:k.body,m=(0,f.max)(g.scrollWidth,g.clientWidth,c?c.scrollWidth:0,c?c.clientWidth:0),l=(0,f.max)(g.scrollHeight,g.clientHeight,c?c.scrollHeight:0,c?c.clientHeight:0),d=-u.scrollLeft+(0,t.default)(I),s=-u.scrollTop;return(0,a.default)(c||g).direction==="rtl"&&(d+=(0,f.max)(g.clientWidth,c?c.clientWidth:0)-m),{width:m,height:l,x:d,y:s}}},3073:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}},28811:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(37786));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var f=(0,e.default)(o),b=o.offsetWidth,S=o.offsetHeight;return Math.abs(f.width-b)<=1&&(b=f.width),Math.abs(f.height-S)<=1&&(S=f.height),{x:o.offsetLeft,y:o.offsetTop,width:b,height:S}}},12972:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e?(e.nodeName||"").toLowerCase():null}},13390:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(43750)),a=f(n(95115)),t=n(75573),o=f(n(3073));function f(S){return S&&S.__esModule?S:{default:S}}function b(S){return S===(0,a.default)(S)||!(0,t.isHTMLElement)(S)?(0,e.default)(S):(0,o.default)(S)}},44896:function(A,r,n){"use strict";r.__esModule=!0,r.default=u;var e=I(n(95115)),a=I(n(12972)),t=I(n(16599)),o=n(75573),f=I(n(87031)),b=I(n(57819)),S=I(n(35366));function I(c){return c&&c.__esModule?c:{default:c}}function k(c){return!(0,o.isHTMLElement)(c)||(0,t.default)(c).position==="fixed"?null:c.offsetParent}function g(c){var m=/firefox/i.test((0,S.default)()),l=/Trident/i.test((0,S.default)());if(l&&(0,o.isHTMLElement)(c)){var d=(0,t.default)(c);if(d.position==="fixed")return null}var s=(0,b.default)(c);for((0,o.isShadowRoot)(s)&&(s=s.host);(0,o.isHTMLElement)(s)&&["html","body"].indexOf((0,a.default)(s))<0;){var i=(0,t.default)(s);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||m&&i.willChange==="filter"||m&&i.filter&&i.filter!=="none")return s;s=s.parentNode}return null}function u(c){for(var m=(0,e.default)(c),l=k(c);l&&(0,f.default)(l)&&(0,t.default)(l).position==="static";)l=k(l);return l&&((0,a.default)(l)==="html"||(0,a.default)(l)==="body"&&(0,t.default)(l).position==="static")?m:l||g(c)||m}},57819:function(A,r,n){"use strict";r.__esModule=!0,r.default=f;var e=o(n(12972)),a=o(n(40600)),t=n(75573);function o(b){return b&&b.__esModule?b:{default:b}}function f(b){return(0,e.default)(b)==="html"?b:b.assignedSlot||b.parentNode||((0,t.isShadowRoot)(b)?b.host:null)||(0,a.default)(b)}},24426:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(57819)),a=f(n(10798)),t=f(n(12972)),o=n(75573);function f(S){return S&&S.__esModule?S:{default:S}}function b(S){return["html","body","#document"].indexOf((0,t.default)(S))>=0?S.ownerDocument.body:(0,o.isHTMLElement)(S)&&(0,a.default)(S)?S:b((0,e.default)(S))}},87991:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(95115)),a=f(n(40600)),t=f(n(79697)),o=f(n(89331));function f(S){return S&&S.__esModule?S:{default:S}}function b(S,I){var k=(0,e.default)(S),g=(0,a.default)(S),u=k.visualViewport,c=g.clientWidth,m=g.clientHeight,l=0,d=0;if(u){c=u.width,m=u.height;var s=(0,o.default)();(s||!s&&I==="fixed")&&(l=u.offsetLeft,d=u.offsetTop)}return{width:c,height:m,x:l+(0,t.default)(S),y:d}}},95115:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var a=e.ownerDocument;return a&&a.defaultView||window}return e}},43750:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(95115));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var f=(0,e.default)(o),b=f.pageXOffset,S=f.pageYOffset;return{scrollLeft:b,scrollTop:S}}},79697:function(A,r,n){"use strict";r.__esModule=!0,r.default=f;var e=o(n(37786)),a=o(n(40600)),t=o(n(43750));function o(b){return b&&b.__esModule?b:{default:b}}function f(b){return(0,e.default)((0,a.default)(b)).left+(0,t.default)(b).scrollLeft}},75573:function(A,r,n){"use strict";r.__esModule=!0,r.isElement=t,r.isHTMLElement=o,r.isShadowRoot=f;var e=a(n(95115));function a(b){return b&&b.__esModule?b:{default:b}}function t(b){var S=(0,e.default)(b).Element;return b instanceof S||b instanceof Element}function o(b){var S=(0,e.default)(b).HTMLElement;return b instanceof S||b instanceof HTMLElement}function f(b){if(typeof ShadowRoot=="undefined")return!1;var S=(0,e.default)(b).ShadowRoot;return b instanceof S||b instanceof ShadowRoot}},89331:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(35366));function a(o){return o&&o.__esModule?o:{default:o}}function t(){return!/^((?!chrome|android).)*safari/i.test((0,e.default)())}},10798:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(16599));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var f=(0,e.default)(o),b=f.overflow,S=f.overflowX,I=f.overflowY;return/auto|scroll|overlay|hidden/.test(b+I+S)}},87031:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(12972));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return["table","td","th"].indexOf((0,e.default)(o))>=0}},98309:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(24426)),a=f(n(57819)),t=f(n(95115)),o=f(n(10798));function f(S){return S&&S.__esModule?S:{default:S}}function b(S,I){var k;I===void 0&&(I=[]);var g=(0,e.default)(S),u=g===((k=S.ownerDocument)==null?void 0:k.body),c=(0,t.default)(g),m=u?[c].concat(c.visualViewport||[],(0,o.default)(g)?g:[]):g,l=I.concat(m);return u?l:l.concat(b((0,a.default)(m)))}},46206:function(A,r){"use strict";r.__esModule=!0,r.write=r.viewport=r.variationPlacements=r.top=r.start=r.right=r.reference=r.read=r.popper=r.placements=r.modifierPhases=r.main=r.left=r.end=r.clippingParents=r.bottom=r.beforeWrite=r.beforeRead=r.beforeMain=r.basePlacements=r.auto=r.afterWrite=r.afterRead=r.afterMain=void 0;var n=r.top="top",e=r.bottom="bottom",a=r.right="right",t=r.left="left",o=r.auto="auto",f=r.basePlacements=[n,e,a,t],b=r.start="start",S=r.end="end",I=r.clippingParents="clippingParents",k=r.viewport="viewport",g=r.popper="popper",u=r.reference="reference",c=r.variationPlacements=f.reduce(function(y,B){return y.concat([B+"-"+b,B+"-"+S])},[]),m=r.placements=[].concat(f,[o]).reduce(function(y,B){return y.concat([B,B+"-"+b,B+"-"+S])},[]),l=r.beforeRead="beforeRead",d=r.read="read",s=r.afterRead="afterRead",i=r.beforeMain="beforeMain",h=r.main="main",C=r.afterMain="afterMain",v=r.beforeWrite="beforeWrite",p=r.write="write",N=r.afterWrite="afterWrite",V=r.modifierPhases=[l,d,s,i,h,C,v,p,N]},95996:function(A,r,n){"use strict";r.__esModule=!0;var e={popperGenerator:!0,detectOverflow:!0,createPopperBase:!0,createPopper:!0,createPopperLite:!0};r.popperGenerator=r.detectOverflow=r.createPopperLite=r.createPopperBase=r.createPopper=void 0;var a=n(46206);Object.keys(a).forEach(function(S){S==="default"||S==="__esModule"||Object.prototype.hasOwnProperty.call(e,S)||S in r&&r[S]===a[S]||(r[S]=a[S])});var t=n(39805);Object.keys(t).forEach(function(S){S==="default"||S==="__esModule"||Object.prototype.hasOwnProperty.call(e,S)||S in r&&r[S]===t[S]||(r[S]=t[S])});var o=n(96376);r.popperGenerator=o.popperGenerator,r.detectOverflow=o.detectOverflow,r.createPopperBase=o.createPopper;var f=n(83312);r.createPopper=f.createPopper;var b=n(2473);r.createPopperLite=b.createPopper},19975:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=t(n(12972)),a=n(75573);function t(S){return S&&S.__esModule?S:{default:S}}function o(S){var I=S.state;Object.keys(I.elements).forEach(function(k){var g=I.styles[k]||{},u=I.attributes[k]||{},c=I.elements[k];!(0,a.isHTMLElement)(c)||!(0,e.default)(c)||(Object.assign(c.style,g),Object.keys(u).forEach(function(m){var l=u[m];l===!1?c.removeAttribute(m):c.setAttribute(m,l===!0?"":l)}))})}function f(S){var I=S.state,k={popper:{position:I.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(I.elements.popper.style,k.popper),I.styles=k,I.elements.arrow&&Object.assign(I.elements.arrow.style,k.arrow),function(){Object.keys(I.elements).forEach(function(g){var u=I.elements[g],c=I.attributes[g]||{},m=Object.keys(I.styles.hasOwnProperty(g)?I.styles[g]:k[g]),l=m.reduce(function(d,s){return d[s]="",d},{});!(0,a.isHTMLElement)(u)||!(0,e.default)(u)||(Object.assign(u.style,l),Object.keys(c).forEach(function(d){u.removeAttribute(d)}))})}}var b=r.default={name:"applyStyles",enabled:!0,phase:"write",fn:o,effect:f,requires:["computeStyles"]}},52744:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=g(n(83104)),a=g(n(28811)),t=g(n(4206)),o=g(n(44896)),f=g(n(41199)),b=n(28595),S=g(n(43286)),I=g(n(81447)),k=n(46206);function g(d){return d&&d.__esModule?d:{default:d}}var u=function(){function d(s,i){return s=typeof s=="function"?s(Object.assign({},i.rects,{placement:i.placement})):s,(0,S.default)(typeof s!="number"?s:(0,I.default)(s,k.basePlacements))}return d}();function c(d){var s,i=d.state,h=d.name,C=d.options,v=i.elements.arrow,p=i.modifiersData.popperOffsets,N=(0,e.default)(i.placement),V=(0,f.default)(N),y=[k.left,k.right].indexOf(N)>=0,B=y?"height":"width";if(!(!v||!p)){var L=u(C.padding,i),w=(0,a.default)(v),x=V==="y"?k.top:k.left,T=V==="y"?k.bottom:k.right,M=i.rects.reference[B]+i.rects.reference[V]-p[V]-i.rects.popper[B],O=p[V]-i.rects.reference[V],D=(0,o.default)(v),E=D?V==="y"?D.clientHeight||0:D.clientWidth||0:0,P=M/2-O/2,R=L[x],j=E-w[B]-L[T],F=E/2-w[B]/2+P,W=(0,b.within)(R,F,j),z=V;i.modifiersData[h]=(s={},s[z]=W,s.centerOffset=W-F,s)}}function m(d){var s=d.state,i=d.options,h=i.element,C=h===void 0?"[data-popper-arrow]":h;C!=null&&(typeof C=="string"&&(C=s.elements.popper.querySelector(C),!C)||(0,t.default)(s.elements.popper,C)&&(s.elements.arrow=C))}var l=r.default={name:"arrow",enabled:!0,phase:"main",fn:c,effect:m,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}},59894:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0,r.mapToStyles=c;var e=n(46206),a=k(n(44896)),t=k(n(95115)),o=k(n(40600)),f=k(n(16599)),b=k(n(83104)),S=k(n(45)),I=n(63618);function k(d){return d&&d.__esModule?d:{default:d}}var g={top:"auto",right:"auto",bottom:"auto",left:"auto"};function u(d,s){var i=d.x,h=d.y,C=s.devicePixelRatio||1;return{x:(0,I.round)(i*C)/C||0,y:(0,I.round)(h*C)/C||0}}function c(d){var s,i=d.popper,h=d.popperRect,C=d.placement,v=d.variation,p=d.offsets,N=d.position,V=d.gpuAcceleration,y=d.adaptive,B=d.roundOffsets,L=d.isFixed,w=p.x,x=w===void 0?0:w,T=p.y,M=T===void 0?0:T,O=typeof B=="function"?B({x:x,y:M}):{x:x,y:M};x=O.x,M=O.y;var D=p.hasOwnProperty("x"),E=p.hasOwnProperty("y"),P=e.left,R=e.top,j=window;if(y){var F=(0,a.default)(i),W="clientHeight",z="clientWidth";if(F===(0,t.default)(i)&&(F=(0,o.default)(i),(0,f.default)(F).position!=="static"&&N==="absolute"&&(W="scrollHeight",z="scrollWidth")),F=F,C===e.top||(C===e.left||C===e.right)&&v===e.end){R=e.bottom;var K=L&&F===j&&j.visualViewport?j.visualViewport.height:F[W];M-=K-h.height,M*=V?1:-1}if(C===e.left||(C===e.top||C===e.bottom)&&v===e.end){P=e.right;var G=L&&F===j&&j.visualViewport?j.visualViewport.width:F[z];x-=G-h.width,x*=V?1:-1}}var J=Object.assign({position:N},y&&g),Q=B===!0?u({x:x,y:M},(0,t.default)(i)):{x:x,y:M};if(x=Q.x,M=Q.y,V){var ue;return Object.assign({},J,(ue={},ue[R]=E?"0":"",ue[P]=D?"0":"",ue.transform=(j.devicePixelRatio||1)<=1?"translate("+x+"px, "+M+"px)":"translate3d("+x+"px, "+M+"px, 0)",ue))}return Object.assign({},J,(s={},s[R]=E?M+"px":"",s[P]=D?x+"px":"",s.transform="",s))}function m(d){var s=d.state,i=d.options,h=i.gpuAcceleration,C=h===void 0?!0:h,v=i.adaptive,p=v===void 0?!0:v,N=i.roundOffsets,V=N===void 0?!0:N,y={placement:(0,b.default)(s.placement),variation:(0,S.default)(s.placement),popper:s.elements.popper,popperRect:s.rects.popper,gpuAcceleration:C,isFixed:s.options.strategy==="fixed"};s.modifiersData.popperOffsets!=null&&(s.styles.popper=Object.assign({},s.styles.popper,c(Object.assign({},y,{offsets:s.modifiersData.popperOffsets,position:s.options.strategy,adaptive:p,roundOffsets:V})))),s.modifiersData.arrow!=null&&(s.styles.arrow=Object.assign({},s.styles.arrow,c(Object.assign({},y,{offsets:s.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:V})))),s.attributes.popper=Object.assign({},s.attributes.popper,{"data-popper-placement":s.placement})}var l=r.default={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:m,data:{}}},36692:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=a(n(95115));function a(b){return b&&b.__esModule?b:{default:b}}var t={passive:!0};function o(b){var S=b.state,I=b.instance,k=b.options,g=k.scroll,u=g===void 0?!0:g,c=k.resize,m=c===void 0?!0:c,l=(0,e.default)(S.elements.popper),d=[].concat(S.scrollParents.reference,S.scrollParents.popper);return u&&d.forEach(function(s){s.addEventListener("scroll",I.update,t)}),m&&l.addEventListener("resize",I.update,t),function(){u&&d.forEach(function(s){s.removeEventListener("scroll",I.update,t)}),m&&l.removeEventListener("resize",I.update,t)}}var f=r.default={name:"eventListeners",enabled:!0,phase:"write",fn:function(){function b(){}return b}(),effect:o,data:{}}},23798:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=I(n(71376)),a=I(n(83104)),t=I(n(86459)),o=I(n(17633)),f=I(n(9041)),b=n(46206),S=I(n(45));function I(c){return c&&c.__esModule?c:{default:c}}function k(c){if((0,a.default)(c)===b.auto)return[];var m=(0,e.default)(c);return[(0,t.default)(c),m,(0,t.default)(m)]}function g(c){var m=c.state,l=c.options,d=c.name;if(!m.modifiersData[d]._skip){for(var s=l.mainAxis,i=s===void 0?!0:s,h=l.altAxis,C=h===void 0?!0:h,v=l.fallbackPlacements,p=l.padding,N=l.boundary,V=l.rootBoundary,y=l.altBoundary,B=l.flipVariations,L=B===void 0?!0:B,w=l.allowedAutoPlacements,x=m.options.placement,T=(0,a.default)(x),M=T===x,O=v||(M||!L?[(0,e.default)(x)]:k(x)),D=[x].concat(O).reduce(function(re,oe){return re.concat((0,a.default)(oe)===b.auto?(0,f.default)(m,{placement:oe,boundary:N,rootBoundary:V,padding:p,flipVariations:L,allowedAutoPlacements:w}):oe)},[]),E=m.rects.reference,P=m.rects.popper,R=new Map,j=!0,F=D[0],W=0;W=0,Q=J?"width":"height",ue=(0,o.default)(m,{placement:z,boundary:N,rootBoundary:V,altBoundary:y,padding:p}),ie=J?G?b.right:b.left:G?b.bottom:b.top;E[Q]>P[Q]&&(ie=(0,e.default)(ie));var pe=(0,e.default)(ie),te=[];if(i&&te.push(ue[K]<=0),C&&te.push(ue[ie]<=0,ue[pe]<=0),te.every(function(re){return re})){F=z,j=!1;break}R.set(z,te)}if(j)for(var q=L?3:1,ne=function(){function re(oe){var fe=D.find(function(me){var Y=R.get(me);if(Y)return Y.slice(0,oe).every(function(ve){return ve})});if(fe)return F=fe,"break"}return re}(),le=q;le>0;le--){var ee=ne(le);if(ee==="break")break}m.placement!==F&&(m.modifiersData[d]._skip=!0,m.placement=F,m.reset=!0)}}var u=r.default={name:"flip",enabled:!0,phase:"main",fn:g,requiresIfExists:["offset"],data:{_skip:!1}}},83761:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=n(46206),a=t(n(17633));function t(I){return I&&I.__esModule?I:{default:I}}function o(I,k,g){return g===void 0&&(g={x:0,y:0}),{top:I.top-k.height-g.y,right:I.right-k.width+g.x,bottom:I.bottom-k.height+g.y,left:I.left-k.width-g.x}}function f(I){return[e.top,e.right,e.bottom,e.left].some(function(k){return I[k]>=0})}function b(I){var k=I.state,g=I.name,u=k.rects.reference,c=k.rects.popper,m=k.modifiersData.preventOverflow,l=(0,a.default)(k,{elementContext:"reference"}),d=(0,a.default)(k,{altBoundary:!0}),s=o(l,u),i=o(d,c,m),h=f(s),C=f(i);k.modifiersData[g]={referenceClippingOffsets:s,popperEscapeOffsets:i,isReferenceHidden:h,hasPopperEscaped:C},k.attributes.popper=Object.assign({},k.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":C})}var S=r.default={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:b}},39805:function(A,r,n){"use strict";r.__esModule=!0,r.preventOverflow=r.popperOffsets=r.offset=r.hide=r.flip=r.eventListeners=r.computeStyles=r.arrow=r.applyStyles=void 0;var e=g(n(19975));r.applyStyles=e.default;var a=g(n(52744));r.arrow=a.default;var t=g(n(59894));r.computeStyles=t.default;var o=g(n(36692));r.eventListeners=o.default;var f=g(n(23798));r.flip=f.default;var b=g(n(83761));r.hide=b.default;var S=g(n(61410));r.offset=S.default;var I=g(n(40107));r.popperOffsets=I.default;var k=g(n(75137));r.preventOverflow=k.default;function g(u){return u&&u.__esModule?u:{default:u}}},61410:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0,r.distanceAndSkiddingToXY=o;var e=t(n(83104)),a=n(46206);function t(S){return S&&S.__esModule?S:{default:S}}function o(S,I,k){var g=(0,e.default)(S),u=[a.left,a.top].indexOf(g)>=0?-1:1,c=typeof k=="function"?k(Object.assign({},I,{placement:S})):k,m=c[0],l=c[1];return m=m||0,l=(l||0)*u,[a.left,a.right].indexOf(g)>=0?{x:l,y:m}:{x:m,y:l}}function f(S){var I=S.state,k=S.options,g=S.name,u=k.offset,c=u===void 0?[0,0]:u,m=a.placements.reduce(function(i,h){return i[h]=o(h,I.rects,c),i},{}),l=m[I.placement],d=l.x,s=l.y;I.modifiersData.popperOffsets!=null&&(I.modifiersData.popperOffsets.x+=d,I.modifiersData.popperOffsets.y+=s),I.modifiersData[g]=m}var b=r.default={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:f}},40107:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=a(n(89951));function a(f){return f&&f.__esModule?f:{default:f}}function t(f){var b=f.state,S=f.name;b.modifiersData[S]=(0,e.default)({reference:b.rects.reference,element:b.rects.popper,strategy:"absolute",placement:b.placement})}var o=r.default={name:"popperOffsets",enabled:!0,phase:"read",fn:t,data:{}}},75137:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=n(46206),a=c(n(83104)),t=c(n(41199)),o=c(n(28066)),f=n(28595),b=c(n(28811)),S=c(n(44896)),I=c(n(17633)),k=c(n(45)),g=c(n(34780)),u=n(63618);function c(d){return d&&d.__esModule?d:{default:d}}function m(d){var s=d.state,i=d.options,h=d.name,C=i.mainAxis,v=C===void 0?!0:C,p=i.altAxis,N=p===void 0?!1:p,V=i.boundary,y=i.rootBoundary,B=i.altBoundary,L=i.padding,w=i.tether,x=w===void 0?!0:w,T=i.tetherOffset,M=T===void 0?0:T,O=(0,I.default)(s,{boundary:V,rootBoundary:y,padding:L,altBoundary:B}),D=(0,a.default)(s.placement),E=(0,k.default)(s.placement),P=!E,R=(0,t.default)(D),j=(0,o.default)(R),F=s.modifiersData.popperOffsets,W=s.rects.reference,z=s.rects.popper,K=typeof M=="function"?M(Object.assign({},s.rects,{placement:s.placement})):M,G=typeof K=="number"?{mainAxis:K,altAxis:K}:Object.assign({mainAxis:0,altAxis:0},K),J=s.modifiersData.offset?s.modifiersData.offset[s.placement]:null,Q={x:0,y:0};if(F){if(v){var ue,ie=R==="y"?e.top:e.left,pe=R==="y"?e.bottom:e.right,te=R==="y"?"height":"width",q=F[R],ne=q+O[ie],le=q-O[pe],ee=x?-z[te]/2:0,re=E===e.start?W[te]:z[te],oe=E===e.start?-z[te]:-W[te],fe=s.elements.arrow,me=x&&fe?(0,b.default)(fe):{width:0,height:0},Y=s.modifiersData["arrow#persistent"]?s.modifiersData["arrow#persistent"].padding:(0,g.default)(),ve=Y[ie],he=Y[pe],Ve=(0,f.within)(0,W[te],me[te]),Be=P?W[te]/2-ee-Ve-ve-G.mainAxis:re-Ve-ve-G.mainAxis,be=P?-W[te]/2+ee+Ve+he+G.mainAxis:oe+Ve+he+G.mainAxis,Le=s.elements.arrow&&(0,S.default)(s.elements.arrow),we=Le?R==="y"?Le.clientTop||0:Le.clientLeft||0:0,xe=(ue=J==null?void 0:J[R])!=null?ue:0,Re=q+Be-xe-we,He=q+be-xe,ye=(0,f.within)(x?(0,u.min)(ne,Re):ne,q,x?(0,u.max)(le,He):le);F[R]=ye,Q[R]=ye-q}if(N){var de,Ce=R==="x"?e.top:e.left,ke=R==="x"?e.bottom:e.right,ge=F[j],Se=j==="y"?"height":"width",Pe=ge+O[Ce],je=ge-O[ke],_e=[e.top,e.left].indexOf(D)!==-1,ze=(de=J==null?void 0:J[j])!=null?de:0,We=_e?Pe:ge-W[Se]-z[Se]-ze+G.altAxis,Ue=_e?ge+W[Se]+z[Se]-ze-G.altAxis:je,Xe=x&&_e?(0,f.withinMaxClamp)(We,ge,Ue):(0,f.within)(x?We:Pe,ge,x?Ue:je);F[j]=Xe,Q[j]=Xe-ge}s.modifiersData[h]=Q}}var l=r.default={name:"preventOverflow",enabled:!0,phase:"main",fn:m,requiresIfExists:["offset"]}},2473:function(A,r,n){"use strict";r.__esModule=!0,r.defaultModifiers=r.createPopper=void 0;var e=n(96376);r.popperGenerator=e.popperGenerator,r.detectOverflow=e.detectOverflow;var a=b(n(36692)),t=b(n(40107)),o=b(n(59894)),f=b(n(19975));function b(k){return k&&k.__esModule?k:{default:k}}var S=r.defaultModifiers=[a.default,t.default,o.default,f.default],I=r.createPopper=(0,e.popperGenerator)({defaultModifiers:S})},83312:function(A,r,n){"use strict";r.__esModule=!0;var e={createPopper:!0,createPopperLite:!0,defaultModifiers:!0,popperGenerator:!0,detectOverflow:!0};r.defaultModifiers=r.createPopperLite=r.createPopper=void 0;var a=n(96376);r.popperGenerator=a.popperGenerator,r.detectOverflow=a.detectOverflow;var t=l(n(36692)),o=l(n(40107)),f=l(n(59894)),b=l(n(19975)),S=l(n(61410)),I=l(n(23798)),k=l(n(75137)),g=l(n(52744)),u=l(n(83761)),c=n(2473);r.createPopperLite=c.createPopper;var m=n(39805);Object.keys(m).forEach(function(i){i==="default"||i==="__esModule"||Object.prototype.hasOwnProperty.call(e,i)||i in r&&r[i]===m[i]||(r[i]=m[i])});function l(i){return i&&i.__esModule?i:{default:i}}var d=r.defaultModifiers=[t.default,o.default,f.default,b.default,S.default,I.default,k.default,g.default,u.default],s=r.createPopperLite=r.createPopper=(0,a.popperGenerator)({defaultModifiers:d})},9041:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(45)),a=n(46206),t=f(n(17633)),o=f(n(83104));function f(S){return S&&S.__esModule?S:{default:S}}function b(S,I){I===void 0&&(I={});var k=I,g=k.placement,u=k.boundary,c=k.rootBoundary,m=k.padding,l=k.flipVariations,d=k.allowedAutoPlacements,s=d===void 0?a.placements:d,i=(0,e.default)(g),h=i?l?a.variationPlacements:a.variationPlacements.filter(function(p){return(0,e.default)(p)===i}):a.basePlacements,C=h.filter(function(p){return s.indexOf(p)>=0});C.length===0&&(C=h);var v=C.reduce(function(p,N){return p[N]=(0,t.default)(S,{placement:N,boundary:u,rootBoundary:c,padding:m})[(0,o.default)(N)],p},{});return Object.keys(v).sort(function(p,N){return v[p]-v[N]})}},89951:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(83104)),a=f(n(45)),t=f(n(41199)),o=n(46206);function f(S){return S&&S.__esModule?S:{default:S}}function b(S){var I=S.reference,k=S.element,g=S.placement,u=g?(0,e.default)(g):null,c=g?(0,a.default)(g):null,m=I.x+I.width/2-k.width/2,l=I.y+I.height/2-k.height/2,d;switch(u){case o.top:d={x:m,y:I.y-k.height};break;case o.bottom:d={x:m,y:I.y+I.height};break;case o.right:d={x:I.x+I.width,y:l};break;case o.left:d={x:I.x-k.width,y:l};break;default:d={x:I.x,y:I.y}}var s=u?(0,t.default)(u):null;if(s!=null){var i=s==="y"?"height":"width";switch(c){case o.start:d[s]=d[s]-(I[i]/2-k[i]/2);break;case o.end:d[s]=d[s]+(I[i]/2-k[i]/2);break;default:}}return d}},10579:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){var a;return function(){return a||(a=new Promise(function(t){Promise.resolve().then(function(){a=void 0,t(e())})})),a}}},17633:function(A,r,n){"use strict";r.__esModule=!0,r.default=u;var e=g(n(49035)),a=g(n(40600)),t=g(n(37786)),o=g(n(89951)),f=g(n(81666)),b=n(46206),S=n(75573),I=g(n(43286)),k=g(n(81447));function g(c){return c&&c.__esModule?c:{default:c}}function u(c,m){m===void 0&&(m={});var l=m,d=l.placement,s=d===void 0?c.placement:d,i=l.strategy,h=i===void 0?c.strategy:i,C=l.boundary,v=C===void 0?b.clippingParents:C,p=l.rootBoundary,N=p===void 0?b.viewport:p,V=l.elementContext,y=V===void 0?b.popper:V,B=l.altBoundary,L=B===void 0?!1:B,w=l.padding,x=w===void 0?0:w,T=(0,I.default)(typeof x!="number"?x:(0,k.default)(x,b.basePlacements)),M=y===b.popper?b.reference:b.popper,O=c.rects.popper,D=c.elements[L?M:y],E=(0,e.default)((0,S.isElement)(D)?D:D.contextElement||(0,a.default)(c.elements.popper),v,N,h),P=(0,t.default)(c.elements.reference),R=(0,o.default)({reference:P,element:O,strategy:"absolute",placement:s}),j=(0,f.default)(Object.assign({},O,R)),F=y===b.popper?j:P,W={top:E.top-F.top+T.top,bottom:F.bottom-E.bottom+T.bottom,left:E.left-F.left+T.left,right:F.right-E.right+T.right},z=c.modifiersData.offset;if(y===b.popper&&z){var K=z[s];Object.keys(W).forEach(function(G){var J=[b.right,b.bottom].indexOf(G)>=0?1:-1,Q=[b.top,b.bottom].indexOf(G)>=0?"y":"x";W[G]+=K[Q]*J})}return W}},81447:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e,a){return a.reduce(function(t,o){return t[o]=e,t},{})}},28066:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e==="x"?"y":"x"}},83104:function(A,r,n){"use strict";r.__esModule=!0,r.default=a;var e=n(46206);function a(t){return t.split("-")[0]}},34780:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(){return{top:0,right:0,bottom:0,left:0}}},41199:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}},71376:function(A,r){"use strict";r.__esModule=!0,r.default=e;var n={left:"right",right:"left",bottom:"top",top:"bottom"};function e(a){return a.replace(/left|right|bottom|top/g,function(t){return n[t]})}},86459:function(A,r){"use strict";r.__esModule=!0,r.default=e;var n={start:"end",end:"start"};function e(a){return a.replace(/start|end/g,function(t){return n[t]})}},45:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e.split("-")[1]}},63618:function(A,r){"use strict";r.__esModule=!0,r.round=r.min=r.max=void 0;var n=r.max=Math.max,e=r.min=Math.min,a=r.round=Math.round},56500:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){var a=e.reduce(function(t,o){var f=t[o.name];return t[o.name]=f?Object.assign({},f,o,{options:Object.assign({},f.options,o.options),data:Object.assign({},f.data,o.data)}):o,t},{});return Object.keys(a).map(function(t){return a[t]})}},43286:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(34780));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return Object.assign({},(0,e.default)(),o)}},33118:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=n(46206);function a(o){var f=new Map,b=new Set,S=[];o.forEach(function(k){f.set(k.name,k)});function I(k){b.add(k.name);var g=[].concat(k.requires||[],k.requiresIfExists||[]);g.forEach(function(u){if(!b.has(u)){var c=f.get(u);c&&I(c)}}),S.push(k)}return o.forEach(function(k){b.has(k.name)||I(k)}),S}function t(o){var f=a(o);return e.modifierPhases.reduce(function(b,S){return b.concat(f.filter(function(I){return I.phase===S}))},[])}},81666:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}},35366:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(a){return a.brand+"/"+a.version}).join(" "):navigator.userAgent}},28595:function(A,r,n){"use strict";r.__esModule=!0,r.within=a,r.withinMaxClamp=t;var e=n(63618);function a(o,f,b){return(0,e.max)(o,(0,e.min)(f,b))}function t(o,f,b){var S=a(o,f,b);return S>b?b:S}},15875:function(A,r){"use strict";r.__esModule=!0,r.VNodeFlags=r.ChildFlags=void 0;var n;(function(a){a[a.Unknown=0]="Unknown",a[a.HtmlElement=1]="HtmlElement",a[a.ComponentUnknown=2]="ComponentUnknown",a[a.ComponentClass=4]="ComponentClass",a[a.ComponentFunction=8]="ComponentFunction",a[a.Text=16]="Text",a[a.SvgElement=32]="SvgElement",a[a.InputElement=64]="InputElement",a[a.TextareaElement=128]="TextareaElement",a[a.SelectElement=256]="SelectElement",a[a.Portal=1024]="Portal",a[a.ReCreate=2048]="ReCreate",a[a.ContentEditable=4096]="ContentEditable",a[a.Fragment=8192]="Fragment",a[a.InUse=16384]="InUse",a[a.ForwardRef=32768]="ForwardRef",a[a.Normalized=65536]="Normalized",a[a.ForwardRefComponent=32776]="ForwardRefComponent",a[a.FormElement=448]="FormElement",a[a.Element=481]="Element",a[a.Component=14]="Component",a[a.DOMRef=1521]="DOMRef",a[a.InUseOrNormalized=81920]="InUseOrNormalized",a[a.ClearInUse=-16385]="ClearInUse",a[a.ComponentKnown=12]="ComponentKnown"})(n||(r.VNodeFlags=n={}));var e;(function(a){a[a.UnknownChildren=0]="UnknownChildren",a[a.HasInvalidChildren=1]="HasInvalidChildren",a[a.HasVNodeChildren=2]="HasVNodeChildren",a[a.HasNonKeyedChildren=4]="HasNonKeyedChildren",a[a.HasKeyedChildren=8]="HasKeyedChildren",a[a.HasTextChildren=16]="HasTextChildren",a[a.MultipleChildren=12]="MultipleChildren"})(e||(r.ChildFlags=e={}))},89292:function(A,r){"use strict";r.__esModule=!0,r.Fragment=r.EMPTY_OBJ=r.Component=r.AnimationQueues=void 0,r._CI=Ot,r._HI=me,r._M=$e,r._MCCC=_t,r._ME=Dt,r._MFCC=Ft,r._MP=Mt,r._MR=at,r._RFC=gt,r.__render=Ht,r.createComponentVNode=ue,r.createFragment=pe,r.createPortal=ee,r.createRef=nn,r.createRenderer=En,r.createTextVNode=ie,r.createVNode=K,r.directClone=ne,r.findDOMFromVNode=V,r.forwardRef=on,r.getFlagsForElementVnode=oe,r.linkEvent=g,r.normalizeProps=te,r.options=void 0,r.render=zt,r.rerender=Kt,r.version=void 0;var n=Array.isArray;function e(_){var U=typeof _;return U==="string"||U==="number"}function a(_){return _==null}function t(_){return _===null||_===!1||_===!0||_===void 0}function o(_){return typeof _=="function"}function f(_){return typeof _=="string"}function b(_){return typeof _=="number"}function S(_){return _===null}function I(_){return _===void 0}function k(_,U){var H={};if(_)for(var $ in _)H[$]=_[$];if(U)for(var Z in U)H[Z]=U[Z];return H}function g(_,U){return o(U)?{data:_,event:U}:null}function u(_){return!S(_)&&typeof _=="object"}var c=r.EMPTY_OBJ={},m=r.Fragment="$F",l=r.AnimationQueues=function(){function _(){this.componentDidAppear=[],this.componentWillDisappear=[],this.componentWillMove=[]}return _}();function d(_){return _.substring(2).toLowerCase()}function s(_,U){_.appendChild(U)}function i(_,U,H){S(H)?s(_,U):_.insertBefore(U,H)}function h(_,U){return U?document.createElementNS("http://www.w3.org/2000/svg",_):document.createElement(_)}function C(_,U,H){_.replaceChild(U,H)}function v(_,U){_.removeChild(U)}function p(_){for(var U=0;U<_.length;U++)_[U]()}function N(_,U,H){var $=_.children;return H&4?$.$LI:H&8192?_.childFlags===2?$:$[U?0:$.length-1]:$}function V(_,U){for(var H;_;){if(H=_.flags,H&1521)return _.dom;_=N(_,U,H)}return null}function y(_,U){for(var H=_.length,$;($=_.pop())!==void 0;)$(function(){--H<=0&&o(U)&&U()})}function B(_){for(var U=0;U<_.length;U++)_[U].fn();for(var H=0;H<_.length;H++){var $=_[H];i($.parent,$.dom,$.next)}_.splice(0,_.length)}function L(_,U,H){do{var $=_.flags;if($&1521){(!H||_.dom.parentNode===U)&&v(U,_.dom);return}var Z=_.children;if($&4&&(_=Z.$LI),$&8&&(_=Z),$&8192)if(_.childFlags===2)_=Z;else{for(var ae=0,ce=Z.length;ae0?y(H.componentWillDisappear,w(_,U)):L(_,U,!1)}function T(_,U,H,$,Z,ae,ce,se){_.componentWillMove.push({dom:$,fn:function(){function Ne(){ce&4?H.componentWillMove(U,Z,$):ce&8&&H.onComponentWillMove(U,Z,$,se)}return Ne}(),next:ae,parent:Z})}function M(_,U,H,$,Z){var ae,ce,se=U.flags;do{var Ne=U.flags;if(Ne&1521){!a(ae)&&(o(ae.componentWillMove)||o(ae.onComponentWillMove))?T(Z,_,ae,U.dom,H,$,se,ce):i(H,U.dom,$);return}var Te=U.children;if(Ne&4)ae=U.children,ce=U.props,U=Te.$LI;else if(Ne&8)ae=U.ref,ce=U.props,U=Te;else if(Ne&8192)if(U.childFlags===2)U=Te;else{for(var Ie=0,Ee=Te.length;Ie0,Te=S(se),Ie=f(se)&&se[0]===W;Ne||Te||Ie?(H=H||U.slice(0,ae),(Ne||Ie)&&(ce=ne(ce)),(Te||Ie)&&(ce.key=W+ae),H.push(ce)):H&&H.push(ce),ce.flags|=65536}}H=H||U,H.length===0?$=1:$=8}else H=U,H.flags|=65536,U.flags&81920&&(H=ne(U)),$=2;return _.children=H,_.childFlags=$,_}function me(_){return t(_)||e(_)?ie(_,null):n(_)?pe(_,0,null):_.flags&16384?ne(_):_}var Y="http://www.w3.org/1999/xlink",ve="http://www.w3.org/XML/1998/namespace",he={"xlink:actuate":Y,"xlink:arcrole":Y,"xlink:href":Y,"xlink:role":Y,"xlink:show":Y,"xlink:title":Y,"xlink:type":Y,"xml:base":ve,"xml:lang":ve,"xml:space":ve};function Ve(_){return{onClick:_,onDblClick:_,onFocusIn:_,onFocusOut:_,onKeyDown:_,onKeyPress:_,onKeyUp:_,onMouseDown:_,onMouseMove:_,onMouseUp:_,onTouchEnd:_,onTouchMove:_,onTouchStart:_}}var Be=Ve(0),be=Ve(null),Le=Ve(!0);function we(_,U){var H=U.$EV;return H||(H=U.$EV=Ve(null)),H[_]||++Be[_]===1&&(be[_]=je(_)),H}function xe(_,U){var H=U.$EV;H&&H[_]&&(--Be[_]===0&&(document.removeEventListener(d(_),be[_]),be[_]=null),H[_]=null)}function Re(_,U,H,$){if(o(H))we(_,$)[_]=H;else if(u(H)){if(R(U,H))return;we(_,$)[_]=H}else xe(_,$)}function He(_){return o(_.composedPath)?_.composedPath()[0]:_.target}function ye(_,U,H,$){var Z=He(_);do{if(U&&Z.disabled)return;var ae=Z.$EV;if(ae){var ce=ae[H];if(ce&&($.dom=Z,ce.event?ce.event(ce.data,_):ce(_),_.cancelBubble))return}Z=Z.parentNode}while(!S(Z))}function de(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function Ce(){return this.defaultPrevented}function ke(){return this.cancelBubble}function ge(_){var U={dom:document};return _.isDefaultPrevented=Ce,_.isPropagationStopped=ke,_.stopPropagation=de,Object.defineProperty(_,"currentTarget",{configurable:!0,get:function(){function H(){return U.dom}return H}()}),U}function Se(_){return function(U){if(U.button!==0){U.stopPropagation();return}ye(U,!0,_,ge(U))}}function Pe(_){return function(U){ye(U,!1,_,ge(U))}}function je(_){var U=_==="onClick"||_==="onDblClick"?Se(_):Pe(_);return document.addEventListener(d(_),U),U}function _e(_,U){var H=document.createElement("i");return H.innerHTML=U,H.innerHTML===_.innerHTML}function ze(_,U,H){if(_[U]){var $=_[U];$.event?$.event($.data,H):$(H)}else{var Z=U.toLowerCase();_[Z]&&_[Z](H)}}function We(_,U){var H=function(){function $(Z){var ae=this.$V;if(ae){var ce=ae.props||c,se=ae.dom;if(f(_))ze(ce,_,Z);else for(var Ne=0;Ne<_.length;++Ne)ze(ce,_[Ne],Z);if(o(U)){var Te=this.$V,Ie=Te.props||c;U(Ie,se,!1,Te)}}}return $}();return Object.defineProperty(H,"wrapped",{configurable:!1,enumerable:!1,value:!0,writable:!1}),H}function Ue(_,U,H){var $="$"+U,Z=_[$];if(Z){if(Z[1].wrapped)return;_.removeEventListener(Z[0],Z[1]),_[$]=null}o(H)&&(_.addEventListener(U,H),_[$]=[U,H])}function Xe(_){return _==="checkbox"||_==="radio"}var yt=We("onInput",dt),St=We(["onClick","onChange"],dt);function Ct(_){_.stopPropagation()}Ct.wrapped=!0;function Bt(_,U){Xe(U.type)?(Ue(_,"change",St),Ue(_,"click",Ct)):Ue(_,"input",yt)}function dt(_,U){var H=_.type,$=_.value,Z=_.checked,ae=_.multiple,ce=_.defaultValue,se=!a($);H&&H!==U.type&&U.setAttribute("type",H),!a(ae)&&ae!==U.multiple&&(U.multiple=ae),!a(ce)&&!se&&(U.defaultValue=ce+""),Xe(H)?(se&&(U.value=$),a(Z)||(U.checked=Z)):se&&U.value!==$?(U.defaultValue=$,U.value=$):a(Z)||(U.checked=Z)}function rt(_,U){if(_.type==="option")It(_,U);else{var H=_.children,$=_.flags;if($&4)rt(H.$LI,U);else if($&8)rt(H,U);else if(_.childFlags===2)rt(H,U);else if(_.childFlags&12)for(var Z=0,ae=H.length;Z-1&&U.options[ae]&&(se=U.options[ae].value),H&&a(se)&&(se=_.defaultValue),rt($,se)}}var Zt=We("onInput",Tt),qt=We("onChange");function en(_,U){Ue(_,"input",Zt),U.onChange&&Ue(_,"change",qt)}function Tt(_,U,H){var $=_.value,Z=U.value;if(a($)){if(H){var ae=_.defaultValue;!a(ae)&&ae!==Z&&(U.defaultValue=ae,U.value=ae)}}else Z!==$&&(U.defaultValue=$,U.value=$)}function xt(_,U,H,$,Z,ae){_&64?dt($,H):_&256?wt($,H,Z,U):_&128&&Tt($,H,Z),ae&&(H.$V=U)}function tn(_,U,H){_&64?Bt(U,H):_&256?Qt(U):_&128&&en(U,H)}function At(_){return _.type&&Xe(_.type)?!a(_.checked):!a(_.value)}function nn(){return{current:null}}function on(_){var U={render:_};return U}function st(_){_&&!F(_,null)&&_.current&&(_.current=null)}function at(_,U,H){_&&(o(_)||_.current!==void 0)&&H.push(function(){!F(_,U)&&_.current!==void 0&&(_.current=U)})}function Je(_,U,H){Ze(_,H),x(_,U,H)}function Ze(_,U){var H=_.flags,$=_.children,Z;if(H&481){Z=_.ref;var ae=_.props;st(Z);var ce=_.childFlags;if(!S(ae))for(var se=Object.keys(ae),Ne=0,Te=se.length;Ne0?y(H.componentWillDisappear,rn(U,_)):_.textContent=""}function pt(_,U,H,$){ct(H,$),U.flags&8192?x(U,_,$):mt(_,H,$)}function Et(_,U,H,$,Z){_.componentWillDisappear.push(function(ae){$&4?U.componentWillDisappear(H,ae):$&8&&U.onComponentWillDisappear(H,Z,ae)})}function an(_){var U=_.event;return function(H){U(_.data,H)}}function cn(_,U,H,$){if(u(H)){if(R(U,H))return;H=an(H)}Ue($,d(_),H)}function ln(_,U,H){if(a(U)){H.removeAttribute("style");return}var $=H.style,Z,ae;if(f(U)){$.cssText=U;return}if(!a(_)&&!f(_)){for(Z in U)ae=U[Z],ae!==_[Z]&&$.setProperty(Z,ae);for(Z in _)a(U[Z])&&$.removeProperty(Z)}else for(Z in U)ae=U[Z],$.setProperty(Z,ae)}function un(_,U,H,$,Z){var ae=_&&_.__html||"",ce=U&&U.__html||"";ae!==ce&&!a(ce)&&!_e($,ce)&&(S(H)||(H.childFlags&12?ct(H.children,Z):H.childFlags===2&&Ze(H.children,Z),H.children=null,H.childFlags=1),$.innerHTML=ce)}function vt(_,U,H,$,Z,ae,ce,se){switch(_){case"children":case"childrenType":case"className":case"defaultValue":case"key":case"multiple":case"ref":case"selectedIndex":break;case"autoFocus":$.autofocus=!!H;break;case"allowfullscreen":case"autoplay":case"capture":case"checked":case"controls":case"default":case"disabled":case"hidden":case"indeterminate":case"loop":case"muted":case"novalidate":case"open":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"selected":$[_]=!!H;break;case"defaultChecked":case"value":case"volume":if(ae&&_==="value")break;var Ne=a(H)?"":H;$[_]!==Ne&&($[_]=Ne);break;case"style":ln(U,H,$);break;case"dangerouslySetInnerHTML":un(U,H,ce,$,se);break;default:Le[_]?Re(_,U,H,$):_.charCodeAt(0)===111&&_.charCodeAt(1)===110?cn(_,U,H,$):a(H)?$.removeAttribute(_):Z&&he[_]?$.setAttributeNS(he[_],_,H):$.setAttribute(_,H);break}}function Mt(_,U,H,$,Z,ae){var ce=!1,se=(U&448)>0;se&&(ce=At(H),ce&&tn(U,$,H));for(var Ne in H)vt(Ne,null,H[Ne],$,Z,ce,null,ae);se&&xt(U,_,$,H,!0,ce)}function Pt(_,U,H){var $=me(_.render(U,_.state,H)),Z=H;return o(_.getChildContext)&&(Z=k(H,_.getChildContext())),_.$CX=Z,$}function Ot(_,U,H,$,Z,ae){var ce=new U(H,$),se=ce.$N=!!(U.getDerivedStateFromProps||ce.getSnapshotBeforeUpdate);if(ce.$SVG=Z,ce.$L=ae,_.children=ce,ce.$BS=!1,ce.context=$,ce.props===c&&(ce.props=H),se)ce.state=O(ce,H,ce.state);else if(o(ce.componentWillMount)){ce.$BR=!0,ce.componentWillMount();var Ne=ce.$PS;if(!S(Ne)){var Te=ce.state;if(S(Te))ce.state=Ne;else for(var Ie in Ne)Te[Ie]=Ne[Ie];ce.$PS=null}ce.$BR=!1}return ce.$LI=Pt(ce,H,$),ce}function gt(_,U){var H=_.props||c;return _.flags&32768?_.type.render(H,_.ref,U):_.type(H,U)}function $e(_,U,H,$,Z,ae,ce){var se=_.flags|=16384;se&481?Dt(_,U,H,$,Z,ae,ce):se&4?mn(_,U,H,$,Z,ae,ce):se&8?pn(_,U,H,$,Z,ae,ce):se&16?Rt(_,U,Z):se&8192?sn(_,H,U,$,Z,ae,ce):se&1024&&dn(_,H,U,Z,ae,ce)}function dn(_,U,H,$,Z,ae){$e(_.children,_.ref,U,!1,null,Z,ae);var ce=le();Rt(ce,H,$),_.dom=ce.dom}function sn(_,U,H,$,Z,ae,ce){var se=_.children,Ne=_.childFlags;Ne&12&&se.length===0&&(Ne=_.childFlags=2,se=_.children=le()),Ne===2?$e(se,H,U,$,Z,ae,ce):ot(se,H,U,$,Z,ae,ce)}function Rt(_,U,H){var $=_.dom=document.createTextNode(_.children);S(U)||i(U,$,H)}function Dt(_,U,H,$,Z,ae,ce){var se=_.flags,Ne=_.props,Te=_.className,Ie=_.childFlags,Ee=_.dom=h(_.type,$=$||(se&32)>0),Ae=_.children;if(!a(Te)&&Te!==""&&($?Ee.setAttribute("class",Te):Ee.className=Te),Ie===16)P(Ee,Ae);else if(Ie!==1){var Me=$&&_.type!=="foreignObject";Ie===2?(Ae.flags&16384&&(_.children=Ae=ne(Ae)),$e(Ae,Ee,H,Me,null,ae,ce)):(Ie===8||Ie===4)&&ot(Ae,Ee,H,Me,null,ae,ce)}S(U)||i(U,Ee,Z),S(Ne)||Mt(_,se,Ne,Ee,$,ce),at(_.ref,Ee,ae)}function ot(_,U,H,$,Z,ae,ce){for(var se=0;se<_.length;++se){var Ne=_[se];Ne.flags&16384&&(_[se]=Ne=ne(Ne)),$e(Ne,U,H,$,Z,ae,ce)}}function mn(_,U,H,$,Z,ae,ce){var se=Ot(_,_.type,_.props||c,H,$,ae),Ne=ce;o(se.componentDidAppear)&&(Ne=new l),$e(se.$LI,U,se.$CX,$,Z,ae,Ne),_t(_.ref,se,ae,ce)}function pn(_,U,H,$,Z,ae,ce){var se=_.ref,Ne=ce;!a(se)&&o(se.onComponentDidAppear)&&(Ne=new l),$e(_.children=me(gt(_,H)),U,H,$,Z,ae,Ne),Ft(_,ae,ce)}function fn(_){return function(){_.componentDidMount()}}function jt(_,U,H,$,Z){_.componentDidAppear.push(function(){$&4?U.componentDidAppear(H):$&8&&U.onComponentDidAppear(H,Z)})}function _t(_,U,H,$){at(_,U,H),o(U.componentDidMount)&&H.push(fn(U)),o(U.componentDidAppear)&&jt($,U,U.$LI.dom,4,void 0)}function hn(_,U){return function(){_.onComponentDidMount(V(U,!0),U.props||c)}}function Ft(_,U,H){var $=_.ref;a($)||(F($.onComponentWillMount,_.props||c),o($.onComponentDidMount)&&U.push(hn($,_)),o($.onComponentDidAppear)&&jt(H,$,V(_,!0),8,_.props))}function Cn(_,U,H,$,Z,ae,ce){Ze(_,ce),U.flags&_.flags&1521?($e(U,null,$,Z,null,ae,ce),C(H,U.dom,_.dom)):($e(U,H,$,Z,V(_,!0),ae,ce),x(_,H,ce))}function qe(_,U,H,$,Z,ae,ce,se){var Ne=U.flags|=16384;_.flags!==Ne||_.type!==U.type||_.key!==U.key||Ne&2048?_.flags&16384?Cn(_,U,H,$,Z,ce,se):$e(U,H,$,Z,ae,ce,se):Ne&481?bn(_,U,$,Z,Ne,ce,se):Ne&4?Sn(_,U,H,$,Z,ae,ce,se):Ne&8?Bn(_,U,H,$,Z,ae,ce,se):Ne&16?In(_,U):Ne&8192?Nn(_,U,H,$,Z,ce,se):Vn(_,U,$,ce,se)}function vn(_,U,H){_!==U&&(_!==""?H.firstChild.nodeValue=U:P(H,U))}function gn(_,U){_.textContent!==U&&(_.textContent=U)}function Nn(_,U,H,$,Z,ae,ce){var se=_.children,Ne=U.children,Te=_.childFlags,Ie=U.childFlags,Ee=null;Ie&12&&Ne.length===0&&(Ie=U.childFlags=2,Ne=U.children=le());var Ae=(Ie&2)!==0;if(Te&12){var Me=se.length;(Te&8&&Ie&8||Ae||!Ae&&Ne.length>Me)&&(Ee=V(se[Me-1],!1).nextSibling)}Nt(Te,Ie,se,Ne,H,$,Z,Ee,_,ae,ce)}function Vn(_,U,H,$,Z){var ae=_.ref,ce=U.ref,se=U.children;if(Nt(_.childFlags,U.childFlags,_.children,se,ae,H,!1,null,_,$,Z),U.dom=_.dom,ae!==ce&&!t(se)){var Ne=se.dom;v(ae,Ne),s(ce,Ne)}}function bn(_,U,H,$,Z,ae,ce){var se=U.dom=_.dom,Ne=_.props,Te=U.props,Ie=!1,Ee=!1,Ae;if($=$||(Z&32)>0,Ne!==Te){var Me=Ne||c;if(Ae=Te||c,Ae!==c){Ie=(Z&448)>0,Ie&&(Ee=At(Ae));for(var Fe in Ae){var Oe=Me[Fe],Ke=Ae[Fe];Oe!==Ke&&vt(Fe,Oe,Ke,se,$,Ee,_,ce)}}if(Me!==c)for(var De in Me)a(Ae[De])&&!a(Me[De])&&vt(De,Me[De],null,se,$,Ee,_,ce)}var tt=U.children,Ye=U.className;_.className!==Ye&&(a(Ye)?se.removeAttribute("class"):$?se.setAttribute("class",Ye):se.className=Ye),Z&4096?gn(se,tt):Nt(_.childFlags,U.childFlags,_.children,tt,se,H,$&&U.type!=="foreignObject",null,_,ae,ce),Ie&&xt(Z,U,se,Ae,!1,Ee);var it=U.ref,Qe=_.ref;Qe!==it&&(st(Qe),at(it,se,ae))}function kn(_,U,H,$,Z,ae,ce){Ze(_,ce),ot(U,H,$,Z,V(_,!0),ae,ce),x(_,H,ce)}function Nt(_,U,H,$,Z,ae,ce,se,Ne,Te,Ie){switch(_){case 2:switch(U){case 2:qe(H,$,Z,ae,ce,se,Te,Ie);break;case 1:Je(H,Z,Ie);break;case 16:Ze(H,Ie),P(Z,$);break;default:kn(H,$,Z,ae,ce,Te,Ie);break}break;case 1:switch(U){case 2:$e($,Z,ae,ce,se,Te,Ie);break;case 1:break;case 16:P(Z,$);break;default:ot($,Z,ae,ce,se,Te,Ie);break}break;case 16:switch(U){case 16:vn(H,$,Z);break;case 2:mt(Z,H,Ie),$e($,Z,ae,ce,se,Te,Ie);break;case 1:mt(Z,H,Ie);break;default:mt(Z,H,Ie),ot($,Z,ae,ce,se,Te,Ie);break}break;default:switch(U){case 16:ct(H,Ie),P(Z,$);break;case 2:pt(Z,Ne,H,Ie),$e($,Z,ae,ce,se,Te,Ie);break;case 1:pt(Z,Ne,H,Ie);break;default:var Ee=H.length|0,Ae=$.length|0;Ee===0?Ae>0&&ot($,Z,ae,ce,se,Te,Ie):Ae===0?pt(Z,Ne,H,Ie):U===8&&_===8?wn(H,$,Z,ae,ce,Ee,Ae,se,Ne,Te,Ie):Ln(H,$,Z,ae,ce,Ee,Ae,se,Te,Ie);break}break}}function yn(_,U,H,$,Z){Z.push(function(){_.componentDidUpdate(U,H,$)})}function Wt(_,U,H,$,Z,ae,ce,se,Ne,Te){var Ie=_.state,Ee=_.props,Ae=!!_.$N,Me=o(_.shouldComponentUpdate);if(Ae&&(U=O(_,H,U!==Ie?k(Ie,U):U)),ce||!Me||Me&&_.shouldComponentUpdate(H,U,Z)){!Ae&&o(_.componentWillUpdate)&&_.componentWillUpdate(H,U,Z),_.props=H,_.state=U,_.context=Z;var Fe=null,Oe=Pt(_,H,Z);Ae&&o(_.getSnapshotBeforeUpdate)&&(Fe=_.getSnapshotBeforeUpdate(Ee,Ie)),qe(_.$LI,Oe,$,_.$CX,ae,se,Ne,Te),_.$LI=Oe,o(_.componentDidUpdate)&&yn(_,Ee,Ie,Fe,Ne)}else _.props=H,_.state=U,_.context=Z}function Sn(_,U,H,$,Z,ae,ce,se){var Ne=U.children=_.children;if(!S(Ne)){Ne.$L=ce;var Te=U.props||c,Ie=U.ref,Ee=_.ref,Ae=Ne.state;if(!Ne.$N){if(o(Ne.componentWillReceiveProps)){if(Ne.$BR=!0,Ne.componentWillReceiveProps(Te,$),Ne.$UN)return;Ne.$BR=!1}S(Ne.$PS)||(Ae=k(Ae,Ne.$PS),Ne.$PS=null)}Wt(Ne,Ae,Te,H,$,Z,!1,ae,ce,se),Ee!==Ie&&(st(Ee),at(Ie,Ne,ce))}}function Bn(_,U,H,$,Z,ae,ce,se){var Ne=!0,Te=U.props||c,Ie=U.ref,Ee=_.props,Ae=!a(Ie),Me=_.children;if(Ae&&o(Ie.onComponentShouldUpdate)&&(Ne=Ie.onComponentShouldUpdate(Ee,Te)),Ne!==!1){Ae&&o(Ie.onComponentWillUpdate)&&Ie.onComponentWillUpdate(Ee,Te);var Fe=me(gt(U,$));qe(Me,Fe,H,$,Z,ae,ce,se),U.children=Fe,Ae&&o(Ie.onComponentDidUpdate)&&Ie.onComponentDidUpdate(Ee,Te)}else U.children=Me}function In(_,U){var H=U.children,$=U.dom=_.dom;H!==_.children&&($.nodeValue=H)}function Ln(_,U,H,$,Z,ae,ce,se,Ne,Te){for(var Ie=ae>ce?ce:ae,Ee=0,Ae,Me;Eece)for(Ee=Ie;EeEe||Me>Ae)break e;Fe=_[Me],Oe=U[Me]}for(Fe=_[Ee],Oe=U[Ae];Fe.key===Oe.key;){if(Oe.flags&16384&&(U[Ae]=Oe=ne(Oe)),qe(Fe,Oe,H,$,Z,se,Te,Ie),_[Ee]=Oe,Ee--,Ae--,Me>Ee||Me>Ae)break e;Fe=_[Ee],Oe=U[Ae]}}if(Me>Ee){if(Me<=Ae)for(Ke=Ae+1,De=KeAe)for(;Me<=Ee;)Je(_[Me++],H,Ie);else Tn(_,U,$,ae,ce,Ee,Ae,Me,H,Z,se,Ne,Te,Ie)}function Tn(_,U,H,$,Z,ae,ce,se,Ne,Te,Ie,Ee,Ae,Me){var Fe,Oe,Ke=0,De=0,tt=se,Ye=se,it=ae-se+1,Qe=ce-se+1,lt=new Int32Array(Qe+1),nt=it===$,bt=!1,Ge=0,ut=0;if(Z<4||(it|Qe)<32)for(De=tt;De<=ae;++De)if(Fe=_[De],utse?bt=!0:Ge=se,Oe.flags&16384&&(U[se]=Oe=ne(Oe)),qe(Fe,Oe,Ne,H,Te,Ie,Ae,Me),++ut;break}!nt&&se>ce&&Je(Fe,Ne,Me)}else nt||Je(Fe,Ne,Me);else{var Yt={};for(De=Ye;De<=ce;++De)Yt[U[De].key]=De;for(De=tt;De<=ae;++De)if(Fe=_[De],uttt;)Je(_[tt++],Ne,Me);lt[se-Ye]=De+1,Ge>se?bt=!0:Ge=se,Oe=U[se],Oe.flags&16384&&(U[se]=Oe=ne(Oe)),qe(Fe,Oe,Ne,H,Te,Ie,Ae,Me),++ut}else nt||Je(Fe,Ne,Me);else nt||Je(Fe,Ne,Me)}if(nt)pt(Ne,Ee,_,Me),ot(U,Ne,H,Te,Ie,Ae,Me);else if(bt){var Xt=xn(lt);for(se=Xt.length-1,De=Qe-1;De>=0;De--)lt[De]===0?(Ge=De+Ye,Oe=U[Ge],Oe.flags&16384&&(U[Ge]=Oe=ne(Oe)),Ke=Ge+1,$e(Oe,Ne,H,Te,Ke0&&B(Me.componentWillMove)}else if(ut!==Qe)for(De=Qe-1;De>=0;De--)lt[De]===0&&(Ge=De+Ye,Oe=U[Ge],Oe.flags&16384&&(U[Ge]=Oe=ne(Oe)),Ke=Ge+1,$e(Oe,Ne,H,Te,KeUt&&(Ut=Ne,et=new Int32Array(Ne),ft=new Int32Array(Ne));H>1,_[et[se]]0&&(ft[H]=et[ae-1]),et[ae]=H)}ae=Z+1;var Te=new Int32Array(ae);for(ce=et[ae-1];ae-- >0;)Te[ae]=ce,ce=ft[ce],et[ae]=0;return Te}var An=typeof document!="undefined";An&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);function Ht(_,U,H,$){var Z=[],ae=new l,ce=U.$V;D.v=!0,a(ce)?a(_)||(_.flags&16384&&(_=ne(_)),$e(_,U,$,!1,null,Z,ae),U.$V=_,ce=_):a(_)?(Je(ce,U,ae),U.$V=null):(_.flags&16384&&(_=ne(_)),qe(ce,_,U,$,!1,null,Z,ae),ce=U.$V=_),p(Z),y(ae.componentDidAppear),D.v=!1,o(H)&&H(),o(E.renderComplete)&&E.renderComplete(ce,U)}function zt(_,U,H,$){H===void 0&&(H=null),$===void 0&&($=c),Ht(_,U,H,$)}function En(_){return function(){function U(H,$,Z,ae){_||(_=H),zt($,_,Z,ae)}return U}()}var ht=[],Mn=typeof Promise!="undefined"?Promise.resolve().then.bind(Promise.resolve()):function(_){window.setTimeout(_,0)},Vt=!1;function $t(_,U,H,$){var Z=_.$PS;if(o(U)&&(U=U(Z?k(_.state,Z):_.state,_.props,_.context)),a(Z))_.$PS=U;else for(var ae in U)Z[ae]=U[ae];if(_.$BR)o(H)&&_.$L.push(H.bind(_));else{if(!D.v&&ht.length===0){Gt(_,$),o(H)&&H.call(_);return}if(ht.indexOf(_)===-1&&ht.push(_),$&&(_.$F=!0),Vt||(Vt=!0,Mn(Kt)),o(H)){var ce=_.$QU;ce||(ce=_.$QU=[]),ce.push(H)}}}function Pn(_){for(var U=_.$QU,H=0;H=0;--F){var W=this.tryEntries[F],z=W.completion;if(W.tryLoc==="root")return j("end");if(W.tryLoc<=this.prev){var K=a.call(W,"catchLoc"),G=a.call(W,"finallyLoc");if(K&&G){if(this.prev=0;--j){var F=this.tryEntries[j];if(F.tryLoc<=this.prev&&a.call(F,"finallyLoc")&&this.prev=0;--R){var j=this.tryEntries[R];if(j.finallyLoc===P)return this.complete(j.completion,j.afterLoc),T(j),s}}return E}(),catch:function(){function E(P){for(var R=this.tryEntries.length-1;R>=0;--R){var j=this.tryEntries[R];if(j.tryLoc===P){var F=j.completion;if(F.type==="throw"){var W=F.arg;T(j)}return W}}throw new Error("illegal catch attempt")}return E}(),delegateYield:function(){function E(P,R,j){return this.delegate={iterator:O(P),resultName:R,nextLoc:j},this.method==="next"&&(this.arg=o),s}return E}()},n}(A.exports);try{regeneratorRuntime=r}catch(n){typeof globalThis=="object"?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}},30236:function(){"use strict";self.fetch||(self.fetch=function(A,r){return r=r||{},new Promise(function(n,e){var a=new XMLHttpRequest,t=[],o={},f=function(){function S(){return{ok:(a.status/100|0)==2,statusText:a.statusText,status:a.status,url:a.responseURL,text:function(){function I(){return Promise.resolve(a.responseText)}return I}(),json:function(){function I(){return Promise.resolve(a.responseText).then(JSON.parse)}return I}(),blob:function(){function I(){return Promise.resolve(new Blob([a.response]))}return I}(),clone:S,headers:{keys:function(){function I(){return t}return I}(),entries:function(){function I(){return t.map(function(k){return[k,a.getResponseHeader(k)]})}return I}(),get:function(){function I(k){return a.getResponseHeader(k)}return I}(),has:function(){function I(k){return a.getResponseHeader(k)!=null}return I}()}}}return S}();for(var b in a.open(r.method||"get",A,!0),a.onload=function(){a.getAllResponseHeaders().toLowerCase().replace(/^(.+?):/gm,function(S,I){o[I]||t.push(o[I]=I)}),n(f())},a.onerror=e,a.withCredentials=r.credentials=="include",r.headers)a.setRequestHeader(b,r.headers[b]);a.send(r.body||null)})})},88510:function(A,r){"use strict";r.__esModule=!0,r.zipWith=r.zip=r.uniqBy=r.uniq=r.toKeyedArray=r.toArray=r.sortBy=r.sort=r.reduce=r.range=r.map=r.filterMap=r.filter=void 0;function n(i,h){var C=typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(C)return(C=C.call(i)).next.bind(C);if(Array.isArray(i)||(C=e(i))||h&&i&&typeof i.length=="number"){C&&(i=C);var v=0;return function(){return v>=i.length?{done:!0}:{done:!1,value:i[v++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(i,h){if(i){if(typeof i=="string")return a(i,h);var C={}.toString.call(i).slice(8,-1);return C==="Object"&&i.constructor&&(C=i.constructor.name),C==="Map"||C==="Set"?Array.from(i):C==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C)?a(i,h):void 0}}function a(i,h){(h==null||h>i.length)&&(h=i.length);for(var C=0,v=Array(h);C0&&(0,a.round)(g.width)/S.offsetWidth||1,c=S.offsetHeight>0&&(0,a.round)(g.height)/S.offsetHeight||1);var m=(0,e.isElement)(S)?(0,t.default)(S):window,l=m.visualViewport,u=!(0,o.default)()&&k,s=(g.left+(u&&l?l.offsetLeft:0))/d,i=(g.top+(u&&l?l.offsetTop:0))/c,h=g.width/d,C=g.height/c;return{width:h,height:C,top:i,right:s+h,bottom:i+C,left:s,x:s,y:i}}},49035:function(A,r,n){"use strict";r.__esModule=!0,r.default=C;var e=n(46206),a=u(n(87991)),t=u(n(79752)),o=u(n(98309)),f=u(n(44896)),b=u(n(40600)),S=u(n(16599)),I=n(75573),k=u(n(37786)),g=u(n(57819)),d=u(n(4206)),c=u(n(12972)),m=u(n(81666)),l=n(63618);function u(v){return v&&v.__esModule?v:{default:v}}function s(v,p){var N=(0,k.default)(v,!1,p==="fixed");return N.top=N.top+v.clientTop,N.left=N.left+v.clientLeft,N.bottom=N.top+v.clientHeight,N.right=N.left+v.clientWidth,N.width=v.clientWidth,N.height=v.clientHeight,N.x=N.left,N.y=N.top,N}function i(v,p,N){return p===e.viewport?(0,m.default)((0,a.default)(v,N)):(0,I.isElement)(p)?s(p,N):(0,m.default)((0,t.default)((0,b.default)(v)))}function h(v){var p=(0,o.default)((0,g.default)(v)),N=["absolute","fixed"].indexOf((0,S.default)(v).position)>=0,V=N&&(0,I.isHTMLElement)(v)?(0,f.default)(v):v;return(0,I.isElement)(V)?p.filter(function(y){return(0,I.isElement)(y)&&(0,d.default)(y,V)&&(0,c.default)(y)!=="body"}):[]}function C(v,p,N,V){var y=p==="clippingParents"?h(v):[].concat(p),B=[].concat(y,[N]),L=B[0],w=B.reduce(function(x,T){var M=i(v,T,V);return x.top=(0,l.max)(M.top,x.top),x.right=(0,l.min)(M.right,x.right),x.bottom=(0,l.min)(M.bottom,x.bottom),x.left=(0,l.max)(M.left,x.left),x},i(v,L,V));return w.width=w.right-w.left,w.height=w.bottom-w.top,w.x=w.left,w.y=w.top,w}},74758:function(A,r,n){"use strict";r.__esModule=!0,r.default=d;var e=k(n(37786)),a=k(n(13390)),t=k(n(12972)),o=n(75573),f=k(n(79697)),b=k(n(40600)),S=k(n(10798)),I=n(63618);function k(c){return c&&c.__esModule?c:{default:c}}function g(c){var m=c.getBoundingClientRect(),l=(0,I.round)(m.width)/c.offsetWidth||1,u=(0,I.round)(m.height)/c.offsetHeight||1;return l!==1||u!==1}function d(c,m,l){l===void 0&&(l=!1);var u=(0,o.isHTMLElement)(m),s=(0,o.isHTMLElement)(m)&&g(m),i=(0,b.default)(m),h=(0,e.default)(c,s,l),C={scrollLeft:0,scrollTop:0},v={x:0,y:0};return(u||!u&&!l)&&(((0,t.default)(m)!=="body"||(0,S.default)(i))&&(C=(0,a.default)(m)),(0,o.isHTMLElement)(m)?(v=(0,e.default)(m,!0),v.x+=m.clientLeft,v.y+=m.clientTop):i&&(v.x=(0,f.default)(i))),{x:h.left+C.scrollLeft-v.x,y:h.top+C.scrollTop-v.y,width:h.width,height:h.height}}},16599:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(95115));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return(0,e.default)(o).getComputedStyle(o)}},40600:function(A,r,n){"use strict";r.__esModule=!0,r.default=a;var e=n(75573);function a(t){return(((0,e.isElement)(t)?t.ownerDocument:t.document)||window.document).documentElement}},79752:function(A,r,n){"use strict";r.__esModule=!0,r.default=S;var e=b(n(40600)),a=b(n(16599)),t=b(n(79697)),o=b(n(43750)),f=n(63618);function b(I){return I&&I.__esModule?I:{default:I}}function S(I){var k,g=(0,e.default)(I),d=(0,o.default)(I),c=(k=I.ownerDocument)==null?void 0:k.body,m=(0,f.max)(g.scrollWidth,g.clientWidth,c?c.scrollWidth:0,c?c.clientWidth:0),l=(0,f.max)(g.scrollHeight,g.clientHeight,c?c.scrollHeight:0,c?c.clientHeight:0),u=-d.scrollLeft+(0,t.default)(I),s=-d.scrollTop;return(0,a.default)(c||g).direction==="rtl"&&(u+=(0,f.max)(g.clientWidth,c?c.clientWidth:0)-m),{width:m,height:l,x:u,y:s}}},3073:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}},28811:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(37786));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var f=(0,e.default)(o),b=o.offsetWidth,S=o.offsetHeight;return Math.abs(f.width-b)<=1&&(b=f.width),Math.abs(f.height-S)<=1&&(S=f.height),{x:o.offsetLeft,y:o.offsetTop,width:b,height:S}}},12972:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e?(e.nodeName||"").toLowerCase():null}},13390:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(43750)),a=f(n(95115)),t=n(75573),o=f(n(3073));function f(S){return S&&S.__esModule?S:{default:S}}function b(S){return S===(0,a.default)(S)||!(0,t.isHTMLElement)(S)?(0,e.default)(S):(0,o.default)(S)}},44896:function(A,r,n){"use strict";r.__esModule=!0,r.default=d;var e=I(n(95115)),a=I(n(12972)),t=I(n(16599)),o=n(75573),f=I(n(87031)),b=I(n(57819)),S=I(n(35366));function I(c){return c&&c.__esModule?c:{default:c}}function k(c){return!(0,o.isHTMLElement)(c)||(0,t.default)(c).position==="fixed"?null:c.offsetParent}function g(c){var m=/firefox/i.test((0,S.default)()),l=/Trident/i.test((0,S.default)());if(l&&(0,o.isHTMLElement)(c)){var u=(0,t.default)(c);if(u.position==="fixed")return null}var s=(0,b.default)(c);for((0,o.isShadowRoot)(s)&&(s=s.host);(0,o.isHTMLElement)(s)&&["html","body"].indexOf((0,a.default)(s))<0;){var i=(0,t.default)(s);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||m&&i.willChange==="filter"||m&&i.filter&&i.filter!=="none")return s;s=s.parentNode}return null}function d(c){for(var m=(0,e.default)(c),l=k(c);l&&(0,f.default)(l)&&(0,t.default)(l).position==="static";)l=k(l);return l&&((0,a.default)(l)==="html"||(0,a.default)(l)==="body"&&(0,t.default)(l).position==="static")?m:l||g(c)||m}},57819:function(A,r,n){"use strict";r.__esModule=!0,r.default=f;var e=o(n(12972)),a=o(n(40600)),t=n(75573);function o(b){return b&&b.__esModule?b:{default:b}}function f(b){return(0,e.default)(b)==="html"?b:b.assignedSlot||b.parentNode||((0,t.isShadowRoot)(b)?b.host:null)||(0,a.default)(b)}},24426:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(57819)),a=f(n(10798)),t=f(n(12972)),o=n(75573);function f(S){return S&&S.__esModule?S:{default:S}}function b(S){return["html","body","#document"].indexOf((0,t.default)(S))>=0?S.ownerDocument.body:(0,o.isHTMLElement)(S)&&(0,a.default)(S)?S:b((0,e.default)(S))}},87991:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(95115)),a=f(n(40600)),t=f(n(79697)),o=f(n(89331));function f(S){return S&&S.__esModule?S:{default:S}}function b(S,I){var k=(0,e.default)(S),g=(0,a.default)(S),d=k.visualViewport,c=g.clientWidth,m=g.clientHeight,l=0,u=0;if(d){c=d.width,m=d.height;var s=(0,o.default)();(s||!s&&I==="fixed")&&(l=d.offsetLeft,u=d.offsetTop)}return{width:c,height:m,x:l+(0,t.default)(S),y:u}}},95115:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var a=e.ownerDocument;return a&&a.defaultView||window}return e}},43750:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(95115));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var f=(0,e.default)(o),b=f.pageXOffset,S=f.pageYOffset;return{scrollLeft:b,scrollTop:S}}},79697:function(A,r,n){"use strict";r.__esModule=!0,r.default=f;var e=o(n(37786)),a=o(n(40600)),t=o(n(43750));function o(b){return b&&b.__esModule?b:{default:b}}function f(b){return(0,e.default)((0,a.default)(b)).left+(0,t.default)(b).scrollLeft}},75573:function(A,r,n){"use strict";r.__esModule=!0,r.isElement=t,r.isHTMLElement=o,r.isShadowRoot=f;var e=a(n(95115));function a(b){return b&&b.__esModule?b:{default:b}}function t(b){var S=(0,e.default)(b).Element;return b instanceof S||b instanceof Element}function o(b){var S=(0,e.default)(b).HTMLElement;return b instanceof S||b instanceof HTMLElement}function f(b){if(typeof ShadowRoot=="undefined")return!1;var S=(0,e.default)(b).ShadowRoot;return b instanceof S||b instanceof ShadowRoot}},89331:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(35366));function a(o){return o&&o.__esModule?o:{default:o}}function t(){return!/^((?!chrome|android).)*safari/i.test((0,e.default)())}},10798:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(16599));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){var f=(0,e.default)(o),b=f.overflow,S=f.overflowX,I=f.overflowY;return/auto|scroll|overlay|hidden/.test(b+I+S)}},87031:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(12972));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return["table","td","th"].indexOf((0,e.default)(o))>=0}},98309:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(24426)),a=f(n(57819)),t=f(n(95115)),o=f(n(10798));function f(S){return S&&S.__esModule?S:{default:S}}function b(S,I){var k;I===void 0&&(I=[]);var g=(0,e.default)(S),d=g===((k=S.ownerDocument)==null?void 0:k.body),c=(0,t.default)(g),m=d?[c].concat(c.visualViewport||[],(0,o.default)(g)?g:[]):g,l=I.concat(m);return d?l:l.concat(b((0,a.default)(m)))}},46206:function(A,r){"use strict";r.__esModule=!0,r.write=r.viewport=r.variationPlacements=r.top=r.start=r.right=r.reference=r.read=r.popper=r.placements=r.modifierPhases=r.main=r.left=r.end=r.clippingParents=r.bottom=r.beforeWrite=r.beforeRead=r.beforeMain=r.basePlacements=r.auto=r.afterWrite=r.afterRead=r.afterMain=void 0;var n=r.top="top",e=r.bottom="bottom",a=r.right="right",t=r.left="left",o=r.auto="auto",f=r.basePlacements=[n,e,a,t],b=r.start="start",S=r.end="end",I=r.clippingParents="clippingParents",k=r.viewport="viewport",g=r.popper="popper",d=r.reference="reference",c=r.variationPlacements=f.reduce(function(y,B){return y.concat([B+"-"+b,B+"-"+S])},[]),m=r.placements=[].concat(f,[o]).reduce(function(y,B){return y.concat([B,B+"-"+b,B+"-"+S])},[]),l=r.beforeRead="beforeRead",u=r.read="read",s=r.afterRead="afterRead",i=r.beforeMain="beforeMain",h=r.main="main",C=r.afterMain="afterMain",v=r.beforeWrite="beforeWrite",p=r.write="write",N=r.afterWrite="afterWrite",V=r.modifierPhases=[l,u,s,i,h,C,v,p,N]},95996:function(A,r,n){"use strict";r.__esModule=!0;var e={popperGenerator:!0,detectOverflow:!0,createPopperBase:!0,createPopper:!0,createPopperLite:!0};r.popperGenerator=r.detectOverflow=r.createPopperLite=r.createPopperBase=r.createPopper=void 0;var a=n(46206);Object.keys(a).forEach(function(S){S==="default"||S==="__esModule"||Object.prototype.hasOwnProperty.call(e,S)||S in r&&r[S]===a[S]||(r[S]=a[S])});var t=n(39805);Object.keys(t).forEach(function(S){S==="default"||S==="__esModule"||Object.prototype.hasOwnProperty.call(e,S)||S in r&&r[S]===t[S]||(r[S]=t[S])});var o=n(96376);r.popperGenerator=o.popperGenerator,r.detectOverflow=o.detectOverflow,r.createPopperBase=o.createPopper;var f=n(83312);r.createPopper=f.createPopper;var b=n(2473);r.createPopperLite=b.createPopper},19975:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=t(n(12972)),a=n(75573);function t(S){return S&&S.__esModule?S:{default:S}}function o(S){var I=S.state;Object.keys(I.elements).forEach(function(k){var g=I.styles[k]||{},d=I.attributes[k]||{},c=I.elements[k];!(0,a.isHTMLElement)(c)||!(0,e.default)(c)||(Object.assign(c.style,g),Object.keys(d).forEach(function(m){var l=d[m];l===!1?c.removeAttribute(m):c.setAttribute(m,l===!0?"":l)}))})}function f(S){var I=S.state,k={popper:{position:I.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(I.elements.popper.style,k.popper),I.styles=k,I.elements.arrow&&Object.assign(I.elements.arrow.style,k.arrow),function(){Object.keys(I.elements).forEach(function(g){var d=I.elements[g],c=I.attributes[g]||{},m=Object.keys(I.styles.hasOwnProperty(g)?I.styles[g]:k[g]),l=m.reduce(function(u,s){return u[s]="",u},{});!(0,a.isHTMLElement)(d)||!(0,e.default)(d)||(Object.assign(d.style,l),Object.keys(c).forEach(function(u){d.removeAttribute(u)}))})}}var b=r.default={name:"applyStyles",enabled:!0,phase:"write",fn:o,effect:f,requires:["computeStyles"]}},52744:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=g(n(83104)),a=g(n(28811)),t=g(n(4206)),o=g(n(44896)),f=g(n(41199)),b=n(28595),S=g(n(43286)),I=g(n(81447)),k=n(46206);function g(u){return u&&u.__esModule?u:{default:u}}var d=function(){function u(s,i){return s=typeof s=="function"?s(Object.assign({},i.rects,{placement:i.placement})):s,(0,S.default)(typeof s!="number"?s:(0,I.default)(s,k.basePlacements))}return u}();function c(u){var s,i=u.state,h=u.name,C=u.options,v=i.elements.arrow,p=i.modifiersData.popperOffsets,N=(0,e.default)(i.placement),V=(0,f.default)(N),y=[k.left,k.right].indexOf(N)>=0,B=y?"height":"width";if(!(!v||!p)){var L=d(C.padding,i),w=(0,a.default)(v),x=V==="y"?k.top:k.left,T=V==="y"?k.bottom:k.right,M=i.rects.reference[B]+i.rects.reference[V]-p[V]-i.rects.popper[B],O=p[V]-i.rects.reference[V],D=(0,o.default)(v),E=D?V==="y"?D.clientHeight||0:D.clientWidth||0:0,P=M/2-O/2,R=L[x],j=E-w[B]-L[T],F=E/2-w[B]/2+P,W=(0,b.within)(R,F,j),z=V;i.modifiersData[h]=(s={},s[z]=W,s.centerOffset=W-F,s)}}function m(u){var s=u.state,i=u.options,h=i.element,C=h===void 0?"[data-popper-arrow]":h;C!=null&&(typeof C=="string"&&(C=s.elements.popper.querySelector(C),!C)||(0,t.default)(s.elements.popper,C)&&(s.elements.arrow=C))}var l=r.default={name:"arrow",enabled:!0,phase:"main",fn:c,effect:m,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]}},59894:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0,r.mapToStyles=c;var e=n(46206),a=k(n(44896)),t=k(n(95115)),o=k(n(40600)),f=k(n(16599)),b=k(n(83104)),S=k(n(45)),I=n(63618);function k(u){return u&&u.__esModule?u:{default:u}}var g={top:"auto",right:"auto",bottom:"auto",left:"auto"};function d(u,s){var i=u.x,h=u.y,C=s.devicePixelRatio||1;return{x:(0,I.round)(i*C)/C||0,y:(0,I.round)(h*C)/C||0}}function c(u){var s,i=u.popper,h=u.popperRect,C=u.placement,v=u.variation,p=u.offsets,N=u.position,V=u.gpuAcceleration,y=u.adaptive,B=u.roundOffsets,L=u.isFixed,w=p.x,x=w===void 0?0:w,T=p.y,M=T===void 0?0:T,O=typeof B=="function"?B({x:x,y:M}):{x:x,y:M};x=O.x,M=O.y;var D=p.hasOwnProperty("x"),E=p.hasOwnProperty("y"),P=e.left,R=e.top,j=window;if(y){var F=(0,a.default)(i),W="clientHeight",z="clientWidth";if(F===(0,t.default)(i)&&(F=(0,o.default)(i),(0,f.default)(F).position!=="static"&&N==="absolute"&&(W="scrollHeight",z="scrollWidth")),F=F,C===e.top||(C===e.left||C===e.right)&&v===e.end){R=e.bottom;var K=L&&F===j&&j.visualViewport?j.visualViewport.height:F[W];M-=K-h.height,M*=V?1:-1}if(C===e.left||(C===e.top||C===e.bottom)&&v===e.end){P=e.right;var G=L&&F===j&&j.visualViewport?j.visualViewport.width:F[z];x-=G-h.width,x*=V?1:-1}}var J=Object.assign({position:N},y&&g),Q=B===!0?d({x:x,y:M},(0,t.default)(i)):{x:x,y:M};if(x=Q.x,M=Q.y,V){var ue;return Object.assign({},J,(ue={},ue[R]=E?"0":"",ue[P]=D?"0":"",ue.transform=(j.devicePixelRatio||1)<=1?"translate("+x+"px, "+M+"px)":"translate3d("+x+"px, "+M+"px, 0)",ue))}return Object.assign({},J,(s={},s[R]=E?M+"px":"",s[P]=D?x+"px":"",s.transform="",s))}function m(u){var s=u.state,i=u.options,h=i.gpuAcceleration,C=h===void 0?!0:h,v=i.adaptive,p=v===void 0?!0:v,N=i.roundOffsets,V=N===void 0?!0:N,y={placement:(0,b.default)(s.placement),variation:(0,S.default)(s.placement),popper:s.elements.popper,popperRect:s.rects.popper,gpuAcceleration:C,isFixed:s.options.strategy==="fixed"};s.modifiersData.popperOffsets!=null&&(s.styles.popper=Object.assign({},s.styles.popper,c(Object.assign({},y,{offsets:s.modifiersData.popperOffsets,position:s.options.strategy,adaptive:p,roundOffsets:V})))),s.modifiersData.arrow!=null&&(s.styles.arrow=Object.assign({},s.styles.arrow,c(Object.assign({},y,{offsets:s.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:V})))),s.attributes.popper=Object.assign({},s.attributes.popper,{"data-popper-placement":s.placement})}var l=r.default={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:m,data:{}}},36692:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=a(n(95115));function a(b){return b&&b.__esModule?b:{default:b}}var t={passive:!0};function o(b){var S=b.state,I=b.instance,k=b.options,g=k.scroll,d=g===void 0?!0:g,c=k.resize,m=c===void 0?!0:c,l=(0,e.default)(S.elements.popper),u=[].concat(S.scrollParents.reference,S.scrollParents.popper);return d&&u.forEach(function(s){s.addEventListener("scroll",I.update,t)}),m&&l.addEventListener("resize",I.update,t),function(){d&&u.forEach(function(s){s.removeEventListener("scroll",I.update,t)}),m&&l.removeEventListener("resize",I.update,t)}}var f=r.default={name:"eventListeners",enabled:!0,phase:"write",fn:function(){function b(){}return b}(),effect:o,data:{}}},23798:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=I(n(71376)),a=I(n(83104)),t=I(n(86459)),o=I(n(17633)),f=I(n(9041)),b=n(46206),S=I(n(45));function I(c){return c&&c.__esModule?c:{default:c}}function k(c){if((0,a.default)(c)===b.auto)return[];var m=(0,e.default)(c);return[(0,t.default)(c),m,(0,t.default)(m)]}function g(c){var m=c.state,l=c.options,u=c.name;if(!m.modifiersData[u]._skip){for(var s=l.mainAxis,i=s===void 0?!0:s,h=l.altAxis,C=h===void 0?!0:h,v=l.fallbackPlacements,p=l.padding,N=l.boundary,V=l.rootBoundary,y=l.altBoundary,B=l.flipVariations,L=B===void 0?!0:B,w=l.allowedAutoPlacements,x=m.options.placement,T=(0,a.default)(x),M=T===x,O=v||(M||!L?[(0,e.default)(x)]:k(x)),D=[x].concat(O).reduce(function(re,oe){return re.concat((0,a.default)(oe)===b.auto?(0,f.default)(m,{placement:oe,boundary:N,rootBoundary:V,padding:p,flipVariations:L,allowedAutoPlacements:w}):oe)},[]),E=m.rects.reference,P=m.rects.popper,R=new Map,j=!0,F=D[0],W=0;W=0,Q=J?"width":"height",ue=(0,o.default)(m,{placement:z,boundary:N,rootBoundary:V,altBoundary:y,padding:p}),ie=J?G?b.right:b.left:G?b.bottom:b.top;E[Q]>P[Q]&&(ie=(0,e.default)(ie));var pe=(0,e.default)(ie),te=[];if(i&&te.push(ue[K]<=0),C&&te.push(ue[ie]<=0,ue[pe]<=0),te.every(function(re){return re})){F=z,j=!1;break}R.set(z,te)}if(j)for(var q=L?3:1,ne=function(){function re(oe){var fe=D.find(function(me){var Y=R.get(me);if(Y)return Y.slice(0,oe).every(function(ve){return ve})});if(fe)return F=fe,"break"}return re}(),le=q;le>0;le--){var ee=ne(le);if(ee==="break")break}m.placement!==F&&(m.modifiersData[u]._skip=!0,m.placement=F,m.reset=!0)}}var d=r.default={name:"flip",enabled:!0,phase:"main",fn:g,requiresIfExists:["offset"],data:{_skip:!1}}},83761:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=n(46206),a=t(n(17633));function t(I){return I&&I.__esModule?I:{default:I}}function o(I,k,g){return g===void 0&&(g={x:0,y:0}),{top:I.top-k.height-g.y,right:I.right-k.width+g.x,bottom:I.bottom-k.height+g.y,left:I.left-k.width-g.x}}function f(I){return[e.top,e.right,e.bottom,e.left].some(function(k){return I[k]>=0})}function b(I){var k=I.state,g=I.name,d=k.rects.reference,c=k.rects.popper,m=k.modifiersData.preventOverflow,l=(0,a.default)(k,{elementContext:"reference"}),u=(0,a.default)(k,{altBoundary:!0}),s=o(l,d),i=o(u,c,m),h=f(s),C=f(i);k.modifiersData[g]={referenceClippingOffsets:s,popperEscapeOffsets:i,isReferenceHidden:h,hasPopperEscaped:C},k.attributes.popper=Object.assign({},k.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":C})}var S=r.default={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:b}},39805:function(A,r,n){"use strict";r.__esModule=!0,r.preventOverflow=r.popperOffsets=r.offset=r.hide=r.flip=r.eventListeners=r.computeStyles=r.arrow=r.applyStyles=void 0;var e=g(n(19975));r.applyStyles=e.default;var a=g(n(52744));r.arrow=a.default;var t=g(n(59894));r.computeStyles=t.default;var o=g(n(36692));r.eventListeners=o.default;var f=g(n(23798));r.flip=f.default;var b=g(n(83761));r.hide=b.default;var S=g(n(61410));r.offset=S.default;var I=g(n(40107));r.popperOffsets=I.default;var k=g(n(75137));r.preventOverflow=k.default;function g(d){return d&&d.__esModule?d:{default:d}}},61410:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0,r.distanceAndSkiddingToXY=o;var e=t(n(83104)),a=n(46206);function t(S){return S&&S.__esModule?S:{default:S}}function o(S,I,k){var g=(0,e.default)(S),d=[a.left,a.top].indexOf(g)>=0?-1:1,c=typeof k=="function"?k(Object.assign({},I,{placement:S})):k,m=c[0],l=c[1];return m=m||0,l=(l||0)*d,[a.left,a.right].indexOf(g)>=0?{x:l,y:m}:{x:m,y:l}}function f(S){var I=S.state,k=S.options,g=S.name,d=k.offset,c=d===void 0?[0,0]:d,m=a.placements.reduce(function(i,h){return i[h]=o(h,I.rects,c),i},{}),l=m[I.placement],u=l.x,s=l.y;I.modifiersData.popperOffsets!=null&&(I.modifiersData.popperOffsets.x+=u,I.modifiersData.popperOffsets.y+=s),I.modifiersData[g]=m}var b=r.default={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:f}},40107:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=a(n(89951));function a(f){return f&&f.__esModule?f:{default:f}}function t(f){var b=f.state,S=f.name;b.modifiersData[S]=(0,e.default)({reference:b.rects.reference,element:b.rects.popper,strategy:"absolute",placement:b.placement})}var o=r.default={name:"popperOffsets",enabled:!0,phase:"read",fn:t,data:{}}},75137:function(A,r,n){"use strict";r.__esModule=!0,r.default=void 0;var e=n(46206),a=c(n(83104)),t=c(n(41199)),o=c(n(28066)),f=n(28595),b=c(n(28811)),S=c(n(44896)),I=c(n(17633)),k=c(n(45)),g=c(n(34780)),d=n(63618);function c(u){return u&&u.__esModule?u:{default:u}}function m(u){var s=u.state,i=u.options,h=u.name,C=i.mainAxis,v=C===void 0?!0:C,p=i.altAxis,N=p===void 0?!1:p,V=i.boundary,y=i.rootBoundary,B=i.altBoundary,L=i.padding,w=i.tether,x=w===void 0?!0:w,T=i.tetherOffset,M=T===void 0?0:T,O=(0,I.default)(s,{boundary:V,rootBoundary:y,padding:L,altBoundary:B}),D=(0,a.default)(s.placement),E=(0,k.default)(s.placement),P=!E,R=(0,t.default)(D),j=(0,o.default)(R),F=s.modifiersData.popperOffsets,W=s.rects.reference,z=s.rects.popper,K=typeof M=="function"?M(Object.assign({},s.rects,{placement:s.placement})):M,G=typeof K=="number"?{mainAxis:K,altAxis:K}:Object.assign({mainAxis:0,altAxis:0},K),J=s.modifiersData.offset?s.modifiersData.offset[s.placement]:null,Q={x:0,y:0};if(F){if(v){var ue,ie=R==="y"?e.top:e.left,pe=R==="y"?e.bottom:e.right,te=R==="y"?"height":"width",q=F[R],ne=q+O[ie],le=q-O[pe],ee=x?-z[te]/2:0,re=E===e.start?W[te]:z[te],oe=E===e.start?-z[te]:-W[te],fe=s.elements.arrow,me=x&&fe?(0,b.default)(fe):{width:0,height:0},Y=s.modifiersData["arrow#persistent"]?s.modifiersData["arrow#persistent"].padding:(0,g.default)(),ve=Y[ie],he=Y[pe],Ve=(0,f.within)(0,W[te],me[te]),Be=P?W[te]/2-ee-Ve-ve-G.mainAxis:re-Ve-ve-G.mainAxis,be=P?-W[te]/2+ee+Ve+he+G.mainAxis:oe+Ve+he+G.mainAxis,Le=s.elements.arrow&&(0,S.default)(s.elements.arrow),we=Le?R==="y"?Le.clientTop||0:Le.clientLeft||0:0,xe=(ue=J==null?void 0:J[R])!=null?ue:0,Re=q+Be-xe-we,He=q+be-xe,ye=(0,f.within)(x?(0,d.min)(ne,Re):ne,q,x?(0,d.max)(le,He):le);F[R]=ye,Q[R]=ye-q}if(N){var de,Ce=R==="x"?e.top:e.left,ke=R==="x"?e.bottom:e.right,ge=F[j],Se=j==="y"?"height":"width",Pe=ge+O[Ce],je=ge-O[ke],_e=[e.top,e.left].indexOf(D)!==-1,ze=(de=J==null?void 0:J[j])!=null?de:0,We=_e?Pe:ge-W[Se]-z[Se]-ze+G.altAxis,Ue=_e?ge+W[Se]+z[Se]-ze-G.altAxis:je,Xe=x&&_e?(0,f.withinMaxClamp)(We,ge,Ue):(0,f.within)(x?We:Pe,ge,x?Ue:je);F[j]=Xe,Q[j]=Xe-ge}s.modifiersData[h]=Q}}var l=r.default={name:"preventOverflow",enabled:!0,phase:"main",fn:m,requiresIfExists:["offset"]}},2473:function(A,r,n){"use strict";r.__esModule=!0,r.defaultModifiers=r.createPopper=void 0;var e=n(96376);r.popperGenerator=e.popperGenerator,r.detectOverflow=e.detectOverflow;var a=b(n(36692)),t=b(n(40107)),o=b(n(59894)),f=b(n(19975));function b(k){return k&&k.__esModule?k:{default:k}}var S=r.defaultModifiers=[a.default,t.default,o.default,f.default],I=r.createPopper=(0,e.popperGenerator)({defaultModifiers:S})},83312:function(A,r,n){"use strict";r.__esModule=!0;var e={createPopper:!0,createPopperLite:!0,defaultModifiers:!0,popperGenerator:!0,detectOverflow:!0};r.defaultModifiers=r.createPopperLite=r.createPopper=void 0;var a=n(96376);r.popperGenerator=a.popperGenerator,r.detectOverflow=a.detectOverflow;var t=l(n(36692)),o=l(n(40107)),f=l(n(59894)),b=l(n(19975)),S=l(n(61410)),I=l(n(23798)),k=l(n(75137)),g=l(n(52744)),d=l(n(83761)),c=n(2473);r.createPopperLite=c.createPopper;var m=n(39805);Object.keys(m).forEach(function(i){i==="default"||i==="__esModule"||Object.prototype.hasOwnProperty.call(e,i)||i in r&&r[i]===m[i]||(r[i]=m[i])});function l(i){return i&&i.__esModule?i:{default:i}}var u=r.defaultModifiers=[t.default,o.default,f.default,b.default,S.default,I.default,k.default,g.default,d.default],s=r.createPopperLite=r.createPopper=(0,a.popperGenerator)({defaultModifiers:u})},9041:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(45)),a=n(46206),t=f(n(17633)),o=f(n(83104));function f(S){return S&&S.__esModule?S:{default:S}}function b(S,I){I===void 0&&(I={});var k=I,g=k.placement,d=k.boundary,c=k.rootBoundary,m=k.padding,l=k.flipVariations,u=k.allowedAutoPlacements,s=u===void 0?a.placements:u,i=(0,e.default)(g),h=i?l?a.variationPlacements:a.variationPlacements.filter(function(p){return(0,e.default)(p)===i}):a.basePlacements,C=h.filter(function(p){return s.indexOf(p)>=0});C.length===0&&(C=h);var v=C.reduce(function(p,N){return p[N]=(0,t.default)(S,{placement:N,boundary:d,rootBoundary:c,padding:m})[(0,o.default)(N)],p},{});return Object.keys(v).sort(function(p,N){return v[p]-v[N]})}},89951:function(A,r,n){"use strict";r.__esModule=!0,r.default=b;var e=f(n(83104)),a=f(n(45)),t=f(n(41199)),o=n(46206);function f(S){return S&&S.__esModule?S:{default:S}}function b(S){var I=S.reference,k=S.element,g=S.placement,d=g?(0,e.default)(g):null,c=g?(0,a.default)(g):null,m=I.x+I.width/2-k.width/2,l=I.y+I.height/2-k.height/2,u;switch(d){case o.top:u={x:m,y:I.y-k.height};break;case o.bottom:u={x:m,y:I.y+I.height};break;case o.right:u={x:I.x+I.width,y:l};break;case o.left:u={x:I.x-k.width,y:l};break;default:u={x:I.x,y:I.y}}var s=d?(0,t.default)(d):null;if(s!=null){var i=s==="y"?"height":"width";switch(c){case o.start:u[s]=u[s]-(I[i]/2-k[i]/2);break;case o.end:u[s]=u[s]+(I[i]/2-k[i]/2);break;default:}}return u}},10579:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){var a;return function(){return a||(a=new Promise(function(t){Promise.resolve().then(function(){a=void 0,t(e())})})),a}}},17633:function(A,r,n){"use strict";r.__esModule=!0,r.default=d;var e=g(n(49035)),a=g(n(40600)),t=g(n(37786)),o=g(n(89951)),f=g(n(81666)),b=n(46206),S=n(75573),I=g(n(43286)),k=g(n(81447));function g(c){return c&&c.__esModule?c:{default:c}}function d(c,m){m===void 0&&(m={});var l=m,u=l.placement,s=u===void 0?c.placement:u,i=l.strategy,h=i===void 0?c.strategy:i,C=l.boundary,v=C===void 0?b.clippingParents:C,p=l.rootBoundary,N=p===void 0?b.viewport:p,V=l.elementContext,y=V===void 0?b.popper:V,B=l.altBoundary,L=B===void 0?!1:B,w=l.padding,x=w===void 0?0:w,T=(0,I.default)(typeof x!="number"?x:(0,k.default)(x,b.basePlacements)),M=y===b.popper?b.reference:b.popper,O=c.rects.popper,D=c.elements[L?M:y],E=(0,e.default)((0,S.isElement)(D)?D:D.contextElement||(0,a.default)(c.elements.popper),v,N,h),P=(0,t.default)(c.elements.reference),R=(0,o.default)({reference:P,element:O,strategy:"absolute",placement:s}),j=(0,f.default)(Object.assign({},O,R)),F=y===b.popper?j:P,W={top:E.top-F.top+T.top,bottom:F.bottom-E.bottom+T.bottom,left:E.left-F.left+T.left,right:F.right-E.right+T.right},z=c.modifiersData.offset;if(y===b.popper&&z){var K=z[s];Object.keys(W).forEach(function(G){var J=[b.right,b.bottom].indexOf(G)>=0?1:-1,Q=[b.top,b.bottom].indexOf(G)>=0?"y":"x";W[G]+=K[Q]*J})}return W}},81447:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e,a){return a.reduce(function(t,o){return t[o]=e,t},{})}},28066:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e==="x"?"y":"x"}},83104:function(A,r,n){"use strict";r.__esModule=!0,r.default=a;var e=n(46206);function a(t){return t.split("-")[0]}},34780:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(){return{top:0,right:0,bottom:0,left:0}}},41199:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}},71376:function(A,r){"use strict";r.__esModule=!0,r.default=e;var n={left:"right",right:"left",bottom:"top",top:"bottom"};function e(a){return a.replace(/left|right|bottom|top/g,function(t){return n[t]})}},86459:function(A,r){"use strict";r.__esModule=!0,r.default=e;var n={start:"end",end:"start"};function e(a){return a.replace(/start|end/g,function(t){return n[t]})}},45:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return e.split("-")[1]}},63618:function(A,r){"use strict";r.__esModule=!0,r.round=r.min=r.max=void 0;var n=r.max=Math.max,e=r.min=Math.min,a=r.round=Math.round},56500:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){var a=e.reduce(function(t,o){var f=t[o.name];return t[o.name]=f?Object.assign({},f,o,{options:Object.assign({},f.options,o.options),data:Object.assign({},f.data,o.data)}):o,t},{});return Object.keys(a).map(function(t){return a[t]})}},43286:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=a(n(34780));function a(o){return o&&o.__esModule?o:{default:o}}function t(o){return Object.assign({},(0,e.default)(),o)}},33118:function(A,r,n){"use strict";r.__esModule=!0,r.default=t;var e=n(46206);function a(o){var f=new Map,b=new Set,S=[];o.forEach(function(k){f.set(k.name,k)});function I(k){b.add(k.name);var g=[].concat(k.requires||[],k.requiresIfExists||[]);g.forEach(function(d){if(!b.has(d)){var c=f.get(d);c&&I(c)}}),S.push(k)}return o.forEach(function(k){b.has(k.name)||I(k)}),S}function t(o){var f=a(o);return e.modifierPhases.reduce(function(b,S){return b.concat(f.filter(function(I){return I.phase===S}))},[])}},81666:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}},35366:function(A,r){"use strict";r.__esModule=!0,r.default=n;function n(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(a){return a.brand+"/"+a.version}).join(" "):navigator.userAgent}},28595:function(A,r,n){"use strict";r.__esModule=!0,r.within=a,r.withinMaxClamp=t;var e=n(63618);function a(o,f,b){return(0,e.max)(o,(0,e.min)(f,b))}function t(o,f,b){var S=a(o,f,b);return S>b?b:S}},15875:function(A,r){"use strict";r.__esModule=!0,r.VNodeFlags=r.ChildFlags=void 0;var n;(function(a){a[a.Unknown=0]="Unknown",a[a.HtmlElement=1]="HtmlElement",a[a.ComponentUnknown=2]="ComponentUnknown",a[a.ComponentClass=4]="ComponentClass",a[a.ComponentFunction=8]="ComponentFunction",a[a.Text=16]="Text",a[a.SvgElement=32]="SvgElement",a[a.InputElement=64]="InputElement",a[a.TextareaElement=128]="TextareaElement",a[a.SelectElement=256]="SelectElement",a[a.Portal=1024]="Portal",a[a.ReCreate=2048]="ReCreate",a[a.ContentEditable=4096]="ContentEditable",a[a.Fragment=8192]="Fragment",a[a.InUse=16384]="InUse",a[a.ForwardRef=32768]="ForwardRef",a[a.Normalized=65536]="Normalized",a[a.ForwardRefComponent=32776]="ForwardRefComponent",a[a.FormElement=448]="FormElement",a[a.Element=481]="Element",a[a.Component=14]="Component",a[a.DOMRef=1521]="DOMRef",a[a.InUseOrNormalized=81920]="InUseOrNormalized",a[a.ClearInUse=-16385]="ClearInUse",a[a.ComponentKnown=12]="ComponentKnown"})(n||(r.VNodeFlags=n={}));var e;(function(a){a[a.UnknownChildren=0]="UnknownChildren",a[a.HasInvalidChildren=1]="HasInvalidChildren",a[a.HasVNodeChildren=2]="HasVNodeChildren",a[a.HasNonKeyedChildren=4]="HasNonKeyedChildren",a[a.HasKeyedChildren=8]="HasKeyedChildren",a[a.HasTextChildren=16]="HasTextChildren",a[a.MultipleChildren=12]="MultipleChildren"})(e||(r.ChildFlags=e={}))},89292:function(A,r){"use strict";r.__esModule=!0,r.Fragment=r.EMPTY_OBJ=r.Component=r.AnimationQueues=void 0,r._CI=Ot,r._HI=me,r._M=$e,r._MCCC=_t,r._ME=Dt,r._MFCC=Ft,r._MP=Mt,r._MR=at,r._RFC=gt,r.__render=Ht,r.createComponentVNode=ue,r.createFragment=pe,r.createPortal=ee,r.createRef=nn,r.createRenderer=En,r.createTextVNode=ie,r.createVNode=K,r.directClone=ne,r.findDOMFromVNode=V,r.forwardRef=on,r.getFlagsForElementVnode=oe,r.linkEvent=g,r.normalizeProps=te,r.options=void 0,r.render=zt,r.rerender=Kt,r.version=void 0;var n=Array.isArray;function e(_){var U=typeof _;return U==="string"||U==="number"}function a(_){return _==null}function t(_){return _===null||_===!1||_===!0||_===void 0}function o(_){return typeof _=="function"}function f(_){return typeof _=="string"}function b(_){return typeof _=="number"}function S(_){return _===null}function I(_){return _===void 0}function k(_,U){var H={};if(_)for(var $ in _)H[$]=_[$];if(U)for(var Z in U)H[Z]=U[Z];return H}function g(_,U){return o(U)?{data:_,event:U}:null}function d(_){return!S(_)&&typeof _=="object"}var c=r.EMPTY_OBJ={},m=r.Fragment="$F",l=r.AnimationQueues=function(){function _(){this.componentDidAppear=[],this.componentWillDisappear=[],this.componentWillMove=[]}return _}();function u(_){return _.substring(2).toLowerCase()}function s(_,U){_.appendChild(U)}function i(_,U,H){S(H)?s(_,U):_.insertBefore(U,H)}function h(_,U){return U?document.createElementNS("http://www.w3.org/2000/svg",_):document.createElement(_)}function C(_,U,H){_.replaceChild(U,H)}function v(_,U){_.removeChild(U)}function p(_){for(var U=0;U<_.length;U++)_[U]()}function N(_,U,H){var $=_.children;return H&4?$.$LI:H&8192?_.childFlags===2?$:$[U?0:$.length-1]:$}function V(_,U){for(var H;_;){if(H=_.flags,H&1521)return _.dom;_=N(_,U,H)}return null}function y(_,U){for(var H=_.length,$;($=_.pop())!==void 0;)$(function(){--H<=0&&o(U)&&U()})}function B(_){for(var U=0;U<_.length;U++)_[U].fn();for(var H=0;H<_.length;H++){var $=_[H];i($.parent,$.dom,$.next)}_.splice(0,_.length)}function L(_,U,H){do{var $=_.flags;if($&1521){(!H||_.dom.parentNode===U)&&v(U,_.dom);return}var Z=_.children;if($&4&&(_=Z.$LI),$&8&&(_=Z),$&8192)if(_.childFlags===2)_=Z;else{for(var ae=0,ce=Z.length;ae0?y(H.componentWillDisappear,w(_,U)):L(_,U,!1)}function T(_,U,H,$,Z,ae,ce,se){_.componentWillMove.push({dom:$,fn:function(){function Ne(){ce&4?H.componentWillMove(U,Z,$):ce&8&&H.onComponentWillMove(U,Z,$,se)}return Ne}(),next:ae,parent:Z})}function M(_,U,H,$,Z){var ae,ce,se=U.flags;do{var Ne=U.flags;if(Ne&1521){!a(ae)&&(o(ae.componentWillMove)||o(ae.onComponentWillMove))?T(Z,_,ae,U.dom,H,$,se,ce):i(H,U.dom,$);return}var Te=U.children;if(Ne&4)ae=U.children,ce=U.props,U=Te.$LI;else if(Ne&8)ae=U.ref,ce=U.props,U=Te;else if(Ne&8192)if(U.childFlags===2)U=Te;else{for(var Ie=0,Ee=Te.length;Ie0,Te=S(se),Ie=f(se)&&se[0]===W;Ne||Te||Ie?(H=H||U.slice(0,ae),(Ne||Ie)&&(ce=ne(ce)),(Te||Ie)&&(ce.key=W+ae),H.push(ce)):H&&H.push(ce),ce.flags|=65536}}H=H||U,H.length===0?$=1:$=8}else H=U,H.flags|=65536,U.flags&81920&&(H=ne(U)),$=2;return _.children=H,_.childFlags=$,_}function me(_){return t(_)||e(_)?ie(_,null):n(_)?pe(_,0,null):_.flags&16384?ne(_):_}var Y="http://www.w3.org/1999/xlink",ve="http://www.w3.org/XML/1998/namespace",he={"xlink:actuate":Y,"xlink:arcrole":Y,"xlink:href":Y,"xlink:role":Y,"xlink:show":Y,"xlink:title":Y,"xlink:type":Y,"xml:base":ve,"xml:lang":ve,"xml:space":ve};function Ve(_){return{onClick:_,onDblClick:_,onFocusIn:_,onFocusOut:_,onKeyDown:_,onKeyPress:_,onKeyUp:_,onMouseDown:_,onMouseMove:_,onMouseUp:_,onTouchEnd:_,onTouchMove:_,onTouchStart:_}}var Be=Ve(0),be=Ve(null),Le=Ve(!0);function we(_,U){var H=U.$EV;return H||(H=U.$EV=Ve(null)),H[_]||++Be[_]===1&&(be[_]=je(_)),H}function xe(_,U){var H=U.$EV;H&&H[_]&&(--Be[_]===0&&(document.removeEventListener(u(_),be[_]),be[_]=null),H[_]=null)}function Re(_,U,H,$){if(o(H))we(_,$)[_]=H;else if(d(H)){if(R(U,H))return;we(_,$)[_]=H}else xe(_,$)}function He(_){return o(_.composedPath)?_.composedPath()[0]:_.target}function ye(_,U,H,$){var Z=He(_);do{if(U&&Z.disabled)return;var ae=Z.$EV;if(ae){var ce=ae[H];if(ce&&($.dom=Z,ce.event?ce.event(ce.data,_):ce(_),_.cancelBubble))return}Z=Z.parentNode}while(!S(Z))}function de(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function Ce(){return this.defaultPrevented}function ke(){return this.cancelBubble}function ge(_){var U={dom:document};return _.isDefaultPrevented=Ce,_.isPropagationStopped=ke,_.stopPropagation=de,Object.defineProperty(_,"currentTarget",{configurable:!0,get:function(){function H(){return U.dom}return H}()}),U}function Se(_){return function(U){if(U.button!==0){U.stopPropagation();return}ye(U,!0,_,ge(U))}}function Pe(_){return function(U){ye(U,!1,_,ge(U))}}function je(_){var U=_==="onClick"||_==="onDblClick"?Se(_):Pe(_);return document.addEventListener(u(_),U),U}function _e(_,U){var H=document.createElement("i");return H.innerHTML=U,H.innerHTML===_.innerHTML}function ze(_,U,H){if(_[U]){var $=_[U];$.event?$.event($.data,H):$(H)}else{var Z=U.toLowerCase();_[Z]&&_[Z](H)}}function We(_,U){var H=function(){function $(Z){var ae=this.$V;if(ae){var ce=ae.props||c,se=ae.dom;if(f(_))ze(ce,_,Z);else for(var Ne=0;Ne<_.length;++Ne)ze(ce,_[Ne],Z);if(o(U)){var Te=this.$V,Ie=Te.props||c;U(Ie,se,!1,Te)}}}return $}();return Object.defineProperty(H,"wrapped",{configurable:!1,enumerable:!1,value:!0,writable:!1}),H}function Ue(_,U,H){var $="$"+U,Z=_[$];if(Z){if(Z[1].wrapped)return;_.removeEventListener(Z[0],Z[1]),_[$]=null}o(H)&&(_.addEventListener(U,H),_[$]=[U,H])}function Xe(_){return _==="checkbox"||_==="radio"}var yt=We("onInput",dt),St=We(["onClick","onChange"],dt);function Ct(_){_.stopPropagation()}Ct.wrapped=!0;function Bt(_,U){Xe(U.type)?(Ue(_,"change",St),Ue(_,"click",Ct)):Ue(_,"input",yt)}function dt(_,U){var H=_.type,$=_.value,Z=_.checked,ae=_.multiple,ce=_.defaultValue,se=!a($);H&&H!==U.type&&U.setAttribute("type",H),!a(ae)&&ae!==U.multiple&&(U.multiple=ae),!a(ce)&&!se&&(U.defaultValue=ce+""),Xe(H)?(se&&(U.value=$),a(Z)||(U.checked=Z)):se&&U.value!==$?(U.defaultValue=$,U.value=$):a(Z)||(U.checked=Z)}function rt(_,U){if(_.type==="option")It(_,U);else{var H=_.children,$=_.flags;if($&4)rt(H.$LI,U);else if($&8)rt(H,U);else if(_.childFlags===2)rt(H,U);else if(_.childFlags&12)for(var Z=0,ae=H.length;Z-1&&U.options[ae]&&(se=U.options[ae].value),H&&a(se)&&(se=_.defaultValue),rt($,se)}}var Zt=We("onInput",Tt),qt=We("onChange");function en(_,U){Ue(_,"input",Zt),U.onChange&&Ue(_,"change",qt)}function Tt(_,U,H){var $=_.value,Z=U.value;if(a($)){if(H){var ae=_.defaultValue;!a(ae)&&ae!==Z&&(U.defaultValue=ae,U.value=ae)}}else Z!==$&&(U.defaultValue=$,U.value=$)}function xt(_,U,H,$,Z,ae){_&64?dt($,H):_&256?wt($,H,Z,U):_&128&&Tt($,H,Z),ae&&(H.$V=U)}function tn(_,U,H){_&64?Bt(U,H):_&256?Qt(U):_&128&&en(U,H)}function At(_){return _.type&&Xe(_.type)?!a(_.checked):!a(_.value)}function nn(){return{current:null}}function on(_){var U={render:_};return U}function st(_){_&&!F(_,null)&&_.current&&(_.current=null)}function at(_,U,H){_&&(o(_)||_.current!==void 0)&&H.push(function(){!F(_,U)&&_.current!==void 0&&(_.current=U)})}function Je(_,U,H){Ze(_,H),x(_,U,H)}function Ze(_,U){var H=_.flags,$=_.children,Z;if(H&481){Z=_.ref;var ae=_.props;st(Z);var ce=_.childFlags;if(!S(ae))for(var se=Object.keys(ae),Ne=0,Te=se.length;Ne0?y(H.componentWillDisappear,rn(U,_)):_.textContent=""}function pt(_,U,H,$){ct(H,$),U.flags&8192?x(U,_,$):mt(_,H,$)}function Et(_,U,H,$,Z){_.componentWillDisappear.push(function(ae){$&4?U.componentWillDisappear(H,ae):$&8&&U.onComponentWillDisappear(H,Z,ae)})}function an(_){var U=_.event;return function(H){U(_.data,H)}}function cn(_,U,H,$){if(d(H)){if(R(U,H))return;H=an(H)}Ue($,u(_),H)}function ln(_,U,H){if(a(U)){H.removeAttribute("style");return}var $=H.style,Z,ae;if(f(U)){$.cssText=U;return}if(!a(_)&&!f(_)){for(Z in U)ae=U[Z],ae!==_[Z]&&$.setProperty(Z,ae);for(Z in _)a(U[Z])&&$.removeProperty(Z)}else for(Z in U)ae=U[Z],$.setProperty(Z,ae)}function un(_,U,H,$,Z){var ae=_&&_.__html||"",ce=U&&U.__html||"";ae!==ce&&!a(ce)&&!_e($,ce)&&(S(H)||(H.childFlags&12?ct(H.children,Z):H.childFlags===2&&Ze(H.children,Z),H.children=null,H.childFlags=1),$.innerHTML=ce)}function vt(_,U,H,$,Z,ae,ce,se){switch(_){case"children":case"childrenType":case"className":case"defaultValue":case"key":case"multiple":case"ref":case"selectedIndex":break;case"autoFocus":$.autofocus=!!H;break;case"allowfullscreen":case"autoplay":case"capture":case"checked":case"controls":case"default":case"disabled":case"hidden":case"indeterminate":case"loop":case"muted":case"novalidate":case"open":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"selected":$[_]=!!H;break;case"defaultChecked":case"value":case"volume":if(ae&&_==="value")break;var Ne=a(H)?"":H;$[_]!==Ne&&($[_]=Ne);break;case"style":ln(U,H,$);break;case"dangerouslySetInnerHTML":un(U,H,ce,$,se);break;default:Le[_]?Re(_,U,H,$):_.charCodeAt(0)===111&&_.charCodeAt(1)===110?cn(_,U,H,$):a(H)?$.removeAttribute(_):Z&&he[_]?$.setAttributeNS(he[_],_,H):$.setAttribute(_,H);break}}function Mt(_,U,H,$,Z,ae){var ce=!1,se=(U&448)>0;se&&(ce=At(H),ce&&tn(U,$,H));for(var Ne in H)vt(Ne,null,H[Ne],$,Z,ce,null,ae);se&&xt(U,_,$,H,!0,ce)}function Pt(_,U,H){var $=me(_.render(U,_.state,H)),Z=H;return o(_.getChildContext)&&(Z=k(H,_.getChildContext())),_.$CX=Z,$}function Ot(_,U,H,$,Z,ae){var ce=new U(H,$),se=ce.$N=!!(U.getDerivedStateFromProps||ce.getSnapshotBeforeUpdate);if(ce.$SVG=Z,ce.$L=ae,_.children=ce,ce.$BS=!1,ce.context=$,ce.props===c&&(ce.props=H),se)ce.state=O(ce,H,ce.state);else if(o(ce.componentWillMount)){ce.$BR=!0,ce.componentWillMount();var Ne=ce.$PS;if(!S(Ne)){var Te=ce.state;if(S(Te))ce.state=Ne;else for(var Ie in Ne)Te[Ie]=Ne[Ie];ce.$PS=null}ce.$BR=!1}return ce.$LI=Pt(ce,H,$),ce}function gt(_,U){var H=_.props||c;return _.flags&32768?_.type.render(H,_.ref,U):_.type(H,U)}function $e(_,U,H,$,Z,ae,ce){var se=_.flags|=16384;se&481?Dt(_,U,H,$,Z,ae,ce):se&4?mn(_,U,H,$,Z,ae,ce):se&8?pn(_,U,H,$,Z,ae,ce):se&16?Rt(_,U,Z):se&8192?sn(_,H,U,$,Z,ae,ce):se&1024&&dn(_,H,U,Z,ae,ce)}function dn(_,U,H,$,Z,ae){$e(_.children,_.ref,U,!1,null,Z,ae);var ce=le();Rt(ce,H,$),_.dom=ce.dom}function sn(_,U,H,$,Z,ae,ce){var se=_.children,Ne=_.childFlags;Ne&12&&se.length===0&&(Ne=_.childFlags=2,se=_.children=le()),Ne===2?$e(se,H,U,$,Z,ae,ce):ot(se,H,U,$,Z,ae,ce)}function Rt(_,U,H){var $=_.dom=document.createTextNode(_.children);S(U)||i(U,$,H)}function Dt(_,U,H,$,Z,ae,ce){var se=_.flags,Ne=_.props,Te=_.className,Ie=_.childFlags,Ee=_.dom=h(_.type,$=$||(se&32)>0),Ae=_.children;if(!a(Te)&&Te!==""&&($?Ee.setAttribute("class",Te):Ee.className=Te),Ie===16)P(Ee,Ae);else if(Ie!==1){var Me=$&&_.type!=="foreignObject";Ie===2?(Ae.flags&16384&&(_.children=Ae=ne(Ae)),$e(Ae,Ee,H,Me,null,ae,ce)):(Ie===8||Ie===4)&&ot(Ae,Ee,H,Me,null,ae,ce)}S(U)||i(U,Ee,Z),S(Ne)||Mt(_,se,Ne,Ee,$,ce),at(_.ref,Ee,ae)}function ot(_,U,H,$,Z,ae,ce){for(var se=0;se<_.length;++se){var Ne=_[se];Ne.flags&16384&&(_[se]=Ne=ne(Ne)),$e(Ne,U,H,$,Z,ae,ce)}}function mn(_,U,H,$,Z,ae,ce){var se=Ot(_,_.type,_.props||c,H,$,ae),Ne=ce;o(se.componentDidAppear)&&(Ne=new l),$e(se.$LI,U,se.$CX,$,Z,ae,Ne),_t(_.ref,se,ae,ce)}function pn(_,U,H,$,Z,ae,ce){var se=_.ref,Ne=ce;!a(se)&&o(se.onComponentDidAppear)&&(Ne=new l),$e(_.children=me(gt(_,H)),U,H,$,Z,ae,Ne),Ft(_,ae,ce)}function fn(_){return function(){_.componentDidMount()}}function jt(_,U,H,$,Z){_.componentDidAppear.push(function(){$&4?U.componentDidAppear(H):$&8&&U.onComponentDidAppear(H,Z)})}function _t(_,U,H,$){at(_,U,H),o(U.componentDidMount)&&H.push(fn(U)),o(U.componentDidAppear)&&jt($,U,U.$LI.dom,4,void 0)}function hn(_,U){return function(){_.onComponentDidMount(V(U,!0),U.props||c)}}function Ft(_,U,H){var $=_.ref;a($)||(F($.onComponentWillMount,_.props||c),o($.onComponentDidMount)&&U.push(hn($,_)),o($.onComponentDidAppear)&&jt(H,$,V(_,!0),8,_.props))}function Cn(_,U,H,$,Z,ae,ce){Ze(_,ce),U.flags&_.flags&1521?($e(U,null,$,Z,null,ae,ce),C(H,U.dom,_.dom)):($e(U,H,$,Z,V(_,!0),ae,ce),x(_,H,ce))}function qe(_,U,H,$,Z,ae,ce,se){var Ne=U.flags|=16384;_.flags!==Ne||_.type!==U.type||_.key!==U.key||Ne&2048?_.flags&16384?Cn(_,U,H,$,Z,ce,se):$e(U,H,$,Z,ae,ce,se):Ne&481?bn(_,U,$,Z,Ne,ce,se):Ne&4?Sn(_,U,H,$,Z,ae,ce,se):Ne&8?Bn(_,U,H,$,Z,ae,ce,se):Ne&16?In(_,U):Ne&8192?Nn(_,U,H,$,Z,ce,se):Vn(_,U,$,ce,se)}function vn(_,U,H){_!==U&&(_!==""?H.firstChild.nodeValue=U:P(H,U))}function gn(_,U){_.textContent!==U&&(_.textContent=U)}function Nn(_,U,H,$,Z,ae,ce){var se=_.children,Ne=U.children,Te=_.childFlags,Ie=U.childFlags,Ee=null;Ie&12&&Ne.length===0&&(Ie=U.childFlags=2,Ne=U.children=le());var Ae=(Ie&2)!==0;if(Te&12){var Me=se.length;(Te&8&&Ie&8||Ae||!Ae&&Ne.length>Me)&&(Ee=V(se[Me-1],!1).nextSibling)}Nt(Te,Ie,se,Ne,H,$,Z,Ee,_,ae,ce)}function Vn(_,U,H,$,Z){var ae=_.ref,ce=U.ref,se=U.children;if(Nt(_.childFlags,U.childFlags,_.children,se,ae,H,!1,null,_,$,Z),U.dom=_.dom,ae!==ce&&!t(se)){var Ne=se.dom;v(ae,Ne),s(ce,Ne)}}function bn(_,U,H,$,Z,ae,ce){var se=U.dom=_.dom,Ne=_.props,Te=U.props,Ie=!1,Ee=!1,Ae;if($=$||(Z&32)>0,Ne!==Te){var Me=Ne||c;if(Ae=Te||c,Ae!==c){Ie=(Z&448)>0,Ie&&(Ee=At(Ae));for(var Fe in Ae){var Oe=Me[Fe],Ke=Ae[Fe];Oe!==Ke&&vt(Fe,Oe,Ke,se,$,Ee,_,ce)}}if(Me!==c)for(var De in Me)a(Ae[De])&&!a(Me[De])&&vt(De,Me[De],null,se,$,Ee,_,ce)}var tt=U.children,Ye=U.className;_.className!==Ye&&(a(Ye)?se.removeAttribute("class"):$?se.setAttribute("class",Ye):se.className=Ye),Z&4096?gn(se,tt):Nt(_.childFlags,U.childFlags,_.children,tt,se,H,$&&U.type!=="foreignObject",null,_,ae,ce),Ie&&xt(Z,U,se,Ae,!1,Ee);var it=U.ref,Qe=_.ref;Qe!==it&&(st(Qe),at(it,se,ae))}function kn(_,U,H,$,Z,ae,ce){Ze(_,ce),ot(U,H,$,Z,V(_,!0),ae,ce),x(_,H,ce)}function Nt(_,U,H,$,Z,ae,ce,se,Ne,Te,Ie){switch(_){case 2:switch(U){case 2:qe(H,$,Z,ae,ce,se,Te,Ie);break;case 1:Je(H,Z,Ie);break;case 16:Ze(H,Ie),P(Z,$);break;default:kn(H,$,Z,ae,ce,Te,Ie);break}break;case 1:switch(U){case 2:$e($,Z,ae,ce,se,Te,Ie);break;case 1:break;case 16:P(Z,$);break;default:ot($,Z,ae,ce,se,Te,Ie);break}break;case 16:switch(U){case 16:vn(H,$,Z);break;case 2:mt(Z,H,Ie),$e($,Z,ae,ce,se,Te,Ie);break;case 1:mt(Z,H,Ie);break;default:mt(Z,H,Ie),ot($,Z,ae,ce,se,Te,Ie);break}break;default:switch(U){case 16:ct(H,Ie),P(Z,$);break;case 2:pt(Z,Ne,H,Ie),$e($,Z,ae,ce,se,Te,Ie);break;case 1:pt(Z,Ne,H,Ie);break;default:var Ee=H.length|0,Ae=$.length|0;Ee===0?Ae>0&&ot($,Z,ae,ce,se,Te,Ie):Ae===0?pt(Z,Ne,H,Ie):U===8&&_===8?wn(H,$,Z,ae,ce,Ee,Ae,se,Ne,Te,Ie):Ln(H,$,Z,ae,ce,Ee,Ae,se,Te,Ie);break}break}}function yn(_,U,H,$,Z){Z.push(function(){_.componentDidUpdate(U,H,$)})}function Wt(_,U,H,$,Z,ae,ce,se,Ne,Te){var Ie=_.state,Ee=_.props,Ae=!!_.$N,Me=o(_.shouldComponentUpdate);if(Ae&&(U=O(_,H,U!==Ie?k(Ie,U):U)),ce||!Me||Me&&_.shouldComponentUpdate(H,U,Z)){!Ae&&o(_.componentWillUpdate)&&_.componentWillUpdate(H,U,Z),_.props=H,_.state=U,_.context=Z;var Fe=null,Oe=Pt(_,H,Z);Ae&&o(_.getSnapshotBeforeUpdate)&&(Fe=_.getSnapshotBeforeUpdate(Ee,Ie)),qe(_.$LI,Oe,$,_.$CX,ae,se,Ne,Te),_.$LI=Oe,o(_.componentDidUpdate)&&yn(_,Ee,Ie,Fe,Ne)}else _.props=H,_.state=U,_.context=Z}function Sn(_,U,H,$,Z,ae,ce,se){var Ne=U.children=_.children;if(!S(Ne)){Ne.$L=ce;var Te=U.props||c,Ie=U.ref,Ee=_.ref,Ae=Ne.state;if(!Ne.$N){if(o(Ne.componentWillReceiveProps)){if(Ne.$BR=!0,Ne.componentWillReceiveProps(Te,$),Ne.$UN)return;Ne.$BR=!1}S(Ne.$PS)||(Ae=k(Ae,Ne.$PS),Ne.$PS=null)}Wt(Ne,Ae,Te,H,$,Z,!1,ae,ce,se),Ee!==Ie&&(st(Ee),at(Ie,Ne,ce))}}function Bn(_,U,H,$,Z,ae,ce,se){var Ne=!0,Te=U.props||c,Ie=U.ref,Ee=_.props,Ae=!a(Ie),Me=_.children;if(Ae&&o(Ie.onComponentShouldUpdate)&&(Ne=Ie.onComponentShouldUpdate(Ee,Te)),Ne!==!1){Ae&&o(Ie.onComponentWillUpdate)&&Ie.onComponentWillUpdate(Ee,Te);var Fe=me(gt(U,$));qe(Me,Fe,H,$,Z,ae,ce,se),U.children=Fe,Ae&&o(Ie.onComponentDidUpdate)&&Ie.onComponentDidUpdate(Ee,Te)}else U.children=Me}function In(_,U){var H=U.children,$=U.dom=_.dom;H!==_.children&&($.nodeValue=H)}function Ln(_,U,H,$,Z,ae,ce,se,Ne,Te){for(var Ie=ae>ce?ce:ae,Ee=0,Ae,Me;Eece)for(Ee=Ie;EeEe||Me>Ae)break e;Fe=_[Me],Oe=U[Me]}for(Fe=_[Ee],Oe=U[Ae];Fe.key===Oe.key;){if(Oe.flags&16384&&(U[Ae]=Oe=ne(Oe)),qe(Fe,Oe,H,$,Z,se,Te,Ie),_[Ee]=Oe,Ee--,Ae--,Me>Ee||Me>Ae)break e;Fe=_[Ee],Oe=U[Ae]}}if(Me>Ee){if(Me<=Ae)for(Ke=Ae+1,De=KeAe)for(;Me<=Ee;)Je(_[Me++],H,Ie);else Tn(_,U,$,ae,ce,Ee,Ae,Me,H,Z,se,Ne,Te,Ie)}function Tn(_,U,H,$,Z,ae,ce,se,Ne,Te,Ie,Ee,Ae,Me){var Fe,Oe,Ke=0,De=0,tt=se,Ye=se,it=ae-se+1,Qe=ce-se+1,lt=new Int32Array(Qe+1),nt=it===$,bt=!1,Ge=0,ut=0;if(Z<4||(it|Qe)<32)for(De=tt;De<=ae;++De)if(Fe=_[De],utse?bt=!0:Ge=se,Oe.flags&16384&&(U[se]=Oe=ne(Oe)),qe(Fe,Oe,Ne,H,Te,Ie,Ae,Me),++ut;break}!nt&&se>ce&&Je(Fe,Ne,Me)}else nt||Je(Fe,Ne,Me);else{var Yt={};for(De=Ye;De<=ce;++De)Yt[U[De].key]=De;for(De=tt;De<=ae;++De)if(Fe=_[De],uttt;)Je(_[tt++],Ne,Me);lt[se-Ye]=De+1,Ge>se?bt=!0:Ge=se,Oe=U[se],Oe.flags&16384&&(U[se]=Oe=ne(Oe)),qe(Fe,Oe,Ne,H,Te,Ie,Ae,Me),++ut}else nt||Je(Fe,Ne,Me);else nt||Je(Fe,Ne,Me)}if(nt)pt(Ne,Ee,_,Me),ot(U,Ne,H,Te,Ie,Ae,Me);else if(bt){var Xt=xn(lt);for(se=Xt.length-1,De=Qe-1;De>=0;De--)lt[De]===0?(Ge=De+Ye,Oe=U[Ge],Oe.flags&16384&&(U[Ge]=Oe=ne(Oe)),Ke=Ge+1,$e(Oe,Ne,H,Te,Ke0&&B(Me.componentWillMove)}else if(ut!==Qe)for(De=Qe-1;De>=0;De--)lt[De]===0&&(Ge=De+Ye,Oe=U[Ge],Oe.flags&16384&&(U[Ge]=Oe=ne(Oe)),Ke=Ge+1,$e(Oe,Ne,H,Te,KeUt&&(Ut=Ne,et=new Int32Array(Ne),ft=new Int32Array(Ne));H>1,_[et[se]]0&&(ft[H]=et[ae-1]),et[ae]=H)}ae=Z+1;var Te=new Int32Array(ae);for(ce=et[ae-1];ae-- >0;)Te[ae]=ce,ce=ft[ce],et[ae]=0;return Te}var An=typeof document!="undefined";An&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);function Ht(_,U,H,$){var Z=[],ae=new l,ce=U.$V;D.v=!0,a(ce)?a(_)||(_.flags&16384&&(_=ne(_)),$e(_,U,$,!1,null,Z,ae),U.$V=_,ce=_):a(_)?(Je(ce,U,ae),U.$V=null):(_.flags&16384&&(_=ne(_)),qe(ce,_,U,$,!1,null,Z,ae),ce=U.$V=_),p(Z),y(ae.componentDidAppear),D.v=!1,o(H)&&H(),o(E.renderComplete)&&E.renderComplete(ce,U)}function zt(_,U,H,$){H===void 0&&(H=null),$===void 0&&($=c),Ht(_,U,H,$)}function En(_){return function(){function U(H,$,Z,ae){_||(_=H),zt($,_,Z,ae)}return U}()}var ht=[],Mn=typeof Promise!="undefined"?Promise.resolve().then.bind(Promise.resolve()):function(_){window.setTimeout(_,0)},Vt=!1;function $t(_,U,H,$){var Z=_.$PS;if(o(U)&&(U=U(Z?k(_.state,Z):_.state,_.props,_.context)),a(Z))_.$PS=U;else for(var ae in U)Z[ae]=U[ae];if(_.$BR)o(H)&&_.$L.push(H.bind(_));else{if(!D.v&&ht.length===0){Gt(_,$),o(H)&&H.call(_);return}if(ht.indexOf(_)===-1&&ht.push(_),$&&(_.$F=!0),Vt||(Vt=!0,Mn(Kt)),o(H)){var ce=_.$QU;ce||(ce=_.$QU=[]),ce.push(H)}}}function Pn(_){for(var U=_.$QU,H=0;H=0;--F){var W=this.tryEntries[F],z=W.completion;if(W.tryLoc==="root")return j("end");if(W.tryLoc<=this.prev){var K=a.call(W,"catchLoc"),G=a.call(W,"finallyLoc");if(K&&G){if(this.prev=0;--j){var F=this.tryEntries[j];if(F.tryLoc<=this.prev&&a.call(F,"finallyLoc")&&this.prev=0;--R){var j=this.tryEntries[R];if(j.finallyLoc===P)return this.complete(j.completion,j.afterLoc),T(j),s}}return E}(),catch:function(){function E(P){for(var R=this.tryEntries.length-1;R>=0;--R){var j=this.tryEntries[R];if(j.tryLoc===P){var F=j.completion;if(F.type==="throw"){var W=F.arg;T(j)}return W}}throw new Error("illegal catch attempt")}return E}(),delegateYield:function(){function E(P,R,j){return this.delegate={iterator:O(P),resultName:R,nextLoc:j},this.method==="next"&&(this.arg=o),s}return E}()},n}(A.exports);try{regeneratorRuntime=r}catch(n){typeof globalThis=="object"?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}},30236:function(){"use strict";self.fetch||(self.fetch=function(A,r){return r=r||{},new Promise(function(n,e){var a=new XMLHttpRequest,t=[],o={},f=function(){function S(){return{ok:(a.status/100|0)==2,statusText:a.statusText,status:a.status,url:a.responseURL,text:function(){function I(){return Promise.resolve(a.responseText)}return I}(),json:function(){function I(){return Promise.resolve(a.responseText).then(JSON.parse)}return I}(),blob:function(){function I(){return Promise.resolve(new Blob([a.response]))}return I}(),clone:S,headers:{keys:function(){function I(){return t}return I}(),entries:function(){function I(){return t.map(function(k){return[k,a.getResponseHeader(k)]})}return I}(),get:function(){function I(k){return a.getResponseHeader(k)}return I}(),has:function(){function I(k){return a.getResponseHeader(k)!=null}return I}()}}}return S}();for(var b in a.open(r.method||"get",A,!0),a.onload=function(){a.getAllResponseHeaders().toLowerCase().replace(/^(.+?):/gm,function(S,I){o[I]||t.push(o[I]=I)}),n(f())},a.onerror=e,a.withCredentials=r.credentials=="include",r.headers)a.setRequestHeader(b,r.headers[b]);a.send(r.body||null)})})},88510:function(A,r){"use strict";r.__esModule=!0,r.zipWith=r.zip=r.uniqBy=r.uniq=r.toKeyedArray=r.toArray=r.sortBy=r.sort=r.reduce=r.range=r.map=r.filterMap=r.filter=void 0;function n(i,h){var C=typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(C)return(C=C.call(i)).next.bind(C);if(Array.isArray(i)||(C=e(i))||h&&i&&typeof i.length=="number"){C&&(i=C);var v=0;return function(){return v>=i.length?{done:!0}:{done:!1,value:i[v++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(i,h){if(i){if(typeof i=="string")return a(i,h);var C={}.toString.call(i).slice(8,-1);return C==="Object"&&i.constructor&&(C=i.constructor.name),C==="Map"||C==="Set"?Array.from(i):C==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C)?a(i,h):void 0}}function a(i,h){(h==null||h>i.length)&&(h=i.length);for(var C=0,v=Array(h);CB)return 1}return 0},k=r.sortBy=function(){function i(){for(var h=arguments.length,C=new Array(h),v=0;vB)return 1}return 0},k=r.sortBy=function(){function i(){for(var h=arguments.length,C=new Array(h),v=0;v=1-n)return j[F-1];var z=W%1,K=W|0;return D.lerp(j[K],j[K+1],z)}return P}(),D}(),a=function(E,P,R){return P===void 0&&(P=0),R===void 0&&(R=Math.pow(10,P)),Math.round(R*E)/R},t={grad:360/400,turn:360,rad:360/(Math.PI*2)},o=r.hexToHsva=function(){function D(E){return B(f(E))}return D}(),f=r.hexToRgba=function(){function D(E){return E[0]==="#"&&(E=E.substring(1)),E.length<6?{r:parseInt(E[0]+E[0],16),g:parseInt(E[1]+E[1],16),b:parseInt(E[2]+E[2],16),a:E.length===4?a(parseInt(E[3]+E[3],16)/255,2):1}:{r:parseInt(E.substring(0,2),16),g:parseInt(E.substring(2,4),16),b:parseInt(E.substring(4,6),16),a:E.length===8?a(parseInt(E.substring(6,8),16)/255,2):1}}return D}(),b=r.parseHue=function(){function D(E,P){return P===void 0&&(P="deg"),Number(E)*(t[P]||1)}return D}(),S=r.hslaStringToHsva=function(){function D(E){var P=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i,R=P.exec(E);return R?k({h:b(R[1],R[2]),s:Number(R[3]),l:Number(R[4]),a:R[5]===void 0?1:Number(R[5])/(R[6]?100:1)}):{h:0,s:0,v:0,a:1}}return D}(),I=r.hslStringToHsva=S,k=r.hslaToHsva=function(){function D(E){var P=E.h,R=E.s,j=E.l,F=E.a;return R*=(j<50?j:100-j)/100,{h:P,s:R>0?2*R/(j+R)*100:0,v:j+R,a:F}}return D}(),g=r.hsvaToHex=function(){function D(E){return y(s(E))}return D}(),u=r.hsvaToHsla=function(){function D(E){var P=E.h,R=E.s,j=E.v,F=E.a,W=(200-R)*j/100;return{h:a(P),s:a(W>0&&W<200?R*j/100/(W<=100?W:200-W)*100:0),l:a(W/2),a:a(F,2)}}return D}(),c=r.hsvaToHslString=function(){function D(E){var P=u(E),R=P.h,j=P.s,F=P.l;return"hsl("+R+", "+j+"%, "+F+"%)"}return D}(),m=r.hsvaToHsvString=function(){function D(E){var P=L(E),R=P.h,j=P.s,F=P.v;return"hsv("+R+", "+j+"%, "+F+"%)"}return D}(),l=r.hsvaToHsvaString=function(){function D(E){var P=L(E),R=P.h,j=P.s,F=P.v,W=P.a;return"hsva("+R+", "+j+"%, "+F+"%, "+W+")"}return D}(),d=r.hsvaToHslaString=function(){function D(E){var P=u(E),R=P.h,j=P.s,F=P.l,W=P.a;return"hsla("+R+", "+j+"%, "+F+"%, "+W+")"}return D}(),s=r.hsvaToRgba=function(){function D(E){var P=E.h,R=E.s,j=E.v,F=E.a;P=P/360*6,R=R/100,j=j/100;var W=Math.floor(P),z=j*(1-R),K=j*(1-(P-W)*R),G=j*(1-(1-P+W)*R),J=W%6;return{r:[j,K,z,z,G,j][J]*255,g:[G,j,j,K,z,z][J]*255,b:[z,z,G,j,j,K][J]*255,a:a(F,2)}}return D}(),i=r.hsvaToRgbString=function(){function D(E){var P=s(E),R=P.r,j=P.g,F=P.b;return"rgb("+a(R)+", "+a(j)+", "+a(F)+")"}return D}(),h=r.hsvaToRgbaString=function(){function D(E){var P=s(E),R=P.r,j=P.g,F=P.b,W=P.a;return"rgba("+a(R)+", "+a(j)+", "+a(F)+", "+a(W,2)+")"}return D}(),C=r.hsvaStringToHsva=function(){function D(E){var P=/hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i,R=P.exec(E);return R?L({h:b(R[1],R[2]),s:Number(R[3]),v:Number(R[4]),a:R[5]===void 0?1:Number(R[5])/(R[6]?100:1)}):{h:0,s:0,v:0,a:1}}return D}(),v=r.hsvStringToHsva=C,p=r.rgbaStringToHsva=function(){function D(E){var P=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i,R=P.exec(E);return R?B({r:Number(R[1])/(R[2]?100/255:1),g:Number(R[3])/(R[4]?100/255:1),b:Number(R[5])/(R[6]?100/255:1),a:R[7]===void 0?1:Number(R[7])/(R[8]?100:1)}):{h:0,s:0,v:0,a:1}}return D}(),N=r.rgbStringToHsva=p,V=function(E){var P=E.toString(16);return P.length<2?"0"+P:P},y=r.rgbaToHex=function(){function D(E){var P=E.r,R=E.g,j=E.b,F=E.a,W=F<1?V(a(F*255)):"";return"#"+V(a(P))+V(a(R))+V(a(j))+W}return D}(),B=r.rgbaToHsva=function(){function D(E){var P=E.r,R=E.g,j=E.b,F=E.a,W=Math.max(P,R,j),z=W-Math.min(P,R,j),K=z?W===P?(R-j)/z:W===R?2+(j-P)/z:4+(P-R)/z:0;return{h:60*(K<0?K+6:K),s:W?z/W*100:0,v:W/255*100,a:F}}return D}(),L=r.roundHsva=function(){function D(E){return{h:a(E.h),s:a(E.s),v:a(E.v),a:a(E.a,2)}}return D}(),w=r.rgbaToRgb=function(){function D(E){var P=E.r,R=E.g,j=E.b;return{r:P,g:R,b:j}}return D}(),x=r.hslaToHsl=function(){function D(E){var P=E.h,R=E.s,j=E.l;return{h:P,s:R,l:j}}return D}(),T=r.hsvaToHsv=function(){function D(E){var P=L(E),R=P.h,j=P.s,F=P.v;return{h:R,s:j,v:F}}return D}(),M=/^#?([0-9A-F]{3,8})$/i,O=r.validHex=function(){function D(E,P){var R=M.exec(E),j=R?R[1].length:0;return j===3||j===6||!!P&&j===4||!!P&&j===8}return D}()},92868:function(A,r){"use strict";r.__esModule=!0,r.EventEmitter=void 0;/** + */var n=1e-4,e=r.Color=function(){function D(P,R,j,F){P===void 0&&(P=0),R===void 0&&(R=0),j===void 0&&(j=0),F===void 0&&(F=1),this.r=void 0,this.g=void 0,this.b=void 0,this.a=void 0,this.r=P,this.g=R,this.b=j,this.a=F}var E=D.prototype;return E.toString=function(){function P(){return"rgba("+(this.r|0)+", "+(this.g|0)+", "+(this.b|0)+", "+(this.a|0)+")"}return P}(),D.fromHex=function(){function P(R){return new D(parseInt(R.substr(1,2),16),parseInt(R.substr(3,2),16),parseInt(R.substr(5,2),16))}return P}(),D.lerp=function(){function P(R,j,F){return new D((j.r-R.r)*F+R.r,(j.g-R.g)*F+R.g,(j.b-R.b)*F+R.b,(j.a-R.a)*F+R.a)}return P}(),D.lookup=function(){function P(R,j){j===void 0&&(j=[]);var F=j.length;if(F<2)throw new Error("Needs at least two colors!");var W=R*(F-1);if(R=1-n)return j[F-1];var z=W%1,K=W|0;return D.lerp(j[K],j[K+1],z)}return P}(),D}(),a=function(E,P,R){return P===void 0&&(P=0),R===void 0&&(R=Math.pow(10,P)),Math.round(R*E)/R},t={grad:360/400,turn:360,rad:360/(Math.PI*2)},o=r.hexToHsva=function(){function D(E){return B(f(E))}return D}(),f=r.hexToRgba=function(){function D(E){return E[0]==="#"&&(E=E.substring(1)),E.length<6?{r:parseInt(E[0]+E[0],16),g:parseInt(E[1]+E[1],16),b:parseInt(E[2]+E[2],16),a:E.length===4?a(parseInt(E[3]+E[3],16)/255,2):1}:{r:parseInt(E.substring(0,2),16),g:parseInt(E.substring(2,4),16),b:parseInt(E.substring(4,6),16),a:E.length===8?a(parseInt(E.substring(6,8),16)/255,2):1}}return D}(),b=r.parseHue=function(){function D(E,P){return P===void 0&&(P="deg"),Number(E)*(t[P]||1)}return D}(),S=r.hslaStringToHsva=function(){function D(E){var P=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i,R=P.exec(E);return R?k({h:b(R[1],R[2]),s:Number(R[3]),l:Number(R[4]),a:R[5]===void 0?1:Number(R[5])/(R[6]?100:1)}):{h:0,s:0,v:0,a:1}}return D}(),I=r.hslStringToHsva=S,k=r.hslaToHsva=function(){function D(E){var P=E.h,R=E.s,j=E.l,F=E.a;return R*=(j<50?j:100-j)/100,{h:P,s:R>0?2*R/(j+R)*100:0,v:j+R,a:F}}return D}(),g=r.hsvaToHex=function(){function D(E){return y(s(E))}return D}(),d=r.hsvaToHsla=function(){function D(E){var P=E.h,R=E.s,j=E.v,F=E.a,W=(200-R)*j/100;return{h:a(P),s:a(W>0&&W<200?R*j/100/(W<=100?W:200-W)*100:0),l:a(W/2),a:a(F,2)}}return D}(),c=r.hsvaToHslString=function(){function D(E){var P=d(E),R=P.h,j=P.s,F=P.l;return"hsl("+R+", "+j+"%, "+F+"%)"}return D}(),m=r.hsvaToHsvString=function(){function D(E){var P=L(E),R=P.h,j=P.s,F=P.v;return"hsv("+R+", "+j+"%, "+F+"%)"}return D}(),l=r.hsvaToHsvaString=function(){function D(E){var P=L(E),R=P.h,j=P.s,F=P.v,W=P.a;return"hsva("+R+", "+j+"%, "+F+"%, "+W+")"}return D}(),u=r.hsvaToHslaString=function(){function D(E){var P=d(E),R=P.h,j=P.s,F=P.l,W=P.a;return"hsla("+R+", "+j+"%, "+F+"%, "+W+")"}return D}(),s=r.hsvaToRgba=function(){function D(E){var P=E.h,R=E.s,j=E.v,F=E.a;P=P/360*6,R=R/100,j=j/100;var W=Math.floor(P),z=j*(1-R),K=j*(1-(P-W)*R),G=j*(1-(1-P+W)*R),J=W%6;return{r:[j,K,z,z,G,j][J]*255,g:[G,j,j,K,z,z][J]*255,b:[z,z,G,j,j,K][J]*255,a:a(F,2)}}return D}(),i=r.hsvaToRgbString=function(){function D(E){var P=s(E),R=P.r,j=P.g,F=P.b;return"rgb("+a(R)+", "+a(j)+", "+a(F)+")"}return D}(),h=r.hsvaToRgbaString=function(){function D(E){var P=s(E),R=P.r,j=P.g,F=P.b,W=P.a;return"rgba("+a(R)+", "+a(j)+", "+a(F)+", "+a(W,2)+")"}return D}(),C=r.hsvaStringToHsva=function(){function D(E){var P=/hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i,R=P.exec(E);return R?L({h:b(R[1],R[2]),s:Number(R[3]),v:Number(R[4]),a:R[5]===void 0?1:Number(R[5])/(R[6]?100:1)}):{h:0,s:0,v:0,a:1}}return D}(),v=r.hsvStringToHsva=C,p=r.rgbaStringToHsva=function(){function D(E){var P=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i,R=P.exec(E);return R?B({r:Number(R[1])/(R[2]?100/255:1),g:Number(R[3])/(R[4]?100/255:1),b:Number(R[5])/(R[6]?100/255:1),a:R[7]===void 0?1:Number(R[7])/(R[8]?100:1)}):{h:0,s:0,v:0,a:1}}return D}(),N=r.rgbStringToHsva=p,V=function(E){var P=E.toString(16);return P.length<2?"0"+P:P},y=r.rgbaToHex=function(){function D(E){var P=E.r,R=E.g,j=E.b,F=E.a,W=F<1?V(a(F*255)):"";return"#"+V(a(P))+V(a(R))+V(a(j))+W}return D}(),B=r.rgbaToHsva=function(){function D(E){var P=E.r,R=E.g,j=E.b,F=E.a,W=Math.max(P,R,j),z=W-Math.min(P,R,j),K=z?W===P?(R-j)/z:W===R?2+(j-P)/z:4+(P-R)/z:0;return{h:60*(K<0?K+6:K),s:W?z/W*100:0,v:W/255*100,a:F}}return D}(),L=r.roundHsva=function(){function D(E){return{h:a(E.h),s:a(E.s),v:a(E.v),a:a(E.a,2)}}return D}(),w=r.rgbaToRgb=function(){function D(E){var P=E.r,R=E.g,j=E.b;return{r:P,g:R,b:j}}return D}(),x=r.hslaToHsl=function(){function D(E){var P=E.h,R=E.s,j=E.l;return{h:P,s:R,l:j}}return D}(),T=r.hsvaToHsv=function(){function D(E){var P=L(E),R=P.h,j=P.s,F=P.v;return{h:R,s:j,v:F}}return D}(),M=/^#?([0-9A-F]{3,8})$/i,O=r.validHex=function(){function D(E,P){var R=M.exec(E),j=R?R[1].length:0;return j===3||j===6||!!P&&j===4||!!P&&j===8}return D}()},92868:function(A,r){"use strict";r.__esModule=!0,r.EventEmitter=void 0;/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var n=r.EventEmitter=function(){function e(){this.listeners={}}var a=e.prototype;return a.on=function(){function t(o,f){this.listeners[o]=this.listeners[o]||[],this.listeners[o].push(f)}return t}(),a.off=function(){function t(o,f){var b=this.listeners[o];if(!b)throw new Error('There is no listeners for "'+o+'"');this.listeners[o]=b.filter(function(S){return S!==f})}return t}(),a.emit=function(){function t(o){var f=this.listeners[o];if(f){for(var b=arguments.length,S=new Array(b>1?b-1:0),I=1;I1?b-1:0),I=1;I1?I-1:0),g=1;g1?k-1:0),u=1;u1?I-1:0),g=1;g1?k-1:0),d=1;du?u:k}return I}(),e=r.clamp01=function(){function I(k){return k<0?0:k>1?1:k}return I}(),a=r.scale=function(){function I(k,g,u){return(k-g)/(u-g)}return I}(),t=r.round=function(){function I(k,g){if(!k||isNaN(k))return k;var u,c,m,l;return g|=0,u=Math.pow(10,g),k*=u,l=+(k>0)|-(k<0),m=Math.abs(k%1)>=.4999999999854481,c=Math.floor(k),m&&(k=c+(l>0)),(m?k:Math.round(k))/u}return I}(),o=r.toFixed=function(){function I(k,g){return g===void 0&&(g=0),Number(k).toFixed(Math.max(g,0))}return I}(),f=r.inRange=function(){function I(k,g){return g&&k>=g[0]&&k<=g[1]}return I}(),b=r.keyOfMatchingRange=function(){function I(k,g){for(var u=0,c=Object.keys(g);ud?d:k}return I}(),e=r.clamp01=function(){function I(k){return k<0?0:k>1?1:k}return I}(),a=r.scale=function(){function I(k,g,d){return(k-g)/(d-g)}return I}(),t=r.round=function(){function I(k,g){if(!k||isNaN(k))return k;var d,c,m,l;return g|=0,d=Math.pow(10,g),k*=d,l=+(k>0)|-(k<0),m=Math.abs(k%1)>=.4999999999854481,c=Math.floor(k),m&&(k=c+(l>0)),(m?k:Math.round(k))/d}return I}(),o=r.toFixed=function(){function I(k,g){return g===void 0&&(g=0),Number(k).toFixed(Math.max(g,0))}return I}(),f=r.inRange=function(){function I(k,g){return g&&k>=g[0]&&k<=g[1]}return I}(),b=r.keyOfMatchingRange=function(){function I(k,g){for(var d=0,c=Object.keys(g);d1?l-1:0),s=1;s1?V-1:0),B=1;B=0;--me){var Y=this.tryEntries[me],ve=Y.completion;if(Y.tryLoc==="root")return fe("end");if(Y.tryLoc<=this.prev){var he=N.call(Y,"catchLoc"),Ve=N.call(Y,"finallyLoc");if(he&&Ve){if(this.prev=0;--fe){var me=this.tryEntries[fe];if(me.tryLoc<=this.prev&&N.call(me,"finallyLoc")&&this.prev=0;--oe){var fe=this.tryEntries[oe];if(fe.finallyLoc===re)return this.complete(fe.completion,fe.afterLoc),q(fe),R}}return ee}(),catch:function(){function ee(re){for(var oe=this.tryEntries.length-1;oe>=0;--oe){var fe=this.tryEntries[oe];if(fe.tryLoc===re){var me=fe.completion;if(me.type==="throw"){var Y=me.arg;q(fe)}return Y}}throw Error("illegal catch attempt")}return ee}(),delegateYield:function(){function ee(re,oe,fe){return this.delegate={iterator:le(re),resultName:oe,nextLoc:fe},this.method==="next"&&(this.arg=C),R}return ee}()},v}function e(C,v,p,N,V,y,B){try{var L=C[y](B),w=L.value}catch(x){return void p(x)}L.done?v(w):Promise.resolve(w).then(N,V)}function a(C){return function(){var v=this,p=arguments;return new Promise(function(N,V){var y=C.apply(v,p);function B(w){e(y,N,V,B,L,"next",w)}function L(w){e(y,N,V,B,L,"throw",w)}B(void 0)})}}/** + */var a=r.createStore=function(){function I(k,g){if(g)return g(I)(k);var d,c=[],m=function(){function s(){return d}return s}(),l=function(){function s(i){c.push(i)}return s}(),u=function(){function s(i){d=k(d,i);for(var h=0;h1?l-1:0),s=1;s1?V-1:0),B=1;B=0;--me){var Y=this.tryEntries[me],ve=Y.completion;if(Y.tryLoc==="root")return fe("end");if(Y.tryLoc<=this.prev){var he=N.call(Y,"catchLoc"),Ve=N.call(Y,"finallyLoc");if(he&&Ve){if(this.prev=0;--fe){var me=this.tryEntries[fe];if(me.tryLoc<=this.prev&&N.call(me,"finallyLoc")&&this.prev=0;--oe){var fe=this.tryEntries[oe];if(fe.finallyLoc===re)return this.complete(fe.completion,fe.afterLoc),q(fe),R}}return ee}(),catch:function(){function ee(re){for(var oe=this.tryEntries.length-1;oe>=0;--oe){var fe=this.tryEntries[oe];if(fe.tryLoc===re){var me=fe.completion;if(me.type==="throw"){var Y=me.arg;q(fe)}return Y}}throw Error("illegal catch attempt")}return ee}(),delegateYield:function(){function ee(re,oe,fe){return this.delegate={iterator:le(re),resultName:oe,nextLoc:fe},this.method==="next"&&(this.arg=C),R}return ee}()},v}function e(C,v,p,N,V,y,B){try{var L=C[y](B),w=L.value}catch(x){return void p(x)}L.done?v(w):Promise.resolve(w).then(N,V)}function a(C){return function(){var v=this,p=arguments;return new Promise(function(N,V){var y=C.apply(v,p);function B(w){e(y,N,V,B,L,"next",w)}function L(w){e(y,N,V,B,L,"throw",w)}B(void 0)})}}/** * Browser-agnostic abstraction of key-value web storage. * * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var t=r.IMPL_MEMORY=0,o=r.IMPL_HUB_STORAGE=1,f=r.IMPL_INDEXED_DB=2,b=1,S="para-tgui",I="storage-v1",k="readonly",g="readwrite",u=function(v){return function(){try{return!!v()}catch(p){return!1}}},c=u(function(){return window.hubStorage&&window.hubStorage.getItem}),m=u(function(){return(window.indexedDB||window.msIndexedDB)&&(window.IDBTransaction||window.msIDBTransaction)}),l=function(){function C(){this.impl=t,this.store={}}var v=C.prototype;return v.get=function(){var p=a(n().mark(function(){function V(y){return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:return L.abrupt("return",this.store[y]);case 1:case"end":return L.stop()}}return B}(),V,this)}return V}()));function N(V){return p.apply(this,arguments)}return N}(),v.set=function(){var p=a(n().mark(function(){function V(y,B){return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:this.store[y]=B;case 1:case"end":return w.stop()}}return L}(),V,this)}return V}()));function N(V,y){return p.apply(this,arguments)}return N}(),v.remove=function(){var p=a(n().mark(function(){function V(y){return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:this.store[y]=void 0;case 1:case"end":return L.stop()}}return B}(),V,this)}return V}()));function N(V){return p.apply(this,arguments)}return N}(),v.clear=function(){var p=a(n().mark(function(){function V(){return n().wrap(function(){function y(B){for(;;)switch(B.prev=B.next){case 0:this.store={};case 1:case"end":return B.stop()}}return y}(),V,this)}return V}()));function N(){return p.apply(this,arguments)}return N}(),C}(),d=function(){function C(){this.impl=o}var v=C.prototype;return v.get=function(){var p=a(n().mark(function(){function V(y){var B;return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,window.hubStorage.getItem("paradise-"+y);case 2:if(B=w.sent,typeof B!="string"){w.next=5;break}return w.abrupt("return",JSON.parse(B));case 5:case"end":return w.stop()}}return L}(),V)}return V}()));function N(V){return p.apply(this,arguments)}return N}(),v.set=function(){function p(N,V){window.hubStorage.setItem("paradise-"+N,JSON.stringify(V))}return p}(),v.remove=function(){function p(N){window.hubStorage.removeItem("paradise-"+N)}return p}(),v.clear=function(){function p(){window.hubStorage.clear()}return p}(),C}(),s=function(){function C(){this.impl=f,this.dbPromise=new Promise(function(p,N){var V=window.indexedDB||window.msIndexedDB,y=V.open(S,b);y.onupgradeneeded=function(){try{y.result.createObjectStore(I)}catch(B){N(new Error("Failed to upgrade IDB: "+y.error))}},y.onsuccess=function(){return p(y.result)},y.onerror=function(){N(new Error("Failed to open IDB: "+y.error))}})}var v=C.prototype;return v.getStore=function(){var p=a(n().mark(function(){function V(y){return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:return L.abrupt("return",this.dbPromise.then(function(w){return w.transaction(I,y).objectStore(I)}));case 1:case"end":return L.stop()}}return B}(),V,this)}return V}()));function N(V){return p.apply(this,arguments)}return N}(),v.get=function(){var p=a(n().mark(function(){function V(y){var B;return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.getStore(k);case 2:return B=w.sent,w.abrupt("return",new Promise(function(x,T){var M=B.get(y);M.onsuccess=function(){return x(M.result)},M.onerror=function(){return T(M.error)}}));case 4:case"end":return w.stop()}}return L}(),V,this)}return V}()));function N(V){return p.apply(this,arguments)}return N}(),v.set=function(){var p=a(n().mark(function(){function V(y,B){var L;return n().wrap(function(){function w(x){for(;;)switch(x.prev=x.next){case 0:return x.next=2,this.getStore(g);case 2:L=x.sent,L.put(B,y);case 4:case"end":return x.stop()}}return w}(),V,this)}return V}()));function N(V,y){return p.apply(this,arguments)}return N}(),v.remove=function(){var p=a(n().mark(function(){function V(y){var B;return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.getStore(g);case 2:B=w.sent,B.delete(y);case 4:case"end":return w.stop()}}return L}(),V,this)}return V}()));function N(V){return p.apply(this,arguments)}return N}(),v.clear=function(){var p=a(n().mark(function(){function V(){var y;return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:return L.next=2,this.getStore(g);case 2:y=L.sent,y.clear();case 4:case"end":return L.stop()}}return B}(),V,this)}return V}()));function N(){return p.apply(this,arguments)}return N}(),C}(),i=function(){function C(){this.backendPromise=a(n().mark(function(){function p(){var N;return n().wrap(function(){function V(y){for(;;)switch(y.prev=y.next){case 0:if(!(!Byond.TRIDENT&&c())){y.next=2;break}return y.abrupt("return",new d);case 2:if(!m()){y.next=12;break}return y.prev=3,N=new s,y.next=7,N.dbPromise;case 7:return y.abrupt("return",N);case 10:y.prev=10,y.t0=y.catch(3);case 12:return y.abrupt("return",new l);case 13:case"end":return y.stop()}}return V}(),p,null,[[3,10]])}return p}()))()}var v=C.prototype;return v.get=function(){var p=a(n().mark(function(){function V(y){var B;return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.backendPromise;case 2:return B=w.sent,w.abrupt("return",B.get(y));case 4:case"end":return w.stop()}}return L}(),V,this)}return V}()));function N(V){return p.apply(this,arguments)}return N}(),v.set=function(){var p=a(n().mark(function(){function V(y,B){var L;return n().wrap(function(){function w(x){for(;;)switch(x.prev=x.next){case 0:return x.next=2,this.backendPromise;case 2:return L=x.sent,x.abrupt("return",L.set(y,B));case 4:case"end":return x.stop()}}return w}(),V,this)}return V}()));function N(V,y){return p.apply(this,arguments)}return N}(),v.remove=function(){var p=a(n().mark(function(){function V(y){var B;return n().wrap(function(){function L(w){for(;;)switch(w.prev=w.next){case 0:return w.next=2,this.backendPromise;case 2:return B=w.sent,w.abrupt("return",B.remove(y));case 4:case"end":return w.stop()}}return L}(),V,this)}return V}()));function N(V){return p.apply(this,arguments)}return N}(),v.clear=function(){var p=a(n().mark(function(){function V(){var y;return n().wrap(function(){function B(L){for(;;)switch(L.prev=L.next){case 0:return L.next=2,this.backendPromise;case 2:return y=L.sent,L.abrupt("return",y.clear());case 4:case"end":return L.stop()}}return B}(),V,this)}return V}()));function N(){return p.apply(this,arguments)}return N}(),C}(),h=r.storage=new i},25328:function(A,r){"use strict";r.__esModule=!0,r.toTitleCase=r.multiline=r.decodeHtmlEntities=r.createSearch=r.createGlobPattern=r.capitalize=r.buildQueryString=void 0;function n(g,u){var c=typeof Symbol!="undefined"&&g[Symbol.iterator]||g["@@iterator"];if(c)return(c=c.call(g)).next.bind(c);if(Array.isArray(g)||(c=e(g))||u&&g&&typeof g.length=="number"){c&&(g=c);var m=0;return function(){return m>=g.length?{done:!0}:{done:!1,value:g[m++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(g,u){if(g){if(typeof g=="string")return a(g,u);var c={}.toString.call(g).slice(8,-1);return c==="Object"&&g.constructor&&(c=g.constructor.name),c==="Map"||c==="Set"?Array.from(g):c==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?a(g,u):void 0}}function a(g,u){(u==null||u>g.length)&&(u=g.length);for(var c=0,m=Array(u);c=g.length?{done:!0}:{done:!1,value:g[m++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function e(g,d){if(g){if(typeof g=="string")return a(g,d);var c={}.toString.call(g).slice(8,-1);return c==="Object"&&g.constructor&&(c=g.constructor.name),c==="Map"||c==="Set"?Array.from(g):c==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?a(g,d):void 0}}function a(g,d){(d==null||d>g.length)&&(d=g.length);for(var c=0,m=Array(d);c",apos:"'"};return u.replace(/
    /gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(c,function(l,d){return m[d]}).replace(/&#?([0-9]+);/gi,function(l,d){var s=parseInt(d,10);return String.fromCharCode(s)}).replace(/&#x?([0-9a-f]+);/gi,function(l,d){var s=parseInt(d,16);return String.fromCharCode(s)})}return g}(),k=r.buildQueryString=function(){function g(u){return Object.keys(u).map(function(c){return encodeURIComponent(c)+"="+encodeURIComponent(u[c])}).join("&")}return g}()},69214:function(A,r){"use strict";r.__esModule=!0,r.throttle=r.sleep=r.debounce=void 0;/** + */var t=r.multiline=function(){function g(d){if(Array.isArray(d))return g(d.join(""));for(var c=d.split("\n"),m,l=n(c),u;!(u=l()).done;)for(var s=u.value,i=0;i",apos:"'"};return d.replace(/
    /gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(c,function(l,u){return m[u]}).replace(/&#?([0-9]+);/gi,function(l,u){var s=parseInt(u,10);return String.fromCharCode(s)}).replace(/&#x?([0-9a-f]+);/gi,function(l,u){var s=parseInt(u,16);return String.fromCharCode(s)})}return g}(),k=r.buildQueryString=function(){function g(d){return Object.keys(d).map(function(c){return encodeURIComponent(c)+"="+encodeURIComponent(d[c])}).join("&")}return g}()},69214:function(A,r){"use strict";r.__esModule=!0,r.throttle=r.sleep=r.debounce=void 0;/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var n=r.debounce=function(){function t(o,f,b){b===void 0&&(b=!1);var S;return function(){for(var I=arguments.length,k=new Array(I),g=0;g=f)o.apply(null,g),b=c;else{var m;S=setTimeout(function(){return I.apply(void 0,g)},f-(c-((m=b)!=null?m:0)))}}return I}()}return t}()},97450:function(A,r,n){"use strict";r.__esModule=!0,r.vecSubtract=r.vecScale=r.vecNormalize=r.vecMultiply=r.vecLength=r.vecInverse=r.vecDivide=r.vecAdd=void 0;var e=n(88510);/** + */var n=r.debounce=function(){function t(o,f,b){b===void 0&&(b=!1);var S;return function(){for(var I=arguments.length,k=new Array(I),g=0;g=f)o.apply(null,g),b=c;else{var m;S=setTimeout(function(){return I.apply(void 0,g)},f-(c-((m=b)!=null?m:0)))}}return I}()}return t}()},97450:function(A,r,n){"use strict";r.__esModule=!0,r.vecSubtract=r.vecScale=r.vecNormalize=r.vecMultiply=r.vecLength=r.vecInverse=r.vecDivide=r.vecAdd=void 0;var e=n(88510);/** * N-dimensional vector manipulation functions. * * Vectors are plain number arrays, i.e. [x, y, z]. @@ -62,11 +62,11 @@ * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var a=function(d,s){return d+s},t=function(d,s){return d-s},o=function(d,s){return d*s},f=function(d,s){return d/s},b=r.vecAdd=function(){function l(){for(var d=arguments.length,s=new Array(d),i=0;i0&&(N.style=T),N}return v}(),h=r.computeBoxClassName=function(){function v(p){var N=p.textColor||p.color,V=p.backgroundColor;return(0,e.classes)([g(N)&&"color-"+N,g(V)&&"color-bg-"+V])}return v}(),C=r.Box=function(){function v(p){var N=p.as,V=N===void 0?"div":N,y=p.className,B=p.children,L=b(p,f);if(typeof B=="function")return B(i(p));var w=typeof y=="string"?y+" "+h(L):h(L),x=i(L);return(0,a.createVNode)(t.VNodeFlags.HtmlElement,V,w,B,t.ChildFlags.UnknownChildren,x)}return v}();C.defaultHooks=e.pureComponentHooks},96184:function(A,r,n){"use strict";r.__esModule=!0,r.ButtonInput=r.ButtonConfirm=r.ButtonCheckbox=r.Button=void 0;var e=n(89005),a=n(35840),t=n(92986),o=n(9394),f=n(55937),b=n(1331),S=n(62147),I=["className","fluid","translucent","icon","iconRotation","iconSpin","color","textColor","disabled","selected","tooltip","tooltipPosition","ellipsis","compact","circular","content","iconColor","iconRight","iconStyle","children","onclick","onClick","multiLine"],k=["checked"],g=["confirmContent","confirmColor","confirmIcon","icon","color","content","onClick"],u=["fluid","content","icon","iconRotation","iconSpin","tooltip","tooltipPosition","color","disabled","multiLine"];/** + */function b(v,p){if(v==null)return{};var N={};for(var V in v)if({}.hasOwnProperty.call(v,V)){if(p.includes(V))continue;N[V]=v[V]}return N}var S=r.unit=function(){function v(p){if(typeof p=="string")return p.endsWith("px")?parseFloat(p)/12+"rem":p;if(typeof p=="number")return p+"rem"}return v}(),I=r.halfUnit=function(){function v(p){if(typeof p=="string")return S(p);if(typeof p=="number")return S(p*.5)}return v}(),k=function(p){return!g(p)},g=function(p){if(typeof p=="string")return o.CSS_COLORS.includes(p)},d=function(p){return function(N,V){(typeof V=="number"||typeof V=="string")&&(N[p]=V)}},c=function(p,N){return function(V,y){(typeof y=="number"||typeof y=="string")&&(V[p]=N(y))}},m=function(p,N){return function(V,y){y&&(V[p]=N)}},l=function(p,N,V){return function(y,B){if(typeof B=="number"||typeof B=="string")for(var L=0;L0&&(N.style=T),N}return v}(),h=r.computeBoxClassName=function(){function v(p){var N=p.textColor||p.color,V=p.backgroundColor;return(0,e.classes)([g(N)&&"color-"+N,g(V)&&"color-bg-"+V])}return v}(),C=r.Box=function(){function v(p){var N=p.as,V=N===void 0?"div":N,y=p.className,B=p.children,L=b(p,f);if(typeof B=="function")return B(i(p));var w=typeof y=="string"?y+" "+h(L):h(L),x=i(L);return(0,a.createVNode)(t.VNodeFlags.HtmlElement,V,w,B,t.ChildFlags.UnknownChildren,x)}return v}();C.defaultHooks=e.pureComponentHooks},96184:function(A,r,n){"use strict";r.__esModule=!0,r.ButtonInput=r.ButtonConfirm=r.ButtonCheckbox=r.Button=void 0;var e=n(89005),a=n(35840),t=n(92986),o=n(9394),f=n(55937),b=n(1331),S=n(62147),I=["className","fluid","translucent","icon","iconRotation","iconSpin","color","textColor","disabled","selected","tooltip","tooltipPosition","ellipsis","compact","circular","content","iconColor","iconRight","iconStyle","children","onclick","onClick","multiLine"],k=["checked"],g=["confirmContent","confirmColor","confirmIcon","icon","color","content","onClick"],d=["fluid","content","icon","iconRotation","iconSpin","tooltip","tooltipPosition","color","disabled","multiLine"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function c(v,p){v.prototype=Object.create(p.prototype),v.prototype.constructor=v,m(v,p)}function m(v,p){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(N,V){return N.__proto__=V,N},m(v,p)}function l(v,p){if(v==null)return{};var N={};for(var V in v)if({}.hasOwnProperty.call(v,V)){if(p.includes(V))continue;N[V]=v[V]}return N}var d=(0,o.createLogger)("Button"),s=r.Button=function(){function v(p){var N=p.className,V=p.fluid,y=p.translucent,B=p.icon,L=p.iconRotation,w=p.iconSpin,x=p.color,T=p.textColor,M=p.disabled,O=p.selected,D=p.tooltip,E=p.tooltipPosition,P=p.ellipsis,R=p.compact,j=p.circular,F=p.content,W=p.iconColor,z=p.iconRight,K=p.iconStyle,G=p.children,J=p.onclick,Q=p.onClick,ue=p.multiLine,ie=l(p,I),pe=!!(F||G);J&&d.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"),ie.onClick=function(q){!M&&Q&&Q(q)};var te=(0,e.normalizeProps)((0,e.createComponentVNode)(2,f.Box,Object.assign({className:(0,a.classes)(["Button",V&&"Button--fluid",M&&"Button--disabled"+(y?"--translucent":""),O&&"Button--selected"+(y?"--translucent":""),pe&&"Button--hasContent",P&&"Button--ellipsis",j&&"Button--circular",R&&"Button--compact",z&&"Button--iconRight",ue&&"Button--multiLine",x&&typeof x=="string"?"Button--color--"+x+(y?"--translucent":""):"Button--color--default"+(y?"--translucent":""),N]),tabIndex:!M&&"0",color:T,onKeyDown:function(){function q(ne){var le=window.event?ne.which:ne.keyCode;if(le===t.KEY_SPACE||le===t.KEY_ENTER){ne.preventDefault(),!M&&Q&&Q(ne);return}if(le===t.KEY_ESCAPE){ne.preventDefault();return}}return q}()},ie,{children:[B&&!z&&(0,e.createComponentVNode)(2,b.Icon,{name:B,color:W,rotation:L,spin:w,style:K}),F,G,B&&z&&(0,e.createComponentVNode)(2,b.Icon,{name:B,color:W,rotation:L,spin:w,style:K})]})));return D&&(te=(0,e.createComponentVNode)(2,S.Tooltip,{content:D,position:E,children:te})),te}return v}();s.defaultHooks=a.pureComponentHooks;var i=r.ButtonCheckbox=function(){function v(p){var N=p.checked,V=l(p,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,s,Object.assign({color:"transparent",icon:N?"check-square-o":"square-o",selected:N},V)))}return v}();s.Checkbox=i;var h=r.ButtonConfirm=function(v){function p(){var V;return V=v.call(this)||this,V.handleClick=function(){V.state.clickedOnce&&V.setClickedOnce(!1)},V.state={clickedOnce:!1},V}c(p,v);var N=p.prototype;return N.setClickedOnce=function(){function V(y){var B=this;this.setState({clickedOnce:y}),y?setTimeout(function(){return window.addEventListener("click",B.handleClick)}):window.removeEventListener("click",this.handleClick)}return V}(),N.render=function(){function V(){var y=this,B=this.props,L=B.confirmContent,w=L===void 0?"Confirm?":L,x=B.confirmColor,T=x===void 0?"bad":x,M=B.confirmIcon,O=B.icon,D=B.color,E=B.content,P=B.onClick,R=l(B,g);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,s,Object.assign({content:this.state.clickedOnce?w:E,icon:this.state.clickedOnce?M:O,color:this.state.clickedOnce?T:D,onClick:function(){function j(F){return y.state.clickedOnce?P==null?void 0:P(F):y.setClickedOnce(!0)}return j}()},R)))}return V}(),p}(e.Component);s.Confirm=h;var C=r.ButtonInput=function(v){function p(){var V;return V=v.call(this)||this,V.inputRef=void 0,V.inputRef=(0,e.createRef)(),V.state={inInput:!1},V}c(p,v);var N=p.prototype;return N.setInInput=function(){function V(y){var B=this.props.disabled;if(!B&&(this.setState({inInput:y}),this.inputRef)){var L=this.inputRef.current;if(y){L.value=this.props.currentValue||"";try{L.focus(),L.select()}catch(w){}}}}return V}(),N.commitResult=function(){function V(y){if(this.inputRef){var B=this.inputRef.current,L=B.value!=="";if(L){this.props.onCommit(y,B.value);return}else{if(!this.props.defaultValue)return;this.props.onCommit(y,this.props.defaultValue)}}}return V}(),N.render=function(){function V(){var y=this,B=this.props,L=B.fluid,w=B.content,x=B.icon,T=B.iconRotation,M=B.iconSpin,O=B.tooltip,D=B.tooltipPosition,E=B.color,P=E===void 0?"default":E,R=B.disabled,j=B.multiLine,F=l(B,u),W=(0,e.normalizeProps)((0,e.createComponentVNode)(2,f.Box,Object.assign({className:(0,a.classes)(["Button",L&&"Button--fluid",R&&"Button--disabled","Button--color--"+P,j+"Button--multiLine"])},F,{onClick:function(){function z(){return y.setInInput(!0)}return z}(),children:[x&&(0,e.createComponentVNode)(2,b.Icon,{name:x,rotation:T,spin:M}),(0,e.createVNode)(1,"div",null,w,0),(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?void 0:"none","text-align":"left"},onBlur:function(){function z(K){y.state.inInput&&(y.setInInput(!1),y.commitResult(K))}return z}(),onKeyDown:function(){function z(K){if(K.keyCode===t.KEY_ENTER){y.setInInput(!1),y.commitResult(K);return}K.keyCode===t.KEY_ESCAPE&&y.setInInput(!1)}return z}()},null,this.inputRef)]})));return O&&(W=(0,e.createComponentVNode)(2,S.Tooltip,{content:O,position:D,children:W})),W}return V}(),p}(e.Component);s.Input=C},18982:function(A,r,n){"use strict";r.__esModule=!0,r.ByondUi=void 0;var e=n(89005),a=n(35840),t=n(69214),o=n(9394),f=n(55937),b=["params"],S=["params"],I=["parent","params"];function k(h,C){if(h==null)return{};var v={};for(var p in h)if({}.hasOwnProperty.call(h,p)){if(C.includes(p))continue;v[p]=h[p]}return v}function g(h,C){h.prototype=Object.create(C.prototype),h.prototype.constructor=h,u(h,C)}function u(h,C){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(v,p){return v.__proto__=p,v},u(h,C)}/** + */function c(v,p){v.prototype=Object.create(p.prototype),v.prototype.constructor=v,m(v,p)}function m(v,p){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(N,V){return N.__proto__=V,N},m(v,p)}function l(v,p){if(v==null)return{};var N={};for(var V in v)if({}.hasOwnProperty.call(v,V)){if(p.includes(V))continue;N[V]=v[V]}return N}var u=(0,o.createLogger)("Button"),s=r.Button=function(){function v(p){var N=p.className,V=p.fluid,y=p.translucent,B=p.icon,L=p.iconRotation,w=p.iconSpin,x=p.color,T=p.textColor,M=p.disabled,O=p.selected,D=p.tooltip,E=p.tooltipPosition,P=p.ellipsis,R=p.compact,j=p.circular,F=p.content,W=p.iconColor,z=p.iconRight,K=p.iconStyle,G=p.children,J=p.onclick,Q=p.onClick,ue=p.multiLine,ie=l(p,I),pe=!!(F||G);J&&u.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"),ie.onClick=function(q){!M&&Q&&Q(q)};var te=(0,e.normalizeProps)((0,e.createComponentVNode)(2,f.Box,Object.assign({className:(0,a.classes)(["Button",V&&"Button--fluid",M&&"Button--disabled"+(y?"--translucent":""),O&&"Button--selected"+(y?"--translucent":""),pe&&"Button--hasContent",P&&"Button--ellipsis",j&&"Button--circular",R&&"Button--compact",z&&"Button--iconRight",ue&&"Button--multiLine",x&&typeof x=="string"?"Button--color--"+x+(y?"--translucent":""):"Button--color--default"+(y?"--translucent":""),N]),tabIndex:!M&&"0",color:T,onKeyDown:function(){function q(ne){var le=window.event?ne.which:ne.keyCode;if(le===t.KEY_SPACE||le===t.KEY_ENTER){ne.preventDefault(),!M&&Q&&Q(ne);return}if(le===t.KEY_ESCAPE){ne.preventDefault();return}}return q}()},ie,{children:[B&&!z&&(0,e.createComponentVNode)(2,b.Icon,{name:B,color:W,rotation:L,spin:w,style:K}),F,G,B&&z&&(0,e.createComponentVNode)(2,b.Icon,{name:B,color:W,rotation:L,spin:w,style:K})]})));return D&&(te=(0,e.createComponentVNode)(2,S.Tooltip,{content:D,position:E,children:te})),te}return v}();s.defaultHooks=a.pureComponentHooks;var i=r.ButtonCheckbox=function(){function v(p){var N=p.checked,V=l(p,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,s,Object.assign({color:"transparent",icon:N?"check-square-o":"square-o",selected:N},V)))}return v}();s.Checkbox=i;var h=r.ButtonConfirm=function(v){function p(){var V;return V=v.call(this)||this,V.handleClick=function(){V.state.clickedOnce&&V.setClickedOnce(!1)},V.state={clickedOnce:!1},V}c(p,v);var N=p.prototype;return N.setClickedOnce=function(){function V(y){var B=this;this.setState({clickedOnce:y}),y?setTimeout(function(){return window.addEventListener("click",B.handleClick)}):window.removeEventListener("click",this.handleClick)}return V}(),N.render=function(){function V(){var y=this,B=this.props,L=B.confirmContent,w=L===void 0?"Confirm?":L,x=B.confirmColor,T=x===void 0?"bad":x,M=B.confirmIcon,O=B.icon,D=B.color,E=B.content,P=B.onClick,R=l(B,g);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,s,Object.assign({content:this.state.clickedOnce?w:E,icon:this.state.clickedOnce?M:O,color:this.state.clickedOnce?T:D,onClick:function(){function j(F){return y.state.clickedOnce?P==null?void 0:P(F):y.setClickedOnce(!0)}return j}()},R)))}return V}(),p}(e.Component);s.Confirm=h;var C=r.ButtonInput=function(v){function p(){var V;return V=v.call(this)||this,V.inputRef=void 0,V.inputRef=(0,e.createRef)(),V.state={inInput:!1},V}c(p,v);var N=p.prototype;return N.setInInput=function(){function V(y){var B=this.props.disabled;if(!B&&(this.setState({inInput:y}),this.inputRef)){var L=this.inputRef.current;if(y){L.value=this.props.currentValue||"";try{L.focus(),L.select()}catch(w){}}}}return V}(),N.commitResult=function(){function V(y){if(this.inputRef){var B=this.inputRef.current,L=B.value!=="";if(L){this.props.onCommit(y,B.value);return}else{if(!this.props.defaultValue)return;this.props.onCommit(y,this.props.defaultValue)}}}return V}(),N.render=function(){function V(){var y=this,B=this.props,L=B.fluid,w=B.content,x=B.icon,T=B.iconRotation,M=B.iconSpin,O=B.tooltip,D=B.tooltipPosition,E=B.color,P=E===void 0?"default":E,R=B.disabled,j=B.multiLine,F=l(B,d),W=(0,e.normalizeProps)((0,e.createComponentVNode)(2,f.Box,Object.assign({className:(0,a.classes)(["Button",L&&"Button--fluid",R&&"Button--disabled","Button--color--"+P,j+"Button--multiLine"])},F,{onClick:function(){function z(){return y.setInInput(!0)}return z}(),children:[x&&(0,e.createComponentVNode)(2,b.Icon,{name:x,rotation:T,spin:M}),(0,e.createVNode)(1,"div",null,w,0),(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?void 0:"none","text-align":"left"},onBlur:function(){function z(K){y.state.inInput&&(y.setInInput(!1),y.commitResult(K))}return z}(),onKeyDown:function(){function z(K){if(K.keyCode===t.KEY_ENTER){y.setInInput(!1),y.commitResult(K);return}K.keyCode===t.KEY_ESCAPE&&y.setInInput(!1)}return z}()},null,this.inputRef)]})));return O&&(W=(0,e.createComponentVNode)(2,S.Tooltip,{content:O,position:D,children:W})),W}return V}(),p}(e.Component);s.Input=C},18982:function(A,r,n){"use strict";r.__esModule=!0,r.ByondUi=void 0;var e=n(89005),a=n(35840),t=n(69214),o=n(9394),f=n(55937),b=["params"],S=["params"],I=["parent","params"];function k(h,C){if(h==null)return{};var v={};for(var p in h)if({}.hasOwnProperty.call(h,p)){if(C.includes(p))continue;v[p]=h[p]}return v}function g(h,C){h.prototype=Object.create(C.prototype),h.prototype.constructor=h,d(h,C)}function d(h,C){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(v,p){return v.__proto__=p,v},d(h,C)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var c=(0,o.createLogger)("ByondUi"),m=[],l=function(C){var v=m.length;m.push(null);var p=C||"byondui_"+v;return c.log("allocated '"+p+"'"),{render:function(){function N(V){c.log("rendering '"+p+"'"),m[v]=p,Byond.winset(p,V)}return N}(),unmount:function(){function N(){c.log("unmounting '"+p+"'"),m[v]=null,Byond.winset(p,{parent:""})}return N}()}};window.addEventListener("beforeunload",function(){for(var h=0;h0){var E=D[0],P=D[D.length-1];D.push([O[0]+T,P[1]]),D.push([O[0]+T,-T]),D.push([-T,-T]),D.push([-T,E[1]])}var R=g(D);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({position:"relative"},M,{children:function(){function j(F){return(0,e.normalizeProps)((0,e.createVNode)(1,"div",null,(0,e.createVNode)(32,"svg",null,(0,e.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+O[1]+")",fill:B,stroke:w,"stroke-width":T,points:R}),2,{viewBox:"0 0 "+O[0]+" "+O[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},F),null,h.ref))}return j}()})))}return i}(),d}(e.Component);u.defaultHooks=t.pureComponentHooks;var c=function(d){return null},m=r.Chart={Line:u}},4796:function(A,r,n){"use strict";r.__esModule=!0,r.Collapsible=void 0;var e=n(89005),a=n(55937),t=n(96184),o=["children","color","title","buttons","contentStyle"];function f(k,g){if(k==null)return{};var u={};for(var c in k)if({}.hasOwnProperty.call(k,c)){if(g.includes(c))continue;u[c]=k[c]}return u}function b(k,g){k.prototype=Object.create(g.prototype),k.prototype.constructor=k,S(k,g)}function S(k,g){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(u,c){return u.__proto__=c,u},S(k,g)}/** +*/var k=function(u,s,i,h){if(u.length===0)return[];var C=(0,a.zipWith)(Math.min).apply(void 0,u),v=(0,a.zipWith)(Math.max).apply(void 0,u);i!==void 0&&(C[0]=i[0],v[0]=i[1]),h!==void 0&&(C[1]=h[0],v[1]=h[1]);var p=(0,a.map)(function(N){return(0,a.zipWith)(function(V,y,B,L){return(V-y)/(B-y)*L})(N,C,v,s)})(u);return p},g=function(u){for(var s="",i=0;i0){var E=D[0],P=D[D.length-1];D.push([O[0]+T,P[1]]),D.push([O[0]+T,-T]),D.push([-T,-T]),D.push([-T,E[1]])}var R=g(D);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({position:"relative"},M,{children:function(){function j(F){return(0,e.normalizeProps)((0,e.createVNode)(1,"div",null,(0,e.createVNode)(32,"svg",null,(0,e.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+O[1]+")",fill:B,stroke:w,"stroke-width":T,points:R}),2,{viewBox:"0 0 "+O[0]+" "+O[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},F),null,h.ref))}return j}()})))}return i}(),u}(e.Component);d.defaultHooks=t.pureComponentHooks;var c=function(u){return null},m=r.Chart={Line:d}},4796:function(A,r,n){"use strict";r.__esModule=!0,r.Collapsible=void 0;var e=n(89005),a=n(55937),t=n(96184),o=["children","color","title","buttons","contentStyle"];function f(k,g){if(k==null)return{};var d={};for(var c in k)if({}.hasOwnProperty.call(k,c)){if(g.includes(c))continue;d[c]=k[c]}return d}function b(k,g){k.prototype=Object.create(g.prototype),k.prototype.constructor=k,S(k,g)}function S(k,g){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(d,c){return d.__proto__=c,d},S(k,g)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var I=r.Collapsible=function(k){function g(c){var m;m=k.call(this,c)||this;var l=c.open;return m.state={open:l||!1},m}b(g,k);var u=g.prototype;return u.render=function(){function c(){var m=this,l=this.props,d=this.state.open,s=l.children,i=l.color,h=i===void 0?"default":i,C=l.title,v=l.buttons,p=l.contentStyle,N=f(l,o);return(0,e.createComponentVNode)(2,a.Box,{className:"Collapsible",children:[(0,e.createVNode)(1,"div","Table",[(0,e.createVNode)(1,"div","Table__cell",(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Button,Object.assign({fluid:!0,color:h,icon:d?"chevron-down":"chevron-right",onClick:function(){function V(){return m.setState({open:!d})}return V}()},N,{children:C}))),2),v&&(0,e.createVNode)(1,"div","Table__cell Table__cell--collapsing",v,0)],0),d&&(0,e.createComponentVNode)(2,a.Box,{mt:1,style:p,children:s})]})}return c}(),g}(e.Component)},88894:function(A,r,n){"use strict";r.__esModule=!0,r.ColorBox=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["content","children","className","color","backgroundColor"];/** +*/var I=r.Collapsible=function(k){function g(c){var m;m=k.call(this,c)||this;var l=c.open;return m.state={open:l||!1},m}b(g,k);var d=g.prototype;return d.render=function(){function c(){var m=this,l=this.props,u=this.state.open,s=l.children,i=l.color,h=i===void 0?"default":i,C=l.title,v=l.buttons,p=l.contentStyle,N=f(l,o);return(0,e.createComponentVNode)(2,a.Box,{className:"Collapsible",children:[(0,e.createVNode)(1,"div","Table",[(0,e.createVNode)(1,"div","Table__cell",(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Button,Object.assign({fluid:!0,color:h,icon:u?"chevron-down":"chevron-right",onClick:function(){function V(){return m.setState({open:!u})}return V}()},N,{children:C}))),2),v&&(0,e.createVNode)(1,"div","Table__cell Table__cell--collapsing",v,0)],0),u&&(0,e.createComponentVNode)(2,a.Box,{mt:1,style:p,children:s})]})}return c}(),g}(e.Component)},88894:function(A,r,n){"use strict";r.__esModule=!0,r.ColorBox=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["content","children","className","color","backgroundColor"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function f(S,I){if(S==null)return{};var k={};for(var g in S)if({}.hasOwnProperty.call(S,g)){if(I.includes(g))continue;k[g]=S[g]}return k}var b=r.ColorBox=function(){function S(I){var k=I.content,g=I.children,u=I.className,c=I.color,m=I.backgroundColor,l=f(I,o);return l.color=k?null:"transparent",l.backgroundColor=c||m,(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["ColorBox",u,(0,t.computeBoxClassName)(l)]),k||".",0,Object.assign({},(0,t.computeBoxProps)(l))))}return S}();b.defaultHooks=a.pureComponentHooks},73379:function(A,r,n){"use strict";r.__esModule=!0,r.Countdown=void 0;var e=n(89005),a=n(55937),t=["format"];function o(I,k){if(I==null)return{};var g={};for(var u in I)if({}.hasOwnProperty.call(I,u)){if(k.includes(u))continue;g[u]=I[u]}return g}function f(I,k){I.prototype=Object.create(k.prototype),I.prototype.constructor=I,b(I,k)}function b(I,k){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(g,u){return g.__proto__=u,g},b(I,k)}var S=r.Countdown=function(I){function k(u){var c;return c=I.call(this,u)||this,c.timer=null,c.state={value:Math.max(u.timeLeft*100,0)},c}f(k,I);var g=k.prototype;return g.tick=function(){function u(){var c=Math.max(this.state.value-this.props.rate,0);c<=0&&clearInterval(this.timer),this.setState(function(m){return{value:c}})}return u}(),g.componentDidMount=function(){function u(){var c=this;this.timer=setInterval(function(){return c.tick()},this.props.rate)}return u}(),g.componentWillUnmount=function(){function u(){clearInterval(this.timer)}return u}(),g.componentDidUpdate=function(){function u(c){var m=this;this.props.current!==c.current&&this.setState(function(l){return{value:Math.max(m.props.timeLeft*100,0)}}),this.timer||this.componentDidMount()}return u}(),g.render=function(){function u(){var c=this.props,m=c.format,l=o(c,t),d=new Date(this.state.value).toISOString().slice(11,19);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({as:"span"},l,{children:m?m(this.state.value,d):d})))}return u}(),k}(e.Component);S.defaultProps={rate:1e3}},61940:function(A,r,n){"use strict";r.__esModule=!0,r.Dimmer=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","children"];/** + */function f(S,I){if(S==null)return{};var k={};for(var g in S)if({}.hasOwnProperty.call(S,g)){if(I.includes(g))continue;k[g]=S[g]}return k}var b=r.ColorBox=function(){function S(I){var k=I.content,g=I.children,d=I.className,c=I.color,m=I.backgroundColor,l=f(I,o);return l.color=k?null:"transparent",l.backgroundColor=c||m,(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["ColorBox",d,(0,t.computeBoxClassName)(l)]),k||".",0,Object.assign({},(0,t.computeBoxProps)(l))))}return S}();b.defaultHooks=a.pureComponentHooks},73379:function(A,r,n){"use strict";r.__esModule=!0,r.Countdown=void 0;var e=n(89005),a=n(55937),t=["format"];function o(I,k){if(I==null)return{};var g={};for(var d in I)if({}.hasOwnProperty.call(I,d)){if(k.includes(d))continue;g[d]=I[d]}return g}function f(I,k){I.prototype=Object.create(k.prototype),I.prototype.constructor=I,b(I,k)}function b(I,k){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(g,d){return g.__proto__=d,g},b(I,k)}var S=r.Countdown=function(I){function k(d){var c;return c=I.call(this,d)||this,c.timer=null,c.state={value:Math.max(d.timeLeft*100,0)},c}f(k,I);var g=k.prototype;return g.tick=function(){function d(){var c=Math.max(this.state.value-this.props.rate,0);c<=0&&clearInterval(this.timer),this.setState(function(m){return{value:c}})}return d}(),g.componentDidMount=function(){function d(){var c=this;this.timer=setInterval(function(){return c.tick()},this.props.rate)}return d}(),g.componentWillUnmount=function(){function d(){clearInterval(this.timer)}return d}(),g.componentDidUpdate=function(){function d(c){var m=this;this.props.current!==c.current&&this.setState(function(l){return{value:Math.max(m.props.timeLeft*100,0)}}),this.timer||this.componentDidMount()}return d}(),g.render=function(){function d(){var c=this.props,m=c.format,l=o(c,t),u=new Date(this.state.value).toISOString().slice(11,19);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({as:"span"},l,{children:m?m(this.state.value,u):u})))}return d}(),k}(e.Component);S.defaultProps={rate:1e3}},61940:function(A,r,n){"use strict";r.__esModule=!0,r.Dimmer=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","children"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function f(S,I){if(S==null)return{};var k={};for(var g in S)if({}.hasOwnProperty.call(S,g)){if(I.includes(g))continue;k[g]=S[g]}return k}var b=r.Dimmer=function(){function S(I){var k=I.className,g=I.children,u=f(I,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["Dimmer"].concat(k))},u,{children:(0,e.createVNode)(1,"div","Dimmer__inner",g,0)})))}return S}()},13605:function(A,r,n){"use strict";r.__esModule=!0,r.Divider=void 0;var e=n(89005),a=n(35840);/** + */function f(S,I){if(S==null)return{};var k={};for(var g in S)if({}.hasOwnProperty.call(S,g)){if(I.includes(g))continue;k[g]=S[g]}return k}var b=r.Dimmer=function(){function S(I){var k=I.className,g=I.children,d=f(I,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["Dimmer"].concat(k))},d,{children:(0,e.createVNode)(1,"div","Dimmer__inner",g,0)})))}return S}()},13605:function(A,r,n){"use strict";r.__esModule=!0,r.Divider=void 0;var e=n(89005),a=n(35840);/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var t=r.Divider=function(){function o(f){var b=f.vertical,S=f.hidden;return(0,e.createVNode)(1,"div",(0,a.classes)(["Divider",S&&"Divider--hidden",b?"Divider--vertical":"Divider--horizontal"]))}return o}()},60218:function(A,r,n){"use strict";r.__esModule=!0,r.DmIcon=void 0;var e=n(89005),a=n(79140),t=n(46085),o=n(91225),f=["className","direction","fallback","frame","icon_state","movement"];function b(d,s){if(d==null)return{};var i={};for(var h in d)if({}.hasOwnProperty.call(d,h)){if(s.includes(h))continue;i[h]=d[h]}return i}function S(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */S=function(){return s};var d,s={},i=Object.prototype,h=i.hasOwnProperty,C=Object.defineProperty||function(te,q,ne){te[q]=ne.value},v=typeof Symbol=="function"?Symbol:{},p=v.iterator||"@@iterator",N=v.asyncIterator||"@@asyncIterator",V=v.toStringTag||"@@toStringTag";function y(te,q,ne){return Object.defineProperty(te,q,{value:ne,enumerable:!0,configurable:!0,writable:!0}),te[q]}try{y({},"")}catch(te){y=function(ne,le,ee){return ne[le]=ee}}function B(te,q,ne,le){var ee=q&&q.prototype instanceof D?q:D,re=Object.create(ee.prototype),oe=new ie(le||[]);return C(re,"_invoke",{value:G(te,ne,oe)}),re}function L(te,q,ne){try{return{type:"normal",arg:te.call(q,ne)}}catch(le){return{type:"throw",arg:le}}}s.wrap=B;var w="suspendedStart",x="suspendedYield",T="executing",M="completed",O={};function D(){}function E(){}function P(){}var R={};y(R,p,function(){return this});var j=Object.getPrototypeOf,F=j&&j(j(pe([])));F&&F!==i&&h.call(F,p)&&(R=F);var W=P.prototype=D.prototype=Object.create(R);function z(te){["next","throw","return"].forEach(function(q){y(te,q,function(ne){return this._invoke(q,ne)})})}function K(te,q){function ne(ee,re,oe,fe){var me=L(te[ee],te,re);if(me.type!=="throw"){var Y=me.arg,ve=Y.value;return ve&&typeof ve=="object"&&h.call(ve,"__await")?q.resolve(ve.__await).then(function(he){ne("next",he,oe,fe)},function(he){ne("throw",he,oe,fe)}):q.resolve(ve).then(function(he){Y.value=he,oe(Y)},function(he){return ne("throw",he,oe,fe)})}fe(me.arg)}var le;C(this,"_invoke",{value:function(){function ee(re,oe){function fe(){return new q(function(me,Y){ne(re,oe,me,Y)})}return le=le?le.then(fe,fe):fe()}return ee}()})}function G(te,q,ne){var le=w;return function(ee,re){if(le===T)throw Error("Generator is already running");if(le===M){if(ee==="throw")throw re;return{value:d,done:!0}}for(ne.method=ee,ne.arg=re;;){var oe=ne.delegate;if(oe){var fe=J(oe,ne);if(fe){if(fe===O)continue;return fe}}if(ne.method==="next")ne.sent=ne._sent=ne.arg;else if(ne.method==="throw"){if(le===w)throw le=M,ne.arg;ne.dispatchException(ne.arg)}else ne.method==="return"&&ne.abrupt("return",ne.arg);le=T;var me=L(te,q,ne);if(me.type==="normal"){if(le=ne.done?M:x,me.arg===O)continue;return{value:me.arg,done:ne.done}}me.type==="throw"&&(le=M,ne.method="throw",ne.arg=me.arg)}}}function J(te,q){var ne=q.method,le=te.iterator[ne];if(le===d)return q.delegate=null,ne==="throw"&&te.iterator.return&&(q.method="return",q.arg=d,J(te,q),q.method==="throw")||ne!=="return"&&(q.method="throw",q.arg=new TypeError("The iterator does not provide a '"+ne+"' method")),O;var ee=L(le,te.iterator,q.arg);if(ee.type==="throw")return q.method="throw",q.arg=ee.arg,q.delegate=null,O;var re=ee.arg;return re?re.done?(q[te.resultName]=re.value,q.next=te.nextLoc,q.method!=="return"&&(q.method="next",q.arg=d),q.delegate=null,O):re:(q.method="throw",q.arg=new TypeError("iterator result is not an object"),q.delegate=null,O)}function Q(te){var q={tryLoc:te[0]};1 in te&&(q.catchLoc=te[1]),2 in te&&(q.finallyLoc=te[2],q.afterLoc=te[3]),this.tryEntries.push(q)}function ue(te){var q=te.completion||{};q.type="normal",delete q.arg,te.completion=q}function ie(te){this.tryEntries=[{tryLoc:"root"}],te.forEach(Q,this),this.reset(!0)}function pe(te){if(te||te===""){var q=te[p];if(q)return q.call(te);if(typeof te.next=="function")return te;if(!isNaN(te.length)){var ne=-1,le=function(){function ee(){for(;++ne=0;--ee){var re=this.tryEntries[ee],oe=re.completion;if(re.tryLoc==="root")return le("end");if(re.tryLoc<=this.prev){var fe=h.call(re,"catchLoc"),me=h.call(re,"finallyLoc");if(fe&&me){if(this.prev=0;--le){var ee=this.tryEntries[le];if(ee.tryLoc<=this.prev&&h.call(ee,"finallyLoc")&&this.prev=0;--ne){var le=this.tryEntries[ne];if(le.finallyLoc===q)return this.complete(le.completion,le.afterLoc),ue(le),O}}return te}(),catch:function(){function te(q){for(var ne=this.tryEntries.length-1;ne>=0;--ne){var le=this.tryEntries[ne];if(le.tryLoc===q){var ee=le.completion;if(ee.type==="throw"){var re=ee.arg;ue(le)}return re}}throw Error("illegal catch attempt")}return te}(),delegateYield:function(){function te(q,ne,le){return this.delegate={iterator:pe(q),resultName:ne,nextLoc:le},this.method==="next"&&(this.arg=d),O}return te}()},s}function I(d,s,i,h,C,v,p){try{var N=d[v](p),V=N.value}catch(y){return void i(y)}N.done?s(V):Promise.resolve(V).then(h,C)}function k(d){return function(){var s=this,i=arguments;return new Promise(function(h,C){var v=d.apply(s,i);function p(V){I(v,h,C,p,N,"next",V)}function N(V){I(v,h,C,p,N,"throw",V)}p(void 0)})}}function g(d,s){d.prototype=Object.create(s.prototype),d.prototype.constructor=d,u(d,s)}function u(d,s){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,h){return i.__proto__=h,i},u(d,s)}var c=function(d){return d[d.NORTH=1]="NORTH",d[d.SOUTH=2]="SOUTH",d[d.EAST=4]="EAST",d[d.WEST=8]="WEST",d[d.NORTHEAST=5]="NORTHEAST",d[d.NORTHWEST=9]="NORTHWEST",d[d.SOUTHEAST=6]="SOUTHEAST",d[d.SOUTHWEST=10]="SOUTHWEST",d}(c||{}),m,l=r.DmIcon=function(d){function s(h){var C;return C=d.call(this,h)||this,C.state={iconRef:""},C}g(s,d);var i=s.prototype;return i.fetchRefMap=function(){var h=k(S().mark(function(){function v(){var p,N;return S().wrap(function(){function V(y){for(;;)switch(y.prev=y.next){case 0:return y.prev=0,y.next=3,(0,t.fetchRetry)((0,a.resolveAsset)("icon_ref_map.json"));case 3:return p=y.sent,y.next=6,p.json();case 6:N=y.sent,m=N,this.setState({iconRef:N[this.props.icon]||""}),y.next=14;break;case 11:return y.prev=11,y.t0=y.catch(0),y.abrupt("return");case 14:case"end":return y.stop()}}return V}(),v,this,[[0,11]])}return v}()));function C(){return h.apply(this,arguments)}return C}(),i.componentDidMount=function(){function h(){m?this.setState({iconRef:m[this.props.icon]}):this.fetchRefMap()}return h}(),i.componentDidUpdate=function(){function h(C){C.icon!==this.props.icon&&(m?this.setState({iconRef:m[this.props.icon]}):this.fetchRefMap())}return h}(),i.render=function(){function h(){var C=this.props,v=C.className,p=C.direction,N=p===void 0?c.SOUTH:p,V=C.fallback,y=C.frame,B=y===void 0?1:y,L=C.icon_state,w=C.movement,x=w===void 0?!1:w,T=b(C,f),M=this.state.iconRef,O=M+"?state="+L+"&dir="+N+"&movement="+!!x+"&frame="+B;return M?(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Image,Object.assign({fixErrors:!0,src:O},T))):V||null}return h}(),s}(e.Component)},20342:function(A,r,n){"use strict";r.__esModule=!0,r.DraggableControl=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(9474);function f(g,u){g.prototype=Object.create(u.prototype),g.prototype.constructor=g,b(g,u)}function b(g,u){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,m){return c.__proto__=m,c},b(g,u)}var S=400,I=function(u,c){return u.screenX*c[0]+u.screenY*c[1]},k=r.DraggableControl=function(g){function u(m){var l;return l=g.call(this,m)||this,l.inputRef=(0,e.createRef)(),l.state={originalValue:m.value,value:m.value,dragging:!1,editing:!1,origin:null,suppressingFlicker:!1},l.flickerTimer=null,l.suppressFlicker=function(){var d=l.props.suppressFlicker;d>0&&(l.setState({suppressingFlicker:!0}),clearTimeout(l.flickerTimer),l.flickerTimer=setTimeout(function(){return l.setState({suppressingFlicker:!1})},d))},l.handleDragStart=function(d){var s=l.props,i=s.value,h=s.dragMatrix,C=s.disabled,v=l.state.editing;v||C||(document.body.style["pointer-events"]="none",l.ref=d.currentTarget,l.setState({originalValue:i,dragging:!1,value:i,origin:I(d,h)}),l.timer=setTimeout(function(){l.setState({dragging:!0})},250),l.dragInterval=setInterval(function(){var p=l.state,N=p.dragging,V=p.value,y=l.props.onDrag;N&&y&&y(d,V)},l.props.updateRate||S),document.addEventListener("mousemove",l.handleDragMove),document.addEventListener("mouseup",l.handleDragEnd))},l.handleDragMove=function(d){var s,i=l.props,h=i.minValue,C=i.maxValue,v=i.step,p=i.dragMatrix,N=i.disabled;if(!N){var V=l.ref.offsetWidth/((C-h)/v),y=(s=l.props.stepPixelSize)!=null?s:V;typeof y=="function"&&(y=y(V)),l.setState(function(B){var L=Object.assign({},B),w=B.origin,x=I(d,p)-w;if(B.dragging){var T=Math.trunc(x/y);L.value=(0,a.clamp)(Math.floor(L.originalValue/v)*v+T*v,h,C)}else Math.abs(x)>4&&(L.dragging=!0);return L})}},l.handleDragEnd=function(d){var s=l.props,i=s.onChange,h=s.onDrag,C=l.state,v=C.dragging,p=C.value;if(document.body.style["pointer-events"]="auto",clearTimeout(l.timer),clearInterval(l.dragInterval),l.setState({originalValue:null,dragging:!1,editing:!v,origin:null}),document.removeEventListener("mousemove",l.handleDragMove),document.removeEventListener("mouseup",l.handleDragEnd),v)l.suppressFlicker(),i&&i(d,p),h&&h(d,p);else if(l.inputRef){var N=l.inputRef.current;N.value=p;try{N.focus(),N.select()}catch(V){}}},l}f(u,g);var c=u.prototype;return c.render=function(){function m(){var l=this,d=this.state,s=d.dragging,i=d.editing,h=d.value,C=d.suppressingFlicker,v=this.props,p=v.animated,N=v.value,V=v.unit,y=v.minValue,B=v.maxValue,L=v.format,w=v.onChange,x=v.onDrag,T=v.children,M=v.height,O=v.lineHeight,D=v.fontSize,E=v.disabled,P=N;(s||C)&&(P=h);var R=function(){function W(z){return z+(V?" "+V:"")}return W}(),j=p&&!s&&!C&&(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:P,format:L,children:R})||R(L?L(P):P),F=(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:!i||E?"none":void 0,height:M,"line-height":O,"font-size":D},onBlur:function(){function W(z){if(i){var K=(0,a.clamp)(parseFloat(z.target.value),y,B);if(Number.isNaN(K)){l.setState({editing:!1});return}l.setState({editing:!1,value:K}),l.suppressFlicker(),w&&w(z,K),x&&x(z,K)}}return W}(),onKeyDown:function(){function W(z){if(z.keyCode===13){var K=(0,a.clamp)(parseFloat(z.target.value),y,B);if(Number.isNaN(K)){l.setState({editing:!1});return}l.setState({editing:!1,value:K}),l.suppressFlicker(),w&&w(z,K),x&&x(z,K);return}if(z.keyCode===27){l.setState({editing:!1});return}}return W}(),disabled:E},null,this.inputRef);return T({dragging:s,editing:i,value:N,displayValue:P,displayElement:j,inputElement:F,handleDragStart:this.handleDragStart})}return m}(),u}(e.Component);k.defaultHooks=t.pureComponentHooks,k.defaultProps={minValue:-1/0,maxValue:1/0,step:1,suppressFlicker:50,dragMatrix:[1,0]}},87099:function(A,r,n){"use strict";r.__esModule=!0,r.Dropdown=void 0;var e=n(89005),a=n(95996),t=n(35840),o=n(55937),f=n(96184),b=n(1331),S=n(96690),I=["icon","iconRotation","iconSpin","clipSelectedText","color","dropdownStyle","over","nochevron","width","onClick","onSelected","selected","disabled","displayText","buttons"],k=["className"],g;function u(C,v){if(C==null)return{};var p={};for(var N in C)if({}.hasOwnProperty.call(C,N)){if(v.includes(N))continue;p[N]=C[N]}return p}function c(C,v){C.prototype=Object.create(v.prototype),C.prototype.constructor=C,m(C,v)}function m(C,v){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,N){return p.__proto__=N,p},m(C,v)}var l={placement:"left-start",modifiers:[{name:"eventListeners",enabled:!1}]},d={width:0,height:0,top:0,right:0,bottom:0,left:0,x:0,y:0,toJSON:function(){function C(){return null}return C}()},s="Layout Dropdown__menu",i="Layout Dropdown__menu-scroll",h=r.Dropdown=function(C){function v(N){var V;return V=C.call(this,N)||this,V.menuContents=void 0,V.handleClick=function(){V.state.open&&V.setOpen(!1)},V.state={open:!1,selected:V.props.selected},V.menuContents=null,V}c(v,C);var p=v.prototype;return p.getDOMNode=function(){function N(){return(0,e.findDOMFromVNode)(this.$LI,!0)}return N}(),p.componentDidMount=function(){function N(){var V=this.getDOMNode()}return N}(),p.openMenu=function(){function N(){var V=v.renderedMenu;V===void 0&&(V=document.createElement("div"),V.className=s,document.body.appendChild(V),v.renderedMenu=V);var y=this.getDOMNode();v.currentOpenMenu=y,V.scrollTop=0,V.style.width=this.props.menuWidth||y.offsetWidth+"px",V.style.opacity="1",V.style.pointerEvents="auto",setTimeout(function(){var B;(B=v.renderedMenu)==null||B.focus()},400),this.renderMenuContent()}return N}(),p.closeMenu=function(){function N(){v.currentOpenMenu===this.getDOMNode()&&(v.currentOpenMenu=void 0,v.renderedMenu.style.opacity="0",v.renderedMenu.style.pointerEvents="none")}return N}(),p.componentWillUnmount=function(){function N(){this.closeMenu(),this.setOpen(!1)}return N}(),p.renderMenuContent=function(){function N(){var V=this,y=v.renderedMenu;if(y){y.offsetHeight>200?y.className=i:y.className=s;var B=this.props.options,L=B===void 0?[]:B,w=L.map(function(T){var M,O;return typeof T=="string"?(O=T,M=T):T!==null&&(O=T.displayText,M=T.value),(0,e.createVNode)(1,"div",(0,t.classes)(["Dropdown__menuentry",V.state.selected===M&&"selected"]),O,0,{onClick:function(){function D(){V.setSelected(M)}return D}()},M)}),x=w.length?w:"No Options Found";(0,e.render)((0,e.createVNode)(1,"div",null,x,0),y,function(){var T=v.singletonPopper;T===void 0?(T=(0,a.createPopper)(v.virtualElement,y,Object.assign({},l,{placement:"bottom-start"})),v.singletonPopper=T):(T.setOptions(Object.assign({},l,{placement:"bottom-start"})),T.update())},this.context)}}return N}(),p.setOpen=function(){function N(V){var y=this;this.setState(function(B){return Object.assign({},B,{open:V})}),V?setTimeout(function(){y.openMenu(),window.addEventListener("click",y.handleClick)}):(this.closeMenu(),window.removeEventListener("click",this.handleClick))}return N}(),p.setSelected=function(){function N(V){this.setState(function(y){return Object.assign({},y,{selected:V})}),this.setOpen(!1),this.props.onSelected&&this.props.onSelected(V)}return N}(),p.getOptionValue=function(){function N(V){return typeof V=="string"?V:V.value}return N}(),p.getSelectedIndex=function(){function N(){var V=this,y=this.state.selected||this.props.selected,B=this.props.options,L=B===void 0?[]:B;return L.findIndex(function(w){return V.getOptionValue(w)===y})}return N}(),p.toPrevious=function(){function N(){if(!(this.props.options.length<1)){var V=this.getSelectedIndex(),y=0,B=this.props.options.length-1,L=V>=0;L||(V=y);var w=V===y?B:V-1;this.setSelected(this.getOptionValue(this.props.options[w]))}}return N}(),p.toNext=function(){function N(){if(!(this.props.options.length<1)){var V=this.getSelectedIndex(),y=0,B=this.props.options.length-1,L=V>=0;L||(V=B);var w=V===B?y:V+1;this.setSelected(this.getOptionValue(this.props.options[w]))}}return N}(),p.render=function(){function N(){var V=this,y=this.props,B=y.icon,L=y.iconRotation,w=y.iconSpin,x=y.clipSelectedText,T=x===void 0?!0:x,M=y.color,O=M===void 0?"default":M,D=y.dropdownStyle,E=y.over,P=y.nochevron,R=y.width,j=y.onClick,F=y.onSelected,W=y.selected,z=y.disabled,K=y.displayText,G=y.buttons,J=u(y,I),Q=J.className,ue=u(J,k),ie=E?!this.state.open:this.state.open;return(0,e.createComponentVNode)(2,S.Stack,{inline:!0,fill:!0,width:R,children:[(0,e.createComponentVNode)(2,S.Stack.Item,{grow:!0,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({width:"100%",className:(0,t.classes)(["Dropdown__control","Button","Button--color--"+O,z&&"Button--disabled",Q]),onClick:function(){function pe(te){z&&!V.state.open||(V.setOpen(!V.state.open),j&&j(te))}return pe}()},ue,{children:[B&&(0,e.createComponentVNode)(2,b.Icon,{name:B,rotation:L,spin:w,mr:1}),(0,e.createVNode)(1,"span","Dropdown__selected-text",K||this.state.selected,0,{style:{overflow:T?"hidden":"visible"}}),P||(0,e.createVNode)(1,"span","Dropdown__arrow-button",(0,e.createComponentVNode)(2,b.Icon,{name:ie?"chevron-up":"chevron-down"}),2)]})))}),G&&(0,e.createFragment)([(0,e.createComponentVNode)(2,S.Stack.Item,{height:"100%",children:(0,e.createComponentVNode)(2,f.Button,{height:"100%",icon:"chevron-left",disabled:z,onClick:function(){function pe(){z||V.toPrevious()}return pe}()})}),(0,e.createComponentVNode)(2,S.Stack.Item,{height:"100%",children:(0,e.createComponentVNode)(2,f.Button,{height:"100%",icon:"chevron-right",disabled:z,onClick:function(){function pe(){z||V.toNext()}return pe}()})})],4)]})}return N}(),v}(e.Component);g=h,h.renderedMenu=void 0,h.singletonPopper=void 0,h.currentOpenMenu=void 0,h.virtualElement={getBoundingClientRect:function(){function C(){var v,p;return(v=(p=g.currentOpenMenu)==null?void 0:p.getBoundingClientRect())!=null?v:d}return C}()}},39473:function(A,r,n){"use strict";r.__esModule=!0,r.computeFlexProps=r.computeFlexItemProps=r.computeFlexItemClassName=r.computeFlexClassName=r.Flex=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","direction","wrap","align","justify","inline","style"],f=["className"],b=["className","style","grow","order","shrink","basis","align"],S=["className"];/** + */var t=r.Divider=function(){function o(f){var b=f.vertical,S=f.hidden;return(0,e.createVNode)(1,"div",(0,a.classes)(["Divider",S&&"Divider--hidden",b?"Divider--vertical":"Divider--horizontal"]))}return o}()},60218:function(A,r,n){"use strict";r.__esModule=!0,r.DmIcon=void 0;var e=n(89005),a=n(79140),t=n(46085),o=n(91225),f=["className","direction","fallback","frame","icon_state","movement"];function b(u,s){if(u==null)return{};var i={};for(var h in u)if({}.hasOwnProperty.call(u,h)){if(s.includes(h))continue;i[h]=u[h]}return i}function S(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */S=function(){return s};var u,s={},i=Object.prototype,h=i.hasOwnProperty,C=Object.defineProperty||function(te,q,ne){te[q]=ne.value},v=typeof Symbol=="function"?Symbol:{},p=v.iterator||"@@iterator",N=v.asyncIterator||"@@asyncIterator",V=v.toStringTag||"@@toStringTag";function y(te,q,ne){return Object.defineProperty(te,q,{value:ne,enumerable:!0,configurable:!0,writable:!0}),te[q]}try{y({},"")}catch(te){y=function(ne,le,ee){return ne[le]=ee}}function B(te,q,ne,le){var ee=q&&q.prototype instanceof D?q:D,re=Object.create(ee.prototype),oe=new ie(le||[]);return C(re,"_invoke",{value:G(te,ne,oe)}),re}function L(te,q,ne){try{return{type:"normal",arg:te.call(q,ne)}}catch(le){return{type:"throw",arg:le}}}s.wrap=B;var w="suspendedStart",x="suspendedYield",T="executing",M="completed",O={};function D(){}function E(){}function P(){}var R={};y(R,p,function(){return this});var j=Object.getPrototypeOf,F=j&&j(j(pe([])));F&&F!==i&&h.call(F,p)&&(R=F);var W=P.prototype=D.prototype=Object.create(R);function z(te){["next","throw","return"].forEach(function(q){y(te,q,function(ne){return this._invoke(q,ne)})})}function K(te,q){function ne(ee,re,oe,fe){var me=L(te[ee],te,re);if(me.type!=="throw"){var Y=me.arg,ve=Y.value;return ve&&typeof ve=="object"&&h.call(ve,"__await")?q.resolve(ve.__await).then(function(he){ne("next",he,oe,fe)},function(he){ne("throw",he,oe,fe)}):q.resolve(ve).then(function(he){Y.value=he,oe(Y)},function(he){return ne("throw",he,oe,fe)})}fe(me.arg)}var le;C(this,"_invoke",{value:function(){function ee(re,oe){function fe(){return new q(function(me,Y){ne(re,oe,me,Y)})}return le=le?le.then(fe,fe):fe()}return ee}()})}function G(te,q,ne){var le=w;return function(ee,re){if(le===T)throw Error("Generator is already running");if(le===M){if(ee==="throw")throw re;return{value:u,done:!0}}for(ne.method=ee,ne.arg=re;;){var oe=ne.delegate;if(oe){var fe=J(oe,ne);if(fe){if(fe===O)continue;return fe}}if(ne.method==="next")ne.sent=ne._sent=ne.arg;else if(ne.method==="throw"){if(le===w)throw le=M,ne.arg;ne.dispatchException(ne.arg)}else ne.method==="return"&&ne.abrupt("return",ne.arg);le=T;var me=L(te,q,ne);if(me.type==="normal"){if(le=ne.done?M:x,me.arg===O)continue;return{value:me.arg,done:ne.done}}me.type==="throw"&&(le=M,ne.method="throw",ne.arg=me.arg)}}}function J(te,q){var ne=q.method,le=te.iterator[ne];if(le===u)return q.delegate=null,ne==="throw"&&te.iterator.return&&(q.method="return",q.arg=u,J(te,q),q.method==="throw")||ne!=="return"&&(q.method="throw",q.arg=new TypeError("The iterator does not provide a '"+ne+"' method")),O;var ee=L(le,te.iterator,q.arg);if(ee.type==="throw")return q.method="throw",q.arg=ee.arg,q.delegate=null,O;var re=ee.arg;return re?re.done?(q[te.resultName]=re.value,q.next=te.nextLoc,q.method!=="return"&&(q.method="next",q.arg=u),q.delegate=null,O):re:(q.method="throw",q.arg=new TypeError("iterator result is not an object"),q.delegate=null,O)}function Q(te){var q={tryLoc:te[0]};1 in te&&(q.catchLoc=te[1]),2 in te&&(q.finallyLoc=te[2],q.afterLoc=te[3]),this.tryEntries.push(q)}function ue(te){var q=te.completion||{};q.type="normal",delete q.arg,te.completion=q}function ie(te){this.tryEntries=[{tryLoc:"root"}],te.forEach(Q,this),this.reset(!0)}function pe(te){if(te||te===""){var q=te[p];if(q)return q.call(te);if(typeof te.next=="function")return te;if(!isNaN(te.length)){var ne=-1,le=function(){function ee(){for(;++ne=0;--ee){var re=this.tryEntries[ee],oe=re.completion;if(re.tryLoc==="root")return le("end");if(re.tryLoc<=this.prev){var fe=h.call(re,"catchLoc"),me=h.call(re,"finallyLoc");if(fe&&me){if(this.prev=0;--le){var ee=this.tryEntries[le];if(ee.tryLoc<=this.prev&&h.call(ee,"finallyLoc")&&this.prev=0;--ne){var le=this.tryEntries[ne];if(le.finallyLoc===q)return this.complete(le.completion,le.afterLoc),ue(le),O}}return te}(),catch:function(){function te(q){for(var ne=this.tryEntries.length-1;ne>=0;--ne){var le=this.tryEntries[ne];if(le.tryLoc===q){var ee=le.completion;if(ee.type==="throw"){var re=ee.arg;ue(le)}return re}}throw Error("illegal catch attempt")}return te}(),delegateYield:function(){function te(q,ne,le){return this.delegate={iterator:pe(q),resultName:ne,nextLoc:le},this.method==="next"&&(this.arg=u),O}return te}()},s}function I(u,s,i,h,C,v,p){try{var N=u[v](p),V=N.value}catch(y){return void i(y)}N.done?s(V):Promise.resolve(V).then(h,C)}function k(u){return function(){var s=this,i=arguments;return new Promise(function(h,C){var v=u.apply(s,i);function p(V){I(v,h,C,p,N,"next",V)}function N(V){I(v,h,C,p,N,"throw",V)}p(void 0)})}}function g(u,s){u.prototype=Object.create(s.prototype),u.prototype.constructor=u,d(u,s)}function d(u,s){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,h){return i.__proto__=h,i},d(u,s)}var c=function(u){return u[u.NORTH=1]="NORTH",u[u.SOUTH=2]="SOUTH",u[u.EAST=4]="EAST",u[u.WEST=8]="WEST",u[u.NORTHEAST=5]="NORTHEAST",u[u.NORTHWEST=9]="NORTHWEST",u[u.SOUTHEAST=6]="SOUTHEAST",u[u.SOUTHWEST=10]="SOUTHWEST",u}(c||{}),m,l=r.DmIcon=function(u){function s(h){var C;return C=u.call(this,h)||this,C.state={iconRef:""},C}g(s,u);var i=s.prototype;return i.fetchRefMap=function(){var h=k(S().mark(function(){function v(){var p,N;return S().wrap(function(){function V(y){for(;;)switch(y.prev=y.next){case 0:return y.prev=0,y.next=3,(0,t.fetchRetry)((0,a.resolveAsset)("icon_ref_map.json"));case 3:return p=y.sent,y.next=6,p.json();case 6:N=y.sent,m=N,this.setState({iconRef:N[this.props.icon]||""}),y.next=14;break;case 11:return y.prev=11,y.t0=y.catch(0),y.abrupt("return");case 14:case"end":return y.stop()}}return V}(),v,this,[[0,11]])}return v}()));function C(){return h.apply(this,arguments)}return C}(),i.componentDidMount=function(){function h(){m?this.setState({iconRef:m[this.props.icon]}):this.fetchRefMap()}return h}(),i.componentDidUpdate=function(){function h(C){C.icon!==this.props.icon&&(m?this.setState({iconRef:m[this.props.icon]}):this.fetchRefMap())}return h}(),i.render=function(){function h(){var C=this.props,v=C.className,p=C.direction,N=p===void 0?c.SOUTH:p,V=C.fallback,y=C.frame,B=y===void 0?1:y,L=C.icon_state,w=C.movement,x=w===void 0?!1:w,T=b(C,f),M=this.state.iconRef,O=M+"?state="+L+"&dir="+N+"&movement="+!!x+"&frame="+B;return M?(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Image,Object.assign({fixErrors:!0,src:O},T))):V||null}return h}(),s}(e.Component)},20342:function(A,r,n){"use strict";r.__esModule=!0,r.DraggableControl=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(9474);function f(g,d){g.prototype=Object.create(d.prototype),g.prototype.constructor=g,b(g,d)}function b(g,d){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,m){return c.__proto__=m,c},b(g,d)}var S=400,I=function(d,c){return d.screenX*c[0]+d.screenY*c[1]},k=r.DraggableControl=function(g){function d(m){var l;return l=g.call(this,m)||this,l.inputRef=(0,e.createRef)(),l.state={originalValue:m.value,value:m.value,dragging:!1,editing:!1,origin:null,suppressingFlicker:!1},l.flickerTimer=null,l.suppressFlicker=function(){var u=l.props.suppressFlicker;u>0&&(l.setState({suppressingFlicker:!0}),clearTimeout(l.flickerTimer),l.flickerTimer=setTimeout(function(){return l.setState({suppressingFlicker:!1})},u))},l.handleDragStart=function(u){var s=l.props,i=s.value,h=s.dragMatrix,C=s.disabled,v=l.state.editing;v||C||(document.body.style["pointer-events"]="none",l.ref=u.currentTarget,l.setState({originalValue:i,dragging:!1,value:i,origin:I(u,h)}),l.timer=setTimeout(function(){l.setState({dragging:!0})},250),l.dragInterval=setInterval(function(){var p=l.state,N=p.dragging,V=p.value,y=l.props.onDrag;N&&y&&y(u,V)},l.props.updateRate||S),document.addEventListener("mousemove",l.handleDragMove),document.addEventListener("mouseup",l.handleDragEnd))},l.handleDragMove=function(u){var s,i=l.props,h=i.minValue,C=i.maxValue,v=i.step,p=i.dragMatrix,N=i.disabled;if(!N){var V=l.ref.offsetWidth/((C-h)/v),y=(s=l.props.stepPixelSize)!=null?s:V;typeof y=="function"&&(y=y(V)),l.setState(function(B){var L=Object.assign({},B),w=B.origin,x=I(u,p)-w;if(B.dragging){var T=Math.trunc(x/y);L.value=(0,a.clamp)(Math.floor(L.originalValue/v)*v+T*v,h,C)}else Math.abs(x)>4&&(L.dragging=!0);return L})}},l.handleDragEnd=function(u){var s=l.props,i=s.onChange,h=s.onDrag,C=l.state,v=C.dragging,p=C.value;if(document.body.style["pointer-events"]="auto",clearTimeout(l.timer),clearInterval(l.dragInterval),l.setState({originalValue:null,dragging:!1,editing:!v,origin:null}),document.removeEventListener("mousemove",l.handleDragMove),document.removeEventListener("mouseup",l.handleDragEnd),v)l.suppressFlicker(),i&&i(u,p),h&&h(u,p);else if(l.inputRef){var N=l.inputRef.current;N.value=p;try{N.focus(),N.select()}catch(V){}}},l}f(d,g);var c=d.prototype;return c.render=function(){function m(){var l=this,u=this.state,s=u.dragging,i=u.editing,h=u.value,C=u.suppressingFlicker,v=this.props,p=v.animated,N=v.value,V=v.unit,y=v.minValue,B=v.maxValue,L=v.format,w=v.onChange,x=v.onDrag,T=v.children,M=v.height,O=v.lineHeight,D=v.fontSize,E=v.disabled,P=N;(s||C)&&(P=h);var R=function(){function W(z){return z+(V?" "+V:"")}return W}(),j=p&&!s&&!C&&(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:P,format:L,children:R})||R(L?L(P):P),F=(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:!i||E?"none":void 0,height:M,"line-height":O,"font-size":D},onBlur:function(){function W(z){if(i){var K=(0,a.clamp)(parseFloat(z.target.value),y,B);if(Number.isNaN(K)){l.setState({editing:!1});return}l.setState({editing:!1,value:K}),l.suppressFlicker(),w&&w(z,K),x&&x(z,K)}}return W}(),onKeyDown:function(){function W(z){if(z.keyCode===13){var K=(0,a.clamp)(parseFloat(z.target.value),y,B);if(Number.isNaN(K)){l.setState({editing:!1});return}l.setState({editing:!1,value:K}),l.suppressFlicker(),w&&w(z,K),x&&x(z,K);return}if(z.keyCode===27){l.setState({editing:!1});return}}return W}(),disabled:E},null,this.inputRef);return T({dragging:s,editing:i,value:N,displayValue:P,displayElement:j,inputElement:F,handleDragStart:this.handleDragStart})}return m}(),d}(e.Component);k.defaultHooks=t.pureComponentHooks,k.defaultProps={minValue:-1/0,maxValue:1/0,step:1,suppressFlicker:50,dragMatrix:[1,0]}},87099:function(A,r,n){"use strict";r.__esModule=!0,r.Dropdown=void 0;var e=n(89005),a=n(95996),t=n(35840),o=n(55937),f=n(96184),b=n(1331),S=n(96690),I=["icon","iconRotation","iconSpin","clipSelectedText","color","dropdownStyle","over","nochevron","width","onClick","onSelected","selected","disabled","displayText","buttons"],k=["className"],g;function d(C,v){if(C==null)return{};var p={};for(var N in C)if({}.hasOwnProperty.call(C,N)){if(v.includes(N))continue;p[N]=C[N]}return p}function c(C,v){C.prototype=Object.create(v.prototype),C.prototype.constructor=C,m(C,v)}function m(C,v){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,N){return p.__proto__=N,p},m(C,v)}var l={placement:"left-start",modifiers:[{name:"eventListeners",enabled:!1}]},u={width:0,height:0,top:0,right:0,bottom:0,left:0,x:0,y:0,toJSON:function(){function C(){return null}return C}()},s="Layout Dropdown__menu",i="Layout Dropdown__menu-scroll",h=r.Dropdown=function(C){function v(N){var V;return V=C.call(this,N)||this,V.menuContents=void 0,V.handleClick=function(){V.state.open&&V.setOpen(!1)},V.state={open:!1,selected:V.props.selected},V.menuContents=null,V}c(v,C);var p=v.prototype;return p.getDOMNode=function(){function N(){return(0,e.findDOMFromVNode)(this.$LI,!0)}return N}(),p.componentDidMount=function(){function N(){var V=this.getDOMNode()}return N}(),p.openMenu=function(){function N(){var V=v.renderedMenu;V===void 0&&(V=document.createElement("div"),V.className=s,document.body.appendChild(V),v.renderedMenu=V);var y=this.getDOMNode();v.currentOpenMenu=y,V.scrollTop=0,V.style.width=this.props.menuWidth||y.offsetWidth+"px",V.style.opacity="1",V.style.pointerEvents="auto",setTimeout(function(){var B;(B=v.renderedMenu)==null||B.focus()},400),this.renderMenuContent()}return N}(),p.closeMenu=function(){function N(){v.currentOpenMenu===this.getDOMNode()&&(v.currentOpenMenu=void 0,v.renderedMenu.style.opacity="0",v.renderedMenu.style.pointerEvents="none")}return N}(),p.componentWillUnmount=function(){function N(){this.closeMenu(),this.setOpen(!1)}return N}(),p.renderMenuContent=function(){function N(){var V=this,y=v.renderedMenu;if(y){y.offsetHeight>200?y.className=i:y.className=s;var B=this.props.options,L=B===void 0?[]:B,w=L.map(function(T){var M,O;return typeof T=="string"?(O=T,M=T):T!==null&&(O=T.displayText,M=T.value),(0,e.createVNode)(1,"div",(0,t.classes)(["Dropdown__menuentry",V.state.selected===M&&"selected"]),O,0,{onClick:function(){function D(){V.setSelected(M)}return D}()},M)}),x=w.length?w:"No Options Found";(0,e.render)((0,e.createVNode)(1,"div",null,x,0),y,function(){var T=v.singletonPopper;T===void 0?(T=(0,a.createPopper)(v.virtualElement,y,Object.assign({},l,{placement:"bottom-start"})),v.singletonPopper=T):(T.setOptions(Object.assign({},l,{placement:"bottom-start"})),T.update())},this.context)}}return N}(),p.setOpen=function(){function N(V){var y=this;this.setState(function(B){return Object.assign({},B,{open:V})}),V?setTimeout(function(){y.openMenu(),window.addEventListener("click",y.handleClick)}):(this.closeMenu(),window.removeEventListener("click",this.handleClick))}return N}(),p.setSelected=function(){function N(V){this.setState(function(y){return Object.assign({},y,{selected:V})}),this.setOpen(!1),this.props.onSelected&&this.props.onSelected(V)}return N}(),p.getOptionValue=function(){function N(V){return typeof V=="string"?V:V.value}return N}(),p.getSelectedIndex=function(){function N(){var V=this,y=this.state.selected||this.props.selected,B=this.props.options,L=B===void 0?[]:B;return L.findIndex(function(w){return V.getOptionValue(w)===y})}return N}(),p.toPrevious=function(){function N(){if(!(this.props.options.length<1)){var V=this.getSelectedIndex(),y=0,B=this.props.options.length-1,L=V>=0;L||(V=y);var w=V===y?B:V-1;this.setSelected(this.getOptionValue(this.props.options[w]))}}return N}(),p.toNext=function(){function N(){if(!(this.props.options.length<1)){var V=this.getSelectedIndex(),y=0,B=this.props.options.length-1,L=V>=0;L||(V=B);var w=V===B?y:V+1;this.setSelected(this.getOptionValue(this.props.options[w]))}}return N}(),p.render=function(){function N(){var V=this,y=this.props,B=y.icon,L=y.iconRotation,w=y.iconSpin,x=y.clipSelectedText,T=x===void 0?!0:x,M=y.color,O=M===void 0?"default":M,D=y.dropdownStyle,E=y.over,P=y.nochevron,R=y.width,j=y.onClick,F=y.onSelected,W=y.selected,z=y.disabled,K=y.displayText,G=y.buttons,J=d(y,I),Q=J.className,ue=d(J,k),ie=E?!this.state.open:this.state.open;return(0,e.createComponentVNode)(2,S.Stack,{inline:!0,fill:!0,width:R,children:[(0,e.createComponentVNode)(2,S.Stack.Item,{grow:!0,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({width:"100%",className:(0,t.classes)(["Dropdown__control","Button","Button--color--"+O,z&&"Button--disabled",Q]),onClick:function(){function pe(te){z&&!V.state.open||(V.setOpen(!V.state.open),j&&j(te))}return pe}()},ue,{children:[B&&(0,e.createComponentVNode)(2,b.Icon,{name:B,rotation:L,spin:w,mr:1}),(0,e.createVNode)(1,"span","Dropdown__selected-text",K||this.state.selected,0,{style:{overflow:T?"hidden":"visible"}}),P||(0,e.createVNode)(1,"span","Dropdown__arrow-button",(0,e.createComponentVNode)(2,b.Icon,{name:ie?"chevron-up":"chevron-down"}),2)]})))}),G&&(0,e.createFragment)([(0,e.createComponentVNode)(2,S.Stack.Item,{height:"100%",children:(0,e.createComponentVNode)(2,f.Button,{height:"100%",icon:"chevron-left",disabled:z,onClick:function(){function pe(){z||V.toPrevious()}return pe}()})}),(0,e.createComponentVNode)(2,S.Stack.Item,{height:"100%",children:(0,e.createComponentVNode)(2,f.Button,{height:"100%",icon:"chevron-right",disabled:z,onClick:function(){function pe(){z||V.toNext()}return pe}()})})],4)]})}return N}(),v}(e.Component);g=h,h.renderedMenu=void 0,h.singletonPopper=void 0,h.currentOpenMenu=void 0,h.virtualElement={getBoundingClientRect:function(){function C(){var v,p;return(v=(p=g.currentOpenMenu)==null?void 0:p.getBoundingClientRect())!=null?v:u}return C}()}},39473:function(A,r,n){"use strict";r.__esModule=!0,r.computeFlexProps=r.computeFlexItemProps=r.computeFlexItemClassName=r.computeFlexClassName=r.Flex=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","direction","wrap","align","justify","inline","style"],f=["className"],b=["className","style","grow","order","shrink","basis","align"],S=["className"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function I(d,s){if(d==null)return{};var i={};for(var h in d)if({}.hasOwnProperty.call(d,h)){if(s.includes(h))continue;i[h]=d[h]}return i}var k=r.computeFlexClassName=function(){function d(s){return(0,a.classes)(["Flex",s.inline&&"Flex--inline",(0,t.computeBoxClassName)(s)])}return d}(),g=r.computeFlexProps=function(){function d(s){var i=s.className,h=s.direction,C=s.wrap,v=s.align,p=s.justify,N=s.inline,V=s.style,y=I(s,o);return(0,t.computeBoxProps)(Object.assign({style:Object.assign({},V,{"flex-direction":h,"flex-wrap":C===!0?"wrap":C,"align-items":v,"justify-content":p})},y))}return d}(),u=r.Flex=function(){function d(s){var i=s.className,h=I(s,f);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)([i,k(h)]),null,1,Object.assign({},g(h))))}return d}();u.defaultHooks=a.pureComponentHooks;var c=r.computeFlexItemClassName=function(){function d(s){return(0,a.classes)(["Flex__item",(0,t.computeBoxClassName)(s)])}return d}(),m=r.computeFlexItemProps=function(){function d(s){var i=s.className,h=s.style,C=s.grow,v=s.order,p=s.shrink,N=s.basis,V=N===void 0?s.width:N,y=s.align,B=I(s,b);return(0,t.computeBoxProps)(Object.assign({style:Object.assign({},h,{"flex-grow":C!==void 0&&Number(C),"flex-shrink":p!==void 0&&Number(p),"flex-basis":(0,t.unit)(V),order:v,"align-self":y})},B))}return d}(),l=function(s){var i=s.className,h=I(s,S);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)([i,c(s)]),null,1,Object.assign({},m(h))))};l.defaultHooks=a.pureComponentHooks,u.Item=l},79646:function(A,r,n){"use strict";r.__esModule=!0,r.GridColumn=r.Grid=void 0;var e=n(89005),a=n(36352),t=n(35840),o=["children"],f=["size","style"];/** + */function I(u,s){if(u==null)return{};var i={};for(var h in u)if({}.hasOwnProperty.call(u,h)){if(s.includes(h))continue;i[h]=u[h]}return i}var k=r.computeFlexClassName=function(){function u(s){return(0,a.classes)(["Flex",s.inline&&"Flex--inline",(0,t.computeBoxClassName)(s)])}return u}(),g=r.computeFlexProps=function(){function u(s){var i=s.className,h=s.direction,C=s.wrap,v=s.align,p=s.justify,N=s.inline,V=s.style,y=I(s,o);return(0,t.computeBoxProps)(Object.assign({style:Object.assign({},V,{"flex-direction":h,"flex-wrap":C===!0?"wrap":C,"align-items":v,"justify-content":p})},y))}return u}(),d=r.Flex=function(){function u(s){var i=s.className,h=I(s,f);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)([i,k(h)]),null,1,Object.assign({},g(h))))}return u}();d.defaultHooks=a.pureComponentHooks;var c=r.computeFlexItemClassName=function(){function u(s){return(0,a.classes)(["Flex__item",(0,t.computeBoxClassName)(s)])}return u}(),m=r.computeFlexItemProps=function(){function u(s){var i=s.className,h=s.style,C=s.grow,v=s.order,p=s.shrink,N=s.basis,V=N===void 0?s.width:N,y=s.align,B=I(s,b);return(0,t.computeBoxProps)(Object.assign({style:Object.assign({},h,{"flex-grow":C!==void 0&&Number(C),"flex-shrink":p!==void 0&&Number(p),"flex-basis":(0,t.unit)(V),order:v,"align-self":y})},B))}return u}(),l=function(s){var i=s.className,h=I(s,S);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)([i,c(s)]),null,1,Object.assign({},m(h))))};l.defaultHooks=a.pureComponentHooks,d.Item=l},79646:function(A,r,n){"use strict";r.__esModule=!0,r.GridColumn=r.Grid=void 0;var e=n(89005),a=n(36352),t=n(35840),o=["children"],f=["size","style"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function b(k,g){if(k==null)return{};var u={};for(var c in k)if({}.hasOwnProperty.call(k,c)){if(g.includes(c))continue;u[c]=k[c]}return u}var S=r.Grid=function(){function k(g){var u=g.children,c=b(g,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Table,Object.assign({},c,{children:(0,e.createComponentVNode)(2,a.Table.Row,{children:u})})))}return k}();S.defaultHooks=t.pureComponentHooks;var I=r.GridColumn=function(){function k(g){var u=g.size,c=u===void 0?1:u,m=g.style,l=b(g,f);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Table.Cell,Object.assign({style:Object.assign({width:c+"%"},m)},l)))}return k}();S.defaultHooks=t.pureComponentHooks,S.Column=I},1331:function(A,r,n){"use strict";r.__esModule=!0,r.IconStack=r.Icon=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["name","size","spin","className","style","rotation","inverse"],f=["className","style","children"];/** + */function b(k,g){if(k==null)return{};var d={};for(var c in k)if({}.hasOwnProperty.call(k,c)){if(g.includes(c))continue;d[c]=k[c]}return d}var S=r.Grid=function(){function k(g){var d=g.children,c=b(g,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Table,Object.assign({},c,{children:(0,e.createComponentVNode)(2,a.Table.Row,{children:d})})))}return k}();S.defaultHooks=t.pureComponentHooks;var I=r.GridColumn=function(){function k(g){var d=g.size,c=d===void 0?1:d,m=g.style,l=b(g,f);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Table.Cell,Object.assign({style:Object.assign({width:c+"%"},m)},l)))}return k}();S.defaultHooks=t.pureComponentHooks,S.Column=I},1331:function(A,r,n){"use strict";r.__esModule=!0,r.IconStack=r.Icon=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["name","size","spin","className","style","rotation","inverse"],f=["className","style","children"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function b(g,u){if(g==null)return{};var c={};for(var m in g)if({}.hasOwnProperty.call(g,m)){if(u.includes(m))continue;c[m]=g[m]}return c}var S=/-o$/,I=r.Icon=function(){function g(u){var c=u.name,m=u.size,l=u.spin,d=u.className,s=u.style,i=s===void 0?{}:s,h=u.rotation,C=u.inverse,v=b(u,o);m&&(i["font-size"]=m*100+"%"),typeof h=="number"&&(i.transform="rotate("+h+"deg)");var p=S.test(c),N=c.replace(S,"");return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({as:"i",className:(0,a.classes)(["Icon",d,p?"far":"fas","fa-"+N,l&&"fa-spin"]),style:i},v)))}return g}();I.defaultHooks=a.pureComponentHooks;var k=r.IconStack=function(){function g(u){var c=u.className,m=u.style,l=m===void 0?{}:m,d=u.children,s=b(u,f);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({as:"span",class:(0,a.classes)(["IconStack",c]),style:l},s,{children:d})))}return g}();I.Stack=k},91225:function(A,r,n){"use strict";r.__esModule=!0,r.Image=void 0;var e=n(89005),a=n(55937),t=["fixBlur","fixErrors","objectFit","src"];function o(k,g){if(k==null)return{};var u={};for(var c in k)if({}.hasOwnProperty.call(k,c)){if(g.includes(c))continue;u[c]=k[c]}return u}function f(k,g){k.prototype=Object.create(g.prototype),k.prototype.constructor=k,b(k,g)}function b(k,g){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(u,c){return u.__proto__=c,u},b(k,g)}var S=5,I=r.Image=function(k){function g(){for(var c,m=arguments.length,l=new Array(m),d=0;d0;d&&(l=c.containerRef)!=null&&l.current?c.props.onMove(b(c.containerRef.current,m)):c.toggleDocumentEvents(!1)},c.handleMoveEnd=function(){c.toggleDocumentEvents(!1)},c.handleKeyDown=function(m){var l=m.which||m.keyCode;l<37||l>40||(m.preventDefault(),c.props.onKey({left:l===39?.05:l===37?-.05:0,top:l===40?.05:l===38?-.05:0}))},c.props=u,c.containerRef=(0,e.createRef)(),c}t(k,I);var g=k.prototype;return g.toggleDocumentEvents=function(){function u(c){var m,l=(m=this.containerRef)==null?void 0:m.current,d=f(l),s=c?d.addEventListener:d.removeEventListener;s("mousemove",this.handleMove),s("mouseup",this.handleMoveEnd)}return u}(),g.componentDidMount=function(){function u(){this.toggleDocumentEvents(!0)}return u}(),g.componentWillUnmount=function(){function u(){this.toggleDocumentEvents(!1)}return u}(),g.render=function(){function u(){return(0,e.normalizeProps)((0,e.createVNode)(1,"div","react-colorful__interactive",this.props.children,0,Object.assign({},this.props,{style:this.props.style,onMouseDown:this.handleMoveStart,onKeyDown:this.handleKeyDown,tabIndex:0,role:"slider"}),null,this.containerRef))}return u}(),k}(e.Component)},76334:function(A,r,n){"use strict";r.__esModule=!0,r.Knob=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(55937),f=n(20342),b=n(59263),S=["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children","popUpPosition"];/** +*/var g=r.toInputValue=function(){function c(m){return typeof m!="number"&&typeof m!="string"?"":String(m)}return c}(),d=r.Input=function(c){function m(){var u;return u=c.call(this)||this,u.inputRef=(0,e.createRef)(),u.state={editing:!1},u.handleInput=function(s){var i=u.state.editing,h=u.props.onInput;i||u.setEditing(!0),h&&h(s,s.target.value)},u.handleFocus=function(s){var i=u.state.editing;i||u.setEditing(!0)},u.handleBlur=function(s){var i=u.state.editing,h=u.props.onChange;i&&(u.setEditing(!1),h&&h(s,s.target.value))},u.handleKeyDown=function(s){var i=u.props,h=i.onInput,C=i.onChange,v=i.onEnter;if(s.keyCode===o.KEY_ENTER){u.setEditing(!1),C&&C(s,s.target.value),h&&h(s,s.target.value),v&&v(s,s.target.value),u.props.selfClear?s.target.value="":s.target.blur();return}if(s.keyCode===o.KEY_ESCAPE){u.setEditing(!1),s.target.value=g(u.props.value),s.target.blur();return}},u}I(m,c);var l=m.prototype;return l.componentDidMount=function(){function u(){var s=this,i=this.props.value,h=this.inputRef.current;h&&(h.value=g(i),h.selectionStart=0,h.selectionEnd=h.value.length),(this.props.autoFocus||this.props.autoSelect)&&setTimeout(function(){h.focus(),s.props.autoSelect&&h.select()},1)}return u}(),l.componentDidUpdate=function(){function u(s,i){var h=this.state.editing,C=s.value,v=this.props.value,p=this.inputRef.current;p&&!h&&C!==v&&(p.value=g(v))}return u}(),l.setEditing=function(){function u(s){this.setState({editing:s})}return u}(),l.render=function(){function u(){var s=this.props,i=s.selfClear,h=s.onInput,C=s.onChange,v=s.onEnter,p=s.value,N=s.maxLength,V=s.placeholder,y=s.autofocus,B=s.disabled,L=s.multiline,w=s.cols,x=w===void 0?32:w,T=s.rows,M=T===void 0?4:T,O=S(s,f),D=O.className,E=O.fluid,P=O.monospace,R=S(O,b);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["Input",E&&"Input--fluid",P&&"Input--monospace",B&&"Input--disabled",D])},R,{children:[(0,e.createVNode)(1,"div","Input__baseline",".",16),L?(0,e.createVNode)(128,"textarea","Input__textarea",null,1,{placeholder:V,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,maxLength:N,cols:x,rows:M,disabled:B},null,this.inputRef):(0,e.createVNode)(64,"input","Input__input",null,1,{placeholder:V,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:N,disabled:B},null,this.inputRef)]})))}return u}(),m}(e.Component)},4454:function(A,r,n){"use strict";r.__esModule=!0,r.Interactive=void 0;var e=n(89005),a=n(44879);function t(I,k){I.prototype=Object.create(k.prototype),I.prototype.constructor=I,o(I,k)}function o(I,k){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(g,d){return g.__proto__=d,g},o(I,k)}var f=function(k){return k&&k.ownerDocument.defaultView||self},b=function(k,g){var d=k.getBoundingClientRect(),c=g;return{left:(0,a.clamp)((c.pageX-(d.left+f(k).pageXOffset))/d.width,0,1),top:(0,a.clamp)((c.pageY-(d.top+f(k).pageYOffset))/d.height,0,1)}},S=r.Interactive=function(I){function k(d){var c;return c=I.call(this)||this,c.containerRef=void 0,c.props=void 0,c.handleMoveStart=function(m){var l,u=(l=c.containerRef)==null?void 0:l.current;u&&(m.preventDefault(),u.focus(),c.props.onMove(b(u,m)),c.toggleDocumentEvents(!0))},c.handleMove=function(m){var l;m.preventDefault();var u=m.buttons>0;u&&(l=c.containerRef)!=null&&l.current?c.props.onMove(b(c.containerRef.current,m)):c.toggleDocumentEvents(!1)},c.handleMoveEnd=function(){c.toggleDocumentEvents(!1)},c.handleKeyDown=function(m){var l=m.which||m.keyCode;l<37||l>40||(m.preventDefault(),c.props.onKey({left:l===39?.05:l===37?-.05:0,top:l===40?.05:l===38?-.05:0}))},c.props=d,c.containerRef=(0,e.createRef)(),c}t(k,I);var g=k.prototype;return g.toggleDocumentEvents=function(){function d(c){var m,l=(m=this.containerRef)==null?void 0:m.current,u=f(l),s=c?u.addEventListener:u.removeEventListener;s("mousemove",this.handleMove),s("mouseup",this.handleMoveEnd)}return d}(),g.componentDidMount=function(){function d(){this.toggleDocumentEvents(!0)}return d}(),g.componentWillUnmount=function(){function d(){this.toggleDocumentEvents(!1)}return d}(),g.render=function(){function d(){return(0,e.normalizeProps)((0,e.createVNode)(1,"div","react-colorful__interactive",this.props.children,0,Object.assign({},this.props,{style:this.props.style,onMouseDown:this.handleMoveStart,onKeyDown:this.handleKeyDown,tabIndex:0,role:"slider"}),null,this.containerRef))}return d}(),k}(e.Component)},76334:function(A,r,n){"use strict";r.__esModule=!0,r.Knob=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(55937),f=n(20342),b=n(59263),S=["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children","popUpPosition"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function I(g,u){if(g==null)return{};var c={};for(var m in g)if({}.hasOwnProperty.call(g,m)){if(u.includes(m))continue;c[m]=g[m]}return c}var k=r.Knob=function(){function g(u){var c=u.animated,m=u.format,l=u.maxValue,d=u.minValue,s=u.onChange,i=u.onDrag,h=u.step,C=u.stepPixelSize,v=u.suppressFlicker,p=u.unit,N=u.value,V=u.className,y=u.style,B=u.fillValue,L=u.color,w=u.ranges,x=w===void 0?{}:w,T=u.size,M=T===void 0?1:T,O=u.bipolar,D=u.children,E=u.popUpPosition,P=I(u,S);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,f.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:c,format:m,maxValue:l,minValue:d,onChange:s,onDrag:i,step:h,stepPixelSize:C,suppressFlicker:v,unit:p,value:N},{children:function(){function R(j){var F=j.dragging,W=j.editing,z=j.value,K=j.displayValue,G=j.displayElement,J=j.inputElement,Q=j.handleDragStart,ue=(0,a.scale)(B!=null?B:K,d,l),ie=(0,a.scale)(K,d,l),pe=L||(0,a.keyOfMatchingRange)(B!=null?B:z,x)||"default",te=(ie-.5)*270;return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,t.classes)(["Knob","Knob--color--"+pe,O&&"Knob--bipolar",V,(0,o.computeBoxClassName)(P)]),[(0,e.createVNode)(1,"div","Knob__circle",(0,e.createVNode)(1,"div","Knob__cursorBox",(0,e.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+te+"deg)"}}),2),F&&(0,e.createVNode)(1,"div",(0,t.classes)(["Knob__popupValue",E&&"Knob__popupValue--"+E]),G,0),(0,e.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,e.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,e.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,e.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":((O?2.75:2)-ue*1.5)*Math.PI*50},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),J],0,Object.assign({},(0,o.computeBoxProps)(Object.assign({style:Object.assign({"font-size":M+"em"},y)},P)),{onMouseDown:Q})))}return R}()})))}return g}()},78621:function(A,r,n){"use strict";r.__esModule=!0,r.LabeledControls=void 0;var e=n(89005),a=n(39473),t=["children"],o=["label","children"];/** + */function I(g,d){if(g==null)return{};var c={};for(var m in g)if({}.hasOwnProperty.call(g,m)){if(d.includes(m))continue;c[m]=g[m]}return c}var k=r.Knob=function(){function g(d){var c=d.animated,m=d.format,l=d.maxValue,u=d.minValue,s=d.onChange,i=d.onDrag,h=d.step,C=d.stepPixelSize,v=d.suppressFlicker,p=d.unit,N=d.value,V=d.className,y=d.style,B=d.fillValue,L=d.color,w=d.ranges,x=w===void 0?{}:w,T=d.size,M=T===void 0?1:T,O=d.bipolar,D=d.children,E=d.popUpPosition,P=I(d,S);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,f.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:c,format:m,maxValue:l,minValue:u,onChange:s,onDrag:i,step:h,stepPixelSize:C,suppressFlicker:v,unit:p,value:N},{children:function(){function R(j){var F=j.dragging,W=j.editing,z=j.value,K=j.displayValue,G=j.displayElement,J=j.inputElement,Q=j.handleDragStart,ue=(0,a.scale)(B!=null?B:K,u,l),ie=(0,a.scale)(K,u,l),pe=L||(0,a.keyOfMatchingRange)(B!=null?B:z,x)||"default",te=(ie-.5)*270;return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,t.classes)(["Knob","Knob--color--"+pe,O&&"Knob--bipolar",V,(0,o.computeBoxClassName)(P)]),[(0,e.createVNode)(1,"div","Knob__circle",(0,e.createVNode)(1,"div","Knob__cursorBox",(0,e.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+te+"deg)"}}),2),F&&(0,e.createVNode)(1,"div",(0,t.classes)(["Knob__popupValue",E&&"Knob__popupValue--"+E]),G,0),(0,e.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,e.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,e.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,e.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":((O?2.75:2)-ue*1.5)*Math.PI*50},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),J],0,Object.assign({},(0,o.computeBoxProps)(Object.assign({style:Object.assign({"font-size":M+"em"},y)},P)),{onMouseDown:Q})))}return R}()})))}return g}()},78621:function(A,r,n){"use strict";r.__esModule=!0,r.LabeledControls=void 0;var e=n(89005),a=n(39473),t=["children"],o=["label","children"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function f(I,k){if(I==null)return{};var g={};for(var u in I)if({}.hasOwnProperty.call(I,u)){if(k.includes(u))continue;g[u]=I[u]}return g}var b=r.LabeledControls=function(){function I(k){var g=k.children,u=f(k,t);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Flex,Object.assign({mx:-.5,align:"stretch",justify:"space-between"},u,{children:g})))}return I}(),S=function(k){var g=k.label,u=k.children,c=f(k,o);return(0,e.createComponentVNode)(2,a.Flex.Item,{mx:1,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Flex,Object.assign({minWidth:"52px",height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},c,{children:[(0,e.createComponentVNode)(2,a.Flex.Item),(0,e.createComponentVNode)(2,a.Flex.Item,{children:u}),(0,e.createComponentVNode)(2,a.Flex.Item,{color:"label",children:g})]})))})};b.Item=S},29319:function(A,r,n){"use strict";r.__esModule=!0,r.LabeledList=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(13605),f=n(62147);/** + */function f(I,k){if(I==null)return{};var g={};for(var d in I)if({}.hasOwnProperty.call(I,d)){if(k.includes(d))continue;g[d]=I[d]}return g}var b=r.LabeledControls=function(){function I(k){var g=k.children,d=f(k,t);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Flex,Object.assign({mx:-.5,align:"stretch",justify:"space-between"},d,{children:g})))}return I}(),S=function(k){var g=k.label,d=k.children,c=f(k,o);return(0,e.createComponentVNode)(2,a.Flex.Item,{mx:1,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Flex,Object.assign({minWidth:"52px",height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},c,{children:[(0,e.createComponentVNode)(2,a.Flex.Item),(0,e.createComponentVNode)(2,a.Flex.Item,{children:d}),(0,e.createComponentVNode)(2,a.Flex.Item,{color:"label",children:g})]})))})};b.Item=S},29319:function(A,r,n){"use strict";r.__esModule=!0,r.LabeledList=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(13605),f=n(62147);/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var b=r.LabeledList=function(){function k(g){var u=g.children;return(0,e.createVNode)(1,"table","LabeledList",u,0)}return k}();b.defaultHooks=a.pureComponentHooks;var S=function(g){var u=g.className,c=g.label,m=g.labelColor,l=m===void 0?"label":m,d=g.color,s=g.textAlign,i=g.buttons,h=g.tooltip,C=g.content,v=g.children,p=g.preserveWhitespace,N=g.labelStyle,V=(0,e.createVNode)(1,"tr",(0,a.classes)(["LabeledList__row",u]),[(0,e.createComponentVNode)(2,t.Box,{as:"td",color:l,className:(0,a.classes)(["LabeledList__cell","LabeledList__label"]),style:N,children:c?c+":":null}),(0,e.createComponentVNode)(2,t.Box,{as:"td",color:d,textAlign:s,className:(0,a.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:i?void 0:2,preserveWhitespace:p,children:[C,v]}),i&&(0,e.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",i,0)],0);return h&&(V=(0,e.createComponentVNode)(2,f.Tooltip,{content:h,children:V})),V};S.defaultHooks=a.pureComponentHooks;var I=function(g){var u=g.size?(0,t.unit)(Math.max(0,g.size-1)):0;return(0,e.createVNode)(1,"tr","LabeledList__row",(0,e.createVNode)(1,"td",null,(0,e.createComponentVNode)(2,o.Divider),2,{colSpan:3,style:{"padding-top":u,"padding-bottom":u}}),2)};I.defaultHooks=a.pureComponentHooks,b.Item=S,b.Divider=I},36077:function(A,r,n){"use strict";r.__esModule=!0,r.Modal=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(61940),f=["className","children","onEnter"];/** + */var b=r.LabeledList=function(){function k(g){var d=g.children;return(0,e.createVNode)(1,"table","LabeledList",d,0)}return k}();b.defaultHooks=a.pureComponentHooks;var S=function(g){var d=g.className,c=g.label,m=g.labelColor,l=m===void 0?"label":m,u=g.color,s=g.textAlign,i=g.buttons,h=g.tooltip,C=g.content,v=g.children,p=g.preserveWhitespace,N=g.labelStyle,V=(0,e.createVNode)(1,"tr",(0,a.classes)(["LabeledList__row",d]),[(0,e.createComponentVNode)(2,t.Box,{as:"td",color:l,className:(0,a.classes)(["LabeledList__cell","LabeledList__label"]),style:N,children:c?c+":":null}),(0,e.createComponentVNode)(2,t.Box,{as:"td",color:u,textAlign:s,className:(0,a.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:i?void 0:2,preserveWhitespace:p,children:[C,v]}),i&&(0,e.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",i,0)],0);return h&&(V=(0,e.createComponentVNode)(2,f.Tooltip,{content:h,children:V})),V};S.defaultHooks=a.pureComponentHooks;var I=function(g){var d=g.size?(0,t.unit)(Math.max(0,g.size-1)):0;return(0,e.createVNode)(1,"tr","LabeledList__row",(0,e.createVNode)(1,"td",null,(0,e.createComponentVNode)(2,o.Divider),2,{colSpan:3,style:{"padding-top":d,"padding-bottom":d}}),2)};I.defaultHooks=a.pureComponentHooks,b.Item=S,b.Divider=I},36077:function(A,r,n){"use strict";r.__esModule=!0,r.Modal=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(61940),f=["className","children","onEnter"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function b(I,k){if(I==null)return{};var g={};for(var u in I)if({}.hasOwnProperty.call(I,u)){if(k.includes(u))continue;g[u]=I[u]}return g}var S=r.Modal=function(){function I(k){var g=k.className,u=k.children,c=k.onEnter,m=b(k,f),l;return c&&(l=function(){function d(s){s.keyCode===13&&c(s)}return d}()),(0,e.createComponentVNode)(2,o.Dimmer,{onKeyDown:l,children:(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Modal",g,(0,t.computeBoxClassName)(m)]),u,0,Object.assign({},(0,t.computeBoxProps)(m))))})}return I}()},73280:function(A,r,n){"use strict";r.__esModule=!0,r.NanoMap=void 0;var e=n(89005),a=n(36036),t=n(72253),o=n(29319),f=n(79911),b=n(79140),S=["x","y","icon","tooltip","color","children"],I=["icon","color"];function k(N,V){if(N==null)return{};var y={};for(var B in N)if({}.hasOwnProperty.call(N,B)){if(V.includes(B))continue;y[B]=N[B]}return y}function g(N,V){N.prototype=Object.create(V.prototype),N.prototype.constructor=N,u(N,V)}function u(N,V){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(y,B){return y.__proto__=B,y},u(N,V)}var c=510,m=2,l=function(V){return V.stopPropagation&&V.stopPropagation(),V.preventDefault&&V.preventDefault(),V.cancelBubble=!0,V.returnValue=!1,!1},d=r.NanoMap=function(N){function V(B){var L,w,x,T;T=N.call(this,B)||this;var M=window.innerWidth/2-256,O=window.innerHeight/2-256;return T.state={offsetX:(L=B.offsetX)!=null?L:0,offsetY:(w=B.offsetY)!=null?w:0,dragging:!1,originX:null,originY:null,zoom:(x=B.zoom)!=null?x:1},T.handleDragStart=function(D){T.ref=D.target,T.setState({dragging:!1,originX:D.screenX,originY:D.screenY}),document.addEventListener("mousemove",T.handleDragMove),document.addEventListener("mouseup",T.handleDragEnd),l(D)},T.handleDragMove=function(D){T.setState(function(E){var P=Object.assign({},E),R=D.screenX-P.originX,j=D.screenY-P.originY;return E.dragging?(P.offsetX+=R/P.zoom,P.offsetY+=j/P.zoom,P.originX=D.screenX,P.originY=D.screenY):P.dragging=!0,P}),l(D)},T.handleDragEnd=function(D){T.setState({dragging:!1,originX:null,originY:null}),document.removeEventListener("mousemove",T.handleDragMove),document.removeEventListener("mouseup",T.handleDragEnd),B.onOffsetChange==null||B.onOffsetChange(D,T.state),l(D)},T.handleZoom=function(D,E){T.setState(function(P){var R=Math.min(Math.max(E,1),8);return P.zoom=R,B.onZoom&&B.onZoom(P.zoom),P})},T.handleReset=function(D){T.setState(function(E){E.offsetX=0,E.offsetY=0,E.zoom=1,T.handleZoom(D,1),B.onOffsetChange==null||B.onOffsetChange(D,E)})},T}g(V,N);var y=V.prototype;return y.getChildContext=function(){function B(){return{map:{zoom:this.state.zoom}}}return B}(),y.render=function(){function B(){var L=(0,t.useBackend)(this.context),w=L.config,x=this.state,T=x.dragging,M=x.offsetX,O=x.offsetY,D=x.zoom,E=D===void 0?1:D,P=this.props.children,R=this.props.mapUrl||w.map+"_nanomap_z1.png",j=c*E+"px",F={width:j,height:j,"margin-top":O*E+"px","margin-left":M*E+"px",overflow:"hidden",position:"relative",top:"50%",left:"50%",transform:"translate(-50%, -50%)","background-size":"cover","background-repeat":"no-repeat","text-align":"center",cursor:T?"move":"auto"},W={width:"100%",height:"100%",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"};return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__container",children:[(0,e.createComponentVNode)(2,a.Box,{style:F,onMouseDown:this.handleDragStart,children:[(0,e.createVNode)(1,"img",null,null,1,{src:(0,b.resolveAsset)(R),style:W}),(0,e.createComponentVNode)(2,a.Box,{children:P})]}),(0,e.createComponentVNode)(2,h,{zoom:E,onZoom:this.handleZoom,onReset:this.handleReset}),(0,e.createComponentVNode)(2,p)]})}return B}(),V}(e.Component),s=function(V,y){var B=y.map.zoom,L=V.x,w=V.y,x=V.icon,T=V.tooltip,M=V.color,O=V.children,D=k(V,S),E=m*B,P=(L-1)*E,R=(w-1)*E;return(0,e.createVNode)(1,"div",null,(0,e.createComponentVNode)(2,a.Tooltip,{content:T,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({position:"absolute",className:"NanoMap__marker",lineHeight:"0",bottom:R+"px",left:P+"px",width:E+"px",height:E+"px"},D,{children:O})))}),2)};d.Marker=s;var i=function(V,y){var B=y.map.zoom,L=V.icon,w=V.color,x=k(V,I),T=m*B+4/Math.ceil(B/4);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,s,Object.assign({},x,{children:(0,e.createComponentVNode)(2,a.Icon,{name:L,color:w,fontSize:T+"px",style:{position:"relative",top:"50%",left:"50%",transform:"translate(-50%, -50%)"}})})))};d.MarkerIcon=i;var h=function(V,y){return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__zoomer",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Zoom",labelStyle:{"vertical-align":"middle"},children:(0,e.createComponentVNode)(2,a.Flex,{direction:"row",children:[(0,e.createComponentVNode)(2,f.Slider,{minValue:1,maxValue:8,stepPixelSize:10,format:function(){function B(L){return L+"x"}return B}(),value:V.zoom,onDrag:function(){function B(L,w){return V.onZoom(L,w)}return B}()}),(0,e.createComponentVNode)(2,a.Button,{ml:"0.5em",float:"right",icon:"sync",tooltip:"Reset View",onClick:function(){function B(L){return V.onReset==null?void 0:V.onReset(L)}return B}()})]})})})})};d.Zoomer=h;var C,v=function(N){function V(B){var L;L=N.call(this,B)||this;var w=(0,t.useBackend)(L.props.context),x=w.act;return L.state={color:L.props.color},L.handleClick=function(T){C!==void 0&&C.setState({color:"blue"}),x("switch_camera",{name:L.props.name}),C=L,L.setState({color:"green"})},L}g(V,N);var y=V.prototype;return y.render=function(){function B(){var L=this.props.x*2*this.props.zoom-this.props.zoom-3,w=this.props.y*2*this.props.zoom-this.props.zoom-3;return(0,e.createComponentVNode)(2,a.Button,{onClick:this.handleClick,position:"absolute",className:"NanoMap__button",lineHeight:"0",color:this.props.status?this.state.color:"red",bottom:w+"px",left:L+"px",children:(0,e.createComponentVNode)(2,a.Tooltip,{content:this.props.tooltip})},this.props.key)}return B}(),V}(e.Component);d.NanoButton=v;var p=function(V,y){var B=(0,t.useBackend)(y),L=B.act,w=B.data;return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__zchooser",children:[(0,e.createComponentVNode)(2,a.Box,{children:(0,e.createComponentVNode)(2,a.Button,{icon:"chevron-up",tooltip:"\u0423\u0440\u043E\u0432\u043D\u0435\u043C \u0432\u044B\u0448\u0435",onClick:function(){function x(){return L("switch_z_level",{z_dir:1})}return x}()})}),(0,e.createComponentVNode)(2,a.Box,{children:(0,e.createComponentVNode)(2,a.Button,{icon:"chevron-down",tooltip:"\u0423\u0440\u043E\u0432\u043D\u0435\u043C \u043D\u0438\u0436\u0435",onClick:function(){function x(){return L("switch_z_level",{z_dir:-1})}return x}()})})]})}},74733:function(A,r,n){"use strict";r.__esModule=!0,r.NoticeBox=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","color","info","warning","success","danger"];/** + */function b(I,k){if(I==null)return{};var g={};for(var d in I)if({}.hasOwnProperty.call(I,d)){if(k.includes(d))continue;g[d]=I[d]}return g}var S=r.Modal=function(){function I(k){var g=k.className,d=k.children,c=k.onEnter,m=b(k,f),l;return c&&(l=function(){function u(s){s.keyCode===13&&c(s)}return u}()),(0,e.createComponentVNode)(2,o.Dimmer,{onKeyDown:l,children:(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Modal",g,(0,t.computeBoxClassName)(m)]),d,0,Object.assign({},(0,t.computeBoxProps)(m))))})}return I}()},73280:function(A,r,n){"use strict";r.__esModule=!0,r.NanoMap=void 0;var e=n(89005),a=n(36036),t=n(72253),o=n(29319),f=n(79911),b=n(79140),S=["x","y","icon","tooltip","color","children"],I=["icon","color"];function k(N,V){if(N==null)return{};var y={};for(var B in N)if({}.hasOwnProperty.call(N,B)){if(V.includes(B))continue;y[B]=N[B]}return y}function g(N,V){N.prototype=Object.create(V.prototype),N.prototype.constructor=N,d(N,V)}function d(N,V){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(y,B){return y.__proto__=B,y},d(N,V)}var c=510,m=2,l=function(V){return V.stopPropagation&&V.stopPropagation(),V.preventDefault&&V.preventDefault(),V.cancelBubble=!0,V.returnValue=!1,!1},u=r.NanoMap=function(N){function V(B){var L,w,x,T;T=N.call(this,B)||this;var M=window.innerWidth/2-256,O=window.innerHeight/2-256;return T.state={offsetX:(L=B.offsetX)!=null?L:0,offsetY:(w=B.offsetY)!=null?w:0,dragging:!1,originX:null,originY:null,zoom:(x=B.zoom)!=null?x:1},T.handleDragStart=function(D){T.ref=D.target,T.setState({dragging:!1,originX:D.screenX,originY:D.screenY}),document.addEventListener("mousemove",T.handleDragMove),document.addEventListener("mouseup",T.handleDragEnd),l(D)},T.handleDragMove=function(D){T.setState(function(E){var P=Object.assign({},E),R=D.screenX-P.originX,j=D.screenY-P.originY;return E.dragging?(P.offsetX+=R/P.zoom,P.offsetY+=j/P.zoom,P.originX=D.screenX,P.originY=D.screenY):P.dragging=!0,P}),l(D)},T.handleDragEnd=function(D){T.setState({dragging:!1,originX:null,originY:null}),document.removeEventListener("mousemove",T.handleDragMove),document.removeEventListener("mouseup",T.handleDragEnd),B.onOffsetChange==null||B.onOffsetChange(D,T.state),l(D)},T.handleZoom=function(D,E){T.setState(function(P){var R=Math.min(Math.max(E,1),8);return P.zoom=R,B.onZoom&&B.onZoom(P.zoom),P})},T.handleReset=function(D){T.setState(function(E){E.offsetX=0,E.offsetY=0,E.zoom=1,T.handleZoom(D,1),B.onOffsetChange==null||B.onOffsetChange(D,E)})},T}g(V,N);var y=V.prototype;return y.getChildContext=function(){function B(){return{map:{zoom:this.state.zoom}}}return B}(),y.render=function(){function B(){var L=(0,t.useBackend)(this.context),w=L.config,x=this.state,T=x.dragging,M=x.offsetX,O=x.offsetY,D=x.zoom,E=D===void 0?1:D,P=this.props.children,R=this.props.mapUrl||w.map+"_nanomap_z1.png",j=c*E+"px",F={width:j,height:j,"margin-top":O*E+"px","margin-left":M*E+"px",overflow:"hidden",position:"relative",top:"50%",left:"50%",transform:"translate(-50%, -50%)","background-size":"cover","background-repeat":"no-repeat","text-align":"center",cursor:T?"move":"auto"},W={width:"100%",height:"100%",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"};return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__container",children:[(0,e.createComponentVNode)(2,a.Box,{style:F,onMouseDown:this.handleDragStart,children:[(0,e.createVNode)(1,"img",null,null,1,{src:(0,b.resolveAsset)(R),style:W}),(0,e.createComponentVNode)(2,a.Box,{children:P})]}),(0,e.createComponentVNode)(2,h,{zoom:E,onZoom:this.handleZoom,onReset:this.handleReset}),(0,e.createComponentVNode)(2,p)]})}return B}(),V}(e.Component),s=function(V,y){var B=y.map.zoom,L=V.x,w=V.y,x=V.icon,T=V.tooltip,M=V.color,O=V.children,D=k(V,S),E=m*B,P=(L-1)*E,R=(w-1)*E;return(0,e.createVNode)(1,"div",null,(0,e.createComponentVNode)(2,a.Tooltip,{content:T,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({position:"absolute",className:"NanoMap__marker",lineHeight:"0",bottom:R+"px",left:P+"px",width:E+"px",height:E+"px"},D,{children:O})))}),2)};u.Marker=s;var i=function(V,y){var B=y.map.zoom,L=V.icon,w=V.color,x=k(V,I),T=m*B+4/Math.ceil(B/4);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,s,Object.assign({},x,{children:(0,e.createComponentVNode)(2,a.Icon,{name:L,color:w,fontSize:T+"px",style:{position:"relative",top:"50%",left:"50%",transform:"translate(-50%, -50%)"}})})))};u.MarkerIcon=i;var h=function(V,y){return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__zoomer",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Zoom",labelStyle:{"vertical-align":"middle"},children:(0,e.createComponentVNode)(2,a.Flex,{direction:"row",children:[(0,e.createComponentVNode)(2,f.Slider,{minValue:1,maxValue:8,stepPixelSize:10,format:function(){function B(L){return L+"x"}return B}(),value:V.zoom,onDrag:function(){function B(L,w){return V.onZoom(L,w)}return B}()}),(0,e.createComponentVNode)(2,a.Button,{ml:"0.5em",float:"right",icon:"sync",tooltip:"Reset View",onClick:function(){function B(L){return V.onReset==null?void 0:V.onReset(L)}return B}()})]})})})})};u.Zoomer=h;var C,v=function(N){function V(B){var L;L=N.call(this,B)||this;var w=(0,t.useBackend)(L.props.context),x=w.act;return L.state={color:L.props.color},L.handleClick=function(T){C!==void 0&&C.setState({color:"blue"}),x("switch_camera",{name:L.props.name}),C=L,L.setState({color:"green"})},L}g(V,N);var y=V.prototype;return y.render=function(){function B(){var L=this.props.x*2*this.props.zoom-this.props.zoom-3,w=this.props.y*2*this.props.zoom-this.props.zoom-3;return(0,e.createComponentVNode)(2,a.Button,{onClick:this.handleClick,position:"absolute",className:"NanoMap__button",lineHeight:"0",color:this.props.status?this.state.color:"red",bottom:w+"px",left:L+"px",children:(0,e.createComponentVNode)(2,a.Tooltip,{content:this.props.tooltip})},this.props.key)}return B}(),V}(e.Component);u.NanoButton=v;var p=function(V,y){var B=(0,t.useBackend)(y),L=B.act,w=B.data;return(0,e.createComponentVNode)(2,a.Box,{className:"NanoMap__zchooser",children:[(0,e.createComponentVNode)(2,a.Box,{children:(0,e.createComponentVNode)(2,a.Button,{icon:"chevron-up",tooltip:"\u0423\u0440\u043E\u0432\u043D\u0435\u043C \u0432\u044B\u0448\u0435",onClick:function(){function x(){return L("switch_z_level",{z_dir:1})}return x}()})}),(0,e.createComponentVNode)(2,a.Box,{children:(0,e.createComponentVNode)(2,a.Button,{icon:"chevron-down",tooltip:"\u0423\u0440\u043E\u0432\u043D\u0435\u043C \u043D\u0438\u0436\u0435",onClick:function(){function x(){return L("switch_z_level",{z_dir:-1})}return x}()})})]})}},74733:function(A,r,n){"use strict";r.__esModule=!0,r.NoticeBox=void 0;var e=n(89005),a=n(35840),t=n(55937),o=["className","color","info","warning","success","danger"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function f(S,I){if(S==null)return{};var k={};for(var g in S)if({}.hasOwnProperty.call(S,g)){if(I.includes(g))continue;k[g]=S[g]}return k}var b=r.NoticeBox=function(){function S(I){var k=I.className,g=I.color,u=I.info,c=I.warning,m=I.success,l=I.danger,d=f(I,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["NoticeBox",g&&"NoticeBox--color--"+g,u&&"NoticeBox--type--info",m&&"NoticeBox--type--success",l&&"NoticeBox--type--danger",k])},d)))}return S}();b.defaultHooks=a.pureComponentHooks},59263:function(A,r,n){"use strict";r.__esModule=!0,r.NumberInput=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(9474),f=n(55937);function b(g,u){g.prototype=Object.create(u.prototype),g.prototype.constructor=g,S(g,u)}function S(g,u){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,m){return c.__proto__=m,c},S(g,u)}/** + */function f(S,I){if(S==null)return{};var k={};for(var g in S)if({}.hasOwnProperty.call(S,g)){if(I.includes(g))continue;k[g]=S[g]}return k}var b=r.NoticeBox=function(){function S(I){var k=I.className,g=I.color,d=I.info,c=I.warning,m=I.success,l=I.danger,u=f(I,o);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["NoticeBox",g&&"NoticeBox--color--"+g,d&&"NoticeBox--type--info",m&&"NoticeBox--type--success",l&&"NoticeBox--type--danger",k])},u)))}return S}();b.defaultHooks=a.pureComponentHooks},59263:function(A,r,n){"use strict";r.__esModule=!0,r.NumberInput=void 0;var e=n(89005),a=n(44879),t=n(35840),o=n(9474),f=n(55937);function b(g,d){g.prototype=Object.create(d.prototype),g.prototype.constructor=g,S(g,d)}function S(g,d){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(c,m){return c.__proto__=m,c},S(g,d)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var I=400,k=r.NumberInput=function(g){function u(m){var l;l=g.call(this,m)||this;var d=m.value;return l.inputRef=(0,e.createRef)(),l.state={value:d,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},l.flickerTimer=null,l.suppressFlicker=function(){var s=l.props.suppressFlicker;s>0&&(l.setState({suppressingFlicker:!0}),clearTimeout(l.flickerTimer),l.flickerTimer=setTimeout(function(){return l.setState({suppressingFlicker:!1})},s))},l.handleDragStart=function(s){var i=l.props.value,h=l.state.editing;h||(document.body.style["pointer-events"]="none",l.ref=s.target,l.setState({dragging:!1,origin:s.screenY,value:i,internalValue:i}),l.timer=setTimeout(function(){l.setState({dragging:!0})},250),l.dragInterval=setInterval(function(){var C=l.state,v=C.dragging,p=C.value,N=l.props.onDrag;v&&N&&N(s,p)},l.props.updateRate||I),document.addEventListener("mousemove",l.handleDragMove),document.addEventListener("mouseup",l.handleDragEnd))},l.handleDragMove=function(s){var i=l.props,h=i.minValue,C=i.maxValue,v=i.step,p=i.stepPixelSize;l.setState(function(N){var V=Object.assign({},N),y=V.origin-s.screenY;if(N.dragging){var B=Number.isFinite(h)?h%v:0;V.internalValue=(0,a.clamp)(V.internalValue+y*v/p,h-v,C+v),V.value=(0,a.clamp)(V.internalValue-V.internalValue%v+B,h,C),V.origin=s.screenY}else Math.abs(y)>4&&(V.dragging=!0);return V})},l.handleDragEnd=function(s){var i=l.props,h=i.onChange,C=i.onDrag,v=l.state,p=v.dragging,N=v.value,V=v.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(l.timer),clearInterval(l.dragInterval),l.setState({dragging:!1,editing:!p,origin:null}),document.removeEventListener("mousemove",l.handleDragMove),document.removeEventListener("mouseup",l.handleDragEnd),p)l.suppressFlicker(),h&&h(s,N),C&&C(s,N);else if(l.inputRef){var y=l.inputRef.current;y.value=V;try{y.focus(),y.select()}catch(B){}}},l}b(u,g);var c=u.prototype;return c.render=function(){function m(){var l=this,d=this.state,s=d.dragging,i=d.editing,h=d.value,C=d.suppressingFlicker,v=this.props,p=v.className,N=v.fluid,V=v.animated,y=v.value,B=v.unit,L=v.minValue,w=v.maxValue,x=v.height,T=v.width,M=v.lineHeight,O=v.fontSize,D=v.format,E=v.onChange,P=v.onDrag,R=y;(s||C)&&(R=h);var j=(0,e.createVNode)(1,"div","NumberInput__content",[V&&!s&&!C?(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:R,format:D}):D?D(R):R,B?" "+B:""],0);return(0,e.createComponentVNode)(2,f.Box,{className:(0,t.classes)(["NumberInput",N&&"NumberInput--fluid",p]),minWidth:T,minHeight:x,lineHeight:M,fontSize:O,onMouseDown:this.handleDragStart,children:[(0,e.createVNode)(1,"div","NumberInput__barContainer",(0,e.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,a.clamp)((R-L)/(w-L)*100,0,100)+"%"}}),2),j,(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:i?void 0:"none",height:x,"line-height":M,"font-size":O},onBlur:function(){function F(W){if(i){var z=(0,a.clamp)(parseFloat(W.target.value),L,w);if(Number.isNaN(z)){l.setState({editing:!1});return}l.setState({editing:!1,value:z}),l.suppressFlicker(),E&&E(W,z),P&&P(W,z)}}return F}(),onKeyDown:function(){function F(W){if(W.keyCode===13){var z=(0,a.clamp)(parseFloat(W.target.value),L,w);if(Number.isNaN(z)){l.setState({editing:!1});return}l.setState({editing:!1,value:z}),l.suppressFlicker(),E&&E(W,z),P&&P(W,z);return}if(W.keyCode===27){l.setState({editing:!1});return}}return F}()},null,this.inputRef)]})}return m}(),u}(e.Component);k.defaultHooks=t.pureComponentHooks,k.defaultProps={minValue:-1/0,maxValue:1/0,step:1,stepPixelSize:1,suppressFlicker:50}},33337:function(A,r,n){"use strict";r.__esModule=!0,r.Pointer=void 0;var e=n(89005),a=n(35840),t=r.Pointer=function(){function o(f){var b=f.className,S=f.color,I=f.left,k=f.top,g=k===void 0?.5:k,u=(0,a.classes)(["react-colorful__pointer",b]),c={top:g*100+"%",left:I*100+"%"};return(0,e.createVNode)(1,"div",u,(0,e.createVNode)(1,"div","react-colorful__pointer-fill",null,1,{style:{"background-color":S}}),2,{style:c})}return o}()},50186:function(A,r,n){"use strict";r.__esModule=!0,r.Popper=void 0;var e=n(95996),a=n(89005);function t(b,S){b.prototype=Object.create(S.prototype),b.prototype.constructor=b,o(b,S)}function o(b,S){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(I,k){return I.__proto__=k,I},o(b,S)}var f=r.Popper=function(b){function S(){var k;return k=b.call(this)||this,k.renderedContent=void 0,k.popperInstance=void 0,S.id+=1,k}t(S,b);var I=S.prototype;return I.componentDidMount=function(){function k(){var g=this,u=this.props,c=u.additionalStyles,m=u.options;if(this.renderedContent=document.createElement("div"),c)for(var l=0,d=Object.entries(c);l0&&(l.setState({suppressingFlicker:!0}),clearTimeout(l.flickerTimer),l.flickerTimer=setTimeout(function(){return l.setState({suppressingFlicker:!1})},s))},l.handleDragStart=function(s){var i=l.props.value,h=l.state.editing;h||(document.body.style["pointer-events"]="none",l.ref=s.target,l.setState({dragging:!1,origin:s.screenY,value:i,internalValue:i}),l.timer=setTimeout(function(){l.setState({dragging:!0})},250),l.dragInterval=setInterval(function(){var C=l.state,v=C.dragging,p=C.value,N=l.props.onDrag;v&&N&&N(s,p)},l.props.updateRate||I),document.addEventListener("mousemove",l.handleDragMove),document.addEventListener("mouseup",l.handleDragEnd))},l.handleDragMove=function(s){var i=l.props,h=i.minValue,C=i.maxValue,v=i.step,p=i.stepPixelSize;l.setState(function(N){var V=Object.assign({},N),y=V.origin-s.screenY;if(N.dragging){var B=Number.isFinite(h)?h%v:0;V.internalValue=(0,a.clamp)(V.internalValue+y*v/p,h-v,C+v),V.value=(0,a.clamp)(V.internalValue-V.internalValue%v+B,h,C),V.origin=s.screenY}else Math.abs(y)>4&&(V.dragging=!0);return V})},l.handleDragEnd=function(s){var i=l.props,h=i.onChange,C=i.onDrag,v=l.state,p=v.dragging,N=v.value,V=v.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(l.timer),clearInterval(l.dragInterval),l.setState({dragging:!1,editing:!p,origin:null}),document.removeEventListener("mousemove",l.handleDragMove),document.removeEventListener("mouseup",l.handleDragEnd),p)l.suppressFlicker(),h&&h(s,N),C&&C(s,N);else if(l.inputRef){var y=l.inputRef.current;y.value=V;try{y.focus(),y.select()}catch(B){}}},l}b(d,g);var c=d.prototype;return c.render=function(){function m(){var l=this,u=this.state,s=u.dragging,i=u.editing,h=u.value,C=u.suppressingFlicker,v=this.props,p=v.className,N=v.fluid,V=v.animated,y=v.value,B=v.unit,L=v.minValue,w=v.maxValue,x=v.height,T=v.width,M=v.lineHeight,O=v.fontSize,D=v.format,E=v.onChange,P=v.onDrag,R=y;(s||C)&&(R=h);var j=(0,e.createVNode)(1,"div","NumberInput__content",[V&&!s&&!C?(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:R,format:D}):D?D(R):R,B?" "+B:""],0);return(0,e.createComponentVNode)(2,f.Box,{className:(0,t.classes)(["NumberInput",N&&"NumberInput--fluid",p]),minWidth:T,minHeight:x,lineHeight:M,fontSize:O,onMouseDown:this.handleDragStart,children:[(0,e.createVNode)(1,"div","NumberInput__barContainer",(0,e.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,a.clamp)((R-L)/(w-L)*100,0,100)+"%"}}),2),j,(0,e.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:i?void 0:"none",height:x,"line-height":M,"font-size":O},onBlur:function(){function F(W){if(i){var z=(0,a.clamp)(parseFloat(W.target.value),L,w);if(Number.isNaN(z)){l.setState({editing:!1});return}l.setState({editing:!1,value:z}),l.suppressFlicker(),E&&E(W,z),P&&P(W,z)}}return F}(),onKeyDown:function(){function F(W){if(W.keyCode===13){var z=(0,a.clamp)(parseFloat(W.target.value),L,w);if(Number.isNaN(z)){l.setState({editing:!1});return}l.setState({editing:!1,value:z}),l.suppressFlicker(),E&&E(W,z),P&&P(W,z);return}if(W.keyCode===27){l.setState({editing:!1});return}}return F}()},null,this.inputRef)]})}return m}(),d}(e.Component);k.defaultHooks=t.pureComponentHooks,k.defaultProps={minValue:-1/0,maxValue:1/0,step:1,stepPixelSize:1,suppressFlicker:50}},33337:function(A,r,n){"use strict";r.__esModule=!0,r.Pointer=void 0;var e=n(89005),a=n(35840),t=r.Pointer=function(){function o(f){var b=f.className,S=f.color,I=f.left,k=f.top,g=k===void 0?.5:k,d=(0,a.classes)(["react-colorful__pointer",b]),c={top:g*100+"%",left:I*100+"%"};return(0,e.createVNode)(1,"div",d,(0,e.createVNode)(1,"div","react-colorful__pointer-fill",null,1,{style:{"background-color":S}}),2,{style:c})}return o}()},50186:function(A,r,n){"use strict";r.__esModule=!0,r.Popper=void 0;var e=n(95996),a=n(89005);function t(b,S){b.prototype=Object.create(S.prototype),b.prototype.constructor=b,o(b,S)}function o(b,S){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(I,k){return I.__proto__=k,I},o(b,S)}var f=r.Popper=function(b){function S(){var k;return k=b.call(this)||this,k.renderedContent=void 0,k.popperInstance=void 0,S.id+=1,k}t(S,b);var I=S.prototype;return I.componentDidMount=function(){function k(){var g=this,d=this.props,c=d.additionalStyles,m=d.options;if(this.renderedContent=document.createElement("div"),c)for(var l=0,u=Object.entries(c);l=g.length)){var m=document.body.offsetHeight-c.getBoundingClientRect().bottom,l=Math.ceil(c.offsetHeight/u);if(m>0){var d=Math.min(g.length,u+Math.max(1,Math.ceil(m/l)));k.setState({visibleElements:d,padding:(g.length-d)*l})}}},k.containerRef=(0,e.createRef)(),k.state={visibleElements:1,padding:0},k}a(b,f);var S=b.prototype;return S.componentDidMount=function(){function I(){this.adjustExtents(),this.intervalId=setInterval(this.adjustExtents,100)}return I}(),S.componentWillUnmount=function(){function I(){clearInterval(this.intervalId)}return I}(),S.render=function(){function I(){var k=this.props.children,g=this.state,u=g.visibleElements,c=g.padding;return(0,e.createVNode)(1,"div","VirtualList",[(0,e.createVNode)(1,"div","VirtualList__Container",Array.isArray(k)?k.slice(0,u):null,0,null,null,this.containerRef),(0,e.createVNode)(1,"div","VirtualList__Padding",null,1,{style:{"padding-bottom":c+"px"}})],4)}return I}(),b}(e.Component)},36036:function(A,r,n){"use strict";r.__esModule=!0,r.Tooltip=r.TimeDisplay=r.TextArea=r.Tabs=r.Table=r.Stack=r.Slider=r.Section=r.RoundGauge=r.RestrictedInput=r.ProgressBar=r.Popper=r.Pointer=r.NumberInput=r.NoticeBox=r.NanoMap=r.Modal=r.LabeledList=r.LabeledControls=r.Knob=r.Interactive=r.Input=r.ImageButton=r.Image=r.Icon=r.Grid=r.Flex=r.Dropdown=r.DraggableControl=r.DmIcon=r.Divider=r.Dimmer=r.Countdown=r.ColorBox=r.Collapsible=r.Chart=r.ByondUi=r.Button=r.Box=r.BlockQuote=r.Blink=r.Autofocus=r.AnimatedNumber=void 0;var e=n(9474);r.AnimatedNumber=e.AnimatedNumber;var a=n(27185);r.Autofocus=a.Autofocus;var t=n(5814);r.Blink=t.Blink;var o=n(61773);r.BlockQuote=o.BlockQuote;var f=n(55937);r.Box=f.Box;var b=n(96184);r.Button=b.Button;var S=n(18982);r.ByondUi=S.ByondUi;var I=n(66820);r.Chart=I.Chart;var k=n(4796);r.Collapsible=k.Collapsible;var g=n(88894);r.ColorBox=g.ColorBox;var u=n(73379);r.Countdown=u.Countdown;var c=n(61940);r.Dimmer=c.Dimmer;var m=n(13605);r.Divider=m.Divider;var l=n(20342);r.DraggableControl=l.DraggableControl;var d=n(87099);r.Dropdown=d.Dropdown;var s=n(39473);r.Flex=s.Flex;var i=n(79646);r.Grid=i.Grid;var h=n(4454);r.Interactive=h.Interactive;var C=n(91225);r.Image=C.Image;var v=n(60218);r.DmIcon=v.DmIcon;var p=n(1331);r.Icon=p.Icon;var N=n(79825);r.ImageButton=N.ImageButton;var V=n(79652);r.Input=V.Input;var y=n(76334);r.Knob=y.Knob;var B=n(78621);r.LabeledControls=B.LabeledControls;var L=n(29319);r.LabeledList=L.LabeledList;var w=n(36077);r.Modal=w.Modal;var x=n(73280);r.NanoMap=x.NanoMap;var T=n(74733);r.NoticeBox=T.NoticeBox;var M=n(59263);r.NumberInput=M.NumberInput;var O=n(33337);r.Pointer=O.Pointer;var D=n(50186);r.Popper=D.Popper;var E=n(92704);r.ProgressBar=E.ProgressBar;var P=n(9075);r.RestrictedInput=P.RestrictedInput;var R=n(11441);r.RoundGauge=R.RoundGauge;var j=n(97079);r.Section=j.Section;var F=n(79911);r.Slider=F.Slider;var W=n(96690);r.Stack=W.Stack;var z=n(36352);r.Table=z.Table;var K=n(85138);r.Tabs=K.Tabs;var G=n(44868);r.TextArea=G.TextArea;var J=n(5169);r.TimeDisplay=J.TimeDisplay;var Q=n(62147);r.Tooltip=Q.Tooltip},76910:function(A,r){"use strict";r.__esModule=!0,r.timeAgo=r.getGasLabel=r.getGasColor=r.UI_UPDATE=r.UI_INTERACTIVE=r.UI_DISABLED=r.UI_CLOSE=r.RADIO_CHANNELS=r.CSS_COLORS=r.COLORS=void 0;var n=r.UI_INTERACTIVE=2,e=r.UI_UPDATE=1,a=r.UI_DISABLED=0,t=r.UI_CLOSE=-1,o=r.COLORS={department:{command:"#526aff",security:"#CF0000",medical:"#009190",science:"#993399",engineering:"#A66300",supply:"#9F8545",service:"#80A000",centcom:"#78789B",other:"#C38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}},f=r.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"],b=r.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"SyndTeam",freq:1244,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"Response Team",freq:1345,color:"#2681a5"},{name:"Special Ops",freq:1341,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:"Procedure",freq:1339,color:"#F70285"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Medical(I)",freq:1485,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"Security(I)",freq:1475,color:"#dd3535"},{name:"AI Private",freq:1343,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"},{name:"VoxCom",freq:1220,color:"#952aa5"}],S=[{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"},{id:"ab",name:"Agent B",label:"Agent B",color:"purple"}],I=r.getGasLabel=function(){function u(c,m){var l=String(c).toLowerCase(),d=S.find(function(s){return s.id===l||s.name.toLowerCase()===l});return d&&d.label||m||c}return u}(),k=r.getGasColor=function(){function u(c){var m=String(c).toLowerCase(),l=S.find(function(d){return d.id===m||d.name.toLowerCase()===m});return l&&l.color}return u}(),g=r.timeAgo=function(){function u(c,m){if(c>m)return"in the future";c=c/10,m=m/10;var l=m-c;if(l>3600){var d=Math.round(l/3600);return d+" hour"+(d===1?"":"s")+" ago"}else if(l>60){var s=Math.round(l/60);return s+" minute"+(s===1?"":"s")+" ago"}else{var i=Math.round(l);return i+" second"+(i===1?"":"s")+" ago"}return"just now"}return u}()},40944:function(A,r,n){"use strict";r.__esModule=!0,r.KitchenSink=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595);/** +*/var d=r.TextArea=function(c){function m(u,s){var i;i=c.call(this,u,s)||this,i.textareaRef=u.innerRef||(0,e.createRef)(),i.fillerRef=(0,e.createRef)(),i.state={editing:!1};var h=u.dontUseTabForIndent,C=h===void 0?!1:h;return i.handleOnInput=function(v){var p=i.state.editing,N=i.props.onInput;p||i.setEditing(!0),N&&N(v,v.target.value)},i.handleOnChange=function(v){var p=i.state.editing,N=i.props.onChange;p&&i.setEditing(!1),N&&N(v,v.target.value)},i.handleKeyPress=function(v){var p=i.state.editing,N=i.props.onKeyPress;p||i.setEditing(!0),N&&N(v,v.target.value)},i.handleKeyDown=function(v){var p=i.state.editing,N=i.props,V=N.onChange,y=N.onInput,B=N.onEnter,L=N.onKeyDown;if(v.keyCode===f.KEY_ENTER){i.setEditing(!1),V&&V(v,v.target.value),y&&y(v,v.target.value),B&&B(v,v.target.value),i.props.selfClear&&(v.target.value="",v.target.blur());return}if(v.keyCode===f.KEY_ESCAPE){i.props.onEscape&&i.props.onEscape(v),i.setEditing(!1),i.props.selfClear?v.target.value="":(v.target.value=(0,o.toInputValue)(i.props.value),v.target.blur());return}if(p||i.setEditing(!0),L&&L(v,v.target.value),!C){var w=v.keyCode||v.which;if(w===f.KEY_TAB){v.preventDefault();var x=v.target,T=x.value,M=x.selectionStart,O=x.selectionEnd;v.target.value=T.substring(0,M)+" "+T.substring(O),v.target.selectionEnd=M+1}}},i.handleFocus=function(v){var p=i.state.editing;p||i.setEditing(!0)},i.handleBlur=function(v){var p=i.state.editing,N=i.props.onChange;p&&(i.setEditing(!1),N&&N(v,v.target.value))},i}k(m,c);var l=m.prototype;return l.componentDidMount=function(){function u(){var s=this,i=this.props.value,h=this.textareaRef.current;h&&(h.value=(0,o.toInputValue)(i)),(this.props.autoFocus||this.props.autoSelect)&&setTimeout(function(){h.focus(),s.props.autoSelect&&h.select()},1)}return u}(),l.componentDidUpdate=function(){function u(s,i){var h=s.value,C=this.props.value,v=this.textareaRef.current;v&&typeof C=="string"&&h!==C&&(v.value=(0,o.toInputValue)(C))}return u}(),l.setEditing=function(){function u(s){this.setState({editing:s})}return u}(),l.getValue=function(){function u(){return this.textareaRef.current&&this.textareaRef.current.value}return u}(),l.render=function(){function u(){var s=this.props,i=s.onChange,h=s.onKeyDown,C=s.onKeyPress,v=s.onInput,p=s.onFocus,N=s.onBlur,V=s.onEnter,y=s.value,B=s.maxLength,L=s.placeholder,w=I(s,b),x=w.className,T=w.fluid,M=I(w,S);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({className:(0,a.classes)(["TextArea",T&&"TextArea--fluid",x])},M,{children:(0,e.createVNode)(128,"textarea","TextArea__textarea",null,1,{placeholder:L,onChange:this.handleOnChange,onKeyDown:this.handleKeyDown,onKeyPress:this.handleKeyPress,onInput:this.handleOnInput,onFocus:this.handleFocus,onBlur:this.handleBlur,maxLength:B},null,this.textareaRef)})))}return u}(),m}(e.Component)},5169:function(A,r){"use strict";r.__esModule=!0,r.TimeDisplay=void 0;var n=function(t){(!t||t<0)&&(t=0);var o=Math.floor(t/60).toString(10),f=(Math.floor(t)%60).toString(10);return[o,f].map(function(b){return b.length<2?"0"+b:b}).join(":")},e=r.TimeDisplay=function(){function a(t){var o=t.totalSeconds,f=o===void 0?0:o;return n(f)}return a}()},62147:function(A,r,n){"use strict";r.__esModule=!0,r.Tooltip=void 0;var e=n(89005),a=n(95996),t;function o(k,g){k.prototype=Object.create(g.prototype),k.prototype.constructor=k,f(k,g)}function f(k,g){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(d,c){return d.__proto__=c,d},f(k,g)}var b={modifiers:[{name:"eventListeners",enabled:!1}]},S={width:0,height:0,top:0,right:0,bottom:0,left:0,x:0,y:0,toJSON:function(){function k(){return null}return k}()},I=r.Tooltip=function(k){function g(){return k.apply(this,arguments)||this}o(g,k);var d=g.prototype;return d.getDOMNode=function(){function c(){return(0,e.findDOMFromVNode)(this.$LI,!0)}return c}(),d.componentDidMount=function(){function c(){var m=this,l=this.getDOMNode();l&&(l.addEventListener("mouseenter",function(){var u=g.renderedTooltip;u===void 0&&(u=document.createElement("div"),u.className="Tooltip",document.body.appendChild(u),g.renderedTooltip=u),g.currentHoveredElement=l,u.style.opacity="1",m.renderPopperContent()}),l.addEventListener("mouseleave",function(){m.fadeOut()}))}return c}(),d.fadeOut=function(){function c(){g.currentHoveredElement===this.getDOMNode()&&(g.currentHoveredElement=void 0,g.renderedTooltip.style.opacity="0")}return c}(),d.renderPopperContent=function(){function c(){var m=this,l=g.renderedTooltip;l&&(0,e.render)((0,e.createVNode)(1,"span",null,this.props.content,0),l,function(){var u=g.singletonPopper;u===void 0?(u=(0,a.createPopper)(g.virtualElement,l,Object.assign({},b,{placement:m.props.position||"auto"})),g.singletonPopper=u):(u.setOptions(Object.assign({},b,{placement:m.props.position||"auto"})),u.update())},this.context)}return c}(),d.componentDidUpdate=function(){function c(){g.currentHoveredElement===this.getDOMNode()&&this.renderPopperContent()}return c}(),d.componentWillUnmount=function(){function c(){this.fadeOut()}return c}(),d.render=function(){function c(){return this.props.children}return c}(),g}(e.Component);t=I,I.renderedTooltip=void 0,I.singletonPopper=void 0,I.currentHoveredElement=void 0,I.virtualElement={getBoundingClientRect:function(){function k(){var g,d;return(g=(d=t.currentHoveredElement)==null?void 0:d.getBoundingClientRect())!=null?g:S}return k}()}},46095:function(A,r,n){"use strict";r.__esModule=!0,r.VirtualList=void 0;var e=n(89005);function a(f,b){f.prototype=Object.create(b.prototype),f.prototype.constructor=f,t(f,b)}function t(f,b){return t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(S,I){return S.__proto__=I,S},t(f,b)}var o=r.VirtualList=function(f){function b(I){var k;return k=f.call(this,I)||this,k.containerRef=void 0,k.intervalId=void 0,k.adjustExtents=function(){var g=k.props.children,d=k.state.visibleElements,c=k.containerRef.current;if(!(!g||!Array.isArray(g)||!c||d>=g.length)){var m=document.body.offsetHeight-c.getBoundingClientRect().bottom,l=Math.ceil(c.offsetHeight/d);if(m>0){var u=Math.min(g.length,d+Math.max(1,Math.ceil(m/l)));k.setState({visibleElements:u,padding:(g.length-u)*l})}}},k.containerRef=(0,e.createRef)(),k.state={visibleElements:1,padding:0},k}a(b,f);var S=b.prototype;return S.componentDidMount=function(){function I(){this.adjustExtents(),this.intervalId=setInterval(this.adjustExtents,100)}return I}(),S.componentWillUnmount=function(){function I(){clearInterval(this.intervalId)}return I}(),S.render=function(){function I(){var k=this.props.children,g=this.state,d=g.visibleElements,c=g.padding;return(0,e.createVNode)(1,"div","VirtualList",[(0,e.createVNode)(1,"div","VirtualList__Container",Array.isArray(k)?k.slice(0,d):null,0,null,null,this.containerRef),(0,e.createVNode)(1,"div","VirtualList__Padding",null,1,{style:{"padding-bottom":c+"px"}})],4)}return I}(),b}(e.Component)},36036:function(A,r,n){"use strict";r.__esModule=!0,r.Tooltip=r.TimeDisplay=r.TextArea=r.Tabs=r.Table=r.Stack=r.Slider=r.Section=r.RoundGauge=r.RestrictedInput=r.ProgressBar=r.Popper=r.Pointer=r.NumberInput=r.NoticeBox=r.NanoMap=r.Modal=r.LabeledList=r.LabeledControls=r.Knob=r.Interactive=r.Input=r.ImageButton=r.Image=r.Icon=r.Grid=r.Flex=r.Dropdown=r.DraggableControl=r.DmIcon=r.Divider=r.Dimmer=r.Countdown=r.ColorBox=r.Collapsible=r.Chart=r.ByondUi=r.Button=r.Box=r.BlockQuote=r.Blink=r.Autofocus=r.AnimatedNumber=void 0;var e=n(9474);r.AnimatedNumber=e.AnimatedNumber;var a=n(27185);r.Autofocus=a.Autofocus;var t=n(5814);r.Blink=t.Blink;var o=n(61773);r.BlockQuote=o.BlockQuote;var f=n(55937);r.Box=f.Box;var b=n(96184);r.Button=b.Button;var S=n(18982);r.ByondUi=S.ByondUi;var I=n(66820);r.Chart=I.Chart;var k=n(4796);r.Collapsible=k.Collapsible;var g=n(88894);r.ColorBox=g.ColorBox;var d=n(73379);r.Countdown=d.Countdown;var c=n(61940);r.Dimmer=c.Dimmer;var m=n(13605);r.Divider=m.Divider;var l=n(20342);r.DraggableControl=l.DraggableControl;var u=n(87099);r.Dropdown=u.Dropdown;var s=n(39473);r.Flex=s.Flex;var i=n(79646);r.Grid=i.Grid;var h=n(4454);r.Interactive=h.Interactive;var C=n(91225);r.Image=C.Image;var v=n(60218);r.DmIcon=v.DmIcon;var p=n(1331);r.Icon=p.Icon;var N=n(79825);r.ImageButton=N.ImageButton;var V=n(79652);r.Input=V.Input;var y=n(76334);r.Knob=y.Knob;var B=n(78621);r.LabeledControls=B.LabeledControls;var L=n(29319);r.LabeledList=L.LabeledList;var w=n(36077);r.Modal=w.Modal;var x=n(73280);r.NanoMap=x.NanoMap;var T=n(74733);r.NoticeBox=T.NoticeBox;var M=n(59263);r.NumberInput=M.NumberInput;var O=n(33337);r.Pointer=O.Pointer;var D=n(50186);r.Popper=D.Popper;var E=n(92704);r.ProgressBar=E.ProgressBar;var P=n(9075);r.RestrictedInput=P.RestrictedInput;var R=n(11441);r.RoundGauge=R.RoundGauge;var j=n(97079);r.Section=j.Section;var F=n(79911);r.Slider=F.Slider;var W=n(96690);r.Stack=W.Stack;var z=n(36352);r.Table=z.Table;var K=n(85138);r.Tabs=K.Tabs;var G=n(44868);r.TextArea=G.TextArea;var J=n(5169);r.TimeDisplay=J.TimeDisplay;var Q=n(62147);r.Tooltip=Q.Tooltip},76910:function(A,r){"use strict";r.__esModule=!0,r.timeAgo=r.getGasLabel=r.getGasColor=r.UI_UPDATE=r.UI_INTERACTIVE=r.UI_DISABLED=r.UI_CLOSE=r.RADIO_CHANNELS=r.CSS_COLORS=r.COLORS=void 0;var n=r.UI_INTERACTIVE=2,e=r.UI_UPDATE=1,a=r.UI_DISABLED=0,t=r.UI_CLOSE=-1,o=r.COLORS={department:{command:"#526aff",security:"#CF0000",medical:"#009190",science:"#993399",engineering:"#A66300",supply:"#9F8545",service:"#80A000",centcom:"#78789B",other:"#C38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}},f=r.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"],b=r.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"SyndTeam",freq:1244,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"Response Team",freq:1345,color:"#2681a5"},{name:"Special Ops",freq:1341,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:"Procedure",freq:1339,color:"#F70285"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Medical(I)",freq:1485,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"Security(I)",freq:1475,color:"#dd3535"},{name:"AI Private",freq:1343,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"},{name:"VoxCom",freq:1220,color:"#952aa5"}],S=[{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"},{id:"ab",name:"Agent B",label:"Agent B",color:"purple"}],I=r.getGasLabel=function(){function d(c,m){var l=String(c).toLowerCase(),u=S.find(function(s){return s.id===l||s.name.toLowerCase()===l});return u&&u.label||m||c}return d}(),k=r.getGasColor=function(){function d(c){var m=String(c).toLowerCase(),l=S.find(function(u){return u.id===m||u.name.toLowerCase()===m});return l&&l.color}return d}(),g=r.timeAgo=function(){function d(c,m){if(c>m)return"in the future";c=c/10,m=m/10;var l=m-c;if(l>3600){var u=Math.round(l/3600);return u+" hour"+(u===1?"":"s")+" ago"}else if(l>60){var s=Math.round(l/60);return s+" minute"+(s===1?"":"s")+" ago"}else{var i=Math.round(l);return i+" second"+(i===1?"":"s")+" ago"}return"just now"}return d}()},40944:function(A,r,n){"use strict";r.__esModule=!0,r.KitchenSink=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595);/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var f=n(4085),b=function(){return f.keys().map(function(k){return f(k)})},S=r.KitchenSink=function(){function I(k,g){var u=k.panel,c=(0,a.useLocalState)(g,"kitchenSinkTheme"),m=c[0],l=(0,a.useLocalState)(g,"pageIndex",0),d=l[0],s=l[1],i=b(),h=i[d],C=u?o.Pane:o.Window;return(0,e.createComponentVNode)(2,C,{title:"Kitchen Sink",width:600,height:500,theme:m,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{m:1,mr:0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,fitted:!0,children:(0,e.createComponentVNode)(2,t.Tabs,{vertical:!0,children:i.map(function(v,p){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{color:"transparent",selected:p===d,onClick:function(){function N(){return s(p)}return N}(),children:v.meta.title},p)})})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{position:"relative",grow:1,children:(0,e.createComponentVNode)(2,C.Content,{scrollable:!0,children:h.meta.render()})})]})})}return I}()},77384:function(A,r,n){"use strict";r.__esModule=!0,r.toggleKitchenSink=r.toggleDebugLayout=r.openExternalBrowser=void 0;var e=n(85307);/** + */var f=n(4085),b=function(){return f.keys().map(function(k){return f(k)})},S=r.KitchenSink=function(){function I(k,g){var d=k.panel,c=(0,a.useLocalState)(g,"kitchenSinkTheme"),m=c[0],l=(0,a.useLocalState)(g,"pageIndex",0),u=l[0],s=l[1],i=b(),h=i[u],C=d?o.Pane:o.Window;return(0,e.createComponentVNode)(2,C,{title:"Kitchen Sink",width:600,height:500,theme:m,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{m:1,mr:0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,fitted:!0,children:(0,e.createComponentVNode)(2,t.Tabs,{vertical:!0,children:i.map(function(v,p){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{color:"transparent",selected:p===u,onClick:function(){function N(){return s(p)}return N}(),children:v.meta.title},p)})})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{position:"relative",grow:1,children:(0,e.createComponentVNode)(2,C.Content,{scrollable:!0,children:h.meta.render()})})]})})}return I}()},77384:function(A,r,n){"use strict";r.__esModule=!0,r.toggleKitchenSink=r.toggleDebugLayout=r.openExternalBrowser=void 0;var e=n(85307);/** * @file * @copyright 2020 Aleksej Komarov * @license MIT @@ -210,7 +210,7 @@ * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var f=["backend/update","chat/message"],b=r.debugMiddleware=function(){function I(k){return(0,t.acquireHotKey)(e.KEY_F11),(0,t.acquireHotKey)(e.KEY_F12),a.globalEvents.on("keydown",function(g){g.code===e.KEY_F11&&k.dispatch((0,o.toggleDebugLayout)()),g.code===e.KEY_F12&&k.dispatch((0,o.toggleKitchenSink)()),g.ctrl&&g.alt&&g.code===e.KEY_BACKSPACE&&setTimeout(function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})}),function(g){return function(u){return g(u)}}}return I}(),S=r.relayMiddleware=function(){function I(k){var g=n(7435),u=location.search==="?external";return u?g.subscribe(function(c){var m=c.type,l=c.payload;m==="relay"&&l.windowId===Byond.windowId&&k.dispatch(Object.assign({},l.action,{relayed:!0}))}):((0,t.acquireHotKey)(e.KEY_F10),a.globalEvents.on("keydown",function(c){c===e.KEY_F10&&k.dispatch((0,o.openExternalBrowser)())})),function(c){return function(m){var l=m.type,d=m.payload,s=m.relayed;if(l===o.openExternalBrowser.type){window.open(location.href+"?external","_blank");return}return f.includes(l)&&!s&&!u&&g.sendMessage({type:"relay",payload:{windowId:Byond.windowId,action:m}}),c(m)}}}return I}()},19147:function(A,r){"use strict";r.__esModule=!0,r.debugReducer=void 0;/** + */var f=["backend/update","chat/message"],b=r.debugMiddleware=function(){function I(k){return(0,t.acquireHotKey)(e.KEY_F11),(0,t.acquireHotKey)(e.KEY_F12),a.globalEvents.on("keydown",function(g){g.code===e.KEY_F11&&k.dispatch((0,o.toggleDebugLayout)()),g.code===e.KEY_F12&&k.dispatch((0,o.toggleKitchenSink)()),g.ctrl&&g.alt&&g.code===e.KEY_BACKSPACE&&setTimeout(function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})}),function(g){return function(d){return g(d)}}}return I}(),S=r.relayMiddleware=function(){function I(k){var g=n(7435),d=location.search==="?external";return d?g.subscribe(function(c){var m=c.type,l=c.payload;m==="relay"&&l.windowId===Byond.windowId&&k.dispatch(Object.assign({},l.action,{relayed:!0}))}):((0,t.acquireHotKey)(e.KEY_F10),a.globalEvents.on("keydown",function(c){c===e.KEY_F10&&k.dispatch((0,o.openExternalBrowser)())})),function(c){return function(m){var l=m.type,u=m.payload,s=m.relayed;if(l===o.openExternalBrowser.type){window.open(location.href+"?external","_blank");return}return f.includes(l)&&!s&&!d&&g.sendMessage({type:"relay",payload:{windowId:Byond.windowId,action:m}}),c(m)}}}return I}()},19147:function(A,r){"use strict";r.__esModule=!0,r.debugReducer=void 0;/** * @file * @copyright 2020 Aleksej Komarov * @license MIT @@ -222,13 +222,13 @@ * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var S=(0,t.createLogger)("drag"),I=Byond.windowId,k=!1,g=!1,u=[0,0],c,m,l,d,s,i=r.setWindowKey=function(){function R(j){I=j}return R}(),h=r.getWindowPosition=function(){function R(){return[window.screenLeft,window.screenTop]}return R}(),C=r.getWindowSize=function(){function R(){return[window.innerWidth,window.innerHeight]}return R}(),v=r.setWindowPosition=function(){function R(j){var F=(0,a.vecAdd)(j,u);return Byond.winset(Byond.windowId,{pos:F[0]+","+F[1]})}return R}(),p=r.setWindowSize=function(){function R(j){return Byond.winset(Byond.windowId,{size:j[0]+"x"+j[1]})}return R}(),N=r.getScreenPosition=function(){function R(){return[0-u[0],0-u[1]]}return R}(),V=r.getScreenSize=function(){function R(){return[window.screen.availWidth,window.screen.availHeight]}return R}(),y=function(j,F,W){W===void 0&&(W=50);for(var z=[F],K,G=0;Gue&&(K[J]=ue-F[J],G=!0)}return[G,K]},T=r.dragStartHandler=function(){function R(j){S.log("drag start"),k=!0,m=[window.screenLeft-j.screenX,window.screenTop-j.screenY],document.addEventListener("mousemove",O),document.addEventListener("mouseup",M),O(j)}return R}(),M=function R(j){S.log("drag end"),O(j),document.removeEventListener("mousemove",O),document.removeEventListener("mouseup",R),k=!1,B()},O=function(j){k&&(j.preventDefault(),v((0,a.vecAdd)([j.screenX,j.screenY],m)))},D=r.resizeStartHandler=function(){function R(j,F){return function(W){l=[j,F],S.log("resize start",l),g=!0,m=[window.screenLeft-W.screenX,window.screenTop-W.screenY],d=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",P),document.addEventListener("mouseup",E),P(W)}}return R}(),E=function R(j){S.log("resize end",s),P(j),document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",R),g=!1,B()},P=function(j){g&&(j.preventDefault(),s=(0,a.vecAdd)(d,(0,a.vecMultiply)(l,(0,a.vecAdd)([j.screenX,j.screenY],(0,a.vecInverse)([window.screenLeft,window.screenTop]),m,[1,1]))),s[0]=Math.max(s[0],150),s[1]=Math.max(s[1],50),p(s))}},24826:function(A,r,n){"use strict";r.__esModule=!0,r.setupGlobalEvents=r.removeScrollableNode=r.globalEvents=r.canStealFocus=r.addScrollableNode=r.KeyEvent=void 0;var e=n(92868),a=n(92986);/** +*/var S=(0,t.createLogger)("drag"),I=Byond.windowId,k=!1,g=!1,d=[0,0],c,m,l,u,s,i=r.setWindowKey=function(){function R(j){I=j}return R}(),h=r.getWindowPosition=function(){function R(){return[window.screenLeft,window.screenTop]}return R}(),C=r.getWindowSize=function(){function R(){return[window.innerWidth,window.innerHeight]}return R}(),v=r.setWindowPosition=function(){function R(j){var F=(0,a.vecAdd)(j,d);return Byond.winset(Byond.windowId,{pos:F[0]+","+F[1]})}return R}(),p=r.setWindowSize=function(){function R(j){return Byond.winset(Byond.windowId,{size:j[0]+"x"+j[1]})}return R}(),N=r.getScreenPosition=function(){function R(){return[0-d[0],0-d[1]]}return R}(),V=r.getScreenSize=function(){function R(){return[window.screen.availWidth,window.screen.availHeight]}return R}(),y=function(j,F,W){W===void 0&&(W=50);for(var z=[F],K,G=0;Gue&&(K[J]=ue-F[J],G=!0)}return[G,K]},T=r.dragStartHandler=function(){function R(j){S.log("drag start"),k=!0,m=[window.screenLeft-j.screenX,window.screenTop-j.screenY],document.addEventListener("mousemove",O),document.addEventListener("mouseup",M),O(j)}return R}(),M=function R(j){S.log("drag end"),O(j),document.removeEventListener("mousemove",O),document.removeEventListener("mouseup",R),k=!1,B()},O=function(j){k&&(j.preventDefault(),v((0,a.vecAdd)([j.screenX,j.screenY],m)))},D=r.resizeStartHandler=function(){function R(j,F){return function(W){l=[j,F],S.log("resize start",l),g=!0,m=[window.screenLeft-W.screenX,window.screenTop-W.screenY],u=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",P),document.addEventListener("mouseup",E),P(W)}}return R}(),E=function R(j){S.log("resize end",s),P(j),document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",R),g=!1,B()},P=function(j){g&&(j.preventDefault(),s=(0,a.vecAdd)(u,(0,a.vecMultiply)(l,(0,a.vecAdd)([j.screenX,j.screenY],(0,a.vecInverse)([window.screenLeft,window.screenTop]),m,[1,1]))),s[0]=Math.max(s[0],150),s[1]=Math.max(s[1],50),p(s))}},24826:function(A,r,n){"use strict";r.__esModule=!0,r.setupGlobalEvents=r.removeScrollableNode=r.globalEvents=r.canStealFocus=r.addScrollableNode=r.KeyEvent=void 0;var e=n(92868),a=n(92986);/** * Normalized browser focus events and BYOND-specific focus helpers. * * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var t=r.globalEvents=new e.EventEmitter,o=!1,f=r.setupGlobalEvents=function(){function p(N){N===void 0&&(N={}),o=!!N.ignoreWindowFocus}return p}(),b,S=!0,I=function p(N,V){if(o){S=!0;return}if(b&&(clearTimeout(b),b=null),V){b=setTimeout(function(){return p(N)});return}S!==N&&(S=N,t.emit(N?"window-focus":"window-blur"),t.emit("window-focus-change",N))},k=null,g=r.canStealFocus=function(){function p(N){var V=String(N.tagName).toLowerCase();return V==="input"||V==="textarea"}return p}(),u=function(N){c(),k=N,k.addEventListener("blur",c)},c=function p(){k&&(k.removeEventListener("blur",p),k=null)},m=null,l=null,d=[],s=r.addScrollableNode=function(){function p(N){d.push(N)}return p}(),i=r.removeScrollableNode=function(){function p(N){var V=d.indexOf(N);V>=0&&d.splice(V,1)}return p}(),h=function(N){if(!(k||!S))for(var V=document.body;N&&N!==V;){if(d.includes(N)){if(N.contains(m))return;m=N,N.focus();return}N=N.parentNode}};window.addEventListener("mousemove",function(p){var N=p.target;N!==l&&(l=N,h(N))}),window.addEventListener("focusin",function(p){if(l=null,m=p.target,I(!0),g(p.target)){u(p.target);return}}),window.addEventListener("focusout",function(p){l=null,I(!1,!0)}),window.addEventListener("blur",function(p){l=null,I(!1,!0)}),window.addEventListener("beforeunload",function(p){I(!1)});var C={},v=r.KeyEvent=function(){function p(V,y,B){this.event=V,this.type=y,this.code=window.event?V.which:V.keyCode,this.ctrl=V.ctrlKey,this.shift=V.shiftKey,this.alt=V.altKey,this.repeat=!!B}var N=p.prototype;return N.hasModifierKeys=function(){function V(){return this.ctrl||this.alt||this.shift}return V}(),N.isModifierKey=function(){function V(){return this.code===a.KEY_CTRL||this.code===a.KEY_SHIFT||this.code===a.KEY_ALT}return V}(),N.isDown=function(){function V(){return this.type==="keydown"}return V}(),N.isUp=function(){function V(){return this.type==="keyup"}return V}(),N.toString=function(){function V(){return this._str?this._str:(this._str="",this.ctrl&&(this._str+="Ctrl+"),this.alt&&(this._str+="Alt+"),this.shift&&(this._str+="Shift+"),this.code>=48&&this.code<=90?this._str+=String.fromCharCode(this.code):this.code>=a.KEY_F1&&this.code<=a.KEY_F12?this._str+="F"+(this.code-111):this._str+="["+this.code+"]",this._str)}return V}(),p}();document.addEventListener("keydown",function(p){if(!g(p.target)){var N=p.keyCode,V=new v(p,"keydown",C[N]);t.emit("keydown",V),t.emit("key",V),C[N]=!0}}),document.addEventListener("keyup",function(p){if(!g(p.target)){var N=p.keyCode,V=new v(p,"keyup");t.emit("keyup",V),t.emit("key",V),C[N]=!1}})},87695:function(A,r){"use strict";r.__esModule=!0,r.focusWindow=r.focusMap=void 0;/** + */var t=r.globalEvents=new e.EventEmitter,o=!1,f=r.setupGlobalEvents=function(){function p(N){N===void 0&&(N={}),o=!!N.ignoreWindowFocus}return p}(),b,S=!0,I=function p(N,V){if(o){S=!0;return}if(b&&(clearTimeout(b),b=null),V){b=setTimeout(function(){return p(N)});return}S!==N&&(S=N,t.emit(N?"window-focus":"window-blur"),t.emit("window-focus-change",N))},k=null,g=r.canStealFocus=function(){function p(N){var V=String(N.tagName).toLowerCase();return V==="input"||V==="textarea"}return p}(),d=function(N){c(),k=N,k.addEventListener("blur",c)},c=function p(){k&&(k.removeEventListener("blur",p),k=null)},m=null,l=null,u=[],s=r.addScrollableNode=function(){function p(N){u.push(N)}return p}(),i=r.removeScrollableNode=function(){function p(N){var V=u.indexOf(N);V>=0&&u.splice(V,1)}return p}(),h=function(N){if(!(k||!S))for(var V=document.body;N&&N!==V;){if(u.includes(N)){if(N.contains(m))return;m=N,N.focus();return}N=N.parentNode}};window.addEventListener("mousemove",function(p){var N=p.target;N!==l&&(l=N,h(N))}),window.addEventListener("focusin",function(p){if(l=null,m=p.target,I(!0),g(p.target)){d(p.target);return}}),window.addEventListener("focusout",function(p){l=null,I(!1,!0)}),window.addEventListener("blur",function(p){l=null,I(!1,!0)}),window.addEventListener("beforeunload",function(p){I(!1)});var C={},v=r.KeyEvent=function(){function p(V,y,B){this.event=V,this.type=y,this.code=window.event?V.which:V.keyCode,this.ctrl=V.ctrlKey,this.shift=V.shiftKey,this.alt=V.altKey,this.repeat=!!B}var N=p.prototype;return N.hasModifierKeys=function(){function V(){return this.ctrl||this.alt||this.shift}return V}(),N.isModifierKey=function(){function V(){return this.code===a.KEY_CTRL||this.code===a.KEY_SHIFT||this.code===a.KEY_ALT}return V}(),N.isDown=function(){function V(){return this.type==="keydown"}return V}(),N.isUp=function(){function V(){return this.type==="keyup"}return V}(),N.toString=function(){function V(){return this._str?this._str:(this._str="",this.ctrl&&(this._str+="Ctrl+"),this.alt&&(this._str+="Alt+"),this.shift&&(this._str+="Shift+"),this.code>=48&&this.code<=90?this._str+=String.fromCharCode(this.code):this.code>=a.KEY_F1&&this.code<=a.KEY_F12?this._str+="F"+(this.code-111):this._str+="["+this.code+"]",this._str)}return V}(),p}();document.addEventListener("keydown",function(p){if(!g(p.target)){var N=p.keyCode,V=new v(p,"keydown",C[N]);t.emit("keydown",V),t.emit("key",V),C[N]=!0}}),document.addEventListener("keyup",function(p){if(!g(p.target)){var N=p.keyCode,V=new v(p,"keyup");t.emit("keyup",V),t.emit("key",V),C[N]=!1}})},87695:function(A,r){"use strict";r.__esModule=!0,r.focusWindow=r.focusMap=void 0;/** * Various focus helpers. * * @file @@ -238,32 +238,32 @@ * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var a=["f","p","n","\u03BC","m"," ","k","M","G","T","P","E","Z","Y"],t=a.indexOf(" "),o=r.formatSiUnit=function(){function I(k,g,u){if(g===void 0&&(g=-t),u===void 0&&(u=""),typeof k!="number"||!Number.isFinite(k))return k;var c=Math.floor(Math.log10(k)),m=Math.floor(Math.max(g*3,c)),l=Math.floor(c/3),d=Math.floor(m/3),s=(0,e.clamp)(t+d,0,a.length),i=a[s],h=k/Math.pow(1e3,d),C=l>g?2+d*3-m:0,v=(0,e.toFixed)(h,C)+" "+i+u;return v.trim()}return I}(),f=r.formatPower=function(){function I(k,g){return g===void 0&&(g=0),o(k,g,"W")}return I}(),b=r.formatMoney=function(){function I(k,g){if(g===void 0&&(g=0),!Number.isFinite(k))return k;var u=(0,e.round)(k,g);g>0&&(u=(0,e.toFixed)(k,g)),u=String(u);var c=u.length,m=u.indexOf(".");m===-1&&(m=c);for(var l="",d=0;d0&&d=0?"+":g<0?"\u2013":"",c=Math.abs(g);return c===1/0?c="Inf":c=(0,e.toFixed)(c,2),u+c+" dB"}return I}()},56518:function(A,r,n){"use strict";r.__esModule=!0,r.setupHotKeys=r.releaseHotKey=r.releaseHeldKeys=r.acquireHotKey=void 0;var e=f(n(92986)),a=n(24826),t=n(9394);function o(s){if(typeof WeakMap!="function")return null;var i=new WeakMap,h=new WeakMap;return(o=function(v){return v?h:i})(s)}function f(s,i){if(!i&&s&&s.__esModule)return s;if(s===null||typeof s!="object"&&typeof s!="function")return{default:s};var h=o(i);if(h&&h.has(s))return h.get(s);var C={__proto__:null},v=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var p in s)if(p!=="default"&&{}.hasOwnProperty.call(s,p)){var N=v?Object.getOwnPropertyDescriptor(s,p):null;N&&(N.get||N.set)?Object.defineProperty(C,p,N):C[p]=s[p]}return C.default=s,h&&h.set(s,C),C}/** + */var a=["f","p","n","\u03BC","m"," ","k","M","G","T","P","E","Z","Y"],t=a.indexOf(" "),o=r.formatSiUnit=function(){function I(k,g,d){if(g===void 0&&(g=-t),d===void 0&&(d=""),typeof k!="number"||!Number.isFinite(k))return k;var c=Math.floor(Math.log10(k)),m=Math.floor(Math.max(g*3,c)),l=Math.floor(c/3),u=Math.floor(m/3),s=(0,e.clamp)(t+u,0,a.length),i=a[s],h=k/Math.pow(1e3,u),C=l>g?2+u*3-m:0,v=(0,e.toFixed)(h,C)+" "+i+d;return v.trim()}return I}(),f=r.formatPower=function(){function I(k,g){return g===void 0&&(g=0),o(k,g,"W")}return I}(),b=r.formatMoney=function(){function I(k,g){if(g===void 0&&(g=0),!Number.isFinite(k))return k;var d=(0,e.round)(k,g);g>0&&(d=(0,e.toFixed)(k,g)),d=String(d);var c=d.length,m=d.indexOf(".");m===-1&&(m=c);for(var l="",u=0;u0&&u=0?"+":g<0?"\u2013":"",c=Math.abs(g);return c===1/0?c="Inf":c=(0,e.toFixed)(c,2),d+c+" dB"}return I}()},56518:function(A,r,n){"use strict";r.__esModule=!0,r.setupHotKeys=r.releaseHotKey=r.releaseHeldKeys=r.acquireHotKey=void 0;var e=f(n(92986)),a=n(24826),t=n(9394);function o(s){if(typeof WeakMap!="function")return null;var i=new WeakMap,h=new WeakMap;return(o=function(v){return v?h:i})(s)}function f(s,i){if(!i&&s&&s.__esModule)return s;if(s===null||typeof s!="object"&&typeof s!="function")return{default:s};var h=o(i);if(h&&h.has(s))return h.get(s);var C={__proto__:null},v=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var p in s)if(p!=="default"&&{}.hasOwnProperty.call(s,p)){var N=v?Object.getOwnPropertyDescriptor(s,p):null;N&&(N.get||N.set)?Object.defineProperty(C,p,N):C[p]=s[p]}return C.default=s,h&&h.set(s,C),C}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var b=(0,t.createLogger)("hotkeys"),S={},I=[e.KEY_ESCAPE,e.KEY_ENTER,e.KEY_SPACE,e.KEY_TAB,e.KEY_CTRL,e.KEY_SHIFT,e.KEY_UP,e.KEY_DOWN,e.KEY_LEFT,e.KEY_RIGHT],k={},g=function(i){if(i===16)return"Shift";if(i===17)return"Ctrl";if(i===18)return"Alt";if(i===33)return"Northeast";if(i===34)return"Southeast";if(i===35)return"Southwest";if(i===36)return"Northwest";if(i===37)return"West";if(i===38)return"North";if(i===39)return"East";if(i===40)return"South";if(i===45)return"Insert";if(i===46)return"Delete";if(i>=48&&i<=57||i>=65&&i<=90)return String.fromCharCode(i);if(i>=96&&i<=105)return"Numpad"+(i-96);if(i>=112&&i<=123)return"F"+(i-111);if(i===188)return",";if(i===189)return"-";if(i===190)return"."},u=function(i){var h=String(i);if(h==="Ctrl+F5"||h==="Ctrl+R"){location.reload();return}if(h!=="Ctrl+F"&&!(i.event.defaultPrevented||i.isModifierKey()||I.includes(i.code))){h==="F5"&&(i.event.preventDefault(),i.event.returnValue=!1);var C=g(i.code);if(C){var v=S[C];if(v)return b.debug("macro",v),Byond.command(v);if(i.isDown()&&!k[C]){k[C]=!0;var p='Key_Down "'+C+'"';return b.debug(p),Byond.command(p)}if(i.isUp()&&k[C]){k[C]=!1;var N='Key_Up "'+C+'"';return b.debug(N),Byond.command(N)}}}},c=r.acquireHotKey=function(){function s(i){I.push(i)}return s}(),m=r.releaseHotKey=function(){function s(i){var h=I.indexOf(i);h>=0&&I.splice(h,1)}return s}(),l=r.releaseHeldKeys=function(){function s(){for(var i=0,h=Object.keys(k);i0||(0,a.fetchRetry)((0,e.resolveAsset)("icon_ref_map.json")).then(function(b){return b.json()}).then(function(b){return Byond.iconRefMap=b}).catch(function(b){return t.logger.log(b)})}return f}()},1090:function(A,r,n){"use strict";r.__esModule=!0,r.AICard=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AICard=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data;if(u.has_ai===0)return(0,e.createComponentVNode)(2,o.Window,{width:250,height:120,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Stored AI",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createVNode)(1,"h3",null,"No AI detected.",16)})})})});var c=null;return u.integrity>=75?c="green":u.integrity>=25?c="yellow":c="red",(0,e.createComponentVNode)(2,o.Window,{width:600,height:420,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:u.name,children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:c,value:u.integrity/100})})}),(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h2",null,u.flushing===1?"Wipe of AI in progress...":"",0)})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Laws",children:!!u.has_laws&&(0,e.createComponentVNode)(2,t.Box,{children:u.laws.map(function(m,l){return(0,e.createComponentVNode)(2,t.Box,{children:m},l)})})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h3",null,"No laws detected.",16)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wireless Activity",children:(0,e.createComponentVNode)(2,t.Button,{width:10,icon:u.wireless?"check":"times",content:u.wireless?"Enabled":"Disabled",color:u.wireless?"green":"red",onClick:function(){function m(){return g("wireless")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subspace Transceiver",children:(0,e.createComponentVNode)(2,t.Button,{width:10,icon:u.radio?"check":"times",content:u.radio?"Enabled":"Disabled",color:u.radio?"green":"red",onClick:function(){function m(){return g("radio")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wipe",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{width:10,icon:"trash-alt",confirmIcon:"trash-alt",disabled:u.flushing||u.integrity===0,confirmColor:"red",content:"Wipe AI",onClick:function(){function m(){return g("wipe")}return m}()})})]})})})]})})})}return b}()},39454:function(A,r,n){"use strict";r.__esModule=!0,r.AIFixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AIFixer=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data;if(u.occupant===null)return(0,e.createComponentVNode)(2,o.Window,{width:550,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Stored AI",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"robot",size:5,color:"silver"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"h3",null,"No Artificial Intelligence detected.",16)]})})})})});var c=!0;(u.stat===2||u.stat===null)&&(c=!1);var m=null;u.integrity>=75?m="green":u.integrity>=25?m="yellow":m="red";var l=!0;return u.integrity>=100&&u.stat!==2&&(l=!1),(0,e.createComponentVNode)(2,o.Window,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:u.occupant,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:m,value:u.integrity/100})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:c?"green":"red",children:c?"Functional":"Non-Functional"})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Laws",children:!!u.has_laws&&(0,e.createComponentVNode)(2,t.Box,{children:u.laws.map(function(d,s){return(0,e.createComponentVNode)(2,t.Box,{inline:!0,children:d},s)})})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h3",null,"No laws detected.",16)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wireless Activity",children:(0,e.createComponentVNode)(2,t.Button,{icon:u.wireless?"times":"check",content:u.wireless?"Disabled":"Enabled",color:u.wireless?"red":"green",onClick:function(){function d(){return g("wireless")}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subspace Transceiver",children:(0,e.createComponentVNode)(2,t.Button,{icon:u.radio?"times":"check",content:u.radio?"Disabled":"Enabled",color:u.radio?"red":"green",onClick:function(){function d(){return g("radio")}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Start Repairs",children:(0,e.createComponentVNode)(2,t.Button,{icon:"wrench",disabled:!l||u.active,content:!l||u.active?"Already Repaired":"Repair",onClick:function(){function d(){return g("fix")}return d}()})})]}),(0,e.createComponentVNode)(2,t.Box,{color:"green",lineHeight:2,children:u.active?"Reconstruction in progress.":""})]})})]})})})}return b}()},88422:function(A,r,n){"use strict";r.__esModule=!0,r.APC=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(195),b=r.APC=function(){function g(u,c){return(0,e.createComponentVNode)(2,o.Window,{width:510,height:435,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,k)})})}return g}(),S={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},I={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},k=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.locked&&!d.siliconUser,i=d.normallyLocked,h=S[d.externalPower]||S[0],C=S[d.chargingStatus]||S[0],v=d.powerChannels||[],p=I[d.malfStatus]||I[0],N=d.powerCellStatus/100;return(0,e.createFragment)([(0,e.createComponentVNode)(2,f.InterfaceLockNoticeBox),(0,e.createComponentVNode)(2,t.Section,{title:"Power Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Main Breaker",color:h.color,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:d.isOperating?"power-off":"times",content:d.isOperating?"On":"Off",selected:d.isOperating&&!s,color:d.isOperating?"":"bad",disabled:s,onClick:function(){function V(){return l("breaker")}return V}()}),children:["[ ",h.externalPowerText," ]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power Cell",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:"good",value:N})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Charge Mode",color:C.color,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:d.chargeMode?"sync":"times",content:d.chargeMode?"Auto":"Off",selected:d.chargeMode,disabled:s,onClick:function(){function V(){return l("charge")}return V}()}),children:["[ ",C.chargingText," ]"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Power Channels",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[v.map(function(V){var y=V.topicParams;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:V.title,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{inline:!0,mx:2,color:V.status>=2?"good":"bad",children:V.status>=2?"On":"Off"}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Auto",selected:!s&&(V.status===1||V.status===3),disabled:s,onClick:function(){function B(){return l("channel",y.auto)}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:"On",selected:!s&&V.status===2,disabled:s,onClick:function(){function B(){return l("channel",y.on)}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Off",selected:!s&&V.status===0,disabled:s,onClick:function(){function B(){return l("channel",y.off)}return B}()})],4),children:[V.powerLoad," W"]},V.title)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Load",children:(0,e.createVNode)(1,"b",null,[d.totalLoad,(0,e.createTextVNode)(" W")],0)})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Misc",buttons:!!d.siliconUser&&(0,e.createFragment)([!!d.malfStatus&&(0,e.createComponentVNode)(2,t.Button,{icon:p.icon,content:p.content,color:"bad",onClick:function(){function V(){return l(p.action)}return V}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){function V(){return l("overload")}return V}()})],0),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cover Lock",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.4,icon:d.coverLocked?"lock":"unlock",content:d.coverLocked?"Engaged":"Disengaged",disabled:s,onClick:function(){function V(){return l("cover")}return V}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"lightbulb-o",content:d.emergencyLights?"Enabled":"Disabled",disabled:s,onClick:function(){function V(){return l("emergency_lighting")}return V}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,e.createComponentVNode)(2,t.Button,{mt:.4,icon:"lightbulb-o",content:d.nightshiftLights?"Enabled":"Disabled",onClick:function(){function V(){return l("toggle_nightshift")}return V}()})})]})})],4)}},99660:function(A,r,n){"use strict";r.__esModule=!0,r.ATM=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ATM=function(){function m(l,d){var s=(0,a.useBackend)(d),i=s.act,h=s.data,C=h.view_screen,v=h.authenticated_account,p=h.ticks_left_locked_down,N=h.linked_db,V;if(p>0)V=(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-triangle"}),"Maximum number of pin attempts exceeded! Access to this ATM has been temporarily disabled."]});else if(!N)V=(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-triangle"}),"Unable to connect to accounts database, please retry and if the issue persists contact Nanotrasen IT support."]});else if(v)switch(C){case 1:V=(0,e.createComponentVNode)(2,S);break;case 2:V=(0,e.createComponentVNode)(2,I);break;case 3:V=(0,e.createComponentVNode)(2,u);break;default:V=(0,e.createComponentVNode)(2,k)}else V=(0,e.createComponentVNode)(2,g);return(0,e.createComponentVNode)(2,o.Window,{width:550,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,t.Section,{children:V})]})})}return m}(),b=function(l,d){var s=(0,a.useBackend)(d),i=s.act,h=s.data,C=h.machine_id,v=h.held_card_name;return(0,e.createComponentVNode)(2,t.Section,{title:"Nanotrasen Automatic Teller Machine",children:[(0,e.createComponentVNode)(2,t.Box,{children:"For all your monetary needs!"}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Card",children:(0,e.createComponentVNode)(2,t.Button,{content:v,icon:"eject",onClick:function(){function p(){return i("insert_card")}return p}()})})})]})},S=function(l,d){var s=(0,a.useBackend)(d),i=s.act,h=s.data,C=h.security_level;return(0,e.createComponentVNode)(2,t.Section,{title:"Select a new security level for this account",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:(0,e.createComponentVNode)(2,t.Button,{content:"Account Number",icon:"unlock",selected:C===0,onClick:function(){function v(){return i("change_security_level",{new_security_level:1})}return v}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:"Either the account number or card is required to access this account. EFTPOS transactions will require a card."}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:(0,e.createComponentVNode)(2,t.Button,{content:"Account Pin",icon:"unlock",selected:C===2,onClick:function(){function v(){return i("change_security_level",{new_security_level:2})}return v}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:"An account number and pin must be manually entered to access this account and process transactions."})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,c)]})},I=function(l,d){var s=(0,a.useBackend)(d),i=s.act,h=s.data,C=(0,a.useLocalState)(d,"targetAccNumber",0),v=C[0],p=C[1],N=(0,a.useLocalState)(d,"fundsAmount",0),V=N[0],y=N[1],B=(0,a.useLocalState)(d,"purpose",0),L=B[0],w=B[1],x=h.money;return(0,e.createComponentVNode)(2,t.Section,{title:"Transfer Fund",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account Balance",children:["$",x]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Account Number",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"7 Digit Number",onInput:function(){function T(M,O){return p(O)}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Funds to Transfer",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function T(M,O){return y(O)}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transaction Purpose",children:(0,e.createComponentVNode)(2,t.Input,{fluid:!0,onInput:function(){function T(M,O){return w(O)}return T}()})})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.Button,{content:"Transfer",icon:"sign-out-alt",onClick:function(){function T(){return i("transfer",{target_acc_number:v,funds_amount:V,purpose:L})}return T}()}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,c)]})},k=function(l,d){var s=(0,a.useBackend)(d),i=s.act,h=s.data,C=(0,a.useLocalState)(d,"fundsAmount",0),v=C[0],p=C[1],N=h.owner_name,V=h.money;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Welcome, "+N,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Logout",icon:"sign-out-alt",onClick:function(){function y(){return i("logout")}return y}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account Balance",children:["$",V]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Withdrawal Amount",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function y(B,L){return p(L)}return y}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Withdraw Funds",icon:"sign-out-alt",onClick:function(){function y(){return i("withdrawal",{funds_amount:v})}return y}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Menu",children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Change account security level",icon:"lock",onClick:function(){function y(){return i("view_screen",{view_screen:1})}return y}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Make transfer",icon:"exchange-alt",onClick:function(){function y(){return i("view_screen",{view_screen:2})}return y}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"View transaction log",icon:"list",onClick:function(){function y(){return i("view_screen",{view_screen:3})}return y}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Print balance statement",icon:"print",onClick:function(){function y(){return i("balance_statement")}return y}()})})]})],4)},g=function(l,d){var s=(0,a.useBackend)(d),i=s.act,h=s.data,C=(0,a.useLocalState)(d,"accountID",null),v=C[0],p=C[1],N=(0,a.useLocalState)(d,"accountPin",null),V=N[0],y=N[1],B=h.machine_id,L=h.held_card_name;return(0,e.createComponentVNode)(2,t.Section,{title:"Insert card or enter ID and pin to login",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account ID",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"6 Digit Number",onInput:function(){function w(x,T){return p(T)}return w}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pin",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"6 Digit Number",onInput:function(){function w(x,T){return y(T)}return w}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Login",icon:"sign-in-alt",onClick:function(){function w(){return i("attempt_auth",{account_num:v,account_pin:V})}return w}()})})]})})},u=function(l,d){var s=(0,a.useBackend)(d),i=s.act,h=s.data,C=h.transaction_log;return(0,e.createComponentVNode)(2,t.Section,{title:"Transactions",children:[(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Timestamp"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Reason"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Value"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Terminal"})]}),C.map(function(v){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.time}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.purpose}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:v.is_deposit?"green":"red",children:["$",v.amount]}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.target_name})]},v)})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,c)]})},c=function(l,d){var s=(0,a.useBackend)(d),i=s.act,h=s.data;return(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"sign-out-alt",onClick:function(){function C(){return i("view_screen",{view_screen:0})}return C}()})}},86423:function(A,r,n){"use strict";r.__esModule=!0,r.AccountsUplinkTerminal=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(36352),b=n(98595),S=n(321),I=n(5485),k=r.AccountsUplinkTerminal=function(){function h(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=V.loginState,B=V.currentPage,L;if(y.logged_in)B===1?L=(0,e.createComponentVNode)(2,u):B===2?L=(0,e.createComponentVNode)(2,s):B===3&&(L=(0,e.createComponentVNode)(2,i));else return(0,e.createComponentVNode)(2,b.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,I.LoginScreen)})})});return(0,e.createComponentVNode)(2,b.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S.LoginInfo),(0,e.createComponentVNode)(2,g),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:L})]})})})}return h}(),g=function(C,v){var p=(0,t.useBackend)(v),N=p.data,V=(0,t.useLocalState)(v,"tabIndex",0),y=V[0],B=V[1],L=N.login_state;return(0,e.createComponentVNode)(2,o.Stack,{vertical:!0,mb:1,children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"list",selected:y===0,onClick:function(){function w(){return B(0)}return w}(),children:"User Accounts"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"list",selected:y===1,onClick:function(){function w(){return B(1)}return w}(),children:"Department Accounts"})]})})})},u=function(C,v){var p=(0,t.useLocalState)(v,"tabIndex",0),N=p[0];switch(N){case 0:return(0,e.createComponentVNode)(2,c);case 1:return(0,e.createComponentVNode)(2,m);default:return"You are somehow on a tab that doesn't exist! Please let a coder know."}},c=function(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=V.accounts,B=(0,t.useLocalState)(v,"searchText",""),L=B[0],w=B[1],x=(0,t.useLocalState)(v,"sortId","owner_name"),T=x[0],M=x[1],O=(0,t.useLocalState)(v,"sortOrder",!0),D=O[0],E=O[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"AccountsUplinkTerminal__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,l,{id:"owner_name",children:"Account Holder"}),(0,e.createComponentVNode)(2,l,{id:"account_number",children:"Account Number"}),(0,e.createComponentVNode)(2,l,{id:"suspended",children:"Account Status"}),(0,e.createComponentVNode)(2,l,{id:"money",children:"Account Balance"})]}),y.filter((0,a.createSearch)(L,function(P){return P.owner_name+"|"+P.account_number+"|"+P.suspended+"|"+P.money})).sort(function(P,R){var j=D?1:-1;return P[T].localeCompare(R[T])*j}).map(function(P){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"AccountsUplinkTerminal__listRow--"+P.suspended,onClick:function(){function R(){return N("view_account_detail",{account_num:P.account_number})}return R}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",P.owner_name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:["#",P.account_number]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:P.suspended}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:P.money})]},P.account_number)})]})})})]})},m=function(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=V.department_accounts;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.Table,{className:"AccountsUplinkTerminal__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,f.TableCell,{children:"Department Name"}),(0,e.createComponentVNode)(2,f.TableCell,{children:"Account Number"}),(0,e.createComponentVNode)(2,f.TableCell,{children:"Account Status"}),(0,e.createComponentVNode)(2,f.TableCell,{children:"Account Balance"})]}),y.map(function(B){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"AccountsUplinkTerminal__listRow--"+B.suspended,onClick:function(){function L(){return N("view_account_detail",{account_num:B.account_number})}return L}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"wallet"})," ",B.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:["#",B.account_number]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:B.suspended}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:B.money})]},B.account_number)})]})})})})},l=function(C,v){var p=(0,t.useLocalState)(v,"sortId","name"),N=p[0],V=p[1],y=(0,t.useLocalState)(v,"sortOrder",!0),B=y[0],L=y[1],w=C.id,x=C.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{color:N!==w&&"transparent",width:"100%",onClick:function(){function T(){N===w?L(!B):(V(w),L(!0))}return T}(),children:[x,N===w&&(0,e.createComponentVNode)(2,o.Icon,{name:B?"sort-up":"sort-down",ml:"0.25rem;"})]})})},d=function(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=V.is_printing,B=(0,t.useLocalState)(v,"searchText",""),L=B[0],w=B[1];return(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"New Account",icon:"plus",onClick:function(){function x(){return N("create_new_account")}return x}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by account holder, number, status",width:"100%",onInput:function(){function x(T,M){return w(M)}return x}()})})]})},s=function(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=V.account_number,B=V.owner_name,L=V.money,w=V.suspended,x=V.transactions,T=V.account_pin,M=V.is_department_account;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"#"+y+" / "+B,buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-left",content:"Back",onClick:function(){function O(){return N("back")}return O}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Number",children:["#",y]}),!!M&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Pin",children:T}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Pin Actions",children:(0,e.createComponentVNode)(2,o.Button,{ml:1,icon:"user-cog",content:"Set New Pin",disabled:!!M,onClick:function(){function O(){return N("set_account_pin",{account_number:y})}return O}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Holder",children:B}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Balance",children:L}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Status",color:w?"red":"green",children:[w?"Suspended":"Active",(0,e.createComponentVNode)(2,o.Button,{ml:1,content:w?"Unsuspend":"Suspend",icon:w?"unlock":"lock",onClick:function(){function O(){return N("toggle_suspension")}return O}()})]})]})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Transactions",children:(0,e.createComponentVNode)(2,o.Table,{children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Timestamp"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Reason"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Value"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Terminal"})]}),x.map(function(O){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:O.time}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:O.purpose}),(0,e.createComponentVNode)(2,o.Table.Cell,{color:O.is_deposit?"green":"red",children:["$",O.amount]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:O.target_name})]},O)})]})})})]})},i=function(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=(0,t.useLocalState)(v,"accName",""),B=y[0],L=y[1],w=(0,t.useLocalState)(v,"accDeposit",""),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,o.Section,{title:"Create Account",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-left",content:"Back",onClick:function(){function M(){return N("back")}return M}()}),children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Holder",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Name Here",onChange:function(){function M(O,D){return L(D)}return M}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Initial Deposit",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"0",onChange:function(){function M(O,D){return T(D)}return M}()})})]}),(0,e.createComponentVNode)(2,o.Button,{mt:1,fluid:!0,content:"Create Account",onClick:function(){function M(){return N("finalise_create_account",{holder_name:B,starting_funds:x})}return M}()})]})}},23001:function(A,r,n){"use strict";r.__esModule=!0,r.AdminAntagMenu=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(36352),b=n(98595),S=n(321),I=n(5485),k=function(h){switch(h){case 0:return"Antagonists";case 1:return"Objectives";case 2:return"Security";case 3:return"All High Value Items";default:return"Something went wrong with this menu, make an issue report please!"}},g=function(h){switch(h){case 0:return(0,e.createComponentVNode)(2,c);case 1:return(0,e.createComponentVNode)(2,m);case 2:return(0,e.createComponentVNode)(2,l);case 3:return(0,e.createComponentVNode)(2,d);default:return"Something went wrong with this menu, make an issue report please!"}},u=r.AdminAntagMenu=function(){function i(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.loginState,y=N.currentPage,B=(0,t.useLocalState)(C,"tabIndex",0),L=B[0],w=B[1],x=(0,t.useLocalState)(C,"searchText",""),T=x[0],M=x[1];return(0,e.createComponentVNode)(2,b.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.NoticeBox,{children:"This menu is a Work in Progress. Some antagonists like Nuclear Operatives and Biohazards will not show up."})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:L===0,onClick:function(){function O(){w(0)}return O}(),icon:"user",children:"Antagonists"},"Antagonists"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:L===1,onClick:function(){function O(){w(1)}return O}(),icon:"people-robbery",children:"Objectives"},"Objectives"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:L===2,onClick:function(){function O(){w(2)}return O}(),icon:"handcuffs",children:"Security"},"Security"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:L===3,onClick:function(){function O(){w(3)}return O}(),icon:"lock",children:"High Value Items"},"HighValueItems")]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:k(L),fill:!0,scrollable:!0,buttons:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search...",width:"300px",onInput:function(){function O(D,E){return M(E)}return O}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"sync",onClick:function(){function O(){return p("refresh")}return O}(),children:"Refresh"})]}),children:g(L)})})]})})})}return i}(),c=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.antagonists,y=(0,t.useLocalState)(C,"searchText",""),B=y[0],L=y[1],w=(0,t.useLocalState)(C,"sortId","antag_name"),x=w[0],T=w[1],M=(0,t.useLocalState)(C,"sortOrder",!0),O=M[0],D=M[1];return V.length?(0,e.createComponentVNode)(2,o.Table,{className:"AdminAntagMenu__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,s,{id:"name",children:"Mob Name"}),(0,e.createComponentVNode)(2,s,{id:"",children:"Buttons"}),(0,e.createComponentVNode)(2,s,{id:"antag_name",children:"Antagonist Type"}),(0,e.createComponentVNode)(2,s,{id:"status",children:"Status"})]}),V.filter((0,a.createSearch)(B,function(E){return E.name+"|"+E.status+"|"+E.antag_name})).sort(function(E,P){var R=O?1:-1;return E[x]===void 0||E[x]===null?R:P[x]===void 0||P[x]===null?-1*R:typeof E[x]=="number"?(E[x]-P[x])*R:E[x].localeCompare(P[x])*R}).map(function(E,P){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:E.body_destroyed?E.name:(0,e.createComponentVNode)(2,o.Button,{color:E.is_hijacker||!E.name?"red":"",tooltip:E.is_hijacker?"Hijacker":"",onClick:function(){function R(){return p("show_player_panel",{mind_uid:E.antag_mind_uid})}return R}(),children:E.name?E.name:"??? (NO NAME)"})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:[(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("pm",{ckey:E.ckey})}return R}(),children:"PM"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("follow",{datum_uid:E.antag_mind_uid})}return R}(),children:"FLW"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("obs",{mind_uid:E.antag_mind_uid})}return R}(),children:"OBS"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("tp",{mind_uid:E.antag_mind_uid})}return R}(),children:"TP"})]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:E.antag_name}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Box,{color:E.status?"red":"grey",children:E.status?E.status:"Alive"})})]},P)})]}):"No Antagonists!"},m=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.objectives,y=(0,t.useLocalState)(C,"searchText",""),B=y[0],L=y[1],w=(0,t.useLocalState)(C,"sortId2","target_name"),x=w[0],T=w[1],M=(0,t.useLocalState)(C,"sortOrder",!0),O=M[0],D=M[1];return V.length?(0,e.createComponentVNode)(2,o.Table,{className:"AdminAntagMenu__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,s,{sort_group:"sortId2",id:"obj_name",children:"Name"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId2",id:"target_name",children:"Target"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId2",id:"status",children:"Status"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId2",id:"owner_name",children:"Owner"})]}),V.filter((0,a.createSearch)(B,function(E){return E.obj_name+"|"+E.target_name+"|"+(E.status?"success":"incompleted")+"|"+E.owner_name})).sort(function(E,P){var R=O?1:-1;return E[x]===void 0||E[x]===null||x==="target_name"&&E.no_target?R:P[x]===void 0||P[x]===null||x==="target_name"&&P.no_target?-1*R:typeof E[x]=="number"?(E[x]-P[x])*R:E[x].localeCompare(P[x])*R}).map(function(E,P){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{tooltip:E.obj_desc,onClick:function(){function R(){return p("vv",{uid:E.obj_uid})}return R}(),children:E.obj_name})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:E.no_target?"":E.track.length?E.track.map(function(R,j){return(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function F(){return p("follow",{datum_uid:R})}return F}(),children:[E.target_name," ",E.track.length>1?"("+(parseInt(j,10)+1)+")":""]},j)}):"No "+E.target_name+" Found"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Box,{color:E.status?"green":"grey",children:E.status?"Success":"Incomplete"})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("obj_owner",{owner_uid:E.owner_uid})}return R}(),children:E.owner_name})})]},P)})]}):"No Objectives!"},l=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.security,y=(0,t.useLocalState)(C,"searchText",""),B=y[0],L=y[1],w=(0,t.useLocalState)(C,"sortId3","health"),x=w[0],T=w[1],M=(0,t.useLocalState)(C,"sortOrder",!0),O=M[0],D=M[1],E=function(j){return j.status===2?"red":j.status===1?"orange":j.broken_bone||j.internal_bleeding?"yellow":"grey"},P=function(j){return j.status===2?"Dead":j.status===1?"Unconscious":j.broken_bone&&j.internal_bleeding?"Broken Bone, IB":j.broken_bone?"Broken Bone":j.internal_bleeding?"IB":"Alive"};return V.length?(0,e.createComponentVNode)(2,o.Table,{className:"AdminAntagMenu__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,s,{sort_group:"sortId3",id:"name",children:"Name"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId3",id:"role",children:"Role"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId3",id:"status",children:"Status"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId3",id:"antag",children:"Antag"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId3",id:"health",children:"Health"})]}),V.filter((0,a.createSearch)(B,function(R){return R.name+"|"+R.role+"|"+P(R)+"|"+R.antag})).sort(function(R,j){var F=O?1:-1;return R[x]===void 0||R[x]===null?F:j[x]===void 0||j[x]===null?-1*F:typeof R[x]=="number"?(R[x]-j[x])*F:R[x].localeCompare(j[x])*F}).map(function(R,j){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function F(){return p("show_player_panel",{mind_uid:R.mind_uid})}return F}(),children:R.name})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:R.role}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,o.Box,{color:E(R),children:P(R)})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:R.antag?(0,e.createComponentVNode)(2,o.Button,{textColor:"red",translucent:!0,onClick:function(){function F(){p("tp",{mind_uid:R.mind_uid})}return F}(),children:R.antag}):""}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.ProgressBar,{minValue:0,value:R.health/R.max_health,maxValue:1,ranges:{good:[.6,1/0],average:[0,.6],bad:[-1/0,0]},children:R.health})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:[(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function F(){p("pm",{ckey:R.ckey})}return F}(),children:"PM"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function F(){p("follow",{datum_uid:R.mind_uid})}return F}(),children:"FLW"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function F(){p("obs",{mind_uid:R.mind_uid})}return F}(),children:"OBS"})]})]},j)})]}):"No Security!"},d=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.high_value_items,y=(0,t.useLocalState)(C,"searchText",""),B=y[0],L=y[1],w=(0,t.useLocalState)(C,"sortId4","person"),x=w[0],T=w[1],M=(0,t.useLocalState)(C,"sortOrder",!0),O=M[0],D=M[1];return V.length?(0,e.createComponentVNode)(2,o.Table,{className:"AdminAntagMenu__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,s,{sort_group:"sortId4",id:"name",children:"Name"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId4",id:"person",children:"Carrier"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId4",id:"loc",children:"Location"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId4",id:"admin_z",children:"On Admin Z-level"})]}),V.filter((0,a.createSearch)(B,function(E){return E.name+"|"+E.loc})).sort(function(E,P){var R=O?1:-1;return E[x]===void 0||E[x]===null?R:P[x]===void 0||P[x]===null?-1*R:typeof E[x]=="number"?(E[x]-P[x])*R:E[x].localeCompare(P[x])*R}).map(function(E,P){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{tooltip:E.obj_desc,translucent:E.admin_z,onClick:function(){function R(){return p("vv",{uid:E.uid})}return R}(),children:E.name})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Box,{color:E.admin_z?"grey":"",children:E.person})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Box,{color:E.admin_z?"grey":"",children:E.loc})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Box,{color:"grey",children:E.admin_z?"On Admin Z-level":""})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("follow",{datum_uid:E.uid})}return R}(),children:"FLW"})})]},P)})]}):"No High Value Items!"},s=function(h,C){var v=h.id,p=h.sort_group,N=p===void 0?"sortId":p,V=h.default_sort,y=V===void 0?"antag_name":V,B=h.children,L=(0,t.useLocalState)(C,N,y),w=L[0],x=L[1],T=(0,t.useLocalState)(C,"sortOrder",!0),M=T[0],O=T[1];return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{color:w!==v&&"transparent",width:"100%",onClick:function(){function D(){w===v?O(!M):(x(v),O(!0))}return D}(),children:[B,w===v&&(0,e.createComponentVNode)(2,o.Icon,{name:M?"sort-up":"sort-down",ml:"0.25rem;"})]})})}},39683:function(A,r,n){"use strict";r.__esModule=!0,r.AgentCardInfo=r.AgentCardAppearances=r.AgentCard=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=[{name:"Male",icon:"mars"},{name:"Female",icon:"venus"},{name:"Genderless",icon:"genderless"}],b=["A+","A-","B+","B-","AB+","AB-","O+","O-"],S="Empty",I=function(m){var l=m.label,d=m.value,s=m.onCommit,i=m.onClick,h=m.onRClick,C=m.tooltip;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:l,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,mb:-.5,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Input,{fluid:!0,textAlign:"center",content:d||S,onCommit:s})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"file-signature",tooltip:C,tooltipPosition:"bottom-end",onClick:i,onContextMenu:h})})]})})},k=r.AgentCard=function(){function c(m,l){var d=(0,a.useLocalState)(l,"tabIndex",0),s=d[0],i=d[1],h=function(){function C(v){switch(v){case 0:return(0,e.createComponentVNode)(2,g);case 1:return(0,e.createComponentVNode)(2,u);default:return(0,e.createComponentVNode)(2,g)}}return C}();return(0,e.createComponentVNode)(2,o.Window,{width:435,height:500,theme:"syndicate",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Tabs,{fluid:!0,children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:s===0,onClick:function(){function C(){return i(0)}return C}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"table"})," Card Info"]},"Card Info"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:s===1,onClick:function(){function C(){return i(1)}return C}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"id-card"})," Appearance"]},"Appearance")]})}),h(s)]})})})}return c}(),g=r.AgentCardInfo=function(){function c(m,l){var d=(0,a.useBackend)(l),s=d.act,i=d.data,h=i.registered_name,C=i.sex,v=i.age,p=i.assignment,N=i.job_assets,V=i.job_icon,y=i.associated_account_number,B=i.blood_type,L=i.dna_hash,w=i.fingerprint_hash,x=i.photo,T=i.ai_tracking,M=i.photo_cooldown,O=(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("Autofill options."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("LMB - Autofill your own data."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("RMB - Autofill someone else data.")],4),D=(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("Autofill options."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("LMB - Autofill your own data."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("RMB - Autofill with random data.")],4);return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Card Info",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,I,{label:"Name",value:h,tooltip:O,onCommit:function(){function E(P,R){return s("change_name",{name:R})}return E}(),onClick:function(){function E(){return s("change_name",{option:"Primary"})}return E}(),onRClick:function(){function E(P){P.preventDefault(),s("change_name",{option:"Secondary"})}return E}()}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sex",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,mb:-.5,children:f.map(function(E){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:E.icon,content:E.name,selected:C===E.name,onClick:function(){function P(){return s("change_sex",{sex:E.name})}return P}()})},E.name)})})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Age",children:(0,e.createComponentVNode)(2,t.Slider,{fluid:!0,minValue:17,value:v||0,maxValue:300,onChange:function(){function E(P,R){return s("change_age",{age:R})}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rank",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,mb:-.5,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function E(){return s("change_occupation")}return E}(),textAlign:"middle",children:p||"[UNSET]"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{tooltip:"Change HUD icon",tooltipPosition:"bottom-end",onClick:function(){function E(){return s("change_occupation",{option:"Primary"})}return E}(),children:[(0,e.createComponentVNode)(2,t.DmIcon,{fill:!0,icon:N,icon_state:V,verticalAlign:"bottom",my:"2px",width:"16px"})," "]})})]})}),(0,e.createComponentVNode)(2,I,{label:"Fingerprint",value:w,onCommit:function(){function E(P,R){return s("change_fingerprints",{new_fingerprints:R})}return E}(),onClick:function(){function E(){return s("change_fingerprints",{option:"Primary"})}return E}(),onRClick:function(){function E(P){P.preventDefault(),s("change_fingerprints",{option:"Secondary"})}return E}(),tooltip:D}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood Type",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,mb:-.5,children:[b.map(function(E){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:E,selected:B===E,onClick:function(){function P(){return s("change_blood_type",{new_type:E})}return P}()})},E)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"file-signature",onClick:function(){function E(){return s("change_blood_type",{option:"Primary"})}return E}()})})]})}),(0,e.createComponentVNode)(2,I,{label:"DNA",value:L,onCommit:function(){function E(P,R){return s("change_dna_hash",{new_dna:R})}return E}(),onClick:function(){function E(){return s("change_dna_hash",{option:"Primary"})}return E}(),onRClick:function(){function E(P){P.preventDefault(),s("change_dna_hash",{option:"Secondary"})}return E}(),tooltip:D}),(0,e.createComponentVNode)(2,I,{label:"Account",value:y||0,onCommit:function(){function E(P,R){return s("change_money_account",{new_account:R})}return E}(),onClick:function(){function E(){return s("change_money_account",{option:"Primary"})}return E}(),onRClick:function(){function E(P){P.preventDefault(),s("change_money_account",{option:"Secondary"})}return E}(),tooltip:D}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Photo",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!M,tooltip:M?"":"You can't generate a new photo yet.",onClick:function(){function E(){return s("change_photo")}return E}(),children:x?"Update":S})})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Card Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Card Info",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{fluid:!0,textAlign:"center",content:"Delete Card Info",confirmContent:"Are you sure?",onClick:function(){function E(){return s("delete_info")}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Access",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{fluid:!0,textAlign:"center",content:"Reset Access",confirmContent:"Are you sure?",onClick:function(){function E(){return s("clear_access")}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"AI Tracking",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",onClick:function(){function E(){return s("change_ai_tracking")}return E}(),children:T?"Untrackable":"Trackable"})})]})})})],4)}return c}(),u=r.AgentCardAppearances=function(){function c(m,l){var d=(0,a.useBackend)(l),s=d.act,i=d.data,h=(0,a.useSharedState)(l,"selectedAppearance",null),C=h[0],v=h[1],p=i.appearances,N=i.id_icon;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Card Appearance",children:p.map(function(V){return(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:N,dmIconState:V,imageSize:64,compact:!0,selected:V===C,tooltip:V,style:{opacity:V===C&&"1"||"0.5"},onClick:function(){function y(){v(V),s("change_appearance",{new_appearance:V})}return y}()},V)})})})}return c}()},56793:function(A,r,n){"use strict";r.__esModule=!0,r.AiAirlock=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},b=r.AiAirlock=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=f[c.power.main]||f[0],l=f[c.power.backup]||f[0],d=f[c.shock]||f[0];return(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Power Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Main",color:m.color,buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:"lightbulb-o",disabled:!c.power.main,content:"Disrupt",onClick:function(){function s(){return u("disrupt-main")}return s}()}),children:[c.power.main?"Online":"Offline"," ",!c.wires.main_power&&"[Wires have been cut!]"||c.power.main_timeleft>0&&"["+c.power.main_timeleft+"s]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Backup",color:l.color,buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:"lightbulb-o",disabled:!c.power.backup,content:"Disrupt",onClick:function(){function s(){return u("disrupt-backup")}return s}()}),children:[c.power.backup?"Online":"Offline"," ",!c.wires.backup_power&&"[Wires have been cut!]"||c.power.backup_timeleft>0&&"["+c.power.backup_timeleft+"s]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{mr:.5,icon:"wrench",disabled:!(c.wires.shock&&c.shock!==2),content:"Restore",onClick:function(){function s(){return u("shock-restore")}return s}()}),(0,e.createComponentVNode)(2,t.Button,{mr:.5,icon:"bolt",disabled:!c.wires.shock,content:"Temporary",onClick:function(){function s(){return u("shock-temp")}return s}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"bolt",disabled:!c.wires.shock||c.shock===0,content:"Permanent",onClick:function(){function s(){return u("shock-perm")}return s}()})],4),children:[c.shock===2?"Safe":"Electrified"," ",!c.wires.shock&&"[Wires have been cut!]"||c.shock_timeleft>0&&"["+c.shock_timeleft+"s]"||c.shock_timeleft===-1&&"[Permanent]"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Access and Door Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.id_scanner?"power-off":"times",content:c.id_scanner?"Enabled":"Disabled",selected:c.id_scanner,disabled:!c.wires.id_scanner,onClick:function(){function s(){return u("idscan-toggle")}return s}()}),children:!c.wires.id_scanner&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Access",buttons:(0,e.createComponentVNode)(2,t.Button,{width:6.5,icon:c.emergency?"power-off":"times",content:c.emergency?"Enabled":"Disabled",selected:c.emergency,onClick:function(){function s(){return u("emergency-toggle")}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:c.locked?"lock":"unlock",content:c.locked?"Lowered":"Raised",selected:c.locked,disabled:!c.wires.bolts,onClick:function(){function s(){return u("bolt-toggle")}return s}()}),children:!c.wires.bolts&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.lights?"power-off":"times",content:c.lights?"Enabled":"Disabled",selected:c.lights,disabled:!c.wires.lights,onClick:function(){function s(){return u("light-toggle")}return s}()}),children:!c.wires.lights&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.safe?"power-off":"times",content:c.safe?"Enabled":"Disabled",selected:c.safe,disabled:!c.wires.safe,onClick:function(){function s(){return u("safe-toggle")}return s}()}),children:!c.wires.safe&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.speed?"power-off":"times",content:c.speed?"Enabled":"Disabled",selected:c.speed,disabled:!c.wires.timing,onClick:function(){function s(){return u("speed-toggle")}return s}()}),children:!c.wires.timing&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:c.opened?"sign-out-alt":"sign-in-alt",content:c.opened?"Open":"Closed",selected:c.opened,disabled:c.locked||c.welded,onClick:function(){function s(){return u("open-close")}return s}()}),children:!!(c.locked||c.welded)&&(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("[Door is "),c.locked?"bolted":"",c.locked&&c.welded?" and ":"",c.welded?"welded":"",(0,e.createTextVNode)("!]")],0)})]})})]})})}return S}()},72475:function(A,r,n){"use strict";r.__esModule=!0,r.AirAlarm=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(195),b=r.AirAlarm=function(){function d(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.locked;return(0,e.createComponentVNode)(2,o.Window,{width:570,height:p?310:755,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,f.InterfaceLockNoticeBox),(0,e.createComponentVNode)(2,I),!p&&(0,e.createFragment)([(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,g)],4)]})})}return d}(),S=function(s){return s===0?"green":s===1?"orange":"red"},I=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.air,N=v.mode,V=v.atmos_alarm,y=v.locked,B=v.alarmActivated,L=v.rcon,w=v.target_temp,x;return p.danger.overall===0?V===0?x="Optimal":x="Caution: Atmos alert in area":p.danger.overall===1?x="Caution":x="DANGER: Internals Required",(0,e.createComponentVNode)(2,t.Section,{title:"Air Status",children:p?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure",children:(0,e.createComponentVNode)(2,t.Box,{color:S(p.danger.pressure),children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:p.pressure})," kPa",!y&&(0,e.createFragment)([(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,t.Button,{content:N===3?"Deactivate Panic Siphon":"Activate Panic Siphon",selected:N===3,icon:"exclamation-triangle",onClick:function(){function T(){return C("mode",{mode:N===3?1:3})}return T}()})],4)]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Oxygen",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.oxygen/100,fractionDigits:"1",color:S(p.danger.oxygen)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrogen",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.nitrogen/100,fractionDigits:"1",color:S(p.danger.nitrogen)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Carbon Dioxide",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.co2/100,fractionDigits:"1",color:S(p.danger.co2)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Toxins",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.plasma/100,fractionDigits:"1",color:S(p.danger.plasma)})}),p.contents.n2o>.1&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrous Oxide",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.n2o/100,fractionDigits:"1",color:S(p.danger.n2o)})}),p.contents.other>.1&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Other",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.other/100,fractionDigits:"1",color:S(p.danger.other)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,t.Box,{color:S(p.danger.temperature),children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:p.temperature})," K / ",(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:p.temperature_c})," C\xA0",(0,e.createComponentVNode)(2,t.Button,{icon:"thermometer-full",content:w+" C",onClick:function(){function T(){return C("temperature")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:p.thermostat_state?"On":"Off",selected:p.thermostat_state,icon:"power-off",onClick:function(){function T(){return C("thermostat_state")}return T}()})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Local Status",children:(0,e.createComponentVNode)(2,t.Box,{color:S(p.danger.overall),children:[x,!y&&(0,e.createFragment)([(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,t.Button,{content:B?"Reset Alarm":"Activate Alarm",selected:B,onClick:function(){function T(){return C(B?"atmos_reset":"atmos_alarm")}return T}()})],4)]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Remote Control Settings",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Off",selected:L===1,onClick:function(){function T(){return C("set_rcon",{rcon:1})}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Auto",selected:L===2,onClick:function(){function T(){return C("set_rcon",{rcon:2})}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:"On",selected:L===3,onClick:function(){function T(){return C("set_rcon",{rcon:3})}return T}()})]})]}):(0,e.createComponentVNode)(2,t.Box,{children:"Unable to acquire air sample!"})})},k=function(s,i){var h=(0,a.useLocalState)(i,"tabIndex",0),C=h[0],v=h[1];return(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C===0,onClick:function(){function p(){return v(0)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"sign-out-alt"})," Vent Control"]},"Vents"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C===1,onClick:function(){function p(){return v(1)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"sign-in-alt"})," Scrubber Control"]},"Scrubbers"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C===2,onClick:function(){function p(){return v(2)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cog"})," Mode"]},"Mode"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C===3,onClick:function(){function p(){return v(3)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"tachometer-alt"})," Thresholds"]},"Thresholds")]})},g=function(s,i){var h=(0,a.useLocalState)(i,"tabIndex",0),C=h[0],v=h[1];switch(C){case 0:return(0,e.createComponentVNode)(2,u);case 1:return(0,e.createComponentVNode)(2,c);case 2:return(0,e.createComponentVNode)(2,m);case 3:return(0,e.createComponentVNode)(2,l);default:return"WE SHOULDN'T BE HERE!"}},u=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.vents;return p.map(function(N){return(0,e.createComponentVNode)(2,t.Section,{title:N.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[(0,e.createComponentVNode)(2,t.Button,{content:N.power?"On":"Off",selected:N.power,icon:"power-off",onClick:function(){function V(){return C("command",{cmd:"power",val:!N.power,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:N.direction?"Blowing":"Siphoning",icon:N.direction?"sign-out-alt":"sign-in-alt",onClick:function(){function V(){return C("command",{cmd:"direction",val:!N.direction,id_tag:N.id_tag})}return V}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure Checks",children:[(0,e.createComponentVNode)(2,t.Button,{content:"External",selected:N.checks===1,onClick:function(){function V(){return C("command",{cmd:"checks",val:1,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Internal",selected:N.checks===2,onClick:function(){function V(){return C("command",{cmd:"checks",val:2,id_tag:N.id_tag})}return V}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"External Pressure Target",children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:N.external})," kPa\xA0",(0,e.createComponentVNode)(2,t.Button,{content:"Set",icon:"cog",onClick:function(){function V(){return C("command",{cmd:"set_external_pressure",id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Reset",icon:"redo-alt",onClick:function(){function V(){return C("command",{cmd:"set_external_pressure",val:101.325,id_tag:N.id_tag})}return V}()})]})]})},N.name)})},c=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.scrubbers;return p.map(function(N){return(0,e.createComponentVNode)(2,t.Section,{title:N.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[(0,e.createComponentVNode)(2,t.Button,{content:N.power?"On":"Off",selected:N.power,icon:"power-off",onClick:function(){function V(){return C("command",{cmd:"power",val:!N.power,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:N.scrubbing?"Scrubbing":"Siphoning",icon:N.scrubbing?"filter":"sign-in-alt",onClick:function(){function V(){return C("command",{cmd:"scrubbing",val:!N.scrubbing,id_tag:N.id_tag})}return V}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Range",children:(0,e.createComponentVNode)(2,t.Button,{content:N.widenet?"Extended":"Normal",selected:N.widenet,icon:"expand-arrows-alt",onClick:function(){function V(){return C("command",{cmd:"widenet",val:!N.widenet,id_tag:N.id_tag})}return V}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Filtering",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Carbon Dioxide",selected:N.filter_co2,onClick:function(){function V(){return C("command",{cmd:"co2_scrub",val:!N.filter_co2,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Plasma",selected:N.filter_toxins,onClick:function(){function V(){return C("command",{cmd:"tox_scrub",val:!N.filter_toxins,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Nitrous Oxide",selected:N.filter_n2o,onClick:function(){function V(){return C("command",{cmd:"n2o_scrub",val:!N.filter_n2o,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Oxygen",selected:N.filter_o2,onClick:function(){function V(){return C("command",{cmd:"o2_scrub",val:!N.filter_o2,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Nitrogen",selected:N.filter_n2,onClick:function(){function V(){return C("command",{cmd:"n2_scrub",val:!N.filter_n2,id_tag:N.id_tag})}return V}()})]})]})},N.name)})},m=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.modes,N=v.presets,V=v.emagged,y=v.mode,B=v.preset;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"System Mode",children:(0,e.createComponentVNode)(2,t.Table,{children:p.map(function(L){return(!L.emagonly||L.emagonly&&!!V)&&(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",width:1,children:(0,e.createComponentVNode)(2,t.Button,{content:L.name,icon:"cog",selected:L.id===y,onClick:function(){function w(){return C("mode",{mode:L.id})}return w}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.desc})]},L.name)})})}),(0,e.createComponentVNode)(2,t.Section,{title:"System Presets",children:[(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:"After making a selection, the system will automatically cycle in order to remove contaminants."}),(0,e.createComponentVNode)(2,t.Table,{mt:1,children:N.map(function(L){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",width:1,children:(0,e.createComponentVNode)(2,t.Button,{content:L.name,icon:"cog",selected:L.id===B,onClick:function(){function w(){return C("preset",{preset:L.id})}return w}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.desc})]},L.name)})})]})],4)},l=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.thresholds;return(0,e.createComponentVNode)(2,t.Section,{title:"Alarm Thresholds",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"20%",children:"Value"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"red",width:"20%",children:"Danger Min"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"orange",width:"20%",children:"Warning Min"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"orange",width:"20%",children:"Warning Max"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"red",width:"20%",children:"Danger Max"})]}),p.map(function(N){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:N.name}),N.settings.map(function(V){return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:V.selected===-1?"Off":V.selected,onClick:function(){function y(){return C("command",{cmd:"set_threshold",env:V.env,var:V.val})}return y}()})},V.val)})]},N.name)})]})})}},12333:function(A,r,n){"use strict";r.__esModule=!0,r.AirlockAccessController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AirlockAccessController=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.exterior_status,m=u.interior_status,l=u.processing,d,s;return c==="open"?d=(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Lock Exterior Door",icon:"exclamation-triangle",disabled:l,onClick:function(){function i(){return g("force_ext")}return i}()}):d=(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Cycle to Exterior",icon:"arrow-circle-left",disabled:l,onClick:function(){function i(){return g("cycle_ext_door")}return i}()}),m==="open"?s=(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Lock Interior Door",icon:"exclamation-triangle",disabled:l,color:m==="open"?"red":l?"yellow":null,onClick:function(){function i(){return g("force_int")}return i}()}):s=(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Cycle to Interior",icon:"arrow-circle-right",disabled:l,onClick:function(){function i(){return g("cycle_int_door")}return i}()}),(0,e.createComponentVNode)(2,o.Window,{width:330,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Information",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"External Door Status",children:c==="closed"?"Locked":"Open"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Internal Door Status",children:m==="closed"?"Locked":"Open"})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:(0,e.createComponentVNode)(2,t.Box,{children:[d,s]})})]})})}return b}()},28736:function(A,r,n){"use strict";r.__esModule=!0,r.AirlockElectronics=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(49148),b=1,S=2,I=4,k=8,g=r.AirlockElectronics=function(){function m(l,d){return(0,e.createComponentVNode)(2,o.Window,{width:450,height:565,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,c)]})})})}return m}(),u=function(l,d){var s=(0,a.useBackend)(d),i=s.act,h=s.data,C=h.unrestricted_dir;return(0,e.createComponentVNode)(2,t.Section,{title:"Access Control",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,mb:1,children:"Unrestricted Access From:"}),(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-left",content:"East",selected:C&I,onClick:function(){function v(){return i("unrestricted_access",{unres_dir:I})}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-up",content:"South",selected:C&S,onClick:function(){function v(){return i("unrestricted_access",{unres_dir:S})}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-right",content:"West",selected:C&k,onClick:function(){function v(){return i("unrestricted_access",{unres_dir:k})}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-down",content:"North",selected:C&b,onClick:function(){function v(){return i("unrestricted_access",{unres_dir:b})}return v}()})})]})]})})},c=function(l,d){var s=(0,a.useBackend)(d),i=s.act,h=s.data,C=h.selected_accesses,v=h.one_access,p=h.regions;return(0,e.createComponentVNode)(2,f.AccessList,{usedByRcd:1,rcdButtons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:v,content:"One",onClick:function(){function N(){return i("set_one_access",{access:"one"})}return N}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!v,content:"All",onClick:function(){function N(){return i("set_one_access",{access:"all"})}return N}()})],4),accesses:p,selectedList:C,accessMod:function(){function N(V){return i("set",{access:V})}return N}(),grantAll:function(){function N(){return i("grant_all")}return N}(),denyAll:function(){function N(){return i("clear_all")}return N}(),grantDep:function(){function N(V){return i("grant_region",{region:V})}return N}(),denyDep:function(){function N(V){return i("deny_region",{region:V})}return N}()})}},47365:function(A,r,n){"use strict";r.__esModule=!0,r.AlertModal=void 0;var e=n(89005),a=n(51057),t=n(72253),o=n(92986),f=n(36036),b=n(98595),S=-1,I=1,k=r.AlertModal=function(){function c(m,l){var d=(0,t.useBackend)(l),s=d.act,i=d.data,h=i.autofocus,C=i.buttons,v=C===void 0?[]:C,p=i.large_buttons,N=i.message,V=N===void 0?"":N,y=i.timeout,B=i.title,L=(0,t.useLocalState)(l,"selected",0),w=L[0],x=L[1],T=110+(V.length>30?Math.ceil(V.length/4):0)+(V.length&&p?5:0),M=325+(v.length>2?100:0),O=function(){function D(E){w===0&&E===S?x(v.length-1):w===v.length-1&&E===I?x(0):x(w+E)}return D}();return(0,e.createComponentVNode)(2,b.Window,{title:B,height:T,width:M,children:[!!y&&(0,e.createComponentVNode)(2,a.Loader,{value:y}),(0,e.createComponentVNode)(2,b.Window.Content,{onKeyDown:function(){function D(E){var P=window.event?E.which:E.keyCode;P===o.KEY_SPACE||P===o.KEY_ENTER?s("choose",{choice:v[w]}):P===o.KEY_ESCAPE?s("cancel"):P===o.KEY_LEFT?(E.preventDefault(),O(S)):(P===o.KEY_TAB||P===o.KEY_RIGHT)&&(E.preventDefault(),O(I))}return D}(),children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,m:1,children:(0,e.createComponentVNode)(2,f.Box,{color:"label",overflow:"hidden",children:V})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:[!!h&&(0,e.createComponentVNode)(2,f.Autofocus),(0,e.createComponentVNode)(2,g,{selected:w})]})]})})})]})}return c}(),g=function(m,l){var d=(0,t.useBackend)(l),s=d.data,i=s.buttons,h=i===void 0?[]:i,C=s.large_buttons,v=s.swapped_buttons,p=m.selected;return(0,e.createComponentVNode)(2,f.Flex,{fill:!0,align:"center",direction:v?"row":"row-reverse",justify:"space-around",wrap:!0,children:h==null?void 0:h.map(function(N,V){return C&&h.length<3?(0,e.createComponentVNode)(2,f.Flex.Item,{grow:!0,children:(0,e.createComponentVNode)(2,u,{button:N,id:V.toString(),selected:p===V})},V):(0,e.createComponentVNode)(2,f.Flex.Item,{grow:C?1:0,children:(0,e.createComponentVNode)(2,u,{button:N,id:V.toString(),selected:p===V})},V)})})},u=function(m,l){var d=(0,t.useBackend)(l),s=d.act,i=d.data,h=i.large_buttons,C=m.button,v=m.selected,p=C.length>7?"100%":7;return(0,e.createComponentVNode)(2,f.Button,{mx:h?1:0,pt:h?.33:0,content:C,fluid:!!h,onClick:function(){function N(){return s("choose",{choice:C})}return N}(),selected:v,textAlign:"center",height:!!h&&2,width:!h&&p})}},71824:function(A,r,n){"use strict";r.__esModule=!0,r.AppearanceChanger=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AppearanceChanger=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.change_race,l=c.species,d=c.specimen,s=c.change_gender,i=c.gender,h=c.change_eye_color,C=c.change_skin_tone,v=c.change_skin_color,p=c.change_runechat_color,N=c.change_head_accessory_color,V=c.change_hair_color,y=c.change_secondary_hair_color,B=c.change_facial_hair_color,L=c.change_secondary_facial_hair_color,w=c.change_head_marking_color,x=c.change_body_marking_color,T=c.change_tail_marking_color,M=c.change_head_accessory,O=c.head_accessory_styles,D=c.head_accessory_style,E=c.change_hair,P=c.hair_styles,R=c.hair_style,j=c.change_hair_gradient,F=c.change_facial_hair,W=c.facial_hair_styles,z=c.facial_hair_style,K=c.change_head_markings,G=c.head_marking_styles,J=c.head_marking_style,Q=c.change_body_markings,ue=c.body_marking_styles,ie=c.body_marking_style,pe=c.change_tail_markings,te=c.tail_marking_styles,q=c.tail_marking_style,ne=c.change_body_accessory,le=c.body_accessory_styles,ee=c.body_accessory_style,re=c.change_alt_head,oe=c.alt_head_styles,fe=c.alt_head_style,me=!1;return(h||C||v||N||p||V||y||B||L||w||x||T)&&(me=!0),(0,e.createComponentVNode)(2,o.Window,{width:800,height:450,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[!!m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Species",children:l.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.specimen,selected:Y.specimen===d,onClick:function(){function ve(){return u("race",{race:Y.specimen})}return ve}()},Y.specimen)})}),!!s&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Gender",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Male",selected:i==="male",onClick:function(){function Y(){return u("gender",{gender:"male"})}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Female",selected:i==="female",onClick:function(){function Y(){return u("gender",{gender:"female"})}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Genderless",selected:i==="plural",onClick:function(){function Y(){return u("gender",{gender:"plural"})}return Y}()})]}),!!me&&(0,e.createComponentVNode)(2,b),!!M&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Head accessory",children:O.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.headaccessorystyle,selected:Y.headaccessorystyle===D,onClick:function(){function ve(){return u("head_accessory",{head_accessory:Y.headaccessorystyle})}return ve}()},Y.headaccessorystyle)})}),!!E&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hair",children:P.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.hairstyle,selected:Y.hairstyle===R,onClick:function(){function ve(){return u("hair",{hair:Y.hairstyle})}return ve}()},Y.hairstyle)})}),!!j&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hair Gradient",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Change Style",onClick:function(){function Y(){return u("hair_gradient")}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Offset",onClick:function(){function Y(){return u("hair_gradient_offset")}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Color",onClick:function(){function Y(){return u("hair_gradient_colour")}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Alpha",onClick:function(){function Y(){return u("hair_gradient_alpha")}return Y}()})]}),!!F&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Facial hair",children:W.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.facialhairstyle,selected:Y.facialhairstyle===z,onClick:function(){function ve(){return u("facial_hair",{facial_hair:Y.facialhairstyle})}return ve}()},Y.facialhairstyle)})}),!!K&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Head markings",children:G.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.headmarkingstyle,selected:Y.headmarkingstyle===J,onClick:function(){function ve(){return u("head_marking",{head_marking:Y.headmarkingstyle})}return ve}()},Y.headmarkingstyle)})}),!!Q&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Body markings",children:ue.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.bodymarkingstyle,selected:Y.bodymarkingstyle===ie,onClick:function(){function ve(){return u("body_marking",{body_marking:Y.bodymarkingstyle})}return ve}()},Y.bodymarkingstyle)})}),!!pe&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tail markings",children:te.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.tailmarkingstyle,selected:Y.tailmarkingstyle===q,onClick:function(){function ve(){return u("tail_marking",{tail_marking:Y.tailmarkingstyle})}return ve}()},Y.tailmarkingstyle)})}),!!ne&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Body accessory",children:le.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.bodyaccessorystyle,selected:Y.bodyaccessorystyle===ee,onClick:function(){function ve(){return u("body_accessory",{body_accessory:Y.bodyaccessorystyle})}return ve}()},Y.bodyaccessorystyle)})}),!!re&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alternate head",children:oe.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.altheadstyle,selected:Y.altheadstyle===fe,onClick:function(){function ve(){return u("alt_head",{alt_head:Y.altheadstyle})}return ve}()},Y.altheadstyle)})})]})})})}return S}(),b=function(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=[{key:"change_eye_color",text:"Change eye color",action:"eye_color"},{key:"change_skin_tone",text:"Change skin tone",action:"skin_tone"},{key:"change_skin_color",text:"Change skin color",action:"skin_color"},{key:"change_runechat_color",text:"Change runechat color",action:"runechat_color"},{key:"change_head_accessory_color",text:"Change head accessory color",action:"head_accessory_color"},{key:"change_hair_color",text:"Change hair color",action:"hair_color"},{key:"change_secondary_hair_color",text:"Change secondary hair color",action:"secondary_hair_color"},{key:"change_facial_hair_color",text:"Change facial hair color",action:"facial_hair_color"},{key:"change_secondary_facial_hair_color",text:"Change secondary facial hair color",action:"secondary_facial_hair_color"},{key:"change_head_marking_color",text:"Change head marking color",action:"head_marking_color"},{key:"change_body_marking_color",text:"Change body marking color",action:"body_marking_color"},{key:"change_tail_marking_color",text:"Change tail marking color",action:"tail_marking_color"}];return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Colors",children:m.map(function(l){return!!c[l.key]&&(0,e.createComponentVNode)(2,t.Button,{content:l.text,onClick:function(){function d(){return u(l.action)}return d}()},l.key)})})}},72285:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosAlertConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AtmosAlertConsole=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.priority||[],m=u.minor||[];return(0,e.createComponentVNode)(2,o.Window,{width:350,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Alarms",children:(0,e.createVNode)(1,"ul",null,[c.length===0&&(0,e.createVNode)(1,"li","color-good","No Priority Alerts",16),c.map(function(l){return(0,e.createVNode)(1,"li","color-bad",l,0,null,l)}),m.length===0&&(0,e.createVNode)(1,"li","color-good","No Minor Alerts",16),m.map(function(l){return(0,e.createVNode)(1,"li","color-average",l,0,null,l)})],0)})})})}return b}()},65805:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(36352),f=n(98595),b=function(c){if(c===0)return(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Good"});if(c===1)return(0,e.createComponentVNode)(2,t.Box,{color:"orange",bold:!0,children:"Warning"});if(c===2)return(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,children:"DANGER"})},S=function(c){if(c===0)return"green";if(c===1)return"orange";if(c===2)return"red"},I=r.AtmosControl=function(){function u(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=(0,a.useLocalState)(m,"tabIndex",0),h=i[0],C=i[1],v=function(){function p(N){switch(N){case 0:return(0,e.createComponentVNode)(2,k);case 1:return(0,e.createComponentVNode)(2,g);default:return"WE SHOULDN'T BE HERE!"}}return p}();return(0,e.createComponentVNode)(2,f.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:h===0,children:(0,e.createComponentVNode)(2,t.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:h===0,onClick:function(){function p(){return C(0)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"table"})," Data View"]},"DataView"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:h===1,onClick:function(){function p(){return C(1)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"map-marked-alt"})," Map View"]},"MapView")]}),v(h)]})})})}return u}(),k=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.alarms;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Access"})]}),i.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,o.TableCell,{children:h.name}),(0,e.createComponentVNode)(2,o.TableCell,{children:b(h.danger)}),(0,e.createComponentVNode)(2,o.TableCell,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"cog",content:"Access",onClick:function(){function C(){return d("open_alarm",{aref:h.ref})}return C}()})})]},h.name)})]})})},g=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.alarms;return(0,e.createComponentVNode)(2,t.Box,{height:"526px",mb:"0.5rem",overflow:"hidden",children:(0,e.createComponentVNode)(2,t.NanoMap,{children:i.filter(function(h){return h.z===3}).map(function(h){return(0,e.createComponentVNode)(2,t.NanoMap.MarkerIcon,{x:h.x,y:h.y,icon:"circle",tooltip:h.name,color:S(h.danger),onClick:function(){function C(){return d("open_alarm",{aref:h.ref})}return C}()},h.ref)})})})}},87816:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosFilter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AtmosFilter=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.on,m=u.pressure,l=u.max_pressure,d=u.filter_type,s=u.filter_type_list;return(0,e.createComponentVNode)(2,o.Window,{width:380,height:140,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:c?"On":"Off",color:c?null:"red",selected:c,onClick:function(){function i(){return g("power")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:m===0,width:2.2,onClick:function(){function i(){return g("min_pressure")}return i}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"kPa",width:6.1,lineHeight:1.5,step:10,minValue:0,maxValue:l,value:m,onDrag:function(){function i(h,C){return g("custom_pressure",{pressure:C})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:m===l,width:2.2,onClick:function(){function i(){return g("max_pressure")}return i}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Filter",children:s.map(function(i){return(0,e.createComponentVNode)(2,t.Button,{selected:i.gas_type===d,content:i.label,onClick:function(){function h(){return g("set_filter",{filter:i.gas_type})}return h}()},i.label)})})]})})})})}return b}()},57258:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosGraphMonitor=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(44879),b=n(88510),S=n(35840),I=["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth","horizontalLinesCount","verticalLinesCount","gridColor","gridWidth","pointTextColor","pointTextSize","labelViewBoxSize"];function k(i,h){if(i==null)return{};var C={};for(var v in i)if({}.hasOwnProperty.call(i,v)){if(h.includes(v))continue;C[v]=i[v]}return C}function g(i,h){i.prototype=Object.create(h.prototype),i.prototype.constructor=i,u(i,h)}function u(i,h){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(C,v){return C.__proto__=v,C},u(i,h)}var c=r.AtmosGraphMonitor=function(){function i(h,C){var v=(0,a.useBackend)(C),p=v.data,N=(0,a.useLocalState)(C,"tabIndex",0),V=N[0],y=N[1],B=function(){function w(x){switch(x){case 0:return(0,e.createComponentVNode)(2,m,{data:p,info:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0437\u0430\u043F\u0438\u0441\u0438 T = 60 \u0441. | \u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0435\u0436\u0434\u0443 \u0437\u0430\u043F\u0438\u0441\u044F\u043C\u0438 t = 3 \u0441.",pressureListName:"pressure_history",temperatureListName:"temperature_history"});case 1:return(0,e.createComponentVNode)(2,m,{data:p,info:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0437\u0430\u043F\u0438\u0441\u0438 T = 10 \u043C\u0438\u043D. | \u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0435\u0436\u0434\u0443 \u0437\u0430\u043F\u0438\u0441\u044F\u043C\u0438 t = 30 \u0441.",pressureListName:"long_pressure_history",temperatureListName:"long_temperature_history"});default:return"WE SHOULDN'T BE HERE!"}}return w}(),L=function(){function w(x){switch(x){case 0:return 180;case 1:return 350;case 2:return 590;case 3:return 830;default:return 870}}return w}();return(0,e.createComponentVNode)(2,o.Window,{width:700,height:L(Object.keys(p.sensors).length),children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:V===0,onClick:function(){function w(){return y(0)}return w}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"area-chart"})," \u0422\u0435\u043A\u0443\u0449\u0438\u0435"]},"View"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:V===1,onClick:function(){function w(){return y(1)}return w}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"bar-chart"})," \u0418\u0441\u0442\u043E\u0440\u0438\u044F"]},"History")]}),B(V),Object.keys(p.sensors).length===0&&(0,e.createComponentVNode)(2,t.Box,{pt:2,textAlign:"center",textColor:"gray",bold:!0,fontSize:1.3,children:"\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u0435 gas sensor \u0438\u043B\u0438 meter \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E multitool"})]})})})}return i}(),m=function(h){var C=h.data,v=h.info,p=h.pressureListName,N=h.temperatureListName,V=C.sensors||{},y=function(T,M){return V[T][M].slice(-1)[0]},B=function(T,M){return Math.min.apply(Math,V[T][M])},L=function(T,M){return Math.max.apply(Math,V[T][M])},w=function(T,M){return V[T][M].map(function(O,D){return[D,O]})};return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Section,{color:"gray",children:v}),Object.keys(V).map(function(x){return(0,e.createComponentVNode)(2,t.Section,{title:x,children:(0,e.createComponentVNode)(2,t.Section,{px:2,children:[N in V[x]&&(0,e.createComponentVNode)(2,t.Box,{mb:4,children:[(0,e.createComponentVNode)(2,t.Box,{children:"\u0422\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430: "+(0,f.toFixed)(y(x,N),0)+"\u041A (MIN: "+(0,f.toFixed)(B(x,N),0)+"\u041A; MAX: "+(0,f.toFixed)(L(x,N),0)+"\u041A)"}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,height:5,mt:1,children:(0,e.createComponentVNode)(2,s,{fillPositionedParent:!0,data:w(x,N),rangeX:[0,w(x,N).length-1],rangeY:[B(x,N)-10,L(x,N)+5],strokeColor:"rgba(219, 40, 40, 1)",fillColor:"rgba(219, 40, 40, 0.1)",horizontalLinesCount:2,verticalLinesCount:w(x,N).length-2,labelViewBoxSize:400})})]}),p in V[x]&&(0,e.createComponentVNode)(2,t.Box,{mb:-1,children:[(0,e.createComponentVNode)(2,t.Box,{children:"\u0414\u0430\u0432\u043B\u0435\u043D\u0438\u0435: "+(0,f.toFixed)(y(x,p),0)+"\u043A\u041F\u0430 (MIN: "+(0,f.toFixed)(B(x,p),0)+"\u043A\u041F\u0430; MAX: "+(0,f.toFixed)(L(x,p),0)+"\u043A\u041F\u0430)"}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,height:5,mt:1,children:(0,e.createComponentVNode)(2,s,{fillPositionedParent:!0,data:w(x,p),rangeX:[0,w(x,p).length-1],rangeY:[B(x,p)-10,L(x,p)+5],strokeColor:"rgba(40, 219, 40, 1)",fillColor:"rgba(40, 219, 40, 0.1)",horizontalLinesCount:2,verticalLinesCount:w(x,p).length-2,labelViewBoxSize:400})})]})]})},x)})]})},l=function(h,C,v,p){if(h.length===0)return[];var N=(0,b.zipWith)(Math.min).apply(void 0,h),V=(0,b.zipWith)(Math.max).apply(void 0,h);v!==void 0&&(N[0]=v[0],V[0]=v[1]),p!==void 0&&(N[1]=p[0],V[1]=p[1]);var y=function(x,T,M,O){return(x-T)/(M-T)*O},B=(0,b.zipWith)(y),L=(0,b.map)(function(w){return B(w,N,V,C)});return L(h)},d=function(h){for(var C="",v=0;v0){var le=ne[0],ee=ne[ne.length-1];ne.push([q[0]+D,ee[1]]),ne.push([q[0]+D,-D]),ne.push([-D,-D]),ne.push([-D,le[1]])}var re=d(ne);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({position:"relative"},te,{children:function(){function oe(fe){return(0,e.normalizeProps)((0,e.createVNode)(1,"div",null,(0,e.createVNode)(32,"svg",null,[Array.from({length:P}).map(function(me,Y){return(0,e.createVNode)(32,"line",null,null,1,{x1:0,y1:(Y+1)*(q[1]/(P+1)),x2:q[0],y2:(Y+1)*(q[1]/(P+1)),stroke:W,"stroke-width":K},"horizontal-line-"+Y)}),Array.from({length:j}).map(function(me,Y){return(0,e.createVNode)(32,"line",null,null,1,{x1:(Y+1)*(q[0]/(j+1)),y1:0,x2:(Y+1)*(q[0]/(j+1)),y2:q[1],stroke:W,"stroke-width":K},"vertical-line-"+Y)}),(0,e.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+q[1]+")",fill:x,points:re}),y.map(function(me,Y){return Y===0?null:(0,e.createVNode)(32,"line",null,null,1,{x1:ne[Y-1][0],y1:q[1]-ne[Y-1][1],x2:ne[Y][0],y2:q[1]-ne[Y][1],stroke:M,"stroke-width":D},"line-"+Y)}),y.map(function(me,Y){return(0,e.createVNode)(32,"circle",null,null,1,{cx:ne[Y][0],cy:q[1]-ne[Y][1],r:2,fill:"#ffffff",stroke:M,"stroke-width":1},"point-"+Y)}),y.map(function(me,Y){return q[0]>pe&&Y%2===1&&(0,e.createVNode)(32,"text",null,me[1]!==null?me[1].toFixed(0):"N/A",0,{x:ne[Y][0],y:q[1]-ne[Y][1],fill:J,"font-size":ue,dy:"1em",style:{"text-anchor":"end"}},"point-text-"+Y)})],0,{viewBox:"0 0 "+q[0]+" "+q[1]}),2,Object.assign({},fe),null,p.ref))}return oe}()})))}return v}(),h}(e.Component);s.defaultHooks=void 0,s.defaultHooks=S.pureComponentHooks},52977:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosMixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AtmosMixer=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.on,l=c.pressure,d=c.max_pressure,s=c.node1_concentration,i=c.node2_concentration;return(0,e.createComponentVNode)(2,o.Window,{width:330,height:165,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:m?"On":"Off",color:m?null:"red",selected:m,onClick:function(){function h(){return u("power")}return h}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:l===0,width:2.2,onClick:function(){function h(){return u("min_pressure")}return h}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"kPa",width:6.1,lineHeight:1.5,step:10,minValue:0,maxValue:d,value:l,onDrag:function(){function h(C,v){return u("custom_pressure",{pressure:v})}return h}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:l===d,width:2.2,onClick:function(){function h(){return u("max_pressure")}return h}()})]}),(0,e.createComponentVNode)(2,b,{node_name:"Node 1",node_ref:s}),(0,e.createComponentVNode)(2,b,{node_name:"Node 2",node_ref:i})]})})})})}return S}(),b=function(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=I.node_name,l=I.node_ref;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:m,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",width:2.2,disabled:l===0,onClick:function(){function d(){return u("set_node",{node_name:m,concentration:(l-10)/100})}return d}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"%",width:6.1,lineHeight:1.5,stepPixelSize:10,minValue:0,maxValue:100,value:l,onChange:function(){function d(s,i){return u("set_node",{node_name:m,concentration:i/100})}return d}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",width:2.2,disabled:l===100,onClick:function(){function d(){return u("set_node",{node_name:m,concentration:(l+10)/100})}return d}()})]})}},11748:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosPump=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AtmosPump=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.on,m=u.rate,l=u.max_rate,d=u.gas_unit,s=u.step;return(0,e.createComponentVNode)(2,o.Window,{width:330,height:110,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:c?"On":"Off",color:c?null:"red",selected:c,onClick:function(){function i(){return g("power")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:m===0,width:2.2,onClick:function(){function i(){return g("min_rate")}return i}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:d,width:6.1,lineHeight:1.5,step:s,minValue:0,maxValue:l,value:m,onDrag:function(){function i(h,C){return g("custom_rate",{rate:C})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:m===l,width:2.2,onClick:function(){function i(){return g("max_rate")}return i}()})]})]})})})})}return b}()},69321:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosTankControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(44879),f=n(76910),b=n(98595),S=r.AtmosTankControl=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.sensors||{};return(0,e.createComponentVNode)(2,b.Window,{width:400,height:400,children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:[Object.keys(l).map(function(d){return(0,e.createComponentVNode)(2,t.Section,{title:d,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[Object.keys(l[d]).indexOf("pressure")>-1?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure",children:[l[d].pressure," kpa"]}):"",Object.keys(l[d]).indexOf("temperature")>-1?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:[l[d].temperature," K"]}):"",["o2","n2","plasma","co2","n2o"].map(function(s){return Object.keys(l[d]).indexOf(s)>-1?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:(0,f.getGasLabel)(s),children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:(0,f.getGasColor)(s),value:l[d][s],minValue:0,maxValue:100,children:(0,o.toFixed)(l[d][s],2)+"%"})},(0,f.getGasLabel)(s)):""})]})},d)}),m.inlet&&Object.keys(m.inlet).length>0?(0,e.createComponentVNode)(2,t.Section,{title:"Inlet Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:(m.inlet.on,"power-off"),content:m.inlet.on?"On":"Off",color:m.inlet.on?null:"red",selected:m.inlet.on,onClick:function(){function d(){return c("toggle_active",{dev:"inlet"})}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"L/s",width:6.1,lineHeight:1.5,step:1,minValue:0,maxValue:50,value:m.inlet.rate,onDrag:function(){function d(s,i){return c("set_pressure",{dev:"inlet",val:i})}return d}()})})]})}):"",m.outlet&&Object.keys(m.outlet).length>0?(0,e.createComponentVNode)(2,t.Section,{title:"Outlet Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:(m.outlet.on,"power-off"),content:m.outlet.on?"On":"Off",color:m.outlet.on?null:"red",selected:m.outlet.on,onClick:function(){function d(){return c("toggle_active",{dev:"outlet"})}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"kPa",width:6.1,lineHeight:1.5,step:10,minValue:0,maxValue:5066,value:m.outlet.rate,onDrag:function(){function d(s,i){return c("set_pressure",{dev:"outlet",val:i})}return d}()})})]})}):""]})})}return I}()},92444:function(A,r,n){"use strict";r.__esModule=!0,r.AugmentMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(25328),b=r.AugmentMenu=function(){function k(g,u){return(0,e.createComponentVNode)(2,o.Window,{width:700,height:660,theme:"malfunction",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:(0,e.createComponentVNode)(2,S,{context:u})})})})}return k}(),S=function(g){var u=g.context,c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.usable_swarms,s=l.ability_tabs,i=l.known_abilities,h=(0,a.useLocalState)(u,"selectedTab",s[0]),C=h[0],v=h[1],p=(0,a.useLocalState)(u,"searchText",""),N=p[0],V=p[1],y=function(){var M=s.find(function(D){return D.category_name===C.category_name});if(!M)return[];var O=Math.min(M.category_stage,4);return M.abilities.filter(function(D){return D.stage<=O&&(!N||D.name.toLowerCase().includes(N.toLowerCase()))}).sort(function(D,E){return["intruder","destroyer"].includes(C.category_name.toLowerCase())?D.stage-E.stage:0})},B=y(),L=s.find(function(T){return T.category_name===C.category_name}),w=["intruder","destroyer"].includes(C.category_name.toLowerCase()),x=function(M){var O=i.find(function(P){return P.ability_path===M.ability_path}),D=O?O.cost:M.cost,E=O&&O.current_level>0?O.current_level+" / "+O.max_level:"0 / "+M.max_level;return(0,e.createComponentVNode)(2,t.Stack.Item,{direction:"row",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Button,{height:"20px",width:"35px",mb:1,textAlign:"center",content:D,disabled:D>d||O&&O.current_level===O.max_level,tooltip:"Purchase this ability?",onClick:function(){function P(){m("purchase",{ability_path:M.ability_path}),v(C)}return P}()}),(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"16px",children:M.name})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"13px",children:M.desc||"Description not available"}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:["Level: ",(0,e.createVNode)(1,"span",null,E,0,{style:{color:"green"}}),w&&M.stage>0&&(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)(" (Stage: "),M.stage,(0,e.createTextVNode)(")")],0)]}),(0,e.createComponentVNode)(2,t.Stack.Divider)]})})]},M.name)};return(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createVNode)(1,"div",null,[(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,style:{marginRight:"10px"},children:[(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("Swarms: "),(0,e.createVNode)(1,"span",null,d,0,{style:{color:"green"}})],4),w&&L&&(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("Category Stage: "),(0,e.createVNode)(1,"span",null,Math.min(L.category_stage,4),0,{style:{color:"green"}})],4)]}),(0,e.createVNode)(1,"div","Section__buttons",(0,e.createComponentVNode)(2,t.Input,{width:"200px",placeholder:"Search Abilities",onInput:function(){function T(M,O){return V(O)}return T}(),value:N}),2)],4,{style:{display:"flex",alignItems:"center"}}),children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[s.map(function(T){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C.category_name===T.category_name,onClick:function(){function M(){v(T),V("")}return M}(),children:(0,f.capitalize)(T.category_name)},T.category_name)}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C.category_name==="upgrades",onClick:function(){function T(){return v({category_name:"upgrades"})}return T}(),children:"Upgrades"},"upgrades")]}),C.category_name==="upgrades"?(0,e.createComponentVNode)(2,I,{act:m,abilityTabs:s,knownAbilities:i,usableSwarms:d}):(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:B.map(x)})]})},I=function(g){var u=g.act,c=g.abilityTabs,m=g.knownAbilities,l=g.usableSwarms,d=m.filter(function(i){return i.current_levell,tooltip:"Upgrade this ability?",onClick:function(){function v(){return u("purchase",{ability_path:h.ability_path})}return v}()}),(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"16px",children:h.name})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"13px",children:h.upgrade_text}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:["Level:"," ",(0,e.createVNode)(1,"span",null,h.current_level+" / "+h.max_level,0,{style:{color:"green"}}),C&&C.stage>0&&(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)(" (Stage: "),C.stage,(0,e.createTextVNode)(")")],0)]}),(0,e.createComponentVNode)(2,t.Stack.Divider)]})})]},h.name)};return(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:d.map(s)})}},59179:function(A,r,n){"use strict";r.__esModule=!0,r.Autolathe=void 0;var e=n(89005),a=n(64795),t=n(88510),o=n(72253),f=n(36036),b=n(98595),S=n(25328),I=function(u,c,m,l){return u.requirements===null?!0:!(u.requirements.metal*l>c||u.requirements.glass*l>m)},k=r.Autolathe=function(){function g(u,c){var m=(0,o.useBackend)(c),l=m.act,d=m.data,s=d.total_amount,i=d.max_amount,h=d.metal_amount,C=d.glass_amount,v=d.busyname,p=d.busyamt,N=d.showhacked,V=d.buildQueue,y=d.buildQueueLen,B=d.recipes,L=d.categories,w=(0,o.useSharedState)(c,"category",0),x=w[0],T=w[1];x===0&&(x="Tools");var M=h.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),O=C.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),D=s.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),E=(0,o.useSharedState)(c,"search_text",""),P=E[0],R=E[1],j=(0,S.createSearch)(P,function(K){return K.name}),F="";y>0&&(F=V.map(function(K,G){return(0,e.createComponentVNode)(2,f.Box,{children:(0,e.createComponentVNode)(2,f.Button,{fluid:!0,icon:"times",color:"transparent",content:V[G][0],onClick:function(){function J(){return l("remove_from_queue",{remove_from_queue:V.indexOf(K)+1})}return J}()},K)},G)}));var W=(0,a.flow)([(0,t.filter)(function(K){return(K.category.indexOf(x)>-1||P)&&(d.showhacked||!K.hacked)}),P&&(0,t.filter)(j),(0,t.sortBy)(function(K){return K.name.toLowerCase()})])(B),z="Build";return P?z="Results for: '"+P+"':":x&&(z="Build ("+x+")"),(0,e.createComponentVNode)(2,b.Window,{width:750,height:525,children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,horizontal:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{width:"70%",children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,title:z,buttons:(0,e.createComponentVNode)(2,f.Dropdown,{width:"150px",options:L,selected:x,onSelected:function(){function K(G){return T(G)}return K}()}),children:[(0,e.createComponentVNode)(2,f.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function K(G,J){return R(J)}return K}(),mb:1}),W.map(function(K){return(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+K.image,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}}),(0,e.createComponentVNode)(2,f.Button,{mr:1,icon:"hammer",selected:d.busyname===K.name&&d.busyamt===1,disabled:!I(K,d.metal_amount,d.glass_amount,1),onClick:function(){function G(){return l("make",{make:K.uid,multiplier:1})}return G}(),children:(0,S.toTitleCase)(K.name)}),K.max_multiplier>=10&&(0,e.createComponentVNode)(2,f.Button,{mr:1,icon:"hammer",selected:d.busyname===K.name&&d.busyamt===10,disabled:!I(K,d.metal_amount,d.glass_amount,10),onClick:function(){function G(){return l("make",{make:K.uid,multiplier:10})}return G}(),children:"10x"}),K.max_multiplier>=25&&(0,e.createComponentVNode)(2,f.Button,{mr:1,icon:"hammer",selected:d.busyname===K.name&&d.busyamt===25,disabled:!I(K,d.metal_amount,d.glass_amount,25),onClick:function(){function G(){return l("make",{make:K.uid,multiplier:25})}return G}(),children:"25x"}),K.max_multiplier>25&&(0,e.createComponentVNode)(2,f.Button,{mr:1,icon:"hammer",selected:d.busyname===K.name&&d.busyamt===K.max_multiplier,disabled:!I(K,d.metal_amount,d.glass_amount,K.max_multiplier),onClick:function(){function G(){return l("make",{make:K.uid,multiplier:K.max_multiplier})}return G}(),children:[K.max_multiplier,"x"]}),K.requirements&&Object.keys(K.requirements).map(function(G){return(0,S.toTitleCase)(G)+": "+K.requirements[G]}).join(", ")||(0,e.createComponentVNode)(2,f.Box,{children:"No resources required."})]},K.ref)})]})}),(0,e.createComponentVNode)(2,f.Stack.Item,{width:"30%",children:[(0,e.createComponentVNode)(2,f.Section,{title:"Materials",children:(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Metal",children:M}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Glass",children:O}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Total",children:D}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Storage",children:[d.fill_percent,"% Full"]})]})}),(0,e.createComponentVNode)(2,f.Section,{title:"Building",children:(0,e.createComponentVNode)(2,f.Box,{color:v?"green":"",children:v||"Nothing"})}),(0,e.createComponentVNode)(2,f.Section,{title:"Build Queue",height:23.7,children:[F,(0,e.createComponentVNode)(2,f.Button,{mt:.5,fluid:!0,icon:"times",content:"Clear All",color:"red",disabled:!d.buildQueueLen,onClick:function(){function K(){return l("clear_queue")}return K}()})]})]})]})})})}return g}()},29943:function(A,r,n){"use strict";r.__esModule=!0,r.Autolathe220=void 0;var e=n(89005),a=n(25328),t=n(88510),o=n(64795),f=n(72253),b=n(36036),S=n(98595),I="icons/obj/stacks/minerals.dmi",k=["metal","glass"],g=function(C,v,p,N){return C.requirements===null?!0:!(C.requirements.metal*N>v||C.requirements.glass*N>p)},u=function(C,v){var p=C*v/2e3;return p===0?0:p<.01&&p>0?(0,e.createComponentVNode)(2,b.Box,{fontSize:.75,children:"< 0.01"}):Math.floor(p*100)/100},c=r.Autolathe220=function(){function h(C,v){var p=(0,f.useSharedState)(v,"category","Tools"),N=p[0],V=p[1];return(0,e.createComponentVNode)(2,S.Window,{width:800,height:550,children:(0,e.createComponentVNode)(2,S.Window.Content,{children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{basis:"20%",children:(0,e.createComponentVNode)(2,m,{category:N,setCategory:V})}),(0,e.createComponentVNode)(2,b.Stack.Item,{basis:"55%",children:(0,e.createComponentVNode)(2,l,{category:N})}),(0,e.createComponentVNode)(2,b.Stack.Item,{basis:"25%",children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,s),(0,e.createComponentVNode)(2,i)]})})]})})})}return h}(),m=function(C,v){var p=(0,f.useBackend)(v),N=p.data,V=C.category,y=C.setCategory,B=N.categories,L=["All"].concat(B);return(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Categories",children:(0,e.createComponentVNode)(2,b.Tabs,{vertical:!0,children:L.map(function(w){return(0,e.createComponentVNode)(2,b.Tabs.Tab,{mb:.5,height:"2.5em",color:"blue",selected:w===V,onClick:function(){function x(){return y(w)}return x}(),children:w},w)})})})},l=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.metal_amount,B=V.glass_amount,L=V.recipes,w=C.category,x=(0,f.useSharedState)(v,"searchText",""),T=x[0],M=x[1],O=(0,o.flow)([(0,t.filter)(function(P){return w==="All"||P.category.includes(w)||T&&(V.showhacked||!P.hacked)}),T&&(0,t.filter)((0,a.createSearch)(T,function(P){return P.name})),(0,t.sortBy)(function(P){return P.name.toLowerCase()})])(L),D=function(R,j){return(0,e.createComponentVNode)(2,b.Button,{translucent:!0,tooltip:E(R,j),tooltipPosition:"top",disabled:!g(R,y,B,j),onClick:function(){function F(){return N("make",{make:R.uid,multiplier:j})}return F}(),children:[j,"x"]})},E=function(R,j){return(0,e.createFragment)(k.map(function(F){return R.requirements[F]&&(0,e.createComponentVNode)(2,b.ImageButton,{dmIcon:I,dmIconState:"sheet-"+F,imageSize:32,children:u(R.requirements[F],j)},F)}),0)};return(0,e.createComponentVNode)(2,b.Section,{fill:!0,title:"Build ("+w+")",children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function P(R,j){return M(j)}return P}()})}),(0,e.createComponentVNode)(2,b.Stack.Item,{mt:.5,mb:-2.33,grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,children:O.map(function(P){return(0,e.createComponentVNode)(2,b.ImageButton,{fluid:!0,base64:P.image,imageSize:32,textAlign:"left",color:P.category.includes("hacked")&&"brown",tooltip:E(P,1),tooltipPosition:"top",disabled:!g(P,y,B,1),buttons:P.max_multiplier>1&&(0,e.createFragment)([P.max_multiplier>=10&&D(P,10),P.max_multiplier>=25&&D(P,25),P.max_multiplier>25&&D(P,P.max_multiplier)],0),onClick:function(){function R(){return N("make",{make:P.uid,multiplier:1})}return R}(),children:P.name},P.name)})})})]})})},d=function(C,v){var p=(0,f.useBackend)(v),N=p.data,V=N.metal_amount,y=N.glass_amount,B=N.fill_percent,L=function(x,T){return(0,e.createComponentVNode)(2,b.ImageButton,{fluid:!0,imageSize:32,dmIcon:I,dmIconState:"sheet-"+x,color:"nope",buttons:(0,e.createComponentVNode)(2,b.Box,{backgroundColor:"rgba(255, 255, 255, 0.05)",width:"45px",children:u(T,1)}),children:(0,a.toTitleCase)(x)})};return(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Section,{title:"Materials",children:[L("metal",V),L("glass",y),(0,e.createComponentVNode)(2,b.ProgressBar,{minValue:0,value:B,maxValue:100,children:["Storage ",B,"% full"]})]})})},s=function(C,v){var p=(0,f.useBackend)(v),N=p.data,V=N.recipes,y=N.busyname,B=N.busyamt,L=V.find(function(w){return w.name===y});return(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Section,{title:"Building",children:(0,e.createComponentVNode)(2,b.ImageButton,{fluid:!0,color:y&&"green",base64:L==null?void 0:L.image,imageSize:32,children:y?B>1?y+" x"+B:y:"Nothing"})})})},i=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.recipes,B=V.buildQueue,L=V.buildQueueLen,w;return L>0&&(w=B.map(function(x,T){var M=y.find(function(O){return O.name===B[T][0]});return(0,e.createComponentVNode)(2,b.ImageButton,{fluid:!0,base64:M.image,imageSize:32,buttons:(0,e.createComponentVNode)(2,b.Button,{translucent:!0,width:"32px",icon:"times",iconColor:"red",onClick:function(){function O(){return N("remove_from_queue",{remove_from_queue:B.indexOf(x)+1})}return O}()},x),children:[M.name," ",Number(B[T][1])>1&&"x"+B[T][1]]},T)})),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Queue "+(L>0?L:""),children:w})}),(0,e.createComponentVNode)(2,b.Stack.Item,{m:0,children:(0,e.createComponentVNode)(2,b.Section,{fitted:!0,p:.75,children:(0,e.createComponentVNode)(2,b.Button,{fluid:!0,translucent:!L,color:"red",icon:"trash-can",disabled:!L,onClick:function(){function x(){return N("clear_queue")}return x}(),children:"Clear Queue"})})})]})})}},5147:function(A,r,n){"use strict";r.__esModule=!0,r.BioChipPad=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.BioChipPad=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.implant,m=u.contains_case,l=u.gps,d=u.tag,s=(0,a.useLocalState)(I,"newTag",d),i=s[0],h=s[1];return(0,e.createComponentVNode)(2,o.Window,{width:410,height:325,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Bio-chip Mini-Computer",buttons:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Eject Case",icon:"eject",disabled:!m,onClick:function(){function C(){return g("eject_case")}return C}()})}),children:c&&m?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{bold:!0,mb:2,children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+c.image,ml:0,mr:2,style:{"vertical-align":"middle",width:"32px"}}),c.name]}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Life",children:c.life}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Notes",children:c.notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Function",children:c.function}),!!l&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tag",children:[(0,e.createComponentVNode)(2,t.Input,{width:"5.5rem",value:d,onEnter:function(){function C(){return g("tag",{newtag:i})}return C}(),onInput:function(){function C(v,p){return h(p)}return C}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:d===i,width:"20px",mb:"0",ml:"0.25rem",onClick:function(){function C(){return g("tag",{newtag:i})}return C}(),children:(0,e.createComponentVNode)(2,t.Icon,{name:"pen"})})]})]})],4):m?(0,e.createComponentVNode)(2,t.Box,{children:"This bio-chip case has no implant!"}):(0,e.createComponentVNode)(2,t.Box,{children:"Please insert a bio-chip casing!"})})})})}return b}()},64273:function(A,r,n){"use strict";r.__esModule=!0,r.Biogenerator=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(62411),b=r.Biogenerator=function(){function u(c,m){var l=(0,a.useBackend)(m),d=l.data,s=l.config,i=d.container,h=d.processing,C=s.title;return(0,e.createComponentVNode)(2,o.Window,{width:390,height:595,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Operating,{operating:h,name:C}),(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k),i?(0,e.createComponentVNode)(2,g):(0,e.createComponentVNode)(2,S)]})})})}return u}(),S=function(c,m){return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"silver",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"flask",size:5,mb:"10px"}),(0,e.createVNode)(1,"br"),"The biogenerator is missing a container."]})})})},I=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.biomass,h=s.container,C=s.container_curr_reagents,v=s.container_max_reagents;return(0,e.createComponentVNode)(2,t.Section,{title:"Storage",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"20px",color:"silver",children:"Biomass:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"5px",children:i}),(0,e.createComponentVNode)(2,t.Icon,{name:"leaf",size:1.2,color:"#3d8c40"})]}),(0,e.createComponentVNode)(2,t.Stack,{height:"21px",mt:"8px",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"10px",color:"silver",children:"Container:"}),h?(0,e.createComponentVNode)(2,t.ProgressBar,{value:C,maxValue:v,children:(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",children:C+" / "+v+" units"})}):(0,e.createComponentVNode)(2,t.Stack.Item,{children:"None"})]})]})},k=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.has_plants,h=s.container;return(0,e.createComponentVNode)(2,t.Section,{title:"Controls",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"power-off",disabled:!i,tooltip:i?"":"There are no plants in the biogenerator.",tooltipPosition:"top-start",content:"Activate",onClick:function(){function C(){return d("activate")}return C}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"40%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"flask",disabled:!h,tooltip:h?"":"The biogenerator does not have a container.",tooltipPosition:"top",content:"Detach Container",onClick:function(){function C(){return d("detach_container")}return C}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"eject",disabled:!i,tooltip:i?"":"There are no stored plants to eject.",tooltipPosition:"top-end",content:"Eject Plants",onClick:function(){function C(){return d("eject_plants")}return C}()})})]})})},g=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.biomass,h=s.product_list,C=(0,a.useSharedState)(m,"vendAmount",1),v=C[0],p=C[1],N=Object.entries(h).map(function(V,y){var B=Object.entries(V[1]).map(function(L){return L[1]});return(0,e.createComponentVNode)(2,t.Collapsible,{title:V[0],open:!0,children:B.map(function(L){return(0,e.createComponentVNode)(2,t.Stack,{py:"2px",className:"candystripe",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",ml:"2px",children:L.name}),(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"right",width:"20%",children:[L.cost*v,(0,e.createComponentVNode)(2,t.Icon,{ml:"5px",name:"leaf",size:1.2,color:"#3d8c40"})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"right",width:"40%",children:(0,e.createComponentVNode)(2,t.Button,{content:"Vend",disabled:i.25?750+400*Math.random():290+150*Math.random(),time:60+150*Math.random(),children:(0,e.createComponentVNode)(2,t.Stack,{mb:"30px",fontsize:"256px",children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,color:"red",fontsize:"256px",textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"skull",size:14,mb:"64px"}),(0,e.createVNode)(1,"br"),"E$#OR:& U#KN!WN IN%ERF#R_NCE"]})})})})}return k}(),S=r.BluespaceTap=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.product||[],s=l.desiredMiningPower,i=l.miningPower,h=l.points,C=l.totalPoints,v=l.powerUse,p=l.availablePower,N=l.emagged,V=l.autoShutown,y=l.stabilizers,B=l.stabilizerPower,L=l.stabilizerPriority,w=s>i&&"bad"||"good";return(0,e.createComponentVNode)(2,o.Window,{width:650,height:450,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,t.Collapsible,{title:"Input Management",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Input",children:[(0,e.createComponentVNode)(2,t.Button,{icon:V&&!N?"toggle-on":"toggle-off",content:"Auto shutdown",color:V&&!N?"green":"red",disabled:!!N,tooltip:"Turn auto shutdown on or off",tooltipPosition:"top",onClick:function(){function x(){return m("auto_shutdown")}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:y&&!N?"toggle-on":"toggle-off",content:"Stabilizers",color:y&&!N?"green":"red",disabled:!!N,tooltip:"Turn stabilizers on or off",tooltipPosition:"top",onClick:function(){function x(){return m("stabilizers")}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:L&&!N?"toggle-on":"toggle-off",content:"Stabilizer priority",color:L&&!N?"green":"red",disabled:!!N,tooltip:"On: Mining power will not exceed what can be stabilized",tooltipPosition:"top",onClick:function(){function x(){return m("stabilizer_priority")}return x}()}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Desired Mining Power",children:(0,f.formatPower)(s)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{labelStyle:{"vertical-align":"top"},label:"Set Desired Mining Power",children:(0,e.createComponentVNode)(2,t.Stack,{width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"step-backward",disabled:s===0||N,tooltip:"Set to 0",tooltipPosition:"bottom",onClick:function(){function x(){return m("set",{set_power:0})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",tooltip:"Decrease by 10 MW",tooltipPosition:"bottom",disabled:s===0||N,onClick:function(){function x(){return m("set",{set_power:s-1e7})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:s===0||N,tooltip:"Decrease by 1 MW",tooltipPosition:"bottom",onClick:function(){function x(){return m("set",{set_power:s-1e6})}return x}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{mx:1,children:(0,e.createComponentVNode)(2,t.NumberInput,{disabled:N,minvalue:0,value:s,maxvalue:1/0,step:1,onChange:function(){function x(T,M){return m("set",{set_power:M})}return x}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:N,tooltip:"Increase by one MW",tooltipPosition:"bottom",onClick:function(){function x(){return m("set",{set_power:s+1e6})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:N,tooltip:"Increase by 10MW",tooltipPosition:"bottom",onClick:function(){function x(){return m("set",{set_power:s+1e7})}return x}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Power Use",children:(0,f.formatPower)(v)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mining Power Use",children:(0,f.formatPower)(i)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Stabilizer Power Use",children:(0,f.formatPower)(B)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Surplus Power",children:(0,f.formatPower)(p)})]})]})}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Output",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available Points",children:h}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Points",children:C})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{align:"end",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:d.map(function(x){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:x.name,children:(0,e.createComponentVNode)(2,t.Button,{disabled:x.price>=h,onClick:function(){function T(){return m("vend",{target:x.key})}return T}(),content:x.price})},x.key)})})})})]})})]})})})}return k}(),I=r.Alerts=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.product||[],s=l.miningPower,i=l.stabilizerPower,h=l.emagged,C=l.safeLevels,v=l.autoShutown,p=l.stabilizers,N=l.overhead;return(0,e.createFragment)([!v&&!h&&(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"Auto shutdown disabled"}),h?(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"All safeties disabled"}):s<=15e6?"":p?s>i+15e6?(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"Stabilizers overwhelmed, Instability likely"}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"High Power, engaging stabilizers"}):(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"Stabilizers disabled, Instability likely"})],0)}return k}()},33758:function(A,r,n){"use strict";r.__esModule=!0,r.BodyScanner=void 0;var e=n(89005),a=n(44879),t=n(25328),o=n(72253),f=n(36036),b=n(98595),S=[["good","Alive"],["average","Critical"],["bad","DEAD"]],I=[["hasVirus","bad","Viral pathogen detected in blood stream."],["blind","average","Cataracts detected."],["colourblind","average","Photoreceptor abnormalities detected."],["nearsighted","average","Retinal misalignment detected."]],k=[["Respiratory","oxyLoss"],["Brain","brainLoss"],["Toxin","toxLoss"],["Radiation","radLoss"],["Brute","bruteLoss"],["Cellular","cloneLoss"],["Burn","fireLoss"],["Inebriation","drunkenness"]],g={average:[.25,.5],bad:[.5,1/0]},u=function(y,B){for(var L=[],w=0;w0?y.filter(function(B){return!!B}).reduce(function(B,L){return(0,e.createFragment)([B,(0,e.createComponentVNode)(2,f.Box,{children:L},L)],0)},null):null},m=function(y){if(y>100){if(y<300)return"mild infection";if(y<400)return"mild infection+";if(y<500)return"mild infection++";if(y<700)return"acute infection";if(y<800)return"acute infection+";if(y<900)return"acute infection++";if(y>=900)return"septic"}return""},l=r.BodyScanner=function(){function V(y,B){var L=(0,o.useBackend)(B),w=L.data,x=w.occupied,T=w.occupant,M=T===void 0?{}:T,O=x?(0,e.createComponentVNode)(2,d,{occupant:M}):(0,e.createComponentVNode)(2,N);return(0,e.createComponentVNode)(2,b.Window,{width:700,height:600,title:"Body Scanner",children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:O})})}return V}(),d=function(y){var B=y.occupant;return(0,e.createComponentVNode)(2,f.Box,{children:[(0,e.createComponentVNode)(2,s,{occupant:B}),(0,e.createComponentVNode)(2,i,{occupant:B}),(0,e.createComponentVNode)(2,h,{occupant:B}),(0,e.createComponentVNode)(2,v,{organs:B.extOrgan}),(0,e.createComponentVNode)(2,p,{organs:B.intOrgan})]})},s=function(y,B){var L=(0,o.useBackend)(B),w=L.act,x=L.data,T=x.occupant;return(0,e.createComponentVNode)(2,f.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,f.Button,{icon:"print",onClick:function(){function M(){return w("print_p")}return M}(),children:"Print Report"}),(0,e.createComponentVNode)(2,f.Button,{icon:"user-slash",onClick:function(){function M(){return w("ejectify")}return M}(),children:"Eject"})],4),children:(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Name",children:T.name}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:T.maxHealth,value:T.health/T.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Status",color:S[T.stat][0],children:S[T.stat][1]}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Temperature",children:[(0,e.createComponentVNode)(2,f.AnimatedNumber,{value:(0,a.round)(T.bodyTempC)}),"\xB0C,\xA0",(0,e.createComponentVNode)(2,f.AnimatedNumber,{value:(0,a.round)(T.bodyTempF)}),"\xB0F"]}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Implants",children:T.implant_len?(0,e.createComponentVNode)(2,f.Box,{children:T.implant.map(function(M){return M.name}).join(", ")}):(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"None"})})]})})},i=function(y){var B=y.occupant;return B.hasBorer||B.blind||B.colourblind||B.nearsighted||B.hasVirus?(0,e.createComponentVNode)(2,f.Section,{title:"Abnormalities",children:I.map(function(L,w){if(B[L[0]])return(0,e.createComponentVNode)(2,f.Box,{color:L[1],bold:L[1]==="bad",children:L[2]},L[2])})}):(0,e.createComponentVNode)(2,f.Section,{title:"Abnormalities",children:(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"No abnormalities found."})})},h=function(y){var B=y.occupant;return(0,e.createComponentVNode)(2,f.Section,{title:"Damage",children:(0,e.createComponentVNode)(2,f.Table,{children:u(k,function(L,w,x){return(0,e.createFragment)([(0,e.createComponentVNode)(2,f.Table.Row,{color:"label",children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:[L[0],":"]}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:!!w&&w[0]+":"})]}),(0,e.createComponentVNode)(2,f.Table.Row,{children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:(0,e.createComponentVNode)(2,C,{value:B[L[1]],marginBottom:x100)&&"average"||!!B.status.robotic&&"label",width:"33%",children:(0,t.capitalize)(B.name)}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,f.ProgressBar,{m:-.5,min:"0",max:B.maxHealth,mt:L>0&&"0.5rem",value:B.totalLoss/B.maxHealth,ranges:g,children:(0,e.createComponentVNode)(2,f.Stack,{children:[(0,e.createComponentVNode)(2,f.Tooltip,{content:"Total damage",children:(0,e.createComponentVNode)(2,f.Stack.Item,{children:[(0,e.createComponentVNode)(2,f.Icon,{name:"heartbeat",mr:.5}),(0,a.round)(B.totalLoss)]})}),!!B.bruteLoss&&(0,e.createComponentVNode)(2,f.Tooltip,{content:"Brute damage",children:(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:[(0,e.createComponentVNode)(2,f.Icon,{name:"bone",mr:.5}),(0,a.round)(B.bruteLoss)]})}),!!B.fireLoss&&(0,e.createComponentVNode)(2,f.Tooltip,{content:"Burn damage",children:(0,e.createComponentVNode)(2,f.Stack.Item,{children:[(0,e.createComponentVNode)(2,f.Icon,{name:"fire",mr:.5}),(0,a.round)(B.fireLoss)]})})]})})}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"right",verticalAlign:"top",width:"33%",pt:L>0&&"calc(0.5rem + 2px)",children:[(0,e.createComponentVNode)(2,f.Box,{color:"average",inline:!0,children:c([!!B.internalBleeding&&"Internal bleeding",!!B.burnWound&&"Critical tissue burns",!!B.lungRuptured&&"Ruptured lung",!!B.status.broken&&B.status.broken,m(B.germ_level),!!B.open&&"Open incision"])}),(0,e.createComponentVNode)(2,f.Box,{inline:!0,children:[c([!!B.status.splinted&&(0,e.createComponentVNode)(2,f.Box,{color:"good",children:"Splinted"}),!!B.status.robotic&&(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"Robotic"}),!!B.status.dead&&(0,e.createComponentVNode)(2,f.Box,{color:"bad",bold:!0,children:"DEAD"})]),c(B.shrapnel.map(function(w){return w.known?w.name:"Unknown object"}))]})]})]},L)})]})})},p=function(y){return y.organs.length===0?(0,e.createComponentVNode)(2,f.Section,{title:"Internal Organs",children:(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"N/A"})}):(0,e.createComponentVNode)(2,f.Section,{title:"Internal Organs",children:(0,e.createComponentVNode)(2,f.Table,{children:[(0,e.createComponentVNode)(2,f.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"center",children:"Damage"}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"right",children:"Injuries"})]}),y.organs.map(function(B,L){return(0,e.createComponentVNode)(2,f.Table.Row,{children:[(0,e.createComponentVNode)(2,f.Table.Cell,{color:!!B.dead&&"bad"||B.germ_level>100&&"average"||B.robotic>0&&"label",width:"33%",children:(0,t.capitalize)(B.name)}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:B.maxHealth,value:B.damage/B.maxHealth,mt:L>0&&"0.5rem",ranges:g,children:(0,a.round)(B.damage)})}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"right",verticalAlign:"top",width:"33%",pt:L>0&&"calc(0.5rem + 2px)",children:[(0,e.createComponentVNode)(2,f.Box,{color:"average",inline:!0,children:c([m(B.germ_level)])}),(0,e.createComponentVNode)(2,f.Box,{inline:!0,children:c([B.robotic===1&&(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"Robotic"}),B.robotic===2&&(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"Assisted"}),!!B.dead&&(0,e.createComponentVNode)(2,f.Box,{color:"bad",bold:!0,children:"DEAD"})])})]})]},L)})]})})},N=function(){return(0,e.createComponentVNode)(2,f.Section,{fill:!0,children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,f.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant detected."]})})})}},67963:function(A,r,n){"use strict";r.__esModule=!0,r.BookBinder=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=n(39473),S=r.BookBinder=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.selectedbook,d=m.book_categories,s=[];return d.map(function(i){return s[i.description]=i.category_id}),(0,e.createComponentVNode)(2,o.Window,{width:600,height:400,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Book Binder",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"print",width:"auto",content:"Print Book",onClick:function(){function i(){return c("print_book")}return i}()}),children:[(0,e.createComponentVNode)(2,t.Box,{ml:10,fontSize:"1.2rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"search-plus",verticalAlign:"middle",size:3,mr:"1rem"}),"Book Binder"]}),(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,t.Button,{textAlign:"left",icon:"pen",width:"auto",content:l.title,onClick:function(){function i(){return(0,f.modalOpen)(g,"edit_selected_title")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Author",children:(0,e.createComponentVNode)(2,t.Button,{textAlign:"left",icon:"pen",width:"auto",content:l.author,onClick:function(){function i(){return(0,f.modalOpen)(g,"edit_selected_author")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Categories",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Dropdown,{width:"190px",options:d.map(function(i){return i.description}),onSelected:function(){function i(h){return c("toggle_binder_category",{category_id:s[h]})}return i}()})})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Summary",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pen",width:"auto",content:"Edit Summary",onClick:function(){function i(){return(0,f.modalOpen)(g,"edit_selected_summary")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:l.summary})]}),(0,e.createVNode)(1,"br"),d.filter(function(i){return l.categories.includes(i.category_id)}).map(function(i){return(0,e.createComponentVNode)(2,t.Button,{content:i.description,selected:!0,icon:"unlink",onClick:function(){function h(){return c("toggle_binder_category",{category_id:i.category_id})}return h}()},i.category_id)})]})})]})})})]})}return I}()},61925:function(A,r,n){"use strict";r.__esModule=!0,r.BotCall=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(u){var c=[{modes:[0],label:"Idle",color:"green"},{modes:[1,2,3],label:"Arresting",color:"yellow"},{modes:[4,5],label:"Patrolling",color:"average"},{modes:[9],label:"Moving",color:"average"},{modes:[6,11],label:"Responding",color:"green"},{modes:[12],label:"Delivering Cargo",color:"blue"},{modes:[13],label:"Returning Home",color:"blue"},{modes:[7,8,10,14,15,16,17,18,19],label:"Working",color:"blue"}],m=c.find(function(l){return l.modes.includes(u)});return(0,e.createComponentVNode)(2,t.Box,{color:m.color,children:[" ",m.label," "]})},b=r.BotCall=function(){function g(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=(0,a.useLocalState)(c,"tabIndex",0),i=s[0],h=s[1],C={0:"Security",1:"Medibot",2:"Cleanbot",3:"Floorbot",4:"Mule",5:"Honkbot"},v=function(){function p(N){return C[N]?(0,e.createComponentVNode)(2,S,{model:C[N]}):"This should not happen. Report on Paradise Github"}return p}();return(0,e.createComponentVNode)(2,o.Window,{width:700,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:i===0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Tabs,{fluid:!0,textAlign:"center",children:Array.from({length:6}).map(function(p,N){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:i===N,onClick:function(){function V(){return h(N)}return V}(),children:C[N]},N)})})}),v(i)]})})})}return g}(),S=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.bots;return s[u.model]!==void 0?(0,e.createComponentVNode)(2,k,{model:[u.model]}):(0,e.createComponentVNode)(2,I,{model:[u.model]})},I=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data;return(0,e.createComponentVNode)(2,t.Stack,{justify:"center",align:"center",fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Box,{bold:1,color:"bad",children:["No ",[u.model]," detected"]})})},k=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.bots;return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Model"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Location"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Interface"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Call"})]}),s[u.model].map(function(i){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.model}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.on?f(i.status):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Off"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.location}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Interface",onClick:function(){function h(){return l("interface",{botref:i.UID})}return h}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Call",onClick:function(){function h(){return l("call",{botref:i.UID})}return h}()})})]},i.UID)})]})})})}},20464:function(A,r,n){"use strict";r.__esModule=!0,r.BotClean=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(92963),b=r.BotClean=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.locked,l=c.noaccess,d=c.maintpanel,s=c.on,i=c.autopatrol,h=c.canhack,C=c.emagged,v=c.remote_disabled,p=c.painame,N=c.cleanblood,V=c.area;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,f.BotStatus),(0,e.createComponentVNode)(2,t.Section,{title:"Cleaning Settings",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:N,content:"Clean Blood",disabled:l,onClick:function(){function y(){return u("blood")}return y}()})}),(0,e.createComponentVNode)(2,t.Section,{title:"Misc Settings",children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:V?"Reset Area Selection":"Restrict to Current Area",onClick:function(){function y(){return u("area")}return y}()}),V!==null&&(0,e.createComponentVNode)(2,t.LabeledList,{mb:1,children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Locked Area",children:V})})]}),p&&(0,e.createComponentVNode)(2,t.Section,{title:"pAI",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:p,disabled:l,onClick:function(){function y(){return u("ejectpai")}return y}()})})]})})}return S}()},69479:function(A,r,n){"use strict";r.__esModule=!0,r.BotFloor=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(92963),b=r.BotFloor=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.noaccess,l=c.painame,d=c.hullplating,s=c.replace,i=c.eat,h=c.make,C=c.fixfloor,v=c.nag_empty,p=c.magnet,N=c.tiles_amount;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:510,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,f.BotStatus),(0,e.createComponentVNode)(2,t.Section,{title:"Floor Settings",children:[(0,e.createComponentVNode)(2,t.Box,{mb:"5px",children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tiles Left",children:N})}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:d,content:"Add tiles to new hull plating",tooltip:"Fixing a plating requires the removal of floor tile. This will place it back after repairing. Same goes for hull breaches",disabled:m,onClick:function(){function V(){return u("autotile")}return V}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:s,content:"Add floor tiles on exposed hull plating",tooltip:"Example: It will add tiles to maintenance",disabled:m,onClick:function(){function V(){return u("replacetiles")}return V}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:C,content:"Repair damaged tiles and platings",disabled:m,onClick:function(){function V(){return u("fixfloors")}return V}()})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Miscellaneous",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:i,content:"Finds tiles",disabled:m,onClick:function(){function V(){return u("eattiles")}return V}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:h,content:"Make pieces of metal into tiles when empty",disabled:m,onClick:function(){function V(){return u("maketiles")}return V}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:v,content:"Transmit notice when empty",disabled:m,onClick:function(){function V(){return u("nagonempty")}return V}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:p,content:"Traction Magnets",disabled:m,onClick:function(){function V(){return u("anchored")}return V}()})]}),l&&(0,e.createComponentVNode)(2,t.Section,{title:"pAI",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,icon:"eject",content:l,disabled:m,onClick:function(){function V(){return u("ejectpai")}return V}()})})]})})}return S}()},59887:function(A,r,n){"use strict";r.__esModule=!0,r.BotHonk=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(92963),b=r.BotHonk=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:220,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,f.BotStatus)})})}return S}()},80063:function(A,r,n){"use strict";r.__esModule=!0,r.BotMed=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(92963),b=r.BotMed=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.locked,l=c.noaccess,d=c.maintpanel,s=c.on,i=c.autopatrol,h=c.canhack,C=c.emagged,v=c.remote_disabled,p=c.painame,N=c.shut_up,V=c.declare_crit,y=c.stationary_mode,B=c.heal_threshold,L=c.injection_amount,w=c.use_beaker,x=c.treat_virus,T=c.reagent_glass;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.BotStatus),(0,e.createComponentVNode)(2,t.Section,{title:"Communication Settings",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,content:"Speaker",checked:!N,disabled:l,onClick:function(){function M(){return u("toggle_speaker")}return M}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,content:"Critical Patient Alerts",checked:V,disabled:l,onClick:function(){function M(){return u("toggle_critical_alerts")}return M}()})]}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Treatment Settings",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Healing Threshold",children:(0,e.createComponentVNode)(2,t.Slider,{value:B.value,minValue:B.min,maxValue:B.max,step:5,disabled:l,onChange:function(){function M(O,D){return u("set_heal_threshold",{target:D})}return M}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Injection Level",children:(0,e.createComponentVNode)(2,t.Slider,{value:L.value,minValue:L.min,maxValue:L.max,step:5,format:function(){function M(O){return O+"u"}return M}(),disabled:l,onChange:function(){function M(O,D){return u("set_injection_amount",{target:D})}return M}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Reagent Source",children:(0,e.createComponentVNode)(2,t.Button,{content:w?"Beaker":"Internal Synthesizer",icon:w?"flask":"cogs",disabled:l,onClick:function(){function M(){return u("toggle_use_beaker")}return M}()})}),T&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Beaker",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1,children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:T.amount,minValue:0,maxValue:T.max_amount,children:[T.amount," / ",T.max_amount]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{ml:1,children:(0,e.createComponentVNode)(2,t.Button,{content:"Eject",disabled:l,onClick:function(){function M(){return u("eject_reagent_glass")}return M}()})})]})})]}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{mt:1,fluid:!0,content:"Treat Viral Infections",checked:x,disabled:l,onClick:function(){function M(){return u("toggle_treat_viral")}return M}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,content:"Stationary Mode",checked:y,disabled:l,onClick:function(){function M(){return u("toggle_stationary_mode")}return M}()})]}),p&&(0,e.createComponentVNode)(2,t.Section,{title:"pAI",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:p,disabled:l,onClick:function(){function M(){return u("ejectpai")}return M}()})})]})})})}return S}()},74439:function(A,r,n){"use strict";r.__esModule=!0,r.BotSecurity=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(92963),b=r.BotSecurity=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.noaccess,l=c.painame,d=c.check_id,s=c.check_weapons,i=c.check_warrant,h=c.arrest_mode,C=c.arrest_declare;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:445,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,f.BotStatus),(0,e.createComponentVNode)(2,t.Section,{title:"Who To Arrest",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:d,content:"Unidentifiable Persons",disabled:m,onClick:function(){function v(){return u("authid")}return v}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:s,content:"Unauthorized Weapons",disabled:m,onClick:function(){function v(){return u("authweapon")}return v}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:i,content:"Wanted Criminals",disabled:m,onClick:function(){function v(){return u("authwarrant")}return v}()})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Arrest Procedure",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:h,content:"Detain Targets Indefinitely",disabled:m,onClick:function(){function v(){return u("arrtype")}return v}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:C,content:"Announce Arrests On Radio",disabled:m,onClick:function(){function v(){return u("arrdeclare")}return v}()})]}),l&&(0,e.createComponentVNode)(2,t.Section,{title:"pAI",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:l,disabled:m,onClick:function(){function v(){return u("ejectpai")}return v}()})})]})})}return S}()},10833:function(A,r,n){"use strict";r.__esModule=!0,r.BrigCells=void 0;var e=n(89005),a=n(98595),t=n(36036),o=n(72253),f=function(k,g){var u=k.cell,c=(0,o.useBackend)(g),m=c.act,l=u.cell_id,d=u.occupant,s=u.crimes,i=u.brigged_by,h=u.time_left_seconds,C=u.time_set_seconds,v=u.ref,p="";h>0&&(p+=" BrigCells__listRow--active");var N=function(){m("release",{ref:v})};return(0,e.createComponentVNode)(2,t.Table.Row,{className:p,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:l}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.TimeDisplay,{totalSeconds:C})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.TimeDisplay,{totalSeconds:h})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{type:"button",onClick:N,children:"Release"})})]})},b=function(k){var g=k.cells;return(0,e.createComponentVNode)(2,t.Table,{className:"BrigCells__list",children:[(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Cell"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Occupant"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Crimes"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Brigged By"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Time Brigged For"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Time Left"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Release"})]}),g.map(function(u){return(0,e.createComponentVNode)(2,f,{cell:u},u.ref)})]})},S=r.BrigCells=function(){function I(k,g){var u=(0,o.useBackend)(g),c=u.act,m=u.data,l=m.cells;return(0,e.createComponentVNode)(2,a.Window,{theme:"security",width:800,height:400,children:(0,e.createComponentVNode)(2,a.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,b,{cells:l})})})})})}return I}()},45761:function(A,r,n){"use strict";r.__esModule=!0,r.BrigTimer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.BrigTimer=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data;u.nameText=u.occupant,u.timing&&(u.prisoner_hasrec?u.nameText=(0,e.createComponentVNode)(2,t.Box,{color:"green",children:u.occupant}):u.nameText=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:u.occupant}));var c="pencil-alt";u.prisoner_name&&(u.prisoner_hasrec||(c="exclamation-triangle"));var m=[],l=0;for(l=0;lm?this.substring(0,m)+"...":this};var k=function(l,d){var s,i;if(!d)return[];var h=l.findIndex(function(C){return C.name===d.name});return[(s=l[h-1])==null?void 0:s.name,(i=l[h+1])==null?void 0:i.name]},g=function(l,d){d===void 0&&(d="");var s=(0,f.createSearch)(d,function(i){return i.name});return(0,t.flow)([(0,a.filter)(function(i){return i==null?void 0:i.name}),d&&(0,a.filter)(s),(0,a.sortBy)(function(i){return i.name})])(l)},u=r.CameraConsole=function(){function m(l,d){var s=(0,b.useBackend)(d),i=s.act,h=s.data,C=s.config,v=h.mapRef,p=h.activeCamera,N=g(h.cameras),V=k(N,p),y=V[0],B=V[1];return(0,e.createComponentVNode)(2,I.Window,{width:870,height:708,children:[(0,e.createVNode)(1,"div","CameraConsole__left",(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,S.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,c)})}),2),(0,e.createVNode)(1,"div","CameraConsole__right",[(0,e.createVNode)(1,"div","CameraConsole__toolbar",[(0,e.createVNode)(1,"b",null,"Camera: ",16),p&&p.name||"\u2014"],0),(0,e.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-left",disabled:!y,onClick:function(){function L(){return i("switch_camera",{name:y})}return L}()}),(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-right",disabled:!B,onClick:function(){function L(){return i("switch_camera",{name:B})}return L}()})],4),(0,e.createComponentVNode)(2,S.ByondUi,{className:"CameraConsole__map",params:{id:v,type:"map"}})],4)]})}return m}(),c=r.CameraConsoleContent=function(){function m(l,d){var s=(0,b.useBackend)(d),i=s.act,h=s.data,C=(0,b.useLocalState)(d,"searchText",""),v=C[0],p=C[1],N=h.activeCamera,V=g(h.cameras,v);return(0,e.createComponentVNode)(2,S.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S.Stack.Item,{children:(0,e.createComponentVNode)(2,S.Input,{fluid:!0,placeholder:"Search for a camera",onInput:function(){function y(B,L){return p(L)}return y}()})}),(0,e.createComponentVNode)(2,S.Stack.Item,{grow:!0,m:0,children:(0,e.createComponentVNode)(2,S.Section,{fill:!0,scrollable:!0,children:V.map(function(y){return(0,e.createVNode)(1,"div",(0,o.classes)(["Button","Button--fluid","Button--color--transparent",N&&y.name===N.name&&"Button--selected"]),y.name.trimLongStr(23),0,{title:y.name,onClick:function(){function B(){return i("switch_camera",{name:y.name})}return B}()},y.name)})})})]})}return m}()},39222:function(A,r,n){"use strict";r.__esModule=!0,r.CameraConsoleOldContent=r.CameraConsoleMapContent=r.CameraConsole220=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(35840),f=n(25328),b=n(72253),S=n(36036),I=n(98595),k=function(d,s){var i,h;if(!s)return[];var C=d.findIndex(function(v){return v.name===s.name});return[(i=d[C-1])==null?void 0:i.name,(h=d[C+1])==null?void 0:h.name]},g=function(d,s){s===void 0&&(s="");var i=(0,f.createSearch)(s,function(h){return h.name});return(0,t.flow)([(0,a.filter)(function(h){return h==null?void 0:h.name}),s&&(0,a.filter)(i),(0,a.sortBy)(function(h){return h.name})])(d)},u=r.CameraConsole220=function(){function l(d,s){var i=(0,b.useLocalState)(s,"tabIndex",0),h=i[0],C=i[1],v=function(){function p(N){switch(N){case 0:return(0,e.createComponentVNode)(2,c);case 1:return(0,e.createComponentVNode)(2,m);default:return"WE SHOULDN'T BE HERE!"}}return p}();return(0,e.createComponentVNode)(2,I.Window,{width:1170,height:755,children:(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,S.Stack,{children:(0,e.createComponentVNode)(2,S.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,S.Stack.Item,{width:h===1?"222px":"475px",textAlign:"center",children:(0,e.createComponentVNode)(2,S.Tabs,{fluid:!0,ml:h===1?1:0,mt:h===1?1:0,children:[(0,e.createComponentVNode)(2,S.Tabs.Tab,{selected:h===0,onClick:function(){function p(){return C(0)}return p}(),children:[(0,e.createComponentVNode)(2,S.Icon,{name:"map-marked-alt"})," \u041A\u0430\u0440\u0442\u0430"]},"Map"),(0,e.createComponentVNode)(2,S.Tabs.Tab,{selected:h===1,onClick:function(){function p(){return C(1)}return p}(),children:[(0,e.createComponentVNode)(2,S.Icon,{name:"table"})," \u0421\u043F\u0438\u0441\u043E\u043A"]},"List")]})}),v(h)]})})})})}return l}(),c=r.CameraConsoleMapContent=function(){function l(d,s){var i=(0,b.useBackend)(s),h=i.act,C=i.data,v=g(C.cameras),p=(0,b.useLocalState)(s,"zoom",1),N=p[0],V=p[1],y=C.mapRef,B=C.activeCamera,L=C.stationLevel,w=C.mapUrl,x=C.selected_z_level,T=k(v,B),M=T[0],O=T[1];return(0,e.createComponentVNode)(2,S.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,S.Stack.Item,{height:"100%",style:{flex:"0 0 474px"},children:(0,e.createComponentVNode)(2,S.NanoMap,{onZoom:function(){function D(E){return V(E)}return D}(),mapUrl:w,children:v.filter(function(D){return D.z===(Number(x)||L)}).map(function(D){return(0,e.createComponentVNode)(2,S.NanoMap.NanoButton,{activeCamera:B,x:D.x,y:D.y,context:s,zoom:N,icon:"circle",tooltip:D.name,name:D.name,color:"blue",status:D.status},D.ref)})})}),(0,e.createComponentVNode)(2,S.Stack.Item,{height:"100%",m:.1,className:"CameraConsole__right_map",children:[(0,e.createVNode)(1,"div","CameraConsole__header",[(0,e.createVNode)(1,"div","CameraConsole__toolbar",[(0,e.createVNode)(1,"b",null,"\u041A\u0430\u043C\u0435\u0440\u0430: ",16),B&&B.name||"\u2014"],0),(0,e.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-left",disabled:!M,onClick:function(){function D(){return h("switch_camera",{name:M})}return D}()}),(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-right",disabled:!O,onClick:function(){function D(){return h("switch_camera",{name:O})}return D}()})],4)],4),(0,e.createComponentVNode)(2,S.ByondUi,{className:"CameraConsole__map",overflow:"hidden",params:{id:y,type:"map"}})]})]})}return l}(),m=r.CameraConsoleOldContent=function(){function l(d,s){var i=(0,b.useBackend)(s),h=i.act,C=i.data,v=i.config,p=C.mapRef,N=C.activeCamera,V=(0,b.useLocalState)(s,"searchText",""),y=V[0],B=V[1],L=g(C.cameras,y),w=k(L,N),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,S.Stack.Item,{children:[(0,e.createVNode)(1,"div","CameraConsole__left",(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,S.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S.Stack.Item,{children:(0,e.createComponentVNode)(2,S.Input,{width:"215px",placeholder:"\u041D\u0430\u0439\u0442\u0438 \u043A\u0430\u043C\u0435\u0440\u0443",onInput:function(){function M(O,D){return B(D)}return M}()})}),(0,e.createComponentVNode)(2,S.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,S.Section,{fill:!0,scrollable:!0,children:L.map(function(M){return(0,e.createVNode)(1,"div",(0,o.classes)(["Button","Button--fluid",M.status?"Button--color--transparent":"Button--color--danger","Button--ellipsis",N&&M.name===N.name&&"Button--selected"]),M.name,0,{title:M.name,onClick:function(){function O(){return h("switch_camera",{name:M.name})}return O}()},M.name)})})})]})}),2),(0,e.createVNode)(1,"div","CameraConsole__right",[(0,e.createVNode)(1,"div","CameraConsole__toolbar",[(0,e.createVNode)(1,"b",null,"\u041A\u0430\u043C\u0435\u0440\u0430: ",16),N&&N.name||"\u2014"],0),(0,e.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-left",disabled:!x,onClick:function(){function M(){return h("switch_camera",{name:x})}return M}()}),(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-right",disabled:!T,onClick:function(){function M(){return h("switch_camera",{name:T})}return M}()})],4),(0,e.createComponentVNode)(2,S.ByondUi,{className:"CameraConsole__map",params:{id:p,type:"map"}})],4)]})}return l}()},52927:function(A,r,n){"use strict";r.__esModule=!0,r.Canister=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(49968),b=n(98595),S=r.Canister=function(){function I(k,g){var u=(0,t.useBackend)(g),c=u.act,m=u.data,l=m.portConnected,d=m.tankPressure,s=m.releasePressure,i=m.defaultReleasePressure,h=m.minReleasePressure,C=m.maxReleasePressure,v=m.valveOpen,p=m.name,N=m.canLabel,V=m.colorContainer,y=m.color_index,B=m.hasHoldingTank,L=m.holdingTank,w="";y.prim&&(w=V.prim.options[y.prim].name);var x="";y.sec&&(x=V.sec.options[y.sec].name);var T="";y.ter&&(T=V.ter.options[y.ter].name);var M="";y.quart&&(M=V.quart.options[y.quart].name);var O=[],D=[],E=[],P=[],R=0;for(R=0;Rp.current_positions&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:p.total_positions-p.current_positions})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"0"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{content:"-",disabled:i.cooldown_time||!p.can_close,onClick:function(){function N(){return s("make_job_unavailable",{job:p.title})}return N}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{content:"+",disabled:i.cooldown_time||!p.can_open,onClick:function(){function N(){return s("make_job_available",{job:p.title})}return N}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:i.target_dept&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:i.priority_jobs.indexOf(p.title)>-1?"Yes":""})||(0,e.createComponentVNode)(2,t.Button,{content:p.is_priority?"Yes":"No",selected:p.is_priority,disabled:i.cooldown_time||!p.can_prioritize,onClick:function(){function N(){return s("prioritize_job",{job:p.title})}return N}()})})]},p.title)})]})})]}):v=(0,e.createComponentVNode)(2,I);break;case 2:!i.authenticated||!i.scan_name?v=(0,e.createComponentVNode)(2,I):i.modify_name?v=(0,e.createComponentVNode)(2,f.AccessList,{accesses:i.regions,selectedList:i.selectedAccess,accessMod:function(){function p(N){return s("set",{access:N})}return p}(),grantAll:function(){function p(){return s("grant_all")}return p}(),denyAll:function(){function p(){return s("clear_all")}return p}(),grantDep:function(){function p(N){return s("grant_region",{region:N})}return p}(),denyDep:function(){function p(N){return s("deny_region",{region:N})}return p}()}):v=(0,e.createComponentVNode)(2,k);break;case 3:i.authenticated?i.records.length?v=(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Records",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Delete All Records",disabled:!i.authenticated||i.records.length===0||i.target_dept,onClick:function(){function p(){return s("wipe_all_logs")}return p}()}),children:[(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Crewman"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Old Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"New Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Authorized By"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Time"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Reason"}),!!i.iscentcom&&(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Deleted By"})]}),i.records.map(function(p){return(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.transferee}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.oldvalue}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.newvalue}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.whodidit}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.timestamp}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.reason}),!!i.iscentcom&&(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.deletedby})]},p.timestamp)})]}),!!i.iscentcom&&(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Delete MY Records",color:"purple",disabled:!i.authenticated||i.records.length===0,onClick:function(){function p(){return s("wipe_my_logs")}return p}()})})]}):v=(0,e.createComponentVNode)(2,g):v=(0,e.createComponentVNode)(2,I);break;case 4:!i.authenticated||!i.scan_name?v=(0,e.createComponentVNode)(2,I):v=(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Your Team",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Sec Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Actions"})]}),i.people_dept.map(function(p){return(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.title}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.crimstat}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:p.buttontext,disabled:!p.demotable,onClick:function(){function N(){return s("remote_demote",{remote_demote:p.name})}return N}()})})]},p.title)})]})});break;default:v=(0,e.createComponentVNode)(2,t.Section,{title:"Warning",color:"red",children:"ERROR: Unknown Mode."})}return(0,e.createComponentVNode)(2,o.Window,{width:800,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:C}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:h}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:v})]})})})}return c}()},64083:function(A,r,n){"use strict";r.__esModule=!0,r.CargoConsole=void 0;var e=n(89005),a=n(64795),t=n(88510),o=n(72253),f=n(36036),b=n(98595),S=n(25328),I=r.CargoConsole=function(){function d(s,i){return(0,e.createComponentVNode)(2,b.Window,{width:900,height:800,children:(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,g),(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,l)]})})})}return d}(),k=function(s,i){var h=(0,o.useLocalState)(i,"contentsModal",null),C=h[0],v=h[1],p=(0,o.useLocalState)(i,"contentsModalTitle",null),N=p[0],V=p[1];if(C!==null&&N!==null)return(0,e.createComponentVNode)(2,f.Modal,{maxWidth:"75%",width:window.innerWidth+"px",maxHeight:window.innerHeight*.75+"px",mx:"auto",children:[(0,e.createComponentVNode)(2,f.Box,{width:"100%",bold:!0,children:(0,e.createVNode)(1,"h1",null,[N,(0,e.createTextVNode)(" contents:")],0)}),(0,e.createComponentVNode)(2,f.Box,{children:C.map(function(y){return(0,e.createComponentVNode)(2,f.Box,{children:["- ",y]},y)})}),(0,e.createComponentVNode)(2,f.Box,{m:2,children:(0,e.createComponentVNode)(2,f.Button,{content:"Close",onClick:function(){function y(){v(null),V(null)}return y}()})})]})},g=function(s,i){var h=(0,o.useBackend)(i),C=h.act,v=h.data,p=v.is_public,N=v.timeleft,V=v.moving,y=v.at_station,B,L;return!V&&!y?(B="Docked off-station",L="Call Shuttle"):!V&&y?(B="Docked at the station",L="Return Shuttle"):V&&(L="In Transit...",N!==1?B="Shuttle is en route (ETA: "+N+" minutes)":B="Shuttle is en route (ETA: "+N+" minute)"),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Section,{title:"Status",children:(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Shuttle Status",children:B}),p===0&&(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,f.Button,{content:L,disabled:V,onClick:function(){function w(){return C("moveShuttle")}return w}()}),(0,e.createComponentVNode)(2,f.Button,{content:"View Central Command Messages",onClick:function(){function w(){return C("showMessages")}return w}()})]})]})})})},u=function(s,i){var h,C=(0,o.useBackend)(i),v=C.act,p=C.data,N=p.accounts,V=(0,o.useLocalState)(i,"selectedAccount"),y=V[0],B=V[1],L=[];return N.map(function(w){return L[w.name]=w.account_UID}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Section,{title:"Payment",children:[(0,e.createComponentVNode)(2,f.Dropdown,{width:"190px",options:N.map(function(w){return w.name}),selected:(h=N.filter(function(w){return w.account_UID===y})[0])==null?void 0:h.name,onSelected:function(){function w(x){return B(L[x])}return w}()}),N.filter(function(w){return w.account_UID===y}).map(function(w){return(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Account Name",children:(0,e.createComponentVNode)(2,f.Stack.Item,{mt:1,children:w.name})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Balance",children:(0,e.createComponentVNode)(2,f.Stack.Item,{children:w.balance})})]},w.account_UID)})]})})},c=function(s,i){var h=(0,o.useBackend)(i),C=h.act,v=h.data,p=v.requests,N=v.categories,V=v.supply_packs,y=(0,o.useSharedState)(i,"category","Emergency"),B=y[0],L=y[1],w=(0,o.useSharedState)(i,"search_text",""),x=w[0],T=w[1],M=(0,o.useLocalState)(i,"contentsModal",null),O=M[0],D=M[1],E=(0,o.useLocalState)(i,"contentsModalTitle",null),P=E[0],R=E[1],j=(0,S.createSearch)(x,function(J){return J.name}),F=(0,o.useLocalState)(i,"selectedAccount"),W=F[0],z=F[1],K=(0,a.flow)([(0,t.filter)(function(J){return J.cat===N.filter(function(Q){return Q.name===B})[0].category||x}),x&&(0,t.filter)(j),(0,t.sortBy)(function(J){return J.name.toLowerCase()})])(V),G="Crate Catalogue";return x?G="Results for '"+x+"':":B&&(G="Browsing "+B),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Section,{title:G,buttons:(0,e.createComponentVNode)(2,f.Dropdown,{width:"190px",options:N.map(function(J){return J.name}),selected:B,onSelected:function(){function J(Q){return L(Q)}return J}()}),children:[(0,e.createComponentVNode)(2,f.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function J(Q,ue){return T(ue)}return J}(),mb:1}),(0,e.createComponentVNode)(2,f.Box,{maxHeight:25,overflowY:"auto",overflowX:"hidden",children:(0,e.createComponentVNode)(2,f.Table,{m:"0.5rem",children:K.map(function(J){return(0,e.createComponentVNode)(2,f.Table.Row,{children:[(0,e.createComponentVNode)(2,f.Table.Cell,{bold:!0,children:[J.name," (",J.cost," Credits)"]}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"right",pr:1,children:[(0,e.createComponentVNode)(2,f.Button,{content:"Order 1",icon:"shopping-cart",disabled:!W,onClick:function(){function Q(){return C("order",{crate:J.ref,multiple:!1,account:W})}return Q}()}),(0,e.createComponentVNode)(2,f.Button,{content:"Order Multiple",icon:"cart-plus",disabled:!W||J.singleton,onClick:function(){function Q(){return C("order",{crate:J.ref,multiple:!0,account:W})}return Q}()}),(0,e.createComponentVNode)(2,f.Button,{content:"View Contents",icon:"search",onClick:function(){function Q(){D(J.contents),R(J.name)}return Q}()})]})]},J.name)})})})]})})},m=function(s,i){var h=s.request,C,v;switch(h.department){case"Engineering":v="CE",C="orange";break;case"Medical":v="CMO",C="teal";break;case"Science":v="RD",C="purple";break;case"Supply":v="CT",C="brown";break;case"Service":v="HOP",C="olive";break;case"Security":v="HOS",C="red";break;case"Command":v="CAP",C="blue";break;case"Assistant":v="Any Head",C="grey";break}return(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{mt:.5,children:"Approval Required:"}),!!h.req_cargo_approval&&(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Button,{color:"brown",content:"QM",icon:"user-tie",tooltip:"This Order requires approval from the QM still"})}),!!h.req_head_approval&&(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Button,{color:C,content:v,disabled:h.req_cargo_approval,icon:"user-tie",tooltip:h.req_cargo_approval?"This Order first requires approval from the QM before the "+v+" can approve it":"This Order requires approval from the "+v+" still"})})]})},l=function(s,i){var h=(0,o.useBackend)(i),C=h.act,v=h.data,p=v.requests,N=v.orders,V=v.shipments;return(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,title:"Orders",children:[(0,e.createComponentVNode)(2,f.Box,{bold:!0,children:"Requests"}),(0,e.createComponentVNode)(2,f.Table,{children:p.map(function(y){return(0,e.createComponentVNode)(2,f.Table.Row,{className:"Cargo_RequestList",children:[(0,e.createComponentVNode)(2,f.Table.Cell,{mb:1,children:[(0,e.createComponentVNode)(2,f.Box,{children:["Order #",y.ordernum,": ",y.supply_type," (",y.cost," credits) for ",(0,e.createVNode)(1,"b",null,y.orderedby,0)," with"," ",y.department?"The "+y.department+" Department":"Their Personal"," Account"]}),(0,e.createComponentVNode)(2,f.Box,{italic:!0,children:["Reason: ",y.comment]}),(0,e.createComponentVNode)(2,m,{request:y})]}),(0,e.createComponentVNode)(2,f.Stack.Item,{textAlign:"right",children:[(0,e.createComponentVNode)(2,f.Button,{content:"Approve",color:"green",disabled:!y.can_approve,onClick:function(){function B(){return C("approve",{ordernum:y.ordernum})}return B}()}),(0,e.createComponentVNode)(2,f.Button,{content:"Deny",color:"red",disabled:!y.can_deny,onClick:function(){function B(){return C("deny",{ordernum:y.ordernum})}return B}()})]})]},y.ordernum)})}),(0,e.createComponentVNode)(2,f.Box,{bold:!0,children:"Orders Awaiting Delivery"}),(0,e.createComponentVNode)(2,f.Table,{m:"0.5rem",children:N.map(function(y){return(0,e.createComponentVNode)(2,f.Table.Row,{children:(0,e.createComponentVNode)(2,f.Table.Cell,{children:[(0,e.createComponentVNode)(2,f.Box,{children:["- #",y.ordernum,": ",y.supply_type," for ",(0,e.createVNode)(1,"b",null,y.orderedby,0)]}),(0,e.createComponentVNode)(2,f.Box,{italic:!0,children:["Reason: ",y.comment]})]})},y.ordernum)})}),(0,e.createComponentVNode)(2,f.Box,{bold:!0,children:"Order in Transit"}),(0,e.createComponentVNode)(2,f.Table,{m:"0.5rem",children:V.map(function(y){return(0,e.createComponentVNode)(2,f.Table.Row,{children:(0,e.createComponentVNode)(2,f.Table.Cell,{children:[(0,e.createComponentVNode)(2,f.Box,{children:["- #",y.ordernum,": ",y.supply_type," for ",(0,e.createVNode)(1,"b",null,y.orderedby,0)]}),(0,e.createComponentVNode)(2,f.Box,{italic:!0,children:["Reason: ",y.comment]})]})},y.ordernum)})})]})}},36232:function(A,r,n){"use strict";r.__esModule=!0,r.ChameleonAppearances=r.Chameleon=void 0;var e=n(89005),a=n(25328),t=n(64795),o=n(88510),f=n(72253),b=n(36036),S=n(98595),I=r.Chameleon=function(){function u(c,m){return(0,e.createComponentVNode)(2,S.Window,{width:431,height:500,theme:"syndicate",children:(0,e.createComponentVNode)(2,S.Window.Content,{children:(0,e.createComponentVNode)(2,g)})})}return u}(),k=function(c,m){m===void 0&&(m="");var l=(0,a.createSearch)(m,function(d){return d.name});return(0,t.flow)([(0,o.filter)(function(d){return d==null?void 0:d.name}),m&&(0,o.filter)(l)])(c)},g=r.ChameleonAppearances=function(){function u(c,m){var l=(0,f.useBackend)(m),d=l.act,s=l.data,i=(0,f.useLocalState)(m,"searchText",""),h=i[0],C=i[1],v=k(s.chameleon_skins,h),p=s.selected_appearance;return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Input,{fluid:!0,placeholder:"Search for an appearance",onInput:function(){function N(V,y){return C(y)}return N}()})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Item Appearance",children:v.map(function(N){var V=N.name+"_"+N.icon_state;return(0,e.createComponentVNode)(2,b.ImageButton,{dmIcon:N.icon,dmIconState:N.icon_state,imageSize:64,m:.5,compact:!0,selected:V===p,tooltip:N.name,style:{opacity:V===p&&"1"||"0.5"},onClick:function(){function y(){d("change_appearance",{new_appearance:V})}return y}()},V)})})})]})}return u}()},87331:function(A,r,n){"use strict";r.__esModule=!0,r.ChangelogView=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ChangelogView=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=(0,a.useLocalState)(I,"onlyRecent",0),m=c[0],l=c[1],d=u.cl_data,s=u.last_cl,i={FIX:(0,e.createComponentVNode)(2,t.Icon,{name:"tools",title:"Fix"}),WIP:(0,e.createComponentVNode)(2,t.Icon,{name:"hard-hat",title:"WIP",color:"orange"}),TWEAK:(0,e.createComponentVNode)(2,t.Icon,{name:"sliders-h",title:"Tweak"}),SOUNDADD:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-up",title:"Sound Added",color:"green"}),SOUNDDEL:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-mute",title:"Sound Removed",color:"red"}),CODEADD:(0,e.createComponentVNode)(2,t.Icon,{name:"plus",title:"Code Addition",color:"green"}),CODEDEL:(0,e.createComponentVNode)(2,t.Icon,{name:"minus",title:"Code Removal",color:"red"}),IMAGEADD:(0,e.createComponentVNode)(2,t.Icon,{name:"folder-plus",title:"Sprite Addition",color:"green"}),IMAGEDEL:(0,e.createComponentVNode)(2,t.Icon,{name:"folder-minus",title:"Sprite Removal",color:"red"}),SPELLCHECK:(0,e.createComponentVNode)(2,t.Icon,{name:"font",title:"Spelling/Grammar Fix"}),EXPERIMENT:(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-triangle",title:"Experimental",color:"orange"})},h=function(){function C(v){return v in i?i[v]:(0,e.createComponentVNode)(2,t.Icon,{name:"plus",color:"green"})}return C}();return(0,e.createComponentVNode)(2,o.Window,{width:750,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"ParadiseSS13 Changelog",mt:2,buttons:(0,e.createComponentVNode)(2,t.Button,{content:m?"Showing all changes":"Showing changes since last connection",onClick:function(){function C(){return l(!m)}return C}()}),children:d.map(function(C){return!m&&C.merge_ts<=s||(0,e.createComponentVNode)(2,t.Section,{mb:2,title:C.author+" - Merged on "+C.merge_date,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"#"+C.num,onClick:function(){function v(){return g("open_pr",{pr_number:C.num})}return v}()}),children:C.entries.map(function(v){return(0,e.createComponentVNode)(2,t.Box,{m:1,children:[h(v.etype)," ",v.etext]},v)})},C)})})})})}return b}()},91360:function(A,r,n){"use strict";r.__esModule=!0,r.CheckboxListInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(36036),f=n(72253),b=n(98595),S=r.CheckboxListInputModal=function(){function k(g,u){var c=(0,f.useBackend)(u),m=c.act,l=c.data,d=l.items,s=d===void 0?[]:d,i=l.message,h=i===void 0?"":i,C=l.init_value,v=l.timeout,p=l.title,N=(0,f.useLocalState)(u,"edittedItems",s),V=N[0],y=N[1],B=330+Math.ceil(h.length/3),L=function(){function w(x){x===void 0&&(x=null);var T=[].concat(V);T=T.map(function(M){return M.key===x.key?Object.assign({},M,{checked:!x.checked}):M}),y(T)}return w}();return(0,e.createComponentVNode)(2,b.Window,{title:p,width:325,height:B,children:[v&&(0,e.createComponentVNode)(2,a.Loader,{value:v}),(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{className:"ListInput__Section",fill:!0,title:h,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,I,{filteredItems:V,onClick:L})}),(0,e.createComponentVNode)(2,o.Stack.Item,{mt:.5,children:(0,e.createComponentVNode)(2,t.InputButtons,{input:V})})]})})})]})}return k}(),I=function(g,u){var c=g.filteredItems,m=g.onClick;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,tabIndex:0,children:c.map(function(l,d){return(0,e.createComponentVNode)(2,o.Button.Checkbox,{fluid:!0,id:d,onClick:function(){function s(){return m(l)}return s}(),checked:l.checked,style:{animation:"none",transition:"none"},children:l.key.replace(/^\w/,function(s){return s.toUpperCase()})},d)})})}},36108:function(A,r,n){"use strict";r.__esModule=!0,r.ChemDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(85870),f=n(98595),b=[1,5,10,20,30,50],S=[1,5,10],I=r.ChemDispenser=function(){function c(m,l){var d=(0,a.useBackend)(l),s=d.act,i=d.data,h=i.chemicals;return(0,e.createComponentVNode)(2,f.Window,{width:400,height:400+h.length*8,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,g),(0,e.createComponentVNode)(2,u)]})})})}return c}(),k=function(m,l){var d=(0,a.useBackend)(l),s=d.act,i=d.data,h=i.amount,C=i.energy,v=i.maxEnergy;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:C,minValue:0,maxValue:v,ranges:{good:[v*.5,1/0],average:[v*.25,v*.5],bad:[-1/0,v*.25]},children:[C," / ",v," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Dispense",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{children:b.map(function(p,N){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"15%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"cog",selected:h===p,content:p,onClick:function(){function V(){return s("amount",{amount:p})}return V}()})},N)})})})]})})})},g=function(m,l){for(var d=(0,a.useBackend)(l),s=d.act,i=d.data,h=i.chemicals,C=h===void 0?[]:h,v=[],p=0;p<(C.length+1)%3;p++)v.push(!0);return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:i.glass?"Drink Dispenser":"Chemical Dispenser",children:[C.map(function(N,V){return(0,e.createComponentVNode)(2,t.Button,{m:.1,width:"32.5%",icon:"arrow-circle-down",overflow:"hidden",textOverflow:"ellipsis",content:N.title,style:{"margin-left":"2px"},onClick:function(){function y(){return s("dispense",{reagent:N.id})}return y}()},V)}),v.map(function(N,V){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%"},V)})]})})},u=function(m,l){var d=(0,a.useBackend)(l),s=d.act,i=d.data,h=i.isBeakerLoaded,C=i.beakerCurrentVolume,v=i.beakerMaxVolume,p=i.beakerContents,N=p===void 0?[]:p;return(0,e.createComponentVNode)(2,t.Stack.Item,{height:16,children:(0,e.createComponentVNode)(2,t.Section,{title:i.glass?"Glass":"Beaker",fill:!0,scrollable:!0,buttons:(0,e.createComponentVNode)(2,t.Box,{children:[!!h&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"label",mr:2,children:[C," / ",v," units"]}),(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject",disabled:!h,onClick:function(){function V(){return s("ejectBeaker")}return V}()})]}),children:(0,e.createComponentVNode)(2,o.BeakerContents,{beakerLoaded:h,beakerContents:N,buttons:function(){function V(y){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Isolate",icon:"compress-arrows-alt",onClick:function(){function B(){return s("remove",{reagent:y.id,amount:-1})}return B}()}),S.map(function(B,L){return(0,e.createComponentVNode)(2,t.Button,{content:B,onClick:function(){function w(){return s("remove",{reagent:y.id,amount:B})}return w}()},L)}),(0,e.createComponentVNode)(2,t.Button,{content:"ALL",onClick:function(){function B(){return s("remove",{reagent:y.id,amount:y.volume})}return B}()})],0)}return V}()})})})}},13146:function(A,r,n){"use strict";r.__esModule=!0,r.ChemHeater=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(85870),b=n(98595),S=r.ChemHeater=function(){function g(u,c){return(0,e.createComponentVNode)(2,b.Window,{width:350,height:275,children:(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k)]})})})}return g}(),I=function(u,c){var m=(0,t.useBackend)(c),l=m.act,d=m.data,s=d.targetTemp,i=d.targetTempReached,h=d.autoEject,C=d.isActive,v=d.currentTemp,p=d.isBeakerLoaded;return(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Settings",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Auto-eject",icon:h?"toggle-on":"toggle-off",selected:h,onClick:function(){function N(){return l("toggle_autoeject")}return N}()}),(0,e.createComponentVNode)(2,o.Button,{content:C?"On":"Off",icon:"power-off",selected:C,disabled:!p,onClick:function(){function N(){return l("toggle_on")}return N}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Target",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"65px",unit:"K",step:10,stepPixelSize:3,value:(0,a.round)(s,0),minValue:0,maxValue:1e3,onDrag:function(){function N(V,y){return l("adjust_temperature",{target:y})}return N}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Reading",color:i?"good":"average",children:p&&(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:v,format:function(){function N(V){return(0,a.toFixed)(V)+" K"}return N}()})||"\u2014"})]})})})},k=function(u,c){var m=(0,t.useBackend)(c),l=m.act,d=m.data,s=d.isBeakerLoaded,i=d.beakerCurrentVolume,h=d.beakerMaxVolume,C=d.beakerContents;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Beaker",fill:!0,scrollable:!0,buttons:!!s&&(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"label",mr:2,children:[i," / ",h," units"]}),(0,e.createComponentVNode)(2,o.Button,{icon:"eject",content:"Eject",onClick:function(){function v(){return l("eject_beaker")}return v}()})]}),children:(0,e.createComponentVNode)(2,f.BeakerContents,{beakerLoaded:s,beakerContents:C})})})}},56541:function(A,r,n){"use strict";r.__esModule=!0,r.ChemMaster=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(85870),b=n(3939),S=n(35840),I=["icon"];function k(B,L){if(B==null)return{};var w={};for(var x in B)if({}.hasOwnProperty.call(B,x)){if(L.includes(x))continue;w[x]=B[x]}return w}function g(B,L){B.prototype=Object.create(L.prototype),B.prototype.constructor=B,u(B,L)}function u(B,L){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(w,x){return w.__proto__=x,w},u(B,L)}var c=[1,5,10],m=function(L,w){var x=(0,a.useBackend)(w),T=x.act,M=x.data,O=L.args.analysis;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:M.condi?"Condiment Analysis":"Reagent Analysis",children:(0,e.createComponentVNode)(2,t.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:O.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:(O.desc||"").length>0?O.desc:"N/A"}),O.blood_type&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood type",children:O.blood_type}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood DNA",className:"LabeledList__breakContents",children:O.blood_dna})],4),!M.condi&&(0,e.createComponentVNode)(2,t.Button,{icon:M.printing?"spinner":"print",disabled:M.printing,iconSpin:!!M.printing,ml:"0.5rem",content:"Print",onClick:function(){function D(){return T("print",{idx:O.idx,beaker:L.args.beaker})}return D}()})]})})})})},l=function(B){return B[B.ToDisposals=0]="ToDisposals",B[B.ToBeaker=1]="ToBeaker",B}(l||{}),d=r.ChemMaster=function(){function B(L,w){return(0,e.createComponentVNode)(2,o.Window,{width:575,height:650,children:[(0,e.createComponentVNode)(2,b.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,s),(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,h),(0,e.createComponentVNode)(2,y)]})})]})}return B}(),s=function(L,w){var x=(0,a.useBackend)(w),T=x.act,M=x.data,O=M.beaker,D=M.beaker_reagents,E=M.buffer_reagents,P=E.length>0;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Beaker",fill:!0,scrollable:!0,buttons:P?(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"eject",disabled:!O,content:"Eject and Clear Buffer",onClick:function(){function R(){return T("eject")}return R}()}):(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!O,content:"Eject and Clear Buffer",onClick:function(){function R(){return T("eject")}return R}()}),children:O?(0,e.createComponentVNode)(2,f.BeakerContents,{beakerLoaded:!0,beakerContents:D,buttons:function(){function R(j,F){return(0,e.createComponentVNode)(2,t.Box,{mb:F0?(0,e.createComponentVNode)(2,f.BeakerContents,{beakerLoaded:!0,beakerContents:D,buttons:function(){function E(P,R){return(0,e.createComponentVNode)(2,t.Box,{mb:R0&&(P=E.map(function(R){var j=R.id,F=R.sprite;return(0,e.createComponentVNode)(2,N,{icon:F,translucent:!0,onClick:function(){function W(){return T("set_sprite_style",{production_mode:O,style:j})}return W}(),selected:D===j},j)})),(0,e.createComponentVNode)(2,p,{productionData:L.productionData,children:P&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Style",children:P})})},y=function(L,w){var x=(0,a.useBackend)(w),T=x.act,M=x.data,O=M.loaded_pill_bottle_style,D=M.containerstyles,E=M.loaded_pill_bottle,P={width:"20px",height:"20px"},R=D.map(function(j){var F=j.color,W=j.name,z=O===F;return(0,e.createComponentVNode)(2,t.Button,{style:{position:"relative",width:P.width,height:P.height},onClick:function(){function K(){return T("set_container_style",{style:F})}return K}(),icon:z&&"check",iconStyle:{position:"relative","z-index":1},tooltip:W,tooltipPosition:"top",children:[!z&&(0,e.createVNode)(1,"div",null,null,1,{style:{display:"inline-block"}}),(0,e.createVNode)(1,"span","Button",null,1,{style:{display:"inline-block",position:"absolute",top:0,left:0,margin:0,padding:0,width:P.width,height:P.height,"background-color":F,opacity:.6,filter:"alpha(opacity=60)"}})]},F)});return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Container Customization",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!E,content:"Eject Container",onClick:function(){function j(){return T("ejectp")}return j}()}),children:E?(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Style",children:[(0,e.createComponentVNode)(2,t.Button,{style:{width:P.width,height:P.height},icon:"tint-slash",onClick:function(){function j(){return T("clear_container_style")}return j}(),selected:!O,tooltip:"Default",tooltipPosition:"top"}),R]})}):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"No pill bottle or patch pack loaded."})})})};(0,b.modalRegisterBodyOverride)("analyze",m)},37173:function(A,r,n){"use strict";r.__esModule=!0,r.CloningConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(79140),b=1,S=32,I=128,k=r.CloningConsole=function(){function d(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.tab,N=v.has_scanner,V=v.pod_amount;return(0,e.createComponentVNode)(2,o.Window,{width:640,height:520,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Cloning Console",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Connected scanner",children:N?"Online":"Missing"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Connected pods",children:V})]})}),(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:p===1,icon:"home",onClick:function(){function y(){return C("menu",{tab:1})}return y}(),children:"Main Menu"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:p===2,icon:"user",onClick:function(){function y(){return C("menu",{tab:2})}return y}(),children:"Damage Configuration"})]}),(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,g)})]})})}return d}(),g=function(s,i){var h=(0,a.useBackend)(i),C=h.data,v=C.tab,p;return v===1?p=(0,e.createComponentVNode)(2,u):v===2&&(p=(0,e.createComponentVNode)(2,c)),p},u=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.pods,N=v.pod_amount,V=v.selected_pod_UID;return(0,e.createComponentVNode)(2,t.Box,{children:[!N&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Notice: No pods connected."}),!!N&&p.map(function(y,B){return(0,e.createComponentVNode)(2,t.Section,{layer:2,title:"Pod "+(B+1),children:(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"96px",shrink:0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:(0,f.resolveAsset)("pod_"+(y.cloning?"cloning":"idle")+".gif"),style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Button,{selected:V===y.uid,onClick:function(){function L(){return C("select_pod",{uid:y.uid})}return L}(),children:"Select"})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Progress",children:[!y.cloning&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Pod is inactive."}),!!y.cloning&&(0,e.createComponentVNode)(2,t.ProgressBar,{value:y.clone_progress,maxValue:100,color:"good"})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Biomass",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:y.biomass,ranges:{good:[2*y.biomass_storage_capacity/3,y.biomass_storage_capacity],average:[y.biomass_storage_capacity/3,2*y.biomass_storage_capacity/3],bad:[0,y.biomass_storage_capacity/3]},minValue:0,maxValue:y.biomass_storage_capacity,children:[y.biomass,"/",y.biomass_storage_capacity+" ("+100*y.biomass/y.biomass_storage_capacity+"%)"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sanguine Reagent",children:y.sanguine_reagent}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Osseous Reagent",children:y.osseous_reagent})]})})]})},y)})]})},c=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.selected_pod_data,N=v.has_scanned,V=v.scanner_has_patient,y=v.feedback,B=v.scan_successful,L=v.cloning_cost,w=v.has_scanner,x=v.currently_scanning;return(0,e.createComponentVNode)(2,t.Box,{children:[!w&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Notice: No scanner connected."}),!!w&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Section,{layer:2,title:"Scanner Info",buttons:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"hourglass-half",onClick:function(){function T(){return C("scan")}return T}(),disabled:!V||x,children:"Scan"}),(0,e.createComponentVNode)(2,t.Button,{icon:"eject",onClick:function(){function T(){return C("eject")}return T}(),disabled:!V||x,children:"Eject Patient"})]}),children:[!N&&!x&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:V?"No scan detected for current patient.":"No patient is in the scanner."}),(!!N||!!x)&&(0,e.createComponentVNode)(2,t.Box,{color:y.color,children:y.text})]}),(0,e.createComponentVNode)(2,t.Section,{layer:2,title:"Damages Breakdown",children:(0,e.createComponentVNode)(2,t.Box,{children:[(!B||!N)&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"No valid scan detected."}),!!B&&!!N&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function T(){return C("fix_all")}return T}(),children:"Repair All Damages"}),(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function T(){return C("fix_none")}return T}(),children:"Repair No Damages"})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function T(){return C("clone")}return T}(),children:"Clone"})})]}),(0,e.createComponentVNode)(2,t.Stack,{height:"25px",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"40%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:L[0],maxValue:p.biomass_storage_capacity,ranges:{bad:[2*p.biomass_storage_capacity/3,p.biomass_storage_capacity],average:[p.biomass_storage_capacity/3,2*p.biomass_storage_capacity/3],good:[0,p.biomass_storage_capacity/3]},color:L[0]>p.biomass?"bad":null,children:["Biomass: ",L[0],"/",p.biomass,"/",p.biomass_storage_capacity]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:L[1],maxValue:p.max_reagent_capacity,ranges:{bad:[2*p.max_reagent_capacity/3,p.max_reagent_capacity],average:[p.max_reagent_capacity/3,2*p.max_reagent_capacity/3],good:[0,p.max_reagent_capacity/3]},color:L[1]>p.sanguine_reagent?"bad":"good",children:["Sanguine: ",L[1],"/",p.sanguine_reagent,"/",p.max_reagent_capacity]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:L[2],maxValue:p.max_reagent_capacity,ranges:{bad:[2*p.max_reagent_capacity/3,p.max_reagent_capacity],average:[p.max_reagent_capacity/3,2*p.max_reagent_capacity/3],good:[0,p.max_reagent_capacity/3]},color:L[2]>p.osseous_reagent?"bad":"good",children:["Osseous: ",L[2],"/",p.osseous_reagent,"/",p.max_reagent_capacity]})})]}),(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,l)]})]})})]})]})},m=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.patient_limb_data,N=v.limb_list,V=v.desired_limb_data;return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Limbs",children:N.map(function(y,B){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Stack,{align:"baseline",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{color:"label",width:"15%",height:"20px",children:[p[y][4],":"," "]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),p[y][3]===0&&(0,e.createComponentVNode)(2,t.Stack.Item,{width:"60%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:V[y][0]+V[y][1],maxValue:p[y][5],ranges:{good:[0,p[y][5]/3],average:[p[y][5]/3,2*p[y][5]/3],bad:[2*p[y][5]/3,p[y][5]]},children:["Post-Cloning Damage: ",(0,e.createComponentVNode)(2,t.Icon,{name:"bone"})," "+V[y][0]+" / ",(0,e.createComponentVNode)(2,t.Icon,{name:"fire"})," "+V[y][1]]})}),p[y][3]!==0&&(0,e.createComponentVNode)(2,t.Stack.Item,{width:"60%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:"bad",value:0,children:["The patient's ",p[y][4]," is missing!"]})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[!!p[y][3]&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!V[y][3],onClick:function(){function L(){return C("toggle_limb_repair",{limb:y,type:"replace"})}return L}(),children:"Replace Limb"})}),!p[y][3]&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{disabled:!(p[y][0]||p[y][1]),checked:!(V[y][0]||V[y][1]),onClick:function(){function L(){return C("toggle_limb_repair",{limb:y,type:"damage"})}return L}(),children:"Repair Damages"}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{disabled:!(p[y][2]&b),checked:!(V[y][2]&b),onClick:function(){function L(){return C("toggle_limb_repair",{limb:y,type:"bone"})}return L}(),children:"Mend Bone"}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{disabled:!(p[y][2]&S),checked:!(V[y][2]&S),onClick:function(){function L(){return C("toggle_limb_repair",{limb:y,type:"ib"})}return L}(),children:"Mend IB"}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{disabled:!(p[y][2]&I),checked:!(V[y][2]&I),onClick:function(){function L(){return C("toggle_limb_repair",{limb:y,type:"critburn"})}return L}(),children:"Mend Critical Burn"})]})]})]},y)})})},l=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.patient_organ_data,N=v.organ_list,V=v.desired_organ_data;return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Organs",children:N.map(function(y,B){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Stack,{align:"baseline",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{color:"label",width:"20%",height:"20px",children:[p[y][3],":"," "]}),p[y][5]!=="heart"&&(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:[!!p[y][2]&&(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!V[y][2]&&!V[y][1],onClick:function(){function L(){return C("toggle_organ_repair",{organ:y,type:"replace"})}return L}(),children:"Replace Organ"}),!p[y][2]&&(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{disabled:!p[y][0],checked:!V[y][0],onClick:function(){function L(){return C("toggle_organ_repair",{organ:y,type:"damage"})}return L}(),children:"Repair Damages"})})]})}),p[y][5]==="heart"&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Heart replacement is required for cloning."}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"35%",children:[!!p[y][2]&&(0,e.createComponentVNode)(2,t.ProgressBar,{color:"bad",value:0,children:["The patient's ",p[y][3]," is missing!"]}),!p[y][2]&&(0,e.createComponentVNode)(2,t.ProgressBar,{value:V[y][0],maxValue:p[y][4],ranges:{good:[0,p[y][4]/3],average:[p[y][4]/3,2*p[y][4]/3],bad:[2*p[y][4]/3,p[y][4]]},children:"Post-Cloning Damage: "+V[y][0]})]})]})},y)})})}},98723:function(A,r,n){"use strict";r.__esModule=!0,r.CloningPod=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.CloningPod=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.biomass,m=u.biomass_storage_capacity,l=u.sanguine_reagent,d=u.osseous_reagent,s=u.organs,i=u.currently_cloning;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Liquid Storage",children:[(0,e.createComponentVNode)(2,t.Stack,{height:"25px",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{color:"label",width:"25%",children:["Biomass:"," "]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1,children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:c,ranges:{good:[2*m/3,m],average:[m/3,2*m/3],bad:[0,m/3]},minValue:0,maxValue:m})})]}),(0,e.createComponentVNode)(2,t.Stack,{height:"25px",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{color:"label",width:"25%",children:["Sanguine Reagent:"," "]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:l+" units"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.NumberInput,{value:0,minValue:0,maxValue:l,step:1,unit:"units",onChange:function(){function h(C,v){return g("remove_reagent",{reagent:"sanguine_reagent",amount:v})}return h}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Remove All",onClick:function(){function h(){return g("purge_reagent",{reagent:"sanguine_reagent"})}return h}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{height:"25px",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{color:"label",width:"25%",children:["Osseous Reagent:"," "]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:d+" units"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.NumberInput,{value:0,minValue:0,maxValue:d,step:1,unit:"units",onChange:function(){function h(C,v){return g("remove_reagent",{reagent:"osseous_reagent",amount:v})}return h}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Remove All",onClick:function(){function h(){return g("purge_reagent",{reagent:"osseous_reagent"})}return h}()})})]})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Organ Storage",children:[!i&&(0,e.createComponentVNode)(2,t.Box,{children:[!s&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Notice: No organs loaded."}),!!s&&s.map(function(h){return(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:h.name}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Eject",onClick:function(){function C(){return g("eject_organ",{organ_ref:h.ref})}return C}()})})]},h)})]}),!!i&&(0,e.createComponentVNode)(2,t.Stack,{height:"100%",children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:"1",textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"lock",size:"5",mb:3}),(0,e.createVNode)(1,"br"),"Unable to access organ storage while cloning."]})})]})]})})}return b}()},18259:function(A,r,n){"use strict";r.__esModule=!0,r.CoinMint=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(98595),b=r.CoinMint=function(){function S(I,k){var g=(0,t.useBackend)(k),u=g.act,c=g.data,m=c.materials,l=c.moneyBag,d=c.moneyBagContent,s=c.moneyBagMaxContent,i=(l?210:138)+Math.ceil(m.length/4)*64;return(0,e.createComponentVNode)(2,f.Window,{width:210,height:i,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.NoticeBox,{m:0,info:!0,children:["Total coins produced: ",c.totalCoins]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Coin Type",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"power-off",color:c.active&&"bad",tooltip:!l&&"Need a money bag",disabled:!l,onClick:function(){function h(){return u("activate")}return h}()}),children:(0,e.createComponentVNode)(2,o.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.ProgressBar,{minValue:0,maxValue:c.maxMaterials,value:c.totalMaterials})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:"eject",tooltip:"Eject selected material",onClick:function(){function h(){return u("ejectMat")}return h}()})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:m.map(function(h){return(0,e.createComponentVNode)(2,o.Button,{bold:!0,inline:!0,translucent:!0,m:.2,textAlign:"center",selected:h.id===c.chosenMaterial,tooltip:h.name,content:(0,e.createComponentVNode)(2,o.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{className:(0,a.classes)(["materials32x32",h.id])}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:h.amount})]}),onClick:function(){function C(){return u("selectMaterial",{material:h.id})}return C}()},h.id)})})]})})}),!!l&&(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"Money Bag",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"eject",content:"Eject",disabled:c.active,onClick:function(){function h(){return u("ejectBag")}return h}()}),children:(0,e.createComponentVNode)(2,o.ProgressBar,{width:"100%",minValue:0,maxValue:s,value:d,children:[d," / ",s]})})})]})})})}return S}()},93858:function(A,r,n){"use strict";r.__esModule=!0,r.HexColorInput=r.ColorSelector=r.ColorPickerModal=r.ColorInput=void 0;var e=n(89005),a=n(51057),t=n(72253),o=n(36036),f=n(98595),b=n(44879),S=n(14448),I=n(4454),k=n(35840),g=n(9394),u=n(19203),c=["prefixed","alpha","color","fluid","onChange"];/** + */var b=(0,t.createLogger)("hotkeys"),S={},I=[e.KEY_ESCAPE,e.KEY_ENTER,e.KEY_SPACE,e.KEY_TAB,e.KEY_CTRL,e.KEY_SHIFT,e.KEY_UP,e.KEY_DOWN,e.KEY_LEFT,e.KEY_RIGHT],k={},g=function(i){if(i===16)return"Shift";if(i===17)return"Ctrl";if(i===18)return"Alt";if(i===33)return"Northeast";if(i===34)return"Southeast";if(i===35)return"Southwest";if(i===36)return"Northwest";if(i===37)return"West";if(i===38)return"North";if(i===39)return"East";if(i===40)return"South";if(i===45)return"Insert";if(i===46)return"Delete";if(i>=48&&i<=57||i>=65&&i<=90)return String.fromCharCode(i);if(i>=96&&i<=105)return"Numpad"+(i-96);if(i>=112&&i<=123)return"F"+(i-111);if(i===188)return",";if(i===189)return"-";if(i===190)return"."},d=function(i){var h=String(i);if(h==="Ctrl+F5"||h==="Ctrl+R"){location.reload();return}if(h!=="Ctrl+F"&&!(i.event.defaultPrevented||i.isModifierKey()||I.includes(i.code))){h==="F5"&&(i.event.preventDefault(),i.event.returnValue=!1);var C=g(i.code);if(C){var v=S[C];if(v)return b.debug("macro",v),Byond.command(v);if(i.isDown()&&!k[C]){k[C]=!0;var p='Key_Down "'+C+'"';return b.debug(p),Byond.command(p)}if(i.isUp()&&k[C]){k[C]=!1;var N='Key_Up "'+C+'"';return b.debug(N),Byond.command(N)}}}},c=r.acquireHotKey=function(){function s(i){I.push(i)}return s}(),m=r.releaseHotKey=function(){function s(i){var h=I.indexOf(i);h>=0&&I.splice(h,1)}return s}(),l=r.releaseHeldKeys=function(){function s(){for(var i=0,h=Object.keys(k);i0||(0,a.fetchRetry)((0,e.resolveAsset)("icon_ref_map.json")).then(function(b){return b.json()}).then(function(b){return Byond.iconRefMap=b}).catch(function(b){return t.logger.log(b)})}return f}()},1090:function(A,r,n){"use strict";r.__esModule=!0,r.AICard=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AICard=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data;if(d.has_ai===0)return(0,e.createComponentVNode)(2,o.Window,{width:250,height:120,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Stored AI",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createVNode)(1,"h3",null,"No AI detected.",16)})})})});var c=null;return d.integrity>=75?c="green":d.integrity>=25?c="yellow":c="red",(0,e.createComponentVNode)(2,o.Window,{width:600,height:420,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:d.name,children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:c,value:d.integrity/100})})}),(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h2",null,d.flushing===1?"Wipe of AI in progress...":"",0)})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Laws",children:!!d.has_laws&&(0,e.createComponentVNode)(2,t.Box,{children:d.laws.map(function(m,l){return(0,e.createComponentVNode)(2,t.Box,{children:m},l)})})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h3",null,"No laws detected.",16)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wireless Activity",children:(0,e.createComponentVNode)(2,t.Button,{width:10,icon:d.wireless?"check":"times",content:d.wireless?"Enabled":"Disabled",color:d.wireless?"green":"red",onClick:function(){function m(){return g("wireless")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subspace Transceiver",children:(0,e.createComponentVNode)(2,t.Button,{width:10,icon:d.radio?"check":"times",content:d.radio?"Enabled":"Disabled",color:d.radio?"green":"red",onClick:function(){function m(){return g("radio")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wipe",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{width:10,icon:"trash-alt",confirmIcon:"trash-alt",disabled:d.flushing||d.integrity===0,confirmColor:"red",content:"Wipe AI",onClick:function(){function m(){return g("wipe")}return m}()})})]})})})]})})})}return b}()},39454:function(A,r,n){"use strict";r.__esModule=!0,r.AIFixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AIFixer=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data;if(d.occupant===null)return(0,e.createComponentVNode)(2,o.Window,{width:550,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Stored AI",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"robot",size:5,color:"silver"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"h3",null,"No Artificial Intelligence detected.",16)]})})})})});var c=!0;(d.stat===2||d.stat===null)&&(c=!1);var m=null;d.integrity>=75?m="green":d.integrity>=25?m="yellow":m="red";var l=!0;return d.integrity>=100&&d.stat!==2&&(l=!1),(0,e.createComponentVNode)(2,o.Window,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:d.occupant,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:m,value:d.integrity/100})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:c?"green":"red",children:c?"Functional":"Non-Functional"})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Laws",children:!!d.has_laws&&(0,e.createComponentVNode)(2,t.Box,{children:d.laws.map(function(u,s){return(0,e.createComponentVNode)(2,t.Box,{inline:!0,children:u},s)})})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:(0,e.createVNode)(1,"h3",null,"No laws detected.",16)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Wireless Activity",children:(0,e.createComponentVNode)(2,t.Button,{icon:d.wireless?"times":"check",content:d.wireless?"Disabled":"Enabled",color:d.wireless?"red":"green",onClick:function(){function u(){return g("wireless")}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subspace Transceiver",children:(0,e.createComponentVNode)(2,t.Button,{icon:d.radio?"times":"check",content:d.radio?"Disabled":"Enabled",color:d.radio?"red":"green",onClick:function(){function u(){return g("radio")}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Start Repairs",children:(0,e.createComponentVNode)(2,t.Button,{icon:"wrench",disabled:!l||d.active,content:!l||d.active?"Already Repaired":"Repair",onClick:function(){function u(){return g("fix")}return u}()})})]}),(0,e.createComponentVNode)(2,t.Box,{color:"green",lineHeight:2,children:d.active?"Reconstruction in progress.":""})]})})]})})})}return b}()},88422:function(A,r,n){"use strict";r.__esModule=!0,r.APC=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(195),b=r.APC=function(){function g(d,c){return(0,e.createComponentVNode)(2,o.Window,{width:510,height:435,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,k)})})}return g}(),S={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},I={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},k=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.locked&&!u.siliconUser,i=u.normallyLocked,h=S[u.externalPower]||S[0],C=S[u.chargingStatus]||S[0],v=u.powerChannels||[],p=I[u.malfStatus]||I[0],N=u.powerCellStatus/100;return(0,e.createFragment)([(0,e.createComponentVNode)(2,f.InterfaceLockNoticeBox),(0,e.createComponentVNode)(2,t.Section,{title:"Power Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Main Breaker",color:h.color,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:u.isOperating?"power-off":"times",content:u.isOperating?"On":"Off",selected:u.isOperating&&!s,color:u.isOperating?"":"bad",disabled:s,onClick:function(){function V(){return l("breaker")}return V}()}),children:["[ ",h.externalPowerText," ]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power Cell",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:"good",value:N})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Charge Mode",color:C.color,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:u.chargeMode?"sync":"times",content:u.chargeMode?"Auto":"Off",selected:u.chargeMode,disabled:s,onClick:function(){function V(){return l("charge")}return V}()}),children:["[ ",C.chargingText," ]"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Power Channels",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[v.map(function(V){var y=V.topicParams;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:V.title,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{inline:!0,mx:2,color:V.status>=2?"good":"bad",children:V.status>=2?"On":"Off"}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Auto",selected:!s&&(V.status===1||V.status===3),disabled:s,onClick:function(){function B(){return l("channel",y.auto)}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:"On",selected:!s&&V.status===2,disabled:s,onClick:function(){function B(){return l("channel",y.on)}return B}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Off",selected:!s&&V.status===0,disabled:s,onClick:function(){function B(){return l("channel",y.off)}return B}()})],4),children:[V.powerLoad," W"]},V.title)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Load",children:(0,e.createVNode)(1,"b",null,[u.totalLoad,(0,e.createTextVNode)(" W")],0)})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Misc",buttons:!!u.siliconUser&&(0,e.createFragment)([!!u.malfStatus&&(0,e.createComponentVNode)(2,t.Button,{icon:p.icon,content:p.content,color:"bad",onClick:function(){function V(){return l(p.action)}return V}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){function V(){return l("overload")}return V}()})],0),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cover Lock",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.4,icon:u.coverLocked?"lock":"unlock",content:u.coverLocked?"Engaged":"Disengaged",disabled:s,onClick:function(){function V(){return l("cover")}return V}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"lightbulb-o",content:u.emergencyLights?"Enabled":"Disabled",disabled:s,onClick:function(){function V(){return l("emergency_lighting")}return V}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,e.createComponentVNode)(2,t.Button,{mt:.4,icon:"lightbulb-o",content:u.nightshiftLights?"Enabled":"Disabled",onClick:function(){function V(){return l("toggle_nightshift")}return V}()})})]})})],4)}},99660:function(A,r,n){"use strict";r.__esModule=!0,r.ATM=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ATM=function(){function m(l,u){var s=(0,a.useBackend)(u),i=s.act,h=s.data,C=h.view_screen,v=h.authenticated_account,p=h.ticks_left_locked_down,N=h.linked_db,V;if(p>0)V=(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-triangle"}),"Maximum number of pin attempts exceeded! Access to this ATM has been temporarily disabled."]});else if(!N)V=(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-triangle"}),"Unable to connect to accounts database, please retry and if the issue persists contact Nanotrasen IT support."]});else if(v)switch(C){case 1:V=(0,e.createComponentVNode)(2,S);break;case 2:V=(0,e.createComponentVNode)(2,I);break;case 3:V=(0,e.createComponentVNode)(2,d);break;default:V=(0,e.createComponentVNode)(2,k)}else V=(0,e.createComponentVNode)(2,g);return(0,e.createComponentVNode)(2,o.Window,{width:550,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,t.Section,{children:V})]})})}return m}(),b=function(l,u){var s=(0,a.useBackend)(u),i=s.act,h=s.data,C=h.machine_id,v=h.held_card_name;return(0,e.createComponentVNode)(2,t.Section,{title:"Nanotrasen Automatic Teller Machine",children:[(0,e.createComponentVNode)(2,t.Box,{children:"For all your monetary needs!"}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Card",children:(0,e.createComponentVNode)(2,t.Button,{content:v,icon:"eject",onClick:function(){function p(){return i("insert_card")}return p}()})})})]})},S=function(l,u){var s=(0,a.useBackend)(u),i=s.act,h=s.data,C=h.security_level;return(0,e.createComponentVNode)(2,t.Section,{title:"Select a new security level for this account",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:(0,e.createComponentVNode)(2,t.Button,{content:"Account Number",icon:"unlock",selected:C===0,onClick:function(){function v(){return i("change_security_level",{new_security_level:1})}return v}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:"Either the account number or card is required to access this account. EFTPOS transactions will require a card."}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:(0,e.createComponentVNode)(2,t.Button,{content:"Account Pin",icon:"unlock",selected:C===2,onClick:function(){function v(){return i("change_security_level",{new_security_level:2})}return v}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:"An account number and pin must be manually entered to access this account and process transactions."})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,c)]})},I=function(l,u){var s=(0,a.useBackend)(u),i=s.act,h=s.data,C=(0,a.useLocalState)(u,"targetAccNumber",0),v=C[0],p=C[1],N=(0,a.useLocalState)(u,"fundsAmount",0),V=N[0],y=N[1],B=(0,a.useLocalState)(u,"purpose",0),L=B[0],w=B[1],x=h.money;return(0,e.createComponentVNode)(2,t.Section,{title:"Transfer Fund",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account Balance",children:["$",x]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Account Number",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"7 Digit Number",onInput:function(){function T(M,O){return p(O)}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Funds to Transfer",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function T(M,O){return y(O)}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transaction Purpose",children:(0,e.createComponentVNode)(2,t.Input,{fluid:!0,onInput:function(){function T(M,O){return w(O)}return T}()})})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.Button,{content:"Transfer",icon:"sign-out-alt",onClick:function(){function T(){return i("transfer",{target_acc_number:v,funds_amount:V,purpose:L})}return T}()}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,c)]})},k=function(l,u){var s=(0,a.useBackend)(u),i=s.act,h=s.data,C=(0,a.useLocalState)(u,"fundsAmount",0),v=C[0],p=C[1],N=h.owner_name,V=h.money;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Welcome, "+N,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Logout",icon:"sign-out-alt",onClick:function(){function y(){return i("logout")}return y}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account Balance",children:["$",V]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Withdrawal Amount",children:(0,e.createComponentVNode)(2,t.Input,{onInput:function(){function y(B,L){return p(L)}return y}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Withdraw Funds",icon:"sign-out-alt",onClick:function(){function y(){return i("withdrawal",{funds_amount:v})}return y}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Menu",children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Change account security level",icon:"lock",onClick:function(){function y(){return i("view_screen",{view_screen:1})}return y}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Make transfer",icon:"exchange-alt",onClick:function(){function y(){return i("view_screen",{view_screen:2})}return y}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"View transaction log",icon:"list",onClick:function(){function y(){return i("view_screen",{view_screen:3})}return y}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Print balance statement",icon:"print",onClick:function(){function y(){return i("balance_statement")}return y}()})})]})],4)},g=function(l,u){var s=(0,a.useBackend)(u),i=s.act,h=s.data,C=(0,a.useLocalState)(u,"accountID",null),v=C[0],p=C[1],N=(0,a.useLocalState)(u,"accountPin",null),V=N[0],y=N[1],B=h.machine_id,L=h.held_card_name;return(0,e.createComponentVNode)(2,t.Section,{title:"Insert card or enter ID and pin to login",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Account ID",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"6 Digit Number",onInput:function(){function w(x,T){return p(T)}return w}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pin",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"6 Digit Number",onInput:function(){function w(x,T){return y(T)}return w}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Login",icon:"sign-in-alt",onClick:function(){function w(){return i("attempt_auth",{account_num:v,account_pin:V})}return w}()})})]})})},d=function(l,u){var s=(0,a.useBackend)(u),i=s.act,h=s.data,C=h.transaction_log;return(0,e.createComponentVNode)(2,t.Section,{title:"Transactions",children:[(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Timestamp"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Reason"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Value"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Terminal"})]}),C.map(function(v){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.time}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.purpose}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:v.is_deposit?"green":"red",children:["$",v.amount]}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v.target_name})]},v)})]}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,c)]})},c=function(l,u){var s=(0,a.useBackend)(u),i=s.act,h=s.data;return(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"sign-out-alt",onClick:function(){function C(){return i("view_screen",{view_screen:0})}return C}()})}},86423:function(A,r,n){"use strict";r.__esModule=!0,r.AccountsUplinkTerminal=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(36352),b=n(98595),S=n(321),I=n(5485),k=r.AccountsUplinkTerminal=function(){function h(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=V.loginState,B=V.currentPage,L;if(y.logged_in)B===1?L=(0,e.createComponentVNode)(2,d):B===2?L=(0,e.createComponentVNode)(2,s):B===3&&(L=(0,e.createComponentVNode)(2,i));else return(0,e.createComponentVNode)(2,b.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,I.LoginScreen)})})});return(0,e.createComponentVNode)(2,b.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S.LoginInfo),(0,e.createComponentVNode)(2,g),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:L})]})})})}return h}(),g=function(C,v){var p=(0,t.useBackend)(v),N=p.data,V=(0,t.useLocalState)(v,"tabIndex",0),y=V[0],B=V[1],L=N.login_state;return(0,e.createComponentVNode)(2,o.Stack,{vertical:!0,mb:1,children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"list",selected:y===0,onClick:function(){function w(){return B(0)}return w}(),children:"User Accounts"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"list",selected:y===1,onClick:function(){function w(){return B(1)}return w}(),children:"Department Accounts"})]})})})},d=function(C,v){var p=(0,t.useLocalState)(v,"tabIndex",0),N=p[0];switch(N){case 0:return(0,e.createComponentVNode)(2,c);case 1:return(0,e.createComponentVNode)(2,m);default:return"You are somehow on a tab that doesn't exist! Please let a coder know."}},c=function(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=V.accounts,B=(0,t.useLocalState)(v,"searchText",""),L=B[0],w=B[1],x=(0,t.useLocalState)(v,"sortId","owner_name"),T=x[0],M=x[1],O=(0,t.useLocalState)(v,"sortOrder",!0),D=O[0],E=O[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"AccountsUplinkTerminal__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,l,{id:"owner_name",children:"Account Holder"}),(0,e.createComponentVNode)(2,l,{id:"account_number",children:"Account Number"}),(0,e.createComponentVNode)(2,l,{id:"suspended",children:"Account Status"}),(0,e.createComponentVNode)(2,l,{id:"money",children:"Account Balance"})]}),y.filter((0,a.createSearch)(L,function(P){return P.owner_name+"|"+P.account_number+"|"+P.suspended+"|"+P.money})).sort(function(P,R){var j=D?1:-1;return P[T].localeCompare(R[T])*j}).map(function(P){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"AccountsUplinkTerminal__listRow--"+P.suspended,onClick:function(){function R(){return N("view_account_detail",{account_num:P.account_number})}return R}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",P.owner_name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:["#",P.account_number]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:P.suspended}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:P.money})]},P.account_number)})]})})})]})},m=function(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=V.department_accounts;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.Table,{className:"AccountsUplinkTerminal__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,f.TableCell,{children:"Department Name"}),(0,e.createComponentVNode)(2,f.TableCell,{children:"Account Number"}),(0,e.createComponentVNode)(2,f.TableCell,{children:"Account Status"}),(0,e.createComponentVNode)(2,f.TableCell,{children:"Account Balance"})]}),y.map(function(B){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"AccountsUplinkTerminal__listRow--"+B.suspended,onClick:function(){function L(){return N("view_account_detail",{account_num:B.account_number})}return L}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"wallet"})," ",B.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:["#",B.account_number]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:B.suspended}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:B.money})]},B.account_number)})]})})})})},l=function(C,v){var p=(0,t.useLocalState)(v,"sortId","name"),N=p[0],V=p[1],y=(0,t.useLocalState)(v,"sortOrder",!0),B=y[0],L=y[1],w=C.id,x=C.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{color:N!==w&&"transparent",width:"100%",onClick:function(){function T(){N===w?L(!B):(V(w),L(!0))}return T}(),children:[x,N===w&&(0,e.createComponentVNode)(2,o.Icon,{name:B?"sort-up":"sort-down",ml:"0.25rem;"})]})})},u=function(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=V.is_printing,B=(0,t.useLocalState)(v,"searchText",""),L=B[0],w=B[1];return(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"New Account",icon:"plus",onClick:function(){function x(){return N("create_new_account")}return x}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by account holder, number, status",width:"100%",onInput:function(){function x(T,M){return w(M)}return x}()})})]})},s=function(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=V.account_number,B=V.owner_name,L=V.money,w=V.suspended,x=V.transactions,T=V.account_pin,M=V.is_department_account;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"#"+y+" / "+B,buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-left",content:"Back",onClick:function(){function O(){return N("back")}return O}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Number",children:["#",y]}),!!M&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Pin",children:T}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Pin Actions",children:(0,e.createComponentVNode)(2,o.Button,{ml:1,icon:"user-cog",content:"Set New Pin",disabled:!!M,onClick:function(){function O(){return N("set_account_pin",{account_number:y})}return O}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Holder",children:B}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Balance",children:L}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Status",color:w?"red":"green",children:[w?"Suspended":"Active",(0,e.createComponentVNode)(2,o.Button,{ml:1,content:w?"Unsuspend":"Suspend",icon:w?"unlock":"lock",onClick:function(){function O(){return N("toggle_suspension")}return O}()})]})]})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Transactions",children:(0,e.createComponentVNode)(2,o.Table,{children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Timestamp"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Reason"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Value"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Terminal"})]}),x.map(function(O){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:O.time}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:O.purpose}),(0,e.createComponentVNode)(2,o.Table.Cell,{color:O.is_deposit?"green":"red",children:["$",O.amount]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:O.target_name})]},O)})]})})})]})},i=function(C,v){var p=(0,t.useBackend)(v),N=p.act,V=p.data,y=(0,t.useLocalState)(v,"accName",""),B=y[0],L=y[1],w=(0,t.useLocalState)(v,"accDeposit",""),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,o.Section,{title:"Create Account",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"arrow-left",content:"Back",onClick:function(){function M(){return N("back")}return M}()}),children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Holder",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Name Here",onChange:function(){function M(O,D){return L(D)}return M}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Initial Deposit",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"0",onChange:function(){function M(O,D){return T(D)}return M}()})})]}),(0,e.createComponentVNode)(2,o.Button,{mt:1,fluid:!0,content:"Create Account",onClick:function(){function M(){return N("finalise_create_account",{holder_name:B,starting_funds:x})}return M}()})]})}},23001:function(A,r,n){"use strict";r.__esModule=!0,r.AdminAntagMenu=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(36352),b=n(98595),S=n(321),I=n(5485),k=function(h){switch(h){case 0:return"Antagonists";case 1:return"Objectives";case 2:return"Security";case 3:return"All High Value Items";default:return"Something went wrong with this menu, make an issue report please!"}},g=function(h){switch(h){case 0:return(0,e.createComponentVNode)(2,c);case 1:return(0,e.createComponentVNode)(2,m);case 2:return(0,e.createComponentVNode)(2,l);case 3:return(0,e.createComponentVNode)(2,u);default:return"Something went wrong with this menu, make an issue report please!"}},d=r.AdminAntagMenu=function(){function i(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.loginState,y=N.currentPage,B=(0,t.useLocalState)(C,"tabIndex",0),L=B[0],w=B[1],x=(0,t.useLocalState)(C,"searchText",""),T=x[0],M=x[1];return(0,e.createComponentVNode)(2,b.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.NoticeBox,{children:"This menu is a Work in Progress. Some antagonists like Nuclear Operatives and Biohazards will not show up."})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:L===0,onClick:function(){function O(){w(0)}return O}(),icon:"user",children:"Antagonists"},"Antagonists"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:L===1,onClick:function(){function O(){w(1)}return O}(),icon:"people-robbery",children:"Objectives"},"Objectives"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:L===2,onClick:function(){function O(){w(2)}return O}(),icon:"handcuffs",children:"Security"},"Security"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:L===3,onClick:function(){function O(){w(3)}return O}(),icon:"lock",children:"High Value Items"},"HighValueItems")]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:k(L),fill:!0,scrollable:!0,buttons:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search...",width:"300px",onInput:function(){function O(D,E){return M(E)}return O}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"sync",onClick:function(){function O(){return p("refresh")}return O}(),children:"Refresh"})]}),children:g(L)})})]})})})}return i}(),c=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.antagonists,y=(0,t.useLocalState)(C,"searchText",""),B=y[0],L=y[1],w=(0,t.useLocalState)(C,"sortId","antag_name"),x=w[0],T=w[1],M=(0,t.useLocalState)(C,"sortOrder",!0),O=M[0],D=M[1];return V.length?(0,e.createComponentVNode)(2,o.Table,{className:"AdminAntagMenu__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,s,{id:"name",children:"Mob Name"}),(0,e.createComponentVNode)(2,s,{id:"",children:"Buttons"}),(0,e.createComponentVNode)(2,s,{id:"antag_name",children:"Antagonist Type"}),(0,e.createComponentVNode)(2,s,{id:"status",children:"Status"})]}),V.filter((0,a.createSearch)(B,function(E){return E.name+"|"+E.status+"|"+E.antag_name})).sort(function(E,P){var R=O?1:-1;return E[x]===void 0||E[x]===null?R:P[x]===void 0||P[x]===null?-1*R:typeof E[x]=="number"?(E[x]-P[x])*R:E[x].localeCompare(P[x])*R}).map(function(E,P){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:E.body_destroyed?E.name:(0,e.createComponentVNode)(2,o.Button,{color:E.is_hijacker||!E.name?"red":"",tooltip:E.is_hijacker?"Hijacker":"",onClick:function(){function R(){return p("show_player_panel",{mind_uid:E.antag_mind_uid})}return R}(),children:E.name?E.name:"??? (NO NAME)"})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:[(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("pm",{ckey:E.ckey})}return R}(),children:"PM"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("follow",{datum_uid:E.antag_mind_uid})}return R}(),children:"FLW"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("obs",{mind_uid:E.antag_mind_uid})}return R}(),children:"OBS"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("tp",{mind_uid:E.antag_mind_uid})}return R}(),children:"TP"})]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:E.antag_name}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Box,{color:E.status?"red":"grey",children:E.status?E.status:"Alive"})})]},P)})]}):"No Antagonists!"},m=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.objectives,y=(0,t.useLocalState)(C,"searchText",""),B=y[0],L=y[1],w=(0,t.useLocalState)(C,"sortId2","target_name"),x=w[0],T=w[1],M=(0,t.useLocalState)(C,"sortOrder",!0),O=M[0],D=M[1];return V.length?(0,e.createComponentVNode)(2,o.Table,{className:"AdminAntagMenu__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,s,{sort_group:"sortId2",id:"obj_name",children:"Name"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId2",id:"target_name",children:"Target"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId2",id:"status",children:"Status"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId2",id:"owner_name",children:"Owner"})]}),V.filter((0,a.createSearch)(B,function(E){return E.obj_name+"|"+E.target_name+"|"+(E.status?"success":"incompleted")+"|"+E.owner_name})).sort(function(E,P){var R=O?1:-1;return E[x]===void 0||E[x]===null||x==="target_name"&&E.no_target?R:P[x]===void 0||P[x]===null||x==="target_name"&&P.no_target?-1*R:typeof E[x]=="number"?(E[x]-P[x])*R:E[x].localeCompare(P[x])*R}).map(function(E,P){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{tooltip:E.obj_desc,onClick:function(){function R(){return p("vv",{uid:E.obj_uid})}return R}(),children:E.obj_name})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:E.no_target?"":E.track.length?E.track.map(function(R,j){return(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function F(){return p("follow",{datum_uid:R})}return F}(),children:[E.target_name," ",E.track.length>1?"("+(parseInt(j,10)+1)+")":""]},j)}):"No "+E.target_name+" Found"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Box,{color:E.status?"green":"grey",children:E.status?"Success":"Incomplete"})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("obj_owner",{owner_uid:E.owner_uid})}return R}(),children:E.owner_name})})]},P)})]}):"No Objectives!"},l=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.security,y=(0,t.useLocalState)(C,"searchText",""),B=y[0],L=y[1],w=(0,t.useLocalState)(C,"sortId3","health"),x=w[0],T=w[1],M=(0,t.useLocalState)(C,"sortOrder",!0),O=M[0],D=M[1],E=function(j){return j.status===2?"red":j.status===1?"orange":j.broken_bone||j.internal_bleeding?"yellow":"grey"},P=function(j){return j.status===2?"Dead":j.status===1?"Unconscious":j.broken_bone&&j.internal_bleeding?"Broken Bone, IB":j.broken_bone?"Broken Bone":j.internal_bleeding?"IB":"Alive"};return V.length?(0,e.createComponentVNode)(2,o.Table,{className:"AdminAntagMenu__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,s,{sort_group:"sortId3",id:"name",children:"Name"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId3",id:"role",children:"Role"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId3",id:"status",children:"Status"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId3",id:"antag",children:"Antag"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId3",id:"health",children:"Health"})]}),V.filter((0,a.createSearch)(B,function(R){return R.name+"|"+R.role+"|"+P(R)+"|"+R.antag})).sort(function(R,j){var F=O?1:-1;return R[x]===void 0||R[x]===null?F:j[x]===void 0||j[x]===null?-1*F:typeof R[x]=="number"?(R[x]-j[x])*F:R[x].localeCompare(j[x])*F}).map(function(R,j){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function F(){return p("show_player_panel",{mind_uid:R.mind_uid})}return F}(),children:R.name})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:R.role}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,o.Box,{color:E(R),children:P(R)})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:R.antag?(0,e.createComponentVNode)(2,o.Button,{textColor:"red",translucent:!0,onClick:function(){function F(){p("tp",{mind_uid:R.mind_uid})}return F}(),children:R.antag}):""}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.ProgressBar,{minValue:0,value:R.health/R.max_health,maxValue:1,ranges:{good:[.6,1/0],average:[0,.6],bad:[-1/0,0]},children:R.health})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:[(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function F(){p("pm",{ckey:R.ckey})}return F}(),children:"PM"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function F(){p("follow",{datum_uid:R.mind_uid})}return F}(),children:"FLW"}),(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function F(){p("obs",{mind_uid:R.mind_uid})}return F}(),children:"OBS"})]})]},j)})]}):"No Security!"},u=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.high_value_items,y=(0,t.useLocalState)(C,"searchText",""),B=y[0],L=y[1],w=(0,t.useLocalState)(C,"sortId4","person"),x=w[0],T=w[1],M=(0,t.useLocalState)(C,"sortOrder",!0),O=M[0],D=M[1];return V.length?(0,e.createComponentVNode)(2,o.Table,{className:"AdminAntagMenu__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,s,{sort_group:"sortId4",id:"name",children:"Name"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId4",id:"person",children:"Carrier"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId4",id:"loc",children:"Location"}),(0,e.createComponentVNode)(2,s,{sort_group:"sortId4",id:"admin_z",children:"On Admin Z-level"})]}),V.filter((0,a.createSearch)(B,function(E){return E.name+"|"+E.loc})).sort(function(E,P){var R=O?1:-1;return E[x]===void 0||E[x]===null?R:P[x]===void 0||P[x]===null?-1*R:typeof E[x]=="number"?(E[x]-P[x])*R:E[x].localeCompare(P[x])*R}).map(function(E,P){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{tooltip:E.obj_desc,translucent:E.admin_z,onClick:function(){function R(){return p("vv",{uid:E.uid})}return R}(),children:E.name})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Box,{color:E.admin_z?"grey":"",children:E.person})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Box,{color:E.admin_z?"grey":"",children:E.loc})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Box,{color:"grey",children:E.admin_z?"On Admin Z-level":""})}),(0,e.createComponentVNode)(2,o.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function R(){p("follow",{datum_uid:E.uid})}return R}(),children:"FLW"})})]},P)})]}):"No High Value Items!"},s=function(h,C){var v=h.id,p=h.sort_group,N=p===void 0?"sortId":p,V=h.default_sort,y=V===void 0?"antag_name":V,B=h.children,L=(0,t.useLocalState)(C,N,y),w=L[0],x=L[1],T=(0,t.useLocalState)(C,"sortOrder",!0),M=T[0],O=T[1];return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{color:w!==v&&"transparent",width:"100%",onClick:function(){function D(){w===v?O(!M):(x(v),O(!0))}return D}(),children:[B,w===v&&(0,e.createComponentVNode)(2,o.Icon,{name:M?"sort-up":"sort-down",ml:"0.25rem;"})]})})}},39683:function(A,r,n){"use strict";r.__esModule=!0,r.AgentCardInfo=r.AgentCardAppearances=r.AgentCard=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=[{name:"Male",icon:"mars"},{name:"Female",icon:"venus"},{name:"Genderless",icon:"genderless"}],b=["A+","A-","B+","B-","AB+","AB-","O+","O-"],S="Empty",I=function(m){var l=m.label,u=m.value,s=m.onCommit,i=m.onClick,h=m.onRClick,C=m.tooltip;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:l,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,mb:-.5,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Input,{fluid:!0,textAlign:"center",content:u||S,onCommit:s})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"file-signature",tooltip:C,tooltipPosition:"bottom-end",onClick:i,onContextMenu:h})})]})})},k=r.AgentCard=function(){function c(m,l){var u=(0,a.useLocalState)(l,"tabIndex",0),s=u[0],i=u[1],h=function(){function C(v){switch(v){case 0:return(0,e.createComponentVNode)(2,g);case 1:return(0,e.createComponentVNode)(2,d);default:return(0,e.createComponentVNode)(2,g)}}return C}();return(0,e.createComponentVNode)(2,o.Window,{width:435,height:500,theme:"syndicate",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Tabs,{fluid:!0,children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:s===0,onClick:function(){function C(){return i(0)}return C}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"table"})," Card Info"]},"Card Info"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:s===1,onClick:function(){function C(){return i(1)}return C}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"id-card"})," Appearance"]},"Appearance")]})}),h(s)]})})})}return c}(),g=r.AgentCardInfo=function(){function c(m,l){var u=(0,a.useBackend)(l),s=u.act,i=u.data,h=i.registered_name,C=i.sex,v=i.age,p=i.assignment,N=i.job_assets,V=i.job_icon,y=i.associated_account_number,B=i.blood_type,L=i.dna_hash,w=i.fingerprint_hash,x=i.photo,T=i.ai_tracking,M=i.photo_cooldown,O=(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("Autofill options."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("LMB - Autofill your own data."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("RMB - Autofill someone else data.")],4),D=(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("Autofill options."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("LMB - Autofill your own data."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("RMB - Autofill with random data.")],4);return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Card Info",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,I,{label:"Name",value:h,tooltip:O,onCommit:function(){function E(P,R){return s("change_name",{name:R})}return E}(),onClick:function(){function E(){return s("change_name",{option:"Primary"})}return E}(),onRClick:function(){function E(P){P.preventDefault(),s("change_name",{option:"Secondary"})}return E}()}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sex",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,mb:-.5,children:f.map(function(E){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:E.icon,content:E.name,selected:C===E.name,onClick:function(){function P(){return s("change_sex",{sex:E.name})}return P}()})},E.name)})})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Age",children:(0,e.createComponentVNode)(2,t.Slider,{fluid:!0,minValue:17,value:v||0,maxValue:300,onChange:function(){function E(P,R){return s("change_age",{age:R})}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rank",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,mb:-.5,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function E(){return s("change_occupation")}return E}(),textAlign:"middle",children:p||"[UNSET]"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{tooltip:"Change HUD icon",tooltipPosition:"bottom-end",onClick:function(){function E(){return s("change_occupation",{option:"Primary"})}return E}(),children:[(0,e.createComponentVNode)(2,t.DmIcon,{fill:!0,icon:N,icon_state:V,verticalAlign:"bottom",my:"2px",width:"16px"})," "]})})]})}),(0,e.createComponentVNode)(2,I,{label:"Fingerprint",value:w,onCommit:function(){function E(P,R){return s("change_fingerprints",{new_fingerprints:R})}return E}(),onClick:function(){function E(){return s("change_fingerprints",{option:"Primary"})}return E}(),onRClick:function(){function E(P){P.preventDefault(),s("change_fingerprints",{option:"Secondary"})}return E}(),tooltip:D}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood Type",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,mb:-.5,children:[b.map(function(E){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:E,selected:B===E,onClick:function(){function P(){return s("change_blood_type",{new_type:E})}return P}()})},E)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"file-signature",onClick:function(){function E(){return s("change_blood_type",{option:"Primary"})}return E}()})})]})}),(0,e.createComponentVNode)(2,I,{label:"DNA",value:L,onCommit:function(){function E(P,R){return s("change_dna_hash",{new_dna:R})}return E}(),onClick:function(){function E(){return s("change_dna_hash",{option:"Primary"})}return E}(),onRClick:function(){function E(P){P.preventDefault(),s("change_dna_hash",{option:"Secondary"})}return E}(),tooltip:D}),(0,e.createComponentVNode)(2,I,{label:"Account",value:y||0,onCommit:function(){function E(P,R){return s("change_money_account",{new_account:R})}return E}(),onClick:function(){function E(){return s("change_money_account",{option:"Primary"})}return E}(),onRClick:function(){function E(P){P.preventDefault(),s("change_money_account",{option:"Secondary"})}return E}(),tooltip:D}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Photo",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!M,tooltip:M?"":"You can't generate a new photo yet.",onClick:function(){function E(){return s("change_photo")}return E}(),children:x?"Update":S})})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Card Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Card Info",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{fluid:!0,textAlign:"center",content:"Delete Card Info",confirmContent:"Are you sure?",onClick:function(){function E(){return s("delete_info")}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Access",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{fluid:!0,textAlign:"center",content:"Reset Access",confirmContent:"Are you sure?",onClick:function(){function E(){return s("clear_access")}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"AI Tracking",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",onClick:function(){function E(){return s("change_ai_tracking")}return E}(),children:T?"Untrackable":"Trackable"})})]})})})],4)}return c}(),d=r.AgentCardAppearances=function(){function c(m,l){var u=(0,a.useBackend)(l),s=u.act,i=u.data,h=(0,a.useSharedState)(l,"selectedAppearance",null),C=h[0],v=h[1],p=i.appearances,N=i.id_icon;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Card Appearance",children:p.map(function(V){return(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:N,dmIconState:V,imageSize:64,compact:!0,selected:V===C,tooltip:V,style:{opacity:V===C&&"1"||"0.5"},onClick:function(){function y(){v(V),s("change_appearance",{new_appearance:V})}return y}()},V)})})})}return c}()},56793:function(A,r,n){"use strict";r.__esModule=!0,r.AiAirlock=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},b=r.AiAirlock=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=f[c.power.main]||f[0],l=f[c.power.backup]||f[0],u=f[c.shock]||f[0];return(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Power Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Main",color:m.color,buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:"lightbulb-o",disabled:!c.power.main,content:"Disrupt",onClick:function(){function s(){return d("disrupt-main")}return s}()}),children:[c.power.main?"Online":"Offline"," ",!c.wires.main_power&&"[Wires have been cut!]"||c.power.main_timeleft>0&&"["+c.power.main_timeleft+"s]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Backup",color:l.color,buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:"lightbulb-o",disabled:!c.power.backup,content:"Disrupt",onClick:function(){function s(){return d("disrupt-backup")}return s}()}),children:[c.power.backup?"Online":"Offline"," ",!c.wires.backup_power&&"[Wires have been cut!]"||c.power.backup_timeleft>0&&"["+c.power.backup_timeleft+"s]"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Electrify",color:u.color,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{mr:.5,icon:"wrench",disabled:!(c.wires.shock&&c.shock!==2),content:"Restore",onClick:function(){function s(){return d("shock-restore")}return s}()}),(0,e.createComponentVNode)(2,t.Button,{mr:.5,icon:"bolt",disabled:!c.wires.shock,content:"Temporary",onClick:function(){function s(){return d("shock-temp")}return s}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"bolt",disabled:!c.wires.shock||c.shock===0,content:"Permanent",onClick:function(){function s(){return d("shock-perm")}return s}()})],4),children:[c.shock===2?"Safe":"Electrified"," ",!c.wires.shock&&"[Wires have been cut!]"||c.shock_timeleft>0&&"["+c.shock_timeleft+"s]"||c.shock_timeleft===-1&&"[Permanent]"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Access and Door Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.id_scanner?"power-off":"times",content:c.id_scanner?"Enabled":"Disabled",selected:c.id_scanner,disabled:!c.wires.id_scanner,onClick:function(){function s(){return d("idscan-toggle")}return s}()}),children:!c.wires.id_scanner&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Access",buttons:(0,e.createComponentVNode)(2,t.Button,{width:6.5,icon:c.emergency?"power-off":"times",content:c.emergency?"Enabled":"Disabled",selected:c.emergency,onClick:function(){function s(){return d("emergency-toggle")}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,icon:c.locked?"lock":"unlock",content:c.locked?"Lowered":"Raised",selected:c.locked,disabled:!c.wires.bolts,onClick:function(){function s(){return d("bolt-toggle")}return s}()}),children:!c.wires.bolts&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.lights?"power-off":"times",content:c.lights?"Enabled":"Disabled",selected:c.lights,disabled:!c.wires.lights,onClick:function(){function s(){return d("light-toggle")}return s}()}),children:!c.wires.lights&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.safe?"power-off":"times",content:c.safe?"Enabled":"Disabled",selected:c.safe,disabled:!c.wires.safe,onClick:function(){function s(){return d("safe-toggle")}return s}()}),children:!c.wires.safe&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{mb:.5,width:6.5,icon:c.speed?"power-off":"times",content:c.speed?"Enabled":"Disabled",selected:c.speed,disabled:!c.wires.timing,onClick:function(){function s(){return d("speed-toggle")}return s}()}),children:!c.wires.timing&&"[Wires have been cut!]"}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:c.opened?"sign-out-alt":"sign-in-alt",content:c.opened?"Open":"Closed",selected:c.opened,disabled:c.locked||c.welded,onClick:function(){function s(){return d("open-close")}return s}()}),children:!!(c.locked||c.welded)&&(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("[Door is "),c.locked?"bolted":"",c.locked&&c.welded?" and ":"",c.welded?"welded":"",(0,e.createTextVNode)("!]")],0)})]})})]})})}return S}()},72475:function(A,r,n){"use strict";r.__esModule=!0,r.AirAlarm=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(195),b=r.AirAlarm=function(){function u(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.locked;return(0,e.createComponentVNode)(2,o.Window,{width:570,height:p?310:755,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,f.InterfaceLockNoticeBox),(0,e.createComponentVNode)(2,I),!p&&(0,e.createFragment)([(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,g)],4)]})})}return u}(),S=function(s){return s===0?"green":s===1?"orange":"red"},I=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.air,N=v.mode,V=v.atmos_alarm,y=v.locked,B=v.alarmActivated,L=v.rcon,w=v.target_temp,x;return p.danger.overall===0?V===0?x="Optimal":x="Caution: Atmos alert in area":p.danger.overall===1?x="Caution":x="DANGER: Internals Required",(0,e.createComponentVNode)(2,t.Section,{title:"Air Status",children:p?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure",children:(0,e.createComponentVNode)(2,t.Box,{color:S(p.danger.pressure),children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:p.pressure})," kPa",!y&&(0,e.createFragment)([(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,t.Button,{content:N===3?"Deactivate Panic Siphon":"Activate Panic Siphon",selected:N===3,icon:"exclamation-triangle",onClick:function(){function T(){return C("mode",{mode:N===3?1:3})}return T}()})],4)]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Oxygen",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.oxygen/100,fractionDigits:"1",color:S(p.danger.oxygen)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrogen",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.nitrogen/100,fractionDigits:"1",color:S(p.danger.nitrogen)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Carbon Dioxide",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.co2/100,fractionDigits:"1",color:S(p.danger.co2)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Toxins",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.plasma/100,fractionDigits:"1",color:S(p.danger.plasma)})}),p.contents.n2o>.1&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nitrous Oxide",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.n2o/100,fractionDigits:"1",color:S(p.danger.n2o)})}),p.contents.other>.1&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Other",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:p.contents.other/100,fractionDigits:"1",color:S(p.danger.other)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,t.Box,{color:S(p.danger.temperature),children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:p.temperature})," K / ",(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:p.temperature_c})," C\xA0",(0,e.createComponentVNode)(2,t.Button,{icon:"thermometer-full",content:w+" C",onClick:function(){function T(){return C("temperature")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:p.thermostat_state?"On":"Off",selected:p.thermostat_state,icon:"power-off",onClick:function(){function T(){return C("thermostat_state")}return T}()})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Local Status",children:(0,e.createComponentVNode)(2,t.Box,{color:S(p.danger.overall),children:[x,!y&&(0,e.createFragment)([(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,t.Button,{content:B?"Reset Alarm":"Activate Alarm",selected:B,onClick:function(){function T(){return C(B?"atmos_reset":"atmos_alarm")}return T}()})],4)]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Remote Control Settings",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Off",selected:L===1,onClick:function(){function T(){return C("set_rcon",{rcon:1})}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Auto",selected:L===2,onClick:function(){function T(){return C("set_rcon",{rcon:2})}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:"On",selected:L===3,onClick:function(){function T(){return C("set_rcon",{rcon:3})}return T}()})]})]}):(0,e.createComponentVNode)(2,t.Box,{children:"Unable to acquire air sample!"})})},k=function(s,i){var h=(0,a.useLocalState)(i,"tabIndex",0),C=h[0],v=h[1];return(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C===0,onClick:function(){function p(){return v(0)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"sign-out-alt"})," Vent Control"]},"Vents"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C===1,onClick:function(){function p(){return v(1)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"sign-in-alt"})," Scrubber Control"]},"Scrubbers"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C===2,onClick:function(){function p(){return v(2)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cog"})," Mode"]},"Mode"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C===3,onClick:function(){function p(){return v(3)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"tachometer-alt"})," Thresholds"]},"Thresholds")]})},g=function(s,i){var h=(0,a.useLocalState)(i,"tabIndex",0),C=h[0],v=h[1];switch(C){case 0:return(0,e.createComponentVNode)(2,d);case 1:return(0,e.createComponentVNode)(2,c);case 2:return(0,e.createComponentVNode)(2,m);case 3:return(0,e.createComponentVNode)(2,l);default:return"WE SHOULDN'T BE HERE!"}},d=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.vents;return p.map(function(N){return(0,e.createComponentVNode)(2,t.Section,{title:N.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[(0,e.createComponentVNode)(2,t.Button,{content:N.power?"On":"Off",selected:N.power,icon:"power-off",onClick:function(){function V(){return C("command",{cmd:"power",val:!N.power,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:N.direction?"Blowing":"Siphoning",icon:N.direction?"sign-out-alt":"sign-in-alt",onClick:function(){function V(){return C("command",{cmd:"direction",val:!N.direction,id_tag:N.id_tag})}return V}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure Checks",children:[(0,e.createComponentVNode)(2,t.Button,{content:"External",selected:N.checks===1,onClick:function(){function V(){return C("command",{cmd:"checks",val:1,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Internal",selected:N.checks===2,onClick:function(){function V(){return C("command",{cmd:"checks",val:2,id_tag:N.id_tag})}return V}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"External Pressure Target",children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:N.external})," kPa\xA0",(0,e.createComponentVNode)(2,t.Button,{content:"Set",icon:"cog",onClick:function(){function V(){return C("command",{cmd:"set_external_pressure",id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Reset",icon:"redo-alt",onClick:function(){function V(){return C("command",{cmd:"set_external_pressure",val:101.325,id_tag:N.id_tag})}return V}()})]})]})},N.name)})},c=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.scrubbers;return p.map(function(N){return(0,e.createComponentVNode)(2,t.Section,{title:N.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[(0,e.createComponentVNode)(2,t.Button,{content:N.power?"On":"Off",selected:N.power,icon:"power-off",onClick:function(){function V(){return C("command",{cmd:"power",val:!N.power,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:N.scrubbing?"Scrubbing":"Siphoning",icon:N.scrubbing?"filter":"sign-in-alt",onClick:function(){function V(){return C("command",{cmd:"scrubbing",val:!N.scrubbing,id_tag:N.id_tag})}return V}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Range",children:(0,e.createComponentVNode)(2,t.Button,{content:N.widenet?"Extended":"Normal",selected:N.widenet,icon:"expand-arrows-alt",onClick:function(){function V(){return C("command",{cmd:"widenet",val:!N.widenet,id_tag:N.id_tag})}return V}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Filtering",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Carbon Dioxide",selected:N.filter_co2,onClick:function(){function V(){return C("command",{cmd:"co2_scrub",val:!N.filter_co2,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Plasma",selected:N.filter_toxins,onClick:function(){function V(){return C("command",{cmd:"tox_scrub",val:!N.filter_toxins,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Nitrous Oxide",selected:N.filter_n2o,onClick:function(){function V(){return C("command",{cmd:"n2o_scrub",val:!N.filter_n2o,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Oxygen",selected:N.filter_o2,onClick:function(){function V(){return C("command",{cmd:"o2_scrub",val:!N.filter_o2,id_tag:N.id_tag})}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Nitrogen",selected:N.filter_n2,onClick:function(){function V(){return C("command",{cmd:"n2_scrub",val:!N.filter_n2,id_tag:N.id_tag})}return V}()})]})]})},N.name)})},m=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.modes,N=v.presets,V=v.emagged,y=v.mode,B=v.preset;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"System Mode",children:Object.keys(p).map(function(L){var w=p[L];if(!w.emagonly||V)return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",width:1,children:(0,e.createComponentVNode)(2,t.Button,{content:w.name,icon:"cog",selected:w.id===y,onClick:function(){function x(){return C("mode",{mode:w.id})}return x}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:w.desc})]},w.name)})}),(0,e.createComponentVNode)(2,t.Section,{title:"System Presets",children:[(0,e.createComponentVNode)(2,t.Box,{italic:!0,children:"After making a selection, the system will automatically cycle in order to remove contaminants."}),(0,e.createComponentVNode)(2,t.Table,{mt:1,children:N.map(function(L){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",width:1,children:(0,e.createComponentVNode)(2,t.Button,{content:L.name,icon:"cog",selected:L.id===B,onClick:function(){function w(){return C("preset",{preset:L.id})}return w}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.desc})]},L.name)})})]})],4)},l=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.thresholds;return(0,e.createComponentVNode)(2,t.Section,{title:"Alarm Thresholds",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"20%",children:"Value"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"red",width:"20%",children:"Danger Min"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"orange",width:"20%",children:"Warning Min"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"orange",width:"20%",children:"Warning Max"}),(0,e.createComponentVNode)(2,t.Table.Cell,{color:"red",width:"20%",children:"Danger Max"})]}),p.map(function(N){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:N.name}),N.settings.map(function(V){return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:V.selected===-1?"Off":V.selected,onClick:function(){function y(){return C("command",{cmd:"set_threshold",env:V.env,var:V.val})}return y}()})},V.val)})]},N.name)})]})})}},12333:function(A,r,n){"use strict";r.__esModule=!0,r.AirlockAccessController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AirlockAccessController=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.exterior_status,m=d.interior_status,l=d.processing,u,s;return c==="open"?u=(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Lock Exterior Door",icon:"exclamation-triangle",disabled:l,onClick:function(){function i(){return g("force_ext")}return i}()}):u=(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Cycle to Exterior",icon:"arrow-circle-left",disabled:l,onClick:function(){function i(){return g("cycle_ext_door")}return i}()}),m==="open"?s=(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Lock Interior Door",icon:"exclamation-triangle",disabled:l,color:m==="open"?"red":l?"yellow":null,onClick:function(){function i(){return g("force_int")}return i}()}):s=(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Cycle to Interior",icon:"arrow-circle-right",disabled:l,onClick:function(){function i(){return g("cycle_int_door")}return i}()}),(0,e.createComponentVNode)(2,o.Window,{width:330,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Information",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"External Door Status",children:c==="closed"?"Locked":"Open"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Internal Door Status",children:m==="closed"?"Locked":"Open"})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Actions",children:(0,e.createComponentVNode)(2,t.Box,{children:[u,s]})})]})})}return b}()},28736:function(A,r,n){"use strict";r.__esModule=!0,r.AirlockElectronics=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(49148),b=1,S=2,I=4,k=8,g=r.AirlockElectronics=function(){function m(l,u){return(0,e.createComponentVNode)(2,o.Window,{width:450,height:565,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,c)]})})})}return m}(),d=function(l,u){var s=(0,a.useBackend)(u),i=s.act,h=s.data,C=h.unrestricted_dir;return(0,e.createComponentVNode)(2,t.Section,{title:"Access Control",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,mb:1,children:"Unrestricted Access From:"}),(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-left",content:"East",selected:C&I,onClick:function(){function v(){return i("unrestricted_access",{unres_dir:I})}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-up",content:"South",selected:C&S,onClick:function(){function v(){return i("unrestricted_access",{unres_dir:S})}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-right",content:"West",selected:C&k,onClick:function(){function v(){return i("unrestricted_access",{unres_dir:k})}return v}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"arrow-down",content:"North",selected:C&b,onClick:function(){function v(){return i("unrestricted_access",{unres_dir:b})}return v}()})})]})]})})},c=function(l,u){var s=(0,a.useBackend)(u),i=s.act,h=s.data,C=h.selected_accesses,v=h.one_access,p=h.regions;return(0,e.createComponentVNode)(2,f.AccessList,{usedByRcd:1,rcdButtons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:v,content:"One",onClick:function(){function N(){return i("set_one_access",{access:"one"})}return N}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!v,content:"All",onClick:function(){function N(){return i("set_one_access",{access:"all"})}return N}()})],4),accesses:p,selectedList:C,accessMod:function(){function N(V){return i("set",{access:V})}return N}(),grantAll:function(){function N(){return i("grant_all")}return N}(),denyAll:function(){function N(){return i("clear_all")}return N}(),grantDep:function(){function N(V){return i("grant_region",{region:V})}return N}(),denyDep:function(){function N(V){return i("deny_region",{region:V})}return N}()})}},47365:function(A,r,n){"use strict";r.__esModule=!0,r.AlertModal=void 0;var e=n(89005),a=n(51057),t=n(72253),o=n(92986),f=n(36036),b=n(98595),S=-1,I=1,k=r.AlertModal=function(){function c(m,l){var u=(0,t.useBackend)(l),s=u.act,i=u.data,h=i.autofocus,C=i.buttons,v=C===void 0?[]:C,p=i.large_buttons,N=i.message,V=N===void 0?"":N,y=i.timeout,B=i.title,L=(0,t.useLocalState)(l,"selected",0),w=L[0],x=L[1],T=110+(V.length>30?Math.ceil(V.length/4):0)+(V.length&&p?5:0),M=325+(v.length>2?100:0),O=function(){function D(E){w===0&&E===S?x(v.length-1):w===v.length-1&&E===I?x(0):x(w+E)}return D}();return(0,e.createComponentVNode)(2,b.Window,{title:B,height:T,width:M,children:[!!y&&(0,e.createComponentVNode)(2,a.Loader,{value:y}),(0,e.createComponentVNode)(2,b.Window.Content,{onKeyDown:function(){function D(E){var P=window.event?E.which:E.keyCode;P===o.KEY_SPACE||P===o.KEY_ENTER?s("choose",{choice:v[w]}):P===o.KEY_ESCAPE?s("cancel"):P===o.KEY_LEFT?(E.preventDefault(),O(S)):(P===o.KEY_TAB||P===o.KEY_RIGHT)&&(E.preventDefault(),O(I))}return D}(),children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,m:1,children:(0,e.createComponentVNode)(2,f.Box,{color:"label",overflow:"hidden",children:V})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:[!!h&&(0,e.createComponentVNode)(2,f.Autofocus),(0,e.createComponentVNode)(2,g,{selected:w})]})]})})})]})}return c}(),g=function(m,l){var u=(0,t.useBackend)(l),s=u.data,i=s.buttons,h=i===void 0?[]:i,C=s.large_buttons,v=s.swapped_buttons,p=m.selected;return(0,e.createComponentVNode)(2,f.Flex,{fill:!0,align:"center",direction:v?"row":"row-reverse",justify:"space-around",wrap:!0,children:h==null?void 0:h.map(function(N,V){return C&&h.length<3?(0,e.createComponentVNode)(2,f.Flex.Item,{grow:!0,children:(0,e.createComponentVNode)(2,d,{button:N,id:V.toString(),selected:p===V})},V):(0,e.createComponentVNode)(2,f.Flex.Item,{grow:C?1:0,children:(0,e.createComponentVNode)(2,d,{button:N,id:V.toString(),selected:p===V})},V)})})},d=function(m,l){var u=(0,t.useBackend)(l),s=u.act,i=u.data,h=i.large_buttons,C=m.button,v=m.selected,p=C.length>7?"100%":7;return(0,e.createComponentVNode)(2,f.Button,{mx:h?1:0,pt:h?.33:0,content:C,fluid:!!h,onClick:function(){function N(){return s("choose",{choice:C})}return N}(),selected:v,textAlign:"center",height:!!h&&2,width:!h&&p})}},71824:function(A,r,n){"use strict";r.__esModule=!0,r.AppearanceChanger=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AppearanceChanger=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.change_race,l=c.species,u=c.specimen,s=c.change_gender,i=c.gender,h=c.change_eye_color,C=c.change_skin_tone,v=c.change_skin_color,p=c.change_runechat_color,N=c.change_head_accessory_color,V=c.change_hair_color,y=c.change_secondary_hair_color,B=c.change_facial_hair_color,L=c.change_secondary_facial_hair_color,w=c.change_head_marking_color,x=c.change_body_marking_color,T=c.change_tail_marking_color,M=c.change_head_accessory,O=c.head_accessory_styles,D=c.head_accessory_style,E=c.change_hair,P=c.hair_styles,R=c.hair_style,j=c.change_hair_gradient,F=c.change_facial_hair,W=c.facial_hair_styles,z=c.facial_hair_style,K=c.change_head_markings,G=c.head_marking_styles,J=c.head_marking_style,Q=c.change_body_markings,ue=c.body_marking_styles,ie=c.body_marking_style,pe=c.change_tail_markings,te=c.tail_marking_styles,q=c.tail_marking_style,ne=c.change_body_accessory,le=c.body_accessory_styles,ee=c.body_accessory_style,re=c.change_alt_head,oe=c.alt_head_styles,fe=c.alt_head_style,me=!1;return(h||C||v||N||p||V||y||B||L||w||x||T)&&(me=!0),(0,e.createComponentVNode)(2,o.Window,{width:800,height:450,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[!!m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Species",children:l.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.specimen,selected:Y.specimen===u,onClick:function(){function ve(){return d("race",{race:Y.specimen})}return ve}()},Y.specimen)})}),!!s&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Gender",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Male",selected:i==="male",onClick:function(){function Y(){return d("gender",{gender:"male"})}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Female",selected:i==="female",onClick:function(){function Y(){return d("gender",{gender:"female"})}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Genderless",selected:i==="plural",onClick:function(){function Y(){return d("gender",{gender:"plural"})}return Y}()})]}),!!me&&(0,e.createComponentVNode)(2,b),!!M&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Head accessory",children:O.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.headaccessorystyle,selected:Y.headaccessorystyle===D,onClick:function(){function ve(){return d("head_accessory",{head_accessory:Y.headaccessorystyle})}return ve}()},Y.headaccessorystyle)})}),!!E&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hair",children:P.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.hairstyle,selected:Y.hairstyle===R,onClick:function(){function ve(){return d("hair",{hair:Y.hairstyle})}return ve}()},Y.hairstyle)})}),!!j&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hair Gradient",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Change Style",onClick:function(){function Y(){return d("hair_gradient")}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Offset",onClick:function(){function Y(){return d("hair_gradient_offset")}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Color",onClick:function(){function Y(){return d("hair_gradient_colour")}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Change Alpha",onClick:function(){function Y(){return d("hair_gradient_alpha")}return Y}()})]}),!!F&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Facial hair",children:W.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.facialhairstyle,selected:Y.facialhairstyle===z,onClick:function(){function ve(){return d("facial_hair",{facial_hair:Y.facialhairstyle})}return ve}()},Y.facialhairstyle)})}),!!K&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Head markings",children:G.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.headmarkingstyle,selected:Y.headmarkingstyle===J,onClick:function(){function ve(){return d("head_marking",{head_marking:Y.headmarkingstyle})}return ve}()},Y.headmarkingstyle)})}),!!Q&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Body markings",children:ue.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.bodymarkingstyle,selected:Y.bodymarkingstyle===ie,onClick:function(){function ve(){return d("body_marking",{body_marking:Y.bodymarkingstyle})}return ve}()},Y.bodymarkingstyle)})}),!!pe&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tail markings",children:te.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.tailmarkingstyle,selected:Y.tailmarkingstyle===q,onClick:function(){function ve(){return d("tail_marking",{tail_marking:Y.tailmarkingstyle})}return ve}()},Y.tailmarkingstyle)})}),!!ne&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Body accessory",children:le.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.bodyaccessorystyle,selected:Y.bodyaccessorystyle===ee,onClick:function(){function ve(){return d("body_accessory",{body_accessory:Y.bodyaccessorystyle})}return ve}()},Y.bodyaccessorystyle)})}),!!re&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alternate head",children:oe.map(function(Y){return(0,e.createComponentVNode)(2,t.Button,{content:Y.altheadstyle,selected:Y.altheadstyle===fe,onClick:function(){function ve(){return d("alt_head",{alt_head:Y.altheadstyle})}return ve}()},Y.altheadstyle)})})]})})})}return S}(),b=function(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=[{key:"change_eye_color",text:"Change eye color",action:"eye_color"},{key:"change_skin_tone",text:"Change skin tone",action:"skin_tone"},{key:"change_skin_color",text:"Change skin color",action:"skin_color"},{key:"change_runechat_color",text:"Change runechat color",action:"runechat_color"},{key:"change_head_accessory_color",text:"Change head accessory color",action:"head_accessory_color"},{key:"change_hair_color",text:"Change hair color",action:"hair_color"},{key:"change_secondary_hair_color",text:"Change secondary hair color",action:"secondary_hair_color"},{key:"change_facial_hair_color",text:"Change facial hair color",action:"facial_hair_color"},{key:"change_secondary_facial_hair_color",text:"Change secondary facial hair color",action:"secondary_facial_hair_color"},{key:"change_head_marking_color",text:"Change head marking color",action:"head_marking_color"},{key:"change_body_marking_color",text:"Change body marking color",action:"body_marking_color"},{key:"change_tail_marking_color",text:"Change tail marking color",action:"tail_marking_color"}];return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Colors",children:m.map(function(l){return!!c[l.key]&&(0,e.createComponentVNode)(2,t.Button,{content:l.text,onClick:function(){function u(){return d(l.action)}return u}()},l.key)})})}},72285:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosAlertConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AtmosAlertConsole=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.priority||[],m=d.minor||[],l=d.mode||{};return(0,e.createComponentVNode)(2,o.Window,{width:350,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Alarms",children:(0,e.createVNode)(1,"ul",null,[c.length===0&&(0,e.createVNode)(1,"li","color-good","No Priority Alerts",16),c.map(function(u){return(0,e.createVNode)(1,"li","color-bad",u,0,null,u)}),m.length===0&&(0,e.createVNode)(1,"li","color-good","No Minor Alerts",16),m.map(function(u){return(0,e.createVNode)(1,"li","color-average",u,0,null,u)}),Object.keys(l).length===0&&(0,e.createVNode)(1,"li","color-good","All Areas Filtering",16),Object.keys(l).map(function(u){return(0,e.createVNode)(1,"li","color-good",[u,(0,e.createTextVNode)(" mode is "),l[u]],0,null,alert)})],0)})})})}return b}()},65805:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(36352),f=n(98595),b=function(c){if(c===0)return(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Good"});if(c===1)return(0,e.createComponentVNode)(2,t.Box,{color:"orange",bold:!0,children:"Warning"});if(c===2)return(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,children:"DANGER"})},S=function(c){if(c===0)return"green";if(c===1)return"orange";if(c===2)return"red"},I=r.AtmosControl=function(){function d(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=(0,a.useLocalState)(m,"tabIndex",0),h=i[0],C=i[1],v=function(){function p(N){switch(N){case 0:return(0,e.createComponentVNode)(2,k);case 1:return(0,e.createComponentVNode)(2,g);default:return"WE SHOULDN'T BE HERE!"}}return p}();return(0,e.createComponentVNode)(2,f.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:h===0,children:(0,e.createComponentVNode)(2,t.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:h===0,onClick:function(){function p(){return C(0)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"table"})," Data View"]},"DataView"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:h===1,onClick:function(){function p(){return C(1)}return p}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"map-marked-alt"})," Map View"]},"MapView")]}),v(h)]})})})}return d}(),k=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.alarms;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Access"})]}),i.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,o.TableCell,{children:h.name}),(0,e.createComponentVNode)(2,o.TableCell,{children:b(h.danger)}),(0,e.createComponentVNode)(2,o.TableCell,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"cog",content:"Access",onClick:function(){function C(){return u("open_alarm",{aref:h.ref})}return C}()})})]},h.name)})]})})},g=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.alarms;return(0,e.createComponentVNode)(2,t.Box,{height:"526px",mb:"0.5rem",overflow:"hidden",children:(0,e.createComponentVNode)(2,t.NanoMap,{children:i.filter(function(h){return h.z===3}).map(function(h){return(0,e.createComponentVNode)(2,t.NanoMap.MarkerIcon,{x:h.x,y:h.y,icon:"circle",tooltip:h.name,color:S(h.danger),onClick:function(){function C(){return u("open_alarm",{aref:h.ref})}return C}()},h.ref)})})})}},87816:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosFilter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AtmosFilter=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.on,m=d.pressure,l=d.max_pressure,u=d.filter_type,s=d.filter_type_list;return(0,e.createComponentVNode)(2,o.Window,{width:380,height:140,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:c?"On":"Off",color:c?null:"red",selected:c,onClick:function(){function i(){return g("power")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:m===0,width:2.2,onClick:function(){function i(){return g("min_pressure")}return i}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"kPa",width:6.1,lineHeight:1.5,step:10,minValue:0,maxValue:l,value:m,onDrag:function(){function i(h,C){return g("custom_pressure",{pressure:C})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:m===l,width:2.2,onClick:function(){function i(){return g("max_pressure")}return i}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Filter",children:s.map(function(i){return(0,e.createComponentVNode)(2,t.Button,{selected:i.gas_type===u,content:i.label,onClick:function(){function h(){return g("set_filter",{filter:i.gas_type})}return h}()},i.label)})})]})})})})}return b}()},57258:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosGraphMonitor=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(44879),b=n(88510),S=n(35840),I=["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth","horizontalLinesCount","verticalLinesCount","gridColor","gridWidth","pointTextColor","pointTextSize","labelViewBoxSize"];function k(i,h){if(i==null)return{};var C={};for(var v in i)if({}.hasOwnProperty.call(i,v)){if(h.includes(v))continue;C[v]=i[v]}return C}function g(i,h){i.prototype=Object.create(h.prototype),i.prototype.constructor=i,d(i,h)}function d(i,h){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(C,v){return C.__proto__=v,C},d(i,h)}var c=r.AtmosGraphMonitor=function(){function i(h,C){var v=(0,a.useBackend)(C),p=v.data,N=(0,a.useLocalState)(C,"tabIndex",0),V=N[0],y=N[1],B=function(){function w(x){switch(x){case 0:return(0,e.createComponentVNode)(2,m,{data:p,info:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0437\u0430\u043F\u0438\u0441\u0438 T = 60 \u0441. | \u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0435\u0436\u0434\u0443 \u0437\u0430\u043F\u0438\u0441\u044F\u043C\u0438 t = 3 \u0441.",pressureListName:"pressure_history",temperatureListName:"temperature_history"});case 1:return(0,e.createComponentVNode)(2,m,{data:p,info:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u0437\u0430\u043F\u0438\u0441\u0438 T = 10 \u043C\u0438\u043D. | \u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0435\u0436\u0434\u0443 \u0437\u0430\u043F\u0438\u0441\u044F\u043C\u0438 t = 30 \u0441.",pressureListName:"long_pressure_history",temperatureListName:"long_temperature_history"});default:return"WE SHOULDN'T BE HERE!"}}return w}(),L=function(){function w(x){switch(x){case 0:return 180;case 1:return 350;case 2:return 590;case 3:return 830;default:return 870}}return w}();return(0,e.createComponentVNode)(2,o.Window,{width:700,height:L(Object.keys(p.sensors).length),children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:V===0,onClick:function(){function w(){return y(0)}return w}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"area-chart"})," \u0422\u0435\u043A\u0443\u0449\u0438\u0435"]},"View"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:V===1,onClick:function(){function w(){return y(1)}return w}(),children:[(0,e.createComponentVNode)(2,t.Icon,{name:"bar-chart"})," \u0418\u0441\u0442\u043E\u0440\u0438\u044F"]},"History")]}),B(V),Object.keys(p.sensors).length===0&&(0,e.createComponentVNode)(2,t.Box,{pt:2,textAlign:"center",textColor:"gray",bold:!0,fontSize:1.3,children:"\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u0435 gas sensor \u0438\u043B\u0438 meter \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E multitool"})]})})})}return i}(),m=function(h){var C=h.data,v=h.info,p=h.pressureListName,N=h.temperatureListName,V=C.sensors||{},y=function(T,M){return V[T][M].slice(-1)[0]},B=function(T,M){return Math.min.apply(Math,V[T][M])},L=function(T,M){return Math.max.apply(Math,V[T][M])},w=function(T,M){return V[T][M].map(function(O,D){return[D,O]})};return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Section,{color:"gray",children:v}),Object.keys(V).map(function(x){return(0,e.createComponentVNode)(2,t.Section,{title:x,children:(0,e.createComponentVNode)(2,t.Section,{px:2,children:[N in V[x]&&(0,e.createComponentVNode)(2,t.Box,{mb:4,children:[(0,e.createComponentVNode)(2,t.Box,{children:"\u0422\u0435\u043C\u043F\u0435\u0440\u0430\u0442\u0443\u0440\u0430: "+(0,f.toFixed)(y(x,N),0)+"\u041A (MIN: "+(0,f.toFixed)(B(x,N),0)+"\u041A; MAX: "+(0,f.toFixed)(L(x,N),0)+"\u041A)"}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,height:5,mt:1,children:(0,e.createComponentVNode)(2,s,{fillPositionedParent:!0,data:w(x,N),rangeX:[0,w(x,N).length-1],rangeY:[B(x,N)-10,L(x,N)+5],strokeColor:"rgba(219, 40, 40, 1)",fillColor:"rgba(219, 40, 40, 0.1)",horizontalLinesCount:2,verticalLinesCount:w(x,N).length-2,labelViewBoxSize:400})})]}),p in V[x]&&(0,e.createComponentVNode)(2,t.Box,{mb:-1,children:[(0,e.createComponentVNode)(2,t.Box,{children:"\u0414\u0430\u0432\u043B\u0435\u043D\u0438\u0435: "+(0,f.toFixed)(y(x,p),0)+"\u043A\u041F\u0430 (MIN: "+(0,f.toFixed)(B(x,p),0)+"\u043A\u041F\u0430; MAX: "+(0,f.toFixed)(L(x,p),0)+"\u043A\u041F\u0430)"}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,height:5,mt:1,children:(0,e.createComponentVNode)(2,s,{fillPositionedParent:!0,data:w(x,p),rangeX:[0,w(x,p).length-1],rangeY:[B(x,p)-10,L(x,p)+5],strokeColor:"rgba(40, 219, 40, 1)",fillColor:"rgba(40, 219, 40, 0.1)",horizontalLinesCount:2,verticalLinesCount:w(x,p).length-2,labelViewBoxSize:400})})]})]})},x)})]})},l=function(h,C,v,p){if(h.length===0)return[];var N=(0,b.zipWith)(Math.min).apply(void 0,h),V=(0,b.zipWith)(Math.max).apply(void 0,h);v!==void 0&&(N[0]=v[0],V[0]=v[1]),p!==void 0&&(N[1]=p[0],V[1]=p[1]);var y=function(x,T,M,O){return(x-T)/(M-T)*O},B=(0,b.zipWith)(y),L=(0,b.map)(function(w){return B(w,N,V,C)});return L(h)},u=function(h){for(var C="",v=0;v0){var le=ne[0],ee=ne[ne.length-1];ne.push([q[0]+D,ee[1]]),ne.push([q[0]+D,-D]),ne.push([-D,-D]),ne.push([-D,le[1]])}var re=u(ne);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Box,Object.assign({position:"relative"},te,{children:function(){function oe(fe){return(0,e.normalizeProps)((0,e.createVNode)(1,"div",null,(0,e.createVNode)(32,"svg",null,[Array.from({length:P}).map(function(me,Y){return(0,e.createVNode)(32,"line",null,null,1,{x1:0,y1:(Y+1)*(q[1]/(P+1)),x2:q[0],y2:(Y+1)*(q[1]/(P+1)),stroke:W,"stroke-width":K},"horizontal-line-"+Y)}),Array.from({length:j}).map(function(me,Y){return(0,e.createVNode)(32,"line",null,null,1,{x1:(Y+1)*(q[0]/(j+1)),y1:0,x2:(Y+1)*(q[0]/(j+1)),y2:q[1],stroke:W,"stroke-width":K},"vertical-line-"+Y)}),(0,e.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+q[1]+")",fill:x,points:re}),y.map(function(me,Y){return Y===0?null:(0,e.createVNode)(32,"line",null,null,1,{x1:ne[Y-1][0],y1:q[1]-ne[Y-1][1],x2:ne[Y][0],y2:q[1]-ne[Y][1],stroke:M,"stroke-width":D},"line-"+Y)}),y.map(function(me,Y){return(0,e.createVNode)(32,"circle",null,null,1,{cx:ne[Y][0],cy:q[1]-ne[Y][1],r:2,fill:"#ffffff",stroke:M,"stroke-width":1},"point-"+Y)}),y.map(function(me,Y){return q[0]>pe&&Y%2===1&&(0,e.createVNode)(32,"text",null,me[1]!==null?me[1].toFixed(0):"N/A",0,{x:ne[Y][0],y:q[1]-ne[Y][1],fill:J,"font-size":ue,dy:"1em",style:{"text-anchor":"end"}},"point-text-"+Y)})],0,{viewBox:"0 0 "+q[0]+" "+q[1]}),2,Object.assign({},fe),null,p.ref))}return oe}()})))}return v}(),h}(e.Component);s.defaultHooks=void 0,s.defaultHooks=S.pureComponentHooks},52977:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosMixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AtmosMixer=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.on,l=c.pressure,u=c.max_pressure,s=c.node1_concentration,i=c.node2_concentration;return(0,e.createComponentVNode)(2,o.Window,{width:330,height:165,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:m?"On":"Off",color:m?null:"red",selected:m,onClick:function(){function h(){return d("power")}return h}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:l===0,width:2.2,onClick:function(){function h(){return d("min_pressure")}return h}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"kPa",width:6.1,lineHeight:1.5,step:10,minValue:0,maxValue:u,value:l,onDrag:function(){function h(C,v){return d("custom_pressure",{pressure:v})}return h}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:l===u,width:2.2,onClick:function(){function h(){return d("max_pressure")}return h}()})]}),(0,e.createComponentVNode)(2,b,{node_name:"Node 1",node_ref:s}),(0,e.createComponentVNode)(2,b,{node_name:"Node 2",node_ref:i})]})})})})}return S}(),b=function(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=I.node_name,l=I.node_ref;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:m,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",width:2.2,disabled:l===0,onClick:function(){function u(){return d("set_node",{node_name:m,concentration:(l-10)/100})}return u}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"%",width:6.1,lineHeight:1.5,stepPixelSize:10,minValue:0,maxValue:100,value:l,onChange:function(){function u(s,i){return d("set_node",{node_name:m,concentration:i/100})}return u}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",width:2.2,disabled:l===100,onClick:function(){function u(){return d("set_node",{node_name:m,concentration:(l+10)/100})}return u}()})]})}},11748:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosPump=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.AtmosPump=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.on,m=d.rate,l=d.max_rate,u=d.gas_unit,s=d.step;return(0,e.createComponentVNode)(2,o.Window,{width:330,height:110,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:c?"On":"Off",color:c?null:"red",selected:c,onClick:function(){function i(){return g("power")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",textAlign:"center",disabled:m===0,width:2.2,onClick:function(){function i(){return g("min_rate")}return i}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:u,width:6.1,lineHeight:1.5,step:s,minValue:0,maxValue:l,value:m,onDrag:function(){function i(h,C){return g("custom_rate",{rate:C})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",textAlign:"center",disabled:m===l,width:2.2,onClick:function(){function i(){return g("max_rate")}return i}()})]})]})})})})}return b}()},69321:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosTankControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(44879),f=n(76910),b=n(98595),S=r.AtmosTankControl=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.sensors||{};return(0,e.createComponentVNode)(2,b.Window,{width:400,height:400,children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:[Object.keys(l).map(function(u){return(0,e.createComponentVNode)(2,t.Section,{title:u,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[Object.keys(l[u]).indexOf("pressure")>-1?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Pressure",children:[l[u].pressure," kpa"]}):"",Object.keys(l[u]).indexOf("temperature")>-1?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:[l[u].temperature," K"]}):"",["o2","n2","plasma","co2","n2o"].map(function(s){return Object.keys(l[u]).indexOf(s)>-1?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:(0,f.getGasLabel)(s),children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:(0,f.getGasColor)(s),value:l[u][s],minValue:0,maxValue:100,children:(0,o.toFixed)(l[u][s],2)+"%"})},(0,f.getGasLabel)(s)):""})]})},u)}),m.inlet&&Object.keys(m.inlet).length>0?(0,e.createComponentVNode)(2,t.Section,{title:"Inlet Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:(m.inlet.on,"power-off"),content:m.inlet.on?"On":"Off",color:m.inlet.on?null:"red",selected:m.inlet.on,onClick:function(){function u(){return c("toggle_active",{dev:"inlet"})}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"L/s",width:6.1,lineHeight:1.5,step:1,minValue:0,maxValue:50,value:m.inlet.rate,onDrag:function(){function u(s,i){return c("set_pressure",{dev:"inlet",val:i})}return u}()})})]})}):"",m.outlet&&Object.keys(m.outlet).length>0?(0,e.createComponentVNode)(2,t.Section,{title:"Outlet Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:(m.outlet.on,"power-off"),content:m.outlet.on?"On":"Off",color:m.outlet.on?null:"red",selected:m.outlet.on,onClick:function(){function u(){return c("toggle_active",{dev:"outlet"})}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rate",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,unit:"kPa",width:6.1,lineHeight:1.5,step:10,minValue:0,maxValue:5066,value:m.outlet.rate,onDrag:function(){function u(s,i){return c("set_pressure",{dev:"outlet",val:i})}return u}()})})]})}):""]})})}return I}()},92444:function(A,r,n){"use strict";r.__esModule=!0,r.AugmentMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(25328),b=r.AugmentMenu=function(){function k(g,d){return(0,e.createComponentVNode)(2,o.Window,{width:700,height:660,theme:"malfunction",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:(0,e.createComponentVNode)(2,S,{context:d})})})})}return k}(),S=function(g){var d=g.context,c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.usable_swarms,s=l.ability_tabs,i=l.known_abilities,h=(0,a.useLocalState)(d,"selectedTab",s[0]),C=h[0],v=h[1],p=(0,a.useLocalState)(d,"searchText",""),N=p[0],V=p[1],y=function(){var M=s.find(function(D){return D.category_name===C.category_name});if(!M)return[];var O=Math.min(M.category_stage,4);return M.abilities.filter(function(D){return D.stage<=O&&(!N||D.name.toLowerCase().includes(N.toLowerCase()))}).sort(function(D,E){return["intruder","destroyer"].includes(C.category_name.toLowerCase())?D.stage-E.stage:0})},B=y(),L=s.find(function(T){return T.category_name===C.category_name}),w=["intruder","destroyer"].includes(C.category_name.toLowerCase()),x=function(M){var O=i.find(function(P){return P.ability_path===M.ability_path}),D=O?O.cost:M.cost,E=O&&O.current_level>0?O.current_level+" / "+O.max_level:"0 / "+M.max_level;return(0,e.createComponentVNode)(2,t.Stack.Item,{direction:"row",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Button,{height:"20px",width:"35px",mb:1,textAlign:"center",content:D,disabled:D>u||O&&O.current_level===O.max_level,tooltip:"Purchase this ability?",onClick:function(){function P(){m("purchase",{ability_path:M.ability_path}),v(C)}return P}()}),(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"16px",children:M.name})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"13px",children:M.desc||"Description not available"}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:["Level: ",(0,e.createVNode)(1,"span",null,E,0,{style:{color:"green"}}),w&&M.stage>0&&(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)(" (Stage: "),M.stage,(0,e.createTextVNode)(")")],0)]}),(0,e.createComponentVNode)(2,t.Stack.Divider)]})})]},M.name)};return(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createVNode)(1,"div",null,[(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,style:{marginRight:"10px"},children:[(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("Swarms: "),(0,e.createVNode)(1,"span",null,u,0,{style:{color:"green"}})],4),w&&L&&(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)("Category Stage: "),(0,e.createVNode)(1,"span",null,Math.min(L.category_stage,4),0,{style:{color:"green"}})],4)]}),(0,e.createVNode)(1,"div","Section__buttons",(0,e.createComponentVNode)(2,t.Input,{width:"200px",placeholder:"Search Abilities",onInput:function(){function T(M,O){return V(O)}return T}(),value:N}),2)],4,{style:{display:"flex",alignItems:"center"}}),children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[s.map(function(T){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C.category_name===T.category_name,onClick:function(){function M(){v(T),V("")}return M}(),children:(0,f.capitalize)(T.category_name)},T.category_name)}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:C.category_name==="upgrades",onClick:function(){function T(){return v({category_name:"upgrades"})}return T}(),children:"Upgrades"},"upgrades")]}),C.category_name==="upgrades"?(0,e.createComponentVNode)(2,I,{act:m,abilityTabs:s,knownAbilities:i,usableSwarms:u}):(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:B.map(x)})]})},I=function(g){var d=g.act,c=g.abilityTabs,m=g.knownAbilities,l=g.usableSwarms,u=m.filter(function(i){return i.current_levell,tooltip:"Upgrade this ability?",onClick:function(){function v(){return d("purchase",{ability_path:h.ability_path})}return v}()}),(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"16px",children:h.name})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"13px",children:h.upgrade_text}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:["Level:"," ",(0,e.createVNode)(1,"span",null,h.current_level+" / "+h.max_level,0,{style:{color:"green"}}),C&&C.stage>0&&(0,e.createVNode)(1,"span",null,[(0,e.createTextVNode)(" (Stage: "),C.stage,(0,e.createTextVNode)(")")],0)]}),(0,e.createComponentVNode)(2,t.Stack.Divider)]})})]},h.name)};return(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:u.map(s)})}},59179:function(A,r,n){"use strict";r.__esModule=!0,r.Autolathe=void 0;var e=n(89005),a=n(64795),t=n(88510),o=n(72253),f=n(36036),b=n(98595),S=n(25328),I=function(d,c,m,l){return d.requirements===null?!0:!(d.requirements.metal*l>c||d.requirements.glass*l>m)},k=r.Autolathe=function(){function g(d,c){var m=(0,o.useBackend)(c),l=m.act,u=m.data,s=u.total_amount,i=u.max_amount,h=u.metal_amount,C=u.glass_amount,v=u.busyname,p=u.busyamt,N=u.showhacked,V=u.buildQueue,y=u.buildQueueLen,B=u.recipes,L=u.categories,w=(0,o.useSharedState)(c,"category",0),x=w[0],T=w[1];x===0&&(x="Tools");var M=h.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),O=C.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),D=s.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),E=(0,o.useSharedState)(c,"search_text",""),P=E[0],R=E[1],j=(0,S.createSearch)(P,function(K){return K.name}),F="";y>0&&(F=V.map(function(K,G){return(0,e.createComponentVNode)(2,f.Box,{children:(0,e.createComponentVNode)(2,f.Button,{fluid:!0,icon:"times",color:"transparent",content:V[G][0],onClick:function(){function J(){return l("remove_from_queue",{remove_from_queue:V.indexOf(K)+1})}return J}()},K)},G)}));var W=(0,a.flow)([(0,t.filter)(function(K){return(K.category.indexOf(x)>-1||P)&&(u.showhacked||!K.hacked)}),P&&(0,t.filter)(j),(0,t.sortBy)(function(K){return K.name.toLowerCase()})])(B),z="Build";return P?z="Results for: '"+P+"':":x&&(z="Build ("+x+")"),(0,e.createComponentVNode)(2,b.Window,{width:750,height:525,children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,horizontal:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{width:"70%",children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,title:z,buttons:(0,e.createComponentVNode)(2,f.Dropdown,{width:"150px",options:L,selected:x,onSelected:function(){function K(G){return T(G)}return K}()}),children:[(0,e.createComponentVNode)(2,f.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function K(G,J){return R(J)}return K}(),mb:1}),W.map(function(K){return(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+K.image,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}}),(0,e.createComponentVNode)(2,f.Button,{mr:1,icon:"hammer",selected:u.busyname===K.name&&u.busyamt===1,disabled:!I(K,u.metal_amount,u.glass_amount,1),onClick:function(){function G(){return l("make",{make:K.uid,multiplier:1})}return G}(),children:(0,S.toTitleCase)(K.name)}),K.max_multiplier>=10&&(0,e.createComponentVNode)(2,f.Button,{mr:1,icon:"hammer",selected:u.busyname===K.name&&u.busyamt===10,disabled:!I(K,u.metal_amount,u.glass_amount,10),onClick:function(){function G(){return l("make",{make:K.uid,multiplier:10})}return G}(),children:"10x"}),K.max_multiplier>=25&&(0,e.createComponentVNode)(2,f.Button,{mr:1,icon:"hammer",selected:u.busyname===K.name&&u.busyamt===25,disabled:!I(K,u.metal_amount,u.glass_amount,25),onClick:function(){function G(){return l("make",{make:K.uid,multiplier:25})}return G}(),children:"25x"}),K.max_multiplier>25&&(0,e.createComponentVNode)(2,f.Button,{mr:1,icon:"hammer",selected:u.busyname===K.name&&u.busyamt===K.max_multiplier,disabled:!I(K,u.metal_amount,u.glass_amount,K.max_multiplier),onClick:function(){function G(){return l("make",{make:K.uid,multiplier:K.max_multiplier})}return G}(),children:[K.max_multiplier,"x"]}),K.requirements&&Object.keys(K.requirements).map(function(G){return(0,S.toTitleCase)(G)+": "+K.requirements[G]}).join(", ")||(0,e.createComponentVNode)(2,f.Box,{children:"No resources required."})]},K.ref)})]})}),(0,e.createComponentVNode)(2,f.Stack.Item,{width:"30%",children:[(0,e.createComponentVNode)(2,f.Section,{title:"Materials",children:(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Metal",children:M}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Glass",children:O}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Total",children:D}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Storage",children:[u.fill_percent,"% Full"]})]})}),(0,e.createComponentVNode)(2,f.Section,{title:"Building",children:(0,e.createComponentVNode)(2,f.Box,{color:v?"green":"",children:v||"Nothing"})}),(0,e.createComponentVNode)(2,f.Section,{title:"Build Queue",height:23.7,children:[F,(0,e.createComponentVNode)(2,f.Button,{mt:.5,fluid:!0,icon:"times",content:"Clear All",color:"red",disabled:!u.buildQueueLen,onClick:function(){function K(){return l("clear_queue")}return K}()})]})]})]})})})}return g}()},29943:function(A,r,n){"use strict";r.__esModule=!0,r.Autolathe220=void 0;var e=n(89005),a=n(25328),t=n(88510),o=n(64795),f=n(72253),b=n(36036),S=n(98595),I="icons/obj/stacks/minerals.dmi",k=["metal","glass"],g=function(C,v,p,N){return C.requirements===null?!0:!(C.requirements.metal*N>v||C.requirements.glass*N>p)},d=function(C,v){var p=C*v/2e3;return p===0?0:p<.01&&p>0?(0,e.createComponentVNode)(2,b.Box,{fontSize:.75,children:"< 0.01"}):Math.floor(p*100)/100},c=r.Autolathe220=function(){function h(C,v){var p=(0,f.useSharedState)(v,"category","Tools"),N=p[0],V=p[1];return(0,e.createComponentVNode)(2,S.Window,{width:800,height:550,children:(0,e.createComponentVNode)(2,S.Window.Content,{children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{basis:"20%",children:(0,e.createComponentVNode)(2,m,{category:N,setCategory:V})}),(0,e.createComponentVNode)(2,b.Stack.Item,{basis:"55%",children:(0,e.createComponentVNode)(2,l,{category:N})}),(0,e.createComponentVNode)(2,b.Stack.Item,{basis:"25%",children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,s),(0,e.createComponentVNode)(2,i)]})})]})})})}return h}(),m=function(C,v){var p=(0,f.useBackend)(v),N=p.data,V=C.category,y=C.setCategory,B=N.categories,L=["All"].concat(B);return(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Categories",children:(0,e.createComponentVNode)(2,b.Tabs,{vertical:!0,children:L.map(function(w){return(0,e.createComponentVNode)(2,b.Tabs.Tab,{mb:.5,height:"2.5em",color:"blue",selected:w===V,onClick:function(){function x(){return y(w)}return x}(),children:w},w)})})})},l=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.metal_amount,B=V.glass_amount,L=V.recipes,w=C.category,x=(0,f.useSharedState)(v,"searchText",""),T=x[0],M=x[1],O=(0,o.flow)([(0,t.filter)(function(P){return w==="All"||P.category.includes(w)||T&&(V.showhacked||!P.hacked)}),T&&(0,t.filter)((0,a.createSearch)(T,function(P){return P.name})),(0,t.sortBy)(function(P){return P.name.toLowerCase()})])(L),D=function(R,j){return(0,e.createComponentVNode)(2,b.Button,{translucent:!0,tooltip:E(R,j),tooltipPosition:"top",disabled:!g(R,y,B,j),onClick:function(){function F(){return N("make",{make:R.uid,multiplier:j})}return F}(),children:[j,"x"]})},E=function(R,j){return(0,e.createFragment)(k.map(function(F){return R.requirements[F]&&(0,e.createComponentVNode)(2,b.ImageButton,{dmIcon:I,dmIconState:"sheet-"+F,imageSize:32,children:d(R.requirements[F],j)},F)}),0)};return(0,e.createComponentVNode)(2,b.Section,{fill:!0,title:"Build ("+w+")",children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function P(R,j){return M(j)}return P}()})}),(0,e.createComponentVNode)(2,b.Stack.Item,{mt:.5,mb:-2.33,grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,children:O.map(function(P){return(0,e.createComponentVNode)(2,b.ImageButton,{fluid:!0,base64:P.image,imageSize:32,textAlign:"left",color:P.category.includes("hacked")&&"brown",tooltip:E(P,1),tooltipPosition:"top",disabled:!g(P,y,B,1),buttons:P.max_multiplier>1&&(0,e.createFragment)([P.max_multiplier>=10&&D(P,10),P.max_multiplier>=25&&D(P,25),P.max_multiplier>25&&D(P,P.max_multiplier)],0),onClick:function(){function R(){return N("make",{make:P.uid,multiplier:1})}return R}(),children:P.name},P.name)})})})]})})},u=function(C,v){var p=(0,f.useBackend)(v),N=p.data,V=N.metal_amount,y=N.glass_amount,B=N.fill_percent,L=function(x,T){return(0,e.createComponentVNode)(2,b.ImageButton,{fluid:!0,imageSize:32,dmIcon:I,dmIconState:"sheet-"+x,color:"nope",buttons:(0,e.createComponentVNode)(2,b.Box,{backgroundColor:"rgba(255, 255, 255, 0.05)",width:"45px",children:d(T,1)}),children:(0,a.toTitleCase)(x)})};return(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Section,{title:"Materials",children:[L("metal",V),L("glass",y),(0,e.createComponentVNode)(2,b.ProgressBar,{minValue:0,value:B,maxValue:100,children:["Storage ",B,"% full"]})]})})},s=function(C,v){var p=(0,f.useBackend)(v),N=p.data,V=N.recipes,y=N.busyname,B=N.busyamt,L=V.find(function(w){return w.name===y});return(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Section,{title:"Building",children:(0,e.createComponentVNode)(2,b.ImageButton,{fluid:!0,color:y&&"green",base64:L==null?void 0:L.image,imageSize:32,children:y?B>1?y+" x"+B:y:"Nothing"})})})},i=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.recipes,B=V.buildQueue,L=V.buildQueueLen,w;return L>0&&(w=B.map(function(x,T){var M=y.find(function(O){return O.name===B[T][0]});return(0,e.createComponentVNode)(2,b.ImageButton,{fluid:!0,base64:M.image,imageSize:32,buttons:(0,e.createComponentVNode)(2,b.Button,{translucent:!0,width:"32px",icon:"times",iconColor:"red",onClick:function(){function O(){return N("remove_from_queue",{remove_from_queue:B.indexOf(x)+1})}return O}()},x),children:[M.name," ",Number(B[T][1])>1&&"x"+B[T][1]]},T)})),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Queue "+(L>0?L:""),children:w})}),(0,e.createComponentVNode)(2,b.Stack.Item,{m:0,children:(0,e.createComponentVNode)(2,b.Section,{fitted:!0,p:.75,children:(0,e.createComponentVNode)(2,b.Button,{fluid:!0,translucent:!L,color:"red",icon:"trash-can",disabled:!L,onClick:function(){function x(){return N("clear_queue")}return x}(),children:"Clear Queue"})})})]})})}},5147:function(A,r,n){"use strict";r.__esModule=!0,r.BioChipPad=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.BioChipPad=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.implant,m=d.contains_case,l=d.gps,u=d.tag,s=(0,a.useLocalState)(I,"newTag",u),i=s[0],h=s[1];return(0,e.createComponentVNode)(2,o.Window,{width:410,height:325,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Bio-chip Mini-Computer",buttons:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Eject Case",icon:"eject",disabled:!m,onClick:function(){function C(){return g("eject_case")}return C}()})}),children:c&&m?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{bold:!0,mb:2,children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+c.image,ml:0,mr:2,style:{"vertical-align":"middle",width:"32px"}}),c.name]}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Life",children:c.life}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Notes",children:c.notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Function",children:c.function}),!!l&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tag",children:[(0,e.createComponentVNode)(2,t.Input,{width:"5.5rem",value:u,onEnter:function(){function C(){return g("tag",{newtag:i})}return C}(),onInput:function(){function C(v,p){return h(p)}return C}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:u===i,width:"20px",mb:"0",ml:"0.25rem",onClick:function(){function C(){return g("tag",{newtag:i})}return C}(),children:(0,e.createComponentVNode)(2,t.Icon,{name:"pen"})})]})]})],4):m?(0,e.createComponentVNode)(2,t.Box,{children:"This bio-chip case has no implant!"}):(0,e.createComponentVNode)(2,t.Box,{children:"Please insert a bio-chip casing!"})})})})}return b}()},64273:function(A,r,n){"use strict";r.__esModule=!0,r.Biogenerator=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(62411),b=r.Biogenerator=function(){function d(c,m){var l=(0,a.useBackend)(m),u=l.data,s=l.config,i=u.container,h=u.processing,C=s.title;return(0,e.createComponentVNode)(2,o.Window,{width:390,height:595,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Operating,{operating:h,name:C}),(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k),i?(0,e.createComponentVNode)(2,g):(0,e.createComponentVNode)(2,S)]})})})}return d}(),S=function(c,m){return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"silver",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"flask",size:5,mb:"10px"}),(0,e.createVNode)(1,"br"),"The biogenerator is missing a container."]})})})},I=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.biomass,h=s.container,C=s.container_curr_reagents,v=s.container_max_reagents;return(0,e.createComponentVNode)(2,t.Section,{title:"Storage",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"20px",color:"silver",children:"Biomass:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"5px",children:i}),(0,e.createComponentVNode)(2,t.Icon,{name:"leaf",size:1.2,color:"#3d8c40"})]}),(0,e.createComponentVNode)(2,t.Stack,{height:"21px",mt:"8px",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:"10px",color:"silver",children:"Container:"}),h?(0,e.createComponentVNode)(2,t.ProgressBar,{value:C,maxValue:v,children:(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",children:C+" / "+v+" units"})}):(0,e.createComponentVNode)(2,t.Stack.Item,{children:"None"})]})]})},k=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.has_plants,h=s.container;return(0,e.createComponentVNode)(2,t.Section,{title:"Controls",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"power-off",disabled:!i,tooltip:i?"":"There are no plants in the biogenerator.",tooltipPosition:"top-start",content:"Activate",onClick:function(){function C(){return u("activate")}return C}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"40%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"flask",disabled:!h,tooltip:h?"":"The biogenerator does not have a container.",tooltipPosition:"top",content:"Detach Container",onClick:function(){function C(){return u("detach_container")}return C}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"eject",disabled:!i,tooltip:i?"":"There are no stored plants to eject.",tooltipPosition:"top-end",content:"Eject Plants",onClick:function(){function C(){return u("eject_plants")}return C}()})})]})})},g=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.biomass,h=s.product_list,C=(0,a.useSharedState)(m,"vendAmount",1),v=C[0],p=C[1],N=Object.entries(h).map(function(V,y){var B=Object.entries(V[1]).map(function(L){return L[1]});return(0,e.createComponentVNode)(2,t.Collapsible,{title:V[0],open:!0,children:B.map(function(L){return(0,e.createComponentVNode)(2,t.Stack,{py:"2px",className:"candystripe",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",ml:"2px",children:L.name}),(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"right",width:"20%",children:[L.cost*v,(0,e.createComponentVNode)(2,t.Icon,{ml:"5px",name:"leaf",size:1.2,color:"#3d8c40"})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"right",width:"40%",children:(0,e.createComponentVNode)(2,t.Button,{content:"Vend",disabled:i.25?750+400*Math.random():290+150*Math.random(),time:60+150*Math.random(),children:(0,e.createComponentVNode)(2,t.Stack,{mb:"30px",fontsize:"256px",children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,color:"red",fontsize:"256px",textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"skull",size:14,mb:"64px"}),(0,e.createVNode)(1,"br"),"E$#OR:& U#KN!WN IN%ERF#R_NCE"]})})})})}return k}(),S=r.BluespaceTap=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.product||[],s=l.desiredMiningPower,i=l.miningPower,h=l.points,C=l.totalPoints,v=l.powerUse,p=l.availablePower,N=l.emagged,V=l.autoShutown,y=l.stabilizers,B=l.stabilizerPower,L=l.stabilizerPriority,w=s>i&&"bad"||"good";return(0,e.createComponentVNode)(2,o.Window,{width:650,height:450,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,t.Collapsible,{title:"Input Management",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Input",children:[(0,e.createComponentVNode)(2,t.Button,{icon:V&&!N?"toggle-on":"toggle-off",content:"Auto shutdown",color:V&&!N?"green":"red",disabled:!!N,tooltip:"Turn auto shutdown on or off",tooltipPosition:"top",onClick:function(){function x(){return m("auto_shutdown")}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:y&&!N?"toggle-on":"toggle-off",content:"Stabilizers",color:y&&!N?"green":"red",disabled:!!N,tooltip:"Turn stabilizers on or off",tooltipPosition:"top",onClick:function(){function x(){return m("stabilizers")}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:L&&!N?"toggle-on":"toggle-off",content:"Stabilizer priority",color:L&&!N?"green":"red",disabled:!!N,tooltip:"On: Mining power will not exceed what can be stabilized",tooltipPosition:"top",onClick:function(){function x(){return m("stabilizer_priority")}return x}()}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Desired Mining Power",children:(0,f.formatPower)(s)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{labelStyle:{"vertical-align":"top"},label:"Set Desired Mining Power",children:(0,e.createComponentVNode)(2,t.Stack,{width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"step-backward",disabled:s===0||N,tooltip:"Set to 0",tooltipPosition:"bottom",onClick:function(){function x(){return m("set",{set_power:0})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",tooltip:"Decrease by 10 MW",tooltipPosition:"bottom",disabled:s===0||N,onClick:function(){function x(){return m("set",{set_power:s-1e7})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:s===0||N,tooltip:"Decrease by 1 MW",tooltipPosition:"bottom",onClick:function(){function x(){return m("set",{set_power:s-1e6})}return x}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{mx:1,children:(0,e.createComponentVNode)(2,t.NumberInput,{disabled:N,minvalue:0,value:s,maxvalue:1/0,step:1,onChange:function(){function x(T,M){return m("set",{set_power:M})}return x}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:N,tooltip:"Increase by one MW",tooltipPosition:"bottom",onClick:function(){function x(){return m("set",{set_power:s+1e6})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:N,tooltip:"Increase by 10MW",tooltipPosition:"bottom",onClick:function(){function x(){return m("set",{set_power:s+1e7})}return x}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Power Use",children:(0,f.formatPower)(v)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mining Power Use",children:(0,f.formatPower)(i)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Stabilizer Power Use",children:(0,f.formatPower)(B)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Surplus Power",children:(0,f.formatPower)(p)})]})]})}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Output",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available Points",children:h}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Points",children:C})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{align:"end",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:u.map(function(x){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:x.name,children:(0,e.createComponentVNode)(2,t.Button,{disabled:x.price>=h,onClick:function(){function T(){return m("vend",{target:x.key})}return T}(),content:x.price})},x.key)})})})})]})})]})})})}return k}(),I=r.Alerts=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.product||[],s=l.miningPower,i=l.stabilizerPower,h=l.emagged,C=l.safeLevels,v=l.autoShutown,p=l.stabilizers,N=l.overhead;return(0,e.createFragment)([!v&&!h&&(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"Auto shutdown disabled"}),h?(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"All safeties disabled"}):s<=15e6?"":p?s>i+15e6?(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"Stabilizers overwhelmed, Instability likely"}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"High Power, engaging stabilizers"}):(0,e.createComponentVNode)(2,t.NoticeBox,{danger:1,children:"Stabilizers disabled, Instability likely"})],0)}return k}()},33758:function(A,r,n){"use strict";r.__esModule=!0,r.BodyScanner=void 0;var e=n(89005),a=n(44879),t=n(25328),o=n(72253),f=n(36036),b=n(98595),S=[["good","Alive"],["average","Critical"],["bad","DEAD"]],I=[["hasVirus","bad","Viral pathogen detected in blood stream."],["blind","average","Cataracts detected."],["colourblind","average","Photoreceptor abnormalities detected."],["nearsighted","average","Retinal misalignment detected."]],k=[["Respiratory","oxyLoss"],["Brain","brainLoss"],["Toxin","toxLoss"],["Radiation","radLoss"],["Brute","bruteLoss"],["Cellular","cloneLoss"],["Burn","fireLoss"],["Inebriation","drunkenness"]],g={average:[.25,.5],bad:[.5,1/0]},d=function(y,B){for(var L=[],w=0;w0?y.filter(function(B){return!!B}).reduce(function(B,L){return(0,e.createFragment)([B,(0,e.createComponentVNode)(2,f.Box,{children:L},L)],0)},null):null},m=function(y){if(y>100){if(y<300)return"mild infection";if(y<400)return"mild infection+";if(y<500)return"mild infection++";if(y<700)return"acute infection";if(y<800)return"acute infection+";if(y<900)return"acute infection++";if(y>=900)return"septic"}return""},l=r.BodyScanner=function(){function V(y,B){var L=(0,o.useBackend)(B),w=L.data,x=w.occupied,T=w.occupant,M=T===void 0?{}:T,O=x?(0,e.createComponentVNode)(2,u,{occupant:M}):(0,e.createComponentVNode)(2,N);return(0,e.createComponentVNode)(2,b.Window,{width:700,height:600,title:"Body Scanner",children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:O})})}return V}(),u=function(y){var B=y.occupant;return(0,e.createComponentVNode)(2,f.Box,{children:[(0,e.createComponentVNode)(2,s,{occupant:B}),(0,e.createComponentVNode)(2,i,{occupant:B}),(0,e.createComponentVNode)(2,h,{occupant:B}),(0,e.createComponentVNode)(2,v,{organs:B.extOrgan}),(0,e.createComponentVNode)(2,p,{organs:B.intOrgan})]})},s=function(y,B){var L=(0,o.useBackend)(B),w=L.act,x=L.data,T=x.occupant;return(0,e.createComponentVNode)(2,f.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,f.Button,{icon:"print",onClick:function(){function M(){return w("print_p")}return M}(),children:"Print Report"}),(0,e.createComponentVNode)(2,f.Button,{icon:"user-slash",onClick:function(){function M(){return w("ejectify")}return M}(),children:"Eject"})],4),children:(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Name",children:T.name}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:T.maxHealth,value:T.health/T.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Status",color:S[T.stat][0],children:S[T.stat][1]}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Temperature",children:[(0,e.createComponentVNode)(2,f.AnimatedNumber,{value:(0,a.round)(T.bodyTempC)}),"\xB0C,\xA0",(0,e.createComponentVNode)(2,f.AnimatedNumber,{value:(0,a.round)(T.bodyTempF)}),"\xB0F"]}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Implants",children:T.implant_len?(0,e.createComponentVNode)(2,f.Box,{children:T.implant.map(function(M){return M.name}).join(", ")}):(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"None"})})]})})},i=function(y){var B=y.occupant;return B.hasBorer||B.blind||B.colourblind||B.nearsighted||B.hasVirus?(0,e.createComponentVNode)(2,f.Section,{title:"Abnormalities",children:I.map(function(L,w){if(B[L[0]])return(0,e.createComponentVNode)(2,f.Box,{color:L[1],bold:L[1]==="bad",children:L[2]},L[2])})}):(0,e.createComponentVNode)(2,f.Section,{title:"Abnormalities",children:(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"No abnormalities found."})})},h=function(y){var B=y.occupant;return(0,e.createComponentVNode)(2,f.Section,{title:"Damage",children:(0,e.createComponentVNode)(2,f.Table,{children:d(k,function(L,w,x){return(0,e.createFragment)([(0,e.createComponentVNode)(2,f.Table.Row,{color:"label",children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:[L[0],":"]}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:!!w&&w[0]+":"})]}),(0,e.createComponentVNode)(2,f.Table.Row,{children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:(0,e.createComponentVNode)(2,C,{value:B[L[1]],marginBottom:x100)&&"average"||!!B.status.robotic&&"label",width:"33%",children:(0,t.capitalize)(B.name)}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,f.ProgressBar,{m:-.5,min:"0",max:B.maxHealth,mt:L>0&&"0.5rem",value:B.totalLoss/B.maxHealth,ranges:g,children:(0,e.createComponentVNode)(2,f.Stack,{children:[(0,e.createComponentVNode)(2,f.Tooltip,{content:"Total damage",children:(0,e.createComponentVNode)(2,f.Stack.Item,{children:[(0,e.createComponentVNode)(2,f.Icon,{name:"heartbeat",mr:.5}),(0,a.round)(B.totalLoss)]})}),!!B.bruteLoss&&(0,e.createComponentVNode)(2,f.Tooltip,{content:"Brute damage",children:(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:[(0,e.createComponentVNode)(2,f.Icon,{name:"bone",mr:.5}),(0,a.round)(B.bruteLoss)]})}),!!B.fireLoss&&(0,e.createComponentVNode)(2,f.Tooltip,{content:"Burn damage",children:(0,e.createComponentVNode)(2,f.Stack.Item,{children:[(0,e.createComponentVNode)(2,f.Icon,{name:"fire",mr:.5}),(0,a.round)(B.fireLoss)]})})]})})}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"right",verticalAlign:"top",width:"33%",pt:L>0&&"calc(0.5rem + 2px)",children:[(0,e.createComponentVNode)(2,f.Box,{color:"average",inline:!0,children:c([!!B.internalBleeding&&"Internal bleeding",!!B.burnWound&&"Critical tissue burns",!!B.lungRuptured&&"Ruptured lung",!!B.status.broken&&B.status.broken,m(B.germ_level),!!B.open&&"Open incision"])}),(0,e.createComponentVNode)(2,f.Box,{inline:!0,children:[c([!!B.status.splinted&&(0,e.createComponentVNode)(2,f.Box,{color:"good",children:"Splinted"}),!!B.status.robotic&&(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"Robotic"}),!!B.status.dead&&(0,e.createComponentVNode)(2,f.Box,{color:"bad",bold:!0,children:"DEAD"})]),c(B.shrapnel.map(function(w){return w.known?w.name:"Unknown object"}))]})]})]},L)})]})})},p=function(y){return y.organs.length===0?(0,e.createComponentVNode)(2,f.Section,{title:"Internal Organs",children:(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"N/A"})}):(0,e.createComponentVNode)(2,f.Section,{title:"Internal Organs",children:(0,e.createComponentVNode)(2,f.Table,{children:[(0,e.createComponentVNode)(2,f.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"center",children:"Damage"}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"right",children:"Injuries"})]}),y.organs.map(function(B,L){return(0,e.createComponentVNode)(2,f.Table.Row,{children:[(0,e.createComponentVNode)(2,f.Table.Cell,{color:!!B.dead&&"bad"||B.germ_level>100&&"average"||B.robotic>0&&"label",width:"33%",children:(0,t.capitalize)(B.name)}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:B.maxHealth,value:B.damage/B.maxHealth,mt:L>0&&"0.5rem",ranges:g,children:(0,a.round)(B.damage)})}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"right",verticalAlign:"top",width:"33%",pt:L>0&&"calc(0.5rem + 2px)",children:[(0,e.createComponentVNode)(2,f.Box,{color:"average",inline:!0,children:c([m(B.germ_level)])}),(0,e.createComponentVNode)(2,f.Box,{inline:!0,children:c([B.robotic===1&&(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"Robotic"}),B.robotic===2&&(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"Assisted"}),!!B.dead&&(0,e.createComponentVNode)(2,f.Box,{color:"bad",bold:!0,children:"DEAD"})])})]})]},L)})]})})},N=function(){return(0,e.createComponentVNode)(2,f.Section,{fill:!0,children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,f.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant detected."]})})})}},67963:function(A,r,n){"use strict";r.__esModule=!0,r.BookBinder=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=n(39473),S=r.BookBinder=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.selectedbook,u=m.book_categories,s=[];return u.map(function(i){return s[i.description]=i.category_id}),(0,e.createComponentVNode)(2,o.Window,{width:600,height:400,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Book Binder",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"print",width:"auto",content:"Print Book",onClick:function(){function i(){return c("print_book")}return i}()}),children:[(0,e.createComponentVNode)(2,t.Box,{ml:10,fontSize:"1.2rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"search-plus",verticalAlign:"middle",size:3,mr:"1rem"}),"Book Binder"]}),(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,t.Button,{textAlign:"left",icon:"pen",width:"auto",content:l.title,onClick:function(){function i(){return(0,f.modalOpen)(g,"edit_selected_title")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Author",children:(0,e.createComponentVNode)(2,t.Button,{textAlign:"left",icon:"pen",width:"auto",content:l.author,onClick:function(){function i(){return(0,f.modalOpen)(g,"edit_selected_author")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Categories",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Dropdown,{width:"190px",options:u.map(function(i){return i.description}),onSelected:function(){function i(h){return c("toggle_binder_category",{category_id:s[h]})}return i}()})})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Summary",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pen",width:"auto",content:"Edit Summary",onClick:function(){function i(){return(0,f.modalOpen)(g,"edit_selected_summary")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:l.summary})]}),(0,e.createVNode)(1,"br"),u.filter(function(i){return l.categories.includes(i.category_id)}).map(function(i){return(0,e.createComponentVNode)(2,t.Button,{content:i.description,selected:!0,icon:"unlink",onClick:function(){function h(){return c("toggle_binder_category",{category_id:i.category_id})}return h}()},i.category_id)})]})})]})})})]})}return I}()},61925:function(A,r,n){"use strict";r.__esModule=!0,r.BotCall=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(d){var c=[{modes:[0],label:"Idle",color:"green"},{modes:[1,2,3],label:"Arresting",color:"yellow"},{modes:[4,5],label:"Patrolling",color:"average"},{modes:[9],label:"Moving",color:"average"},{modes:[6,11],label:"Responding",color:"green"},{modes:[12],label:"Delivering Cargo",color:"blue"},{modes:[13],label:"Returning Home",color:"blue"},{modes:[7,8,10,14,15,16,17,18,19],label:"Working",color:"blue"}],m=c.find(function(l){return l.modes.includes(d)});return(0,e.createComponentVNode)(2,t.Box,{color:m.color,children:[" ",m.label," "]})},b=r.BotCall=function(){function g(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=(0,a.useLocalState)(c,"tabIndex",0),i=s[0],h=s[1],C={0:"Security",1:"Medibot",2:"Cleanbot",3:"Floorbot",4:"Mule",5:"Honkbot"},v=function(){function p(N){return C[N]?(0,e.createComponentVNode)(2,S,{model:C[N]}):"This should not happen. Report on Paradise Github"}return p}();return(0,e.createComponentVNode)(2,o.Window,{width:700,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:i===0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Tabs,{fluid:!0,textAlign:"center",children:Array.from({length:6}).map(function(p,N){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:i===N,onClick:function(){function V(){return h(N)}return V}(),children:C[N]},N)})})}),v(i)]})})})}return g}(),S=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.bots;return s[d.model]!==void 0?(0,e.createComponentVNode)(2,k,{model:[d.model]}):(0,e.createComponentVNode)(2,I,{model:[d.model]})},I=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data;return(0,e.createComponentVNode)(2,t.Stack,{justify:"center",align:"center",fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Box,{bold:1,color:"bad",children:["No ",[d.model]," detected"]})})},k=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.bots;return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Model"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Location"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Interface"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Call"})]}),s[d.model].map(function(i){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.model}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.on?f(i.status):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Off"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.location}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Interface",onClick:function(){function h(){return l("interface",{botref:i.UID})}return h}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Call",onClick:function(){function h(){return l("call",{botref:i.UID})}return h}()})})]},i.UID)})]})})})}},20464:function(A,r,n){"use strict";r.__esModule=!0,r.BotClean=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(92963),b=r.BotClean=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.locked,l=c.noaccess,u=c.maintpanel,s=c.on,i=c.autopatrol,h=c.canhack,C=c.emagged,v=c.remote_disabled,p=c.painame,N=c.cleanblood,V=c.area;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,f.BotStatus),(0,e.createComponentVNode)(2,t.Section,{title:"Cleaning Settings",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:N,content:"Clean Blood",disabled:l,onClick:function(){function y(){return d("blood")}return y}()})}),(0,e.createComponentVNode)(2,t.Section,{title:"Misc Settings",children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:V?"Reset Area Selection":"Restrict to Current Area",onClick:function(){function y(){return d("area")}return y}()}),V!==null&&(0,e.createComponentVNode)(2,t.LabeledList,{mb:1,children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Locked Area",children:V})})]}),p&&(0,e.createComponentVNode)(2,t.Section,{title:"pAI",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:p,disabled:l,onClick:function(){function y(){return d("ejectpai")}return y}()})})]})})}return S}()},69479:function(A,r,n){"use strict";r.__esModule=!0,r.BotFloor=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(92963),b=r.BotFloor=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.noaccess,l=c.painame,u=c.hullplating,s=c.replace,i=c.eat,h=c.make,C=c.fixfloor,v=c.nag_empty,p=c.magnet,N=c.tiles_amount;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:510,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,f.BotStatus),(0,e.createComponentVNode)(2,t.Section,{title:"Floor Settings",children:[(0,e.createComponentVNode)(2,t.Box,{mb:"5px",children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tiles Left",children:N})}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:u,content:"Add tiles to new hull plating",tooltip:"Fixing a plating requires the removal of floor tile. This will place it back after repairing. Same goes for hull breaches",disabled:m,onClick:function(){function V(){return d("autotile")}return V}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:s,content:"Add floor tiles on exposed hull plating",tooltip:"Example: It will add tiles to maintenance",disabled:m,onClick:function(){function V(){return d("replacetiles")}return V}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:C,content:"Repair damaged tiles and platings",disabled:m,onClick:function(){function V(){return d("fixfloors")}return V}()})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Miscellaneous",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:i,content:"Finds tiles",disabled:m,onClick:function(){function V(){return d("eattiles")}return V}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:h,content:"Make pieces of metal into tiles when empty",disabled:m,onClick:function(){function V(){return d("maketiles")}return V}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:v,content:"Transmit notice when empty",disabled:m,onClick:function(){function V(){return d("nagonempty")}return V}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:p,content:"Traction Magnets",disabled:m,onClick:function(){function V(){return d("anchored")}return V}()})]}),l&&(0,e.createComponentVNode)(2,t.Section,{title:"pAI",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,icon:"eject",content:l,disabled:m,onClick:function(){function V(){return d("ejectpai")}return V}()})})]})})}return S}()},59887:function(A,r,n){"use strict";r.__esModule=!0,r.BotHonk=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(92963),b=r.BotHonk=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:220,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,f.BotStatus)})})}return S}()},80063:function(A,r,n){"use strict";r.__esModule=!0,r.BotMed=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(92963),b=r.BotMed=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.locked,l=c.noaccess,u=c.maintpanel,s=c.on,i=c.autopatrol,h=c.canhack,C=c.emagged,v=c.remote_disabled,p=c.painame,N=c.shut_up,V=c.declare_crit,y=c.stationary_mode,B=c.heal_threshold,L=c.injection_amount,w=c.use_beaker,x=c.treat_virus,T=c.reagent_glass;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.BotStatus),(0,e.createComponentVNode)(2,t.Section,{title:"Communication Settings",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,content:"Speaker",checked:!N,disabled:l,onClick:function(){function M(){return d("toggle_speaker")}return M}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,content:"Critical Patient Alerts",checked:V,disabled:l,onClick:function(){function M(){return d("toggle_critical_alerts")}return M}()})]}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Treatment Settings",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Healing Threshold",children:(0,e.createComponentVNode)(2,t.Slider,{value:B.value,minValue:B.min,maxValue:B.max,step:5,disabled:l,onChange:function(){function M(O,D){return d("set_heal_threshold",{target:D})}return M}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Injection Level",children:(0,e.createComponentVNode)(2,t.Slider,{value:L.value,minValue:L.min,maxValue:L.max,step:5,format:function(){function M(O){return O+"u"}return M}(),disabled:l,onChange:function(){function M(O,D){return d("set_injection_amount",{target:D})}return M}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Reagent Source",children:(0,e.createComponentVNode)(2,t.Button,{content:w?"Beaker":"Internal Synthesizer",icon:w?"flask":"cogs",disabled:l,onClick:function(){function M(){return d("toggle_use_beaker")}return M}()})}),T&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Beaker",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1,children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:T.amount,minValue:0,maxValue:T.max_amount,children:[T.amount," / ",T.max_amount]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{ml:1,children:(0,e.createComponentVNode)(2,t.Button,{content:"Eject",disabled:l,onClick:function(){function M(){return d("eject_reagent_glass")}return M}()})})]})})]}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{mt:1,fluid:!0,content:"Treat Viral Infections",checked:x,disabled:l,onClick:function(){function M(){return d("toggle_treat_viral")}return M}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,content:"Stationary Mode",checked:y,disabled:l,onClick:function(){function M(){return d("toggle_stationary_mode")}return M}()})]}),p&&(0,e.createComponentVNode)(2,t.Section,{title:"pAI",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:p,disabled:l,onClick:function(){function M(){return d("ejectpai")}return M}()})})]})})})}return S}()},74439:function(A,r,n){"use strict";r.__esModule=!0,r.BotSecurity=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(92963),b=r.BotSecurity=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.noaccess,l=c.painame,u=c.check_id,s=c.check_weapons,i=c.check_warrant,h=c.arrest_mode,C=c.arrest_declare;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:445,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,f.BotStatus),(0,e.createComponentVNode)(2,t.Section,{title:"Who To Arrest",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:u,content:"Unidentifiable Persons",disabled:m,onClick:function(){function v(){return d("authid")}return v}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:s,content:"Unauthorized Weapons",disabled:m,onClick:function(){function v(){return d("authweapon")}return v}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:i,content:"Wanted Criminals",disabled:m,onClick:function(){function v(){return d("authwarrant")}return v}()})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Arrest Procedure",children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:h,content:"Detain Targets Indefinitely",disabled:m,onClick:function(){function v(){return d("arrtype")}return v}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:C,content:"Announce Arrests On Radio",disabled:m,onClick:function(){function v(){return d("arrdeclare")}return v}()})]}),l&&(0,e.createComponentVNode)(2,t.Section,{title:"pAI",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:l,disabled:m,onClick:function(){function v(){return d("ejectpai")}return v}()})})]})})}return S}()},10833:function(A,r,n){"use strict";r.__esModule=!0,r.BrigCells=void 0;var e=n(89005),a=n(98595),t=n(36036),o=n(72253),f=function(k,g){var d=k.cell,c=(0,o.useBackend)(g),m=c.act,l=d.cell_id,u=d.occupant,s=d.crimes,i=d.brigged_by,h=d.time_left_seconds,C=d.time_set_seconds,v=d.ref,p="";h>0&&(p+=" BrigCells__listRow--active");var N=function(){m("release",{ref:v})};return(0,e.createComponentVNode)(2,t.Table.Row,{className:p,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:l}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:u}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.TimeDisplay,{totalSeconds:C})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.TimeDisplay,{totalSeconds:h})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{type:"button",onClick:N,children:"Release"})})]})},b=function(k){var g=k.cells;return(0,e.createComponentVNode)(2,t.Table,{className:"BrigCells__list",children:[(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Cell"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Occupant"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Crimes"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Brigged By"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Time Brigged For"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Time Left"}),(0,e.createComponentVNode)(2,t.Table.Cell,{header:!0,children:"Release"})]}),g.map(function(d){return(0,e.createComponentVNode)(2,f,{cell:d},d.ref)})]})},S=r.BrigCells=function(){function I(k,g){var d=(0,o.useBackend)(g),c=d.act,m=d.data,l=m.cells;return(0,e.createComponentVNode)(2,a.Window,{theme:"security",width:800,height:400,children:(0,e.createComponentVNode)(2,a.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,b,{cells:l})})})})})}return I}()},45761:function(A,r,n){"use strict";r.__esModule=!0,r.BrigTimer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.BrigTimer=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data;d.nameText=d.occupant,d.timing&&(d.prisoner_hasrec?d.nameText=(0,e.createComponentVNode)(2,t.Box,{color:"green",children:d.occupant}):d.nameText=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:d.occupant}));var c="pencil-alt";d.prisoner_name&&(d.prisoner_hasrec||(c="exclamation-triangle"));var m=[],l=0;for(l=0;lm?this.substring(0,m)+"...":this};var k=function(l,u){var s,i;if(!u)return[];var h=l.findIndex(function(C){return C.name===u.name});return[(s=l[h-1])==null?void 0:s.name,(i=l[h+1])==null?void 0:i.name]},g=function(l,u){u===void 0&&(u="");var s=(0,f.createSearch)(u,function(i){return i.name});return(0,t.flow)([(0,a.filter)(function(i){return i==null?void 0:i.name}),u&&(0,a.filter)(s),(0,a.sortBy)(function(i){return i.name})])(l)},d=r.CameraConsole=function(){function m(l,u){var s=(0,b.useBackend)(u),i=s.act,h=s.data,C=s.config,v=h.mapRef,p=h.activeCamera,N=g(h.cameras),V=k(N,p),y=V[0],B=V[1];return(0,e.createComponentVNode)(2,I.Window,{width:870,height:708,children:[(0,e.createVNode)(1,"div","CameraConsole__left",(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,S.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,c)})}),2),(0,e.createVNode)(1,"div","CameraConsole__right",[(0,e.createVNode)(1,"div","CameraConsole__toolbar",[(0,e.createVNode)(1,"b",null,"Camera: ",16),p&&p.name||"\u2014"],0),(0,e.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-left",disabled:!y,onClick:function(){function L(){return i("switch_camera",{name:y})}return L}()}),(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-right",disabled:!B,onClick:function(){function L(){return i("switch_camera",{name:B})}return L}()})],4),(0,e.createComponentVNode)(2,S.ByondUi,{className:"CameraConsole__map",params:{id:v,type:"map"}})],4)]})}return m}(),c=r.CameraConsoleContent=function(){function m(l,u){var s=(0,b.useBackend)(u),i=s.act,h=s.data,C=(0,b.useLocalState)(u,"searchText",""),v=C[0],p=C[1],N=h.activeCamera,V=g(h.cameras,v);return(0,e.createComponentVNode)(2,S.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S.Stack.Item,{children:(0,e.createComponentVNode)(2,S.Input,{fluid:!0,placeholder:"Search for a camera",onInput:function(){function y(B,L){return p(L)}return y}()})}),(0,e.createComponentVNode)(2,S.Stack.Item,{grow:!0,m:0,children:(0,e.createComponentVNode)(2,S.Section,{fill:!0,scrollable:!0,children:V.map(function(y){return(0,e.createVNode)(1,"div",(0,o.classes)(["Button","Button--fluid","Button--color--transparent",N&&y.name===N.name&&"Button--selected"]),y.name.trimLongStr(23),0,{title:y.name,onClick:function(){function B(){return i("switch_camera",{name:y.name})}return B}()},y.name)})})})]})}return m}()},39222:function(A,r,n){"use strict";r.__esModule=!0,r.CameraConsoleOldContent=r.CameraConsoleMapContent=r.CameraConsole220=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(35840),f=n(25328),b=n(72253),S=n(36036),I=n(98595),k=function(u,s){var i,h;if(!s)return[];var C=u.findIndex(function(v){return v.name===s.name});return[(i=u[C-1])==null?void 0:i.name,(h=u[C+1])==null?void 0:h.name]},g=function(u,s){s===void 0&&(s="");var i=(0,f.createSearch)(s,function(h){return h.name});return(0,t.flow)([(0,a.filter)(function(h){return h==null?void 0:h.name}),s&&(0,a.filter)(i),(0,a.sortBy)(function(h){return h.name})])(u)},d=r.CameraConsole220=function(){function l(u,s){var i=(0,b.useLocalState)(s,"tabIndex",0),h=i[0],C=i[1],v=function(){function p(N){switch(N){case 0:return(0,e.createComponentVNode)(2,c);case 1:return(0,e.createComponentVNode)(2,m);default:return"WE SHOULDN'T BE HERE!"}}return p}();return(0,e.createComponentVNode)(2,I.Window,{width:1170,height:755,children:(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,S.Stack,{children:(0,e.createComponentVNode)(2,S.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,S.Stack.Item,{width:h===1?"222px":"475px",textAlign:"center",children:(0,e.createComponentVNode)(2,S.Tabs,{fluid:!0,ml:h===1?1:0,mt:h===1?1:0,children:[(0,e.createComponentVNode)(2,S.Tabs.Tab,{selected:h===0,onClick:function(){function p(){return C(0)}return p}(),children:[(0,e.createComponentVNode)(2,S.Icon,{name:"map-marked-alt"})," \u041A\u0430\u0440\u0442\u0430"]},"Map"),(0,e.createComponentVNode)(2,S.Tabs.Tab,{selected:h===1,onClick:function(){function p(){return C(1)}return p}(),children:[(0,e.createComponentVNode)(2,S.Icon,{name:"table"})," \u0421\u043F\u0438\u0441\u043E\u043A"]},"List")]})}),v(h)]})})})})}return l}(),c=r.CameraConsoleMapContent=function(){function l(u,s){var i=(0,b.useBackend)(s),h=i.act,C=i.data,v=g(C.cameras),p=(0,b.useLocalState)(s,"zoom",1),N=p[0],V=p[1],y=C.mapRef,B=C.activeCamera,L=C.stationLevel,w=C.mapUrl,x=C.selected_z_level,T=k(v,B),M=T[0],O=T[1];return(0,e.createComponentVNode)(2,S.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,S.Stack.Item,{height:"100%",style:{flex:"0 0 474px"},children:(0,e.createComponentVNode)(2,S.NanoMap,{onZoom:function(){function D(E){return V(E)}return D}(),mapUrl:w,children:v.filter(function(D){return D.z===(Number(x)||L)}).map(function(D){return(0,e.createComponentVNode)(2,S.NanoMap.NanoButton,{activeCamera:B,x:D.x,y:D.y,context:s,zoom:N,icon:"circle",tooltip:D.name,name:D.name,color:"blue",status:D.status},D.ref)})})}),(0,e.createComponentVNode)(2,S.Stack.Item,{height:"100%",m:.1,className:"CameraConsole__right_map",children:[(0,e.createVNode)(1,"div","CameraConsole__header",[(0,e.createVNode)(1,"div","CameraConsole__toolbar",[(0,e.createVNode)(1,"b",null,"\u041A\u0430\u043C\u0435\u0440\u0430: ",16),B&&B.name||"\u2014"],0),(0,e.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-left",disabled:!M,onClick:function(){function D(){return h("switch_camera",{name:M})}return D}()}),(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-right",disabled:!O,onClick:function(){function D(){return h("switch_camera",{name:O})}return D}()})],4)],4),(0,e.createComponentVNode)(2,S.ByondUi,{className:"CameraConsole__map",overflow:"hidden",params:{id:y,type:"map"}})]})]})}return l}(),m=r.CameraConsoleOldContent=function(){function l(u,s){var i=(0,b.useBackend)(s),h=i.act,C=i.data,v=i.config,p=C.mapRef,N=C.activeCamera,V=(0,b.useLocalState)(s,"searchText",""),y=V[0],B=V[1],L=g(C.cameras,y),w=k(L,N),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,S.Stack.Item,{children:[(0,e.createVNode)(1,"div","CameraConsole__left",(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,S.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S.Stack.Item,{children:(0,e.createComponentVNode)(2,S.Input,{width:"215px",placeholder:"\u041D\u0430\u0439\u0442\u0438 \u043A\u0430\u043C\u0435\u0440\u0443",onInput:function(){function M(O,D){return B(D)}return M}()})}),(0,e.createComponentVNode)(2,S.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,S.Section,{fill:!0,scrollable:!0,children:L.map(function(M){return(0,e.createVNode)(1,"div",(0,o.classes)(["Button","Button--fluid",M.status?"Button--color--transparent":"Button--color--danger","Button--ellipsis",N&&M.name===N.name&&"Button--selected"]),M.name,0,{title:M.name,onClick:function(){function O(){return h("switch_camera",{name:M.name})}return O}()},M.name)})})})]})}),2),(0,e.createVNode)(1,"div","CameraConsole__right",[(0,e.createVNode)(1,"div","CameraConsole__toolbar",[(0,e.createVNode)(1,"b",null,"\u041A\u0430\u043C\u0435\u0440\u0430: ",16),N&&N.name||"\u2014"],0),(0,e.createVNode)(1,"div","CameraConsole__toolbarRight",[(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-left",disabled:!x,onClick:function(){function M(){return h("switch_camera",{name:x})}return M}()}),(0,e.createComponentVNode)(2,S.Button,{icon:"chevron-right",disabled:!T,onClick:function(){function M(){return h("switch_camera",{name:T})}return M}()})],4),(0,e.createComponentVNode)(2,S.ByondUi,{className:"CameraConsole__map",params:{id:p,type:"map"}})],4)]})}return l}()},52927:function(A,r,n){"use strict";r.__esModule=!0,r.Canister=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(49968),b=n(98595),S=r.Canister=function(){function I(k,g){var d=(0,t.useBackend)(g),c=d.act,m=d.data,l=m.portConnected,u=m.tankPressure,s=m.releasePressure,i=m.defaultReleasePressure,h=m.minReleasePressure,C=m.maxReleasePressure,v=m.valveOpen,p=m.name,N=m.canLabel,V=m.colorContainer,y=m.color_index,B=m.hasHoldingTank,L=m.holdingTank,w="";y.prim&&(w=V.prim.options[y.prim].name);var x="";y.sec&&(x=V.sec.options[y.sec].name);var T="";y.ter&&(T=V.ter.options[y.ter].name);var M="";y.quart&&(M=V.quart.options[y.quart].name);var O=[],D=[],E=[],P=[],R=0;for(R=0;Rp.current_positions&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:p.total_positions-p.current_positions})||(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"0"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{content:"-",disabled:i.cooldown_time||!p.can_close,onClick:function(){function N(){return s("make_job_unavailable",{job:p.title})}return N}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{content:"+",disabled:i.cooldown_time||!p.can_open,onClick:function(){function N(){return s("make_job_available",{job:p.title})}return N}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:i.target_dept&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:i.priority_jobs.indexOf(p.title)>-1?"Yes":""})||(0,e.createComponentVNode)(2,t.Button,{content:p.is_priority?"Yes":"No",selected:p.is_priority,disabled:i.cooldown_time||!p.can_prioritize,onClick:function(){function N(){return s("prioritize_job",{job:p.title})}return N}()})})]},p.title)})]})})]}):v=(0,e.createComponentVNode)(2,I);break;case 2:!i.authenticated||!i.scan_name?v=(0,e.createComponentVNode)(2,I):i.modify_name?v=(0,e.createComponentVNode)(2,f.AccessList,{accesses:i.regions,selectedList:i.selectedAccess,accessMod:function(){function p(N){return s("set",{access:N})}return p}(),grantAll:function(){function p(){return s("grant_all")}return p}(),denyAll:function(){function p(){return s("clear_all")}return p}(),grantDep:function(){function p(N){return s("grant_region",{region:N})}return p}(),denyDep:function(){function p(N){return s("deny_region",{region:N})}return p}()}):v=(0,e.createComponentVNode)(2,k);break;case 3:i.authenticated?i.records.length?v=(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Records",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Delete All Records",disabled:!i.authenticated||i.records.length===0||i.target_dept,onClick:function(){function p(){return s("wipe_all_logs")}return p}()}),children:[(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Crewman"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Old Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"New Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Authorized By"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Time"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Reason"}),!!i.iscentcom&&(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Deleted By"})]}),i.records.map(function(p){return(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.transferee}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.oldvalue}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.newvalue}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.whodidit}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.timestamp}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.reason}),!!i.iscentcom&&(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.deletedby})]},p.timestamp)})]}),!!i.iscentcom&&(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Delete MY Records",color:"purple",disabled:!i.authenticated||i.records.length===0,onClick:function(){function p(){return s("wipe_my_logs")}return p}()})})]}):v=(0,e.createComponentVNode)(2,g):v=(0,e.createComponentVNode)(2,I);break;case 4:!i.authenticated||!i.scan_name?v=(0,e.createComponentVNode)(2,I):v=(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Your Team",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Sec Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Actions"})]}),i.people_dept.map(function(p){return(0,e.createComponentVNode)(2,t.Table.Row,{height:2,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.title}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.crimstat}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:p.buttontext,disabled:!p.demotable,onClick:function(){function N(){return s("remote_demote",{remote_demote:p.name})}return N}()})})]},p.title)})]})});break;default:v=(0,e.createComponentVNode)(2,t.Section,{title:"Warning",color:"red",children:"ERROR: Unknown Mode."})}return(0,e.createComponentVNode)(2,o.Window,{width:800,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:C}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:h}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:v})]})})})}return c}()},64083:function(A,r,n){"use strict";r.__esModule=!0,r.CargoConsole=void 0;var e=n(89005),a=n(64795),t=n(88510),o=n(72253),f=n(36036),b=n(98595),S=n(25328),I=r.CargoConsole=function(){function u(s,i){return(0,e.createComponentVNode)(2,b.Window,{width:900,height:800,children:(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,g),(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,l)]})})})}return u}(),k=function(s,i){var h=(0,o.useLocalState)(i,"contentsModal",null),C=h[0],v=h[1],p=(0,o.useLocalState)(i,"contentsModalTitle",null),N=p[0],V=p[1];if(C!==null&&N!==null)return(0,e.createComponentVNode)(2,f.Modal,{maxWidth:"75%",width:window.innerWidth+"px",maxHeight:window.innerHeight*.75+"px",mx:"auto",children:[(0,e.createComponentVNode)(2,f.Box,{width:"100%",bold:!0,children:(0,e.createVNode)(1,"h1",null,[N,(0,e.createTextVNode)(" contents:")],0)}),(0,e.createComponentVNode)(2,f.Box,{children:C.map(function(y){return(0,e.createComponentVNode)(2,f.Box,{children:["- ",y]},y)})}),(0,e.createComponentVNode)(2,f.Box,{m:2,children:(0,e.createComponentVNode)(2,f.Button,{content:"Close",onClick:function(){function y(){v(null),V(null)}return y}()})})]})},g=function(s,i){var h=(0,o.useBackend)(i),C=h.act,v=h.data,p=v.is_public,N=v.timeleft,V=v.moving,y=v.at_station,B,L;return!V&&!y?(B="Docked off-station",L="Call Shuttle"):!V&&y?(B="Docked at the station",L="Return Shuttle"):V&&(L="In Transit...",N!==1?B="Shuttle is en route (ETA: "+N+" minutes)":B="Shuttle is en route (ETA: "+N+" minute)"),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Section,{title:"Status",children:(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Shuttle Status",children:B}),p===0&&(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,f.Button,{content:L,disabled:V,onClick:function(){function w(){return C("moveShuttle")}return w}()}),(0,e.createComponentVNode)(2,f.Button,{content:"View Central Command Messages",onClick:function(){function w(){return C("showMessages")}return w}()})]})]})})})},d=function(s,i){var h,C=(0,o.useBackend)(i),v=C.act,p=C.data,N=p.accounts,V=(0,o.useLocalState)(i,"selectedAccount"),y=V[0],B=V[1],L=[];return N.map(function(w){return L[w.name]=w.account_UID}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Section,{title:"Payment",children:[(0,e.createComponentVNode)(2,f.Dropdown,{width:"190px",options:N.map(function(w){return w.name}),selected:(h=N.filter(function(w){return w.account_UID===y})[0])==null?void 0:h.name,onSelected:function(){function w(x){return B(L[x])}return w}()}),N.filter(function(w){return w.account_UID===y}).map(function(w){return(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Account Name",children:(0,e.createComponentVNode)(2,f.Stack.Item,{mt:1,children:w.name})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Balance",children:(0,e.createComponentVNode)(2,f.Stack.Item,{children:w.balance})})]},w.account_UID)})]})})},c=function(s,i){var h=(0,o.useBackend)(i),C=h.act,v=h.data,p=v.requests,N=v.categories,V=v.supply_packs,y=(0,o.useSharedState)(i,"category","Emergency"),B=y[0],L=y[1],w=(0,o.useSharedState)(i,"search_text",""),x=w[0],T=w[1],M=(0,o.useLocalState)(i,"contentsModal",null),O=M[0],D=M[1],E=(0,o.useLocalState)(i,"contentsModalTitle",null),P=E[0],R=E[1],j=(0,S.createSearch)(x,function(J){return J.name}),F=(0,o.useLocalState)(i,"selectedAccount"),W=F[0],z=F[1],K=(0,a.flow)([(0,t.filter)(function(J){return J.cat===N.filter(function(Q){return Q.name===B})[0].category||x}),x&&(0,t.filter)(j),(0,t.sortBy)(function(J){return J.name.toLowerCase()})])(V),G="Crate Catalogue";return x?G="Results for '"+x+"':":B&&(G="Browsing "+B),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Section,{title:G,buttons:(0,e.createComponentVNode)(2,f.Dropdown,{width:"190px",options:N.map(function(J){return J.name}),selected:B,onSelected:function(){function J(Q){return L(Q)}return J}()}),children:[(0,e.createComponentVNode)(2,f.Input,{fluid:!0,placeholder:"Search for...",onInput:function(){function J(Q,ue){return T(ue)}return J}(),mb:1}),(0,e.createComponentVNode)(2,f.Box,{maxHeight:25,overflowY:"auto",overflowX:"hidden",children:(0,e.createComponentVNode)(2,f.Table,{m:"0.5rem",children:K.map(function(J){return(0,e.createComponentVNode)(2,f.Table.Row,{children:[(0,e.createComponentVNode)(2,f.Table.Cell,{bold:!0,children:[J.name," (",J.cost," Credits)"]}),(0,e.createComponentVNode)(2,f.Table.Cell,{textAlign:"right",pr:1,children:[(0,e.createComponentVNode)(2,f.Button,{content:"Order 1",icon:"shopping-cart",disabled:!W,onClick:function(){function Q(){return C("order",{crate:J.ref,multiple:!1,account:W})}return Q}()}),(0,e.createComponentVNode)(2,f.Button,{content:"Order Multiple",icon:"cart-plus",disabled:!W||J.singleton,onClick:function(){function Q(){return C("order",{crate:J.ref,multiple:!0,account:W})}return Q}()}),(0,e.createComponentVNode)(2,f.Button,{content:"View Contents",icon:"search",onClick:function(){function Q(){D(J.contents),R(J.name)}return Q}()})]})]},J.name)})})})]})})},m=function(s,i){var h=s.request,C,v;switch(h.department){case"Engineering":v="CE",C="orange";break;case"Medical":v="CMO",C="teal";break;case"Science":v="RD",C="purple";break;case"Supply":v="CT",C="brown";break;case"Service":v="HOP",C="olive";break;case"Security":v="HOS",C="red";break;case"Command":v="CAP",C="blue";break;case"Assistant":v="Any Head",C="grey";break}return(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{mt:.5,children:"Approval Required:"}),!!h.req_cargo_approval&&(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Button,{color:"brown",content:"QM",icon:"user-tie",tooltip:"This Order requires approval from the QM still"})}),!!h.req_head_approval&&(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Button,{color:C,content:v,disabled:h.req_cargo_approval,icon:"user-tie",tooltip:h.req_cargo_approval?"This Order first requires approval from the QM before the "+v+" can approve it":"This Order requires approval from the "+v+" still"})})]})},l=function(s,i){var h=(0,o.useBackend)(i),C=h.act,v=h.data,p=v.requests,N=v.orders,V=v.shipments;return(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,title:"Orders",children:[(0,e.createComponentVNode)(2,f.Box,{bold:!0,children:"Requests"}),(0,e.createComponentVNode)(2,f.Table,{children:p.map(function(y){return(0,e.createComponentVNode)(2,f.Table.Row,{className:"Cargo_RequestList",children:[(0,e.createComponentVNode)(2,f.Table.Cell,{mb:1,children:[(0,e.createComponentVNode)(2,f.Box,{children:["Order #",y.ordernum,": ",y.supply_type," (",y.cost," credits) for ",(0,e.createVNode)(1,"b",null,y.orderedby,0)," with"," ",y.department?"The "+y.department+" Department":"Their Personal"," Account"]}),(0,e.createComponentVNode)(2,f.Box,{italic:!0,children:["Reason: ",y.comment]}),(0,e.createComponentVNode)(2,m,{request:y})]}),(0,e.createComponentVNode)(2,f.Stack.Item,{textAlign:"right",children:[(0,e.createComponentVNode)(2,f.Button,{content:"Approve",color:"green",disabled:!y.can_approve,onClick:function(){function B(){return C("approve",{ordernum:y.ordernum})}return B}()}),(0,e.createComponentVNode)(2,f.Button,{content:"Deny",color:"red",disabled:!y.can_deny,onClick:function(){function B(){return C("deny",{ordernum:y.ordernum})}return B}()})]})]},y.ordernum)})}),(0,e.createComponentVNode)(2,f.Box,{bold:!0,children:"Orders Awaiting Delivery"}),(0,e.createComponentVNode)(2,f.Table,{m:"0.5rem",children:N.map(function(y){return(0,e.createComponentVNode)(2,f.Table.Row,{children:(0,e.createComponentVNode)(2,f.Table.Cell,{children:[(0,e.createComponentVNode)(2,f.Box,{children:["- #",y.ordernum,": ",y.supply_type," for ",(0,e.createVNode)(1,"b",null,y.orderedby,0)]}),(0,e.createComponentVNode)(2,f.Box,{italic:!0,children:["Reason: ",y.comment]})]})},y.ordernum)})}),(0,e.createComponentVNode)(2,f.Box,{bold:!0,children:"Order in Transit"}),(0,e.createComponentVNode)(2,f.Table,{m:"0.5rem",children:V.map(function(y){return(0,e.createComponentVNode)(2,f.Table.Row,{children:(0,e.createComponentVNode)(2,f.Table.Cell,{children:[(0,e.createComponentVNode)(2,f.Box,{children:["- #",y.ordernum,": ",y.supply_type," for ",(0,e.createVNode)(1,"b",null,y.orderedby,0)]}),(0,e.createComponentVNode)(2,f.Box,{italic:!0,children:["Reason: ",y.comment]})]})},y.ordernum)})})]})}},36232:function(A,r,n){"use strict";r.__esModule=!0,r.ChameleonAppearances=r.Chameleon=void 0;var e=n(89005),a=n(25328),t=n(64795),o=n(88510),f=n(72253),b=n(36036),S=n(98595),I=r.Chameleon=function(){function d(c,m){return(0,e.createComponentVNode)(2,S.Window,{width:431,height:500,theme:"syndicate",children:(0,e.createComponentVNode)(2,S.Window.Content,{children:(0,e.createComponentVNode)(2,g)})})}return d}(),k=function(c,m){m===void 0&&(m="");var l=(0,a.createSearch)(m,function(u){return u.name});return(0,t.flow)([(0,o.filter)(function(u){return u==null?void 0:u.name}),m&&(0,o.filter)(l)])(c)},g=r.ChameleonAppearances=function(){function d(c,m){var l=(0,f.useBackend)(m),u=l.act,s=l.data,i=(0,f.useLocalState)(m,"searchText",""),h=i[0],C=i[1],v=k(s.chameleon_skins,h),p=s.selected_appearance;return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Input,{fluid:!0,placeholder:"Search for an appearance",onInput:function(){function N(V,y){return C(y)}return N}()})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Item Appearance",children:v.map(function(N){var V=N.name+"_"+N.icon_state;return(0,e.createComponentVNode)(2,b.ImageButton,{dmIcon:N.icon,dmIconState:N.icon_state,imageSize:64,m:.5,compact:!0,selected:V===p,tooltip:N.name,style:{opacity:V===p&&"1"||"0.5"},onClick:function(){function y(){u("change_appearance",{new_appearance:V})}return y}()},V)})})})]})}return d}()},87331:function(A,r,n){"use strict";r.__esModule=!0,r.ChangelogView=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ChangelogView=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=(0,a.useLocalState)(I,"onlyRecent",0),m=c[0],l=c[1],u=d.cl_data,s=d.last_cl,i={FIX:(0,e.createComponentVNode)(2,t.Icon,{name:"tools",title:"Fix"}),WIP:(0,e.createComponentVNode)(2,t.Icon,{name:"hard-hat",title:"WIP",color:"orange"}),TWEAK:(0,e.createComponentVNode)(2,t.Icon,{name:"sliders-h",title:"Tweak"}),SOUNDADD:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-up",title:"Sound Added",color:"green"}),SOUNDDEL:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-mute",title:"Sound Removed",color:"red"}),CODEADD:(0,e.createComponentVNode)(2,t.Icon,{name:"plus",title:"Code Addition",color:"green"}),CODEDEL:(0,e.createComponentVNode)(2,t.Icon,{name:"minus",title:"Code Removal",color:"red"}),IMAGEADD:(0,e.createComponentVNode)(2,t.Icon,{name:"folder-plus",title:"Sprite Addition",color:"green"}),IMAGEDEL:(0,e.createComponentVNode)(2,t.Icon,{name:"folder-minus",title:"Sprite Removal",color:"red"}),SPELLCHECK:(0,e.createComponentVNode)(2,t.Icon,{name:"font",title:"Spelling/Grammar Fix"}),EXPERIMENT:(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-triangle",title:"Experimental",color:"orange"})},h=function(){function C(v){return v in i?i[v]:(0,e.createComponentVNode)(2,t.Icon,{name:"plus",color:"green"})}return C}();return(0,e.createComponentVNode)(2,o.Window,{width:750,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"ParadiseSS13 Changelog",mt:2,buttons:(0,e.createComponentVNode)(2,t.Button,{content:m?"Showing all changes":"Showing changes since last connection",onClick:function(){function C(){return l(!m)}return C}()}),children:u.map(function(C){return!m&&C.merge_ts<=s||(0,e.createComponentVNode)(2,t.Section,{mb:2,title:C.author+" - Merged on "+C.merge_date,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"#"+C.num,onClick:function(){function v(){return g("open_pr",{pr_number:C.num})}return v}()}),children:C.entries.map(function(v){return(0,e.createComponentVNode)(2,t.Box,{m:1,children:[h(v.etype)," ",v.etext]},v)})},C)})})})})}return b}()},91360:function(A,r,n){"use strict";r.__esModule=!0,r.CheckboxListInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(36036),f=n(72253),b=n(98595),S=r.CheckboxListInputModal=function(){function k(g,d){var c=(0,f.useBackend)(d),m=c.act,l=c.data,u=l.items,s=u===void 0?[]:u,i=l.message,h=i===void 0?"":i,C=l.init_value,v=l.timeout,p=l.title,N=(0,f.useLocalState)(d,"edittedItems",s),V=N[0],y=N[1],B=330+Math.ceil(h.length/3),L=function(){function w(x){x===void 0&&(x=null);var T=[].concat(V);T=T.map(function(M){return M.key===x.key?Object.assign({},M,{checked:!x.checked}):M}),y(T)}return w}();return(0,e.createComponentVNode)(2,b.Window,{title:p,width:325,height:B,children:[v&&(0,e.createComponentVNode)(2,a.Loader,{value:v}),(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{className:"ListInput__Section",fill:!0,title:h,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,I,{filteredItems:V,onClick:L})}),(0,e.createComponentVNode)(2,o.Stack.Item,{mt:.5,children:(0,e.createComponentVNode)(2,t.InputButtons,{input:V})})]})})})]})}return k}(),I=function(g,d){var c=g.filteredItems,m=g.onClick;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,tabIndex:0,children:c.map(function(l,u){return(0,e.createComponentVNode)(2,o.Button.Checkbox,{fluid:!0,id:u,onClick:function(){function s(){return m(l)}return s}(),checked:l.checked,style:{animation:"none",transition:"none"},children:l.key.replace(/^\w/,function(s){return s.toUpperCase()})},u)})})}},36108:function(A,r,n){"use strict";r.__esModule=!0,r.ChemDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(85870),f=n(98595),b=[1,5,10,20,30,50],S=[1,5,10],I=r.ChemDispenser=function(){function c(m,l){var u=(0,a.useBackend)(l),s=u.act,i=u.data,h=i.chemicals;return(0,e.createComponentVNode)(2,f.Window,{width:400,height:400+h.length*8,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,g),(0,e.createComponentVNode)(2,d)]})})})}return c}(),k=function(m,l){var u=(0,a.useBackend)(l),s=u.act,i=u.data,h=i.amount,C=i.energy,v=i.maxEnergy;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:C,minValue:0,maxValue:v,ranges:{good:[v*.5,1/0],average:[v*.25,v*.5],bad:[-1/0,v*.25]},children:[C," / ",v," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Dispense",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{children:b.map(function(p,N){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"15%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"cog",selected:h===p,content:p,onClick:function(){function V(){return s("amount",{amount:p})}return V}()})},N)})})})]})})})},g=function(m,l){for(var u=(0,a.useBackend)(l),s=u.act,i=u.data,h=i.chemicals,C=h===void 0?[]:h,v=[],p=0;p<(C.length+1)%3;p++)v.push(!0);return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:i.glass?"Drink Dispenser":"Chemical Dispenser",children:[C.map(function(N,V){return(0,e.createComponentVNode)(2,t.Button,{m:.1,width:"32.5%",icon:"arrow-circle-down",overflow:"hidden",textOverflow:"ellipsis",content:N.title,style:{"margin-left":"2px"},onClick:function(){function y(){return s("dispense",{reagent:N.id})}return y}()},V)}),v.map(function(N,V){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%"},V)})]})})},d=function(m,l){var u=(0,a.useBackend)(l),s=u.act,i=u.data,h=i.isBeakerLoaded,C=i.beakerCurrentVolume,v=i.beakerMaxVolume,p=i.beakerContents,N=p===void 0?[]:p;return(0,e.createComponentVNode)(2,t.Stack.Item,{height:16,children:(0,e.createComponentVNode)(2,t.Section,{title:i.glass?"Glass":"Beaker",fill:!0,scrollable:!0,buttons:(0,e.createComponentVNode)(2,t.Box,{children:[!!h&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"label",mr:2,children:[C," / ",v," units"]}),(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject",disabled:!h,onClick:function(){function V(){return s("ejectBeaker")}return V}()})]}),children:(0,e.createComponentVNode)(2,o.BeakerContents,{beakerLoaded:h,beakerContents:N,buttons:function(){function V(y){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Isolate",icon:"compress-arrows-alt",onClick:function(){function B(){return s("remove",{reagent:y.id,amount:-1})}return B}()}),S.map(function(B,L){return(0,e.createComponentVNode)(2,t.Button,{content:B,onClick:function(){function w(){return s("remove",{reagent:y.id,amount:B})}return w}()},L)}),(0,e.createComponentVNode)(2,t.Button,{content:"ALL",onClick:function(){function B(){return s("remove",{reagent:y.id,amount:y.volume})}return B}()})],0)}return V}()})})})}},13146:function(A,r,n){"use strict";r.__esModule=!0,r.ChemHeater=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(85870),b=n(98595),S=r.ChemHeater=function(){function g(d,c){return(0,e.createComponentVNode)(2,b.Window,{width:350,height:275,children:(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k)]})})})}return g}(),I=function(d,c){var m=(0,t.useBackend)(c),l=m.act,u=m.data,s=u.targetTemp,i=u.targetTempReached,h=u.autoEject,C=u.isActive,v=u.currentTemp,p=u.isBeakerLoaded;return(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Settings",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Auto-eject",icon:h?"toggle-on":"toggle-off",selected:h,onClick:function(){function N(){return l("toggle_autoeject")}return N}()}),(0,e.createComponentVNode)(2,o.Button,{content:C?"On":"Off",icon:"power-off",selected:C,disabled:!p,onClick:function(){function N(){return l("toggle_on")}return N}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Target",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"65px",unit:"K",step:10,stepPixelSize:3,value:(0,a.round)(s,0),minValue:0,maxValue:1e3,onDrag:function(){function N(V,y){return l("adjust_temperature",{target:y})}return N}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Reading",color:i?"good":"average",children:p&&(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:v,format:function(){function N(V){return(0,a.toFixed)(V)+" K"}return N}()})||"\u2014"})]})})})},k=function(d,c){var m=(0,t.useBackend)(c),l=m.act,u=m.data,s=u.isBeakerLoaded,i=u.beakerCurrentVolume,h=u.beakerMaxVolume,C=u.beakerContents;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Beaker",fill:!0,scrollable:!0,buttons:!!s&&(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{inline:!0,color:"label",mr:2,children:[i," / ",h," units"]}),(0,e.createComponentVNode)(2,o.Button,{icon:"eject",content:"Eject",onClick:function(){function v(){return l("eject_beaker")}return v}()})]}),children:(0,e.createComponentVNode)(2,f.BeakerContents,{beakerLoaded:s,beakerContents:C})})})}},56541:function(A,r,n){"use strict";r.__esModule=!0,r.ChemMaster=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(85870),b=n(3939),S=n(35840),I=["icon"];function k(B,L){if(B==null)return{};var w={};for(var x in B)if({}.hasOwnProperty.call(B,x)){if(L.includes(x))continue;w[x]=B[x]}return w}function g(B,L){B.prototype=Object.create(L.prototype),B.prototype.constructor=B,d(B,L)}function d(B,L){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(w,x){return w.__proto__=x,w},d(B,L)}var c=[1,5,10],m=function(L,w){var x=(0,a.useBackend)(w),T=x.act,M=x.data,O=L.args.analysis;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:M.condi?"Condiment Analysis":"Reagent Analysis",children:(0,e.createComponentVNode)(2,t.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:O.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:(O.desc||"").length>0?O.desc:"N/A"}),O.blood_type&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood type",children:O.blood_type}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood DNA",className:"LabeledList__breakContents",children:O.blood_dna})],4),!M.condi&&(0,e.createComponentVNode)(2,t.Button,{icon:M.printing?"spinner":"print",disabled:M.printing,iconSpin:!!M.printing,ml:"0.5rem",content:"Print",onClick:function(){function D(){return T("print",{idx:O.idx,beaker:L.args.beaker})}return D}()})]})})})})},l=function(B){return B[B.ToDisposals=0]="ToDisposals",B[B.ToBeaker=1]="ToBeaker",B}(l||{}),u=r.ChemMaster=function(){function B(L,w){return(0,e.createComponentVNode)(2,o.Window,{width:575,height:650,children:[(0,e.createComponentVNode)(2,b.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,s),(0,e.createComponentVNode)(2,i),(0,e.createComponentVNode)(2,h),(0,e.createComponentVNode)(2,y)]})})]})}return B}(),s=function(L,w){var x=(0,a.useBackend)(w),T=x.act,M=x.data,O=M.beaker,D=M.beaker_reagents,E=M.buffer_reagents,P=E.length>0;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Beaker",fill:!0,scrollable:!0,buttons:P?(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"eject",disabled:!O,content:"Eject and Clear Buffer",onClick:function(){function R(){return T("eject")}return R}()}):(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!O,content:"Eject and Clear Buffer",onClick:function(){function R(){return T("eject")}return R}()}),children:O?(0,e.createComponentVNode)(2,f.BeakerContents,{beakerLoaded:!0,beakerContents:D,buttons:function(){function R(j,F){return(0,e.createComponentVNode)(2,t.Box,{mb:F0?(0,e.createComponentVNode)(2,f.BeakerContents,{beakerLoaded:!0,beakerContents:D,buttons:function(){function E(P,R){return(0,e.createComponentVNode)(2,t.Box,{mb:R0&&(P=E.map(function(R){var j=R.id,F=R.sprite;return(0,e.createComponentVNode)(2,N,{icon:F,translucent:!0,onClick:function(){function W(){return T("set_sprite_style",{production_mode:O,style:j})}return W}(),selected:D===j},j)})),(0,e.createComponentVNode)(2,p,{productionData:L.productionData,children:P&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Style",children:P})})},y=function(L,w){var x=(0,a.useBackend)(w),T=x.act,M=x.data,O=M.loaded_pill_bottle_style,D=M.containerstyles,E=M.loaded_pill_bottle,P={width:"20px",height:"20px"},R=D.map(function(j){var F=j.color,W=j.name,z=O===F;return(0,e.createComponentVNode)(2,t.Button,{style:{position:"relative",width:P.width,height:P.height},onClick:function(){function K(){return T("set_container_style",{style:F})}return K}(),icon:z&&"check",iconStyle:{position:"relative","z-index":1},tooltip:W,tooltipPosition:"top",children:[!z&&(0,e.createVNode)(1,"div",null,null,1,{style:{display:"inline-block"}}),(0,e.createVNode)(1,"span","Button",null,1,{style:{display:"inline-block",position:"absolute",top:0,left:0,margin:0,padding:0,width:P.width,height:P.height,"background-color":F,opacity:.6,filter:"alpha(opacity=60)"}})]},F)});return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Container Customization",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!E,content:"Eject Container",onClick:function(){function j(){return T("ejectp")}return j}()}),children:E?(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Style",children:[(0,e.createComponentVNode)(2,t.Button,{style:{width:P.width,height:P.height},icon:"tint-slash",onClick:function(){function j(){return T("clear_container_style")}return j}(),selected:!O,tooltip:"Default",tooltipPosition:"top"}),R]})}):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"No pill bottle or patch pack loaded."})})})};(0,b.modalRegisterBodyOverride)("analyze",m)},37173:function(A,r,n){"use strict";r.__esModule=!0,r.CloningConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(79140),b=1,S=32,I=128,k=r.CloningConsole=function(){function u(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.tab,N=v.has_scanner,V=v.pod_amount;return(0,e.createComponentVNode)(2,o.Window,{width:640,height:520,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Cloning Console",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Connected scanner",children:N?"Online":"Missing"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Connected pods",children:V})]})}),(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:p===1,icon:"home",onClick:function(){function y(){return C("menu",{tab:1})}return y}(),children:"Main Menu"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:p===2,icon:"user",onClick:function(){function y(){return C("menu",{tab:2})}return y}(),children:"Damage Configuration"})]}),(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,g)})]})})}return u}(),g=function(s,i){var h=(0,a.useBackend)(i),C=h.data,v=C.tab,p;return v===1?p=(0,e.createComponentVNode)(2,d):v===2&&(p=(0,e.createComponentVNode)(2,c)),p},d=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.pods,N=v.pod_amount,V=v.selected_pod_UID;return(0,e.createComponentVNode)(2,t.Box,{children:[!N&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Notice: No pods connected."}),!!N&&p.map(function(y,B){return(0,e.createComponentVNode)(2,t.Section,{layer:2,title:"Pod "+(B+1),children:(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"96px",shrink:0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:(0,f.resolveAsset)("pod_"+(y.cloning?"cloning":"idle")+".gif"),style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Button,{selected:V===y.uid,onClick:function(){function L(){return C("select_pod",{uid:y.uid})}return L}(),children:"Select"})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Progress",children:[!y.cloning&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Pod is inactive."}),!!y.cloning&&(0,e.createComponentVNode)(2,t.ProgressBar,{value:y.clone_progress,maxValue:100,color:"good"})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Biomass",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:y.biomass,ranges:{good:[2*y.biomass_storage_capacity/3,y.biomass_storage_capacity],average:[y.biomass_storage_capacity/3,2*y.biomass_storage_capacity/3],bad:[0,y.biomass_storage_capacity/3]},minValue:0,maxValue:y.biomass_storage_capacity,children:[y.biomass,"/",y.biomass_storage_capacity+" ("+100*y.biomass/y.biomass_storage_capacity+"%)"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sanguine Reagent",children:y.sanguine_reagent}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Osseous Reagent",children:y.osseous_reagent})]})})]})},y)})]})},c=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.selected_pod_data,N=v.has_scanned,V=v.scanner_has_patient,y=v.feedback,B=v.scan_successful,L=v.cloning_cost,w=v.has_scanner,x=v.currently_scanning;return(0,e.createComponentVNode)(2,t.Box,{children:[!w&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Notice: No scanner connected."}),!!w&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Section,{layer:2,title:"Scanner Info",buttons:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"hourglass-half",onClick:function(){function T(){return C("scan")}return T}(),disabled:!V||x,children:"Scan"}),(0,e.createComponentVNode)(2,t.Button,{icon:"eject",onClick:function(){function T(){return C("eject")}return T}(),disabled:!V||x,children:"Eject Patient"})]}),children:[!N&&!x&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:V?"No scan detected for current patient.":"No patient is in the scanner."}),(!!N||!!x)&&(0,e.createComponentVNode)(2,t.Box,{color:y.color,children:y.text})]}),(0,e.createComponentVNode)(2,t.Section,{layer:2,title:"Damages Breakdown",children:(0,e.createComponentVNode)(2,t.Box,{children:[(!B||!N)&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"No valid scan detected."}),!!B&&!!N&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function T(){return C("fix_all")}return T}(),children:"Repair All Damages"}),(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function T(){return C("fix_none")}return T}(),children:"Repair No Damages"})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function T(){return C("clone")}return T}(),children:"Clone"})})]}),(0,e.createComponentVNode)(2,t.Stack,{height:"25px",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"40%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:L[0],maxValue:p.biomass_storage_capacity,ranges:{bad:[2*p.biomass_storage_capacity/3,p.biomass_storage_capacity],average:[p.biomass_storage_capacity/3,2*p.biomass_storage_capacity/3],good:[0,p.biomass_storage_capacity/3]},color:L[0]>p.biomass?"bad":null,children:["Biomass: ",L[0],"/",p.biomass,"/",p.biomass_storage_capacity]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:L[1],maxValue:p.max_reagent_capacity,ranges:{bad:[2*p.max_reagent_capacity/3,p.max_reagent_capacity],average:[p.max_reagent_capacity/3,2*p.max_reagent_capacity/3],good:[0,p.max_reagent_capacity/3]},color:L[1]>p.sanguine_reagent?"bad":"good",children:["Sanguine: ",L[1],"/",p.sanguine_reagent,"/",p.max_reagent_capacity]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:L[2],maxValue:p.max_reagent_capacity,ranges:{bad:[2*p.max_reagent_capacity/3,p.max_reagent_capacity],average:[p.max_reagent_capacity/3,2*p.max_reagent_capacity/3],good:[0,p.max_reagent_capacity/3]},color:L[2]>p.osseous_reagent?"bad":"good",children:["Osseous: ",L[2],"/",p.osseous_reagent,"/",p.max_reagent_capacity]})})]}),(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,l)]})]})})]})]})},m=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.patient_limb_data,N=v.limb_list,V=v.desired_limb_data;return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Limbs",children:N.map(function(y,B){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Stack,{align:"baseline",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{color:"label",width:"15%",height:"20px",children:[p[y][4],":"," "]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),p[y][3]===0&&(0,e.createComponentVNode)(2,t.Stack.Item,{width:"60%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:V[y][0]+V[y][1],maxValue:p[y][5],ranges:{good:[0,p[y][5]/3],average:[p[y][5]/3,2*p[y][5]/3],bad:[2*p[y][5]/3,p[y][5]]},children:["Post-Cloning Damage: ",(0,e.createComponentVNode)(2,t.Icon,{name:"bone"})," "+V[y][0]+" / ",(0,e.createComponentVNode)(2,t.Icon,{name:"fire"})," "+V[y][1]]})}),p[y][3]!==0&&(0,e.createComponentVNode)(2,t.Stack.Item,{width:"60%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:"bad",value:0,children:["The patient's ",p[y][4]," is missing!"]})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[!!p[y][3]&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!V[y][3],onClick:function(){function L(){return C("toggle_limb_repair",{limb:y,type:"replace"})}return L}(),children:"Replace Limb"})}),!p[y][3]&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{disabled:!(p[y][0]||p[y][1]),checked:!(V[y][0]||V[y][1]),onClick:function(){function L(){return C("toggle_limb_repair",{limb:y,type:"damage"})}return L}(),children:"Repair Damages"}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{disabled:!(p[y][2]&b),checked:!(V[y][2]&b),onClick:function(){function L(){return C("toggle_limb_repair",{limb:y,type:"bone"})}return L}(),children:"Mend Bone"}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{disabled:!(p[y][2]&S),checked:!(V[y][2]&S),onClick:function(){function L(){return C("toggle_limb_repair",{limb:y,type:"ib"})}return L}(),children:"Mend IB"}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{disabled:!(p[y][2]&I),checked:!(V[y][2]&I),onClick:function(){function L(){return C("toggle_limb_repair",{limb:y,type:"critburn"})}return L}(),children:"Mend Critical Burn"})]})]})]},y)})})},l=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.patient_organ_data,N=v.organ_list,V=v.desired_organ_data;return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Organs",children:N.map(function(y,B){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Stack,{align:"baseline",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{color:"label",width:"20%",height:"20px",children:[p[y][3],":"," "]}),p[y][5]!=="heart"&&(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:[!!p[y][2]&&(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!V[y][2]&&!V[y][1],onClick:function(){function L(){return C("toggle_organ_repair",{organ:y,type:"replace"})}return L}(),children:"Replace Organ"}),!p[y][2]&&(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{disabled:!p[y][0],checked:!V[y][0],onClick:function(){function L(){return C("toggle_organ_repair",{organ:y,type:"damage"})}return L}(),children:"Repair Damages"})})]})}),p[y][5]==="heart"&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Heart replacement is required for cloning."}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"35%",children:[!!p[y][2]&&(0,e.createComponentVNode)(2,t.ProgressBar,{color:"bad",value:0,children:["The patient's ",p[y][3]," is missing!"]}),!p[y][2]&&(0,e.createComponentVNode)(2,t.ProgressBar,{value:V[y][0],maxValue:p[y][4],ranges:{good:[0,p[y][4]/3],average:[p[y][4]/3,2*p[y][4]/3],bad:[2*p[y][4]/3,p[y][4]]},children:"Post-Cloning Damage: "+V[y][0]})]})]})},y)})})}},98723:function(A,r,n){"use strict";r.__esModule=!0,r.CloningPod=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.CloningPod=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.biomass,m=d.biomass_storage_capacity,l=d.sanguine_reagent,u=d.osseous_reagent,s=d.organs,i=d.currently_cloning;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Liquid Storage",children:[(0,e.createComponentVNode)(2,t.Stack,{height:"25px",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{color:"label",width:"25%",children:["Biomass:"," "]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1,children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:c,ranges:{good:[2*m/3,m],average:[m/3,2*m/3],bad:[0,m/3]},minValue:0,maxValue:m})})]}),(0,e.createComponentVNode)(2,t.Stack,{height:"25px",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{color:"label",width:"25%",children:["Sanguine Reagent:"," "]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:l+" units"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.NumberInput,{value:0,minValue:0,maxValue:l,step:1,unit:"units",onChange:function(){function h(C,v){return g("remove_reagent",{reagent:"sanguine_reagent",amount:v})}return h}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Remove All",onClick:function(){function h(){return g("purge_reagent",{reagent:"sanguine_reagent"})}return h}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{height:"25px",align:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{color:"label",width:"25%",children:["Osseous Reagent:"," "]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:u+" units"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.NumberInput,{value:0,minValue:0,maxValue:u,step:1,unit:"units",onChange:function(){function h(C,v){return g("remove_reagent",{reagent:"osseous_reagent",amount:v})}return h}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Remove All",onClick:function(){function h(){return g("purge_reagent",{reagent:"osseous_reagent"})}return h}()})})]})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Organ Storage",children:[!i&&(0,e.createComponentVNode)(2,t.Box,{children:[!s&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Notice: No organs loaded."}),!!s&&s.map(function(h){return(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:h.name}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:1}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Eject",onClick:function(){function C(){return g("eject_organ",{organ_ref:h.ref})}return C}()})})]},h)})]}),!!i&&(0,e.createComponentVNode)(2,t.Stack,{height:"100%",children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:"1",textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"lock",size:"5",mb:3}),(0,e.createVNode)(1,"br"),"Unable to access organ storage while cloning."]})})]})]})})}return b}()},18259:function(A,r,n){"use strict";r.__esModule=!0,r.CoinMint=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(98595),b=r.CoinMint=function(){function S(I,k){var g=(0,t.useBackend)(k),d=g.act,c=g.data,m=c.materials,l=c.moneyBag,u=c.moneyBagContent,s=c.moneyBagMaxContent,i=(l?210:138)+Math.ceil(m.length/4)*64;return(0,e.createComponentVNode)(2,f.Window,{width:210,height:i,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.NoticeBox,{m:0,info:!0,children:["Total coins produced: ",c.totalCoins]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Coin Type",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"power-off",color:c.active&&"bad",tooltip:!l&&"Need a money bag",disabled:!l,onClick:function(){function h(){return d("activate")}return h}()}),children:(0,e.createComponentVNode)(2,o.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.ProgressBar,{minValue:0,maxValue:c.maxMaterials,value:c.totalMaterials})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:"eject",tooltip:"Eject selected material",onClick:function(){function h(){return d("ejectMat")}return h}()})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:m.map(function(h){return(0,e.createComponentVNode)(2,o.Button,{bold:!0,inline:!0,translucent:!0,m:.2,textAlign:"center",selected:h.id===c.chosenMaterial,tooltip:h.name,content:(0,e.createComponentVNode)(2,o.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{className:(0,a.classes)(["materials32x32",h.id])}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:h.amount})]}),onClick:function(){function C(){return d("selectMaterial",{material:h.id})}return C}()},h.id)})})]})})}),!!l&&(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"Money Bag",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"eject",content:"Eject",disabled:c.active,onClick:function(){function h(){return d("ejectBag")}return h}()}),children:(0,e.createComponentVNode)(2,o.ProgressBar,{width:"100%",minValue:0,maxValue:s,value:u,children:[u," / ",s]})})})]})})})}return S}()},93858:function(A,r,n){"use strict";r.__esModule=!0,r.HexColorInput=r.ColorSelector=r.ColorPickerModal=r.ColorInput=void 0;var e=n(89005),a=n(51057),t=n(72253),o=n(36036),f=n(98595),b=n(44879),S=n(14448),I=n(4454),k=n(35840),g=n(9394),d=n(19203),c=["prefixed","alpha","color","fluid","onChange"];/** * @file * @copyright 2023 itsmeow * @license MIT - */function m(w,x){w.prototype=Object.create(x.prototype),w.prototype.constructor=w,l(w,x)}function l(w,x){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(T,M){return T.__proto__=M,T},l(w,x)}function d(w,x){if(w==null)return{};var T={};for(var M in w)if({}.hasOwnProperty.call(w,M)){if(x.includes(M))continue;T[M]=w[M]}return T}var s=r.ColorPickerModal=function(){function w(x,T){var M=(0,t.useBackend)(T),O=M.data,D=O.timeout,E=O.message,P=O.title,R=O.autofocus,j=O.default_color,F=j===void 0?"#000000":j,W=(0,t.useLocalState)(T,"color_picker_choice",(0,S.hexToHsva)(F)),z=W[0],K=W[1];return(0,e.createComponentVNode)(2,f.Window,{height:400,title:P,width:600,theme:"generic",children:[!!D&&(0,e.createComponentVNode)(2,a.Loader,{value:D}),(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[E&&(0,e.createComponentVNode)(2,o.Stack.Item,{m:1,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:(0,e.createComponentVNode)(2,o.Box,{color:"label",overflow:"hidden",children:E})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:[!!R&&(0,e.createComponentVNode)(2,o.Autofocus),(0,e.createComponentVNode)(2,i,{color:z,setColor:K,defaultColor:F})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,u.InputButtons,{input:(0,S.hsvaToHex)(z)})})]})})]})}return w}(),i=r.ColorSelector=function(){function w(x,T){var M=x.color,O=x.setColor,D=x.defaultColor,E=function(){function j(F){O(function(W){return Object.assign({},W,F)})}return j}(),P=(0,S.hsvaToRgba)(M),R=(0,S.hsvaToHex)(M);return(0,e.createComponentVNode)(2,o.Flex,{direction:"row",children:[(0,e.createComponentVNode)(2,o.Flex.Item,{mr:2,children:(0,e.createComponentVNode)(2,o.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createVNode)(1,"div","react-colorful",[(0,e.createComponentVNode)(2,N,{hsva:M,onChange:E}),(0,e.createComponentVNode)(2,V,{hue:M.h,onChange:E,className:"react-colorful__last-control"})],4)}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Box,{inline:!0,width:"100px",height:"20px",textAlign:"center",children:"Current"}),(0,e.createComponentVNode)(2,o.Box,{inline:!0,width:"100px",height:"20px",textAlign:"center",children:"Previous"}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Tooltip,{content:R,position:"bottom",children:(0,e.createComponentVNode)(2,o.Box,{inline:!0,width:"100px",height:"30px",backgroundColor:R})}),(0,e.createComponentVNode)(2,o.Tooltip,{content:D,position:"bottom",children:(0,e.createComponentVNode)(2,o.Box,{inline:!0,width:"100px",height:"30px",backgroundColor:D})})]})]})}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:!0,fontSize:"15px",lineHeight:"24px",children:(0,e.createComponentVNode)(2,o.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"Hex:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,height:"24px",children:(0,e.createComponentVNode)(2,v,{fluid:!0,color:(0,S.hsvaToHex)(M).substring(1),onChange:function(){function j(F){g.logger.info(F),O((0,S.hexToHsva)(F))}return j}(),prefixed:!0})})]})}),(0,e.createComponentVNode)(2,o.Stack.Divider),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"H:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,V,{hue:M.h,onChange:E})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:M.h,callback:function(){function j(F,W){return E({h:W})}return j}(),max:360,unit:"\xB0"})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"S:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,y,{color:M,onChange:E})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:M.s,callback:function(){function j(F,W){return E({s:W})}return j}(),unit:"%"})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"V:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,B,{color:M,onChange:E})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:M.v,callback:function(){function j(F,W){return E({v:W})}return j}(),unit:"%"})})]})}),(0,e.createComponentVNode)(2,o.Stack.Divider),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"R:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,L,{color:M,onChange:E,target:"r"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:P.r,callback:function(){function j(F,W){P.r=W,E((0,S.rgbaToHsva)(P))}return j}(),max:255})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"G:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,L,{color:M,onChange:E,target:"g"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:P.g,callback:function(){function j(F,W){P.g=W,E((0,S.rgbaToHsva)(P))}return j}(),max:255})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"B:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,L,{color:M,onChange:E,target:"b"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:P.b,callback:function(){function j(F,W){P.b=W,E((0,S.rgbaToHsva)(P))}return j}(),max:255})})]})})]})})]})}return w}(),h=function(x){var T=x.value,M=x.callback,O=x.min,D=O===void 0?0:O,E=x.max,P=E===void 0?100:E,R=x.unit;return(0,e.createComponentVNode)(2,o.NumberInput,{width:"70px",value:Math.round(T),step:1,minValue:D,maxValue:P,onChange:M,unit:R})},C=function(x){return"#"+x},v=r.HexColorInput=function(){function w(x){var T=x.prefixed,M=x.alpha,O=x.color,D=x.fluid,E=x.onChange,P=d(x,c),R=function(){function F(W){return W.replace(/([^0-9A-F]+)/gi,"").substring(0,M?8:6)}return F}(),j=function(){function F(W){return(0,S.validHex)(W,M)}return F}();return(0,e.normalizeProps)((0,e.createComponentVNode)(2,p,Object.assign({},P,{fluid:D,color:O,onChange:E,escape:R,format:T?C:void 0,validate:j})))}return w}(),p=r.ColorInput=function(w){function x(M){var O;return O=w.call(this)||this,O.props=void 0,O.state=void 0,O.handleInput=function(D){var E=O.props.escape(D.currentTarget.value);O.setState({localValue:E})},O.handleBlur=function(D){D.currentTarget&&(O.props.validate(D.currentTarget.value)?O.props.onChange(O.props.escape?O.props.escape(D.currentTarget.value):D.currentTarget.value):O.setState({localValue:O.props.escape(O.props.color)}))},O.props=M,O.state={localValue:O.props.escape(O.props.color)},O}m(x,w);var T=x.prototype;return T.componentDidUpdate=function(){function M(O,D){O.color!==this.props.color&&this.setState({localValue:this.props.escape(this.props.color)})}return M}(),T.render=function(){function M(){return(0,e.createComponentVNode)(2,o.Box,{className:(0,k.classes)(["Input",this.props.fluid&&"Input--fluid"]),children:[(0,e.createVNode)(1,"div","Input__baseline",".",16),(0,e.createVNode)(64,"input","Input__input",null,1,{value:this.props.format?this.props.format(this.state.localValue):this.state.localValue,spellCheck:"false",onInput:this.handleInput,onBlur:this.handleBlur})]})}return M}(),x}(e.Component),N=function(x){var T=x.hsva,M=x.onChange,O=function(R){M({s:R.left*100,v:100-R.top*100})},D=function(R){M({s:(0,b.clamp)(T.s+R.left*100,0,100),v:(0,b.clamp)(T.v-R.top*100,0,100)})},E={"background-color":(0,S.hsvaToHslString)({h:T.h,s:100,v:100,a:1})+" !important"};return(0,e.createVNode)(1,"div","react-colorful__saturation_value",(0,e.createComponentVNode)(2,I.Interactive,{onMove:O,onKey:D,"aria-label":"Color","aria-valuetext":"Saturation "+Math.round(T.s)+"%, Brightness "+Math.round(T.v)+"%",children:(0,e.createComponentVNode)(2,o.Pointer,{className:"react-colorful__saturation_value-pointer",top:1-T.v/100,left:T.s/100,color:(0,S.hsvaToHslString)(T)})}),2,{style:E})},V=function(x){var T=x.className,M=x.hue,O=x.onChange,D=function(j){O({h:360*j.left})},E=function(j){O({h:(0,b.clamp)(M+j.left*360,0,360)})},P=(0,k.classes)(["react-colorful__hue",T]);return(0,e.createVNode)(1,"div",P,(0,e.createComponentVNode)(2,I.Interactive,{onMove:D,onKey:E,"aria-label":"Hue","aria-valuenow":Math.round(M),"aria-valuemax":"360","aria-valuemin":"0",children:(0,e.createComponentVNode)(2,o.Pointer,{className:"react-colorful__hue-pointer",left:M/360,color:(0,S.hsvaToHslString)({h:M,s:100,v:100,a:1})})}),2)},y=function(x){var T=x.className,M=x.color,O=x.onChange,D=function(j){O({s:100*j.left})},E=function(j){O({s:(0,b.clamp)(M.s+j.left*100,0,100)})},P=(0,k.classes)(["react-colorful__saturation",T]);return(0,e.createVNode)(1,"div",P,(0,e.createComponentVNode)(2,I.Interactive,{style:{background:"linear-gradient(to right, "+(0,S.hsvaToHslString)({h:M.h,s:0,v:M.v,a:1})+", "+(0,S.hsvaToHslString)({h:M.h,s:100,v:M.v,a:1})+")"},onMove:D,onKey:E,"aria-label":"Saturation","aria-valuenow":Math.round(M.s),"aria-valuemax":"100","aria-valuemin":"0",children:(0,e.createComponentVNode)(2,o.Pointer,{className:"react-colorful__saturation-pointer",left:M.s/100,color:(0,S.hsvaToHslString)({h:M.h,s:M.s,v:M.v,a:1})})}),2)},B=function(x){var T=x.className,M=x.color,O=x.onChange,D=function(j){O({v:100*j.left})},E=function(j){O({v:(0,b.clamp)(M.v+j.left*100,0,100)})},P=(0,k.classes)(["react-colorful__value",T]);return(0,e.createVNode)(1,"div",P,(0,e.createComponentVNode)(2,I.Interactive,{style:{background:"linear-gradient(to right, "+(0,S.hsvaToHslString)({h:M.h,s:M.s,v:0,a:1})+", "+(0,S.hsvaToHslString)({h:M.h,s:M.s,v:100,a:1})+")"},onMove:D,onKey:E,"aria-label":"Value","aria-valuenow":Math.round(M.s),"aria-valuemax":"100","aria-valuemin":"0",children:(0,e.createComponentVNode)(2,o.Pointer,{className:"react-colorful__value-pointer",left:M.v/100,color:(0,S.hsvaToHslString)({h:M.h,s:M.s,v:M.v,a:1})})}),2)},L=function(x){var T=x.className,M=x.color,O=x.onChange,D=x.target,E=(0,S.hsvaToRgba)(M),P=function(K){E[D]=K,O((0,S.rgbaToHsva)(E))},R=function(K){P(255*K.left)},j=function(K){P((0,b.clamp)(E[D]+K.left*255,0,255))},F=(0,k.classes)(["react-colorful__"+D,T]),W=D==="r"?"rgb("+Math.round(E.r)+",0,0)":D==="g"?"rgb(0,"+Math.round(E.g)+",0)":"rgb(0,0,"+Math.round(E.b)+")";return(0,e.createVNode)(1,"div",F,(0,e.createComponentVNode)(2,I.Interactive,{onMove:R,onKey:j,"aria-valuenow":E[D],"aria-valuemax":"100","aria-valuemin":"0",children:(0,e.createComponentVNode)(2,o.Pointer,{className:"react-colorful__"+D+"-pointer",left:E[D]/255,color:W})}),2)}},8444:function(A,r,n){"use strict";r.__esModule=!0,r.ColourMatrixTester=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ColourMatrixTester=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.colour_data,m=[[{name:"RR",idx:0},{name:"RG",idx:1},{name:"RB",idx:2},{name:"RA",idx:3}],[{name:"GR",idx:4},{name:"GG",idx:5},{name:"GB",idx:6},{name:"GA",idx:7}],[{name:"BR",idx:8},{name:"BG",idx:9},{name:"BB",idx:10},{name:"BA",idx:11}],[{name:"AR",idx:12},{name:"AG",idx:13},{name:"AB",idx:14},{name:"AA",idx:15}]];return(0,e.createComponentVNode)(2,o.Window,{width:360,height:190,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Modify Matrix",children:m.map(function(l){return(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",textColor:"label",children:l.map(function(d){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:1,children:[d.name,":\xA0",(0,e.createComponentVNode)(2,t.NumberInput,{width:4,value:c[d.idx],step:.05,minValue:-5,maxValue:5,stepPixelSize:5,onChange:function(){function s(i,h){return g("setvalue",{idx:d.idx+1,value:h})}return s}()})]},d.name)})},l)})})})})})}return b}()},63818:function(A,r,n){"use strict";r.__esModule=!0,r.CommunicationsComputer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(s){switch(s){case 1:return(0,e.createComponentVNode)(2,I);case 2:return(0,e.createComponentVNode)(2,u);case 3:return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,c)})});case 4:return(0,e.createComponentVNode)(2,l);default:return"ERROR. Unknown menu_state. Please contact NT Technical Support."}},b=r.CommunicationsComputer=function(){function d(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.menu_state;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S),f(p)]})})})}return d}(),S=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.authenticated,N=v.noauthbutton,V=v.esc_section,y=v.esc_callable,B=v.esc_recallable,L=v.esc_status,w=v.authhead,x=v.is_ai,T=v.lastCallLoc,M=!1,O;return p?p===1?O="Command":p===2?O="Captain":p===3?O="CentComm Officer":p===4?(O="CentComm Secure Connection",M=!0):O="ERROR: Report This Bug!":O="Not Logged In",(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Authentication",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:M&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Access",children:O})||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{icon:p?"sign-out-alt":"id-card",selected:p,disabled:N,content:p?"Log Out ("+O+")":"Log In",onClick:function(){function D(){return C("auth")}return D}()})})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:!!V&&(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Escape Shuttle",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[!!L&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:L}),!!y&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Options",children:(0,e.createComponentVNode)(2,t.Button,{icon:"rocket",content:"Call Shuttle",disabled:!w,onClick:function(){function D(){return C("callshuttle")}return D}()})}),!!B&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Options",children:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Recall Shuttle",disabled:!w||x,onClick:function(){function D(){return C("cancelshuttle")}return D}()})}),!!T&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Last Call/Recall From",children:T})]})})})],4)},I=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.is_admin;return p?(0,e.createComponentVNode)(2,k):(0,e.createComponentVNode)(2,g)},k=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.is_admin,N=v.gamma_armory_location,V=v.admin_levels,y=v.authenticated,B=v.ert_allowed;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"CentComm Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Change Alert",children:(0,e.createComponentVNode)(2,m,{levels:V,required_access:p,use_confirm:1})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Announcement",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"bullhorn",content:"Make Central Announcement",disabled:!p,onClick:function(){function L(){return C("send_to_cc_announcement_page")}return L}()}),y===4&&(0,e.createComponentVNode)(2,t.Button,{icon:"plus",content:"Make Other Announcement",disabled:!p,onClick:function(){function L(){return C("make_other_announcement")}return L}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Response Team",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"ambulance",content:"Dispatch ERT",disabled:!p,onClick:function(){function L(){return C("dispatch_ert")}return L}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:B,content:B?"ERT calling enabled":"ERT calling disabled",tooltip:B?"Command can request an ERT":"ERTs cannot be requested",disabled:!p,onClick:function(){function L(){return C("toggle_ert_allowed")}return L}(),selected:null})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nuclear Device",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"bomb",content:"Get Authentication Codes",disabled:!p,onClick:function(){function L(){return C("send_nuke_codes")}return L}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Gamma Armory",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"biohazard",content:N?"Send Gamma Armory":"Recall Gamma Armory",disabled:!p,onClick:function(){function L(){return C("move_gamma_armory")}return L}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Other",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"coins",content:"View Economy",disabled:!p,onClick:function(){function L(){return C("view_econ")}return L}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fax",content:"Fax Manager",disabled:!p,onClick:function(){function L(){return C("view_fax")}return L}()})]})]})}),(0,e.createComponentVNode)(2,t.Collapsible,{title:"View Command accessible controls",children:(0,e.createComponentVNode)(2,g)})]})},g=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.msg_cooldown,N=v.emagged,V=v.cc_cooldown,y=v.security_level_color,B=v.str_security_level,L=v.levels,w=v.authcapt,x=v.authhead,T=v.messages,M="Make Priority Announcement";p>0&&(M+=" ("+p+"s)");var O=N?"Message [UNKNOWN]":"Message CentComm",D="Request Authentication Codes";return V>0&&(O+=" ("+V+"s)",D+=" ("+V+"s)"),(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Captain-Only Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Alert",color:y,children:B}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Change Alert",children:(0,e.createComponentVNode)(2,m,{levels:L,required_access:w})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Announcement",children:(0,e.createComponentVNode)(2,t.Button,{icon:"bullhorn",content:M,disabled:!w||p>0,onClick:function(){function E(){return C("announce")}return E}()})}),!!N&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transmit",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",color:"red",content:O,disabled:!w||V>0,onClick:function(){function E(){return C("MessageSyndicate")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync-alt",content:"Reset Relays",disabled:!w,onClick:function(){function E(){return C("RestoreBackup")}return E}()})]})||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transmit",children:(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",content:O,disabled:!w||V>0,onClick:function(){function E(){return C("MessageCentcomm")}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nuclear Device",children:(0,e.createComponentVNode)(2,t.Button,{icon:"bomb",content:D,disabled:!w||V>0,onClick:function(){function E(){return C("nukerequest")}return E}()})})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Command Staff Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Displays",children:(0,e.createComponentVNode)(2,t.Button,{icon:"tv",content:"Change Status Displays",disabled:!x,onClick:function(){function E(){return C("status")}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Incoming Messages",children:(0,e.createComponentVNode)(2,t.Button,{icon:"folder-open",content:"View ("+T.length+")",disabled:!x,onClick:function(){function E(){return C("messagelist")}return E}()})})]})})})],4)},u=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.stat_display,N=v.authhead,V=v.current_message_title,y=p.presets.map(function(L){return(0,e.createComponentVNode)(2,t.Button,{content:L.label,selected:L.name===p.type,disabled:!N,onClick:function(){function w(){return C("setstat",{statdisp:L.name})}return w}()},L.name)}),B=p.alerts.map(function(L){return(0,e.createComponentVNode)(2,t.Button,{content:L.label,selected:L.alert===p.icon,disabled:!N,onClick:function(){function w(){return C("setstat",{statdisp:3,alert:L.alert})}return w}()},L.alert)});return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Modify Status Screens",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){function L(){return C("main")}return L}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Presets",children:y}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alerts",children:B}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message Line 1",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:p.line_1,disabled:!N,onClick:function(){function L(){return C("setmsg1")}return L}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message Line 2",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:p.line_2,disabled:!N,onClick:function(){function L(){return C("setmsg2")}return L}()})})]})})})},c=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.authhead,N=v.current_message_title,V=v.current_message,y=v.messages,B=v.security_level,L;if(N)L=(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:N,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Return To Message List",disabled:!p,onClick:function(){function x(){return C("messagelist")}return x}()}),children:(0,e.createComponentVNode)(2,t.Box,{children:V})})});else{var w=y.map(function(x){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:x.title,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"eye",content:"View",disabled:!p||N===x.title,onClick:function(){function T(){return C("messagelist",{msgid:x.id})}return T}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"times",content:"Delete",disabled:!p,onClick:function(){function T(){return C("delmessage",{msgid:x.id})}return T}()})]},x.id)});L=(0,e.createComponentVNode)(2,t.Section,{title:"Messages Received",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){function x(){return C("main")}return x}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:w})})}return(0,e.createComponentVNode)(2,t.Box,{children:L})},m=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=s.levels,N=s.required_access,V=s.use_confirm,y=v.security_level;return V?p.map(function(B){return(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:B.icon,content:B.name,disabled:!N||B.id===y,tooltip:B.tooltip,onClick:function(){function L(){return C("newalertlevel",{level:B.id})}return L}()},B.name)}):p.map(function(B){return(0,e.createComponentVNode)(2,t.Button,{icon:B.icon,content:B.name,disabled:!N||B.id===y,tooltip:B.tooltip,onClick:function(){function L(){return C("newalertlevel",{level:B.id})}return L}()},B.name)})},l=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.is_admin,N=v.possible_cc_sounds;if(!p)return C("main");var V=(0,a.useLocalState)(i,"subtitle",""),y=V[0],B=V[1],L=(0,a.useLocalState)(i,"text",""),w=L[0],x=L[1],T=(0,a.useLocalState)(i,"classified",0),M=T[0],O=T[1],D=(0,a.useLocalState)(i,"beepsound","Beep"),E=D[0],P=D[1];return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Central Command Report",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){function R(){return C("main")}return R}()}),children:[(0,e.createComponentVNode)(2,t.Input,{placeholder:"Enter Subtitle here.",fluid:!0,value:y,onChange:function(){function R(j,F){return B(F)}return R}(),mb:"5px"}),(0,e.createComponentVNode)(2,t.Input,{placeholder:"Enter Announcement here,\nMultiline input is accepted.",rows:10,fluid:!0,multiline:1,value:w,onChange:function(){function R(j,F){return x(F)}return R}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{content:"Send Announcement",fluid:!0,icon:"paper-plane",center:!0,mt:"5px",textAlign:"center",onClick:function(){function R(){return C("make_cc_announcement",{subtitle:y,text:w,classified:M,beepsound:E})}return R}()}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Dropdown,{width:"260px",height:"20px",options:N,selected:E,onSelected:function(){function R(j){return P(j)}return R}(),disabled:M})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"volume-up",mx:"5px",disabled:M,tooltip:"Test sound",onClick:function(){function R(){return C("test_sound",{sound:E})}return R}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:M,content:"Classified",fluid:!0,tooltip:M?"Sent to station communications consoles":"Publically announced",onClick:function(){function R(){return O(!M)}return R}()})})]})]})})}},20562:function(A,r,n){"use strict";r.__esModule=!0,r.CompostBin=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.CompostBin=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.biomass,m=u.compost,l=u.biomass_capacity,d=u.compost_capacity,s=u.potassium,i=u.potassium_capacity,h=u.potash,C=u.potash_capacity,v=(0,a.useSharedState)(I,"vendAmount",1),p=v[0],N=v[1];return(0,e.createComponentVNode)(2,o.Window,{width:360,height:250,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{label:"Resources",children:(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Biomass",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ml:.5,mt:1,width:20,value:c,minValue:0,maxValue:l,ranges:{good:[l*.5,1/0],average:[l*.25,l*.5],bad:[-1/0,l*.25]},children:[c," / ",l," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Compost",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ml:.5,mt:1,width:20,value:m,minValue:0,maxValue:d,ranges:{good:[d*.5,1/0],average:[d*.25,d*.5],bad:[-1/0,d*.25]},children:[m," / ",d," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Potassium",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ml:.5,mt:1,width:20,value:s,minValue:0,maxValue:i,ranges:{good:[i*.5,1/0],average:[i*.25,i*.5],bad:[-1/0,i*.25]},children:[s," / ",i," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Potash",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ml:.5,mt:1,width:20,value:h,minValue:0,maxValue:C,ranges:{good:[C*.5,1/0],average:[C*.25,C*.5],bad:[-1/0,C*.25]},children:[h," / ",C," Units"]})})]})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Controls",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{inline:!0,mr:"5px",color:"silver",children:"Soil clumps to make:"}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,value:p,width:"32px",minValue:1,maxValue:10,stepPixelSize:7,onChange:function(){function V(y,B){return N(B)}return V}()})],4),children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,align:"center",content:"Make Soil",disabled:m<25*p,icon:"arrow-circle-down",onClick:function(){function V(){return g("create",{amount:p})}return V}()})})})]})})})}return b}()},21813:function(A,r,n){"use strict";r.__esModule=!0,r.Contractor=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(73379),b=n(98595);function S(C,v){C.prototype=Object.create(v.prototype),C.prototype.constructor=C,I(C,v)}function I(C,v){return I=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,N){return p.__proto__=N,p},I(C,v)}var k={1:["ACTIVE","good"],2:["COMPLETED","good"],3:["FAILED","bad"]},g=["Recording biometric data...","Analyzing embedded syndicate info...","STATUS CONFIRMED","Contacting Syndicate database...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Response received, ack 4851234...","CONFIRM ACC "+Math.round(Math.random()*2e4),"Setting up private accounts...","CONTRACTOR ACCOUNT CREATED","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","CONTRACTS FOUND","WELCOME, AGENT"],u=r.Contractor=function(){function C(v,p){var N=(0,t.useBackend)(p),V=N.act,y=N.data,B;y.unauthorized?B=(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",backgroundColor:"rgba(0, 0, 0, 0.8)",children:(0,e.createComponentVNode)(2,i,{height:"100%",allMessages:["ERROR: UNAUTHORIZED USER"],finishedTimeout:100,onFinished:function(){function T(){}return T}()})}):y.load_animation_completed?B=(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",children:(0,e.createComponentVNode)(2,c)}),(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",mt:"0.5rem",children:(0,e.createComponentVNode)(2,m)}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",overflow:"hidden",children:y.page===1?(0,e.createComponentVNode)(2,l,{height:"100%"}):(0,e.createComponentVNode)(2,s,{height:"100%"})})],4):B=(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",backgroundColor:"rgba(0, 0, 0, 0.8)",children:(0,e.createComponentVNode)(2,i,{height:"100%",allMessages:g,finishedTimeout:3e3,onFinished:function(){function T(){return V("complete_load_animation")}return T}()})});var L=(0,t.useLocalState)(p,"viewingPhoto",""),w=L[0],x=L[1];return(0,e.createComponentVNode)(2,b.Window,{theme:"syndicate",width:500,height:600,children:[w&&(0,e.createComponentVNode)(2,h),(0,e.createComponentVNode)(2,b.Window.Content,{className:"Contractor",children:(0,e.createComponentVNode)(2,o.Flex,{direction:"column",height:"100%",children:B})})]})}return C}(),c=function(v,p){var N=(0,t.useBackend)(p),V=N.act,y=N.data,B=y.tc_available,L=y.tc_paid_out,w=y.completed_contracts,x=y.rep;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Summary",buttons:(0,e.createComponentVNode)(2,o.Box,{verticalAlign:"middle",mt:"0.25rem",children:[x," Rep"]})},v,{children:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Box,{flexBasis:"50%",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"TC Available",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,o.Flex,{align:"center",children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",children:[B," TC"]}),(0,e.createComponentVNode)(2,o.Button,{disabled:B<=0,content:"Claim",mx:"0.75rem",mb:"0",flexBasis:"content",onClick:function(){function T(){return V("claim")}return T}()})]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"TC Earned",children:[L," TC"]})]})}),(0,e.createComponentVNode)(2,o.Box,{flexBasis:"50%",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Contracts Completed",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,o.Box,{height:"20px",lineHeight:"20px",inline:!0,children:w})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Contractor Status",verticalAlign:"middle",children:"ACTIVE"})]})})]})})))},m=function(v,p){var N=(0,t.useBackend)(p),V=N.act,y=N.data,B=y.page;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Tabs,Object.assign({},v,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:B===1,onClick:function(){function L(){return V("page",{page:1})}return L}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"suitcase"}),"Contracts"]}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:B===2,onClick:function(){function L(){return V("page",{page:2})}return L}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"shopping-cart"}),"Hub"]})]})))},l=function(v,p){var N=(0,t.useBackend)(p),V=N.act,y=N.data,B=y.contracts,L=y.contract_active,w=y.can_extract,x=!!L&&B.filter(function(E){return E.status===1})[0],T=x&&x.time_left>0,M=(0,t.useLocalState)(p,"viewingPhoto",""),O=M[0],D=M[1];return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Available Contracts",overflow:"auto",buttons:(0,e.createComponentVNode)(2,o.Button,{disabled:!w||T,icon:"parachute-box",content:["Call Extraction",T&&(0,e.createComponentVNode)(2,f.Countdown,{timeLeft:x.time_left,format:function(){function E(P,R){return" ("+R.substr(3)+")"}return E}()})],onClick:function(){function E(){return V("extract")}return E}()})},v,{children:B.slice().sort(function(E,P){return E.status===1?-1:P.status===1?1:E.status-P.status}).map(function(E){var P;return(0,e.createComponentVNode)(2,o.Section,{title:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",color:E.status===1&&"good",children:E.target_name}),(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",children:E.has_photo&&(0,e.createComponentVNode)(2,o.Button,{icon:"camera",mb:"-0.5rem",ml:"0.5rem",onClick:function(){function R(){return D("target_photo_"+E.uid+".png")}return R}()})})]}),className:"Contractor__Contract",buttons:(0,e.createComponentVNode)(2,o.Box,{width:"100%",children:[!!k[E.status]&&(0,e.createComponentVNode)(2,o.Box,{color:k[E.status][1],inline:!0,mt:E.status!==1&&"0.125rem",mr:"0.25rem",lineHeight:"20px",children:k[E.status][0]}),E.status===1&&(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"ban",color:"bad",content:"Abort",ml:"0.5rem",onClick:function(){function R(){return V("abort")}return R}()})]}),children:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"2",mr:"0.5rem",children:[E.fluff_message,!!E.completed_time&&(0,e.createComponentVNode)(2,o.Box,{color:"good",children:[(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Icon,{name:"check",mr:"0.5rem"}),"Contract completed at ",E.completed_time]}),!!E.dead_extraction&&(0,e.createComponentVNode)(2,o.Box,{color:"bad",mt:"0.5rem",bold:!0,children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle",mr:"0.5rem"}),"Telecrystals reward reduced drastically as the target was dead during extraction."]}),!!E.fail_reason&&(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:[(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Icon,{name:"times",mr:"0.5rem"}),"Contract failed: ",E.fail_reason]})]}),(0,e.createComponentVNode)(2,o.Flex.Item,{flexBasis:"100%",children:[(0,e.createComponentVNode)(2,o.Flex,{mb:"0.5rem",color:"label",children:["Extraction Zone:\xA0",d(E)]}),(P=E.difficulties)==null?void 0:P.map(function(R,j){return(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:!!L,content:R.name+" ("+R.reward+" TC)",onClick:function(){function F(){return V("activate",{uid:E.uid,difficulty:j+1})}return F}()},j)}),!!E.objective&&(0,e.createComponentVNode)(2,o.Box,{color:"white",bold:!0,children:[E.objective.extraction_name,(0,e.createVNode)(1,"br"),"(",(E.objective.rewards.tc||0)+" TC",",\xA0",(E.objective.rewards.credits||0)+" Credits",")"]})]})]})},E.uid)})})))},d=function(v){if(!(!v.objective||v.status>1)){var p=v.objective.locs.user_area_id,N=v.objective.locs.user_coords,V=v.objective.locs.target_area_id,y=v.objective.locs.target_coords,B=p===V;return(0,e.createComponentVNode)(2,o.Flex.Item,{children:(0,e.createComponentVNode)(2,o.Icon,{name:B?"dot-circle-o":"arrow-alt-circle-right-o",color:B?"green":"yellow",rotation:B?null:-(0,a.rad2deg)(Math.atan2(y[1]-N[1],y[0]-N[0])),lineHeight:B?null:"0.85",size:"1.5"})})}},s=function(v,p){var N=(0,t.useBackend)(p),V=N.act,y=N.data,B=y.rep,L=y.buyables;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Available Purchases",overflow:"auto"},v,{children:L.map(function(w){return(0,e.createComponentVNode)(2,o.Section,{title:w.name,children:[w.description,(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:B-1&&(0,e.createComponentVNode)(2,o.Box,{as:"span",color:w.stock===0?"bad":"good",ml:"0.5rem",children:[w.stock," in stock"]})]},w.uid)})})))},i=function(C){function v(N){var V;return V=C.call(this,N)||this,V.timer=null,V.state={currentIndex:0,currentDisplay:[]},V}S(v,C);var p=v.prototype;return p.tick=function(){function N(){var V=this.props,y=this.state;if(y.currentIndex<=V.allMessages.length){this.setState(function(L){return{currentIndex:L.currentIndex+1}});var B=y.currentDisplay;B.push(V.allMessages[y.currentIndex])}else clearTimeout(this.timer),setTimeout(V.onFinished,V.finishedTimeout)}return N}(),p.componentDidMount=function(){function N(){var V=this,y=this.props.linesPerSecond,B=y===void 0?2.5:y;this.timer=setInterval(function(){return V.tick()},1e3/B)}return N}(),p.componentWillUnmount=function(){function N(){clearTimeout(this.timer)}return N}(),p.render=function(){function N(){return(0,e.createComponentVNode)(2,o.Box,{m:1,children:this.state.currentDisplay.map(function(V){return(0,e.createFragment)([V,(0,e.createVNode)(1,"br")],0,V)})})}return N}(),v}(e.Component),h=function(v,p){var N=(0,t.useLocalState)(p,"viewingPhoto",""),V=N[0],y=N[1];return(0,e.createComponentVNode)(2,o.Modal,{className:"Contractor__photoZoom",children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",src:V}),(0,e.createComponentVNode)(2,o.Button,{icon:"times",content:"Close",color:"grey",mt:"1rem",onClick:function(){function B(){return y("")}return B}()})]})}},54151:function(A,r,n){"use strict";r.__esModule=!0,r.ConveyorSwitch=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ConveyorSwitch=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.slowFactor,m=u.oneWay,l=u.position;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:135,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lever position",children:l>0?"forward":l<0?"reverse":"neutral"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Allow reverse",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!m,onClick:function(){function d(){return g("toggleOneWay")}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Slowdown factor",children:(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-left",onClick:function(){function d(){return g("slowFactor",{value:c-5})}return d}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-left",onClick:function(){function d(){return g("slowFactor",{value:c-1})}return d}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Slider,{width:"100px",mx:"1px",value:c,fillValue:c,minValue:1,maxValue:50,step:1,format:function(){function d(s){return s+"x"}return d}(),onChange:function(){function d(s,i){return g("slowFactor",{value:i})}return d}()})}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-right",onClick:function(){function d(){return g("slowFactor",{value:c+1})}return d}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-right",onClick:function(){function d(){return g("slowFactor",{value:c+5})}return d}()})," "]})]})})]})})})})}return b}()},73169:function(A,r,n){"use strict";r.__esModule=!0,r.CrewMonitor=void 0;var e=n(89005),a=n(88510),t=n(25328),o=n(72253),f=n(36036),b=n(36352),S=n(76910),I=n(98595),k=n(96184),g=["color"];function u(h,C){if(h==null)return{};var v={};for(var p in h)if({}.hasOwnProperty.call(h,p)){if(C.includes(p))continue;v[p]=h[p]}return v}var c=function(C,v){return C.dead?"Deceased":parseInt(C.health,10)<=v?"Critical":parseInt(C.stat,10)===1?"Unconscious":"Living"},m=function(C,v){return C.dead?"red":parseInt(C.health,10)<=v?"orange":parseInt(C.stat,10)===1?"blue":"green"},l=r.CrewMonitor=function(){function h(C,v){var p=(0,o.useBackend)(v),N=p.act,V=p.data,y=(0,o.useLocalState)(v,"tabIndex",V.tabIndex),B=y[0],L=y[1],w=function(){function T(M){L(M),N("set_tab_index",{tab_index:M})}return T}(),x=function(){function T(M){switch(M){case 0:return(0,e.createComponentVNode)(2,d);case 1:return(0,e.createComponentVNode)(2,i);default:return"WE SHOULDN'T BE HERE!"}}return T}();return(0,e.createComponentVNode)(2,I.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Tabs,{children:[(0,e.createComponentVNode)(2,f.Tabs.Tab,{icon:"table",selected:B===0,onClick:function(){function T(){return w(0)}return T}(),children:"Data View"},"DataView"),(0,e.createComponentVNode)(2,f.Tabs.Tab,{icon:"map-marked-alt",selected:B===1,onClick:function(){function T(){return w(1)}return T}(),children:"Map View"},"MapView")]})}),x(B)]})})})}return h}(),d=function(C,v){var p=(0,o.useBackend)(v),N=p.act,V=p.data,y=V.possible_levels,B=V.viewing_current_z_level,L=V.is_advanced,w=V.highlightedNames,x=(0,a.sortBy)(function(E){return!w.includes(E.name)},function(E){return E.name})(V.crewmembers||[]),T=(0,o.useLocalState)(v,"search",""),M=T[0],O=T[1],D=(0,t.createSearch)(M,function(E){return E.name+"|"+E.assignment+"|"+E.area});return(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,backgroundColor:"transparent",children:[(0,e.createComponentVNode)(2,f.Stack,{children:[(0,e.createComponentVNode)(2,f.Stack.Item,{width:"100%",ml:"5px",children:(0,e.createComponentVNode)(2,f.Input,{placeholder:"Search by name, assignment or location..",width:"100%",onInput:function(){function E(P,R){return O(R)}return E}()})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:L?(0,e.createComponentVNode)(2,f.Dropdown,{mr:"5px",width:"50px",options:y,selected:B,onSelected:function(){function E(P){return N("switch_level",{new_level:P})}return E}()}):null})]}),(0,e.createComponentVNode)(2,f.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,f.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:(0,e.createComponentVNode)(2,f.Button,{tooltip:"Clear highlights",icon:"square-xmark",onClick:function(){function E(){return N("clear_highlighted_names")}return E}()})}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Location"})]}),x.filter(D).map(function(E,P){var R=w.includes(E.name);return(0,e.createComponentVNode)(2,f.Table.Row,{bold:!!E.is_command,children:[(0,e.createComponentVNode)(2,b.TableCell,{children:(0,e.createComponentVNode)(2,k.ButtonCheckbox,{checked:R,tooltip:"Mark on map",onClick:function(){function j(){return N(R?"remove_highlighted_name":"add_highlighted_name",{name:E.name})}return j}()})}),(0,e.createComponentVNode)(2,b.TableCell,{children:[E.name," (",E.assignment,")"]}),(0,e.createComponentVNode)(2,b.TableCell,{children:[(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:m(E,V.critThreshold),children:c(E,V.critThreshold)}),E.sensor_type>=2||V.ignoreSensors?(0,e.createComponentVNode)(2,f.Box,{inline:!0,ml:1,children:["(",(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:S.COLORS.damageType.oxy,children:E.oxy}),"|",(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:S.COLORS.damageType.toxin,children:E.tox}),"|",(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:S.COLORS.damageType.burn,children:E.fire}),"|",(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:S.COLORS.damageType.brute,children:E.brute}),")"]}):null]}),(0,e.createComponentVNode)(2,b.TableCell,{children:E.sensor_type===3||V.ignoreSensors?V.isAI||V.isObserver?(0,e.createComponentVNode)(2,f.Button,{fluid:!0,icon:"location-arrow",content:E.area+" ("+E.x+", "+E.y+")",onClick:function(){function j(){return N("track",{track:E.ref})}return j}()}):E.area+" ("+E.x+", "+E.y+")":(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:"grey",children:"Not Available"})})]},P)})]})]})},s=function(C,v){var p=C.color,N=u(C,g);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,f.NanoMap.Marker,Object.assign({},N,{children:(0,e.createVNode)(1,"span","highlighted-marker color-border-"+p)})))},i=function(C,v){var p=(0,o.useBackend)(v),N=p.act,V=p.data,y=V.highlightedNames;return(0,e.createComponentVNode)(2,f.Box,{height:"100vh",mb:"0.5rem",overflow:"hidden",children:(0,e.createComponentVNode)(2,f.NanoMap,{zoom:V.zoom,offsetX:V.offsetX,offsetY:V.offsetY,onZoom:function(){function B(L){return N("set_zoom",{zoom:L})}return B}(),onOffsetChange:function(){function B(L,w){return N("set_offset",{offset_x:w.offsetX,offset_y:w.offsetY})}return B}(),children:V.crewmembers.filter(function(B){return B.sensor_type===3||V.ignoreSensors}).map(function(B){var L=m(B,V.critThreshold),w=y.includes(B.name),x=function(){return V.isObserver?N("track",{track:B.ref}):null},T=function(){return N(w?"remove_highlighted_name":"add_highlighted_name",{name:B.name})},M=B.name+" ("+B.assignment+")";return w?(0,e.createComponentVNode)(2,s,{x:B.x,y:B.y,tooltip:M,color:L,onClick:x,onDblClick:T},B.ref):(0,e.createComponentVNode)(2,f.NanoMap.MarkerIcon,{x:B.x,y:B.y,icon:"circle",tooltip:M,color:L,onClick:x,onDblClick:T},B.ref)})})})}},63987:function(A,r,n){"use strict";r.__esModule=!0,r.Cryo=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=[{label:"Resp.",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"}],b=[["good","Conscious"],["average","Unconscious"],["bad","DEAD"]],S=r.Cryo=function(){function g(u,c){return(0,e.createComponentVNode)(2,o.Window,{width:520,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,I)})})})}return g}(),I=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.isOperating,i=d.hasOccupant,h=d.occupant,C=h===void 0?[]:h,v=d.cellTemperature,p=d.cellTemperatureStatus,N=d.isBeakerLoaded,V=d.cooldownProgress,y=d.auto_eject_healthy,B=d.auto_eject_dead;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Occupant",fill:!0,scrollable:!0,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"user-slash",onClick:function(){function L(){return l("ejectOccupant")}return L}(),disabled:!i,children:"Eject"}),children:i?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Occupant",children:C.name||"Unknown"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:C.health,max:C.maxHealth,value:C.health/C.maxHealth,color:C.health>0?"good":"average",children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:Math.round(C.health)})})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:b[C.stat][0],children:b[C.stat][1]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:Math.round(C.bodyTemperature)})," K"]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),f.map(function(L){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:L.label,children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:C[L.type]/100,ranges:{bad:[.01,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:Math.round(C[L.type])})})},L.id)})]}):(0,e.createComponentVNode)(2,t.Stack,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant detected."]})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Cell",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",onClick:function(){function L(){return l("ejectBeaker")}return L}(),disabled:!N,children:"Eject Beaker"}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",onClick:function(){function L(){return l(s?"switchOff":"switchOn")}return L}(),selected:s,children:s?"On":"Off"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",color:p,children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:v})," K"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Beaker",children:(0,e.createComponentVNode)(2,k)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Dosage interval",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{average:[-1/0,99],good:[99,1/0]},color:!N&&"average",value:V,minValue:0,maxValue:100})}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto-eject healthy occupants",children:(0,e.createComponentVNode)(2,t.Button,{icon:y?"toggle-on":"toggle-off",selected:y,onClick:function(){function L(){return l(y?"auto_eject_healthy_off":"auto_eject_healthy_on")}return L}(),children:y?"On":"Off"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto-eject dead occupants",children:(0,e.createComponentVNode)(2,t.Button,{icon:B?"toggle-on":"toggle-off",selected:B,onClick:function(){function L(){return l(B?"auto_eject_dead_off":"auto_eject_dead_on")}return L}(),children:B?"On":"Off"})})]})})})],4)},k=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.isBeakerLoaded,i=d.beakerLabel,h=d.beakerVolume;return s?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:!i&&"average",children:[i||"No label",":"]}),(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:!h&&"bad",ml:1,children:h?(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:h,format:function(){function C(v){return Math.round(v)+" units remaining"}return C}()}):"Beaker is empty"})],4):(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"bad",children:"No beaker loaded"})}},86099:function(A,r,n){"use strict";r.__esModule=!0,r.CryopodConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(25328),b=r.CryopodConsole=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.data,l=m.account_name,d=m.allow_items;return(0,e.createComponentVNode)(2,o.Window,{title:"Cryopod Console",width:400,height:480,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Hello, "+(l||"[REDACTED]")+"!",children:"This automated cryogenic freezing unit will safely store your corporeal form until your next assignment."}),(0,e.createComponentVNode)(2,S),!!d&&(0,e.createComponentVNode)(2,I)]})})}return k}(),S=function(g,u){var c=(0,a.useBackend)(u),m=c.data,l=m.frozen_crew;return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Stored Crew",children:l.length?(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:l.map(function(d,s){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:d.name,children:d.rank},s)})})}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No stored crew!"})})},I=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.frozen_items,s=function(h){var C=h.toString();return C.startsWith("the ")&&(C=C.slice(4,C.length)),(0,f.toTitleCase)(C)};return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Stored Items",children:d.length?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:d.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:s(i.name),buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",content:"Drop",mr:1,onClick:function(){function h(){return m("one_item",{item:i.uid})}return h}()})},i)})})}),(0,e.createComponentVNode)(2,t.Button,{content:"Drop All Items",color:"red",onClick:function(){function i(){return m("all_items")}return i}()})],4):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No stored items!"})})}},12692:function(A,r,n){"use strict";r.__esModule=!0,r.DNAModifier=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=[["good","Alive"],["average","Critical"],["bad","DEAD"]],S=[["ui","Modify U.I.","dna"],["se","Modify S.E.","dna"],["buffer","Transfer Buffers","syringe"],["rejuvenators","Rejuvenators","flask"]],I=[5,10,20,30,50],k=r.DNAModifier=function(){function p(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.irradiating,x=L.dnaBlockSize,T=L.occupant;V.dnaBlockSize=x,V.isDNAInvalid=!T.isViableSubject||!T.uniqueIdentity||!T.structuralEnzymes;var M;return w&&(M=(0,e.createComponentVNode)(2,C,{duration:w})),(0,e.createComponentVNode)(2,o.Window,{width:660,height:775,children:[(0,e.createComponentVNode)(2,f.ComplexModal),M,(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,g)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,u)})]})})]})}return p}(),g=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.locked,x=L.hasOccupant,T=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{color:"label",inline:!0,mr:"0.5rem",children:"Door Lock:"}),(0,e.createComponentVNode)(2,t.Button,{disabled:!x,selected:w,icon:w?"toggle-on":"toggle-off",content:w?"Engaged":"Disengaged",onClick:function(){function M(){return B("toggleLock")}return M}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!x||w,icon:"user-slash",content:"Eject",onClick:function(){function M(){return B("ejectOccupant")}return M}()})],4),children:x?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:T.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:T.minHealth,max:T.maxHealth,value:T.health/T.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:b[T.stat][0],children:b[T.stat][1]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider)]})}),V.isDNAInvalid?(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-circle"}),"\xA0 The occupant's DNA structure is ruined beyond recognition, please insert a subject with an intact DNA structure."]}):(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Radiation",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:"0",max:"100",value:T.radiationLevel/100,color:"average"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Unique Enzymes",children:L.occupant.uniqueEnzymes?L.occupant.uniqueEnzymes:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-circle"}),"\xA0 Unknown"]})})]})],0):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"Cell unoccupied."})})},u=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.selectedMenuKey,x=L.hasOccupant,T=L.occupant;if(x){if(V.isDNAInvalid)return(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No operation possible on this subject."]})})})}else return(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant in DNA modifier."]})})});var M;return w==="ui"?M=(0,e.createFragment)([(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,l)],4):w==="se"?M=(0,e.createFragment)([(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,l)],4):w==="buffer"?M=(0,e.createComponentVNode)(2,d):w==="rejuvenators"&&(M=(0,e.createComponentVNode)(2,h)),(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:S.map(function(O,D){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:O[2],selected:w===O[0],onClick:function(){function E(){return B("selectMenuKey",{key:O[0]})}return E}(),children:O[1]},D)})}),M]})},c=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.selectedUIBlock,x=L.selectedUISubBlock,T=L.selectedUITarget,M=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Modify Unique Identifier",children:[(0,e.createComponentVNode)(2,v,{dnaString:M.uniqueIdentity,selectedBlock:w,selectedSubblock:x,blockSize:V.dnaBlockSize,action:"selectUIBlock"}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:15,stepPixelSize:"20",value:T,format:function(){function O(D){return D.toString(16).toUpperCase()}return O}(),ml:"0",onChange:function(){function O(D,E){return B("changeUITarget",{value:E})}return O}()})})}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Irradiate Block",mt:"0.5rem",onClick:function(){function O(){return B("pulseUIRadiation")}return O}()})]})},m=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.selectedSEBlock,x=L.selectedSESubBlock,T=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Modify Structural Enzymes",children:[(0,e.createComponentVNode)(2,v,{dnaString:T.structuralEnzymes,selectedBlock:w,selectedSubblock:x,blockSize:V.dnaBlockSize,action:"selectSEBlock"}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Irradiate Block",onClick:function(){function M(){return B("pulseSERadiation")}return M}()})]})},l=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.radiationIntensity,x=L.radiationDuration;return(0,e.createComponentVNode)(2,t.Section,{title:"Radiation Emitter",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Intensity",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:10,stepPixelSize:20,value:w,popUpPosition:"right",ml:"0",onChange:function(){function T(M,O){return B("radiationIntensity",{value:O})}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Duration",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:20,stepPixelSize:10,unit:"s",value:x,popUpPosition:"right",ml:"0",onChange:function(){function T(M,O){return B("radiationDuration",{value:O})}return T}()})})]}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Pulse Radiation",tooltip:"Mutates a random block of either the occupant's UI or SE.",tooltipPosition:"top-start",mt:"0.5rem",onClick:function(){function T(){return B("pulseRadiation")}return T}()})]})},d=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.buffers,x=w.map(function(T,M){return(0,e.createComponentVNode)(2,s,{id:M+1,name:"Buffer "+(M+1),buffer:T},M)});return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{height:"75%",mt:1,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Buffers",children:x})}),(0,e.createComponentVNode)(2,t.Stack.Item,{height:"25%",children:(0,e.createComponentVNode)(2,i)})]})},s=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=N.id,x=N.name,T=N.buffer,M=L.isInjectorReady,O=x+(T.data?" - "+T.label:"");return(0,e.createComponentVNode)(2,t.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,e.createComponentVNode)(2,t.Section,{title:O,mx:"0",lineHeight:"18px",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Confirm,{disabled:!T.data,icon:"trash",content:"Clear",onClick:function(){function D(){return B("bufferOption",{option:"clear",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!T.data,icon:"pen",content:"Rename",onClick:function(){function D(){return B("bufferOption",{option:"changeLabel",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!T.data||!L.hasDisk,icon:"save",content:"Export",tooltip:"Exports this buffer to the currently loaded data disk.",tooltipPosition:"bottom-start",onClick:function(){function D(){return B("bufferOption",{option:"saveDisk",id:w})}return D}()})],4),children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Write",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject U.I",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"saveUI",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject U.I and U.E.",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"saveUIAndUE",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject S.E.",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"saveSE",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!L.hasDisk||!L.disk.data,icon:"arrow-circle-down",content:"From Disk",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"loadDisk",id:w})}return D}()})]}),!!T.data&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subject",children:T.owner||(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Unknown"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Data Type",children:[T.type==="ui"?"Unique Identifiers":"Structural Enzymes",!!T.ue&&" and Unique Enzymes"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transfer to",children:[(0,e.createComponentVNode)(2,t.Button,{disabled:!M,icon:M?"syringe":"spinner",iconSpin:!M,content:"Injector",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"createInjector",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!M,icon:M?"syringe":"spinner",iconSpin:!M,content:"Block Injector",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"createInjector",id:w,block:1})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"user",content:"Subject",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"transfer",id:w})}return D}()})]})],4)]}),!T.data&&(0,e.createComponentVNode)(2,t.Box,{color:"label",mt:"0.5rem",children:"This buffer is empty."})]})})},i=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.hasDisk,x=L.disk;return(0,e.createComponentVNode)(2,t.Section,{title:"Data Disk",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Confirm,{disabled:!w||!x.data,icon:"trash",content:"Wipe",onClick:function(){function T(){return B("wipeDisk")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!w,icon:"eject",content:"Eject",onClick:function(){function T(){return B("ejectDisk")}return T}()})],4),children:w?x.data?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Label",children:x.label?x.label:"No label"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subject",children:x.owner?x.owner:(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Unknown"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Data Type",children:[x.type==="ui"?"Unique Identifiers":"Structural Enzymes",!!x.ue&&" and Unique Enzymes"]})]}):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"Disk is blank."}):(0,e.createComponentVNode)(2,t.Box,{color:"label",textAlign:"center",my:"1rem",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"save-o",size:"4"}),(0,e.createVNode)(1,"br"),"No disk inserted."]})})},h=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.isBeakerLoaded,x=L.beakerVolume,T=L.beakerLabel;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Rejuvenators and Beaker",buttons:(0,e.createComponentVNode)(2,t.Button,{disabled:!w,icon:"eject",content:"Eject",onClick:function(){function M(){return B("ejectBeaker")}return M}()}),children:w?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Inject",children:[I.map(function(M,O){return(0,e.createComponentVNode)(2,t.Button,{disabled:M>x,icon:"syringe",content:M,onClick:function(){function D(){return B("injectRejuvenators",{amount:M})}return D}()},O)}),(0,e.createComponentVNode)(2,t.Button,{disabled:x<=0,icon:"syringe",content:"All",onClick:function(){function M(){return B("injectRejuvenators",{amount:x})}return M}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Beaker",children:[(0,e.createComponentVNode)(2,t.Box,{mb:"0.5rem",children:T||"No label"}),x?(0,e.createComponentVNode)(2,t.Box,{color:"good",children:[x," unit",x===1?"":"s"," remaining"]}):(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Empty"})]})]}):(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"flask",size:5,color:"silver"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"h3",null,"No beaker loaded.",16)]})})})},C=function(N,V){return(0,e.createComponentVNode)(2,t.Dimmer,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"spinner",size:"5",spin:!0}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Box,{color:"average",children:(0,e.createVNode)(1,"h1",null,[(0,e.createComponentVNode)(2,t.Icon,{name:"radiation"}),(0,e.createTextVNode)("\xA0Irradiating occupant\xA0"),(0,e.createComponentVNode)(2,t.Icon,{name:"radiation"})],4)}),(0,e.createComponentVNode)(2,t.Box,{color:"label",children:(0,e.createVNode)(1,"h3",null,[(0,e.createTextVNode)("For "),N.duration,(0,e.createTextVNode)(" second"),N.duration===1?"":"s"],0)})]})},v=function(N,V){for(var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=N.dnaString,x=N.selectedBlock,T=N.selectedSubblock,M=N.blockSize,O=N.action,D=w.split(""),E=0,P=[],R=function(){for(var W=j/M+1,z=[],K=function(){var Q=G+1;z.push((0,e.createComponentVNode)(2,t.Button,{selected:x===W&&T===Q,content:D[j+G],mb:"0",onClick:function(){function ue(){return B(O,{block:W,subblock:Q})}return ue}()}))},G=0;Gi.spawnpoints?"red":"green",children:[i.total," total, versus ",i.spawnpoints," spawnpoints"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Dispatch",children:(0,e.createComponentVNode)(2,t.Button,{width:10.5,textAlign:"center",icon:"ambulance",content:"Send ERT",onClick:function(){function N(){return s("dispatch_ert",{silent:v})}return N}()})})]})})})},g=function(m,l){var d=(0,a.useBackend)(l),s=d.act,i=d.data,h=i.ert_request_messages;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:h&&h.length?h.map(function(C){return(0,e.createComponentVNode)(2,t.Section,{title:C.time,buttons:(0,e.createComponentVNode)(2,t.Button,{content:C.sender_real_name,onClick:function(){function v(){return s("view_player_panel",{uid:C.sender_uid})}return v}(),tooltip:"View player panel"}),children:C.message},(0,f.decodeHtmlEntities)(C.time))}):(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"broadcast-tower",size:5,color:"gray"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"No ERT requests."]})})})})},u=function(m,l){var d=(0,a.useBackend)(l),s=d.act,i=d.data,h=(0,a.useLocalState)(l,"text",""),C=h[0],v=h[1];return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Input,{placeholder:"Enter ERT denial reason here,\nMultiline input is accepted.",rows:19,fluid:!0,multiline:1,value:C,onChange:function(){function p(N,V){return v(V)}return p}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{content:"Deny ERT",fluid:!0,icon:"times",center:!0,mt:2,textAlign:"center",onClick:function(){function p(){return s("deny_ert",{reason:C})}return p}()})]})})}},90217:function(A,r,n){"use strict";r.__esModule=!0,r.EconomyManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=r.EconomyManager=function(){function I(k,g){return(0,e.createComponentVNode)(2,o.Window,{width:600,height:325,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,className:"Layout__content--flexColumn",children:(0,e.createComponentVNode)(2,S)})]})}return I}(),S=function(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.next_payroll_time;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.4rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"coins",verticalAlign:"middle",size:3,mr:"1rem"}),"Economy Manager"]}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.LabeledList,{label:"Pay Bonuses and Deductions",children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Global",children:(0,e.createComponentVNode)(2,t.Button,{icon:"dollar-sign",width:"auto",content:"Global Payroll Modification",onClick:function(){function d(){return c("payroll_modification",{mod_type:"global"})}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Department Accounts",children:(0,e.createComponentVNode)(2,t.Button,{icon:"dollar-sign",width:"auto",content:"Department Account Payroll Modification",onClick:function(){function d(){return c("payroll_modification",{mod_type:"department"})}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Department Members",children:(0,e.createComponentVNode)(2,t.Button,{icon:"dollar-sign",width:"auto",content:"Department Members Payroll Modification",onClick:function(){function d(){return c("payroll_modification",{mod_type:"department_members"})}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Single Accounts",children:(0,e.createComponentVNode)(2,t.Button,{icon:"dollar-sign",width:"auto",content:"Crew Member Payroll Modification",onClick:function(){function d(){return c("payroll_modification",{mod_type:"crew_member"})}return d}()})})]}),(0,e.createVNode)(1,"hr"),(0,e.createComponentVNode)(2,t.Box,{mb:.5,children:["Next Payroll in: ",l," Minutes"]}),(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-left",width:"auto",color:"bad",content:"Delay Payroll",onClick:function(){function d(){return c("delay_payroll")}return d}()}),(0,e.createComponentVNode)(2,t.Button,{width:"auto",content:"Set Payroll Time",onClick:function(){function d(){return c("set_payroll")}return d}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-right",width:"auto",color:"good",content:"Accelerate Payroll",onClick:function(){function d(){return c("accelerate_payroll")}return d}()})]}),(0,e.createComponentVNode)(2,t.NoticeBox,{children:[(0,e.createVNode)(1,"b",null,"WARNING:",16)," You take full responsibility for unbalancing the economy with these buttons!"]})],4)}},82565:function(A,r,n){"use strict";r.__esModule=!0,r.Electropack=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=r.Electropack=function(){function S(I,k){var g=(0,t.useBackend)(k),u=g.act,c=g.data,m=c.power,l=c.code,d=c.frequency,s=c.minFrequency,i=c.maxFrequency;return(0,e.createComponentVNode)(2,f.Window,{width:360,height:135,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,o.Button,{icon:m?"power-off":"times",content:m?"On":"Off",selected:m,onClick:function(){function h(){return u("power")}return h}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Reset",onClick:function(){function h(){return u("reset",{reset:"freq"})}return h}()}),children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:s/10,maxValue:i/10,value:d/10,format:function(){function h(C){return(0,a.toFixed)(C,1)}return h}(),width:"80px",onChange:function(){function h(C,v){return u("freq",{freq:v})}return h}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Code",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Reset",onClick:function(){function h(){return u("reset",{reset:"code"})}return h}()}),children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:"80px",onChange:function(){function h(C,v){return u("code",{code:v})}return h}()})})]})})})})}return S}()},11243:function(A,r,n){"use strict";r.__esModule=!0,r.Emojipedia=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(98595),b=r.Emojipedia=function(){function I(k,g){var u=(0,t.useBackend)(g),c=u.data,m=c.emoji_list,l=(0,t.useLocalState)(g,"searchText",""),d=l[0],s=l[1],i=m.filter(function(h){return h.name.toLowerCase().includes(d.toLowerCase())});return(0,e.createComponentVNode)(2,f.Window,{width:325,height:400,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Emojipedia v1.0.1",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by name",value:d,onInput:function(){function h(C,v){return s(v)}return h}()}),(0,e.createComponentVNode)(2,o.Button,{tooltip:"Click on an emoji to copy its tag!",tooltipPosition:"bottom",icon:"circle-question"})],4),children:i.map(function(h){return(0,e.createComponentVNode)(2,o.Button,{m:1,color:"transparent",className:(0,a.classes)(["emoji16x16","emoji-"+h.name]),style:{transform:"scale(1.5)"},tooltip:h.name,onClick:function(){function C(){S(h.name)}return C}()},h.name)})})})})}return I}(),S=function(k){var g=document.createElement("input"),u=":"+k+":";g.value=u,document.body.appendChild(g),g.select(),document.execCommand("copy"),document.body.removeChild(g)}},69784:function(A,r,n){"use strict";r.__esModule=!0,r.EmotePanelContent=r.EmotePanel=void 0;var e=n(89005),a=n(72253),t=n(98595),o=n(36036),f=n(25328),b=r.EmotePanel=function(){function I(k,g){return(0,e.createComponentVNode)(2,t.Window,{width:500,height:550,children:(0,e.createComponentVNode)(2,t.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,S)})})})}return I}(),S=r.EmotePanelContent=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.emotes,d=(0,a.useLocalState)(g,"searchText",""),s=d[0],i=d[1],h=(0,a.useLocalState)(g,"filterVisible",""),C=h[0],v=h[1],p=(0,a.useLocalState)(g,"filterAudible",""),N=p[0],V=p[1],y=(0,a.useLocalState)(g,"filterSound",""),B=y[0],L=y[1],w=(0,a.useLocalState)(g,"filterHands",""),x=w[0],T=w[1],M=(0,a.useLocalState)(g,"filterTargettable",""),O=M[0],D=M[1],E=(0,a.useLocalState)(g,"useTarget",""),P=E[0],R=E[1],j=(0,e.createComponentVNode)(2,o.Input,{placeholder:"\u0418\u0441\u043A\u0430\u0442\u044C \u044D\u043C\u043E\u0446\u0438\u044E...",fluid:!0,onInput:function(){function F(W,z){return i(z)}return F}()});return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",buttons:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Button,{icon:"eye",align:"center",tooltip:"\u0412\u0438\u0434\u0438\u043C\u044B\u0439",selected:C,onClick:function(){function F(){return v(!C)}return F}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"comment",align:"center",tooltip:"\u0421\u043B\u044B\u0448\u0438\u043C\u044B\u0439",selected:N,onClick:function(){function F(){return V(!N)}return F}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"volume-up",align:"center",tooltip:"\u0417\u0432\u0443\u043A",selected:B,onClick:function(){function F(){return L(!B)}return F}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"hand-paper",align:"center",tooltip:"\u0420\u0443\u043A\u0438",selected:x,onClick:function(){function F(){return T(!x)}return F}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"crosshairs",height:"100%",align:"center",tooltip:"\u0426\u0435\u043B\u044C",selected:O,onClick:function(){function F(){return D(!O)}return F}()})]}),children:j})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:s.length>0?'\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E\u0438\u0441\u043A\u0430 "'+s+'"':"\u0412\u0441\u0435 \u044D\u043C\u043E\u0446\u0438\u0438",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"crosshairs",selected:P,onClick:function(){function F(){return R(!P)}return F}(),children:"\u0412\u044B\u0431\u0438\u0440\u0430\u0442\u044C \u0446\u0435\u043B\u044C"}),children:(0,e.createComponentVNode)(2,o.Stack,{children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:l.filter(function(F){return F.key&&(s.length>0?F.key.toLowerCase().includes(s.toLowerCase())||F.name.toLowerCase().includes(s.toLowerCase()):!0)&&(C?F.visible:!0)&&(N?F.audible:!0)&&(B?F.sound:!0)&&(x?F.hands:!0)&&(O?F.targettable:!0)}).map(function(F){return(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function W(){return c("play_emote",{emote_key:F.key,useTarget:P})}return W}(),children:[F.visible?(0,e.createComponentVNode)(2,o.Icon,{name:"eye"}):"",F.audible?(0,e.createComponentVNode)(2,o.Icon,{name:"comment"}):"",F.sound?(0,e.createComponentVNode)(2,o.Icon,{name:"volume-up"}):"",F.hands?(0,e.createComponentVNode)(2,o.Icon,{name:"hand-paper"}):"",F.targettable?(0,e.createComponentVNode)(2,o.Icon,{name:"crosshairs"}):"",F.name]},F.name)})})})})})],4)}return I}()},36730:function(A,r,n){"use strict";r.__esModule=!0,r.EvolutionMenu=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=n(64795),S=n(88510),I=r.EvolutionMenu=function(){function u(c,m){return(0,e.createComponentVNode)(2,f.Window,{width:480,height:580,theme:"changeling",children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,g)]})})})}return u}(),k=function(c,m){var l=(0,t.useBackend)(m),d=l.act,s=l.data,i=s.evo_points,h=s.can_respec;return(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"Evolution Points",height:5.5,children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{mt:.5,color:"label",children:"Points remaining:"}),(0,e.createComponentVNode)(2,o.Stack.Item,{mt:.5,ml:2,bold:!0,color:"#1b945c",children:i}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Button,{ml:2.5,disabled:!h,content:"Readapt",icon:"sync",onClick:function(){function C(){return d("readapt")}return C}()}),(0,e.createComponentVNode)(2,o.Button,{tooltip:"By transforming a humanoid into a husk, we gain the ability to readapt our chosen evolutions.",tooltipPosition:"bottom",icon:"question-circle"})]})]})})})},g=function(c,m){var l=(0,t.useBackend)(m),d=l.act,s=l.data,i=s.evo_points,h=s.ability_tabs,C=s.purchased_abilities,v=s.view_mode,p=(0,t.useLocalState)(m,"selectedTab",h[0]),N=p[0],V=p[1],y=(0,t.useLocalState)(m,"searchText",""),B=y[0],L=y[1],w=(0,t.useLocalState)(m,"ability_tabs",h[0].abilities),x=w[0],T=w[1],M=function(P,R){if(R===void 0&&(R=""),!P||P.length===0)return[];var j=(0,a.createSearch)(R,function(F){return F.name+"|"+F.description});return(0,b.flow)([(0,S.filter)(function(F){return F==null?void 0:F.name}),(0,S.filter)(j),(0,S.sortBy)(function(F){return F==null?void 0:F.name})])(P)},O=function(P){if(L(P),P==="")return T(N.abilities);T(M(h.map(function(R){return R.abilities}).flat(),P))},D=function(P){V(P),T(P.abilities),L("")};return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Abilities",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Input,{width:"200px",placeholder:"Search Abilities",onInput:function(){function E(P,R){O(R)}return E}(),value:B}),(0,e.createComponentVNode)(2,o.Button,{icon:v?"square-o":"check-square-o",selected:!v,content:"Compact",onClick:function(){function E(){return d("set_view_mode",{mode:0})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{icon:v?"check-square-o":"square-o",selected:v,content:"Expanded",onClick:function(){function E(){return d("set_view_mode",{mode:1})}return E}()})],4),children:[(0,e.createComponentVNode)(2,o.Tabs,{children:h.map(function(E){return(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:B===""&&N===E,onClick:function(){function P(){D(E)}return P}(),children:E.category},E)})}),x.map(function(E,P){return(0,e.createComponentVNode)(2,o.Box,{p:.5,mx:-1,className:"candystripe",children:[(0,e.createComponentVNode)(2,o.Stack,{align:"center",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{ml:.5,color:"#dedede",children:E.name}),C.includes(E.power_path)&&(0,e.createComponentVNode)(2,o.Stack.Item,{ml:2,bold:!0,color:"#1b945c",children:"(Purchased)"}),(0,e.createComponentVNode)(2,o.Stack.Item,{mr:3,textAlign:"right",grow:1,children:[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:["Cost:"," "]}),(0,e.createComponentVNode)(2,o.Box,{as:"span",bold:!0,color:"#1b945c",children:E.cost})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{textAlign:"right",children:(0,e.createComponentVNode)(2,o.Button,{mr:.5,disabled:E.cost>i||C.includes(E.power_path),content:"Evolve",onClick:function(){function R(){return d("purchase",{power_path:E.power_path})}return R}()})})]}),!!v&&(0,e.createComponentVNode)(2,o.Stack,{color:"#8a8a8a",my:1,ml:1.5,width:"95%",children:E.description+" "+E.helptext})]},P)})]})})}},17370:function(A,r,n){"use strict";r.__esModule=!0,r.ExosuitFabricator=void 0;var e=n(89005),a=n(35840),t=n(25328),o=n(72253),f=n(36036),b=n(73379),S=n(98595),I=["id","amount","lineDisplay","onClick"];function k(p,N){if(p==null)return{};var V={};for(var y in p)if({}.hasOwnProperty.call(p,y)){if(N.includes(y))continue;V[y]=p[y]}return V}var g=2e3,u={bananium:"clown",tranquillite:"mime"},c=r.ExosuitFabricator=function(){function p(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.building,x=L.linked;return x?(0,e.createComponentVNode)(2,S.Window,{width:950,height:625,children:(0,e.createComponentVNode)(2,S.Window.Content,{className:"Exofab",children:[(0,e.createComponentVNode)(2,v),(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,l)}),w&&(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,d)})]})}),(0,e.createComponentVNode)(2,f.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,m)}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,s)})]})})]})]})}):(0,e.createComponentVNode)(2,C)}return p}(),m=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.materials,x=L.capacity,T=Object.values(w).reduce(function(M,O){return M+O},0);return(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,title:"Materials",className:"Exofab__materials",buttons:(0,e.createComponentVNode)(2,f.Box,{color:"label",mt:"0.25rem",children:[(T/x*100).toPrecision(3),"% full"]}),children:["metal","glass","silver","gold","uranium","titanium","plasma","diamond","bluespace","bananium","tranquillite","plastic"].map(function(M){return(0,e.createComponentVNode)(2,i,{mt:-2,id:M,bold:M==="metal"||M==="glass",onClick:function(){function O(){return B("withdraw",{id:M})}return O}()},M)})})},l=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.curCategory,x=L.categories,T=L.designs,M=L.syncing,O=(0,o.useLocalState)(V,"searchText",""),D=O[0],E=O[1],P=(0,t.createSearch)(D,function(z){return z.name}),R=T.filter(P),j=(0,o.useLocalState)(V,"levelsModal",!1),F=j[0],W=j[1];return(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,className:"Exofab__designs",title:(0,e.createComponentVNode)(2,f.Dropdown,{width:"19rem",className:"Exofab__dropdown",selected:w,options:x,onSelected:function(){function z(K){return B("category",{cat:K})}return z}()}),buttons:(0,e.createComponentVNode)(2,f.Box,{mt:"2px",children:[(0,e.createComponentVNode)(2,f.Button,{icon:"plus",content:"Queue all",onClick:function(){function z(){return B("queueall")}return z}()}),(0,e.createComponentVNode)(2,f.Button,{icon:"info",content:"Show current tech levels",onClick:function(){function z(){return W(!0)}return z}()}),(0,e.createComponentVNode)(2,f.Button,{icon:"unlink",color:"red",tooltip:"Disconnect from R&D network",onClick:function(){function z(){return B("unlink")}return z}()})]}),children:[(0,e.createComponentVNode)(2,f.Input,{placeholder:"Search by name...",mb:"0.5rem",width:"100%",onInput:function(){function z(K,G){return E(G)}return z}()}),R.map(function(z){return(0,e.createComponentVNode)(2,h,{design:z},z.id)}),R.length===0&&(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"No designs found."})]})},d=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.building,x=L.buildStart,T=L.buildEnd,M=L.worldTime;return(0,e.createComponentVNode)(2,f.Section,{className:"Exofab__building",stretchContents:!0,children:(0,e.createComponentVNode)(2,f.ProgressBar.Countdown,{start:x,current:M,end:T,children:(0,e.createComponentVNode)(2,f.Stack,{children:[(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Icon,{name:"cog",spin:!0})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:["Building ",w,"\xA0(",(0,e.createComponentVNode)(2,b.Countdown,{current:M,timeLeft:T-M,format:function(){function O(D,E){return E.substr(3)}return O}()}),")"]})]})})})},s=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.queue,x=L.processingQueue,T=Object.entries(L.queueDeficit).filter(function(O){return O[1]<0}),M=w.reduce(function(O,D){return O+D.time},0);return(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,className:"Exofab__queue",title:"Queue",buttons:(0,e.createComponentVNode)(2,f.Box,{children:[(0,e.createComponentVNode)(2,f.Button,{selected:x,icon:x?"toggle-on":"toggle-off",content:"Process",onClick:function(){function O(){return B("process")}return O}()}),(0,e.createComponentVNode)(2,f.Button,{disabled:w.length===0,icon:"eraser",content:"Clear",onClick:function(){function O(){return B("unqueueall")}return O}()})]}),children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:w.length===0?(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"The queue is empty."}):(0,e.createFragment)([(0,e.createComponentVNode)(2,f.Stack.Item,{className:"Exofab__queue--queue",grow:!0,overflow:"auto",children:w.map(function(O,D){return(0,e.createComponentVNode)(2,f.Box,{color:O.notEnough&&"bad",children:[D+1,". ",O.name,D>0&&(0,e.createComponentVNode)(2,f.Button,{icon:"arrow-up",onClick:function(){function E(){return B("queueswap",{from:D+1,to:D})}return E}()}),D0&&(0,e.createComponentVNode)(2,f.Stack.Item,{className:"Exofab__queue--time",children:[(0,e.createComponentVNode)(2,f.Divider),"Processing time:",(0,e.createComponentVNode)(2,f.Icon,{name:"clock",mx:"0.5rem"}),(0,e.createComponentVNode)(2,f.Box,{inline:!0,bold:!0,children:new Date(M/10*1e3).toISOString().substr(14,5)})]}),Object.keys(T).length>0&&(0,e.createComponentVNode)(2,f.Stack.Item,{className:"Exofab__queue--deficit",shrink:"0",children:[(0,e.createComponentVNode)(2,f.Divider),"Lacking materials to complete:",T.map(function(O){return(0,e.createComponentVNode)(2,f.Box,{children:(0,e.createComponentVNode)(2,i,{id:O[0],amount:-O[1],lineDisplay:!0})},O[0])})]})],0)})})},i=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=N.id,x=N.amount,T=N.lineDisplay,M=N.onClick,O=k(N,I),D=L.materials[w]||0,E=x||D;if(!(E<=0&&!(w==="metal"||w==="glass"))){var P=x&&x>D;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,f.Stack,Object.assign({align:"center",className:(0,a.classes)(["Exofab__material",T&&"Exofab__material--line"])},O,{children:T?(0,e.createFragment)([(0,e.createComponentVNode)(2,f.Stack.Item,{className:(0,a.classes)(["materials32x32",w])}),(0,e.createComponentVNode)(2,f.Stack.Item,{className:"Exofab__material--amount",color:P&&"bad",ml:0,mr:1,children:E.toLocaleString("en-US")})],4):(0,e.createFragment)([(0,e.createComponentVNode)(2,f.Stack.Item,{basis:"content",children:(0,e.createComponentVNode)(2,f.Button,{width:"85%",color:"transparent",onClick:M,children:(0,e.createComponentVNode)(2,f.Box,{mt:1,className:(0,a.classes)(["materials32x32",w])})})}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:"1",children:[(0,e.createComponentVNode)(2,f.Box,{className:"Exofab__material--name",children:w}),(0,e.createComponentVNode)(2,f.Box,{className:"Exofab__material--amount",children:[E.toLocaleString("en-US")," cm\xB3 (",Math.round(E/g*10)/10," ","sheets)"]})]})],4)})))}},h=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=N.design;return(0,e.createComponentVNode)(2,f.Box,{className:"Exofab__design",children:[(0,e.createComponentVNode)(2,f.Button,{disabled:w.notEnough||L.building,icon:"cog",content:w.name,onClick:function(){function x(){return B("build",{id:w.id})}return x}()}),(0,e.createComponentVNode)(2,f.Button,{icon:"plus-circle",onClick:function(){function x(){return B("queue",{id:w.id})}return x}()}),(0,e.createComponentVNode)(2,f.Box,{className:"Exofab__design--cost",children:Object.entries(w.cost).map(function(x){return(0,e.createComponentVNode)(2,f.Box,{children:(0,e.createComponentVNode)(2,i,{id:x[0],amount:x[1],lineDisplay:!0})},x[0])})}),(0,e.createComponentVNode)(2,f.Stack,{className:"Exofab__design--time",children:(0,e.createComponentVNode)(2,f.Stack.Item,{children:[(0,e.createComponentVNode)(2,f.Icon,{name:"clock"}),w.time>0?(0,e.createFragment)([w.time/10,(0,e.createTextVNode)(" seconds")],0):"Instant"]})})]})},C=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.controllers;return(0,e.createComponentVNode)(2,S.Window,{children:(0,e.createComponentVNode)(2,S.Window.Content,{children:(0,e.createComponentVNode)(2,f.Section,{title:"Setup Linkage",children:(0,e.createComponentVNode)(2,f.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,f.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Link"})]}),w.map(function(x){return(0,e.createComponentVNode)(2,f.Table.Row,{children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:x.addr}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:x.net_id}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:(0,e.createComponentVNode)(2,f.Button,{content:"Link",icon:"link",onClick:function(){function T(){return B("linktonetworkcontroller",{target_controller:x.addr})}return T}()})})]},x.addr)})]})})})})},v=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.tech_levels,x=(0,o.useLocalState)(V,"levelsModal",!1),T=x[0],M=x[1];return T?(0,e.createComponentVNode)(2,f.Modal,{maxWidth:"75%",width:window.innerWidth+"px",maxHeight:window.innerHeight*.75+"px",mx:"auto",children:(0,e.createComponentVNode)(2,f.Section,{title:"Current tech levels",buttons:(0,e.createComponentVNode)(2,f.Button,{content:"Close",onClick:function(){function O(){M(!1)}return O}()}),children:(0,e.createComponentVNode)(2,f.LabeledList,{children:w.map(function(O){var D=O.name,E=O.level;return(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:D,children:E},D)})})})}):null}},59128:function(A,r,n){"use strict";r.__esModule=!0,r.ExperimentConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=new Map([[0,{text:"Conscious",color:"good"}],[1,{text:"Unconscious",color:"average"}],[2,{text:"Deceased",color:"bad"}]]),b=new Map([[0,{label:"Probe",icon:"thermometer"}],[1,{label:"Dissect",icon:"brain"}],[2,{label:"Analyze",icon:"search"}]]),S=r.ExperimentConsole=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.open,d=m.feedback,s=m.occupant,i=m.occupant_name,h=m.occupant_status,C=function(){function p(){if(!s)return(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No specimen detected."});var N=function(){function y(){return f.get(h)}return y}(),V=N();return(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:i}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:V.color,children:V.text}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Experiments",children:[0,1,2].map(function(y){return(0,e.createComponentVNode)(2,t.Button,{icon:b.get(y).icon,content:b.get(y).label,onClick:function(){function B(){return c("experiment",{experiment_type:y})}return B}()},y)})})]})}return p}(),v=C();return(0,e.createComponentVNode)(2,o.Window,{theme:"abductor",width:350,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:d})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Scanner",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){function p(){return c("door")}return p}()}),children:v})]})})}return I}()},97086:function(A,r,n){"use strict";r.__esModule=!0,r.ExternalAirlockController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=0,b=1013,S=function(g){var u="good",c=80,m=95,l=110,d=120;return gl?u="average":g>d&&(u="bad"),u},I=r.ExternalAirlockController=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.chamber_pressure,s=l.exterior_status,i=l.interior_status,h=l.processing;return(0,e.createComponentVNode)(2,o.Window,{width:330,height:205,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Information",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Chamber Pressure",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:S(d),value:d,minValue:f,maxValue:b,children:[d," kPa"]})})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Actions",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Abort",icon:"ban",color:"red",disabled:!h,onClick:function(){function C(){return m("abort")}return C}()}),children:[(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Cycle to Exterior",icon:"arrow-circle-left",disabled:h,onClick:function(){function C(){return m("cycle_ext")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Cycle to Interior",icon:"arrow-circle-right",disabled:h,onClick:function(){function C(){return m("cycle_int")}return C}()})]}),(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Force Exterior Door",icon:"exclamation-triangle",color:i==="open"?"red":h?"yellow":null,onClick:function(){function C(){return m("force_ext")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Force Interior Door",icon:"exclamation-triangle",color:i==="open"?"red":h?"yellow":null,onClick:function(){function C(){return m("force_int")}return C}()})]})]})]})})}return k}()},96142:function(A,r,n){"use strict";r.__esModule=!0,r.FaxMachine=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.FaxMachine=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data;return(0,e.createComponentVNode)(2,o.Window,{width:540,height:295,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Authorization",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Card",children:(0,e.createComponentVNode)(2,t.Button,{icon:u.scan_name?"eject":"id-card",selected:u.scan_name,content:u.scan_name?u.scan_name:"-----",tooltip:u.scan_name?"Eject ID":"Insert ID",onClick:function(){function c(){return g("scan")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Authorize",children:(0,e.createComponentVNode)(2,t.Button,{icon:u.authenticated?"sign-out-alt":"id-card",selected:u.authenticated,disabled:u.nologin,content:u.realauth?"Log Out":"Log In",onClick:function(){function c(){return g("auth")}return c}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Fax Menu",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network",children:u.network}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Document",children:[(0,e.createComponentVNode)(2,t.Button,{icon:u.paper?"eject":"paperclip",disabled:!u.authenticated&&!u.paper,content:u.paper?u.paper:"-----",onClick:function(){function c(){return g("paper")}return c}()}),!!u.paper&&(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){function c(){return g("rename")}return c}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sending To",children:(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:u.destination?u.destination:"-----",disabled:!u.authenticated,onClick:function(){function c(){return g("dept")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Action",children:(0,e.createComponentVNode)(2,t.Button,{icon:"envelope",content:u.sendError?u.sendError:"Send",disabled:!u.paper||!u.destination||!u.authenticated||u.sendError,onClick:function(){function c(){return g("send")}return c}()})})]})})]})})}return b}()},74123:function(A,r,n){"use strict";r.__esModule=!0,r.FilingCabinet=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.FilingCabinet=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=k.config,m=u.contents,l=c.title;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Contents",children:[!m&&(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"folder-open",size:5,color:"gray"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"The ",l," is empty."]})}),!!m&&m.slice().map(function(d){return(0,e.createComponentVNode)(2,t.Stack,{mt:.5,className:"candystripe",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"80%",children:d.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",content:"Retrieve",onClick:function(){function s(){return g("retrieve",{index:d.index})}return s}()})})]},d)})]})})})})}return b}()},83767:function(A,r,n){"use strict";r.__esModule=!0,r.FloorPainter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=k.icon_state,d=k.direction,s=k.isSelected,i=k.onSelect;return(0,e.createComponentVNode)(2,t.DmIcon,{icon:m.icon,icon_state:l,direction:d,onClick:i,style:{"border-style":s&&"solid"||"none","border-width":"2px","border-color":"orange",padding:s&&"0px"||"2px"}})},b={NORTH:1,SOUTH:2,EAST:4,WEST:8},S=r.FloorPainter=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.availableStyles,d=m.selectedStyle,s=m.selectedDir;return(0,e.createComponentVNode)(2,o.Window,{width:405,height:475,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Decal setup",children:[(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-left",onClick:function(){function i(){return c("cycle_style",{offset:-1})}return i}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Dropdown,{options:l,selected:d,width:"150px",nochevron:!0,onSelected:function(){function i(h){return c("select_style",{style:h})}return i}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",onClick:function(){function i(){return c("cycle_style",{offset:1})}return i}()})})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"5px",mb:"5px",children:(0,e.createComponentVNode)(2,t.Flex,{overflowY:"auto",maxHeight:"239px",wrap:"wrap",children:l.map(function(i){return(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,f,{icon_state:i,isSelected:d===i,onSelect:function(){function h(){return c("select_style",{style:i})}return h}()})},i)})})}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Direction",children:(0,e.createComponentVNode)(2,t.Table,{style:{display:"inline"},children:[b.NORTH,null,b.SOUTH].map(function(i){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[i+b.WEST,i,i+b.EAST].map(function(h){return(0,e.createComponentVNode)(2,t.Table.Cell,{style:{"vertical-align":"middle","text-align":"center"},children:h===null?(0,e.createComponentVNode)(2,t.Icon,{name:"arrows-alt",size:3}):(0,e.createComponentVNode)(2,f,{icon_state:d,direction:h,isSelected:h===s,onSelect:function(){function C(){return c("select_direction",{direction:h})}return C}()})},h)})},i)})})})})]})})})}return I}()},53424:function(A,r,n){"use strict";r.__esModule=!0,r.GPS=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=function(l){return l?"("+l.join(", ")+")":"ERROR"},S=function(l,d){if(!(!l||!d)){if(l[2]!==d[2])return null;var s=Math.atan2(d[1]-l[1],d[0]-l[0]),i=Math.sqrt(Math.pow(d[1]-l[1],2)+Math.pow(d[0]-l[0],2));return{angle:(0,a.rad2deg)(s),distance:i}}},I=r.GPS=function(){function m(l,d){var s=(0,t.useBackend)(d),i=s.data,h=i.emped,C=i.active,v=i.area,p=i.position,N=i.saved;return(0,e.createComponentVNode)(2,f.Window,{width:400,height:600,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:h?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,basis:"0",children:(0,e.createComponentVNode)(2,k,{emp:!0})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,g)}),C?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,u,{area:v,position:p})}),N&&(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,u,{title:"Saved Position",position:N})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,basis:"0",children:(0,e.createComponentVNode)(2,c,{height:"100%"})})],0):(0,e.createComponentVNode)(2,k)],0)})})})}return m}(),k=function(l,d){var s=l.emp;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:(0,e.createComponentVNode)(2,o.Box,{width:"100%",height:"100%",color:"label",textAlign:"center",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:s?"ban":"power-off",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),s?"ERROR: Device temporarily lost signal.":"Device is disabled."]})})})})},g=function(l,d){var s=(0,t.useBackend)(d),i=s.act,h=s.data,C=h.active,v=h.tag,p=h.same_z,N=(0,t.useLocalState)(d,"newTag",v),V=N[0],y=N[1];return(0,e.createComponentVNode)(2,o.Section,{title:"Settings",buttons:(0,e.createComponentVNode)(2,o.Button,{selected:C,icon:C?"toggle-on":"toggle-off",content:C?"On":"Off",onClick:function(){function B(){return i("toggle")}return B}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Tag",children:[(0,e.createComponentVNode)(2,o.Input,{width:"5rem",value:v,onEnter:function(){function B(){return i("tag",{newtag:V})}return B}(),onInput:function(){function B(L,w){return y(w)}return B}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:v===V,width:"20px",mb:"0",ml:"0.25rem",onClick:function(){function B(){return i("tag",{newtag:V})}return B}(),children:(0,e.createComponentVNode)(2,o.Icon,{name:"pen"})})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Range",children:(0,e.createComponentVNode)(2,o.Button,{selected:!p,icon:p?"compress":"expand",content:p?"Local Sector":"Global",onClick:function(){function B(){return i("same_z")}return B}()})})]})})},u=function(l,d){var s=l.title,i=l.area,h=l.position;return(0,e.createComponentVNode)(2,o.Section,{title:s||"Position",children:(0,e.createComponentVNode)(2,o.Box,{fontSize:"1.5rem",children:[i&&(0,e.createFragment)([i,(0,e.createVNode)(1,"br")],0),b(h)]})})},c=function(l,d){var s=(0,t.useBackend)(d),i=s.data,h=i.position,C=i.signals;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({fill:!0,scrollable:!0,title:"Signals"},l,{children:(0,e.createComponentVNode)(2,o.Table,{children:C.map(function(v){return Object.assign({},v,S(h,v.position))}).map(function(v,p){return(0,e.createComponentVNode)(2,o.Table.Row,{backgroundColor:p%2===0&&"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,o.Table.Cell,{width:"30%",verticalAlign:"middle",color:"label",p:"0.25rem",bold:!0,children:v.tag}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",color:"grey",children:v.area}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",collapsing:!0,children:v.distance!==void 0&&(0,e.createComponentVNode)(2,o.Box,{opacity:Math.max(1-Math.min(v.distance,100)/100,.5),children:[(0,e.createComponentVNode)(2,o.Icon,{name:v.distance>0?"arrow-right":"circle",rotation:-v.angle}),"\xA0",Math.floor(v.distance)+"m"]})}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",pr:"0.25rem",collapsing:!0,children:b(v.position)})]},p)})})})))}},89124:function(A,r,n){"use strict";r.__esModule=!0,r.GeneModder=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(3939),f=n(98595),b=r.GeneModder=function(){function d(s,i){var h=(0,a.useBackend)(i),C=h.data,v=C.has_seed;return(0,e.createComponentVNode)(2,f.Window,{width:950,height:650,children:[(0,e.createVNode)(1,"div","GeneModder__left",(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,l,{scrollable:!0})}),2),(0,e.createVNode)(1,"div","GeneModder__right",(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,scrollable:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,o.ComplexModal,{maxWidth:"75%",maxHeight:"75%"}),v===0?(0,e.createComponentVNode)(2,I):(0,e.createComponentVNode)(2,S)]})}),2)]})}return d}(),S=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.disk;return(0,e.createComponentVNode)(2,t.Section,{title:"Genes",fill:!0,scrollable:!0,children:[(0,e.createComponentVNode)(2,g),(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,c)]})},I=function(s,i){return(0,e.createComponentVNode)(2,t.Section,{fill:!0,height:"85%",children:(0,e.createComponentVNode)(2,t.Stack,{height:"100%",children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:"1",textAlign:"center",align:"center",color:"green",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"leaf",size:5,mb:"10px"}),(0,e.createVNode)(1,"br"),"The plant DNA manipulator is missing a seed."]})})})},k=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.has_seed,N=v.seed,V=v.has_disk,y=v.disk,B,L;return p?B=(0,e.createComponentVNode)(2,t.Stack.Item,{mb:"-6px",mt:"-4px",children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+N.image,style:{"vertical-align":"middle",width:"32px",margin:"-1px","margin-left":"-11px"}}),(0,e.createComponentVNode)(2,t.Button,{content:N.name,onClick:function(){function w(){return C("eject_seed")}return w}()}),(0,e.createComponentVNode)(2,t.Button,{ml:"3px",icon:"pen",tooltip:"Name Variant",onClick:function(){function w(){return C("variant_name")}return w}()})]}):B=(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{ml:3.3,content:"None",onClick:function(){function w(){return C("eject_seed")}return w}()})}),V?L=y.name:L="None",(0,e.createComponentVNode)(2,t.Section,{title:"Storage",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Plant Sample",children:B}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Data Disk",children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{ml:3.3,content:L,tooltip:"Select Empty Disk",onClick:function(){function w(){return C("select_empty_disk")}return w}()})})})]})})},g=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.disk,N=v.core_genes;return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Core Genes",open:!0,children:[N.map(function(V){return(0,e.createComponentVNode)(2,t.Stack,{py:"2px",className:"candystripe",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",ml:"2px",children:V.name}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Extract",disabled:!(p!=null&&p.can_extract),icon:"save",onClick:function(){function y(){return C("extract",{id:V.id})}return y}()})})]},V)})," ",(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Extract All",disabled:!(p!=null&&p.can_extract),icon:"save",onClick:function(){function V(){return C("bulk_extract_core")}return V}()})})})]},"Core Genes")},u=function(s,i){var h=(0,a.useBackend)(i),C=h.data,v=C.reagent_genes,p=C.has_reagent;return(0,e.createComponentVNode)(2,m,{title:"Reagent Genes",gene_set:v,do_we_show:p})},c=function(s,i){var h=(0,a.useBackend)(i),C=h.data,v=C.trait_genes,p=C.has_trait;return(0,e.createComponentVNode)(2,m,{title:"Trait Genes",gene_set:v,do_we_show:p})},m=function(s,i){var h=s.title,C=s.gene_set,v=s.do_we_show,p=(0,a.useBackend)(i),N=p.act,V=p.data,y=V.disk;return(0,e.createComponentVNode)(2,t.Collapsible,{title:h,open:!0,children:v?C.map(function(B){return(0,e.createComponentVNode)(2,t.Stack,{py:"2px",className:"candystripe",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",ml:"2px",children:B.name}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Extract",disabled:!(y!=null&&y.can_extract),icon:"save",onClick:function(){function L(){return N("extract",{id:B.id})}return L}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Remove",icon:"times",onClick:function(){function L(){return N("remove",{id:B.id})}return L}()})})]},B)}):(0,e.createComponentVNode)(2,t.Stack.Item,{children:"No Genes Detected"})},h)},l=function(s,i){var h=s.title,C=s.gene_set,v=s.do_we_show,p=(0,a.useBackend)(i),N=p.act,V=p.data,y=V.has_seed,B=V.empty_disks,L=V.stat_disks,w=V.trait_disks,x=V.reagent_disks;return(0,e.createComponentVNode)(2,t.Section,{title:"Disks",children:[(0,e.createVNode)(1,"br"),"Empty Disks: ",B,(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{width:12,icon:"arrow-down",tooltip:"Eject an Empty disk",content:"Eject Empty Disk",onClick:function(){function T(){return N("eject_empty_disk")}return T}()}),(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Stats",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,scrollable:!0,children:[L.slice().sort(function(T,M){return T.display_name.localeCompare(M.display_name)}).map(function(T){return(0,e.createComponentVNode)(2,t.Stack,{mr:2,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"49%",children:T.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:25,children:[T.stat==="All"?(0,e.createComponentVNode)(2,t.Button,{content:"Replace All",tooltip:"Write disk stats to seed",disabled:!(T!=null&&T.ready)||!y,icon:"arrow-circle-down",onClick:function(){function M(){return N("bulk_replace_core",{index:T.index})}return M}()}):(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-circle-down",tooltip:"Write disk stat to seed",disabled:!T||!y,content:"Replace",onClick:function(){function M(){return N("replace",{index:T.index,stat:T.stat})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-right",content:"Select",tooltip:"Choose as target for extracted genes",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("select",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:5,icon:"arrow-down",content:"Eject",tooltip:"Eject Disk",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("eject_disk",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:2,icon:T.read_only?"lock":"lock-open",content:"",tool_tip:"Set/unset Read Only",onClick:function(){function M(){return N("set_read_only",{index:T.index,read_only:T.read_only})}return M}()})]})]},T)}),(0,e.createComponentVNode)(2,t.Button)]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Traits",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,scrollable:!0,children:[w.slice().sort(function(T,M){return T.display_name.localeCompare(M.display_name)}).map(function(T){return(0,e.createComponentVNode)(2,t.Stack,{mr:2,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"49%",children:T.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:25,children:[(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-circle-down",disabled:!T||!T.can_insert,tooltip:"Add disk trait to seed",content:"Insert",onClick:function(){function M(){return N("insert",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-right",content:"Select",tooltip:"Choose as target for extracted genes",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("select",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:5,icon:"arrow-down",content:"Eject",tooltip:"Eject Disk",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("eject_disk",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:2,icon:T.read_only?"lock":"lock-open",content:"",tool_tip:"Set/unset Read Only",onClick:function(){function M(){return N("set_read_only",{index:T.index,read_only:T.read_only})}return M}()})]})]},T)}),(0,e.createComponentVNode)(2,t.Button)]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Reagents",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,scrollable:!0,children:[x.slice().sort(function(T,M){return T.display_name.localeCompare(M.display_name)}).map(function(T){return(0,e.createComponentVNode)(2,t.Stack,{mr:2,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"49%",children:T.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:25,children:[(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-circle-down",disabled:!T||!T.can_insert,tooltip:"Add disk reagent to seed",content:"Insert",onClick:function(){function M(){return N("insert",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-right",content:"Select",tooltip:"Choose as target for extracted genes",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("select",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:5,icon:"arrow-down",content:"Eject",tooltip:"Eject Disk",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("eject_disk",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:2,icon:T.read_only?"lock":"lock-open",content:"",tool_tip:"Set/unset Read Only",onClick:function(){function M(){return N("set_read_only",{index:T.index,read_only:T.read_only})}return M}()})]})]},T)}),(0,e.createComponentVNode)(2,t.Button)]})})]})]})}},73053:function(A,r,n){"use strict";r.__esModule=!0,r.GenericCrewManifest=void 0;var e=n(89005),a=n(36036),t=n(98595),o=n(41874),f=r.GenericCrewManifest=function(){function b(S,I){return(0,e.createComponentVNode)(2,t.Window,{theme:"nologo",width:588,height:510,children:(0,e.createComponentVNode)(2,t.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,a.Section,{noTopPadding:!0,children:(0,e.createComponentVNode)(2,o.CrewManifest)})})})}return b}()},42914:function(A,r,n){"use strict";r.__esModule=!0,r.GhostHudPanel=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.GhostHudPanel=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.data,c=u.security,m=u.medical,l=u.diagnostic,d=u.radioactivity,s=u.ahud;return(0,e.createComponentVNode)(2,o.Window,{width:250,height:207,theme:"nologo",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,b,{label:"Medical",type:"medical",is_active:m}),(0,e.createComponentVNode)(2,b,{label:"Security",type:"security",is_active:c}),(0,e.createComponentVNode)(2,b,{label:"Diagnostic",type:"diagnostic",is_active:l}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,b,{label:"Radioactivity",type:"radioactivity",is_active:d,act_on:"rads_on",act_off:"rads_off"}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,b,{label:"Antag HUD",is_active:s,act_on:"ahud_on",act_off:"ahud_off"})]})})})}return S}(),b=function(I,k){var g=(0,a.useBackend)(k),u=g.act,c=I.label,m=I.type,l=m===void 0?null:m,d=I.is_active,s=I.act_on,i=s===void 0?"hud_on":s,h=I.act_off,C=h===void 0?"hud_off":h;return(0,e.createComponentVNode)(2,t.Flex,{pt:.3,color:"label",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{pl:.5,align:"center",width:"80%",children:c}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{mr:.6,content:d?"On":"Off",icon:d?"toggle-on":"toggle-off",selected:d,onClick:function(){function v(){return u(d?C:i,{hud_type:l})}return v}()})})]})}},25825:function(A,r,n){"use strict";r.__esModule=!0,r.GlandDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.GlandDispenser=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.glands,m=c===void 0?[]:c;return(0,e.createComponentVNode)(2,o.Window,{width:300,height:338,theme:"abductor",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:m.map(function(l){return(0,e.createComponentVNode)(2,t.Button,{width:"60px",height:"60px",m:.75,textAlign:"center",fontSize:"17px",lineHeight:"55px",icon:"eject",backgroundColor:l.color,content:l.amount||"0",disabled:!l.amount,onClick:function(){function d(){return g("dispense",{gland_id:l.id})}return d}()},l.id)})})})})}return b}()},10270:function(A,r,n){"use strict";r.__esModule=!0,r.GravityGen=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.GravityGen=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.charging_state,m=u.charge_count,l=u.breaker,d=u.ext_power,s=function(){function h(C){return C>0?(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"average",children:["[ ",C===1?"Charging":"Discharging"," ]"]}):(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:d?"good":"bad",children:["[ ",d?"Powered":"Unpowered"," ]"]})}return h}(),i=function(){function h(C){if(C>0)return(0,e.createComponentVNode)(2,t.NoticeBox,{danger:!0,p:1.5,children:[(0,e.createVNode)(1,"b",null,"WARNING:",16)," Radiation Detected!"]})}return h}();return(0,e.createComponentVNode)(2,o.Window,{width:350,height:170,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[i(c),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Generator Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:l?"power-off":"times",content:l?"Online":"Offline",color:l?"green":"red",px:1.5,onClick:function(){function h(){return g("breaker")}return h}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power Status",color:d?"good":"bad",children:s(c)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Gravity Charge",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:m/100,ranges:{good:[.9,1/0],average:[.5,.9],bad:[-1/0,.5]}})})]})})]})})})}return b}()},48657:function(A,r,n){"use strict";r.__esModule=!0,r.GuestPass=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(49148),b=r.GuestPass=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:690,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"id-card",selected:!c.showlogs,onClick:function(){function m(){return u("mode",{mode:0})}return m}(),children:"Issue Pass"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"scroll",selected:c.showlogs,onClick:function(){function m(){return u("mode",{mode:1})}return m}(),children:["Records (",c.issue_log.length,")"]})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Authorization",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Card",children:(0,e.createComponentVNode)(2,t.Button,{icon:c.scan_name?"eject":"id-card",selected:c.scan_name,content:c.scan_name?c.scan_name:"-----",tooltip:c.scan_name?"Eject ID":"Insert ID",onClick:function(){function m(){return u("scan")}return m}()})})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:!c.showlogs&&(0,e.createComponentVNode)(2,t.Section,{title:"Issue Guest Pass",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Issue To",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:c.giv_name?c.giv_name:"-----",disabled:!c.scan_name,onClick:function(){function m(){return u("giv_name")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Reason",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:c.reason?c.reason:"-----",disabled:!c.scan_name,onClick:function(){function m(){return u("reason")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Duration",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:c.duration?c.duration:"-----",disabled:!c.scan_name,onClick:function(){function m(){return u("duration")}return m}()})})]})})}),!c.showlogs&&(c.scan_name?(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f.AccessList,{sectionButtons:(0,e.createComponentVNode)(2,t.Button,{icon:"id-card",content:c.printmsg,disabled:!c.canprint,onClick:function(){function m(){return u("issue")}return m}()}),grantableList:c.grantableList,accesses:c.regions,selectedList:c.selectedAccess,accessMod:function(){function m(l){return u("access",{access:l})}return m}(),grantAll:function(){function m(){return u("grant_all")}return m}(),denyAll:function(){function m(){return u("clear_all")}return m}(),grantDep:function(){function m(l){return u("grant_region",{region:l})}return m}(),denyDep:function(){function m(l){return u("deny_region",{region:l})}return m}()})}):(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,fontSize:1.5,textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"id-card",size:5,color:"gray",mb:5}),(0,e.createVNode)(1,"br"),"Please, insert ID Card"]})})})})),!!c.showlogs&&(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,m:0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Issuance Log",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:"Print",disabled:!c.scan_name,onClick:function(){function m(){return u("print")}return m}()}),children:!!c.issue_log.length&&(0,e.createComponentVNode)(2,t.LabeledList,{children:c.issue_log.map(function(m,l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:m},l)})})||(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,fontSize:1.5,textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"scroll",size:5,color:"gray"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"No logs"]})})})})]})})})}return S}()},67834:function(A,r,n){"use strict";r.__esModule=!0,r.HandheldChemDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=[1,5,10,20,30,50],b=null,S=r.HandheldChemDispenser=function(){function g(u,c){return(0,e.createComponentVNode)(2,o.Window,{width:390,height:430,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k)]})})})}return g}(),I=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.amount,i=d.energy,h=d.maxEnergy,C=d.mode;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:i,minValue:0,maxValue:h,ranges:{good:[h*.5,1/0],average:[h*.25,h*.5],bad:[-1/0,h*.25]},children:[i," / ",h," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Amount",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{children:f.map(function(v,p){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"15%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"cog",selected:s===v,content:v,onClick:function(){function N(){return l("amount",{amount:v})}return N}()})},p)})})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mode",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{justify:"space-between",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:C==="dispense",content:"Dispense",m:"0",width:"32%",onClick:function(){function v(){return l("mode",{mode:"dispense"})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:C==="remove",content:"Remove",m:"0",width:"32%",onClick:function(){function v(){return l("mode",{mode:"remove"})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:C==="isolate",content:"Isolate",m:"0",width:"32%",onClick:function(){function v(){return l("mode",{mode:"isolate"})}return v}()})]})})]})})})},k=function(u,c){for(var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.chemicals,i=s===void 0?[]:s,h=d.current_reagent,C=[],v=0;v<(i.length+1)%3;v++)C.push(!0);return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,height:"18%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:d.glass?"Drink Selector":"Chemical Selector",children:[i.map(function(p,N){return(0,e.createComponentVNode)(2,t.Button,{width:"32%",icon:"arrow-circle-down",overflow:"hidden",textOverflow:"ellipsis",selected:h===p.id,content:p.title,style:{"margin-left":"2px"},onClick:function(){function V(){return l("dispense",{reagent:p.id})}return V}()},N)}),C.map(function(p,N){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:"1",basis:"25%"},N)})]})})}},46098:function(A,r,n){"use strict";r.__esModule=!0,r.HealthSensor=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=r.HealthSensor=function(){function I(k,g){var u=(0,t.useBackend)(g),c=u.act,m=u.data,l=m.on,d=m.user_health,s=m.minHealth,i=m.maxHealth,h=m.alarm_health;return(0,e.createComponentVNode)(2,f.Window,{width:300,height:125,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Scanning",children:(0,e.createComponentVNode)(2,o.Button,{icon:"power-off",content:l?"On":"Off",color:l?null:"red",selected:l,onClick:function(){function C(){return c("scan_toggle")}return C}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health activation",children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:2,stepPixelSize:6,minValue:s,maxValue:i,value:h,format:function(){function C(v){return(0,a.toFixed)(v,1)}return C}(),width:"80px",onDrag:function(){function C(v,p){return c("alarm_health",{alarm_health:p})}return C}()})}),d!==null&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"User health",children:(0,e.createComponentVNode)(2,o.Box,{color:S(d),bold:d>=100,children:(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:d})})})]})})})})}return I}(),S=function(k){return k>50?"green":k>0?"orange":"red"}},36771:function(A,r,n){"use strict";r.__esModule=!0,r.Holodeck=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Holodeck=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=(0,a.useLocalState)(k,"currentDeck",""),l=m[0],d=m[1],s=(0,a.useLocalState)(k,"showReload",!1),i=s[0],h=s[1],C=c.decks,v=c.ai_override,p=c.emagged,N=function(){function V(y){u("select_deck",{deck:y}),d(y),h(!0),setTimeout(function(){h(!1)},3e3)}return V}();return(0,e.createComponentVNode)(2,o.Window,{width:400,height:320,children:[i&&(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Holodeck Control System",children:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createVNode)(1,"b",null,"Currently Loaded Program:",16)," ",l]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Available Programs",children:[C.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{width:15.5,color:"transparent",content:V,selected:V===l,onClick:function(){function y(){return N(V)}return y}()},V)}),(0,e.createVNode)(1,"hr",null,null,1,{color:"gray"}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[!!v&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Override Protocols",children:(0,e.createComponentVNode)(2,t.Button,{content:p?"Turn On":"Turn Off",color:p?"good":"bad",onClick:function(){function V(){return u("ai_override")}return V}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safety Protocols",children:(0,e.createComponentVNode)(2,t.Box,{color:p?"bad":"good",children:[p?"Off":"On",!!p&&(0,e.createComponentVNode)(2,t.Button,{ml:9.5,width:15.5,color:"red",content:"Wildlife Simulation",onClick:function(){function V(){return u("wildlifecarp")}return V}()})]})})]})]})})]})})]})}return S}(),b=function(I,k){return(0,e.createComponentVNode)(2,t.Dimmer,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"spinner",size:"5",spin:!0}),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Box,{color:"white",children:(0,e.createVNode)(1,"h1",null,"\xA0Recalibrating projection apparatus.\xA0",16)}),(0,e.createComponentVNode)(2,t.Box,{color:"label",children:(0,e.createVNode)(1,"h3",null,"Please, wait for 3 seconds.",16)})]})}},25471:function(A,r,n){"use strict";r.__esModule=!0,r.Instrument=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=r.Instrument=function(){function u(c,m){var l=(0,t.useBackend)(m),d=l.act,s=l.data;return(0,e.createComponentVNode)(2,f.Window,{width:600,height:505,children:[(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,g)]})})]})}return u}(),S=function(c,m){var l=(0,t.useBackend)(m),d=l.act,s=l.data,i=s.help;if(i)return(0,e.createComponentVNode)(2,o.Modal,{maxWidth:"75%",height:window.innerHeight*.75+"px",mx:"auto",py:"0",px:"0.5rem",children:(0,e.createComponentVNode)(2,o.Section,{height:"100%",title:"Help",level:"2",overflow:"auto",children:(0,e.createComponentVNode)(2,o.Box,{px:"0.5rem",mt:"-0.5rem",children:[(0,e.createVNode)(1,"h1",null,"Making a Song",16),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Lines are a series of chords, separated by commas\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(,)"}),(0,e.createTextVNode)(", each with notes separated by hyphens\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(-)"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Every note in a chord will play together, with the chord timed by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("as defined above.")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Notes are played by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"names of the note"}),(0,e.createTextVNode)(", and optionally, the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(", and/or the"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave number"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("By default, every note is\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"natural"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("and in\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave 3"}),(0,e.createTextVNode)(". Defining a different state for either is remembered for each"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"note"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Example:"}),(0,e.createTextVNode)("\xA0"),(0,e.createVNode)(1,"i",null,"C,D,E,F,G,A,B",16),(0,e.createTextVNode)(" will play a\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"C"}),(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"major"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("scale.")],0),(0,e.createVNode)(1,"li",null,[(0,e.createTextVNode)("After a note has an\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("or\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("placed, it will be remembered:\xA0"),(0,e.createVNode)(1,"i",null,"C,C4,C#,C3",16),(0,e.createTextVNode)(" is "),(0,e.createVNode)(1,"i",null,"C3,C4,C4#,C3#",16)],0)],4)],0),(0,e.createVNode)(1,"p",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Chords"}),(0,e.createTextVNode)("\xA0can be played simply by seperating each note with a hyphen: "),(0,e.createVNode)(1,"i",null,"A-C#,Cn-E,E-G#,Gn-B",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("A"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"pause"}),(0,e.createTextVNode)("\xA0may be denoted by an empty chord: "),(0,e.createVNode)(1,"i",null,"C,E,,C,G",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("To make a chord be a different time, end it with /x, where the chord length will be length defined by\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo / x"}),(0,e.createTextVNode)(",\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"eg:"}),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"C,G/2,E/4",16),(0,e.createTextVNode)(".")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Combined, an example line is: "),(0,e.createVNode)(1,"i",null,"E-E4/4,F#/2,G#/8,B/8,E3-E4/4",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,"Lines may be up to 300 characters.",16),(0,e.createVNode)(1,"li",null,"A song may only contain up to 1,000 lines.",16)],4)],4),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Lines are a series of chords, separated by commas\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(,)"}),(0,e.createTextVNode)(", each with notes separated by hyphens\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(-)"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Every note in a chord will play together, with the chord timed by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("as defined above.")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Notes are played by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"names of the note"}),(0,e.createTextVNode)(", and optionally, the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(", and/or the"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave number"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("By default, every note is\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"natural"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("and in\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave 3"}),(0,e.createTextVNode)(". Defining a different state for either is remembered for each"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"note"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Example:"}),(0,e.createTextVNode)("\xA0"),(0,e.createVNode)(1,"i",null,"C,D,E,F,G,A,B",16),(0,e.createTextVNode)(" will play a\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"C"}),(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"major"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("scale.")],0),(0,e.createVNode)(1,"li",null,[(0,e.createTextVNode)("After a note has an\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("or\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("placed, it will be remembered:\xA0"),(0,e.createVNode)(1,"i",null,"C,C4,C#,C3",16),(0,e.createTextVNode)(" is "),(0,e.createVNode)(1,"i",null,"C3,C4,C4#,C3#",16)],0)],4)],0),(0,e.createVNode)(1,"p",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Chords"}),(0,e.createTextVNode)("\xA0can be played simply by seperating each note with a hyphen: "),(0,e.createVNode)(1,"i",null,"A-C#,Cn-E,E-G#,Gn-B",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("A"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"pause"}),(0,e.createTextVNode)("\xA0may be denoted by an empty chord: "),(0,e.createVNode)(1,"i",null,"C,E,,C,G",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("To make a chord be a different time, end it with /x, where the chord length will be length defined by\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo / x"}),(0,e.createTextVNode)(",\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"eg:"}),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"C,G/2,E/4",16),(0,e.createTextVNode)(".")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Combined, an example line is: "),(0,e.createVNode)(1,"i",null,"E-E4/4,F#/2,G#/8,B/8,E3-E4/4",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,"Lines may be up to 300 characters.",16),(0,e.createVNode)(1,"li",null,"A song may only contain up to 1,000 lines.",16)],4)],4),(0,e.createVNode)(1,"h1",null,"Instrument Advanced Settings",16),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Type:"}),(0,e.createTextVNode)("\xA0Whether the instrument is legacy or synthesized."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Legacy instruments have a collection of sounds that are selectively used depending on the note to play."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Synthesized instruments use a base sound and change its pitch to match the note to play.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Current:"}),(0,e.createTextVNode)("\xA0Which instrument sample to play. Some instruments can be tuned to play different samples. Experiment!")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Note Shift/Note Transpose:"}),(0,e.createTextVNode)("\xA0The pitch to apply to all notes of the song.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Sustain Mode:"}),(0,e.createTextVNode)("\xA0How a played note fades out."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Linear sustain means a note will fade out at a constant rate."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Exponential sustain means a note will fade out at an exponential rate, sounding smoother.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Volume Dropoff Threshold:"}),(0,e.createTextVNode)("\xA0The volume threshold at which a note is fully stopped.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Sustain indefinitely last held note:"}),(0,e.createTextVNode)("\xA0Whether the last note should be sustained indefinitely.")],4)],4),(0,e.createComponentVNode)(2,o.Button,{color:"grey",content:"Close",onClick:function(){function h(){return d("help")}return h}()})]})})})},I=function(c,m){var l=(0,t.useBackend)(m),d=l.act,s=l.data,i=s.lines,h=s.playing,C=s.repeat,v=s.maxRepeats,p=s.tempo,N=s.minTempo,V=s.maxTempo,y=s.tickLag,B=s.volume,L=s.minVolume,w=s.maxVolume,x=s.ready;return(0,e.createComponentVNode)(2,o.Section,{title:"Instrument",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"info",content:"Help",onClick:function(){function T(){return d("help")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"file",content:"New",onClick:function(){function T(){return d("newsong")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"upload",content:"Import",onClick:function(){function T(){return d("import")}return T}()})],4),children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Playback",children:[(0,e.createComponentVNode)(2,o.Button,{selected:h,disabled:i.length===0||C<0,icon:"play",content:"Play",onClick:function(){function T(){return d("play")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!h,icon:"stop",content:"Stop",onClick:function(){function T(){return d("stop")}return T}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Repeat",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:0,maxValue:v,value:C,stepPixelSize:59,onChange:function(){function T(M,O){return d("repeat",{new:O})}return T}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Tempo",children:(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Button,{disabled:p>=V,content:"-",as:"span",mr:"0.5rem",onClick:function(){function T(){return d("tempo",{new:p+y})}return T}()}),(0,a.round)(600/p)," BPM",(0,e.createComponentVNode)(2,o.Button,{disabled:p<=N,content:"+",as:"span",ml:"0.5rem",onClick:function(){function T(){return d("tempo",{new:p-y})}return T}()})]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Volume",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:L,maxValue:w,value:B,stepPixelSize:6,onDrag:function(){function T(M,O){return d("setvolume",{new:O})}return T}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",children:x?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:"Ready"}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Instrument Definition Error!"})})]}),(0,e.createComponentVNode)(2,k)]})},k=function(c,m){var l=(0,t.useBackend)(m),d=l.act,s=l.data,i=s.allowedInstrumentNames,h=s.instrumentLoaded,C=s.instrument,v=s.canNoteShift,p=s.noteShift,N=s.noteShiftMin,V=s.noteShiftMax,y=s.sustainMode,B=s.sustainLinearDuration,L=s.sustainExponentialDropoff,w=s.legacy,x=s.sustainDropoffVolume,T=s.sustainHeldNote,M,O;return y===1?(M="Linear",O=(0,e.createComponentVNode)(2,o.Slider,{minValue:.1,maxValue:5,value:B,step:.5,stepPixelSize:85,format:function(){function D(E){return(0,a.round)(E*100)/100+" seconds"}return D}(),onChange:function(){function D(E,P){return d("setlinearfalloff",{new:P/10})}return D}()})):y===2&&(M="Exponential",O=(0,e.createComponentVNode)(2,o.Slider,{minValue:1.025,maxValue:10,value:L,step:.01,format:function(){function D(E){return(0,a.round)(E*1e3)/1e3+"% per decisecond"}return D}(),onChange:function(){function D(E,P){return d("setexpfalloff",{new:P})}return D}()})),i.sort(),(0,e.createComponentVNode)(2,o.Box,{my:-1,children:(0,e.createComponentVNode)(2,o.Collapsible,{mt:"1rem",mb:"0",title:"Advanced",children:(0,e.createComponentVNode)(2,o.Section,{mt:-1,children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Type",children:w?"Legacy":"Synthesized"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Current",children:h?(0,e.createComponentVNode)(2,o.Dropdown,{options:i,selected:C,width:"50%",onSelected:function(){function D(E){return d("switchinstrument",{name:E})}return D}()}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"None!"})}),!!(!w&&v)&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Note Shift/Note Transpose",children:(0,e.createComponentVNode)(2,o.Slider,{minValue:N,maxValue:V,value:p,stepPixelSize:2,format:function(){function D(E){return E+" keys / "+(0,a.round)(E/12*100)/100+" octaves"}return D}(),onChange:function(){function D(E,P){return d("setnoteshift",{new:P})}return D}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Sustain Mode",children:[(0,e.createComponentVNode)(2,o.Dropdown,{options:["Linear","Exponential"],selected:M,mb:"0.4rem",onSelected:function(){function D(E){return d("setsustainmode",{new:E})}return D}()}),O]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Volume Dropoff Threshold",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:.01,maxValue:100,value:x,stepPixelSize:6,onChange:function(){function D(E,P){return d("setdropoffvolume",{new:P})}return D}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Sustain indefinitely last held note",children:(0,e.createComponentVNode)(2,o.Button,{selected:T,icon:T?"toggle-on":"toggle-off",content:T?"Yes":"No",onClick:function(){function D(){return d("togglesustainhold")}return D}()})})],4)]}),(0,e.createComponentVNode)(2,o.Button,{icon:"redo",content:"Reset to Default",mt:"0.5rem",onClick:function(){function D(){return d("reset")}return D}()})]})})})},g=function(c,m){var l=(0,t.useBackend)(m),d=l.act,s=l.data,i=s.playing,h=s.lines,C=s.editing;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Editor",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:!C||i,icon:"plus",content:"Add Line",onClick:function(){function v(){return d("newline",{line:h.length+1})}return v}()}),(0,e.createComponentVNode)(2,o.Button,{selected:!C,icon:C?"chevron-up":"chevron-down",onClick:function(){function v(){return d("edit")}return v}()})],4),children:!!C&&(h.length>0?(0,e.createComponentVNode)(2,o.LabeledList,{children:h.map(function(v,p){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:p+1,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:i,icon:"pen",onClick:function(){function N(){return d("modifyline",{line:p+1})}return N}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:i,icon:"trash",onClick:function(){function N(){return d("deleteline",{line:p+1})}return N}()})],4),children:v},p)})}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"Song is empty."}))})}},52736:function(A,r,n){"use strict";r.__esModule=!0,r.Jukebox=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(72253),f=n(36036),b=n(98595),S=r.Jukebox=function(){function g(u,c){var m=(0,o.useBackend)(c),l=m.act,d=m.data,s=d.active,i=d.looping,h=d.track_selected,C=d.volume,v=d.max_volume,p=d.songs,N=d.startTime,V=d.endTime,y=d.worldTime,B=d.need_coin,L=d.payment,w=d.advanced_admin,x=35,T=!L&&B&&!w,M=(0,t.flow)([(0,a.sortBy)(function(j){return j.name})])(p),O=p.find(function(j){return j.name===h}),D=M.length,E=O?M.findIndex(function(j){return j.name===O.name})+1:0,P=function(){function j(F){var W=Math.floor(F/60),z=F%60,K=String(W).padStart(2,"0")+":"+String(z).padStart(2,"0");return K}return j}(),R=(0,e.createComponentVNode)(2,f.Box,{textAlign:"center",children:[s?i?"\u221E":P(Math.round((y-N)/10)):i?"\u221E":P(O.length)," ","/ ",i?"\u221E":P(O.length)]});return(0,e.createComponentVNode)(2,b.Window,{width:350,height:435,title:"\u041C\u0443\u0437\u044B\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0430\u0432\u0442\u043E\u043C\u0430\u0442",children:[T?(0,e.createComponentVNode)(2,k):null,(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack,{children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,title:"\u041F\u0440\u043E\u0438\u0433\u0440\u044B\u0432\u0430\u0442\u0435\u043B\u044C",children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{bold:!0,maxWidth:"240px",children:O.name.length>x?(0,e.createVNode)(1,"marquee",null,O.name,0):O.name}),(0,e.createComponentVNode)(2,f.Stack,{fill:!0,mt:1.5,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,basis:"0",children:(0,e.createComponentVNode)(2,f.Button,{fluid:!0,icon:s?"pause":"play",color:"transparent",content:s?"\u0421\u0442\u043E\u043F":"\u0421\u0442\u0430\u0440\u0442",selected:s,onClick:function(){function j(){return l("toggle")}return j}()})}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,basis:"0",children:(0,e.createComponentVNode)(2,f.Button.Checkbox,{fluid:!0,icon:"undo",content:"\u041F\u043E\u0432\u0442\u043E\u0440",disabled:s||B&&!w,tooltip:B&&!w?"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440 \u0437\u0430 \u043C\u043E\u043D\u0435\u0442\u043A\u0443":null,checked:i,onClick:function(){function j(){return l("loop",{looping:!i})}return j}()})})]}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.ProgressBar.Countdown,{start:N,current:i?V:y,end:V,children:R})})]})})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Section,{children:[s?(0,e.createComponentVNode)(2,I):null,(0,e.createComponentVNode)(2,f.Stack,{fill:!0,mb:1.5,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,m:0,children:(0,e.createComponentVNode)(2,f.Button,{color:"transparent",icon:"fast-backward",onClick:function(){function j(){return l("set_volume",{volume:"min"})}return j}()})}),(0,e.createComponentVNode)(2,f.Stack.Item,{m:0,children:(0,e.createComponentVNode)(2,f.Button,{color:"transparent",icon:"undo",onClick:function(){function j(){return l("set_volume",{volume:"reset"})}return j}()})}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,m:0,textAlign:"right",children:(0,e.createComponentVNode)(2,f.Button,{color:"transparent",icon:"fast-forward",onClick:function(){function j(){return l("set_volume",{volume:"max"})}return j}()})})]}),(0,e.createComponentVNode)(2,f.Stack.Item,{textAlign:"center",textColor:"label",children:[(0,e.createComponentVNode)(2,f.Knob,{size:2,color:C<=25?"green":C<=50?"":C<=75?"orange":"red",value:C,unit:"%",minValue:0,maxValue:v,step:1,stepPixelSize:5,onDrag:function(){function j(F,W){return l("set_volume",{volume:W})}return j}()}),"Volume"]})]})})]}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,title:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0442\u0440\u0435\u043A\u0438",buttons:(0,e.createComponentVNode)(2,f.Button,{bold:!0,icon:"random",color:"transparent",content:E+"/"+D,tooltip:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0442\u0440\u0435\u043A",tooltipPosition:"top-end",onClick:function(){function j(){var F=Math.floor(Math.random()*D),W=M[F];l("select_track",{track:W.name})}return j}()}),children:M.map(function(j){return(0,e.createComponentVNode)(2,f.Stack.Item,{mb:.5,textAlign:"left",children:(0,e.createComponentVNode)(2,f.Button,{fluid:!0,selected:O.name===j.name,color:"translucent",content:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:j.name}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:P(j.length)})]}),onClick:function(){function F(){l("select_track",{track:j.name})}return F}()})},j.name)})})})]})})]})}return g}(),I=function(){return(0,e.createComponentVNode)(2,f.Dimmer,{textAlign:"center",children:[(0,e.createComponentVNode)(2,f.Icon,{name:"music",size:"3",color:"gray",mb:1}),(0,e.createComponentVNode)(2,f.Box,{color:"label",bold:!0,children:"\u0418\u0433\u0440\u0430\u0435\u0442 \u043C\u0443\u0437\u044B\u043A\u0430"})]})},k=function(){return(0,e.createComponentVNode)(2,f.Dimmer,{textAlign:"center",children:[(0,e.createComponentVNode)(2,f.Icon,{name:"coins",size:"6",color:"gold",mr:1}),(0,e.createComponentVNode)(2,f.Box,{color:"label",bold:!0,mt:5,fontSize:2,children:"\u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043C\u043E\u043D\u0435\u0442\u043A\u0443"})]})}},13618:function(A,r,n){"use strict";r.__esModule=!0,r.KeyComboModal=void 0;var e=n(89005),a=n(70611),t=n(72253),o=n(36036),f=n(98595),b=n(19203),S=n(51057),I=function(l){return l.key!==a.KEY.Alt&&l.key!==a.KEY.Control&&l.key!==a.KEY.Shift&&l.key!==a.KEY.Escape},k={DEL:"Delete",DOWN:"South",END:"Southwest",HOME:"Northwest",INSERT:"Insert",LEFT:"West",PAGEDOWN:"Southeast",PAGEUP:"Northeast",RIGHT:"East",SPACEBAR:"Space",UP:"North"},g=3,u=function(l){var d="";if(l.altKey&&(d+="Alt"),l.ctrlKey&&(d+="Ctrl"),l.shiftKey&&!(l.keyCode>=48&&l.keyCode<=57)&&(d+="Shift"),l.location===g&&(d+="Numpad"),I(l))if(l.shiftKey&&l.keyCode>=48&&l.keyCode<=57){var s=l.keyCode-48;d+="Shift"+s}else{var i=l.key.toUpperCase();d+=k[i]||i}return d},c=r.KeyComboModal=function(){function m(l,d){var s=(0,t.useBackend)(d),i=s.act,h=s.data,C=h.init_value,v=h.large_buttons,p=h.message,N=p===void 0?"":p,V=h.title,y=h.timeout,B=(0,t.useLocalState)(d,"input",C),L=B[0],w=B[1],x=(0,t.useLocalState)(d,"binding",!0),T=x[0],M=x[1],O=function(){function P(R){if(!T){R.key===a.KEY.Enter&&i("submit",{entry:L}),(0,a.isEscape)(R.key)&&i("cancel");return}if(R.preventDefault(),I(R)){D(u(R)),M(!1);return}else if(R.key===a.KEY.Escape){D(C),M(!1);return}}return P}(),D=function(){function P(R){R!==L&&w(R)}return P}(),E=130+(N.length>30?Math.ceil(N.length/3):0)+(N.length&&v?5:0);return(0,e.createComponentVNode)(2,f.Window,{title:V,width:240,height:E,children:[y&&(0,e.createComponentVNode)(2,S.Loader,{value:y}),(0,e.createComponentVNode)(2,f.Window.Content,{onKeyDown:function(){function P(R){O(R)}return P}(),children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Autofocus),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:N})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:T,content:T&&T!==null?"Awaiting input...":""+L,width:"100%",textAlign:"center",onClick:function(){function P(){D(C),M(!0)}return P}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,b.InputButtons,{input:L})})]})]})})]})}return m}()},35655:function(A,r,n){"use strict";r.__esModule=!0,r.KeycardAuth=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.KeycardAuth=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=(0,e.createComponentVNode)(2,t.Section,{title:"Keycard Authentication Device",children:(0,e.createComponentVNode)(2,t.Box,{children:"This device is used to trigger certain high security events. It requires the simultaneous swipe of two high-level ID cards."})});if(!u.swiping&&!u.busy)return(0,e.createComponentVNode)(2,o.Window,{width:540,height:280,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[c,(0,e.createComponentVNode)(2,t.Section,{title:"Choose Action",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Red Alert",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-triangle",disabled:!u.redAvailable,onClick:function(){function l(){return g("triggerevent",{triggerevent:"Red Alert"})}return l}(),content:"Red Alert"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ERT",children:(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",onClick:function(){function l(){return g("triggerevent",{triggerevent:"Emergency Response Team"})}return l}(),content:"Call ERT"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Maint Access",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"door-open",onClick:function(){function l(){return g("triggerevent",{triggerevent:"Grant Emergency Maintenance Access"})}return l}(),content:"Grant"}),(0,e.createComponentVNode)(2,t.Button,{icon:"door-closed",onClick:function(){function l(){return g("triggerevent",{triggerevent:"Revoke Emergency Maintenance Access"})}return l}(),content:"Revoke"})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Station-Wide Access",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"door-open",onClick:function(){function l(){return g("triggerevent",{triggerevent:"Activate Station-Wide Emergency Access"})}return l}(),content:"Grant"}),(0,e.createComponentVNode)(2,t.Button,{icon:"door-closed",onClick:function(){function l(){return g("triggerevent",{triggerevent:"Deactivate Station-Wide Emergency Access"})}return l}(),content:"Revoke"})]})]})})]})});var m=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Waiting for YOU to swipe your ID..."});return!u.hasSwiped&&!u.ertreason&&u.event==="Emergency Response Team"?m=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Fill out the reason for your ERT request."}):u.hasConfirm?m=(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Request Confirmed!"}):u.isRemote?m=(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Swipe your card to CONFIRM the remote request."}):u.hasSwiped&&(m=(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Waiting for second person to confirm..."})),(0,e.createComponentVNode)(2,o.Window,{width:540,height:265,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[c,u.event==="Emergency Response Team"&&(0,e.createComponentVNode)(2,t.Section,{title:"Reason for ERT Call",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{color:u.ertreason?"":"red",icon:u.ertreason?"check":"pencil-alt",content:u.ertreason?u.ertreason:"-----",disabled:u.busy,onClick:function(){function l(){return g("ert")}return l}()})})}),(0,e.createComponentVNode)(2,t.Section,{title:u.event,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back",disabled:u.busy||u.hasConfirm,onClick:function(){function l(){return g("reset")}return l}()}),children:m})]})})}return b}()},62955:function(A,r,n){"use strict";r.__esModule=!0,r.KitchenMachine=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(62411),b=r.KitchenMachine=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.data,m=u.config,l=c.ingredients,d=c.operating,s=m.title;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:320,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Operating,{operating:d,name:s}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,S)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Ingredients",children:(0,e.createComponentVNode)(2,t.Table,{className:"Ingredient__Table",children:l.map(function(i){return(0,e.createComponentVNode)(2,t.Table.Row,{tr:5,children:[(0,e.createVNode)(1,"td",null,(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:i.name}),2),(0,e.createVNode)(1,"td",null,(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,textAlign:"center",children:[i.amount," ",i.units]}),2)]},i.name)})})})})]})})})}return I}(),S=function(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.inactive,d=m.tooltip;return(0,e.createComponentVNode)(2,t.Section,{title:"Controls",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"power-off",disabled:l,tooltip:l?d:"",tooltipPosition:"bottom",content:"Activate",onClick:function(){function s(){return c("cook")}return s}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"eject",disabled:l,tooltip:l?d:"",tooltipPosition:"bottom",content:"Eject Contents",onClick:function(){function s(){return c("eject")}return s}()})})]})})}},9525:function(A,r,n){"use strict";r.__esModule=!0,r.LawManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.LawManager=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.isAdmin,s=l.isSlaved,i=l.isMalf,h=l.isAIMalf,C=l.view;return(0,e.createComponentVNode)(2,o.Window,{width:800,height:i?620:365,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!(d&&s)&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:["This unit is slaved to ",s,"."]}),!!(i||h)&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Law Management",selected:C===0,onClick:function(){function v(){return m("set_view",{set_view:0})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Lawsets",selected:C===1,onClick:function(){function v(){return m("set_view",{set_view:1})}return v}()})]}),C===0&&(0,e.createComponentVNode)(2,b),C===1&&(0,e.createComponentVNode)(2,S)]})})}return k}(),b=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.has_zeroth_laws,s=l.zeroth_laws,i=l.has_ion_laws,h=l.ion_laws,C=l.ion_law_nr,v=l.has_inherent_laws,p=l.inherent_laws,N=l.has_supplied_laws,V=l.supplied_laws,y=l.channels,B=l.channel,L=l.isMalf,w=l.isAdmin,x=l.zeroth_law,T=l.ion_law,M=l.inherent_law,O=l.supplied_law,D=l.supplied_law_position;return(0,e.createFragment)([!!d&&(0,e.createComponentVNode)(2,I,{title:"ERR_NULL_VALUE",laws:s,ctx:u}),!!i&&(0,e.createComponentVNode)(2,I,{title:C,laws:h,ctx:u}),!!v&&(0,e.createComponentVNode)(2,I,{title:"Inherent",laws:p,ctx:u}),!!N&&(0,e.createComponentVNode)(2,I,{title:"Supplied",laws:V,ctx:u}),(0,e.createComponentVNode)(2,t.Section,{title:"Statement Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Statement Channel",children:y.map(function(E){return(0,e.createComponentVNode)(2,t.Button,{content:E.channel,selected:E.channel===B,onClick:function(){function P(){return m("law_channel",{law_channel:E.channel})}return P}()},E.channel)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"State Laws",children:(0,e.createComponentVNode)(2,t.Button,{content:"State Laws",onClick:function(){function E(){return m("state_laws")}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Law Notification",children:(0,e.createComponentVNode)(2,t.Button,{content:"Notify",onClick:function(){function E(){return m("notify_laws")}return E}()})})]})}),!!L&&(0,e.createComponentVNode)(2,t.Section,{title:"Add Laws",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Type"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"60%",children:"Law"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Index"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"20%",children:"Actions"})]}),!!(w&&!d)&&(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Zero"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:x}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function E(){return m("change_zeroth_law")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function E(){return m("add_zeroth_law")}return E}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Ion"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:T}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function E(){return m("change_ion_law")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function E(){return m("add_ion_law")}return E}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Inherent"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:M}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function E(){return m("change_inherent_law")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function E(){return m("add_inherent_law")}return E}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Supplied"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:O}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:D,onClick:function(){function E(){return m("change_supplied_law_position")}return E}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function E(){return m("change_supplied_law")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function E(){return m("add_supplied_law")}return E}()})]})]})]})})],0)},S=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.law_sets;return(0,e.createComponentVNode)(2,t.Box,{children:d.map(function(s){return(0,e.createComponentVNode)(2,t.Section,{title:s.name+" - "+s.header,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Load Laws",icon:"download",onClick:function(){function i(){return m("transfer_laws",{transfer_laws:s.ref})}return i}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[s.laws.has_ion_laws>0&&s.laws.ion_laws.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.index,children:i.law},i.index)}),s.laws.has_zeroth_laws>0&&s.laws.zeroth_laws.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.index,children:i.law},i.index)}),s.laws.has_inherent_laws>0&&s.laws.inherent_laws.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.index,children:i.law},i.index)}),s.laws.has_supplied_laws>0&&s.laws.inherent_laws.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.index,children:i.law},i.index)})]})},s.name)})})},I=function(g,u){var c=(0,a.useBackend)(g.ctx),m=c.act,l=c.data,d=l.isMalf;return(0,e.createComponentVNode)(2,t.Section,{title:g.title+" Laws",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Index"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"69%",children:"Law"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"21%",children:"State?"})]}),g.laws.map(function(s){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.index}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.law}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:s.state?"Yes":"No",selected:s.state,onClick:function(){function i(){return m("state_law",{ref:s.ref,state_law:s.state?0:1})}return i}()}),!!d&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function i(){return m("edit_law",{edit_law:s.ref})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Delete",icon:"trash",color:"red",onClick:function(){function i(){return m("delete_law",{delete_law:s.ref})}return i}()})],4)]})]},s.law)})]})})}},85066:function(A,r,n){"use strict";r.__esModule=!0,r.LibraryComputer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=r.LibraryComputer=function(){function C(v,p){return(0,e.createComponentVNode)(2,o.Window,{width:1050,height:600,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,c)]})})]})}return C}(),S=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=v.args,L=y.user_ckey;return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:B.title}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Author",children:B.author}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Summary",children:B.summary}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rating",children:[B.rating,(0,e.createComponentVNode)(2,t.Icon,{name:"star",color:"yellow",verticalAlign:"top"})]}),!B.isProgrammatic&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Categories",children:B.categories.join(", ")})]}),(0,e.createVNode)(1,"br"),L===B.ckey&&(0,e.createComponentVNode)(2,t.Button,{content:"Delete Book",icon:"trash",color:"red",disabled:B.isProgrammatic,onClick:function(){function w(){return V("delete_book",{bookid:B.id,user_ckey:L})}return w}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Report Book",icon:"flag",color:"red",disabled:B.isProgrammatic,onClick:function(){function w(){return(0,f.modalOpen)(p,"report_book",{bookid:B.id})}return w}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Rate Book",icon:"star",color:"caution",disabled:B.isProgrammatic,onClick:function(){function w(){return(0,f.modalOpen)(p,"rate_info",{bookid:B.id})}return w}()})]})},I=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=v.args,L=y.selected_report,w=y.report_categories,x=y.user_ckey;return(0,e.createComponentVNode)(2,t.Section,{level:2,m:"-1rem",pb:"1.5rem",title:"Report this book for Rule Violations",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:B.title}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Reasons",children:(0,e.createComponentVNode)(2,t.Box,{children:w.map(function(T,M){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:T.description,selected:T.category_id===L,onClick:function(){function O(){return V("set_report",{report_type:T.category_id})}return O}()}),(0,e.createVNode)(1,"br")],4,M)})})})]}),(0,e.createComponentVNode)(2,t.Button.Confirm,{bold:!0,icon:"paper-plane",content:"Submit Report",onClick:function(){function T(){return V("submit_report",{bookid:B.id,user_ckey:x})}return T}()})]})},k=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.selected_rating,L=Array(10).fill().map(function(w,x){return 1+x});return(0,e.createComponentVNode)(2,t.Stack,{children:[L.map(function(w,x){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{bold:!0,icon:"star",color:B>=w?"caution":"default",onClick:function(){function T(){return V("set_rating",{rating_value:w})}return T}()})},x)}),(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,ml:2,fontSize:"150%",children:[B+"/10",(0,e.createComponentVNode)(2,t.Icon,{name:"star",color:"yellow",ml:.5,verticalAlign:"top"})]})]})},g=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=v.args,L=y.user_ckey;return(0,e.createComponentVNode)(2,t.Section,{level:2,m:"-1rem",pb:"1.5rem",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:B.title}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Author",children:B.author}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rating",children:[B.current_rating?B.current_rating:0,(0,e.createComponentVNode)(2,t.Icon,{name:"star",color:"yellow",ml:.5,verticalAlign:"middle"})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Ratings",children:B.total_ratings?B.total_ratings:0})]}),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,t.Button.Confirm,{mt:2,content:"Submit",icon:"paper-plane",onClick:function(){function w(){return V("rate_book",{bookid:B.id,user_ckey:L})}return w}()})]})},u=function(v,p){var N=(0,a.useBackend)(p),V=N.data,y=(0,a.useLocalState)(p,"tabIndex",0),B=y[0],L=y[1],w=V.login_state;return(0,e.createComponentVNode)(2,t.Stack.Item,{mb:1,children:(0,e.createComponentVNode)(2,t.Tabs,{fluid:!0,textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:B===0,onClick:function(){function x(){return L(0)}return x}(),children:"Book Archives"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:B===1,onClick:function(){function x(){return L(1)}return x}(),children:"Corporate Literature"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:B===2,onClick:function(){function x(){return L(2)}return x}(),children:"Upload Book"}),w===1&&(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:B===3,onClick:function(){function x(){return L(3)}return x}(),children:"Patron Manager"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:B===4,onClick:function(){function x(){return L(4)}return x}(),children:"Inventory"})]})})},c=function(v,p){var N=(0,a.useLocalState)(p,"tabIndex",0),V=N[0];switch(V){case 0:return(0,e.createComponentVNode)(2,l);case 1:return(0,e.createComponentVNode)(2,d);case 2:return(0,e.createComponentVNode)(2,s);case 3:return(0,e.createComponentVNode)(2,i);case 4:return(0,e.createComponentVNode)(2,h);default:return"You are somehow on a tab that doesn't exist! Please let a coder know."}},m=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.searchcontent,L=y.book_categories,w=y.user_ckey,x=[];return L.map(function(T){return x[T.description]=T.category_id}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"35%",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.2rem",m:".5em",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"edit",verticalAlign:"middle",size:1.5,mr:"1rem"}),"Search Inputs"]}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,t.Button,{textAlign:"left",icon:"pen",width:20,content:B.title||"Input Title",onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_search_title")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Author",children:(0,e.createComponentVNode)(2,t.Button,{textAlign:"left",icon:"pen",width:20,content:B.author||"Input Author",onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_search_author")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Ratings",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{mr:1,width:"min-content",content:B.ratingmin,onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_search_ratingmin")}return T}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:"To"}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{ml:1,width:"min-content",content:B.ratingmax,onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_search_ratingmax")}return T}()})})]})})]})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"40%",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.2rem",m:".5em",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"clipboard-list",verticalAlign:"middle",size:1.5,mr:"1rem"}),"Book Categories"]}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Categories",children:(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Dropdown,{mt:.6,width:"190px",options:L.map(function(T){return T.description}),onSelected:function(){function T(M){return V("toggle_search_category",{category_id:x[M]})}return T}()})})})}),(0,e.createVNode)(1,"br"),L.filter(function(T){return B.categories.includes(T.category_id)}).map(function(T){return(0,e.createComponentVNode)(2,t.Button,{content:T.description,selected:!0,icon:"unlink",onClick:function(){function M(){return V("toggle_search_category",{category_id:T.category_id})}return M}()},T.category_id)})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.2rem",m:".5em",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"search-plus",verticalAlign:"middle",size:1.5,mr:"1rem"}),"Search Actions"]}),(0,e.createComponentVNode)(2,t.Button,{content:"Clear Search",icon:"eraser",onClick:function(){function T(){return V("clear_search")}return T}()}),B.ckey?(0,e.createComponentVNode)(2,t.Button,{mb:.5,content:"Stop Showing My Books",color:"bad",icon:"search",onClick:function(){function T(){return V("clear_ckey_search")}return T}()}):(0,e.createComponentVNode)(2,t.Button,{content:"Find My Books",icon:"search",onClick:function(){function T(){return V("find_users_books",{user_ckey:w})}return T}()})]})]})},l=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.external_booklist,L=y.archive_pagenumber,w=y.num_pages,x=y.login_state;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Book System Access",buttons:(0,e.createVNode)(1,"div",null,[(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-left",disabled:L===1,onClick:function(){function T(){return V("deincrementpagemax")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-left",disabled:L===1,onClick:function(){function T(){return V("deincrementpage")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{bold:!0,content:L,onClick:function(){function T(){return(0,f.modalOpen)(p,"setpagenumber")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",disabled:L===w,onClick:function(){function T(){return V("incrementpage")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-right",disabled:L===w,onClick:function(){function T(){return V("incrementpagemax")}return T}()})],4),children:[(0,e.createComponentVNode)(2,m),(0,e.createVNode)(1,"hr"),(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"SSID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Author"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Ratings"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Category"}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"middle",children:"Actions"})]}),B.map(function(T){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:T.id}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"book",mr:.5}),T.title.length>45?T.title.substr(0,45)+"...":T.title]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:T.author.length>30?T.author.substr(0,30)+"...":T.author}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[T.rating,(0,e.createComponentVNode)(2,t.Icon,{name:"star",ml:.5,color:"yellow",verticalAlign:"middle"})]}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:T.categories.join(", ").substr(0,45)}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",children:[x===1&&(0,e.createComponentVNode)(2,t.Button,{content:"Order",icon:"print",onClick:function(){function M(){return V("order_external_book",{bookid:T.id})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{content:"More...",onClick:function(){function M(){return(0,f.modalOpen)(p,"expand_info",{bookid:T.id})}return M}()})]})]},T.id)})]})]})},d=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.programmatic_booklist,L=y.login_state;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Corporate Book Catalog",children:(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"SSID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Author"}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"middle",children:"Actions"})]}),B.map(function(w,x){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:w.id}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"book",mr:2}),w.title]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:w.author}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",children:[L===1&&(0,e.createComponentVNode)(2,t.Button,{content:"Order",icon:"print",onClick:function(){function T(){return V("order_programmatic_book",{bookid:w.id})}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:"More...",onClick:function(){function T(){return(0,f.modalOpen)(p,"expand_info",{bookid:w.id})}return T}()})]})]},x)})]})})},s=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.selectedbook,L=y.book_categories,w=y.user_ckey,x=[];return L.map(function(T){return x[T.description]=T.category_id}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Book System Upload",buttons:(0,e.createComponentVNode)(2,t.Button.Confirm,{bold:!0,width:9.5,icon:"upload",disabled:B.copyright,content:"Upload Book",onClick:function(){function T(){return V("uploadbook",{user_ckey:w})}return T}()}),children:[B.copyright?(0,e.createComponentVNode)(2,t.NoticeBox,{color:"red",children:"WARNING: You cannot upload or modify the attributes of a copyrighted book"}):(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Box,{ml:15,mb:3,fontSize:"1.2rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"search-plus",verticalAlign:"middle",size:3,mr:2}),"Book Uploader"]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,t.Button,{width:20,textAlign:"left",icon:"pen",disabled:B.copyright,content:B.title,onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_selected_title")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Author",children:(0,e.createComponentVNode)(2,t.Button,{width:20,textAlign:"left",icon:"pen",disabled:B.copyright,content:B.author,onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_selected_author")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Categories",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Dropdown,{width:"240px",options:L.map(function(T){return T.description}),onSelected:function(){function T(M){return V("toggle_upload_category",{category_id:x[M]})}return T}()})})})]}),(0,e.createVNode)(1,"br"),L.filter(function(T){return B.categories.includes(T.category_id)}).map(function(T){return(0,e.createComponentVNode)(2,t.Button,{content:T.description,disabled:B.copyright,selected:!0,icon:"unlink",onClick:function(){function M(){return V("toggle_upload_category",{category_id:T.category_id})}return M}()},T.category_id)})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{mr:75,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Summary",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pen",width:"auto",disabled:B.copyright,content:"Edit Summary",onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_selected_summary")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:B.summary})]})})]})]})},i=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.checkout_data;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Checked Out Books",children:(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Patron"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Time Left"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Actions"})]}),B.map(function(L,w){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-tag"}),L.patron_name]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:L.title}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.timeleft>=0?L.timeleft:"LATE"}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:(0,e.createComponentVNode)(2,t.Button,{content:"Mark Lost",icon:"flag",color:"bad",disabled:L.timeleft>=0,onClick:function(){function x(){return V("reportlost",{libraryid:L.libraryid})}return x}()})})]},w)})]})})},h=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.inventory_list;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Library Inventory",children:(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"LIB ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Author"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"})]}),B.map(function(L,w){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.libraryid}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"book"})," ",L.title]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:L.author}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:L.checked_out?"Checked Out":"Available"})]},w)})]})})};(0,f.modalRegisterBodyOverride)("expand_info",S),(0,f.modalRegisterBodyOverride)("report_book",I),(0,f.modalRegisterBodyOverride)("rate_info",g)},9516:function(A,r,n){"use strict";r.__esModule=!0,r.LibraryManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=r.LibraryManager=function(){function u(c,m){return(0,e.createComponentVNode)(2,o.Window,{width:600,height:600,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,className:"Layout__content--flexColumn",children:(0,e.createComponentVNode)(2,S)})]})}return u}(),S=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.pagestate;switch(i){case 1:return(0,e.createComponentVNode)(2,I);case 2:return(0,e.createComponentVNode)(2,g);case 3:return(0,e.createComponentVNode)(2,k);default:return"WE SHOULDN'T BE HERE!"}},I=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data;return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.4rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-shield",verticalAlign:"middle",size:3,mr:"1rem"}),"Library Manager"]}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{icon:"trash",width:"auto",color:"danger",content:"Delete Book by SSID",onClick:function(){function i(){return(0,f.modalOpen)(m,"specify_ssid_delete")}return i}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"user-slash",width:"auto",color:"danger",content:"Delete All Books By CKEY",onClick:function(){function i(){return(0,f.modalOpen)(m,"specify_ckey_delete")}return i}()}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{icon:"search",width:"auto",content:"View All Books By CKEY",onClick:function(){function i(){return(0,f.modalOpen)(m,"specify_ckey_search")}return i}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"search",width:"auto",content:"View All Reported Books",onClick:function(){function i(){return d("view_reported_books")}return i}()})]})},k=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.reports;return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.2rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-secret",verticalAlign:"middle",size:2,mr:"1rem"}),(0,e.createVNode)(1,"br"),"All Reported Books",(0,e.createVNode)(1,"br")]}),(0,e.createComponentVNode)(2,t.Button,{content:"Return to Main",icon:"arrow-alt-circle-left",onClick:function(){function h(){return d("return")}return h}()}),(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Uploader CKEY"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"SSID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Author"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Report Type"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Reporter Ckey"}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"middle",children:"Administrative Actions"})]}),i.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:h.uploader_ckey}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.id}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"book"}),h.title]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:h.author}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:h.report_description}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:h.reporter_ckey}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button.Confirm,{content:"Delete",icon:"trash",onClick:function(){function C(){return d("delete_book",{bookid:h.id})}return C}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Unflag",icon:"flag",color:"caution",onClick:function(){function C(){return d("unflag_book",{bookid:h.id})}return C}()}),(0,e.createComponentVNode)(2,t.Button,{content:"View",onClick:function(){function C(){return d("view_book",{bookid:h.id})}return C}()})]})]},h.id)})]})})},g=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.ckey,h=s.booklist;return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.2rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user",verticalAlign:"middle",size:2,mr:"1rem"}),(0,e.createVNode)(1,"br"),"Books uploaded by ",i,(0,e.createVNode)(1,"br")]}),(0,e.createComponentVNode)(2,t.Button,{mt:1,content:"Return to Main",icon:"arrow-alt-circle-left",onClick:function(){function C(){return d("return")}return C}()}),(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"SSID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Author"}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"middle",children:"Administrative Actions"})]}),h.map(function(C){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:C.id}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"book"}),C.title]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:C.author}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",children:[(0,e.createComponentVNode)(2,t.Button.Confirm,{content:"Delete",icon:"trash",color:"bad",onClick:function(){function v(){return d("delete_book",{bookid:C.id})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{content:"View",onClick:function(){function v(){return d("view_book",{bookid:C.id})}return v}()})]})]},C.id)})]})})}},90447:function(A,r,n){"use strict";r.__esModule=!0,r.ListInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(36036),f=n(72253),b=n(92986),S=n(98595),I=r.ListInputModal=function(){function u(c,m){var l=(0,f.useBackend)(m),d=l.act,s=l.data,i=s.items,h=i===void 0?[]:i,C=s.message,v=C===void 0?"":C,p=s.init_value,N=s.timeout,V=s.title,y=(0,f.useLocalState)(m,"selected",h.indexOf(p)),B=y[0],L=y[1],w=(0,f.useLocalState)(m,"searchBarVisible",h.length>10),x=w[0],T=w[1],M=(0,f.useLocalState)(m,"searchQuery",""),O=M[0],D=M[1],E=function(){function G(J){var Q=z.length-1;if(J===b.KEY_DOWN)if(B===null||B===Q){var ue;L(0),(ue=document.getElementById("0"))==null||ue.scrollIntoView()}else{var ie;L(B+1),(ie=document.getElementById((B+1).toString()))==null||ie.scrollIntoView()}else if(J===b.KEY_UP)if(B===null||B===0){var pe;L(Q),(pe=document.getElementById(Q.toString()))==null||pe.scrollIntoView()}else{var te;L(B-1),(te=document.getElementById((B-1).toString()))==null||te.scrollIntoView()}}return G}(),P=function(){function G(J){J!==B&&L(J)}return G}(),R=function(){function G(){T(!1),T(!0)}return G}(),j=function(){function G(J){var Q=String.fromCharCode(J),ue=h.find(function(te){return te==null?void 0:te.toLowerCase().startsWith(Q==null?void 0:Q.toLowerCase())});if(ue){var ie,pe=h.indexOf(ue);L(pe),(ie=document.getElementById(pe.toString()))==null||ie.scrollIntoView()}}return G}(),F=function(){function G(J){var Q;J!==O&&(D(J),L(0),(Q=document.getElementById("0"))==null||Q.scrollIntoView())}return G}(),W=function(){function G(){T(!x),D("")}return G}(),z=h.filter(function(G){return G==null?void 0:G.toLowerCase().includes(O.toLowerCase())}),K=330+Math.ceil(v.length/3);return x||setTimeout(function(){var G;return(G=document.getElementById(B.toString()))==null?void 0:G.focus()},1),(0,e.createComponentVNode)(2,S.Window,{title:V,width:325,height:K,children:[N&&(0,e.createComponentVNode)(2,a.Loader,{value:N}),(0,e.createComponentVNode)(2,S.Window.Content,{onKeyDown:function(){function G(J){var Q=window.event?J.which:J.keyCode;(Q===b.KEY_DOWN||Q===b.KEY_UP)&&(J.preventDefault(),E(Q)),Q===b.KEY_ENTER&&(J.preventDefault(),d("submit",{entry:z[B]})),!x&&Q>=b.KEY_A&&Q<=b.KEY_Z&&(J.preventDefault(),j(Q)),Q===b.KEY_ESCAPE&&(J.preventDefault(),d("cancel"))}return G}(),children:(0,e.createComponentVNode)(2,o.Section,{buttons:(0,e.createComponentVNode)(2,o.Button,{compact:!0,icon:x?"search":"font",selected:!0,tooltip:x?"Search Mode. Type to search or use arrow keys to select manually.":"Hotkey Mode. Type a letter to jump to the first match. Enter to select.",tooltipPosition:"left",onClick:function(){function G(){return W()}return G}()}),className:"ListInput__Section",fill:!0,title:v,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,k,{filteredItems:z,onClick:P,onFocusSearch:R,searchBarVisible:x,selected:B})}),(0,e.createComponentVNode)(2,o.Stack.Item,{m:0,children:x&&(0,e.createComponentVNode)(2,g,{filteredItems:z,onSearch:F,searchQuery:O,selected:B})}),(0,e.createComponentVNode)(2,o.Stack.Item,{mt:.5,children:(0,e.createComponentVNode)(2,t.InputButtons,{input:z[B]})})]})})})]})}return u}(),k=function(c,m){var l=(0,f.useBackend)(m),d=l.act,s=c.filteredItems,i=c.onClick,h=c.onFocusSearch,C=c.searchBarVisible,v=c.selected;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,tabIndex:0,children:s.map(function(p,N){return(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:"transparent",id:N,onClick:function(){function V(){return i(N)}return V}(),onDblClick:function(){function V(y){y.preventDefault(),d("submit",{entry:s[v]})}return V}(),onKeyDown:function(){function V(y){var B=window.event?y.which:y.keyCode;C&&B>=b.KEY_A&&B<=b.KEY_Z&&(y.preventDefault(),h())}return V}(),selected:N===v,style:{animation:"none",transition:"none"},children:p.replace(/^\w/,function(V){return V.toUpperCase()})},N)})})},g=function(c,m){var l=(0,f.useBackend)(m),d=l.act,s=c.filteredItems,i=c.onSearch,h=c.searchQuery,C=c.selected;return(0,e.createComponentVNode)(2,o.Input,{width:"100%",autoFocus:!0,autoSelect:!0,onEnter:function(){function v(p){p.preventDefault(),d("submit",{entry:s[C]})}return v}(),onInput:function(){function v(p,N){return i(N)}return v}(),placeholder:"Search...",value:h})}},26826:function(A,r,n){"use strict";r.__esModule=!0,r.Loadout=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b={Default:function(){function c(m,l){return m.gear.gear_tier-l.gear.gear_tier}return c}(),Alphabetical:function(){function c(m,l){return m.gear.name.toLowerCase().localeCompare(l.gear.name.toLowerCase())}return c}(),Cost:function(){function c(m,l){return m.gear.cost-l.gear.cost}return c}()},S=r.Loadout=function(){function c(m,l){var d=(0,t.useBackend)(l),s=d.act,i=d.data,h=(0,t.useLocalState)(l,"search",!1),C=h[0],v=h[1],p=(0,t.useLocalState)(l,"searchText",""),N=p[0],V=p[1],y=(0,t.useLocalState)(l,"category",Object.keys(i.gears)[0]),B=y[0],L=y[1],w=(0,t.useLocalState)(l,"tweakedGear",""),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,f.Window,{width:975,height:650,children:[x&&(0,e.createComponentVNode)(2,u,{tweakedGear:x,setTweakedGear:T}),(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,I,{category:B,setCategory:L})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"25%",children:(0,e.createComponentVNode)(2,g,{setTweakedGear:T})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"75%",children:(0,e.createComponentVNode)(2,k,{category:B,search:C,setSearch:v,searchText:N,setSearchText:V})})]})})]})})]})}return c}(),I=function(m,l){var d=(0,t.useBackend)(l),s=d.act,i=d.data,h=m.category,C=m.setCategory;return(0,e.createComponentVNode)(2,o.Tabs,{fluid:!0,textAlign:"center",style:{"flex-wrap":"wrap-reverse"},children:Object.keys(i.gears).map(function(v){return(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:v===h,style:{"white-space":"nowrap"},onClick:function(){function p(){return C(v)}return p}(),children:v},v)})})},k=function(m,l){var d=(0,t.useBackend)(l),s=d.act,i=d.data,h=i.user_tier,C=i.gear_slots,v=i.max_gear_slots,p=m.category,N=m.search,V=m.setSearch,y=m.searchText,B=m.setSearchText,L=(0,t.useLocalState)(l,"sortType","Default"),w=L[0],x=L[1],T=(0,t.useLocalState)(l,"sortReverse",!1),M=T[0],O=T[1],D=(0,a.createSearch)(y,function(P){return P.name}),E;return y.length>2?E=Object.entries(i.gears).reduce(function(P,R){var j=R[0],F=R[1];return P.concat(Object.entries(F).map(function(W){var z=W[0],K=W[1];return{key:z,gear:K}}))},[]).filter(function(P){var R=P.gear;return D(R)}):E=Object.entries(i.gears[p]).map(function(P){var R=P[0],j=P[1];return{key:R,gear:j}}),E.sort(b[w]),M&&(E=E.reverse()),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:p,buttons:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Dropdown,{height:1.66,selected:w,options:Object.keys(b),onSelected:function(){function P(R){return x(R)}return P}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:M?"arrow-down-wide-short":"arrow-down-short-wide",tooltip:M?"Ascending order":"Descending order",tooltipPosition:"bottom-end",onClick:function(){function P(){return O(!M)}return P}()})}),N&&(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Input,{width:20,placeholder:"Search...",value:y,onInput:function(){function P(R){return B(R.target.value)}return P}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:"magnifying-glass",selected:N,tooltip:"Toggle search field",tooltipPosition:"bottom-end",onClick:function(){function P(){V(!N),B("")}return P}()})})]}),children:E.map(function(P){var R=P.key,j=P.gear,F=12,W=Object.keys(i.selected_gears).includes(R),z=j.cost===1?j.cost+" Point":j.cost+" Points",K=(0,e.createComponentVNode)(2,o.Box,{children:[j.name.length>F&&(0,e.createComponentVNode)(2,o.Box,{children:j.name}),j.gear_tier>h&&(0,e.createComponentVNode)(2,o.Box,{mt:j.name.length>F&&1.5,textColor:"red",children:"That gear is only available at a higher donation tier than you are on."})]}),G=(0,e.createFragment)([j.allowed_roles&&(0,e.createComponentVNode)(2,o.Button,{width:"22px",color:"transparent",icon:"user",tooltip:(0,e.createComponentVNode)(2,o.Section,{m:-1,title:"Allowed Roles",children:j.allowed_roles.map(function(Q){return(0,e.createComponentVNode)(2,o.Box,{children:Q},Q)})}),tooltipPosition:"left"}),Object.entries(j.tweaks).map(function(Q){var ue=Q[0],ie=Q[1];return ie.map(function(pe){return(0,e.createComponentVNode)(2,o.Button,{width:"22px",color:"transparent",icon:pe.icon,tooltip:pe.tooltip,tooltipPosition:"top"},ue)})}),(0,e.createComponentVNode)(2,o.Button,{width:"22px",color:"transparent",icon:"info",tooltip:j.desc,tooltipPosition:"top"})],0),J=(0,e.createComponentVNode)(2,o.Box,{class:"Loadout-InfoBox",children:[(0,e.createComponentVNode)(2,o.Box,{style:{"flex-grow":1},fontSize:1,color:"gold",opacity:.75,children:j.gear_tier>0&&"Tier "+j.gear_tier}),(0,e.createComponentVNode)(2,o.Box,{fontSize:.75,opacity:.66,children:z})]});return(0,e.createComponentVNode)(2,o.ImageButton,{m:.5,imageSize:84,dmIcon:j.icon,dmIconState:j.icon_state,tooltip:(j.name.length>F||j.gear_tier>0)&&K,tooltipPosition:"bottom",selected:W,disabled:j.gear_tier>h||C+j.cost>v&&!W,buttons:G,buttonsAlt:J,onClick:function(){function Q(){return s("toggle_gear",{gear:R})}return Q}(),children:j.name},R)})})},g=function(m,l){var d=(0,t.useBackend)(l),s=d.act,i=d.data,h=m.setTweakedGear,C=Object.entries(i.gears).reduce(function(v,p){var N=p[0],V=p[1],y=Object.entries(V).filter(function(B){var L=B[0];return Object.keys(i.selected_gears).includes(L)}).map(function(B){var L=B[0],w=B[1];return Object.assign({key:L},w)});return v.concat(y)},[]);return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Selected Equipment",buttons:(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",tooltip:"Clear Loadout",tooltipPosition:"bottom-end",onClick:function(){function v(){return s("clear_loadout")}return v}()}),children:C.map(function(v){return(0,e.createComponentVNode)(2,o.ImageButton,{fluid:!0,imageSize:32,dmIcon:v.icon,dmIconState:v.icon_state,buttons:(0,e.createFragment)([Object.entries(v.tweaks).length>0&&(0,e.createComponentVNode)(2,o.Button,{translucent:!0,icon:"gears",iconColor:"gray",width:"33px",onClick:function(){function p(){return h(v)}return p}()}),(0,e.createComponentVNode)(2,o.Button,{translucent:!0,icon:"times",iconColor:"red",width:"32px",onClick:function(){function p(){return s("toggle_gear",{gear:v.key})}return p}()})],0),children:v.name},v.key)})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.ProgressBar,{value:i.gear_slots,maxValue:i.max_gear_slots,ranges:{bad:[i.max_gear_slots,1/0],average:[i.max_gear_slots*.66,i.max_gear_slots],good:[0,i.max_gear_slots*.66]},children:(0,e.createComponentVNode)(2,o.Box,{textAlign:"center",children:["Used points ",i.gear_slots,"/",i.max_gear_slots]})})})})]})},u=function(m,l){var d=(0,t.useBackend)(l),s=d.act,i=d.data,h=m.tweakedGear,C=m.setTweakedGear;return(0,e.createComponentVNode)(2,o.Dimmer,{children:(0,e.createComponentVNode)(2,o.Box,{className:"Loadout-Modal__background",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,width:20,height:20,title:h.name,buttons:(0,e.createComponentVNode)(2,o.Button,{color:"red",icon:"times",tooltip:"Close",tooltipPosition:"top",onClick:function(){function v(){return C("")}return v}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:Object.entries(h.tweaks).map(function(v){var p=v[0],N=v[1];return N.map(function(V){var y=i.selected_gears[h.key][p];return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:V.name,color:y?"":"gray",buttons:(0,e.createComponentVNode)(2,o.Button,{color:"transparent",icon:"pen",onClick:function(){function B(){return s("set_tweak",{gear:h.key,tweak:p})}return B}()}),children:[y||"Default",(0,e.createComponentVNode)(2,o.Box,{inline:!0,ml:1,width:1,height:1,verticalAlign:"middle",style:{"background-color":""+y}})]},p)})})})})})})}},77613:function(A,r,n){"use strict";r.__esModule=!0,r.MODsuitContent=r.MODsuit=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(B,L){var w=B.name,x=B.value,T=B.module_ref,M=(0,a.useBackend)(L),O=M.act;return(0,e.createComponentVNode)(2,t.NumberInput,{value:x,minValue:-50,maxValue:50,stepPixelSize:5,width:"39px",onChange:function(){function D(E,P){return O("configure",{key:w,value:P,ref:T})}return D}()})},b=function(B,L){var w=B.name,x=B.value,T=B.module_ref,M=(0,a.useBackend)(L),O=M.act;return(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:x,onClick:function(){function D(){return O("configure",{key:w,value:!x,ref:T})}return D}()})},S=function(B,L){var w=B.name,x=B.value,T=B.module_ref,M=(0,a.useBackend)(L),O=M.act;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"paint-brush",onClick:function(){function D(){return O("configure",{key:w,ref:T})}return D}()}),(0,e.createComponentVNode)(2,t.ColorBox,{color:x,mr:.5})],4)},I=function(B,L){var w=B.name,x=B.value,T=B.values,M=B.module_ref,O=(0,a.useBackend)(L),D=O.act;return(0,e.createComponentVNode)(2,t.Dropdown,{displayText:x,options:T,onSelected:function(){function E(P){return D("configure",{key:w,value:P,ref:M})}return E}()})},k=function(B,L){var w=B.name,x=B.display_name,T=B.type,M=B.value,O=B.values,D=B.module_ref,E={number:(0,e.normalizeProps)((0,e.createComponentVNode)(2,f,Object.assign({},B))),bool:(0,e.normalizeProps)((0,e.createComponentVNode)(2,b,Object.assign({},B))),color:(0,e.normalizeProps)((0,e.createComponentVNode)(2,S,Object.assign({},B))),list:(0,e.normalizeProps)((0,e.createComponentVNode)(2,I,Object.assign({},B)))};return(0,e.createComponentVNode)(2,t.Box,{children:[x,": ",E[T]]})},g=function(B,L){var w=B.active,x=B.userradiated,T=B.usertoxins,M=B.usermaxtoxins,O=B.threatlevel;return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Radiation Level",color:w&&x?"bad":"good",children:w&&x?"IRRADIATED!":"RADIATION-FREE"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Toxins Level",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?T/M:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:T})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Hazard Level",color:w&&O?"bad":"good",bold:!0,children:w&&O?O:0})})]})},u=function(B,L){var w=B.active,x=B.userhealth,T=B.usermaxhealth,M=B.userbrute,O=B.userburn,D=B.usertoxin,E=B.useroxy;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?x/T:0,ranges:{good:[.5,1/0],average:[.2,.5],bad:[-1/0,.2]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?x:0})})}),(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Brute",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?M/T:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?M:0})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Burn",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?O/T:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?O:0})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Toxin",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?D/T:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?D:0})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Suffocation",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?E/T:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?E:0})})})})]})],4)},c=function(B,L){var w=B.active,x=B.statustime,T=B.statusid,M=B.statushealth,O=B.statusmaxhealth,D=B.statusbrute,E=B.statusburn,P=B.statustoxin,R=B.statusoxy,j=B.statustemp,F=B.statusnutrition,W=B.statusfingerprints,z=B.statusdna,K=B.statusviruses;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Operation Time",children:w?x:"00:00:00"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Operation Number",children:w?T||"0":"???"})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?M/O:0,ranges:{good:[.5,1/0],average:[.2,.5],bad:[-1/0,.2]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?M:0})})}),(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Brute",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?D/O:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?D:0})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Burn",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?E/O:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?E:0})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Toxin",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?P/O:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:P})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Suffocation",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?R/O:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:R})})})})]}),(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Body Temperature",children:w?j:0})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Nutrition Status",children:w?F:0})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"DNA",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fingerprints",children:w?W:"???"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Unique Enzymes",children:w?z:"???"})]})}),!!w&&!!K&&(0,e.createComponentVNode)(2,t.Section,{title:"Diseases",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"signature",tooltip:"Name",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"wind",tooltip:"Type",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"bolt",tooltip:"Stage",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"flask",tooltip:"Cure",tooltipPosition:"top"})})]}),K.map(function(G){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:G.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:G.type}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:[G.stage,"/",G.maxstage]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:G.cure})]},G.name)})]})})],0)},m={rad_counter:g,health_analyzer:u,status_readout:c},l=function(){return(0,e.createComponentVNode)(2,t.Section,{align:"center",fill:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{color:"red",name:"exclamation-triangle",size:15}),(0,e.createComponentVNode)(2,t.Box,{fontSize:"30px",color:"red",children:"ERROR: INTERFACE UNRESPONSIVE"})]})},d=function(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data;return(0,e.createComponentVNode)(2,t.Dimmer,{children:(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"16px",color:"blue",children:"SUIT UNPOWERED"})})})},s=function(B,L){var w=B.configuration_data,x=B.module_ref,T=Object.keys(w);return(0,e.createComponentVNode)(2,t.Dimmer,{backgroundColor:"rgba(0, 0, 0, 0.8)",children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:[T.map(function(M){var O=w[M];return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,k,{name:M,display_name:O.display_name,type:O.type,value:O.value,values:O.values,module_ref:x})},O.key)}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:B.onExit,icon:"times",textAlign:"center",children:"Exit"})})})]})})},i=function(B){switch(B){case 1:return"Use";case 2:return"Toggle";case 3:return"Select"}},h=function(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.active,O=T.malfunctioning,D=T.locked,E=T.open,P=T.selected_module,R=T.complexity,j=T.complexity_max,F=T.wearer_name,W=T.wearer_job,z=O?"Malfunctioning":M?"Active":"Inactive";return(0,e.createComponentVNode)(2,t.Section,{title:"Parameters",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:M?"Deactivate":"Activate",onClick:function(){function K(){return x("activate")}return K}()}),children:z}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Lock",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:D?"lock-open":"lock",content:D?"Unlock":"Lock",onClick:function(){function K(){return x("lock")}return K}()}),children:D?"Locked":"Unlocked"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cover",children:E?"Open":"Closed"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Selected Module",children:P||"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Complexity",children:[R," (",j,")"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Occupant",children:[F,", ",W]})]})})},C=function(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.active,O=T.control,D=T.helmet,E=T.chestplate,P=T.gauntlets,R=T.boots,j=T.core,F=T.charge;return(0,e.createComponentVNode)(2,t.Section,{title:"Hardware",children:[(0,e.createComponentVNode)(2,t.Collapsible,{title:"Parts",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Control Unit",children:O}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Helmet",children:D||"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Chestplate",children:E||"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Gauntlets",children:P||"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Boots",children:R||"None"})]})}),(0,e.createComponentVNode)(2,t.Collapsible,{title:"Core",children:j&&(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Core Type",children:j}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Core Charge",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:F/100,content:F+"%",ranges:{good:[.6,1/0],average:[.3,.6],bad:[-1/0,.3]}})})]})||(0,e.createComponentVNode)(2,t.Box,{color:"bad",textAlign:"center",children:"No Core Detected"})})]})},v=function(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.active,O=T.modules,D=O.filter(function(E){return!!E.id});return(0,e.createComponentVNode)(2,t.Section,{title:"Info",children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:D.length!==0&&D.map(function(E){var P=m[E.id];return(0,e.createComponentVNode)(2,t.Stack.Item,{children:[!M&&(0,e.createComponentVNode)(2,d),(0,e.normalizeProps)((0,e.createComponentVNode)(2,P,Object.assign({},E,{active:M})))]},E.ref)})||(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",children:"No Info Modules Detected"})})})},p=function(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.complexity_max,O=T.modules,D=(0,a.useLocalState)(L,"module_configuration",null),E=D[0],P=D[1];return(0,e.createComponentVNode)(2,t.Section,{title:"Modules",fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:O.length!==0&&O.map(function(R){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Collapsible,{title:R.module_name,children:(0,e.createComponentVNode)(2,t.Section,{children:[E===R.ref&&(0,e.createComponentVNode)(2,s,{configuration_data:R.configuration_data,module_ref:R.ref,onExit:function(){function j(){return P(null)}return j}()}),(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"save",tooltip:"Complexity",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"plug",tooltip:"Idle Power Cost",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"lightbulb",tooltip:"Active Power Cost",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"bolt",tooltip:"Use Power Cost",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"hourglass-half",tooltip:"Cooldown",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"tasks",tooltip:"Actions",tooltipPosition:"top"})})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:[R.module_complexity,"/",M]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:R.idle_power}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:R.active_power}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:R.use_power}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:[R.cooldown>0&&R.cooldown/10||"0","/",R.cooldown_time/10,"s"]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function j(){return x("select",{ref:R.ref})}return j}(),icon:"bullseye",selected:R.module_active,tooltip:i(R.module_type),tooltipPosition:"left",disabled:!R.module_type}),(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function j(){return P(R.ref)}return j}(),icon:"cog",selected:E===R.ref,tooltip:"Configure",tooltipPosition:"left",disabled:R.configuration_data.length===0}),(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function j(){return x("pin",{ref:R.ref})}return j}(),icon:"thumbtack",selected:R.pinned,tooltip:"Pin",tooltipPosition:"left",disabled:!R.module_type})]})]})]}),(0,e.createComponentVNode)(2,t.Box,{children:R.description})]})})},R.ref)})||(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",children:"No Modules Detected"})})})})},N=r.MODsuitContent=function(){function y(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.ui_theme,O=T.interface_break;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!O,children:!!O&&(0,e.createComponentVNode)(2,l)||(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,h)}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,C)}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,v)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,p)})]})})}return y}(),V=r.MODsuit=function(){function y(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.ui_theme,O=T.interface_break;return(0,e.createComponentVNode)(2,o.Window,{theme:M,width:400,height:620,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,N)})})})}return y}()},78624:function(A,r,n){"use strict";r.__esModule=!0,r.MagnetController=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=n(3939),S=new Map([["n",{icon:"arrow-up",tooltip:"Move North"}],["e",{icon:"arrow-right",tooltip:"Move East"}],["s",{icon:"arrow-down",tooltip:"Move South"}],["w",{icon:"arrow-left",tooltip:"Move West"}],["c",{icon:"crosshairs",tooltip:"Move to Magnet"}],["r",{icon:"dice",tooltip:"Move Randomly"}]]),I=r.MagnetController=function(){function k(g,u){var c=(0,t.useBackend)(u),m=c.act,l=c.data,d=l.autolink,s=l.code,i=l.frequency,h=l.linkedMagnets,C=l.magnetConfiguration,v=l.path,p=l.pathPosition,N=l.probing,V=l.powerState,y=l.speed;return(0,e.createComponentVNode)(2,f.Window,{width:400,height:600,children:[(0,e.createComponentVNode)(2,b.ComplexModal),(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:[!d&&(0,e.createComponentVNode)(2,o.Section,{buttons:(0,e.createComponentVNode)(2,o.Button,{content:"Probe",icon:N?"spinner":"sync",iconSpin:!!N,disabled:N,onClick:function(){function B(){return m("probe_magnets")}return B}()}),title:"Magnet Linking",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",children:(0,a.toFixed)(i/10,1)}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Code",children:s})]})}),(0,e.createComponentVNode)(2,o.Section,{buttons:(0,e.createComponentVNode)(2,o.Button,{icon:V?"power-off":"times",content:V?"On":"Off",selected:V,onClick:function(){function B(){return m("toggle_power")}return B}()}),title:"Controller Configuration",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Speed",children:(0,e.createComponentVNode)(2,o.Slider,{value:y.value,minValue:y.min,maxValue:y.max,onChange:function(){function B(L,w){return m("set_speed",{speed:w})}return B}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Path",children:[Array.from(S.entries()).map(function(B){var L=B[0],w=B[1],x=w.icon,T=w.tooltip;return(0,e.createComponentVNode)(2,o.Button,{icon:x,tooltip:T,onClick:function(){function M(){return m("path_add",{code:L})}return M}()},L)}),(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",confirmIcon:"trash",confirmContent:"",float:"right",tooltip:"Reset Path",tooltipPosition:"left",onClick:function(){function B(){return m("path_clear")}return B}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"file-import",float:"right",tooltip:"Manually input path",tooltipPosition:"left",onClick:function(){function B(){return(0,b.modalOpen)(u,"path_custom_input")}return B}()}),(0,e.createComponentVNode)(2,o.BlockQuote,{children:v.map(function(B,L){var w=S.get(B)||{icon:"question"},x=w.icon,T=w.tooltip;return(0,e.createComponentVNode)(2,o.Button.Confirm,{selected:L+2===p,icon:x,confirmIcon:x,confirmContent:"",tooltip:T,onClick:function(){function M(){return m("path_remove",{index:L+1,code:B})}return M}()},L)})})]})]})}),h.map(function(B,L){var w=B.uid,x=B.powerState,T=B.electricityLevel,M=B.magneticField;return(0,e.createComponentVNode)(2,o.Section,{title:"Magnet #"+(L+1)+" Configuration",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:x?"power-off":"times",content:x?"On":"Off",selected:x,onClick:function(){function O(){return m("toggle_magnet_power",{id:w})}return O}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Move Speed",children:(0,e.createComponentVNode)(2,o.Slider,{value:T,minValue:C.electricityLevel.min,maxValue:C.electricityLevel.max,onChange:function(){function O(D,E){return m("set_electricity_level",{id:w,electricityLevel:E})}return O}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Field Size",children:(0,e.createComponentVNode)(2,o.Slider,{value:M,minValue:C.magneticField.min,maxValue:C.magneticField.max,onChange:function(){function O(D,E){return m("set_magnetic_field",{id:w,magneticField:E})}return O}()})})]})},w)})]})]})}return k}()},72106:function(A,r,n){"use strict";r.__esModule=!0,r.MechBayConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.MechBayConsole=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.recharge_port,m=c&&c.mech,l=m&&m.cell,d=m&&m.name;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:155,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:d?"Mech status: "+d:"Mech status",textAlign:"center",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Sync",onClick:function(){function s(){return g("reconnect")}return s}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:!c&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No power port detected. Please re-sync."})||!m&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No mech detected."})||(0,e.createComponentVNode)(2,t.ProgressBar,{value:m.health/m.maxhealth,ranges:{good:[.7,1/0],average:[.3,.7],bad:[-1/0,.3]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:!c&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No power port detected. Please re-sync."})||!m&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No mech detected."})||!l&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No cell is installed."})||(0,e.createComponentVNode)(2,t.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,1/0],average:[.3,.7],bad:[-1/0,.3]},children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})})})}return b}()},7466:function(A,r,n){"use strict";r.__esModule=!0,r.MechaControlConsole=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=n(25328),S=r.MechaControlConsole=function(){function I(k,g){var u=(0,t.useBackend)(g),c=u.act,m=u.data,l=m.beacons,d=m.stored_data;return d.length?(0,e.createComponentVNode)(2,f.Window,{width:420,height:500,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"window-close",onClick:function(){function s(){return c("clear_log")}return s}()}),children:d.map(function(s){return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",children:["(",s.time,")"]}),(0,e.createComponentVNode)(2,o.Box,{children:(0,b.decodeHtmlEntities)(s.message)})]},s.time)})})})}):(0,e.createComponentVNode)(2,f.Window,{width:420,height:500,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:l.length&&l.map(function(s){return(0,e.createComponentVNode)(2,o.Section,{title:s.name,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function i(){return c("send_message",{mt:s.uid})}return i}(),children:"Message"}),(0,e.createComponentVNode)(2,o.Button,{icon:"eye",onClick:function(){function i(){return c("get_log",{mt:s.uid})}return i}(),children:"View Log"}),(0,e.createComponentVNode)(2,o.Button.Confirm,{color:"red",content:"Sabotage",icon:"bomb",onClick:function(){function i(){return c("shock",{mt:s.uid})}return i}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{good:[s.maxHealth*.75,1/0],average:[s.maxHealth*.5,s.maxHealth*.75],bad:[-1/0,s.maxHealth*.5]},value:s.health,maxValue:s.maxHealth})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cell Charge",children:s.cell&&(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{good:[s.cellMaxCharge*.75,1/0],average:[s.cellMaxCharge*.5,s.cellMaxCharge*.75],bad:[-1/0,s.cellMaxCharge*.5]},value:s.cellCharge,maxValue:s.cellMaxCharge})||(0,e.createComponentVNode)(2,o.NoticeBox,{children:"No Cell Installed"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Air Tank",children:[s.airtank,"kPa"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pilot",children:s.pilot||"Unoccupied"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Location",children:(0,b.toTitleCase)(s.location)||"Unknown"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Active Equipment",children:s.active||"None"}),s.cargoMax&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cargo Space",children:(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{bad:[s.cargoMax*.75,1/0],average:[s.cargoMax*.5,s.cargoMax*.75],good:[-1/0,s.cargoMax*.5]},value:s.cargoUsed,maxValue:s.cargoMax})})||null]})},s.name)})||(0,e.createComponentVNode)(2,o.NoticeBox,{children:"No mecha beacons found."})})})}return I}()},79625:function(A,r,n){"use strict";r.__esModule=!0,r.MedicalRecords=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(3939),b=n(98595),S=n(321),I=n(5485),k=n(22091),g={Minor:"lightgray",Medium:"good",Harmful:"average","Dangerous!":"bad","BIOHAZARD THREAT!":"darkred"},u={"*Deceased*":"deceased","*SSD*":"ssd","Physically Unfit":"physically_unfit",Disabled:"disabled"},c=function(x,T){(0,f.modalOpen)(x,"edit",{field:T.edit,value:T.value})},m=function(x,T){var M=x.args;return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:M.name||"Virus",children:(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Number of stages",children:M.max_stages}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Spread",children:[M.spread_text," Transmission"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Possible cure",children:M.cure}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Notes",children:M.desc}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Severity",color:g[M.severity],children:M.severity})]})})})},l=r.MedicalRecords=function(){function w(x,T){var M=(0,t.useBackend)(T),O=M.data,D=O.loginState,E=O.screen;if(!D.logged_in)return(0,e.createComponentVNode)(2,b.Window,{width:800,height:900,children:(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,I.LoginScreen)})});var P;return E===2?P=(0,e.createComponentVNode)(2,d):E===3?P=(0,e.createComponentVNode)(2,s):E===4?P=(0,e.createComponentVNode)(2,i):E===5?P=(0,e.createComponentVNode)(2,p):E===6?P=(0,e.createComponentVNode)(2,N):E===7&&(P=(0,e.createComponentVNode)(2,V)),(0,e.createComponentVNode)(2,b.Window,{width:800,height:900,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S.LoginInfo),(0,e.createComponentVNode)(2,k.TemporaryNotice),(0,e.createComponentVNode)(2,L),P]})})]})}return w}(),d=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.records,P=(0,t.useLocalState)(T,"searchText",""),R=P[0],j=P[1],F=(0,t.useLocalState)(T,"sortId","name"),W=F[0],z=F[1],K=(0,t.useLocalState)(T,"sortOrder",!0),G=K[0],J=K[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Manage Records",icon:"wrench",ml:"0.25rem",onClick:function(){function Q(){return O("screen",{screen:3})}return Q}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{fluid:!0,placeholder:"Search by Name, ID, Physical Status, or Mental Status",onInput:function(){function Q(ue,ie){return j(ie)}return Q}()})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,y,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,y,{id:"id",children:"ID"}),(0,e.createComponentVNode)(2,y,{id:"rank",children:"Assignment"}),(0,e.createComponentVNode)(2,y,{id:"p_stat",children:"Patient Status"}),(0,e.createComponentVNode)(2,y,{id:"m_stat",children:"Mental Status"})]}),E.filter((0,a.createSearch)(R,function(Q){return Q.name+"|"+Q.id+"|"+Q.rank+"|"+Q.p_stat+"|"+Q.m_stat})).sort(function(Q,ue){var ie=G?1:-1;return Q[W].localeCompare(ue[W])*ie}).map(function(Q){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listRow--"+u[Q.p_stat],onClick:function(){function ue(){return O("view_record",{view_record:Q.ref})}return ue}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",Q.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.rank}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.p_stat}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.m_stat})]},Q.id)})]})})})],4)},s=function(x,T){var M=(0,t.useBackend)(T),O=M.act;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,translucent:!0,lineHeight:3,icon:"download",content:"Backup to Disk",disabled:!0})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:[(0,e.createComponentVNode)(2,o.Button,{fluid:!0,translucent:!0,lineHeight:3,icon:"upload",content:"Upload from Disk",my:"0.5rem",disabled:!0})," "]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button.Confirm,{fluid:!0,translucent:!0,lineHeight:3,icon:"trash",content:"Delete All Medical Records",onClick:function(){function D(){return O("del_all_med_records")}return D}()})})]})})},i=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.medical,P=D.printing;return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{height:"235px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"General Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:P?"spinner":"print",disabled:P,iconSpin:!!P,content:"Print Record",ml:"0.5rem",onClick:function(){function R(){return O("print_record")}return R}()}),children:(0,e.createComponentVNode)(2,h)})}),!E||!E.fields?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Medical Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"pen",content:"Create New Record",onClick:function(){function R(){return O("new_med_record")}return R}()}),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"scroll",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"Medical records lost!"]})})})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Medical Data",buttons:(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",disabled:!!E.empty,content:"Delete Medical Record",onClick:function(){function R(){return O("del_med_record")}return R}()}),children:(0,e.createComponentVNode)(2,C)})}),(0,e.createComponentVNode)(2,v)],4)],0)},h=function(x,T){var M=(0,t.useBackend)(T),O=M.data,D=O.general;return!D||!D.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"General records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:D.fields.map(function(E,P){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:E.field,children:[(0,e.createComponentVNode)(2,o.Box,{height:"20px",inline:!0,children:E.value}),!!E.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",onClick:function(){function R(){return c(T,E)}return R}()})]},P)})})}),!!D.has_photos&&D.photos.map(function(E,P){return(0,e.createComponentVNode)(2,o.Stack.Item,{inline:!0,textAlign:"center",color:"label",ml:0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:E,style:{width:"96px","margin-top":"2.5rem","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"br"),"Photo #",P+1]},P)})]})},C=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.medical;return!E||!E.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"Medical records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:E.fields.map(function(P,R){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:P.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(P.value),!!P.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:P.line_break?"1rem":"initial",onClick:function(){function j(){return c(T,P)}return j}()})]},R)})})})})},v=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.medical;return(0,e.createComponentVNode)(2,o.Stack.Item,{height:"150px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Comments/Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"comment",content:"Add Entry",onClick:function(){function P(){return(0,f.modalOpen)(T,"add_comment")}return P}()}),children:E.comments.length===0?(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No comments found."}):E.comments.map(function(P,R){return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:P.header}),(0,e.createVNode)(1,"br"),P.text,(0,e.createComponentVNode)(2,o.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){function j(){return O("del_comment",{del_comment:R+1})}return j}()})]},R)})})})},p=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.virus,P=(0,t.useLocalState)(T,"searchText",""),R=P[0],j=P[1],F=(0,t.useLocalState)(T,"sortId2","name"),W=F[0],z=F[1],K=(0,t.useLocalState)(T,"sortOrder2",!0),G=K[0],J=K[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{ml:"0.25rem",fluid:!0,placeholder:"Search by Name, Max Stages, or Severity",onInput:function(){function Q(ue,ie){return j(ie)}return Q}()})}),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,B,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,B,{id:"max_stages",children:"Max Stages"}),(0,e.createComponentVNode)(2,B,{id:"severity",children:"Severity"})]}),E.filter((0,a.createSearch)(R,function(Q){return Q.name+"|"+Q.max_stages+"|"+Q.severity})).sort(function(Q,ue){var ie=G?1:-1;return Q[W].localeCompare(ue[W])*ie}).map(function(Q){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listVirus--"+Q.severity,onClick:function(){function ue(){return O("vir",{vir:Q.D})}return ue}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"virus"})," ",Q.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.max_stages}),(0,e.createComponentVNode)(2,o.Table.Cell,{color:g[Q.severity],children:Q.severity})]},Q.id)})]})})})})],4)},N=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.goals;return(0,e.createComponentVNode)(2,o.Section,{title:"Virology Goals",fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:E.length!==0&&E.map(function(P){return(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:P.name,children:[(0,e.createComponentVNode)(2,o.Table,{children:(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:(0,e.createComponentVNode)(2,o.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,o.ProgressBar,{value:P.delivered,minValue:0,maxValue:P.deliverygoal,ranges:{good:[P.deliverygoal*.5,1/0],average:[P.deliverygoal*.25,P.deliverygoal*.5],bad:[-1/0,P.deliverygoal*.25]},children:[P.delivered," / ",P.deliverygoal," Units"]})})})}),(0,e.createComponentVNode)(2,o.Box,{children:P.report})]})},P.id)})||(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Box,{textAlign:"center",children:"No Goals Detected"})})})})},V=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.medbots;return E.length===0?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"robot",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"There are no Medibots."]})})})}):(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Area"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Chemicals"})]}),E.map(function(P){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listMedbot--"+P.on,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"medical"})," ",P.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:[P.area||"Unknown"," (",P.x,", ",P.y,")"]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:P.on?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:"Online"}):(0,e.createComponentVNode)(2,o.Box,{color:"average",children:"Offline"})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:P.use_beaker?"Reservoir: "+P.total_volume+"/"+P.maximum_volume:"Using internal synthesizer"})]},P.id)})]})})})},y=function(x,T){var M=(0,t.useLocalState)(T,"sortId","name"),O=M[0],D=M[1],E=(0,t.useLocalState)(T,"sortOrder",!0),P=E[0],R=E[1],j=x.id,F=x.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:O!==j&&"transparent",onClick:function(){function W(){O===j?R(!P):(D(j),R(!0))}return W}(),children:[F,O===j&&(0,e.createComponentVNode)(2,o.Icon,{name:P?"sort-up":"sort-down",ml:"0.25rem;"})]})})},B=function(x,T){var M=(0,t.useLocalState)(T,"sortId2","name"),O=M[0],D=M[1],E=(0,t.useLocalState)(T,"sortOrder2",!0),P=E[0],R=E[1],j=x.id,F=x.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:O!==j&&"transparent",onClick:function(){function W(){O===j?R(!P):(D(j),R(!0))}return W}(),children:[F,O===j&&(0,e.createComponentVNode)(2,o.Icon,{name:P?"sort-up":"sort-down",ml:"0.25rem;"})]})})},L=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.screen,P=D.general;return(0,e.createComponentVNode)(2,o.Stack.Item,{m:0,children:(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"list",selected:E===2,onClick:function(){function R(){O("screen",{screen:2})}return R}(),children:"List Records"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"database",selected:E===5,onClick:function(){function R(){O("screen",{screen:5})}return R}(),children:"Virus Database"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"vial",selected:E===6,onClick:function(){function R(){O("screen",{screen:6})}return R}(),children:"Virology Goals"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"plus-square",selected:E===7,onClick:function(){function R(){return O("screen",{screen:7})}return R}(),children:"Medibot Tracking"}),E===3&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"wrench",selected:E===3,children:"Record Maintenance"}),E===4&&P&&!P.empty&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"file",selected:E===4,children:["Record: ",P.fields[0].value]})]})})};(0,f.modalRegisterBodyOverride)("virus",m)},54989:function(A,r,n){"use strict";r.__esModule=!0,r.MerchVendor=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=g.product,s=g.productImage,i=g.productCategory,h=l.user_money;return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+s,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}})}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:d.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{disabled:d.price>h,icon:"shopping-cart",content:d.price,textAlign:"left",onClick:function(){function C(){return m("purchase",{name:d.name,category:i})}return C}()})})]})},b=function(g,u){var c=(0,a.useBackend)(u),m=c.data,l=(0,a.useLocalState)(u,"tabIndex",1),d=l[0],s=m.products,i=m.imagelist,h=["apparel","toy","decoration"];return(0,e.createComponentVNode)(2,t.Table,{children:s[h[d]].map(function(C){return(0,e.createComponentVNode)(2,f,{product:C,productImage:i[C.path],productCategory:h[d]},C.name)})})},S=r.MerchVendor=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.user_cash,s=l.inserted_cash;return(0,e.createComponentVNode)(2,o.Window,{title:"Merch Computer",width:450,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"User",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{color:"light-grey",inline:!0,mr:"0.5rem",children:["There is ",(0,e.createVNode)(1,"b",null,s,0)," credits inserted."]}),(0,e.createComponentVNode)(2,t.Button,{disabled:!s,icon:"money-bill-wave-alt",content:"Dispense Change",textAlign:"left",onClick:function(){function i(){return m("change")}return i}()})],4),children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:["Doing your job and not getting any recognition at work? Well, welcome to the merch shop! Here, you can buy cool things in exchange for money you earn when you have completed your Job Objectives.",d!==null&&(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:["Your balance is ",(0,e.createVNode)(1,"b",null,[d||0,(0,e.createTextVNode)(" credits")],0),"."]})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Products",children:[(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,b)]})})]})})})}return k}(),I=function(g,u){var c=(0,a.useBackend)(u),m=c.data,l=(0,a.useLocalState)(u,"tabIndex",1),d=l[0],s=l[1],i=m.login_state;return(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"dice",selected:d===1,onClick:function(){function h(){return s(1)}return h}(),children:"Toys"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"flag",selected:d===2,onClick:function(){function h(){return s(2)}return h}(),children:"Decorations"})]})}},87684:function(A,r,n){"use strict";r.__esModule=!0,r.MiningVendor=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=["title","items","gridLayout"];function S(l,d){if(l==null)return{};var s={};for(var i in l)if({}.hasOwnProperty.call(l,i)){if(d.includes(i))continue;s[i]=l[i]}return s}var I={Alphabetical:function(){function l(d,s){return d-s}return l}(),Availability:function(){function l(d,s){return-(d.affordable-s.affordable)}return l}(),Price:function(){function l(d,s){return d.price-s.price}return l}()},k=r.MiningVendor=function(){function l(d,s){var i=(0,t.useLocalState)(s,"gridLayout",!1),h=i[0],C=i[1];return(0,e.createComponentVNode)(2,f.Window,{width:400,height:525,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,g),(0,e.createComponentVNode)(2,c,{gridLayout:h,setGridLayout:C}),(0,e.createComponentVNode)(2,u,{gridLayout:h})]})})})}return l}(),g=function(d,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=C.has_id,p=C.id;return(0,e.createComponentVNode)(2,o.NoticeBox,{success:v,children:v?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{inline:!0,verticalAlign:"middle",style:{float:"left"},children:["Logged in as ",p.name,".",(0,e.createVNode)(1,"br"),"You have ",p.points.toLocaleString("en-US")," points."]}),(0,e.createComponentVNode)(2,o.Button,{icon:"eject",content:"Eject ID",style:{float:"right"},onClick:function(){function N(){return h("logoff")}return N}()}),(0,e.createComponentVNode)(2,o.Box,{style:{clear:"both"}})],4):"Please insert an ID in order to make purchases."})},u=function(d,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=C.has_id,p=C.id,N=C.items,V=d.gridLayout,y=(0,t.useLocalState)(s,"search",""),B=y[0],L=y[1],w=(0,t.useLocalState)(s,"sort","Alphabetical"),x=w[0],T=w[1],M=(0,t.useLocalState)(s,"descending",!1),O=M[0],D=M[1],E=(0,a.createSearch)(B,function(j){return j[0]}),P=!1,R=Object.entries(N).map(function(j,F){var W=Object.entries(j[1]).filter(E).map(function(z){return z[1].affordable=v&&p.points>=z[1].price,z[1]}).sort(I[x]);if(W.length!==0)return O&&(W=W.reverse()),P=!0,(0,e.createComponentVNode)(2,m,{title:j[0],items:W,gridLayout:V},j[0])});return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:P?R:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No items matching your criteria was found!"})})})},c=function(d,s){var i=d.gridLayout,h=d.setGridLayout,C=(0,t.useLocalState)(s,"search",""),v=C[0],p=C[1],N=(0,t.useLocalState)(s,"sort",""),V=N[0],y=N[1],B=(0,t.useLocalState)(s,"descending",!1),L=B[0],w=B[1];return(0,e.createComponentVNode)(2,o.Box,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{mt:.2,placeholder:"Search by item name..",width:"100%",onInput:function(){function x(T,M){return p(M)}return x}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:i?"list":"table-cells-large",height:1.75,tooltip:i?"Toggle List Layout":"Toggle Grid Layout",tooltipPosition:"bottom-start",onClick:function(){function x(){return h(!i)}return x}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"30%",children:(0,e.createComponentVNode)(2,o.Dropdown,{selected:"Alphabetical",options:Object.keys(I),width:"100%",onSelected:function(){function x(T){return y(T)}return x}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:L?"arrow-down":"arrow-up",height:1.75,tooltip:L?"Descending order":"Ascending order",tooltipPosition:"bottom-start",onClick:function(){function x(){return w(!L)}return x}()})})]})})},m=function(d,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=d.title,p=d.items,N=d.gridLayout,V=S(d,b);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Collapsible,Object.assign({open:!0,title:v},V,{children:p.map(function(y){return N?(0,e.createComponentVNode)(2,o.ImageButton,{mb:.5,imageSize:57.5,dmIcon:y.icon,dmIconState:y.icon_state,disabled:!C.has_id||C.id.points0?'\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E\u0438\u0441\u043A\u0430 "'+d+'"':"\u0412\u0441\u0435 \u043C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 - "+m.length,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:m.filter(function(h){return h.name&&(d.length>0?h.name.toLowerCase().includes(d.toLowerCase())||h.desc.toLowerCase().includes(d.toLowerCase())||h.author.toLowerCase().includes(d.toLowerCase()):!0)}).map(function(h){return(0,e.createComponentVNode)(2,o.Collapsible,{title:h.name,children:[(0,e.createComponentVNode)(2,o.Section,{title:"\u0410\u0432\u0442\u043E\u0440\u044B",children:h.author}),(0,e.createComponentVNode)(2,o.Section,{title:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",children:h.desc})]},h.name)})})})})})],4)}return S}()},59783:function(A,r,n){"use strict";r.__esModule=!0,r.NTRecruiter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.NTRecruiter=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.gamestatus,m=u.cand_name,l=u.cand_birth,d=u.cand_age,s=u.cand_species,i=u.cand_planet,h=u.cand_job,C=u.cand_records,v=u.cand_curriculum,p=u.total_curriculums,N=u.reason;if(c===0)return(0,e.createComponentVNode)(2,o.Window,{width:400,height:550,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{pt:"45%",fontSize:"31px",color:"white",textAlign:"center",bold:!0,children:"Nanotrasen Recruiter Simulator"}),(0,e.createComponentVNode)(2,t.Stack.Item,{pt:"1%",fontSize:"16px",textAlign:"center",color:"label",children:"Work as the Nanotrasen recruiter and avoid hiring incompetent employees!"})]})}),(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button,{textAlign:"center",lineHeight:2,fluid:!0,icon:"play",color:"green",content:"Begin Shift",onClick:function(){function V(){return g("start_game")}return V}()}),(0,e.createComponentVNode)(2,t.Button,{textAlign:"center",lineHeight:2,fluid:!0,icon:"info",color:"blue",content:"Guide",onClick:function(){function V(){return g("instructions")}return V}()})]})]})})});if(c===1)return(0,e.createComponentVNode)(2,o.Window,{width:400,height:550,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,color:"grey",title:"Guide",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-left",content:"Main Menu",onClick:function(){function V(){return g("back_to_menu")}return V}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"1#",color:"silver",children:["To win this game you must hire/dismiss ",(0,e.createVNode)(1,"b",null,p,0)," candidates, one wrongly made choice leads to a game over."]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"2#",color:"silver",children:"Make the right choice by truly putting yourself into the skin of a recruiter working for Nanotrasen!"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"3#",color:"silver",children:[(0,e.createVNode)(1,"b",null,"Unique",16)," characters may appear, pay attention to them!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"4#",color:"silver",children:"Make sure to pay attention to details like age, planet names, the requested job and even the species of the candidate!"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"5#",color:"silver",children:["Not every employment record is good, remember to make your choice based on the ",(0,e.createVNode)(1,"b",null,"company morals",16),"!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"6#",color:"silver",children:"The planet of origin has no restriction on the species of the candidate, don't think too much when you see humans that came from Boron!"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"7#",color:"silver",children:["Pay attention to ",(0,e.createVNode)(1,"b",null,"typos",16)," and ",(0,e.createVNode)(1,"b",null,"missing words",16),", these do make for bad applications!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"8#",color:"silver",children:["Remember, you are recruiting people to work at one of the many NT stations, so no hiring for"," ",(0,e.createVNode)(1,"b",null,"jobs",16)," that they ",(0,e.createVNode)(1,"b",null,"don't offer",16),"!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"9#",color:"silver",children:["Keep your eyes open for incompatible ",(0,e.createVNode)(1,"b",null,"naming schemes",16),", no company wants a Vox named Joe!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"10#",color:"silver",children:["For some unknown reason ",(0,e.createVNode)(1,"b",null,"clowns",16)," are never denied by the company, no matter what."]})]})})})})});if(c===2)return(0,e.createComponentVNode)(2,o.Window,{width:400,height:550,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,color:"label",fontSize:"14px",title:"Employment Applications",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"24px",textAlign:"center",color:"silver",bold:!0,children:["Candidate Number #",v]}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",color:"silver",children:(0,e.createVNode)(1,"b",null,m,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Species",color:"silver",children:(0,e.createVNode)(1,"b",null,s,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Age",color:"silver",children:(0,e.createVNode)(1,"b",null,d,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Date of Birth",color:"silver",children:(0,e.createVNode)(1,"b",null,l,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Planet of Origin",color:"silver",children:(0,e.createVNode)(1,"b",null,i,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Requested Job",color:"silver",children:(0,e.createVNode)(1,"b",null,h,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Employment Records",color:"silver",children:(0,e.createVNode)(1,"b",null,C,0)})]})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Stamp the application!",color:"grey",textAlign:"center",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"red",content:"Dismiss",fontSize:"150%",icon:"ban",lineHeight:4.5,onClick:function(){function V(){return g("dismiss")}return V}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"green",content:"Hire",fontSize:"150%",icon:"arrow-circle-up",lineHeight:4.5,onClick:function(){function V(){return g("hire")}return V}()})})]})})})]})})});if(c===3)return(0,e.createComponentVNode)(2,o.Window,{width:400,height:550,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{pt:"40%",fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,color:"red",fontSize:"50px",textAlign:"center",children:"Game Over"}),(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"15px",color:"label",textAlign:"center",children:N}),(0,e.createComponentVNode)(2,t.Stack.Item,{color:"blue",fontSize:"20px",textAlign:"center",pt:"10px",children:["FINAL SCORE: ",v-1,"/",p]})]})}),(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Button,{lineHeight:4,fluid:!0,icon:"arrow-left",content:"Main Menu",onClick:function(){function V(){return g("back_to_menu")}return V}()})})]})})})}return b}()},64713:function(A,r,n){"use strict";r.__esModule=!0,r.Newscaster=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(76910),b=n(98595),S=n(3939),I=n(22091),k=["icon","iconSpin","selected","security","onClick","title","children"],g=["name"];function u(B,L){if(B==null)return{};var w={};for(var x in B)if({}.hasOwnProperty.call(B,x)){if(L.includes(x))continue;w[x]=B[x]}return w}var c=128,m=["security","engineering","medical","science","service","supply"],l={security:{title:"Security",fluff_text:"Help keep the crew safe"},engineering:{title:"Engineering",fluff_text:"Ensure the station runs smoothly"},medical:{title:"Medical",fluff_text:"Practice medicine and save lives"},science:{title:"Science",fluff_text:"Develop new technologies"},service:{title:"Service",fluff_text:"Provide amenities to the crew"},supply:{title:"Supply",fluff_text:"Keep the station supplied"}},d=r.Newscaster=function(){function B(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=M.is_security,D=M.is_admin,E=M.is_silent,P=M.is_printing,R=M.screen,j=M.channels,F=M.channel_idx,W=F===void 0?-1:F,z=(0,t.useLocalState)(w,"menuOpen",!1),K=z[0],G=z[1],J=(0,t.useLocalState)(w,"viewingPhoto",""),Q=J[0],ue=J[1],ie=(0,t.useLocalState)(w,"censorMode",!1),pe=ie[0],te=ie[1],q;R===0||R===2?q=(0,e.createComponentVNode)(2,i):R===1&&(q=(0,e.createComponentVNode)(2,h));var ne=j.reduce(function(le,ee){return le+ee.unread},0);return(0,e.createComponentVNode)(2,b.Window,{theme:O&&"security",width:800,height:600,children:[Q?(0,e.createComponentVNode)(2,p):(0,e.createComponentVNode)(2,S.ComplexModal,{maxWidth:window.innerWidth/1.5+"px",maxHeight:window.innerHeight/1.5+"px"}),(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Section,{fill:!0,className:(0,a.classes)(["Newscaster__menu",K&&"Newscaster__menu--open"]),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,s,{icon:"bars",title:"Toggle Menu",onClick:function(){function le(){return G(!K)}return le}()}),(0,e.createComponentVNode)(2,s,{icon:"newspaper",title:"Headlines",selected:R===0,onClick:function(){function le(){return T("headlines")}return le}(),children:ne>0&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--unread",children:ne>=10?"9+":ne})}),(0,e.createComponentVNode)(2,s,{icon:"briefcase",title:"Job Openings",selected:R===1,onClick:function(){function le(){return T("jobs")}return le}()}),(0,e.createComponentVNode)(2,o.Divider)]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:j.map(function(le){return(0,e.createComponentVNode)(2,s,{icon:le.icon,title:le.name,selected:R===2&&j[W-1]===le,onClick:function(){function ee(){return T("channel",{uid:le.uid})}return ee}(),children:le.unread>0&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--unread",children:le.unread>=10?"9+":le.unread})},le)})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Divider),(!!O||!!D)&&(0,e.createFragment)([(0,e.createComponentVNode)(2,s,{security:!0,icon:"exclamation-circle",title:"Edit Wanted Notice",mb:"0.5rem",onClick:function(){function le(){return(0,S.modalOpen)(w,"wanted_notice")}return le}()}),(0,e.createComponentVNode)(2,s,{security:!0,icon:pe?"minus-square":"minus-square-o",title:"Censor Mode: "+(pe?"On":"Off"),mb:"0.5rem",onClick:function(){function le(){return te(!pe)}return le}()}),(0,e.createComponentVNode)(2,o.Divider)],4),(0,e.createComponentVNode)(2,s,{icon:"pen-alt",title:"New Story",mb:"0.5rem",onClick:function(){function le(){return(0,S.modalOpen)(w,"create_story")}return le}()}),(0,e.createComponentVNode)(2,s,{icon:"plus-circle",title:"New Channel",onClick:function(){function le(){return(0,S.modalOpen)(w,"create_channel")}return le}()}),(0,e.createComponentVNode)(2,o.Divider),(0,e.createComponentVNode)(2,s,{icon:P?"spinner":"print",iconSpin:P,title:P?"Printing...":"Print Newspaper",onClick:function(){function le(){return T("print_newspaper")}return le}()}),(0,e.createComponentVNode)(2,s,{icon:E?"volume-mute":"volume-up",title:"Mute: "+(E?"On":"Off"),onClick:function(){function le(){return T("toggle_mute")}return le}()})]})]})}),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,width:"100%",children:[(0,e.createComponentVNode)(2,I.TemporaryNotice),q]})]})})]})}return B}(),s=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=L.icon,O=M===void 0?"":M,D=L.iconSpin,E=L.selected,P=E===void 0?!1:E,R=L.security,j=R===void 0?!1:R,F=L.onClick,W=L.title,z=L.children,K=u(L,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({className:(0,a.classes)(["Newscaster__menuButton",P&&"Newscaster__menuButton--selected",j&&"Newscaster__menuButton--security"]),onClick:F},K,{children:[P&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--selectedBar"}),(0,e.createComponentVNode)(2,o.Icon,{name:O,spin:D,size:"2"}),(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--title",children:W}),z]})))},i=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=M.screen,D=M.is_admin,E=M.channel_idx,P=M.channel_can_manage,R=M.channels,j=M.stories,F=M.wanted,W=(0,t.useLocalState)(w,"fullStories",[]),z=W[0],K=W[1],G=(0,t.useLocalState)(w,"censorMode",!1),J=G[0],Q=G[1],ue=O===2&&E>-1?R[E-1]:null;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[!!F&&(0,e.createComponentVNode)(2,C,{story:F,wanted:!0}),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:ue?ue.icon:"newspaper",mr:"0.5rem"}),ue?ue.name:"Headlines"],0),children:j.length>0?j.slice().reverse().map(function(ie){return!z.includes(ie.uid)&&ie.body.length+3>c?Object.assign({},ie,{body_short:ie.body.substr(0,c-4)+"..."}):ie}).map(function(ie,pe){return(0,e.createComponentVNode)(2,C,{story:ie},pe)}):(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__emptyNotice",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"times",size:"3"}),(0,e.createVNode)(1,"br"),"There are no stories at this time."]})}),!!ue&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,height:"40%",title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"info-circle",mr:"0.5rem"}),(0,e.createTextVNode)("About")],4),buttons:(0,e.createFragment)([J&&(0,e.createComponentVNode)(2,o.Button,{disabled:!!ue.admin&&!D,selected:ue.censored,icon:ue.censored?"comment-slash":"comment",content:ue.censored?"Uncensor Channel":"Censor Channel",mr:"0.5rem",onClick:function(){function ie(){return T("censor_channel",{uid:ue.uid})}return ie}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!P,icon:"cog",content:"Manage",onClick:function(){function ie(){return(0,S.modalOpen)(w,"manage_channel",{uid:ue.uid})}return ie}()})],0),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description",children:ue.description||"N/A"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",children:ue.author||"N/A"}),!!D&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Ckey",children:ue.author_ckey}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Public",children:ue.public?"Yes":"No"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Total Views",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"eye",mr:"0.5rem"}),j.reduce(function(ie,pe){return ie+pe.view_count},0).toLocaleString()]})]})})]})},h=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=M.jobs,D=M.wanted,E=Object.entries(O).reduce(function(P,R){var j=R[0],F=R[1];return P+F.length},0);return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[!!D&&(0,e.createComponentVNode)(2,C,{story:D,wanted:!0}),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"briefcase",mr:"0.5rem"}),(0,e.createTextVNode)("Job Openings")],4),buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",color:"label",children:"Work for a better future at Nanotrasen"}),children:E>0?m.map(function(P){return Object.assign({},l[P],{id:P,jobs:O[P]})}).filter(function(P){return!!P&&P.jobs.length>0}).map(function(P){return(0,e.createComponentVNode)(2,o.Section,{className:(0,a.classes)(["Newscaster__jobCategory","Newscaster__jobCategory--"+P.id]),title:P.title,buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",color:"label",children:P.fluff_text}),children:P.jobs.map(function(R){return(0,e.createComponentVNode)(2,o.Box,{class:(0,a.classes)(["Newscaster__jobOpening",!!R.is_command&&"Newscaster__jobOpening--command"]),children:["\u2022 ",R.title]},R.title)})},P.id)}):(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__emptyNotice",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"times",size:"3"}),(0,e.createVNode)(1,"br"),"There are no openings at this time."]})}),(0,e.createComponentVNode)(2,o.Section,{height:"17%",children:["Interested in serving Nanotrasen?",(0,e.createVNode)(1,"br"),"Sign up for any of the above position now at the ",(0,e.createVNode)(1,"b",null,"Head of Personnel's Office!",16),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Box,{as:"small",color:"label",children:"By signing up for a job at Nanotrasen, you agree to transfer your soul to the loyalty department of the omnipresent and helpful watcher of humanity."})]})]})},C=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=L.story,D=L.wanted,E=D===void 0?!1:D,P=M.is_admin,R=(0,t.useLocalState)(w,"fullStories",[]),j=R[0],F=R[1],W=(0,t.useLocalState)(w,"censorMode",!1),z=W[0],K=W[1];return(0,e.createComponentVNode)(2,o.Section,{className:(0,a.classes)(["Newscaster__story",E&&"Newscaster__story--wanted"]),title:(0,e.createFragment)([E&&(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-circle",mr:"0.5rem"}),O.censor_flags&2&&"[REDACTED]"||O.title||"News from "+O.author],0),buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",children:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:[!E&&z&&(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:(0,e.createComponentVNode)(2,o.Button,{enabled:O.censor_flags&2,icon:O.censor_flags&2?"comment-slash":"comment",content:O.censor_flags&2?"Uncensor":"Censor",mr:"0.5rem",mt:"-0.25rem",onClick:function(){function G(){return T("censor_story",{uid:O.uid})}return G}()})}),(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",O.author," |\xA0",!!P&&(0,e.createFragment)([(0,e.createTextVNode)("ckey: "),O.author_ckey,(0,e.createTextVNode)(" |\xA0")],0),!E&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"eye"}),(0,e.createTextVNode)(" "),O.view_count.toLocaleString(),(0,e.createTextVNode)(" |\xA0")],0),(0,e.createComponentVNode)(2,o.Icon,{name:"clock"})," ",(0,f.timeAgo)(O.publish_time,M.world_time)]})]})}),children:(0,e.createComponentVNode)(2,o.Box,{children:O.censor_flags&2?"[REDACTED]":(0,e.createFragment)([!!O.has_photo&&(0,e.createComponentVNode)(2,v,{name:"story_photo_"+O.uid+".png",float:"right",ml:"0.5rem"}),(O.body_short||O.body).split("\n").map(function(G,J){return(0,e.createComponentVNode)(2,o.Box,{children:G||(0,e.createVNode)(1,"br")},J)}),O.body_short&&(0,e.createComponentVNode)(2,o.Button,{content:"Read more..",mt:"0.5rem",onClick:function(){function G(){return F([].concat(j,[O.uid]))}return G}()}),(0,e.createComponentVNode)(2,o.Box,{clear:"right"})],0)})})},v=function(L,w){var x=L.name,T=u(L,g),M=(0,t.useLocalState)(w,"viewingPhoto",""),O=M[0],D=M[1];return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({as:"img",className:"Newscaster__photo",src:x,onClick:function(){function E(){return D(x)}return E}()},T)))},p=function(L,w){var x=(0,t.useLocalState)(w,"viewingPhoto",""),T=x[0],M=x[1];return(0,e.createComponentVNode)(2,o.Modal,{className:"Newscaster__photoZoom",children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",src:T}),(0,e.createComponentVNode)(2,o.Button,{icon:"times",content:"Close",color:"grey",mt:"1rem",onClick:function(){function O(){return M("")}return O}()})]})},N=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=!!L.args.uid&&M.channels.filter(function(oe){return oe.uid===L.args.uid}).pop();if(L.id==="manage_channel"&&!O){(0,S.modalClose)(w);return}var D=L.id==="manage_channel",E=!!L.args.is_admin,P=L.args.scanned_user,R=(0,t.useLocalState)(w,"author",(O==null?void 0:O.author)||P||"Unknown"),j=R[0],F=R[1],W=(0,t.useLocalState)(w,"name",(O==null?void 0:O.name)||""),z=W[0],K=W[1],G=(0,t.useLocalState)(w,"description",(O==null?void 0:O.description)||""),J=G[0],Q=G[1],ue=(0,t.useLocalState)(w,"icon",(O==null?void 0:O.icon)||"newspaper"),ie=ue[0],pe=ue[1],te=(0,t.useLocalState)(w,"isPublic",D?!!(O!=null&&O.public):!1),q=te[0],ne=te[1],le=(0,t.useLocalState)(w,"adminLocked",(O==null?void 0:O.admin)===1||!1),ee=le[0],re=le[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:D?"Manage "+O.name:"Create New Channel",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!E,width:"100%",value:j,onInput:function(){function oe(fe,me){return F(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",placeholder:"50 characters max.",maxLength:"50",value:z,onInput:function(){function oe(fe,me){return K(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description (optional)",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{multiline:!0,width:"100%",placeholder:"128 characters max.",maxLength:"128",value:J,onInput:function(){function oe(fe,me){return Q(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Icon",children:[(0,e.createComponentVNode)(2,o.Input,{disabled:!E,value:ie,width:"35%",mr:"0.5rem",onInput:function(){function oe(fe,me){return pe(me)}return oe}()}),(0,e.createComponentVNode)(2,o.Icon,{name:ie,size:"2",verticalAlign:"middle",mr:"0.5rem"})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Accept Public Stories?",children:(0,e.createComponentVNode)(2,o.Button,{selected:q,icon:q?"toggle-on":"toggle-off",content:q?"Yes":"No",onClick:function(){function oe(){return ne(!q)}return oe}()})}),E&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:ee,icon:ee?"lock":"lock-open",content:ee?"On":"Off",tooltip:"Locking this channel will make it editable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function oe(){return re(!ee)}return oe}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:j.trim().length===0||z.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function oe(){(0,S.modalAnswer)(w,L.id,"",{author:j,name:z.substr(0,49),description:J.substr(0,128),icon:ie,public:q?1:0,admin_locked:ee?1:0})}return oe}()})]})},V=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=M.photo,D=M.channels,E=M.channel_idx,P=E===void 0?-1:E,R=!!L.args.is_admin,j=L.args.scanned_user,F=D.slice().sort(function(oe,fe){if(P<0)return 0;var me=D[P-1];if(me.uid===oe.uid)return-1;if(me.uid===fe.uid)return 1}).filter(function(oe){return R||!oe.frozen&&(oe.author===j||!!oe.public)}),W=(0,t.useLocalState)(w,"author",j||"Unknown"),z=W[0],K=W[1],G=(0,t.useLocalState)(w,"channel",F.length>0?F[0].name:""),J=G[0],Q=G[1],ue=(0,t.useLocalState)(w,"title",""),ie=ue[0],pe=ue[1],te=(0,t.useLocalState)(w,"body",""),q=te[0],ne=te[1],le=(0,t.useLocalState)(w,"adminLocked",!1),ee=le[0],re=le[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:"Create New Story",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Author",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!R,width:"100%",value:z,onInput:function(){function oe(fe,me){return K(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Channel",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Dropdown,{selected:J,options:F.map(function(oe){return oe.name}),mb:"0",width:"100%",onSelected:function(){function oe(fe){return Q(fe)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Divider),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",placeholder:"128 characters max.",maxLength:"128",value:ie,onInput:function(){function oe(fe,me){return pe(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Story Text",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{fluid:!0,multiline:!0,placeholder:"1024 characters max.",maxLength:"1024",rows:"8",width:"100%",value:q,onInput:function(){function oe(fe,me){return ne(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Photo (optional)",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{icon:"image",selected:O,content:O?"Eject: "+O.name:"Insert Photo",tooltip:!O&&"Attach a photo to this story by holding the photograph in your hand.",onClick:function(){function oe(){return T(O?"eject_photo":"attach_photo")}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Preview",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Section,{noTopPadding:!0,title:ie,maxHeight:"13.5rem",overflow:"auto",children:(0,e.createComponentVNode)(2,o.Box,{mt:"0.5rem",children:[!!O&&(0,e.createComponentVNode)(2,v,{name:"inserted_photo_"+O.uid+".png",float:"right"}),q.split("\n").map(function(oe,fe){return(0,e.createComponentVNode)(2,o.Box,{children:oe||(0,e.createVNode)(1,"br")},fe)}),(0,e.createComponentVNode)(2,o.Box,{clear:"right"})]})})}),R&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:ee,icon:ee?"lock":"lock-open",content:ee?"On":"Off",tooltip:"Locking this story will make it censorable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function oe(){return re(!ee)}return oe}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:z.trim().length===0||J.trim().length===0||ie.trim().length===0||q.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function oe(){(0,S.modalAnswer)(w,"create_story","",{author:z,channel:J,title:ie.substr(0,127),body:q.substr(0,1023),admin_locked:ee?1:0})}return oe}()})]})},y=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=M.photo,D=M.wanted,E=!!L.args.is_admin,P=L.args.scanned_user,R=(0,t.useLocalState)(w,"author",(D==null?void 0:D.author)||P||"Unknown"),j=R[0],F=R[1],W=(0,t.useLocalState)(w,"name",(D==null?void 0:D.title.substr(8))||""),z=W[0],K=W[1],G=(0,t.useLocalState)(w,"description",(D==null?void 0:D.body)||""),J=G[0],Q=G[1],ue=(0,t.useLocalState)(w,"adminLocked",(D==null?void 0:D.admin_locked)===1||!1),ie=ue[0],pe=ue[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:"Manage Wanted Notice",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Authority",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!E,width:"100%",value:j,onInput:function(){function te(q,ne){return F(ne)}return te}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",value:z,maxLength:"128",onInput:function(){function te(q,ne){return K(ne)}return te}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{multiline:!0,width:"100%",value:J,maxLength:"512",rows:"4",onInput:function(){function te(q,ne){return Q(ne)}return te}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Photo (optional)",verticalAlign:"top",children:[(0,e.createComponentVNode)(2,o.Button,{icon:"image",selected:O,content:O?"Eject: "+O.name:"Insert Photo",tooltip:!O&&"Attach a photo to this wanted notice by holding the photograph in your hand.",tooltipPosition:"top",onClick:function(){function te(){return T(O?"eject_photo":"attach_photo")}return te}()}),!!O&&(0,e.createComponentVNode)(2,v,{name:"inserted_photo_"+O.uid+".png",float:"right"})]}),E&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:ie,icon:ie?"lock":"lock-open",content:ie?"On":"Off",tooltip:"Locking this wanted notice will make it editable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function te(){return pe(!ie)}return te}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:!D,icon:"eraser",color:"danger",content:"Clear",position:"absolute",right:"7.25rem",bottom:"-0.75rem",onClick:function(){function te(){T("clear_wanted_notice"),(0,S.modalClose)(w)}return te}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:j.trim().length===0||z.trim().length===0||J.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function te(){(0,S.modalAnswer)(w,L.id,"",{author:j,name:z.substr(0,127),description:J.substr(0,511),admin_locked:ie?1:0})}return te}()})]})};(0,S.modalRegisterBodyOverride)("create_channel",N),(0,S.modalRegisterBodyOverride)("manage_channel",N),(0,S.modalRegisterBodyOverride)("create_story",V),(0,S.modalRegisterBodyOverride)("wanted_notice",y)},48286:function(A,r,n){"use strict";r.__esModule=!0,r.Noticeboard=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=r.Noticeboard=function(){function S(I,k){var g=(0,t.useBackend)(k),u=g.act,c=g.data,m=c.papers;return(0,e.createComponentVNode)(2,f.Window,{width:600,height:300,theme:"noticeboard",children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:m.map(function(l){return(0,e.createComponentVNode)(2,o.Stack.Item,{align:"center",width:"22.45%",height:"85%",onClick:function(){function d(){return u("interact",{paper:l.ref})}return d}(),onContextMenu:function(){function d(s){s.preventDefault(),u("showFull",{paper:l.ref})}return d}(),children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,fontSize:.75,title:l.name,children:(0,a.decodeHtmlEntities)(l.contents)})},l.ref)})})})})}return S}()},41166:function(A,r,n){"use strict";r.__esModule=!0,r.NuclearBomb=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.NuclearBomb=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data;return u.extended?(0,e.createComponentVNode)(2,o.Window,{width:350,height:290,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Authorization",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auth Disk",children:(0,e.createComponentVNode)(2,t.Button,{icon:u.authdisk?"eject":"id-card",selected:u.authdisk,content:u.diskname?u.diskname:"-----",tooltip:u.authdisk?"Eject Disk":"Insert Disk",onClick:function(){function c(){return g("auth")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auth Code",children:(0,e.createComponentVNode)(2,t.Button,{icon:"key",disabled:!u.authdisk,selected:u.authcode,content:u.codemsg,onClick:function(){function c(){return g("code")}return c}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Arming & Disarming",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Bolted to floor",children:(0,e.createComponentVNode)(2,t.Button,{icon:u.anchored?"check":"times",selected:u.anchored,disabled:!u.authdisk,content:u.anchored?"YES":"NO",onClick:function(){function c(){return g("toggle_anchor")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Time Left",children:(0,e.createComponentVNode)(2,t.Button,{icon:"stopwatch",content:u.time,disabled:!u.authfull,tooltip:"Set Timer",onClick:function(){function c(){return g("set_time")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safety",children:(0,e.createComponentVNode)(2,t.Button,{icon:u.safety?"check":"times",selected:u.safety,disabled:!u.authfull,content:u.safety?"ON":"OFF",tooltip:u.safety?"Disable Safety":"Enable Safety",onClick:function(){function c(){return g("toggle_safety")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Arm/Disarm",children:(0,e.createComponentVNode)(2,t.Button,{icon:(u.timer,"bomb"),disabled:u.safety||!u.authfull,color:"red",content:u.timer?"DISARM THE NUKE":"ARM THE NUKE",onClick:function(){function c(){return g("toggle_armed")}return c}()})})]})})]})}):(0,e.createComponentVNode)(2,o.Window,{width:350,height:115,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Deployment",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"exclamation-triangle",content:"Deploy Nuclear Device (will bolt device to floor)",onClick:function(){function c(){return g("deploy")}return c}()})})})})}return b}()},52416:function(A,r,n){"use strict";r.__esModule=!0,r.NumberInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(92986),f=n(72253),b=n(36036),S=n(98595),I=r.NumberInputModal=function(){function g(u,c){var m=(0,f.useBackend)(c),l=m.act,d=m.data,s=d.init_value,i=d.large_buttons,h=d.message,C=h===void 0?"":h,v=d.timeout,p=d.title,N=(0,f.useLocalState)(c,"input",s),V=N[0],y=N[1],B=function(){function x(T){T!==V&&y(T)}return x}(),L=function(){function x(T){T!==V&&y(T)}return x}(),w=140+Math.max(Math.ceil(C.length/3),C.length>0&&i?5:0);return(0,e.createComponentVNode)(2,S.Window,{title:p,width:270,height:w,children:[v&&(0,e.createComponentVNode)(2,a.Loader,{value:v}),(0,e.createComponentVNode)(2,S.Window.Content,{onKeyDown:function(){function x(T){var M=window.event?T.which:T.keyCode;M===o.KEY_ENTER&&l("submit",{entry:V}),M===o.KEY_ESCAPE&&l("cancel")}return x}(),children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Box,{color:"label",children:C})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,k,{input:V,onClick:L,onChange:B})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,t.InputButtons,{input:V})})]})})})]})}return g}(),k=function(u,c){var m=(0,f.useBackend)(c),l=m.act,d=m.data,s=d.min_value,i=d.max_value,h=d.init_value,C=d.round_value,v=u.input,p=u.onClick,N=u.onChange,V=Math.round(v!==s?Math.max(v/2,s):i/2),y=v===s&&s>0||v===1;return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Button,{disabled:v===s,icon:"angle-double-left",onClick:function(){function B(){return p(s)}return B}(),tooltip:v===s?"Min":"Min ("+s+")"})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.RestrictedInput,{autoFocus:!0,autoSelect:!0,fluid:!0,allowFloats:!C,minValue:s,maxValue:i,onChange:function(){function B(L,w){return N(w)}return B}(),onEnter:function(){function B(L,w){return l("submit",{entry:w})}return B}(),value:v})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Button,{disabled:v===i,icon:"angle-double-right",onClick:function(){function B(){return p(i)}return B}(),tooltip:v===i?"Max":"Max ("+i+")"})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Button,{disabled:y,icon:"divide",onClick:function(){function B(){return p(V)}return B}(),tooltip:y?"Split":"Split ("+V+")"})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Button,{disabled:v===h,icon:"redo",onClick:function(){function B(){return p(h)}return B}(),tooltip:h?"Reset ("+h+")":"Reset"})})]})}},1218:function(A,r,n){"use strict";r.__esModule=!0,r.OperatingComputer=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(98595),f=n(36036),b=[["good","Conscious"],["average","Unconscious"],["bad","DEAD"]],S=[["Resp.","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],I={average:[.25,.5],bad:[.5,1/0]},k=["bad","average","average","good","average","average","bad"],g=r.OperatingComputer=function(){function l(d,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=C.hasOccupant,p=C.choice,N;return p?N=(0,e.createComponentVNode)(2,m):N=v?(0,e.createComponentVNode)(2,u):(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,o.Window,{width:650,height:455,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Tabs,{children:[(0,e.createComponentVNode)(2,f.Tabs.Tab,{selected:!p,icon:"user",onClick:function(){function V(){return h("choiceOff")}return V}(),children:"Patient"}),(0,e.createComponentVNode)(2,f.Tabs.Tab,{selected:!!p,icon:"cog",onClick:function(){function V(){return h("choiceOn")}return V}(),children:"Options"})]})}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,children:N})})]})})})}return l}(),u=function(d,s){var i=(0,t.useBackend)(s),h=i.data,C=h.occupant;return(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,title:"Patient",children:(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Name",children:C.name}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Status",color:b[C.stat][0],children:b[C.stat][1]}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:C.maxHealth,value:C.health/C.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),S.map(function(v,p){return(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:v[0]+" Damage",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:"100",value:C[v[1]]/100,ranges:I,children:(0,a.round)(C[v[1]])},p)},p)}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:C.maxTemp,value:C.bodyTemperature/C.maxTemp,color:k[C.temperatureSuitability+3],children:[(0,a.round)(C.btCelsius),"\xB0C, ",(0,a.round)(C.btFaren),"\xB0F"]})}),!!C.hasBlood&&(0,e.createFragment)([(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Blood Level",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:C.bloodMax,value:C.bloodLevel/C.bloodMax,ranges:{bad:[-1/0,.6],average:[.6,.9],good:[.6,1/0]},children:[C.bloodPercent,"%, ",C.bloodLevel,"cl"]})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Pulse",children:[C.pulse," BPM"]})],4)]})})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Section,{title:"Current Procedure",level:"2",children:C.inSurgery?(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Procedure",children:C.surgeryName}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Next Step",children:C.stepName})]}):(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"No procedure ongoing."})})})]})},c=function(){return(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,f.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No patient detected."]})})},m=function(d,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=C.verbose,p=C.health,N=C.healthAlarm,V=C.oxy,y=C.oxyAlarm,B=C.crit;return(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Loudspeaker",children:(0,e.createComponentVNode)(2,f.Button,{selected:v,icon:v?"toggle-on":"toggle-off",content:v?"On":"Off",onClick:function(){function L(){return h(v?"verboseOff":"verboseOn")}return L}()})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Health Announcer",children:(0,e.createComponentVNode)(2,f.Button,{selected:p,icon:p?"toggle-on":"toggle-off",content:p?"On":"Off",onClick:function(){function L(){return h(p?"healthOff":"healthOn")}return L}()})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Health Announcer Threshold",children:(0,e.createComponentVNode)(2,f.Knob,{bipolar:!0,minValue:-100,maxValue:100,value:N,stepPixelSize:5,ml:"0",onChange:function(){function L(w,x){return h("health_adj",{new:x})}return L}()})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Oxygen Alarm",children:(0,e.createComponentVNode)(2,f.Button,{selected:V,icon:V?"toggle-on":"toggle-off",content:V?"On":"Off",onClick:function(){function L(){return h(V?"oxyOff":"oxyOn")}return L}()})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Oxygen Alarm Threshold",children:(0,e.createComponentVNode)(2,f.Knob,{bipolar:!0,minValue:-100,maxValue:100,value:y,stepPixelSize:5,ml:"0",onChange:function(){function L(w,x){return h("oxy_adj",{new:x})}return L}()})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Critical Alert",children:(0,e.createComponentVNode)(2,f.Button,{selected:B,icon:B?"toggle-on":"toggle-off",content:B?"On":"Off",onClick:function(){function L(){return h(B?"critOff":"critOn")}return L}()})})]})}},46892:function(A,r,n){"use strict";r.__esModule=!0,r.Orbit=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=n(35840);function S(i,h){var C=typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(C)return(C=C.call(i)).next.bind(C);if(Array.isArray(i)||(C=I(i))||h&&i&&typeof i.length=="number"){C&&(i=C);var v=0;return function(){return v>=i.length?{done:!0}:{done:!1,value:i[v++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function I(i,h){if(i){if(typeof i=="string")return k(i,h);var C={}.toString.call(i).slice(8,-1);return C==="Object"&&i.constructor&&(C=i.constructor.name),C==="Map"||C==="Set"?Array.from(i):C==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C)?k(i,h):void 0}}function k(i,h){(h==null||h>i.length)&&(h=i.length);for(var C=0,v=Array(h);CC},m=function(h,C){var v=h.name,p=C.name;if(!v||!p)return 0;var N=v.match(g),V=p.match(g);if(N&&V&&v.replace(g,"")===p.replace(g,"")){var y=parseInt(N[1],10),B=parseInt(V[1],10);return y-B}return c(v,p)},l=function(h,C){var v=h.searchText,p=h.source,N=h.title,V=h.color,y=h.sorted,B=p.filter(u(v));return y&&B.sort(m),p.length>0&&(0,e.createComponentVNode)(2,o.Section,{title:N+" - ("+p.length+")",children:B.map(function(L){return(0,e.createComponentVNode)(2,d,{thing:L,color:V},L.name)})})},d=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=h.color,V=h.thing;return(0,e.createComponentVNode)(2,o.Button,{color:N,tooltip:V.assigned_role?(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",mr:"0.5em",className:(0,b.classes)(["job_icons16x16",V.assigned_role_sprite])})," ",V.assigned_role]}):"",tooltipPosition:"bottom",onClick:function(){function y(){return p("orbit",{ref:V.ref})}return y}(),children:[V.name,V.orbiters&&(0,e.createComponentVNode)(2,o.Box,{inline:!0,ml:1,children:["(",V.orbiters," ",(0,e.createComponentVNode)(2,o.Icon,{name:"eye"}),")"]})]})},s=r.Orbit=function(){function i(h,C){for(var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.alive,y=N.antagonists,B=N.highlights,L=N.response_teams,w=N.tourist,x=N.auto_observe,T=N.dead,M=N.ssd,O=N.ghosts,D=N.misc,E=N.npcs,P=(0,t.useLocalState)(C,"searchText",""),R=P[0],j=P[1],F={},W=S(y),z;!(z=W()).done;){var K=z.value;F[K.antag]===void 0&&(F[K.antag]=[]),F[K.antag].push(K)}var G=Object.entries(F);G.sort(function(Q,ue){return c(Q[0],ue[0])});var J=function(){function Q(ue){for(var ie=0,pe=[G.map(function(ne){var le=ne[0],ee=ne[1];return ee}),w,B,V,O,M,T,E,D];ie0&&(0,e.createComponentVNode)(2,o.Section,{title:"Antagonists",children:G.map(function(Q){var ue=Q[0],ie=Q[1];return(0,e.createComponentVNode)(2,o.Section,{title:ue+" - ("+ie.length+")",level:2,children:ie.filter(u(R)).sort(m).map(function(pe){return(0,e.createComponentVNode)(2,d,{color:"bad",thing:pe},pe.name)})},ue)})}),B.length>0&&(0,e.createComponentVNode)(2,l,{title:"Highlights",source:B,searchText:R,color:"teal"}),(0,e.createComponentVNode)(2,l,{title:"Response Teams",source:L,searchText:R,color:"purple"}),(0,e.createComponentVNode)(2,l,{title:"Tourists",source:w,searchText:R,color:"violet"}),(0,e.createComponentVNode)(2,l,{title:"Alive",source:V,searchText:R,color:"good"}),(0,e.createComponentVNode)(2,l,{title:"Ghosts",source:O,searchText:R,color:"grey"}),(0,e.createComponentVNode)(2,l,{title:"SSD",source:M,searchText:R,color:"grey"}),(0,e.createComponentVNode)(2,l,{title:"Dead",source:T,searchText:R,sorted:!1}),(0,e.createComponentVNode)(2,l,{title:"NPCs",source:E,searchText:R,sorted:!1}),(0,e.createComponentVNode)(2,l,{title:"Misc",source:D,searchText:R,sorted:!1})]})})}return i}()},15421:function(A,r,n){"use strict";r.__esModule=!0,r.OreRedemption=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(98595),b=n(9394);function S(i){if(i==null)throw new TypeError("Cannot destructure "+i)}var I=(0,b.createLogger)("OreRedemption"),k=function(h){return h.toLocaleString("en-US")+" pts"},g=r.OreRedemption=function(){function i(h,C){return(0,e.createComponentVNode)(2,f.Window,{width:490,height:750,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,u,{height:"100%"})}),(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,m)]})})})}return i}(),u=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.id,y=N.points,B=N.disk,L=Object.assign({},(S(h),h));return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({},L,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"average",textAlign:"center",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle",mr:"0.5rem"}),"This machine only accepts ore. Gibtonite is not accepted."]}),(0,e.createComponentVNode)(2,o.Divider),(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Unclaimed Points",color:y>0?"good":"grey",bold:y>0&&"good",children:k(y)})}),(0,e.createComponentVNode)(2,o.Divider),B?(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Design disk",children:[(0,e.createComponentVNode)(2,o.Button,{selected:!0,bold:!0,icon:"eject",content:B.name,tooltip:"Ejects the design disk.",onClick:function(){function w(){return p("eject_disk")}return w}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!B.design||!B.compatible,icon:"upload",content:"Download",tooltip:"Downloads the design on the disk into the machine.",onClick:function(){function w(){return p("download")}return w}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Stored design",children:(0,e.createComponentVNode)(2,o.Box,{color:B.design&&(B.compatible?"good":"bad"),children:B.design||"N/A"})})]}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No design disk inserted."})]})))},c=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.sheets,y=Object.assign({},(S(h),h));return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,height:"20%",children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({fill:!0,scrollable:!0,className:"OreRedemption__Ores",p:"0"},y,{children:[(0,e.createComponentVNode)(2,l,{title:"Sheets",columns:[["Available","25%"],["Ore Value","15%"],["Smelt","20%"]]}),V.map(function(B){return(0,e.createComponentVNode)(2,d,{ore:B},B.id)})]})))})},m=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.alloys,y=Object.assign({},(S(h),h));return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({fill:!0,scrollable:!0,className:"OreRedemption__Ores",p:"0"},y,{children:[(0,e.createComponentVNode)(2,l,{title:"Alloys",columns:[["Recipe","50%"],["Available","11%"],["Smelt","20%"]]}),V.map(function(B){return(0,e.createComponentVNode)(2,s,{ore:B},B.id)})]})))})},l=function(h,C){var v;return(0,e.createComponentVNode)(2,o.Box,{className:"OreHeader",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:h.title}),(v=h.columns)==null?void 0:v.map(function(p){return(0,e.createComponentVNode)(2,o.Stack.Item,{basis:p[1],textAlign:"center",color:"label",bold:!0,children:p[0]},p)})]})})},d=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=h.ore;if(!(N.value&&N.amount<=0&&!(["metal","glass"].indexOf(N.id)>-1)))return(0,e.createComponentVNode)(2,o.Box,{className:"SheetLine",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"45%",align:"middle",children:(0,e.createComponentVNode)(2,o.Stack,{align:"center",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{className:(0,a.classes)(["materials32x32",N.id])}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:N.name})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",color:N.amount>=1?"good":"gray",bold:N.amount>=1,align:"center",children:N.amount.toLocaleString("en-US")}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",children:N.value}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",lineHeight:"32px",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"40%",value:0,minValue:0,maxValue:Math.min(N.amount,50),stepPixelSize:6,onChange:function(){function V(y,B){return p(N.value?"sheet":"alloy",{id:N.id,amount:B})}return V}()})})]})})},s=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=h.ore;return(0,e.createComponentVNode)(2,o.Box,{className:"SheetLine",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"7%",align:"middle",children:(0,e.createComponentVNode)(2,o.Box,{className:(0,a.classes)(["alloys32x32",N.id])})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"30%",textAlign:"middle",align:"center",children:N.name}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"35%",textAlign:"middle",color:N.amount>=1?"good":"gray",align:"center",children:N.description}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"10%",textAlign:"center",color:N.amount>=1?"good":"gray",bold:N.amount>=1,align:"center",children:N.amount.toLocaleString("en-US")}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",lineHeight:"32px",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"40%",value:0,minValue:0,maxValue:Math.min(N.amount,50),stepPixelSize:6,onChange:function(){function V(y,B){return p(N.value?"sheet":"alloy",{id:N.id,amount:B})}return V}()})})]})})}},52754:function(A,r,n){"use strict";r.__esModule=!0,r.PAI=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(71253),b=n(70752),S=function(g){var u;try{u=b("./"+g+".js")}catch(m){if(m.code==="MODULE_NOT_FOUND")return(0,f.routingError)("notFound",g);throw m}var c=u[g];return c||(0,f.routingError)("missingExport",g)},I=r.PAI=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.app_template,s=l.app_icon,i=l.app_title,h=S(d);return(0,e.createComponentVNode)(2,o.Window,{width:600,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{p:1,fill:!0,scrollable:!0,title:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:s,mr:1}),i,d!=="pai_main_menu"&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{ml:2,mb:0,content:"Back",icon:"arrow-left",onClick:function(){function C(){return m("Back")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Home",icon:"arrow-up",onClick:function(){function C(){return m("MASTER_back")}return C}()})],4)]}),children:(0,e.createComponentVNode)(2,h)})})})})})}return k}()},85175:function(A,r,n){"use strict";r.__esModule=!0,r.PDA=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(71253),b=n(59395),S=function(c){var m;try{m=b("./"+c+".js")}catch(d){if(d.code==="MODULE_NOT_FOUND")return(0,f.routingError)("notFound",c);throw d}var l=m[c];return l||(0,f.routingError)("missingExport",c)},I=r.PDA=function(){function u(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.app,h=s.owner;if(!h)return(0,e.createComponentVNode)(2,o.Window,{width:350,height:105,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Error",children:"No user data found. Please swipe an ID card."})})});var C=S(i.template);return(0,e.createComponentVNode)(2,o.Window,{width:600,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,k)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,p:1,pb:0,title:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:i.icon,mr:1}),i.name]}),children:(0,e.createComponentVNode)(2,C)})}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:7.5,children:(0,e.createComponentVNode)(2,g)})]})})})}return u}(),k=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.idInserted,h=s.idLink,C=s.stationTime,v=s.cartridge_name;return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{ml:.5,children:(0,e.createComponentVNode)(2,t.Button,{icon:"id-card",color:"transparent",onClick:function(){function p(){return d("Authenticate")}return p}(),content:i?h:"No ID Inserted"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"sd-card",color:"transparent",onClick:function(){function p(){return d("Eject")}return p}(),content:v?["Eject "+v]:"No Cartridge Inserted"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"right",bold:!0,mr:1,mt:.5,children:C})]})},g=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.app;return(0,e.createComponentVNode)(2,t.Box,{height:"45px",className:"PDA__footer",backgroundColor:"#1b1b1b",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[!!i.has_back&&(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"33%",mr:-.5,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,className:"PDA__footer__button",color:"transparent",iconColor:i.has_back?"white":"disabled",icon:"arrow-alt-circle-left-o",onClick:function(){function h(){return d("Back")}return h}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:i.has_back?"33%":"100%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,className:"PDA__footer__button",color:"transparent",iconColor:i.is_home?"disabled":"white",icon:"home",onClick:function(){function h(){d("Home")}return h}()})})]})})}},68654:function(A,r,n){"use strict";r.__esModule=!0,r.Pacman=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(49968),b=r.Pacman=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.active,l=c.anchored,d=c.broken,s=c.emagged,i=c.fuel_type,h=c.fuel_usage,C=c.fuel_stored,v=c.fuel_cap,p=c.is_ai,N=c.tmp_current,V=c.tmp_max,y=c.tmp_overheat,B=c.output_max,L=c.power_gen,w=c.output_set,x=c.has_fuel,T=C/v,M=N/V,O=w*L,D=Math.round(C/h*2),E=Math.round(D/60),P=D>120?E+" minutes":D+" seconds";return(0,e.createComponentVNode)(2,o.Window,{width:500,height:225,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(d||!l)&&(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:[!!d&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"The generator is malfunctioning!"}),!d&&!l&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"The generator needs to be anchored to the floor with a wrench."})]}),!d&&!!l&&(0,e.createVNode)(1,"div",null,[(0,e.createComponentVNode)(2,t.Section,{title:"Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:m?"power-off":"times",content:m?"On":"Off",tooltip:"Toggles the generator on/off. Requires fuel.",tooltipPosition:"left",disabled:!x,selected:m,onClick:function(){function R(){return u("toggle_power")}return R}()}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",className:"ml-1",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power setting",children:[(0,e.createComponentVNode)(2,t.NumberInput,{value:w,minValue:1,maxValue:B*(s?2.5:1),step:1,className:"mt-1",onDrag:function(){function R(j,F){return u("change_power",{change_power:F})}return R}()}),"(",(0,f.formatPower)(O),")"]})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:M,ranges:{green:[-1/0,.33],orange:[.33,.66],red:[.66,1/0]},children:[N," \u2103"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[y>50&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"CRITICAL OVERHEAT!"}),y>20&&y<=50&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"WARNING: Overheating!"}),y>1&&y<=20&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Temperature High"}),y===0&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Optimal"})]})]})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Fuel",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject Fuel",tooltip:"Ejects fuel. Generator needs to be offline.",tooltipPosition:"left",disabled:m||p||!x,onClick:function(){function R(){return u("eject_fuel")}return R}()}),children:(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Type",children:i}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel level",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:T,ranges:{red:[-1/0,.33],orange:[.33,.66],green:[.66,1/0]},children:[Math.round(C/1e3)," dm\xB3"]})})]})}),(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel usage",children:[h/1e3," dm\xB3/s"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel depletion",children:[!!x&&(h?P:"N/A"),!x&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Out of fuel"})]})]})})]})})],4)]})})}return S}()},1701:function(A,r,n){"use strict";r.__esModule=!0,r.PanDEMIC=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.PanDEMIC=function(){function l(d,s){var i=(0,a.useBackend)(s),h=i.data,C=h.beakerLoaded,v=h.beakerContainsBlood,p=h.beakerContainsVirus,N=h.resistances,V=N===void 0?[]:N,y;return C?v?v&&!p&&(y=(0,e.createFragment)([(0,e.createTextVNode)("No disease detected in provided blood sample.")],4)):y=(0,e.createFragment)([(0,e.createTextVNode)("No blood sample found in the loaded container.")],4):y=(0,e.createFragment)([(0,e.createTextVNode)("No container loaded.")],4),(0,e.createComponentVNode)(2,o.Window,{width:575,height:510,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[y&&!p?(0,e.createComponentVNode)(2,t.Section,{title:"Container Information",buttons:(0,e.createComponentVNode)(2,b,{fill:!0,vertical:!0}),children:(0,e.createComponentVNode)(2,t.NoticeBox,{children:y})}):(0,e.createComponentVNode)(2,k),(V==null?void 0:V.length)>0&&(0,e.createComponentVNode)(2,m,{align:"bottom"})]})})})}return l}(),b=function(d,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.beakerLoaded;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject",disabled:!v,onClick:function(){function p(){return h("eject_beaker")}return p}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash-alt",confirmIcon:"eraser",content:"Destroy",confirmContent:"Destroy",disabled:!v,onClick:function(){function p(){return h("destroy_eject_beaker")}return p}()})],4)},S=function(d,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.beakerContainsVirus,p=d.strain,N=p.commonName,V=p.description,y=p.diseaseAgent,B=p.bloodDNA,L=p.bloodType,w=p.possibleTreatments,x=p.transmissionRoute,T=p.isAdvanced,M=(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood DNA",children:B?(0,e.createVNode)(1,"span",null,B,0,{style:{"font-family":"'Courier New', monospace"}}):"Undetectable"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood Type",children:(0,e.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:L!=null?L:"Undetectable"}})})],4);if(!v)return(0,e.createComponentVNode)(2,t.LabeledList,{children:M});var O;return T&&(N!=null&&N!=="Unknown"?O=(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:"Print Release Forms",onClick:function(){function D(){return h("print_release_forms",{strain_index:d.strainIndex})}return D}(),style:{"margin-left":"auto"}}):O=(0,e.createComponentVNode)(2,t.Button,{icon:"pen",content:"Name Disease",onClick:function(){function D(){return h("name_strain",{strain_index:d.strainIndex})}return D}(),style:{"margin-left":"auto"}})),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Common Name",className:"common-name-label",children:(0,e.createComponentVNode)(2,t.Stack,{horizontal:!0,align:"center",children:[N!=null?N:"Unknown",O]})}),V&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:V}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Disease Agent",children:y}),M,(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Spread Vector",children:x!=null?x:"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Possible Cures",children:w!=null?w:"None"})]})},I=function(d,s){var i,h=(0,a.useBackend)(s),C=h.act,v=h.data,p=!!v.synthesisCooldown,N=(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:p?"spinner":"clone",iconSpin:p,content:"Clone",disabled:p,onClick:function(){function V(){return C("clone_strain",{strain_index:d.strainIndex})}return V}()}),d.sectionButtons],0);return(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:(i=d.sectionTitle)!=null?i:"Strain Information",buttons:N,children:(0,e.createComponentVNode)(2,S,{strain:d.strain,strainIndex:d.strainIndex})})})},k=function(d,s){var i,h=(0,a.useBackend)(s),C=h.act,v=h.data,p=v.selectedStrainIndex,N=v.strains,V=N[p-1];if(N.length===0)return(0,e.createComponentVNode)(2,t.Section,{title:"Container Information",buttons:(0,e.createComponentVNode)(2,b),children:(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No disease detected in provided blood sample."})});if(N.length===1){var y;return(0,e.createFragment)([(0,e.createComponentVNode)(2,I,{strain:N[0],strainIndex:1,sectionButtons:(0,e.createComponentVNode)(2,b)}),((y=N[0].symptoms)==null?void 0:y.length)>0&&(0,e.createComponentVNode)(2,u,{strain:N[0]})],0)}var B=(0,e.createComponentVNode)(2,b);return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Culture Information",fill:!0,buttons:B,children:(0,e.createComponentVNode)(2,t.Flex,{direction:"column",style:{height:"100%"},children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Tabs,{children:N.map(function(L,w){var x;return(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"virus",selected:p-1===w,onClick:function(){function T(){return C("switch_strain",{strain_index:w+1})}return T}(),children:(x=L.commonName)!=null?x:"Unknown"},w)})})}),(0,e.createComponentVNode)(2,I,{strain:V,strainIndex:p}),((i=V.symptoms)==null?void 0:i.length)>0&&(0,e.createComponentVNode)(2,u,{className:"remove-section-bottom-padding",strain:V})]})})})},g=function(d){return d.reduce(function(s,i){return s+i},0)},u=function(d){var s=d.strain.symptoms;return(0,e.createComponentVNode)(2,t.Flex.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Infection Symptoms",fill:!0,className:d.className,children:(0,e.createComponentVNode)(2,t.Table,{className:"symptoms-table",children:[(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Stealth"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Resistance"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Stage Speed"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Transmissibility"})]}),s.map(function(i,h){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.stealth}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.resistance}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.stageSpeed}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.transmissibility})]},h)}),(0,e.createComponentVNode)(2,t.Table.Row,{className:"table-spacer"}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{style:{"font-weight":"bold"},children:"Total"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g(s.map(function(i){return i.stealth}))}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g(s.map(function(i){return i.resistance}))}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g(s.map(function(i){return i.stageSpeed}))}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g(s.map(function(i){return i.transmissibility}))})]})]})})})},c=["flask","vial","eye-dropper"],m=function(d,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.synthesisCooldown,p=C.beakerContainsVirus,N=C.resistances;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Antibodies",fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{horizontal:!0,wrap:!0,children:N.map(function(V,y){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:c[y%c.length],disabled:!!v,onClick:function(){function B(){return h("clone_vaccine",{resistance_index:y+1})}return B}(),mr:"0.5em"}),V]},y)})})})})}},67921:function(A,r,n){"use strict";r.__esModule=!0,r.ParticleAccelerator=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(25328),f=n(79646),b=n(36352),S=n(98595),I=n(35840),k=n(38307),g=function(d){switch(d){case 1:return"north";case 2:return"south";case 4:return"east";case 8:return"west";case 5:return"northeast";case 6:return"southeast";case 9:return"northwest";case 10:return"southwest"}return""},u=r.ParticleAccelerator=function(){function l(d,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.assembled,p=C.power,N=C.strength,V=C.max_strength,y=C.icon,B=C.layout_1,L=C.layout_2,w=C.layout_3,x=C.orientation;return(0,e.createComponentVNode)(2,S.Window,{width:395,height:v?160:x==="north"||x==="south"?540:465,children:(0,e.createComponentVNode)(2,S.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Control Panel",buttons:(0,e.createComponentVNode)(2,t.Button,{dmIcon:"sync",content:"Connect",onClick:function(){function T(){return h("scan")}return T}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",mb:"5px",children:(0,e.createComponentVNode)(2,t.Box,{color:v?"good":"bad",children:v?"Operational":"Error: Verify Configuration"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:p?"power-off":"times",content:p?"On":"Off",selected:p,disabled:!v,onClick:function(){function T(){return h("power")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Strength",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:!v||N===0,onClick:function(){function T(){return h("remove_strength")}return T}(),mr:"4px"}),N,(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:!v||N===V,onClick:function(){function T(){return h("add_strength")}return T}(),ml:"4px"})]})]})}),v?"":(0,e.createComponentVNode)(2,t.Section,{title:x?"EM Acceleration Chamber Orientation: "+(0,o.capitalize)(x):"Place EM Acceleration Chamber Next To Console",children:x===0?"":x==="north"||x==="south"?(0,e.createComponentVNode)(2,m):(0,e.createComponentVNode)(2,c)})]})})}return l}(),c=function(d,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.assembled,p=C.power,N=C.strength,V=C.max_strength,y=C.icon,B=C.layout_1,L=C.layout_2,w=C.layout_3,x=C.orientation;return(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,b.TableRow,{width:"40px",children:(x==="east"?B:w).slice().map(function(T){return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})}),(0,e.createComponentVNode)(2,b.TableRow,{width:"40px",children:L.slice().map(function(T){return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})}),(0,e.createComponentVNode)(2,b.TableRow,{width:"40px",children:(x==="east"?w:B).slice().map(function(T){return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})})]})},m=function(d,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.assembled,p=C.power,N=C.strength,V=C.max_strength,y=C.icon,B=C.layout_1,L=C.layout_2,w=C.layout_3,x=C.orientation;return(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,f.GridColumn,{width:"40px",children:(x==="north"?B:w).slice().map(function(T){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})}),(0,e.createComponentVNode)(2,f.GridColumn,{children:L.slice().map(function(T){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})}),(0,e.createComponentVNode)(2,f.GridColumn,{width:"40px",children:(x==="north"?w:B).slice().map(function(T){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,tooltip:T.status,children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})})]})}},71432:function(A,r,n){"use strict";r.__esModule=!0,r.PdaPainter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.PdaPainter=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.data,l=m.has_pda;return(0,e.createComponentVNode)(2,o.Window,{width:510,height:505,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:l?(0,e.createComponentVNode)(2,S):(0,e.createComponentVNode)(2,b)})})}return k}(),b=function(g,u){var c=(0,a.useBackend)(u),m=c.act;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"silver",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"download",size:5,mb:"10px"}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{width:"160px",textAlign:"center",content:"Insert PDA",onClick:function(){function l(){return m("insert_pda")}return l}()})]})})})},S=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.pda_colors;return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,horizontal:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,I)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,t.Table,{className:"PdaPainter__list",children:Object.keys(d).map(function(s){return(0,e.createComponentVNode)(2,t.Table.Row,{onClick:function(){function i(){return m("choose_pda",{selectedPda:s})}return i}(),children:[(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/png;base64,"+d[s][0],style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s})]},s)})})})})]})},I=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.current_appearance,s=l.preview_appearance;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Current PDA",children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+d,style:{"vertical-align":"middle",width:"160px",margin:"0px","margin-left":"0px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"eject",content:"Eject",color:"green",onClick:function(){function i(){return m("eject_pda")}return i}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"paint-roller",content:"Paint PDA",onClick:function(){function i(){return m("paint_pda")}return i}()})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Preview",children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+s,style:{"vertical-align":"middle",width:"160px",margin:"0px","margin-left":"0px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}})})]})}},33388:function(A,r,n){"use strict";r.__esModule=!0,r.PersonalCrafting=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.PersonalCrafting=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.busy,d=m.category,s=m.display_craftable_only,i=m.display_compact,h=m.prev_cat,C=m.next_cat,v=m.subcategory,p=m.prev_subcat,N=m.next_subcat;return(0,e.createComponentVNode)(2,o.Window,{width:700,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!l&&(0,e.createComponentVNode)(2,t.Dimmer,{fontSize:"32px",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cog",spin:1})," Crafting..."]}),(0,e.createComponentVNode)(2,t.Section,{title:d,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Show Craftable Only",icon:s?"check-square-o":"square-o",selected:s,onClick:function(){function V(){return c("toggle_recipes")}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Compact Mode",icon:i?"check-square-o":"square-o",selected:i,onClick:function(){function V(){return c("toggle_compact")}return V}()})],4),children:[(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:h,icon:"arrow-left",onClick:function(){function V(){return c("backwardCat")}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:C,icon:"arrow-right",onClick:function(){function V(){return c("forwardCat")}return V}()})]}),v&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:p,icon:"arrow-left",onClick:function(){function V(){return c("backwardSubCat")}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:N,icon:"arrow-right",onClick:function(){function V(){return c("forwardSubCat")}return V}()})]}),i?(0,e.createComponentVNode)(2,b):(0,e.createComponentVNode)(2,S)]})]})})}return I}(),b=function(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.display_craftable_only,d=m.can_craft,s=m.cant_craft;return(0,e.createComponentVNode)(2,t.Box,{mt:1,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[d.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.name,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",onClick:function(){function h(){return c("make",{make:i.ref})}return h}()}),i.catalyst_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:i.catalyst_text,content:"Catalysts",color:"transparent"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:i.req_text,content:"Requirements",color:"transparent"}),i.tool_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:i.tool_text,content:"Tools",color:"transparent"})]},i.name)}),!l&&s.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.name,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",disabled:!0}),i.catalyst_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:i.catalyst_text,content:"Catalysts",color:"transparent"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:i.req_text,content:"Requirements",color:"transparent"}),i.tool_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:i.tool_text,content:"Tools",color:"transparent"})]},i.name)})]})})},S=function(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.display_craftable_only,d=m.can_craft,s=m.cant_craft;return(0,e.createComponentVNode)(2,t.Box,{mt:1,children:[d.map(function(i){return(0,e.createComponentVNode)(2,t.Section,{title:i.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",onClick:function(){function h(){return c("make",{make:i.ref})}return h}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[i.catalyst_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Catalysts",children:i.catalyst_text}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Requirements",children:i.req_text}),i.tool_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tools",children:i.tool_text})]})},i.name)}),!l&&s.map(function(i){return(0,e.createComponentVNode)(2,t.Section,{title:i.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",disabled:!0}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[i.catalyst_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Catalysts",children:i.catalyst_text}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Requirements",children:i.req_text}),i.tool_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tools",children:i.tool_text})]})},i.name)})]})}},56150:function(A,r,n){"use strict";r.__esModule=!0,r.Photocopier=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Photocopier=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:440,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Photocopier",color:"silver",children:[(0,e.createComponentVNode)(2,t.Stack,{mb:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:12,children:"Copies:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"2em",bold:!0,children:m.copynumber}),(0,e.createComponentVNode)(2,t.Stack.Item,{float:"right",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"minus",textAlign:"center",content:"",onClick:function(){function l(){return c("minus")}return l}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"plus",textAlign:"center",content:"",onClick:function(){function l(){return c("add")}return l}()})]})]}),(0,e.createComponentVNode)(2,t.Stack,{mb:2,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:12,children:"Toner:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,children:m.toner})]}),(0,e.createComponentVNode)(2,t.Stack,{mb:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:12,children:"Inserted Document:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!m.copyitem&&!m.mob,content:m.copyitem?m.copyitem:m.mob?m.mob+"'s ass!":"document",onClick:function(){function l(){return c("removedocument")}return l}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:12,children:"Inserted Folder:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!m.folder,content:m.folder?m.folder:"folder",onClick:function(){function l(){return c("removefolder")}return l}()})})]})]}),(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,b)}),(0,e.createComponentVNode)(2,S)]})})})}return I}(),b=function(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.issilicon;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"copy",float:"center",textAlign:"center",content:"Copy",onClick:function(){function d(){return c("copy")}return d}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"file-import",float:"center",textAlign:"center",content:"Scan",onClick:function(){function d(){return c("scandocument")}return d}()}),!!l&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"file",color:"green",float:"center",textAlign:"center",content:"Print Text",onClick:function(){function d(){return c("ai_text")}return d}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"image",color:"green",float:"center",textAlign:"center",content:"Print Image",onClick:function(){function d(){return c("ai_pic")}return d}()})],4)],0)},S=function(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Scanned Files",children:m.files.map(function(l){return(0,e.createComponentVNode)(2,t.Section,{title:l.name,buttons:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:"Print",disabled:m.toner<=0,onClick:function(){function d(){return c("filecopy",{uid:l.uid})}return d}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash-alt",content:"Delete",color:"bad",onClick:function(){function d(){return c("deletefile",{uid:l.uid})}return d}()})]})},l.name)})})}},8340:function(A,r,n){"use strict";r.__esModule=!0,r.Photocopier220=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(88510),b=n(64795),S=n(25328);function I(m,l){var d=typeof Symbol!="undefined"&&m[Symbol.iterator]||m["@@iterator"];if(d)return(d=d.call(m)).next.bind(d);if(Array.isArray(m)||(d=k(m))||l&&m&&typeof m.length=="number"){d&&(m=d);var s=0;return function(){return s>=m.length?{done:!0}:{done:!1,value:m[s++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(m,l){if(m){if(typeof m=="string")return g(m,l);var d={}.toString.call(m).slice(8,-1);return d==="Object"&&m.constructor&&(d=m.constructor.name),d==="Map"||d==="Set"?Array.from(m):d==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d)?g(m,l):void 0}}function g(m,l){(l==null||l>m.length)&&(l=m.length);for(var d=0,s=Array(l);dm?this.substring(0,m)+"...":this};var u=function(l,d){d===void 0&&(d="");var s=(0,S.createSearch)(d,function(i){return i.altername});return(0,b.flow)([(0,f.filter)(function(i){return i==null?void 0:i.altername}),d&&(0,f.filter)(s),(0,f.sortBy)(function(i){return i.id})])(l)},c=r.Photocopier220=function(){function m(l,d){for(var s=(0,a.useBackend)(d),i=s.act,h=s.data,C=h.copies,v=h.maxcopies,p=(0,a.useLocalState)(d,"searchText",""),N=p[0],V=p[1],y=u((0,f.sortBy)(function(E){return E.category})(h.forms||[]),N),B=[],L=I(y),w;!(w=L()).done;){var x=w.value;B.includes(x.category)||B.push(x.category)}var T=(0,a.useLocalState)(d,"number",0),M=T[0],O=T[1],D;return h.category===""?D=y:D=y.filter(function(E){return E.category===h.category}),(0,e.createComponentVNode)(2,o.Window,{width:550,height:575,theme:h.ui_theme,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"40%",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u0442\u0430\u0442\u0443\u0441",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",mt:.3,color:"grey",children:"\u0417\u0430\u0440\u044F\u0434 \u0442\u043E\u043D\u0435\u0440\u0430:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{minValue:0,maxValue:30,value:h.toner})})]}),(0,e.createComponentVNode)(2,t.Stack,{mt:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",mb:.3,color:"grey",children:"\u0424\u043E\u0440\u043C\u0430:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",textAlign:"center",bold:!0,children:h.form_id===""?"\u041D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u0430":h.form_id})]}),(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",mt:1,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!h.copyitem&&!h.mob,icon:h.copyitem||h.mob?"eject":"times",content:h.copyitem?h.copyitem:h.mob?"\u0416\u043E\u043F\u0430 "+h.mob+"!":"\u0421\u043B\u043E\u0442 \u0434\u043B\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430",onClick:function(){function E(){return i("removedocument")}return E}()})})}),(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!h.folder,icon:h.folder?"eject":"times",content:h.folder?h.folder:"\u0421\u043B\u043E\u0442 \u0434\u043B\u044F \u043F\u0430\u043F\u043A\u0438",onClick:function(){function E(){return i("removefolder")}return E}()})})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"print",disabled:h.toner===0||h.form===null,content:"\u041F\u0435\u0447\u0430\u0442\u044C",onClick:function(){function E(){return i("print_form")}return E}()})}),!!h.isAI&&(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",ml:"5px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"image",disabled:h.toner<5,content:"\u0424\u043E\u0442\u043E",tooltip:"\u0420\u0430\u0441\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C \u0444\u043E\u0442\u043E \u0441 \u0411\u0430\u0437\u044B \u0414\u0430\u043D\u043D\u044B\u0445",onClick:function(){function E(){return i("ai_pic")}return E}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"copy",content:"\u041A\u043E\u043F\u0438\u044F",disabled:h.toner===0||!h.copyitem&&!h.mob,onClick:function(){function E(){return i("copy")}return E}()})}),!!h.isAI&&(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",ml:"5px",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"i-cursor",content:"\u0422\u0435\u043A\u0441\u0442",tooltip:"\u0420\u0430\u0441\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C \u0441\u0432\u043E\u0439 \u0442\u0435\u043A\u0441\u0442",disabled:h.toner===0,onClick:function(){function E(){return i("ai_text")}return E}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:1.5,mt:1.2,width:"50%",color:"grey",children:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E:"}),(0,e.createComponentVNode)(2,t.Slider,{mt:.75,width:"50%",animated:!0,minValue:1,maxValue:v,value:C,stepPixelSize:10,onChange:function(){function E(P,R){return i("copies",{new:R})}return E}()})]})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"\u0411\u044E\u0440\u043E\u043A\u0440\u0430\u0442\u0438\u044F",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mb:-.5,icon:"chevron-right",color:"transparent",content:"\u0412\u0441\u0435 \u0444\u043E\u0440\u043C\u044B",selected:!h.category,onClick:function(){function E(){return i("choose_category",{category:""})}return E}()})}),B.map(function(E){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"chevron-right",mb:-.5,color:"transparent",content:E,selected:h.category===E,onClick:function(){function P(){return i("choose_category",{category:E})}return P}()},E)},E)})]})})})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"60%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:h.category||"\u0412\u0441\u0435 \u0444\u043E\u0440\u043C\u044B",buttons:(0,e.createComponentVNode)(2,t.Input,{mr:18.5,width:"100%",placeholder:"\u041F\u043E\u0438\u0441\u043A \u0444\u043E\u0440\u043C\u044B",onInput:function(){function E(P,R){return V(R)}return E}()}),children:D.map(function(E){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mb:.5,color:"transparent",content:E.altername.trimLongStr(37),tooltip:E.altername,selected:h.form_id===E.id,onClick:function(){function P(){return i("choose_form",{path:E.path,id:E.id})}return P}()})},E.path)})})})]})})})}return m}()},84676:function(A,r,n){"use strict";r.__esModule=!0,r.PoolController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=["tempKey"];function b(g,u){if(g==null)return{};var c={};for(var m in g)if({}.hasOwnProperty.call(g,m)){if(u.includes(m))continue;c[m]=g[m]}return c}var S={scalding:{label:"Scalding",color:"#FF0000",icon:"fa fa-arrow-circle-up",requireEmag:!0},warm:{label:"Warm",color:"#990000",icon:"fa fa-arrow-circle-up"},normal:{label:"Normal",color:null,icon:"fa fa-arrow-circle-right"},cool:{label:"Cool",color:"#009999",icon:"fa fa-arrow-circle-down"},frigid:{label:"Frigid",color:"#00CCCC",icon:"fa fa-arrow-circle-down",requireEmag:!0}},I=function(u,c){var m=u.tempKey,l=b(u,f),d=S[m];if(!d)return null;var s=(0,a.useBackend)(c),i=s.data,h=s.act,C=i.currentTemp,v=d.label,p=d.icon,N=m===C,V=function(){h("setTemp",{temp:m})};return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Button,Object.assign({color:"transparent",selected:N,onClick:V},l,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:p}),v]})))},k=r.PoolController=function(){function g(u,c){for(var m=(0,a.useBackend)(c),l=m.data,d=l.emagged,s=l.currentTemp,i=S[s]||S.normal,h=i.label,C=i.color,v=[],p=0,N=Object.entries(S);p50?"battery-half":"battery-quarter")||C==="C"&&"bolt"||C==="F"&&"battery-full"||C==="M"&&"slash",color:C==="N"&&(v>50?"yellow":"red")||C==="C"&&"yellow"||C==="F"&&"green"||C==="M"&&"orange"}),(0,e.createComponentVNode)(2,I.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,o.toFixed)(v)+"%"})],4)};d.defaultHooks=f.pureComponentHooks;var s=function(h){var C,v,p=h.status;switch(p){case"AOn":C=!0,v=!0;break;case"AOff":C=!0,v=!1;break;case"On":C=!1,v=!0;break;case"Off":C=!1,v=!1;break}var N=(v?"On":"Off")+(" ["+(C?"auto":"manual")+"]");return(0,e.createComponentVNode)(2,I.ColorBox,{color:v?"good":"bad",content:C?void 0:"M",title:N})};s.defaultHooks=f.pureComponentHooks},50992:function(A,r,n){"use strict";r.__esModule=!0,r.PrisonerImplantManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(29319),f=n(3939),b=n(321),S=n(5485),I=n(98595),k=r.PrisonerImplantManager=function(){function g(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.loginState,i=d.prisonerInfo,h=d.chemicalInfo,C=d.trackingInfo,v;if(!s.logged_in)return(0,e.createComponentVNode)(2,I.Window,{theme:"security",width:500,height:850,children:(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,S.LoginScreen)})});var p=[1,5,10];return(0,e.createComponentVNode)(2,I.Window,{theme:"security",width:500,height:850,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.LoginInfo),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Prisoner Points Manager System",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Prisoner",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.name?"eject":"id-card",selected:i.name,content:i.name?i.name:"-----",tooltip:i.name?"Eject ID":"Insert ID",onClick:function(){function N(){return l("id_card")}return N}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Points",children:[i.points!==null?i.points:"-/-",(0,e.createComponentVNode)(2,t.Button,{ml:2,icon:"minus-square",disabled:i.points===null,content:"Reset",onClick:function(){function N(){return l("reset_points")}return N}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Point Goal",children:[i.goal!==null?i.goal:"-/-",(0,e.createComponentVNode)(2,t.Button,{ml:2,icon:"pen",disabled:i.goal===null,content:"Edit",onClick:function(){function N(){return(0,f.modalOpen)(c,"set_points")}return N}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{children:(0,e.createVNode)(1,"box",null,[(0,e.createTextVNode)("1 minute of prison time should roughly equate to 150 points."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Sentences should not exceed 5000 points."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Permanent prisoners should not be given a point goal."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Prisoners who meet their point goal will be able to automatically access their locker and return to the station using the shuttle.")],4,{hidden:i.goal===null})})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Tracking Implants",children:C.map(function(N){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{p:1,backgroundColor:"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:["Subject: ",N.subject]}),(0,e.createComponentVNode)(2,t.Box,{children:[" ",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Location",children:N.location}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:N.health}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Prisoner",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-triangle",content:"Warn",tooltip:"Broadcast a message to this poor sod",onClick:function(){function V(){return(0,f.modalOpen)(c,"warn",{uid:N.uid})}return V}()})})]})]},N.subject)]}),(0,e.createVNode)(1,"br")],4)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Chemical Implants",children:h.map(function(N){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{p:1,backgroundColor:"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:["Subject: ",N.name]}),(0,e.createComponentVNode)(2,t.Box,{children:[" ",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Remaining Reagents",children:N.volume})}),p.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{mt:2,disabled:N.volumec;return(0,e.createComponentVNode)(2,t.ImageButton,{fluid:!0,title:N.name,dmIcon:N.icon,dmIconState:N.icon_state,buttonsAlt:(0,e.createComponentVNode)(2,t.Button,{bold:!0,translucent:!0,fontSize:1.5,tooltip:V&&"Not enough tickets",disabled:V,onClick:function(){function y(){return g("purchase",{purchase:N.itemID})}return y}(),children:[N.cost,(0,e.createComponentVNode)(2,t.Icon,{m:0,mt:.25,name:"ticket",color:V?"bad":"good",size:1.6})]}),children:N.desc},N.name)})})})})})})}return b}()},94813:function(A,r,n){"use strict";r.__esModule=!0,r.RCD=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=n(49148),S=r.RCD=function(){function l(d,s){return(0,e.createComponentVNode)(2,o.Window,{width:480,height:670,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,u),(0,e.createComponentVNode)(2,c)]})})]})}return l}(),I=function(d,s){var i=(0,a.useBackend)(s),h=i.data,C=h.matter,v=h.max_matter,p=v*.7,N=v*.25;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Matter Storage",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[p,1/0],average:[N,p],bad:[-1/0,N]},value:C,maxValue:v,children:(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"center",children:C+" / "+v+" units"})})})})},k=function(){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Construction Type",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,g,{mode_type:"Floors and Walls"}),(0,e.createComponentVNode)(2,g,{mode_type:"Airlocks"}),(0,e.createComponentVNode)(2,g,{mode_type:"Windows"}),(0,e.createComponentVNode)(2,g,{mode_type:"Deconstruction"})]})})})},g=function(d,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=d.mode_type,p=C.mode;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"transparent",content:v,selected:p===v?1:0,onClick:function(){function N(){return h("mode",{mode:v})}return N}()})})},u=function(d,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.door_name,p=C.electrochromic,N=C.airlock_glass;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Airlock Settings",children:(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"transparent",icon:"pen-alt",content:(0,e.createFragment)([(0,e.createTextVNode)("Rename: "),(0,e.createVNode)(1,"b",null,v,0)],0),onClick:function(){function V(){return(0,f.modalOpen)(s,"renameAirlock")}return V}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:N===1&&(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:p?"toggle-on":"toggle-off",content:"Electrochromic",selected:p,onClick:function(){function V(){return h("electrochromic")}return V}()})})]})})})},c=function(d,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.tab,p=C.locked,N=C.one_access,V=C.selected_accesses,y=C.regions;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Tabs,{fluid:!0,children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"cog",selected:v===1,onClick:function(){function B(){return h("set_tab",{tab:1})}return B}(),children:"Airlock Types"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===2,icon:"list",onClick:function(){function B(){return h("set_tab",{tab:2})}return B}(),children:"Airlock Access"})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:v===1?(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Types",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,m,{check_number:0})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,m,{check_number:1})})]})}):v===2&&p?(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Access",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"lock-open",content:"Unlock",onClick:function(){function B(){return h("set_lock",{new_lock:"unlock"})}return B}()}),children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"lock",size:"5",mb:3}),(0,e.createVNode)(1,"br"),"Airlock access selection is currently locked."]})})}):(0,e.createComponentVNode)(2,b.AccessList,{sectionButtons:(0,e.createComponentVNode)(2,t.Button,{icon:"lock",content:"Lock",onClick:function(){function B(){return h("set_lock",{new_lock:"lock"})}return B}()}),usedByRcd:1,rcdButtons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:N,content:"One",onClick:function(){function B(){return h("set_one_access",{access:"one"})}return B}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!N,width:4,content:"All",onClick:function(){function B(){return h("set_one_access",{access:"all"})}return B}()})],4),accesses:y,selectedList:V,accessMod:function(){function B(L){return h("set",{access:L})}return B}(),grantAll:function(){function B(){return h("grant_all")}return B}(),denyAll:function(){function B(){return h("clear_all")}return B}(),grantDep:function(){function B(L){return h("grant_region",{region:L})}return B}(),denyDep:function(){function B(L){return h("deny_region",{region:L})}return B}()})})],4)},m=function(d,s){for(var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.door_types_ui_list,p=C.door_type,N=d.check_number,V=[],y=0;yf?w=(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,mb:1,children:"There are new messages"}):w=(0,e.createComponentVNode)(2,t.Box,{color:"label",mb:1,children:"There are no new messages"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Main Menu",buttons:(0,e.createComponentVNode)(2,t.Button,{width:9,content:L?"Speaker Off":"Speaker On",selected:!L,icon:L?"volume-mute":"volume-up",onClick:function(){function x(){return N("toggleSilent")}return x}()}),children:[w,(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"View Messages",icon:y>f?"envelope-open-text":"envelope",onClick:function(){function x(){return N("setScreen",{setScreen:6})}return x}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:1,children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Request Assistance",icon:"hand-paper",onClick:function(){function x(){return N("setScreen",{setScreen:1})}return x}()}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Request Supplies",icon:"box",onClick:function(){function x(){return N("setScreen",{setScreen:2})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Request Secondary Goal",icon:"clipboard-list",onClick:function(){function x(){return N("setScreen",{setScreen:11})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Relay Anonymous Information",icon:"comment",onClick:function(){function x(){return N("setScreen",{setScreen:3})}return x}()})]})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:1,children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Print Shipping Label",icon:"tag",onClick:function(){function x(){return N("setScreen",{setScreen:9})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"View Shipping Logs",icon:"clipboard-list",onClick:function(){function x(){return N("setScreen",{setScreen:10})}return x}()})]})}),!!B&&(0,e.createComponentVNode)(2,t.Stack.Item,{mt:1,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Send Station-Wide Announcement",icon:"bullhorn",onClick:function(){function x(){return N("setScreen",{setScreen:8})}return x}()})})]})})},u=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y=V.department,B=[],L;switch(C.purpose){case"ASSISTANCE":B=V.assist_dept,L="Request assistance from another department";break;case"SUPPLIES":B=V.supply_dept,L="Request supplies from another department";break;case"INFO":B=V.info_dept,L="Relay information to another department";break}return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:L,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function w(){return N("setScreen",{setScreen:0})}return w}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:B.filter(function(w){return w!==y}).map(function(w){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:w,textAlign:"right",className:"candystripe",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Message",icon:"envelope",onClick:function(){function x(){return N("writeInput",{write:w,priority:S})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{content:"High Priority",icon:"exclamation-circle",onClick:function(){function x(){return N("writeInput",{write:w,priority:I})}return x}()})]},w)})})})})},c=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y;switch(C.type){case"SUCCESS":y="Message sent successfully";break;case"FAIL":y="Unable to contact messaging server";break}return(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:y,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function B(){return N("setScreen",{setScreen:0})}return B}()})})},m=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y,B;switch(C.type){case"MESSAGES":y=V.message_log,B="Message Log";break;case"SHIPPING":y=V.shipping_log,B="Shipping label print log";break}return y.reverse(),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:B,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function L(){return N("setScreen",{setScreen:0})}return L}()}),children:y.map(function(L){return(0,e.createComponentVNode)(2,t.Box,{textAlign:"left",children:[L.map(function(w,x){return(0,e.createVNode)(1,"div",null,w,0,null,x)}),(0,e.createVNode)(1,"hr")]},L)})})})},l=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y=V.recipient,B=V.message,L=V.msgVerified,w=V.msgStamped;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Message Authentication",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function x(){return N("setScreen",{setScreen:0})}return x}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Recipient",children:y}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message",children:B}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Validated by",color:"green",children:L}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Stamped by",color:"blue",children:w})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",content:"Send Message",icon:"envelope",onClick:function(){function x(){return N("department",{department:y})}return x}()})})})],4)},d=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y=V.message,B=V.announceAuth;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Station-Wide Announcement",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function L(){return N("setScreen",{setScreen:0})}return L}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Edit Message",icon:"edit",onClick:function(){function L(){return N("writeAnnouncement")}return L}()})],4),children:y})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:[B?(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",color:"green",children:"ID verified. Authentication accepted."}):(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",color:"label",children:"Swipe your ID card to authenticate yourself"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:2,textAlign:"center",content:"Send Announcement",icon:"bullhorn",disabled:!(B&&y),onClick:function(){function L(){return N("sendAnnouncement")}return L}()})]})})],4)},s=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y=V.shipDest,B=V.msgVerified,L=V.ship_dept;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Section,{title:"Print Shipping Label",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function w(){return N("setScreen",{setScreen:0})}return w}()}),children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Destination",children:y}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Validated by",children:B})]}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:1,textAlign:"center",content:"Print Label",icon:"print",disabled:!(y&&B),onClick:function(){function w(){return N("printLabel")}return w}()})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Destinations",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:L.map(function(w){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:w,textAlign:"right",className:"candystripe",children:(0,e.createComponentVNode)(2,t.Button,{content:y===w?"Selected":"Select",selected:y===w,onClick:function(){function x(){return N("shipSelect",{shipSelect:w})}return x}()})},w)})})})})],4)},i=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y=V.secondaryGoalAuth,B=V.secondaryGoalEnabled;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Request Secondary Goal",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function L(){return N("setScreen",{setScreen:0})}return L}()})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:[B?y?(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",color:"green",children:"ID verified. Authentication accepted."}):(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",color:"label",children:"Swipe your ID card to authenticate yourself"}):(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",color:"label",children:"Complete your current goal first!"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:2,textAlign:"center",content:"Request Secondary Goal",icon:"clipboard-list",disabled:!(y&&B),onClick:function(){function L(){return N("requestSecondaryGoal")}return L}()})]})})],4)}},9861:function(A,r,n){"use strict";r.__esModule=!0,r.RndBackupConsole=r.LinkMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.RndBackupConsole=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.network_name,l=c.has_disk,d=c.disk_name,s=c.linked,i=c.techs,h=c.last_timestamp;return(0,e.createComponentVNode)(2,o.Window,{width:900,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Device Info",children:[(0,e.createComponentVNode)(2,t.Box,{mb:2,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Network",children:s?(0,e.createComponentVNode)(2,t.Button,{content:m,icon:"unlink",selected:1,onClick:function(){function C(){return u("unlink")}return C}()}):"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Loaded Disk",children:l?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:d+" (Last backup: "+h+")",icon:"save",selected:1,onClick:function(){function C(){return u("eject_disk")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Save all",onClick:function(){function C(){return u("saveall2disk")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-out-alt",content:"Load all",onClick:function(){function C(){return u("saveall2network")}return C}()})],4):"None"})]})}),!!s||(0,e.createComponentVNode)(2,b)]}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Section,{title:"Tech Info",children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Tech Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Level"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Disk Level"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Actions"})]}),Object.keys(i).map(function(C){return!(i[C].network_level>0||i[C].disk_level>0)||(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:i[C].name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i[C].network_level||"None"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i[C].disk_level||"None"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Load to network",disabled:!l||!s,onClick:function(){function v(){return u("savetech2network",{tech:C})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-out-alt",content:"Load to disk",disabled:!l||!s,onClick:function(){function v(){return u("savetech2disk",{tech:C})}return v}()})]})]},C)})]})})})]})})}return S}(),b=r.LinkMenu=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.controllers;return(0,e.createComponentVNode)(2,t.Section,{title:"Setup Linkage",children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Link"})]}),m.map(function(l){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:l.addr}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:l.net_id}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Link",icon:"link",onClick:function(){function d(){return u("linktonetworkcontroller",{target_controller:l.addr})}return d}()})})]},l.addr)})]})})}return S}()},68303:function(A,r,n){"use strict";r.__esModule=!0,r.AnalyzerMenu=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=r.AnalyzerMenu=function(){function S(I,k){var g=(0,t.useBackend)(k),u=g.data,c=g.act,m=u.tech_levels,l=u.loaded_item,d=u.linked_analyzer,s=u.can_discover;return d?l?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Section,{title:"Object Analysis",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Deconstruct",icon:"microscope",onClick:function(){function i(){c("deconstruct")}return i}()}),(0,e.createComponentVNode)(2,o.Button,{content:"Eject",icon:"eject",onClick:function(){function i(){c("eject_item")}return i}()}),!s||(0,e.createComponentVNode)(2,o.Button,{content:"Discover",icon:"atom",onClick:function(){function i(){c("discover")}return i}()})],0),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:l.name})})}),(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.Table,{id:"research-levels",children:[(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"Research Field"}),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"Current Level"}),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"Object Level"}),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"New Level"})]}),m.map(function(i){return(0,e.createComponentVNode)(2,b,{techLevel:i},i.id)})]})})],4):(0,e.createComponentVNode)(2,o.Section,{title:"Analysis Menu",children:"No item loaded. Standing by..."}):(0,e.createComponentVNode)(2,o.Section,{title:"Analysis Menu",children:"NO SCIENTIFIC ANALYZER LINKED TO CONSOLE"})}return S}(),b=function(I,k){var g=I.techLevel,u=g.name,c=g.desc,m=g.level,l=g.object_level,d=g.ui_icon,s=l!=null,i=s&&l>=m?Math.max(l,m+1):m;return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{icon:"circle-info",tooltip:c})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:d})," ",u]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:m}),s?(0,e.createComponentVNode)(2,o.Table.Cell,{children:l}):(0,e.createComponentVNode)(2,o.Table.Cell,{className:"research-level-no-effect",children:"-"}),(0,e.createComponentVNode)(2,o.Table.Cell,{className:(0,a.classes)([i!==m&&"upgraded-level"]),children:i})]})}},37556:function(A,r,n){"use strict";r.__esModule=!0,r.DataDiskMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o="design",f="tech",b=function(c,m){var l=(0,a.useBackend)(m),d=l.data,s=l.act,i=d.disk_data;return i?(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:i.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:i.level}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:i.desc})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:(0,e.createComponentVNode)(2,t.Button,{content:"Upload to Database",icon:"arrow-up",onClick:function(){function h(){return s("updt_tech")}return h}()})})]}):null},S=function(c,m){var l=(0,a.useBackend)(m),d=l.data,s=l.act,i=d.disk_data;if(!i)return null;var h=i.name,C=i.lathe_types,v=i.materials,p=C.join(", ");return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:h}),p?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lathe Types",children:p}):null,(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Required Materials"})]}),v.map(function(N){return(0,e.createComponentVNode)(2,t.Box,{children:["- ",(0,e.createVNode)(1,"span",null,N.name,0,{style:{"text-transform":"capitalize"}})," x ",N.amount]},N.name)}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:(0,e.createComponentVNode)(2,t.Button,{content:"Upload to Database",icon:"arrow-up",onClick:function(){function N(){return s("updt_design")}return N}()})})]})},I=function(c,m){var l=(0,a.useBackend)(m),d=l.act,s=l.data,i=s.disk_data;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Section,Object.assign({buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Confirm,{content:"Erase",icon:"eraser",disabled:!i,onClick:function(){function h(){return d("erase_disk")}return h}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Eject",icon:"eject",onClick:function(){function h(){d("eject_disk")}return h}()})],4)},c)))},k=function(c,m){var l=(0,a.useBackend)(m),d=l.data,s=l.act,i=d.disk_type,h=d.to_copy,C=c.title;return(0,e.createComponentVNode)(2,I,{title:C,children:(0,e.createComponentVNode)(2,t.Box,{overflowY:"auto",overflowX:"hidden",maxHeight:"450px",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:h.sort(function(v,p){return v.name.localeCompare(p.name)}).map(function(v){var p=v.name,N=v.id;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{noColon:!0,label:p,children:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",content:"Copy to Disk",onClick:function(){function V(){i===f?s("copy_tech",{id:N}):s("copy_design",{id:N})}return V}()})},N)})})})})},g=r.DataDiskMenu=function(){function u(c,m){var l=(0,a.useBackend)(m),d=l.data,s=d.disk_type,i=d.disk_data;if(!s)return(0,e.createComponentVNode)(2,t.Section,{title:"Data Disk",children:"No disk loaded."});switch(s){case o:return i?(0,e.createComponentVNode)(2,I,{title:"Design Disk",children:(0,e.createComponentVNode)(2,S)}):(0,e.createComponentVNode)(2,k,{title:"Design Disk"});case f:return i?(0,e.createComponentVNode)(2,I,{title:"Technology Disk",children:(0,e.createComponentVNode)(2,b)}):(0,e.createComponentVNode)(2,k,{title:"Technology Disk"});default:return(0,e.createFragment)([(0,e.createTextVNode)("UNRECOGNIZED DISK TYPE")],4)}}return u}()},16830:function(A,r,n){"use strict";r.__esModule=!0,r.LatheCategory=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(52662),f=r.LatheCategory=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.data,u=k.act,c=g.category,m=g.matching_designs,l=g.menu,d=l===4,s=d?"build":"imprint";return(0,e.createComponentVNode)(2,t.Section,{title:c,children:[(0,e.createComponentVNode)(2,o.LatheMaterials),(0,e.createComponentVNode)(2,t.Table,{className:"RndConsole__LatheCategory__MatchingDesigns",children:m.map(function(i){var h=i.id,C=i.name,v=i.can_build,p=i.materials;return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:C,disabled:v<1,onClick:function(){function N(){return u(s,{id:h,amount:1})}return N}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v>=5?(0,e.createComponentVNode)(2,t.Button,{content:"x5",onClick:function(){function N(){return u(s,{id:h,amount:5})}return N}()}):null}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v>=10?(0,e.createComponentVNode)(2,t.Button,{content:"x10",onClick:function(){function N(){return u(s,{id:h,amount:10})}return N}()}):null}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.map(function(N){return(0,e.createFragment)([" | ",(0,e.createVNode)(1,"span",N.is_red?"color-red":null,[N.amount,(0,e.createTextVNode)(" "),N.name],0)],0)})})]},h)})})]})}return b}()},70497:function(A,r,n){"use strict";r.__esModule=!0,r.LatheChemicalStorage=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheChemicalStorage=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data,g=I.act,u=k.loaded_chemicals,c=k.menu===4;return(0,e.createComponentVNode)(2,t.Section,{title:"Chemical Storage",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Purge All",icon:"trash",onClick:function(){function m(){var l=c?"disposeallP":"disposeallI";g(l)}return m}()}),(0,e.createComponentVNode)(2,t.LabeledList,{children:u.map(function(m){var l=m.volume,d=m.name,s=m.id;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* "+l+" of "+d,children:(0,e.createComponentVNode)(2,t.Button,{content:"Purge",icon:"trash",onClick:function(){function i(){var h=c?"disposeP":"disposeI";g(h,{id:s})}return i}()})},s)})})]})}return f}()},70864:function(A,r,n){"use strict";r.__esModule=!0,r.LatheMainMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(52662),f=n(68198),b=r.LatheMainMenu=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.data,c=g.act,m=u.menu,l=u.categories,d=m===4?"Protolathe":"Circuit Imprinter";return(0,e.createComponentVNode)(2,t.Section,{title:d+" Menu",children:[(0,e.createComponentVNode)(2,o.LatheMaterials),(0,e.createComponentVNode)(2,f.LatheSearch),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.Flex,{wrap:"wrap",children:l.map(function(s){return(0,e.createComponentVNode)(2,t.Flex,{style:{"flex-basis":"50%","margin-bottom":"6px"},children:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-right",content:s,onClick:function(){function i(){c("setCategory",{category:s})}return i}()})},s)})})]})}return S}()},42878:function(A,r,n){"use strict";r.__esModule=!0,r.LatheMaterialStorage=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheMaterialStorage=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data,g=I.act,u=k.loaded_materials;return(0,e.createComponentVNode)(2,t.Section,{className:"RndConsole__LatheMaterialStorage",title:"Material Storage",children:(0,e.createComponentVNode)(2,t.Table,{children:u.map(function(c){var m=c.id,l=c.amount,d=c.name,s=function(){function v(p){var N=k.menu===4?"lathe_ejectsheet":"imprinter_ejectsheet";g(N,{id:m,amount:p})}return v}(),i=Math.floor(l/2e3),h=l<1,C=i===1?"":"s";return(0,e.createComponentVNode)(2,t.Table.Row,{className:h?"color-grey":"color-yellow",children:[(0,e.createComponentVNode)(2,t.Table.Cell,{minWidth:"210px",children:["* ",l," of ",d]}),(0,e.createComponentVNode)(2,t.Table.Cell,{minWidth:"110px",children:["(",i," sheet",C,")"]}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:l>=2e3?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"1x",icon:"eject",onClick:function(){function v(){return s(1)}return v}()}),(0,e.createComponentVNode)(2,t.Button,{content:"C",icon:"eject",onClick:function(){function v(){return s("custom")}return v}()}),l>=2e3*5?(0,e.createComponentVNode)(2,t.Button,{content:"5x",icon:"eject",onClick:function(){function v(){return s(5)}return v}()}):null,(0,e.createComponentVNode)(2,t.Button,{content:"All",icon:"eject",onClick:function(){function v(){return s(50)}return v}()})],0):null})]},m)})})})}return f}()},52662:function(A,r,n){"use strict";r.__esModule=!0,r.LatheMaterials=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheMaterials=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data,g=k.total_materials,u=k.max_materials,c=k.max_chemicals,m=k.total_chemicals;return(0,e.createComponentVNode)(2,t.Box,{className:"RndConsole__LatheMaterials",mb:"10px",children:(0,e.createComponentVNode)(2,t.Table,{width:"auto",children:[(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Material Amount:"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g}),u?(0,e.createComponentVNode)(2,t.Table.Cell,{children:" / "+u}):null]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Chemical Amount:"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:m}),c?(0,e.createComponentVNode)(2,t.Table.Cell,{children:" / "+c}):null]})]})})}return f}()},9681:function(A,r,n){"use strict";r.__esModule=!0,r.LatheMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(12644),f=n(70864),b=n(16830),S=n(42878),I=n(70497),k=["menu"];function g(d,s){if(d==null)return{};var i={};for(var h in d)if({}.hasOwnProperty.call(d,h)){if(s.includes(h))continue;i[h]=d[h]}return i}var u=t.Tabs.Tab,c=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.menu===o.MENU.LATHE?["nav_protolathe",v.submenu_protolathe]:["nav_imprinter",v.submenu_imprinter],N=p[0],V=p[1],y=s.menu,B=g(s,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,u,Object.assign({selected:V===y,onClick:function(){function L(){return C(N,{menu:y})}return L}()},B)))},m=function(s){switch(s){case o.PRINTER_MENU.MAIN:return(0,e.createComponentVNode)(2,f.LatheMainMenu);case o.PRINTER_MENU.SEARCH:return(0,e.createComponentVNode)(2,b.LatheCategory);case o.PRINTER_MENU.MATERIALS:return(0,e.createComponentVNode)(2,S.LatheMaterialStorage);case o.PRINTER_MENU.CHEMICALS:return(0,e.createComponentVNode)(2,I.LatheChemicalStorage)}},l=r.LatheMenu=function(){function d(s,i){var h=(0,a.useBackend)(i),C=h.data,v=C.menu,p=C.linked_lathe,N=C.linked_imprinter;return v===o.MENU.LATHE&&!p?(0,e.createComponentVNode)(2,t.Box,{children:"NO PROTOLATHE LINKED TO CONSOLE"}):v===o.MENU.IMPRINTER&&!N?(0,e.createComponentVNode)(2,t.Box,{children:"NO CIRCUIT IMPRITER LINKED TO CONSOLE"}):(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,c,{menu:o.PRINTER_MENU.MAIN,icon:"bars",children:"Main Menu"}),(0,e.createComponentVNode)(2,c,{menu:o.PRINTER_MENU.MATERIALS,icon:"layer-group",children:"Materials"}),(0,e.createComponentVNode)(2,c,{menu:o.PRINTER_MENU.CHEMICALS,icon:"flask-vial",children:"Chemicals"})]}),m(C.menu===o.MENU.LATHE?C.submenu_protolathe:C.submenu_imprinter)]})}return d}()},68198:function(A,r,n){"use strict";r.__esModule=!0,r.LatheSearch=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheSearch=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"Search...",onEnter:function(){function g(u,c){return k("search",{to_search:c})}return g}()})})}return f}()},81421:function(A,r,n){"use strict";r.__esModule=!0,r.LinkMenu=void 0;var e=n(89005),a=n(72253),t=n(98595),o=n(36036),f=r.LinkMenu=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.controllers;return(0,e.createComponentVNode)(2,t.Window,{width:800,height:550,children:(0,e.createComponentVNode)(2,t.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{title:"Setup Linkage",children:(0,e.createComponentVNode)(2,o.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Link"})]}),c.map(function(m){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:m.addr}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:m.net_id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Link",icon:"link",onClick:function(){function l(){return g("linktonetworkcontroller",{target_controller:m.addr})}return l}()})})]},m.addr)})]})})})})}return b}()},6256:function(A,r,n){"use strict";r.__esModule=!0,r.SettingsMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.SettingsMenu=function(){function S(I,k){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,f),(0,e.createComponentVNode)(2,b)]})}return S}(),f=function(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.sync,l=c.admin;return(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.Flex,{direction:"column",align:"flex-start",children:(0,e.createComponentVNode)(2,t.Button,{color:"red",icon:"unlink",content:"Disconnect from Research Network",onClick:function(){function d(){u("unlink")}return d}()})})})},b=function(I,k){var g=(0,a.useBackend)(k),u=g.data,c=g.act,m=u.linked_analyzer,l=u.linked_lathe,d=u.linked_imprinter;return(0,e.createComponentVNode)(2,t.Section,{title:"Linked Devices",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"link",content:"Re-sync with Nearby Devices",onClick:function(){function s(){return c("find_device")}return s}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Scientific Analyzer",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",disabled:!m,content:m?"Unlink":"Undetected",onClick:function(){function s(){return c("disconnect",{item:"analyze"})}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Protolathe",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",disabled:!l,content:l?"Unlink":"Undetected",onClick:function(){function s(){c("disconnect",{item:"lathe"})}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Circuit Imprinter",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",disabled:!d,content:d?"Unlink":"Undetected",onClick:function(){function s(){return c("disconnect",{item:"imprinter"})}return s}()})})]})})}},12644:function(A,r,n){"use strict";r.__esModule=!0,r.RndConsole=r.PRINTER_MENU=r.MENU=void 0;var e=n(89005),a=n(72253),t=n(98595),o=n(36036),f=n(35840),b=n(37556),S=n(9681),I=n(81421),k=n(6256),g=n(68303),u=["menu"];function c(p,N){if(p==null)return{};var V={};for(var y in p)if({}.hasOwnProperty.call(p,y)){if(N.includes(y))continue;V[y]=p[y]}return V}var m=o.Tabs.Tab,l=r.MENU={MAIN:0,DISK:2,ANALYZE:3,LATHE:4,IMPRINTER:5,SETTINGS:6},d=r.PRINTER_MENU={MAIN:0,SEARCH:1,MATERIALS:2,CHEMICALS:3},s=function(N){switch(N){case l.MAIN:return(0,e.createComponentVNode)(2,v);case l.DISK:return(0,e.createComponentVNode)(2,b.DataDiskMenu);case l.ANALYZE:return(0,e.createComponentVNode)(2,g.AnalyzerMenu);case l.LATHE:case l.IMPRINTER:return(0,e.createComponentVNode)(2,S.LatheMenu);case l.SETTINGS:return(0,e.createComponentVNode)(2,k.SettingsMenu);default:return"UNKNOWN MENU"}},i=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.menu,x=N.menu,T=c(N,u);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,m,Object.assign({selected:w===x,onClick:function(){function M(){return B("nav",{menu:x})}return M}()},T)))},h=r.RndConsole=function(){function p(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data;if(!L.linked)return(0,e.createComponentVNode)(2,I.LinkMenu);var w=L.menu,x=L.linked_analyzer,T=L.linked_lathe,M=L.linked_imprinter,O=L.wait_message;return(0,e.createComponentVNode)(2,t.Window,{width:800,height:550,children:(0,e.createComponentVNode)(2,t.Window.Content,{children:(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole",children:[(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,i,{icon:"flask",menu:l.MAIN,children:"Research"}),!!x&&(0,e.createComponentVNode)(2,i,{icon:"microscope",menu:l.ANALYZE,children:"Analyze"}),!!T&&(0,e.createComponentVNode)(2,i,{icon:"print",menu:l.LATHE,children:"Protolathe"}),!!M&&(0,e.createComponentVNode)(2,i,{icon:"memory",menu:l.IMPRINTER,children:"Imprinter"}),(0,e.createComponentVNode)(2,i,{icon:"floppy-disk",menu:l.DISK,children:"Disk"}),(0,e.createComponentVNode)(2,i,{icon:"cog",menu:l.SETTINGS,children:"Settings"})]}),s(w),(0,e.createComponentVNode)(2,C)]})})})}return p}(),C=function(N,V){var y=(0,a.useBackend)(V),B=y.data,L=B.wait_message;return L?(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole__Overlay",children:(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole__Overlay__Wrapper",children:(0,e.createComponentVNode)(2,o.NoticeBox,{color:"black",children:L})})}):null},v=function(N,V){var y=(0,a.useBackend)(V),B=y.data,L=B.tech_levels;return(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.Table,{id:"research-levels",children:[(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"Research Field"}),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"Level"})]}),L.map(function(w){var x=w.id,T=w.name,M=w.desc,O=w.level,D=w.ui_icon;return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{icon:"circle-info",tooltip:M})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:D})," ",T]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:O})]},x)})]})})}},29205:function(A,r,n){"use strict";r.__esModule=!0,r.RndNetController=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=r.RndNetController=function(){function k(g,u){var c=(0,t.useBackend)(u),m=c.act,l=c.data,d=l.ion,s=(0,t.useLocalState)(u,"mainTabIndex",0),i=s[0],h=s[1],C=function(){function v(p){switch(p){case 0:return(0,e.createComponentVNode)(2,S);case 1:return(0,e.createComponentVNode)(2,I);default:return"SOMETHING WENT VERY WRONG PLEASE AHELP"}}return v}();return(0,e.createComponentVNode)(2,f.Window,{width:900,height:600,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"wrench",selected:i===0,onClick:function(){function v(){return h(0)}return v}(),children:"Network Management"},"ConfigPage"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"floppy-disk",selected:i===1,onClick:function(){function v(){return h(1)}return v}(),children:"Design Management"},"DesignPage")]}),C(i)]})})}return k}(),S=function(g,u){var c=(0,t.useBackend)(u),m=c.act,l=c.data,d=(0,t.useLocalState)(u,"filterType","ALL"),s=d[0],i=d[1],h=l.network_password,C=l.network_name,v=l.devices,p=[];p.push(s),s==="MSC"&&(p.push("BCK"),p.push("PGN"));var N=s==="ALL"?v:v.filter(function(V){return p.indexOf(V.dclass)>-1});return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Section,{title:"Network Configuration",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Network Name",children:(0,e.createComponentVNode)(2,o.Button,{content:C||"Unset",selected:C,icon:"edit",onClick:function(){function V(){return m("network_name")}return V}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Network Password",children:(0,e.createComponentVNode)(2,o.Button,{content:h||"Unset",selected:h,icon:"lock",onClick:function(){function V(){return m("network_password")}return V}()})})]})}),(0,e.createComponentVNode)(2,o.Section,{title:"Connected Devices",children:[(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:s==="ALL",onClick:function(){function V(){return i("ALL")}return V}(),icon:"network-wired",children:"All Devices"},"AllDevices"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:s==="SRV",onClick:function(){function V(){return i("SRV")}return V}(),icon:"server",children:"R&D Servers"},"RNDServers"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:s==="RDC",onClick:function(){function V(){return i("RDC")}return V}(),icon:"desktop",children:"R&D Consoles"},"RDConsoles"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:s==="MFB",onClick:function(){function V(){return i("MFB")}return V}(),icon:"industry",children:"Exosuit Fabricators"},"Mechfabs"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:s==="MSC",onClick:function(){function V(){return i("MSC")}return V}(),icon:"microchip",children:"Miscellaneous Devices"},"Misc")]}),(0,e.createComponentVNode)(2,o.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Device Name"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Device ID"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Unlink"})]}),N.map(function(V){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:V.name}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:V.id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Unlink",icon:"unlink",color:"red",onClick:function(){function y(){return m("unlink_device",{dclass:V.dclass,uid:V.id})}return y}()})})]},V.id)})]})]})],4)},I=function(g,u){var c=(0,t.useBackend)(u),m=c.act,l=c.data,d=l.designs,s=(0,t.useLocalState)(u,"searchText",""),i=s[0],h=s[1];return(0,e.createComponentVNode)(2,o.Section,{title:"Design Management",children:[(0,e.createComponentVNode)(2,o.Input,{fluid:!0,placeholder:"Search for designs",mb:2,onInput:function(){function C(v,p){return h(p)}return C}()}),d.filter((0,a.createSearch)(i,function(C){return C.name})).map(function(C){return(0,e.createComponentVNode)(2,o.Button.Checkbox,{fluid:!0,content:C.name,checked:!C.blacklisted,onClick:function(){function v(){return m(C.blacklisted?"unblacklist_design":"blacklist_design",{d_uid:C.uid})}return v}()},C.name)})]})}},63315:function(A,r,n){"use strict";r.__esModule=!0,r.RndServer=void 0;var e=n(89005),a=n(72253),t=n(44879),o=n(36036),f=n(98595),b=r.RndServer=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.active,s=l.network_name;return(0,e.createComponentVNode)(2,f.Window,{width:600,height:500,resizable:!0,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,o.Section,{title:"Server Configuration",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Machine power",children:(0,e.createComponentVNode)(2,o.Button,{content:d?"On":"Off",selected:d,icon:"power-off",onClick:function(){function i(){return m("toggle_active")}return i}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Link status",children:s===null?(0,e.createComponentVNode)(2,o.Box,{color:"red",children:"Unlinked"}):(0,e.createComponentVNode)(2,o.Box,{color:"green",children:"Linked"})})]})}),s===null?(0,e.createComponentVNode)(2,I):(0,e.createComponentVNode)(2,S)]})})}return k}(),S=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.network_name;return(0,e.createComponentVNode)(2,o.Section,{title:"Network Info",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Connected network ID",children:d}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Unlink",children:(0,e.createComponentVNode)(2,o.Button,{content:"Unlink",icon:"unlink",color:"red",onClick:function(){function s(){return m("unlink")}return s}()})})]})})},I=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.controllers;return(0,e.createComponentVNode)(2,o.Section,{title:"Detected Cores",children:(0,e.createComponentVNode)(2,o.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Link"})]}),d.map(function(s){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:s.netname}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Link",icon:"link",onClick:function(){function i(){return m("link",{addr:s.addr})}return i}()})})]},s.addr)})]})})}},26109:function(A,r,n){"use strict";r.__esModule=!0,r.RobotSelfDiagnosis=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(25328),b=function(k,g){var u=k/g;return u<=.2?"good":u<=.5?"average":"bad"},S=r.RobotSelfDiagnosis=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.data,m=c.component_data;return(0,e.createComponentVNode)(2,o.Window,{width:280,height:480,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:m.map(function(l,d){return(0,e.createComponentVNode)(2,t.Section,{title:(0,f.capitalize)(l.name),children:l.installed<=0?(0,e.createComponentVNode)(2,t.NoticeBox,{m:-.5,height:3.5,color:"red",style:{"font-style":"normal"},children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",children:(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,textAlign:"center",align:"center",color:"#e8e8e8",children:l.installed===-1?"Destroyed":"Missing"})})}):(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"72%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Brute Damage",color:b(l.brute_damage,l.max_damage),children:l.brute_damage}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Burn Damage",color:b(l.electronic_damage,l.max_damage),children:l.electronic_damage})]})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Powered",color:l.powered?"good":"bad",children:l.powered?"Yes":"No"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Enabled",color:l.status?"good":"bad",children:l.status?"Yes":"No"})]})})]})},d)})})})}return I}()},97997:function(A,r,n){"use strict";r.__esModule=!0,r.RoboticsControlConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.RoboticsControlConsole=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.can_hack,l=c.safety,d=c.show_lock_all,s=c.cyborgs,i=s===void 0?[]:s;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:460,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!d&&(0,e.createComponentVNode)(2,t.Section,{title:"Emergency Lock Down",children:[(0,e.createComponentVNode)(2,t.Button,{icon:l?"lock":"unlock",content:l?"Disable Safety":"Enable Safety",selected:l,onClick:function(){function h(){return u("arm",{})}return h}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"lock",disabled:l,content:"Lock ALL Cyborgs",color:"bad",onClick:function(){function h(){return u("masslock",{})}return h}()})]}),(0,e.createComponentVNode)(2,b,{cyborgs:i,can_hack:m})]})})}return S}(),b=function(I,k){var g=I.cyborgs,u=I.can_hack,c=(0,a.useBackend)(k),m=c.act,l=c.data,d="Detonate";return l.detonate_cooldown>0&&(d+=" ("+l.detonate_cooldown+"s)"),g.length?g.map(function(s){return(0,e.createComponentVNode)(2,t.Section,{title:s.name,buttons:(0,e.createFragment)([!!s.hackable&&!s.emagged&&(0,e.createComponentVNode)(2,t.Button,{icon:"terminal",content:"Hack",color:"bad",onClick:function(){function i(){return m("hackbot",{uid:s.uid})}return i}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:s.locked_down?"unlock":"lock",color:s.locked_down?"good":"default",content:s.locked_down?"Release":"Lockdown",disabled:!l.auth,onClick:function(){function i(){return m("stopbot",{uid:s.uid})}return i}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"bomb",content:d,disabled:!l.auth||l.detonate_cooldown>0,color:"bad",onClick:function(){function i(){return m("killbot",{uid:s.uid})}return i}()})],0),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:(0,e.createComponentVNode)(2,t.Box,{color:s.status?"bad":s.locked_down?"average":"good",children:s.status?"Not Responding":s.locked_down?"Locked Down":"Nominal"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:(0,e.createComponentVNode)(2,t.Box,{children:s.locstring})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:s.health>50?"good":"bad",value:s.health/100})}),typeof s.charge=="number"&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell Charge",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:s.charge>30?"good":"bad",value:s.charge/100})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell Capacity",children:(0,e.createComponentVNode)(2,t.Box,{color:s.cell_capacity<3e4?"average":"good",children:s.cell_capacity})})],4)||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"No Power Cell"})}),!!s.is_hacked&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safeties",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"DISABLED"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Module",children:s.module}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Master AI",children:(0,e.createComponentVNode)(2,t.Box,{color:s.synchronization?"default":"average",children:s.synchronization||"None"})})]})},s.uid)}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No cyborg units detected within access parameters."})}},54431:function(A,r,n){"use strict";r.__esModule=!0,r.Safe=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Safe=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.dial,s=l.open,i=l.locked,h=l.contents;return(0,e.createComponentVNode)(2,o.Window,{theme:"safe",width:600,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Box,{className:"Safe--engraving",children:[(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{className:"Safe--engraving--hinge",top:"25%"}),(0,e.createComponentVNode)(2,t.Box,{className:"Safe--engraving--hinge",top:"75%"})]}),(0,e.createComponentVNode)(2,t.Icon,{className:"Safe--engraving--arrow",name:"long-arrow-alt-down",size:"3"}),(0,e.createVNode)(1,"br"),s?(0,e.createComponentVNode)(2,S):(0,e.createComponentVNode)(2,t.Box,{as:"img",className:"Safe--dial",src:"safe_dial.png",style:{transform:"rotate(-"+3.6*d+"deg)","z-index":0}})]}),!s&&(0,e.createComponentVNode)(2,I)]})})}return k}(),b=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.dial,s=l.open,i=l.locked,h=function(v,p){return(0,e.createComponentVNode)(2,t.Button,{disabled:s||p&&!i,icon:"arrow-"+(p?"right":"left"),content:(p?"Right":"Left")+" "+v,iconRight:p,onClick:function(){function N(){return m(p?"turnleft":"turnright",{num:v})}return N}(),style:{"z-index":10}})};return(0,e.createComponentVNode)(2,t.Box,{className:"Safe--dialer",children:[(0,e.createComponentVNode)(2,t.Button,{disabled:i,icon:s?"lock":"lock-open",content:s?"Close":"Open",mb:"0.5rem",onClick:function(){function C(){return m("open")}return C}()}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Box,{position:"absolute",children:[h(50),h(10),h(1)]}),(0,e.createComponentVNode)(2,t.Box,{className:"Safe--dialer--right",position:"absolute",right:"5px",children:[h(1,!0),h(10,!0),h(50,!0)]}),(0,e.createComponentVNode)(2,t.Box,{className:"Safe--dialer--number",children:d})]})},S=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.contents;return(0,e.createComponentVNode)(2,t.Box,{className:"Safe--contents",overflow:"auto",children:d.map(function(s,i){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{mb:"0.5rem",onClick:function(){function h(){return m("retrieve",{index:i+1})}return h}(),children:[(0,e.createComponentVNode)(2,t.Box,{as:"img",src:s.sprite+".png",verticalAlign:"middle",ml:"-6px",mr:"0.5rem"}),s.name]}),(0,e.createVNode)(1,"br")],4,s)})})},I=function(g,u){return(0,e.createComponentVNode)(2,t.Section,{className:"Safe--help",title:"Safe opening instructions (because you all keep forgetting)",children:[(0,e.createComponentVNode)(2,t.Box,{children:["1. Turn the dial left to the first number.",(0,e.createVNode)(1,"br"),"2. Turn the dial right to the second number.",(0,e.createVNode)(1,"br"),"3. Continue repeating this process for each number, switching between left and right each time.",(0,e.createVNode)(1,"br"),"4. Open the safe."]}),(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:"To lock fully, turn the dial to the left after closing the safe."})]})}},29740:function(A,r,n){"use strict";r.__esModule=!0,r.SatelliteControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SatelliteControl=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.satellites,m=u.notice,l=u.meteor_shield,d=u.meteor_shield_coverage,s=u.meteor_shield_coverage_max,i=u.meteor_shield_coverage_percentage;return(0,e.createComponentVNode)(2,o.Window,{width:475,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[l&&(0,e.createComponentVNode)(2,t.Section,{title:"Station Shield Coverage",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:i>=100?"good":"average",value:d,maxValue:s,children:[i," %"]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Satellite Network Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alert",color:"red",children:u.notice}),c.map(function(h){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"#"+h.id,children:[h.mode," ",(0,e.createComponentVNode)(2,t.Button,{content:h.active?"Deactivate":"Activate",icon:"arrow-circle-right",onClick:function(){function C(){return g("toggle",{id:h.id})}return C}()})]},h.id)})]})})]})})}return b}()},44162:function(A,r,n){"use strict";r.__esModule=!0,r.SecureStorage=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(98595),b=n(36352),S=n(92986),I=r.SecureStorage=function(){function c(m,l){return(0,e.createComponentVNode)(2,f.Window,{theme:"securestorage",height:500,width:280,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,g)})})})})}return c}(),k=function(m,l){var d=(0,t.useBackend)(l),s=d.act,i=window.event?m.which:m.keyCode;if(i===S.KEY_ENTER){m.preventDefault(),s("keypad",{digit:"E"});return}if(i===S.KEY_ESCAPE){m.preventDefault(),s("keypad",{digit:"C"});return}if(i===S.KEY_BACKSPACE){m.preventDefault(),s("backspace");return}if(i>=S.KEY_0&&i<=S.KEY_9){m.preventDefault(),s("keypad",{digit:i-S.KEY_0});return}if(i>=S.KEY_NUMPAD_0&&i<=S.KEY_NUMPAD_9){m.preventDefault(),s("keypad",{digit:i-S.KEY_NUMPAD_0});return}},g=function(m,l){var d=(0,t.useBackend)(l),s=d.act,i=d.data,h=i.locked,C=i.no_passcode,v=i.emagged,p=i.user_entered_code,N=[["1","2","3"],["4","5","6"],["7","8","9"],["C","0","E"]],V=C?"":h?"bad":"good";return(0,e.createComponentVNode)(2,o.Section,{fill:!0,onKeyDown:function(){function y(B){return k(B,l)}return y}(),children:[(0,e.createComponentVNode)(2,o.Stack.Item,{height:7.3,children:(0,e.createComponentVNode)(2,o.Box,{className:(0,a.classes)(["SecureStorage__displayBox","SecureStorage__displayBox--"+V]),height:"100%",children:v?"ERROR":p})}),(0,e.createComponentVNode)(2,o.Table,{children:N.map(function(y){return(0,e.createComponentVNode)(2,b.TableRow,{children:y.map(function(B){return(0,e.createComponentVNode)(2,b.TableCell,{children:(0,e.createComponentVNode)(2,u,{number:B})},B)})},y[0])})})]})},u=function(m,l){var d=(0,t.useBackend)(l),s=d.act,i=d.data,h=m.number;return(0,e.createComponentVNode)(2,o.Button,{fluid:!0,bold:!0,mb:"6px",content:h,textAlign:"center",fontSize:"60px",lineHeight:1.25,width:"80px",className:(0,a.classes)(["SecureStorage__Button","SecureStorage__Button--keypad","SecureStorage__Button--"+h]),onClick:function(){function C(){return s("keypad",{digit:h})}return C}()})}},6272:function(A,r,n){"use strict";r.__esModule=!0,r.SecurityRecords=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=n(3939),S=n(321),I=n(5485),k=n(22091),g={"*Execute*":"execute","*Arrest*":"arrest",Incarcerated:"incarcerated",Parolled:"parolled",Released:"released",Demote:"demote",Search:"search",Monitor:"monitor"},u=function(p,N){(0,b.modalOpen)(p,"edit",{field:N.edit,value:N.value})},c=r.SecurityRecords=function(){function v(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.loginState,w=B.currentPage,x;if(L.logged_in)w===1?x=(0,e.createComponentVNode)(2,l):w===2&&(x=(0,e.createComponentVNode)(2,i));else return(0,e.createComponentVNode)(2,f.Window,{theme:"security",width:800,height:900,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,I.LoginScreen)})});return(0,e.createComponentVNode)(2,f.Window,{theme:"security",width:800,height:900,children:[(0,e.createComponentVNode)(2,b.ComplexModal),(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S.LoginInfo),(0,e.createComponentVNode)(2,k.TemporaryNotice),(0,e.createComponentVNode)(2,m),x]})})]})}return v}(),m=function(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.currentPage,w=B.general;return(0,e.createComponentVNode)(2,o.Stack.Item,{m:0,children:(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"list",selected:L===1,onClick:function(){function x(){return y("page",{page:1})}return x}(),children:"List Records"}),L===2&&w&&!w.empty&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"file",selected:L===2,children:["Record: ",w.fields[0].value]})]})})},l=function(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.records,w=(0,t.useLocalState)(N,"searchText",""),x=w[0],T=w[1],M=(0,t.useLocalState)(N,"sortId","name"),O=M[0],D=M[1],E=(0,t.useLocalState)(N,"sortOrder",!0),P=E[0],R=E[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,s)}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"SecurityRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,d,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,d,{id:"id",children:"ID"}),(0,e.createComponentVNode)(2,d,{id:"rank",children:"Assignment"}),(0,e.createComponentVNode)(2,d,{id:"fingerprint",children:"Fingerprint"}),(0,e.createComponentVNode)(2,d,{id:"status",children:"Criminal Status"})]}),L.filter((0,a.createSearch)(x,function(j){return j.name+"|"+j.id+"|"+j.rank+"|"+j.fingerprint+"|"+j.status})).sort(function(j,F){var W=P?1:-1;return j[O].localeCompare(F[O])*W}).map(function(j){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"SecurityRecords__listRow--"+g[j.status],onClick:function(){function F(){return y("view",{uid_gen:j.uid_gen,uid_sec:j.uid_sec})}return F}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",j.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:j.id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:j.rank}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:j.fingerprint}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:j.status})]},j.id)})]})})})],4)},d=function(p,N){var V=(0,t.useLocalState)(N,"sortId","name"),y=V[0],B=V[1],L=(0,t.useLocalState)(N,"sortOrder",!0),w=L[0],x=L[1],T=p.id,M=p.children;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{color:y!==T&&"transparent",fluid:!0,onClick:function(){function O(){y===T?x(!w):(B(T),x(!0))}return O}(),children:[M,y===T&&(0,e.createComponentVNode)(2,o.Icon,{name:w?"sort-up":"sort-down",ml:"0.25rem;"})]})})})},s=function(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.isPrinting,w=(0,t.useLocalState)(N,"searchText",""),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{ml:"0.25rem",content:"New Record",icon:"plus",onClick:function(){function M(){return y("new_general")}return M}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:L,icon:L?"spinner":"print",iconSpin:!!L,content:"Print Cell Log",onClick:function(){function M(){return(0,b.modalOpen)(N,"print_cell_log")}return M}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by Name, ID, Assignment, Fingerprint, Status",fluid:!0,onInput:function(){function M(O,D){return T(D)}return M}()})})]})},i=function(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.isPrinting,w=B.general,x=B.security;return!w||!w.fields?(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"General records lost!"}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"General Data",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:L,icon:L?"spinner":"print",iconSpin:!!L,content:"Print Record",onClick:function(){function T(){return y("print_record")}return T}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",tooltip:"WARNING: This will also delete the Security and Medical records associated with this crew member!",tooltipPosition:"bottom-start",content:"Delete Record",onClick:function(){function T(){return y("delete_general")}return T}()})],4),children:(0,e.createComponentVNode)(2,h)})}),!x||!x.fields?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Security Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"pen",content:"Create New Record",onClick:function(){function T(){return y("new_security")}return T}()}),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"scroll",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"Security records lost!"]})})})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Security Data",buttons:(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",disabled:x.empty,content:"Delete Record",onClick:function(){function T(){return y("delete_security")}return T}()}),children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:x.fields.map(function(T,M){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:T.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(T.value),!!T.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:T.line_break?"1rem":"initial",onClick:function(){function O(){return u(N,T)}return O}()})]},M)})})})})}),(0,e.createComponentVNode)(2,C)],4)],0)},h=function(p,N){var V=(0,t.useBackend)(N),y=V.data,B=y.general;return!B||!B.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"General records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:B.fields.map(function(L,w){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:L.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(""+L.value),!!L.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:L.line_break?"1rem":"initial",onClick:function(){function x(){return u(N,L)}return x}()})]},w)})})}),!!B.has_photos&&B.photos.map(function(L,w){return(0,e.createComponentVNode)(2,o.Stack.Item,{inline:!0,textAlign:"center",color:"label",ml:0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:L,style:{width:"96px","margin-top":"5rem","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"br"),"Photo #",w+1]},w)})]})},C=function(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.security;return(0,e.createComponentVNode)(2,o.Stack.Item,{height:"150px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Comments/Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"comment",content:"Add Entry",onClick:function(){function w(){return(0,b.modalOpen)(N,"comment_add")}return w}()}),children:L.comments.length===0?(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No comments found."}):L.comments.map(function(w,x){return(0,e.createComponentVNode)(2,o.Box,{preserveWhitespace:!0,children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:w.header||"Auto-generated"}),(0,e.createVNode)(1,"br"),w.text||w,(0,e.createComponentVNode)(2,o.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){function T(){return y("comment_delete",{id:x+1})}return T}()})]},x)})})})}},5099:function(A,r,n){"use strict";r.__esModule=!0,r.SeedExtractor=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=n(3939);function S(d,s){var i=typeof Symbol!="undefined"&&d[Symbol.iterator]||d["@@iterator"];if(i)return(i=i.call(d)).next.bind(i);if(Array.isArray(d)||(i=I(d))||s&&d&&typeof d.length=="number"){i&&(d=i);var h=0;return function(){return h>=d.length?{done:!0}:{done:!1,value:d[h++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function I(d,s){if(d){if(typeof d=="string")return k(d,s);var i={}.toString.call(d).slice(8,-1);return i==="Object"&&d.constructor&&(i=d.constructor.name),i==="Map"||i==="Set"?Array.from(d):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?k(d,s):void 0}}function k(d,s){(s==null||s>d.length)&&(s=d.length);for(var i=0,h=Array(s);i=x},C=function(w,x){return w<=x},v=s.split(" "),p=[],N=function(){var w=B.value,x=w.split(":");if(x.length===0)return 0;if(x.length===1)return p.push(function(O){return(O.name+" ("+O.variant+")").toLocaleLowerCase().includes(x[0].toLocaleLowerCase())}),0;if(x.length>2)return{v:function(){function O(D){return!1}return O}()};var T,M=i;if(x[1][x[1].length-1]==="-"?(M=C,T=Number(x[1].substring(0,x[1].length-1))):x[1][x[1].length-1]==="+"?(M=h,T=Number(x[1].substring(0,x[1].length-1))):T=Number(x[1]),isNaN(T))return{v:function(){function O(D){return!1}return O}()};switch(x[0].toLocaleLowerCase()){case"l":case"life":case"lifespan":p.push(function(O){return M(O.lifespan,T)});break;case"e":case"end":case"endurance":p.push(function(O){return M(O.endurance,T)});break;case"m":case"mat":case"maturation":p.push(function(O){return M(O.maturation,T)});break;case"pr":case"prod":case"production":p.push(function(O){return M(O.production,T)});break;case"y":case"yield":p.push(function(O){return M(O.yield,T)});break;case"po":case"pot":case"potency":p.push(function(O){return M(O.potency,T)});break;case"s":case"stock":case"c":case"count":case"a":case"amount":p.push(function(O){return M(O.amount,T)});break;default:return{v:function(){function O(D){return!1}return O}()}}},V,y=S(v),B;!(B=y()).done;)if(V=N(),V!==0&&V)return V.v;return function(L){for(var w=0,x=p;w=1?Number(M):1)}return x}()})]})]})}},17474:function(A,r,n){"use strict";r.__esModule=!0,r.Shop=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(25328),f=n(72253),b=n(36036),S=n(98595),I=n(3939),k=function(h){switch(h){case 0:return(0,e.createComponentVNode)(2,u);case 1:return(0,e.createComponentVNode)(2,c);default:return"\u041E\u0428\u0418\u0411\u041A\u0410, \u0421\u041E\u041E\u0411\u0429\u0418\u0422\u0415 \u0420\u0410\u0417\u0420\u0410\u0411\u041E\u0422\u0427\u0418\u041A\u0423"}},g=r.Shop=function(){function i(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=N.cart,y=(0,f.useLocalState)(C,"tabIndex",0),B=y[0],L=y[1];return(0,e.createComponentVNode)(2,S.Window,{width:900,height:600,theme:"abductor",children:[(0,e.createComponentVNode)(2,I.ComplexModal),(0,e.createComponentVNode)(2,S.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Tabs,{children:[(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:B===0,onClick:function(){function w(){L(0)}return w}(),icon:"store",children:"\u0422\u043E\u0440\u0433\u043E\u0432\u043B\u044F"},"PurchasePage"),(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:B===1,onClick:function(){function w(){L(1)}return w}(),icon:"shopping-cart",children:["\u041A\u043E\u0440\u0437\u0438\u043D\u0430 ",V&&V.length?"("+V.length+")":""]},"Cart")]})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:k(B)})]})})]})}return i}(),u=function(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=N.cash,y=N.cats,B=(0,f.useLocalState)(C,"shopItems",y[0].items),L=B[0],w=B[1],x=(0,f.useLocalState)(C,"showDesc",1),T=x[0],M=x[1];return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Section,{title:"\u0421\u0440\u0435\u0434\u0441\u0442\u0432\u0430: "+V+"\u043A",buttons:(0,e.createComponentVNode)(2,b.Button.Checkbox,{content:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438",checked:T,onClick:function(){function O(){return M(!T)}return O}()})})})}),(0,e.createComponentVNode)(2,b.Stack,{fill:!0,mt:.3,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,b.Tabs,{vertical:!0,children:y.map(function(O){return(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:O.items===L,onClick:function(){function D(){w(O.items)}return D}(),children:O.cat},O)})})})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:L.map(function(O){return(0,e.createComponentVNode)(2,b.Stack.Item,{p:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,m,{i:O,showDecription:T},(0,o.decodeHtmlEntities)(O.name))},(0,o.decodeHtmlEntities)(O.name))})})})})]})]})},c=function(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=N.cart,y=N.cash,B=N.cart_price,L=(0,f.useLocalState)(C,"showDesc",0),w=L[0],x=L[1];return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"\u0421\u0440\u0435\u0434\u0441\u0442\u0432\u0430: "+y+"\u043A",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,b.Button.Checkbox,{content:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438",checked:w,onClick:function(){function T(){return x(!w)}return T}()}),(0,e.createComponentVNode)(2,b.Button,{content:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",icon:"trash",onClick:function(){function T(){return p("empty_cart")}return T}(),disabled:!V}),(0,e.createComponentVNode)(2,b.Button,{content:"\u041E\u043F\u043B\u0430\u0442\u0438\u0442\u044C ("+B+"\u043A)",icon:"shopping-cart",onClick:function(){function T(){return p("purchase_cart")}return T}(),disabled:!V||B>y})],4),children:(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:V?V.map(function(T){return(0,e.createComponentVNode)(2,b.Stack.Item,{p:1,mr:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,m,{i:T,showDecription:w,buttons:(0,e.createComponentVNode)(2,d,{i:T})})},(0,o.decodeHtmlEntities)(T.name))}):(0,e.createComponentVNode)(2,b.Box,{italic:!0,children:"\u0412\u0430\u0448\u0430 \u043A\u043E\u0440\u0437\u0438\u043D\u0430 \u043F\u0443\u0441\u0442\u0430!"})})})})})},m=function(h,C){var v=h.i,p=h.showDecription,N=p===void 0?1:p,V=h.buttons,y=V===void 0?(0,e.createComponentVNode)(2,l,{i:v}):V;return(0,e.createComponentVNode)(2,b.Section,{title:(0,o.decodeHtmlEntities)(v.name),showBottom:N,buttons:y,children:[N?(0,e.createComponentVNode)(2,b.Box,{italic:!0,children:(0,o.decodeHtmlEntities)(v.desc)}):null,N?(0,e.createComponentVNode)(2,b.Box,{italic:!0,children:(0,o.decodeHtmlEntities)(v.content)}):null]})},l=function(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=h.i,y=N.cash;return(0,e.createComponentVNode)(2,b.Button,{icon:"shopping-cart",content:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043A\u043E\u0440\u0437\u0438\u043D\u0443 ("+V.cost+" \u041A\u0438\u043A\u0438\u0440\u0438\u0434\u0438\u0442\u043E\u0432)",color:V.limit!==-1&&"red",tooltip:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u043E\u0432\u0430\u0440 \u0432 \u043A\u043E\u0440\u0437\u0438\u043D\u0443, \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0432 \u043E\u0431\u0449\u0435\u0435 \u0447\u0438\u0441\u043B\u043E \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u043E\u0432\u0430\u0440\u0430. \u0426\u0435\u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u0430 \u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044B\u0445 \u0446\u0435\u043D\u043D\u043E\u0441\u0442\u0435\u0439 \u0432 \u0420\u0430\u0441\u0447\u0438\u0447\u0435\u0442\u0447\u0438\u043A\u0438\u043A\u0435.",tooltipPosition:"left",onClick:function(){function B(){return p("add_to_cart",{item:V.obj_path})}return B}(),disabled:V.cost>y||V.limit!==-1&&V.purchased>=V.limit||V.is_time_available===!1})},d=function(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=h.i;return(0,e.createComponentVNode)(2,b.Stack,{children:[(0,e.createComponentVNode)(2,b.Button,{icon:"times",content:"("+V.cost*V.amount+"\u043A)",tooltip:"\u0423\u0431\u0440\u0430\u0442\u044C \u0438\u0437 \u043A\u043E\u0440\u0437\u0438\u043D\u044B.",tooltipPosition:"left",onClick:function(){function y(){return p("remove_from_cart",{item:V.obj_path})}return y}()}),(0,e.createComponentVNode)(2,b.Button,{icon:"minus",ml:"5px",onClick:function(){function y(){return p("set_cart_item_quantity",{item:V.obj_path,quantity:--V.amount})}return y}(),disabled:V.amount<=0}),(0,e.createComponentVNode)(2,b.Button.Input,{content:V.amount,width:"45px",tooltipPosition:"bottom-end",onCommit:function(){function y(B,L){return p("set_cart_item_quantity",{item:V.obj_path,quantity:L})}return y}(),disabled:V.limit!==-1&&V.amount>=V.limit&&V.amount<=0}),(0,e.createComponentVNode)(2,b.Button,{mb:.3,icon:"plus",tooltipPosition:"bottom-start",tooltip:V.limit===0&&"Discount already redeemed!",onClick:function(){function y(){return p("set_cart_item_quantity",{item:V.obj_path,quantity:++V.amount})}return y}(),disabled:V.limit!==-1&&V.amount>=V.limit})]})},s=function(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=h.pack;return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,horizontal:!0,children:(0,e.createComponentVNode)(2,b.Stack.Item,{width:"70%",children:V.content_images.map(function(y){return(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+y,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}})},y.ref)})})})}},2916:function(A,r,n){"use strict";r.__esModule=!0,r.ShuttleConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ShuttleConsole=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:150,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:u.status?u.status:(0,e.createComponentVNode)(2,t.NoticeBox,{color:"red",children:"Shuttle Missing"})}),!!u.shuttle&&(!!u.docking_ports_len&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Send to ",children:u.docking_ports.map(function(c){return(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",content:c.name,onClick:function(){function m(){return g("move",{move:c.id})}return m}()},c.name)})})||(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:"red",children:(0,e.createComponentVNode)(2,t.NoticeBox,{color:"red",children:"Shuttle Locked"})}),!!u.admin_controlled&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Authorization",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-circle",content:"Request Authorization",disabled:!u.status,onClick:function(){function c(){return g("request")}return c}()})})],0))]})})})})}return b}()},39401:function(A,r,n){"use strict";r.__esModule=!0,r.ShuttleManipulator=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ShuttleManipulator=function(){function k(g,u){var c=(0,a.useLocalState)(u,"tabIndex",0),m=c[0],l=c[1],d=function(){function s(i){switch(i){case 0:return(0,e.createComponentVNode)(2,b);case 1:return(0,e.createComponentVNode)(2,S);case 2:return(0,e.createComponentVNode)(2,I);default:return"WE SHOULDN'T BE HERE!"}}return s}();return(0,e.createComponentVNode)(2,o.Window,{width:650,height:700,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:m===0,onClick:function(){function s(){return l(0)}return s}(),icon:"info-circle",children:"Status"},"Status"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:m===1,onClick:function(){function s(){return l(1)}return s}(),icon:"file-import",children:"Templates"},"Templates"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:m===2,onClick:function(){function s(){return l(2)}return s}(),icon:"tools",children:"Modification"},"Modification")]}),d(m)]})})})}return k}(),b=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.shuttles;return(0,e.createComponentVNode)(2,t.Box,{children:d.map(function(s){return(0,e.createComponentVNode)(2,t.Section,{title:s.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID",children:s.id}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Timer",children:s.timeleft}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Mode",children:s.mode}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Status",children:s.status}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Jump To",icon:"location-arrow",onClick:function(){function i(){return m("jump_to",{type:"mobile",id:s.id})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Fast Travel",icon:"fast-forward",onClick:function(){function i(){return m("fast_travel",{id:s.id})}return i}()})]})]})},s.name)})})},S=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.templates_tabs,s=l.existing_shuttle,i=l.templates;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Tabs,{children:d.map(function(h){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:h===s.id,icon:"file",onClick:function(){function C(){return m("select_template_category",{cat:h})}return C}(),children:h},h)})}),!!s&&i[s.id].templates.map(function(h){return(0,e.createComponentVNode)(2,t.Section,{title:h.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[h.description&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:h.description}),h.admin_notes&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Admin Notes",children:h.admin_notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{content:"Load Template",icon:"download",onClick:function(){function C(){return m("select_template",{shuttle_id:h.shuttle_id})}return C}()})})]})},h.name)})]})},I=function(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.existing_shuttle,s=l.selected;return(0,e.createComponentVNode)(2,t.Box,{children:[d?(0,e.createComponentVNode)(2,t.Section,{title:"Selected Shuttle: "+d.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:d.status}),d.timer&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Timer",children:d.timeleft}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{content:"Jump To",icon:"location-arrow",onClick:function(){function i(){return m("jump_to",{type:"mobile",id:d.id})}return i}()})})]})}):(0,e.createComponentVNode)(2,t.Section,{title:"Selected Shuttle: None"}),s?(0,e.createComponentVNode)(2,t.Section,{title:"Selected Template: "+s.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[s.description&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:s.description}),s.admin_notes&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Admin Notes",children:s.admin_notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Preview",icon:"eye",onClick:function(){function i(){return m("preview",{shuttle_id:s.shuttle_id})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Load",icon:"download",onClick:function(){function i(){return m("load",{shuttle_id:s.shuttle_id})}return i}()})]})]})}):(0,e.createComponentVNode)(2,t.Section,{title:"Selected Template: None"})]})}},86013:function(A,r,n){"use strict";r.__esModule=!0,r.SingularityMonitor=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(44879),f=n(72253),b=n(36036),S=n(76910),I=n(98595),k=n(36352),g=r.SingularityMonitor=function(){function l(d,s){var i=(0,f.useBackend)(s),h=i.act,C=i.data;return C.active===0?(0,e.createComponentVNode)(2,c):(0,e.createComponentVNode)(2,m)}return l}(),u=function(d){return Math.log2(16+Math.max(0,d))-4},c=function(d,s){var i=(0,f.useBackend)(s),h=i.act,C=i.data,v=C.singularities,p=v===void 0?[]:v;return(0,e.createComponentVNode)(2,I.Window,{width:450,height:185,children:(0,e.createComponentVNode)(2,I.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,title:"Detected Singularities",buttons:(0,e.createComponentVNode)(2,b.Button,{icon:"sync",content:"Refresh",onClick:function(){function N(){return h("refresh")}return N}()}),children:(0,e.createComponentVNode)(2,b.Table,{children:p.map(function(N){return(0,e.createComponentVNode)(2,b.Table.Row,{children:[(0,e.createComponentVNode)(2,b.Table.Cell,{children:N.singularity_id+". "+N.area_name}),(0,e.createComponentVNode)(2,b.Table.Cell,{collapsing:!0,color:"label",children:"Stage:"}),(0,e.createComponentVNode)(2,b.Table.Cell,{collapsing:!0,width:"120px",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:N.stage,minValue:0,maxValue:6,ranges:{good:[1,2],average:[3,4],bad:[5,6]},children:(0,o.toFixed)(N.stage)})}),(0,e.createComponentVNode)(2,b.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,b.Button,{content:"Details",onClick:function(){function V(){return h("view",{view:N.singularity_id})}return V}()})})]},N.singularity_id)})})})})})},m=function(d,s){var i=(0,f.useBackend)(s),h=i.act,C=i.data,v=C.active,p=C.singulo_stage,N=C.singulo_potential_stage,V=C.singulo_energy,y=C.singulo_high,B=C.singulo_low,L=C.generators,w=L===void 0?[]:L;return(0,e.createComponentVNode)(2,I.Window,{width:550,height:185,children:(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{width:"270px",children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Metrics",children:(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Stage",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:p,minValue:0,maxValue:6,ranges:{good:[1,2],average:[3,4],bad:[5,6]},children:(0,o.toFixed)(p)})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Potential Stage",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:N,minValue:0,maxValue:6,ranges:{good:[1,p+.5],average:[p+.5,p+1.5],bad:[p+1.5,p+2]},children:(0,o.toFixed)(N)})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Energy",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:V,minValue:B,maxValue:y,ranges:{good:[.67*y+.33*B,y],average:[.33*y+.67*B,.67*y+.33*B],bad:[B,.33*y+.67*B]},children:(0,o.toFixed)(V)+"MJ"})})]})})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,basis:0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Field Generators",buttons:(0,e.createComponentVNode)(2,b.Button,{icon:"arrow-left",content:"Back",onClick:function(){function x(){return h("back")}return x}()}),children:(0,e.createComponentVNode)(2,b.LabeledList,{children:w.map(function(x){return(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Remaining Charge",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:x.charge,minValue:0,maxValue:125,ranges:{good:[80,125],average:[30,80],bad:[0,30]},children:(0,o.toFixed)(x.charge)})},x.gen_index)})})})})]})})})}},88284:function(A,r,n){"use strict";r.__esModule=!0,r.Sleeper=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=[["good","Alive"],["average","Critical"],["bad","DEAD"]],S=[["Resp.","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],I={average:[.25,.5],bad:[.5,1/0]},k=["bad","average","average","good","average","average","bad"],g=r.Sleeper=function(){function i(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.hasOccupant,y=V?(0,e.createComponentVNode)(2,u):(0,e.createComponentVNode)(2,s);return(0,e.createComponentVNode)(2,f.Window,{width:550,height:760,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:y}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,l)})]})})})}return i}(),u=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.occupant;return(0,e.createFragment)([(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,d)],4)},c=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.occupant,y=N.auto_eject_dead;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:"Auto-eject if dead:\xA0"}),(0,e.createComponentVNode)(2,o.Button,{icon:y?"toggle-on":"toggle-off",selected:y,content:y?"On":"Off",onClick:function(){function B(){return p("auto_eject_dead_"+(y?"off":"on"))}return B}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"user-slash",content:"Eject",onClick:function(){function B(){return p("ejectify")}return B}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:V.name}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:V.maxHealth,value:V.health/V.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]},children:(0,a.round)(V.health,0)})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",color:b[V.stat][0],children:b[V.stat][1]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:V.maxTemp,value:V.bodyTemperature/V.maxTemp,color:k[V.temperatureSuitability+3],children:[(0,a.round)(V.btCelsius,0),"\xB0C,",(0,a.round)(V.btFaren,0),"\xB0F"]})}),!!V.hasBlood&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Blood Level",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:V.bloodMax,value:V.bloodLevel/V.bloodMax,ranges:{bad:[-1/0,.6],average:[.6,.9],good:[.6,1/0]},children:[V.bloodPercent,"%, ",V.bloodLevel,"cl"]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pulse",verticalAlign:"middle",children:[V.pulse," BPM"]})],4)]})})},m=function(h,C){var v=(0,t.useBackend)(C),p=v.data,N=p.occupant;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant Damage",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:S.map(function(V,y){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:V[0],children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:"100",value:N[V[1]]/100,ranges:I,children:(0,a.round)(N[V[1]],0)},y)},y)})})})},l=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.hasOccupant,y=N.isBeakerLoaded,B=N.beakerMaxSpace,L=N.beakerFreeSpace,w=N.dialysis,x=w&&L>0;return(0,e.createComponentVNode)(2,o.Section,{title:"Dialysis",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:!y||L<=0||!V,selected:x,icon:x?"toggle-on":"toggle-off",content:x?"Active":"Inactive",onClick:function(){function T(){return p("togglefilter")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!y,icon:"eject",content:"Eject",onClick:function(){function T(){return p("removebeaker")}return T}()})],4),children:y?(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Remaining Space",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:B,value:L/B,ranges:{good:[.5,1/0],average:[.25,.5],bad:[-1/0,.25]},children:[L,"u"]})})}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No beaker loaded."})})},d=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.occupant,y=N.chemicals,B=N.maxchem,L=N.amounts;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant Chemicals",children:y.map(function(w,x){var T="",M;return w.overdosing?(T="bad",M=(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-circle"}),"\xA0 Overdosing!"]})):w.od_warning&&(T="average",M=(0,e.createComponentVNode)(2,o.Box,{color:"average",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle"}),"\xA0 Close to overdosing"]})),(0,e.createComponentVNode)(2,o.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,e.createComponentVNode)(2,o.Section,{title:w.title,level:"3",mx:"0",lineHeight:"18px",buttons:M,children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:B,value:w.occ_amount/B,color:T,title:"Amount of chemicals currently inside the occupant / Total amount injectable by this machine",mr:"0.5rem",children:[w.pretty_amount,"/",B,"u"]}),L.map(function(O,D){return(0,e.createComponentVNode)(2,o.Button,{disabled:!w.injectable||w.occ_amount+O>B||V.stat===2,icon:"syringe",content:"Inject "+O+"u",title:"Inject "+O+"u of "+w.title+" into the occupant",mb:"0",height:"19px",onClick:function(){function E(){return p("chemical",{chemid:w.id,amount:O})}return E}()},D)})]})})},x)})})},s=function(h,C){return(0,e.createComponentVNode)(2,o.Section,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant detected."]})})})}},21597:function(A,r,n){"use strict";r.__esModule=!0,r.SlotMachine=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SlotMachine=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data;if(u.money===null)return(0,e.createComponentVNode)(2,o.Window,{width:350,height:90,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{children:"Could not scan your card or could not find account!"}),(0,e.createComponentVNode)(2,t.Box,{children:"Please wear or hold your ID and try again."})]})})});var c;return u.plays===1?c=u.plays+" player has tried their luck today!":c=u.plays+" players have tried their luck today!",(0,e.createComponentVNode)(2,o.Window,{width:300,height:151,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{lineHeight:2,children:c}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Credits Remaining",children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:u.money})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"10 credits to spin",children:(0,e.createComponentVNode)(2,t.Button,{icon:"coins",disabled:u.working,content:u.working?"Spinning...":"Spin",onClick:function(){function m(){return g("spin")}return m}()})})]}),(0,e.createComponentVNode)(2,t.Box,{bold:!0,lineHeight:2,color:u.resultlvl,children:u.result})]})})})}return b}()},46348:function(A,r,n){"use strict";r.__esModule=!0,r.Smartfridge=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Smartfridge=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.secure,m=u.can_dry,l=u.drying,d=u.contents;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[!!c&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"Secure Access: Please have your identification ready."}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:m?"Drying rack":"Contents",buttons:!!m&&(0,e.createComponentVNode)(2,t.Button,{width:4,icon:l?"power-off":"times",content:l?"On":"Off",selected:l,onClick:function(){function s(){return g("drying")}return s}()}),children:[!d&&(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cookie-bite",size:5,color:"brown"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"No products loaded."]})}),!!d&&d.slice().sort(function(s,i){return s.display_name.localeCompare(i.display_name)}).map(function(s){return(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"55%",children:s.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"25%",children:["(",s.quantity," in stock)"]}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:13,children:[(0,e.createComponentVNode)(2,t.Button,{width:3,icon:"arrow-down",tooltip:"Dispense one.",content:"1",onClick:function(){function i(){return g("vend",{index:s.vend,amount:1})}return i}()}),(0,e.createComponentVNode)(2,t.NumberInput,{width:"40px",minValue:0,value:0,maxValue:s.quantity,step:1,stepPixelSize:3,onChange:function(){function i(h,C){return g("vend",{index:s.vend,amount:C})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{width:4,icon:"arrow-down",content:"All",tooltip:"Dispense all.",tooltipPosition:"bottom-start",onClick:function(){function i(){return g("vend",{index:s.vend,amount:s.quantity})}return i}()})]})]},s)})]})]})})})}return b}()},86162:function(A,r,n){"use strict";r.__esModule=!0,r.Smes=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(49968),f=n(98595),b=1e3,S=r.Smes=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.capacityPercent,d=m.capacity,s=m.charge,i=m.inputAttempt,h=m.inputting,C=m.inputLevel,v=m.inputLevelMax,p=m.inputAvailable,N=m.outputPowernet,V=m.outputAttempt,y=m.outputting,B=m.outputLevel,L=m.outputLevelMax,w=m.outputUsed,x=l>=100&&"good"||h&&"average"||"bad",T=y&&"good"||s>0&&"average"||"bad";return(0,e.createComponentVNode)(2,f.Window,{width:340,height:345,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Stored Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:l*.01,ranges:{good:[.5,1/0],average:[.15,.5],bad:[-1/0,.15]}})}),(0,e.createComponentVNode)(2,t.Section,{title:"Input",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Charge Mode",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:i?"sync-alt":"times",selected:i,onClick:function(){function M(){return c("tryinput")}return M}(),children:i?"Auto":"Off"}),children:(0,e.createComponentVNode)(2,t.Box,{color:x,children:l>=100&&"Fully Charged"||h&&"Charging"||"Not Charging"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Input",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:C===0,onClick:function(){function M(){return c("input",{target:"min"})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:C===0,onClick:function(){function M(){return c("input",{adjust:-1e4})}return M}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Slider,{value:C/b,fillValue:p/b,minValue:0,maxValue:v/b,step:5,stepPixelSize:4,format:function(){function M(O){return(0,o.formatPower)(O*b,1)}return M}(),onChange:function(){function M(O,D){return c("input",{target:D*b})}return M}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:C===v,onClick:function(){function M(){return c("input",{adjust:1e4})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:C===v,onClick:function(){function M(){return c("input",{target:"max"})}return M}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available",children:(0,o.formatPower)(p)})]})}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Output",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Output Mode",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:V?"power-off":"times",selected:V,onClick:function(){function M(){return c("tryoutput")}return M}(),children:V?"On":"Off"}),children:(0,e.createComponentVNode)(2,t.Box,{color:T,children:N?y?"Sending":s>0?"Not Sending":"No Charge":"Not Connected"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Output",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:B===0,onClick:function(){function M(){return c("output",{target:"min"})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:B===0,onClick:function(){function M(){return c("output",{adjust:-1e4})}return M}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Slider,{value:B/b,minValue:0,maxValue:L/b,step:5,stepPixelSize:4,format:function(){function M(O){return(0,o.formatPower)(O*b,1)}return M}(),onChange:function(){function M(O,D){return c("output",{target:D*b})}return M}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:B===L,onClick:function(){function M(){return c("output",{adjust:1e4})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:B===L,onClick:function(){function M(){return c("output",{target:"max"})}return M}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Outputting",children:(0,o.formatPower)(w)})]})})]})})})}return I}()},63584:function(A,r,n){"use strict";r.__esModule=!0,r.SolarControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SolarControl=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=0,m=1,l=2,d=u.generated,s=u.generated_ratio,i=u.tracking_state,h=u.tracking_rate,C=u.connected_panels,v=u.connected_tracker,p=u.cdir,N=u.direction,V=u.rotating_direction;return(0,e.createComponentVNode)(2,o.Window,{width:490,height:277,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Scan for new hardware",onClick:function(){function y(){return g("refresh")}return y}()}),children:(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Solar tracker",color:v?"good":"bad",children:v?"OK":"N/A"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Solar panels",color:C>0?"good":"bad",children:C})]})}),(0,e.createComponentVNode)(2,t.Grid.Column,{size:2,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power output",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[.66,1/0],average:[.33,.66],bad:[-1/0,.33]},minValue:0,maxValue:1,value:s,children:d+" W"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Panel orientation",children:[p,"\xB0 (",N,")"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker rotation",children:[i===l&&(0,e.createComponentVNode)(2,t.Box,{children:" Automated "}),i===m&&(0,e.createComponentVNode)(2,t.Box,{children:[" ",h,"\xB0/h (",V,")"," "]}),i===c&&(0,e.createComponentVNode)(2,t.Box,{children:" Tracker offline "})]})]})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Controls",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Panel orientation",children:[i!==l&&(0,e.createComponentVNode)(2,t.NumberInput,{unit:"\xB0",step:1,stepPixelSize:1,minValue:0,maxValue:359,value:p,onDrag:function(){function y(B,L){return g("cdir",{cdir:L})}return y}()}),i===l&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Automated "})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker status",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Off",selected:i===c,onClick:function(){function y(){return g("track",{track:c})}return y}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"clock-o",content:"Timed",selected:i===m,onClick:function(){function y(){return g("track",{track:m})}return y}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Auto",selected:i===l,disabled:!v,onClick:function(){function y(){return g("track",{track:l})}return y}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker rotation",children:[i===m&&(0,e.createComponentVNode)(2,t.NumberInput,{unit:"\xB0/h",step:1,stepPixelSize:1,minValue:-7200,maxValue:7200,value:h,format:function(){function y(B){var L=Math.sign(B)>0?"+":"-";return L+Math.abs(B)}return y}(),onDrag:function(){function y(B,L){return g("tdir",{tdir:L})}return y}()}),i===c&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Tracker offline "}),i===l&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Automated "})]})]})})]})})}return b}()},38096:function(A,r,n){"use strict";r.__esModule=!0,r.SpawnersMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SpawnersMenu=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.spawners||[];return(0,e.createComponentVNode)(2,o.Window,{width:700,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{children:c.map(function(m){return(0,e.createComponentVNode)(2,t.Section,{mb:.5,title:m.name+" ("+m.amount_left+" left)",level:2,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Jump",onClick:function(){function l(){return g("jump",{ID:m.uids})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Spawn",onClick:function(){function l(){return g("spawn",{ID:m.uids})}return l}()})],4),children:[(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mb:1,fontSize:"16px",children:m.desc}),!!m.fluff&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},textColor:"#878787",fontSize:"14px",children:m.fluff}),!!m.important_info&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mt:1,bold:!0,color:"red",fontSize:"18px",children:m.important_info})]},m.name)})})})})}return b}()},30586:function(A,r,n){"use strict";r.__esModule=!0,r.SpecMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SpecMenu=function(){function g(u,c){return(0,e.createComponentVNode)(2,o.Window,{width:1100,height:600,theme:"nologo",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k)]})})})}return g}(),b=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Hemomancer",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Choose",onClick:function(){function i(){return l("hemomancer")}return i}()}),children:[(0,e.createVNode)(1,"h3",null,"Focuses on blood magic and the manipulation of blood around you.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Vampiric claws",16),(0,e.createTextVNode)(": Unlocked at 150 blood, allows you to summon a robust pair of claws that attack rapidly, drain a targets blood, and heal you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood Barrier",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to select two turfs and create a wall between them.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood tendrils",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to slow everyone in a targeted 3x3 area after a short delay.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Sanguine pool",16),(0,e.createTextVNode)(": Unlocked at 400 blood, allows you to travel at high speeds for a short duration. Doing this leaves behind blood splatters. You can move through anything but walls and space when doing this.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Predator senses",16),(0,e.createTextVNode)(": Unlocked at 600 blood, allows you to sniff out anyone within the same sector as you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood eruption",16),(0,e.createTextVNode)(": Unlocked at 800 blood, allows you to manipulate all nearby blood splatters, in 4 tiles around you, into spikes that impale anyone stood ontop of them.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"The blood bringers rite",16),(0,e.createTextVNode)(": When toggled you will rapidly drain the blood of everyone who is nearby and use it to heal yourself slightly and remove any incapacitating effects rapidly.")],4)]})})},S=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Umbrae",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Choose",onClick:function(){function i(){return l("umbrae")}return i}()}),children:[(0,e.createVNode)(1,"h3",null,"Focuses on darkness, stealth ambushing and mobility.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Cloak of darkness",16),(0,e.createTextVNode)(": Unlocked at 150 blood, when toggled, allows you to become nearly invisible and move rapidly when in dark regions. While active, burn damage is more effective against you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Shadow anchor",16),(0,e.createTextVNode)(": Unlocked at 250 blood, casting it will create an anchor at the cast location after a short delay. If you then cast the ability again, you are teleported back to the anchor. If you do not cast again within 2 minutes, you will do a fake recall, causing a clone to appear at the anchor and making yourself invisible. It will not teleport you between Z levels.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Shadow snare",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to summon a trap that when crossed blinds and ensnares the victim. This trap is hard to see, but withers in the light.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Dark passage",16),(0,e.createTextVNode)(": Unlocked at 400 blood, allows you to target a turf on screen, you will then teleport to that turf.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Extinguish",16),(0,e.createTextVNode)(": Unlocked at 600 blood, allows you to snuff out nearby electronic light sources and glowshrooms.")],4),(0,e.createVNode)(1,"b",null,"Shadow boxing",16),": Unlocked at 800 blood, sends out shadow clones towards a target, damaging them while you remain in range.",(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Eternal darkness",16),(0,e.createTextVNode)(": When toggled, you consume yourself in unholy darkness, only the strongest of lights will be able to see through it. Inside the radius, nearby creatures will freeze and energy projectiles will deal less damage.")],4),(0,e.createVNode)(1,"p",null,"In addition, you also gain permanent X-ray vision.",16)]})})},I=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Gargantua",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Choose",onClick:function(){function i(){return l("gargantua")}return i}()}),children:[(0,e.createVNode)(1,"h3",null,"Focuses on tenacity and melee damage.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Rejuvenate",16),(0,e.createTextVNode)(": Will heal you at an increased rate based on how much damage you have taken.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood swell",16),(0,e.createTextVNode)(": Unlocked at 150 blood, increases your resistance to physical damage, stuns and stamina for 30 seconds. While it is active you cannot fire guns.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Seismic stomp",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to stomp the ground to send out a shockwave, knocking people back.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood rush",16),(0,e.createTextVNode)(": Unlocked at 250 blood, gives you a short speed boost when cast.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood swell II",16),(0,e.createTextVNode)(": Unlocked at 400 blood, increases all melee damage by 10.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Overwhelming force",16),(0,e.createTextVNode)(": Unlocked at 600 blood, when toggled, if you bump into a door that you do not have access to, it will force it open. In addition, you cannot be pushed or pulled while it is active.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Demonic grasp",16),(0,e.createTextVNode)(": Unlocked at 800 blood, allows you to send out a demonic hand to snare someone. If you are on disarm/grab intent you will push/pull the target, respectively.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Charge",16),(0,e.createTextVNode)(": Unlocked at 800 blood, you gain the ability to charge at a target. Destroying and knocking back pretty much anything you collide with.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full Power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Desecrated Duel",16),(0,e.createTextVNode)(": Leap towards a visible enemy, creating an arena upon landing, infusing you with increased regeneration, and granting you resistance to internal damages.")],4)]})})},k=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Dantalion",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Choose",onClick:function(){function i(){return l("dantalion")}return i}()}),children:[(0,e.createVNode)(1,"h3",null,"Focuses on thralling and illusions.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Enthrall",16),(0,e.createTextVNode)(": Unlocked at 150 blood, Thralls your target to your will, requires you to stand still. Does not work on mindshielded or already enthralled/mindslaved people.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Thrall cap",16),(0,e.createTextVNode)(": You can only thrall a max of 1 person at a time. This can be increased at 400 blood, 600 blood and at full power to a max of 4 thralls.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Thrall commune",16),(0,e.createTextVNode)(": Unlocked at 150 blood, Allows you to talk to your thralls, your thralls can talk back in the same way.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Subspace swap",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to swap positions with a target.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Pacify",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to pacify a target, preventing them from causing harm for 40 seconds.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Decoy",16),(0,e.createTextVNode)(": Unlocked at 400 blood, briefly turn invisible and send out an illusion to fool everyone nearby.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Rally thralls",16),(0,e.createTextVNode)(": Unlocked at 600 blood, removes all incapacitating effects from nearby thralls.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood bond",16),(0,e.createTextVNode)(": Unlocked at 800 blood, when cast, all nearby thralls become linked to you. If anyone in the network takes damage, it is shared equally between everyone in the network. If a thrall goes out of range, they will be removed from the network.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full Power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Mass Hysteria",16),(0,e.createTextVNode)(": Casts a powerful illusion that blinds and then makes everyone nearby perceive others as random animals.")],4)]})})}},95152:function(A,r,n){"use strict";r.__esModule=!0,r.StackCraft=void 0;var e=n(89005),a=n(72253),t=n(88510),o=n(64795),f=n(25328),b=n(98595),S=n(36036),I=r.StackCraft=function(){function s(){return(0,e.createComponentVNode)(2,b.Window,{width:350,height:500,children:(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,k)})})}return s}(),k=function(i,h){var C=(0,a.useBackend)(h),v=C.data,p=v.amount,N=v.recipes,V=(0,a.useLocalState)(h,"searchText",""),y=V[0],B=V[1],L=g(N,(0,f.createSearch)(y)),w=(0,a.useLocalState)(h,"",!1),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,S.Section,{fill:!0,scrollable:!0,title:"Amount: "+p,buttons:(0,e.createFragment)([x&&(0,e.createComponentVNode)(2,S.Input,{width:12.5,value:y,placeholder:"Find recipe",onInput:function(){function M(O,D){return B(D)}return M}()}),(0,e.createComponentVNode)(2,S.Button,{ml:.5,tooltip:"Search",tooltipPosition:"bottom-end",icon:"magnifying-glass",selected:x,onClick:function(){function M(){return T(!x)}return M}()})],0),children:L?(0,e.createComponentVNode)(2,l,{recipes:L}):(0,e.createComponentVNode)(2,S.NoticeBox,{children:"No recipes found!"})})},g=function s(i,h){var C=(0,o.flow)([(0,t.map)(function(v){var p=v[0],N=v[1];return u(N)?h(p)?v:[p,s(N,h)]:h(p)?v:[p,void 0]}),(0,t.filter)(function(v){var p=v[0],N=v[1];return N!==void 0}),(0,t.sortBy)(function(v){var p=v[0],N=v[1];return p}),(0,t.sortBy)(function(v){var p=v[0],N=v[1];return!u(N)}),(0,t.reduce)(function(v,p){var N=p[0],V=p[1];return v[N]=V,v},{})])(Object.entries(i));return Object.keys(C).length?C:void 0},u=function(i){return i.uid===void 0},c=function(i,h){return i.required_amount>h?0:Math.floor(h/i.required_amount)},m=function(i,h){for(var C=(0,a.useBackend)(h),v=C.act,p=i.recipe,N=i.max_possible_multiplier,V=Math.min(N,Math.floor(p.max_result_amount/p.result_amount)),y=[5,10,25],B=[],L=function(){var M=x[w];V>=M&&B.push((0,e.createComponentVNode)(2,S.Button,{bold:!0,translucent:!0,fontSize:.85,width:"32px",content:M*p.result_amount+"x",onClick:function(){function O(){return v("make",{recipe_uid:p.uid,multiplier:M})}return O}()}))},w=0,x=y;w1?B+"x ":"",E=L>1?"s":"",P=""+D+V,R=L+" sheet"+E,j=c(y,N);return(0,e.createComponentVNode)(2,S.ImageButton,{fluid:!0,base64:O,dmIcon:T,dmIconState:M,imageSize:32,disabled:!j,tooltip:R,buttons:w>1&&j>1&&(0,e.createComponentVNode)(2,m,{recipe:y,max_possible_multiplier:j}),onClick:function(){function F(){return v("make",{recipe_uid:x,multiplier:1})}return F}(),children:P})}},38307:function(A,r,n){"use strict";r.__esModule=!0,r.StationAlertConsoleContent=r.StationAlertConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.StationAlertConsole=function(){function S(){return(0,e.createComponentVNode)(2,o.Window,{width:325,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,b)})})}return S}(),b=r.StationAlertConsoleContent=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.data,c=u.alarms||[],m=c.Fire||[],l=c.Atmosphere||[],d=c.Power||[];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Fire Alarms",children:(0,e.createVNode)(1,"ul",null,[m.length===0&&(0,e.createVNode)(1,"li","color-good","Systems Nominal",16),m.map(function(s){return(0,e.createVNode)(1,"li","color-average",s,0,null,s)})],0)}),(0,e.createComponentVNode)(2,t.Section,{title:"Atmospherics Alarms",children:(0,e.createVNode)(1,"ul",null,[l.length===0&&(0,e.createVNode)(1,"li","color-good","Systems Nominal",16),l.map(function(s){return(0,e.createVNode)(1,"li","color-average",s,0,null,s)})],0)}),(0,e.createComponentVNode)(2,t.Section,{title:"Power Alarms",children:(0,e.createVNode)(1,"ul",null,[d.length===0&&(0,e.createVNode)(1,"li","color-good","Systems Nominal",16),d.map(function(s){return(0,e.createVNode)(1,"li","color-average",s,0,null,s)})],0)})],4)}return S}()},96091:function(A,r,n){"use strict";r.__esModule=!0,r.StationTraitsPanel=void 0;var e=n(89005),a=n(88510),t=n(42127),o=n(72253),f=n(36036),b=n(98595),S=function(u){return u[u.SetupFutureStationTraits=0]="SetupFutureStationTraits",u[u.ViewStationTraits=1]="ViewStationTraits",u}(S||{}),I=function(c,m){var l=(0,o.useBackend)(m),d=l.act,s=l.data,i=s.future_station_traits,h=(0,o.useLocalState)(m,"selectedFutureTrait",null),C=h[0],v=h[1],p=Object.fromEntries(s.valid_station_traits.map(function(V){return[V.name,V.path]})),N=Object.keys(p);return N.sort(),(0,e.createComponentVNode)(2,f.Box,{children:[(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f.Dropdown,{displayText:!C&&"Select trait to add...",onSelected:v,options:N,selected:C,width:"100%"})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Button,{color:"green",icon:"plus",onClick:function(){function V(){if(C){var y=p[C],B=[y];if(i){var L,w=i.map(function(x){return x.path});if(w.indexOf(y)!==-1)return;B=(L=B).concat.apply(L,w)}d("setup_future_traits",{station_traits:B})}}return V}(),children:"Add"})})]}),(0,e.createComponentVNode)(2,f.Divider),Array.isArray(i)?i.length>0?(0,e.createComponentVNode)(2,f.Stack,{vertical:!0,fill:!0,children:i.map(function(V){return(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:V.name}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Button,{color:"red",icon:"times",onClick:function(){function y(){d("setup_future_traits",{station_traits:(0,a.filterMap)(i,function(B){if(B.path!==V.path)return B.path})})}return y}(),children:"Delete"})})]})},V.path)})}):(0,e.createComponentVNode)(2,f.Box,{textAlign:"center",children:[(0,e.createComponentVNode)(2,f.Box,{children:"No station traits will run next round."}),(0,e.createComponentVNode)(2,f.Button,{mt:1,fluid:!0,color:"good",icon:"times",tooltip:"The next round will roll station traits randomly, just like normal",onClick:function(){function V(){return d("clear_future_traits")}return V}(),children:"Run Station Traits Normally"})]}):(0,e.createComponentVNode)(2,f.Box,{textAlign:"center",children:[(0,e.createComponentVNode)(2,f.Box,{children:"No future station traits are planned."}),(0,e.createComponentVNode)(2,f.Button,{mt:1,fluid:!0,color:"red",icon:"times",onClick:function(){function V(){return d("setup_future_traits",{station_traits:[]})}return V}(),children:"Prevent station traits from running next round"})]})]})},k=function(c,m){var l=(0,o.useBackend)(m),d=l.act,s=l.data;return s.current_traits.length>0?(0,e.createComponentVNode)(2,f.Stack,{vertical:!0,fill:!0,children:s.current_traits.map(function(i){return(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:i.name}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Button.Confirm,{content:"Revert",color:"red",disabled:s.too_late_to_revert||!i.can_revert,tooltip:!i.can_revert&&"This trait is not revertable."||s.too_late_to_revert&&"It's too late to revert station traits, the round has already started.",icon:"times",onClick:function(){function h(){return d("revert",{ref:i.ref})}return h}()})})]})},i.ref)})}):(0,e.createComponentVNode)(2,f.Box,{textAlign:"center",children:"There are no active station traits."})},g=r.StationTraitsPanel=function(){function u(c,m){var l=(0,o.useLocalState)(m,"station_traits_tab",S.ViewStationTraits),d=l[0],s=l[1],i;switch(d){case S.SetupFutureStationTraits:i=(0,e.createComponentVNode)(2,I);break;case S.ViewStationTraits:i=(0,e.createComponentVNode)(2,k);break;default:(0,t.exhaustiveCheck)(d)}return(0,e.createComponentVNode)(2,b.Window,{title:"Modify Station Traits",height:350,width:350,children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Tabs,{children:[(0,e.createComponentVNode)(2,f.Tabs.Tab,{icon:"eye",selected:d===S.ViewStationTraits,onClick:function(){function h(){return s(S.ViewStationTraits)}return h}(),children:"View"}),(0,e.createComponentVNode)(2,f.Tabs.Tab,{icon:"edit",selected:d===S.SetupFutureStationTraits,onClick:function(){function h(){return s(S.SetupFutureStationTraits)}return h}(),children:"Edit"})]})}),(0,e.createComponentVNode)(2,f.Stack.Item,{m:0,children:[(0,e.createComponentVNode)(2,f.Divider),i]})]})})})}return u}()},39409:function(A,r,n){"use strict";r.__esModule=!0,r.StripMenu=void 0;var e=n(89005),a=n(88510),t=n(79140),o=n(72253),f=n(36036),b=n(98595),S=5,I=9,k=function(C){return C===0?5:9},g="64px",u=function(C){return C[0]+"/"+C[1]},c=function(C){var v=C.align,p=C.children;return(0,e.createComponentVNode)(2,f.Box,{style:{position:"absolute",left:v==="left"?"6px":"48px","text-align":v,"text-shadow":"2px 2px 2px #000",top:"2px"},children:p})},m={enable_internals:{icon:"lungs",text:"Enable internals"},disable_internals:{icon:"lungs",text:"Disable internals"},enable_lock:{icon:"lock",text:"Enable lock"},disable_lock:{icon:"unlock",text:"Disable lock"},suit_sensors:{icon:"tshirt",text:"Adjust suit sensors"},remove_accessory:{icon:"medal",text:"Remove accessory"},dislodge_headpocket:{icon:"head-side-virus",text:"Dislodge headpocket"}},l={eyes:{displayName:"eyewear",gridSpot:u([0,0]),image:"inventory-glasses.png"},head:{displayName:"headwear",gridSpot:u([0,1]),image:"inventory-head.png"},mask:{displayName:"mask",gridSpot:u([1,1]),image:"inventory-mask.png"},neck:{displayName:"neck",gridSpot:u([1,0]),image:"inventory-neck.png"},pet_collar:{displayName:"collar",gridSpot:u([1,1]),image:"inventory-collar.png"},right_ear:{displayName:"right ear",gridSpot:u([0,2]),image:"inventory-ears.png"},left_ear:{displayName:"left ear",gridSpot:u([1,2]),image:"inventory-ears.png"},parrot_headset:{displayName:"headset",gridSpot:u([1,2]),image:"inventory-ears.png"},handcuffs:{displayName:"handcuffs",gridSpot:u([1,3])},legcuffs:{displayName:"legcuffs",gridSpot:u([1,4])},jumpsuit:{displayName:"uniform",gridSpot:u([2,0]),image:"inventory-uniform.png"},suit:{displayName:"suit",gridSpot:u([2,1]),image:"inventory-suit.png"},gloves:{displayName:"gloves",gridSpot:u([2,2]),image:"inventory-gloves.png"},right_hand:{displayName:"right hand",gridSpot:u([2,3]),image:"inventory-hand_r.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"left",children:"R"})},left_hand:{displayName:"left hand",gridSpot:u([2,4]),image:"inventory-hand_l.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"right",children:"L"})},shoes:{displayName:"shoes",gridSpot:u([3,1]),image:"inventory-shoes.png"},suit_storage:{displayName:"suit storage",gridSpot:u([4,0]),image:"inventory-suit_storage.png"},id:{displayName:"ID",gridSpot:u([4,1]),image:"inventory-id.png"},belt:{displayName:"belt",gridSpot:u([4,2]),image:"inventory-belt.png"},back:{displayName:"backpack",gridSpot:u([4,3]),image:"inventory-back.png"},left_pocket:{displayName:"left pocket",gridSpot:u([3,4]),image:"inventory-pocket.png"},right_pocket:{displayName:"right pocket",gridSpot:u([3,3]),image:"inventory-pocket.png"},pda:{displayName:"PDA",gridSpot:u([4,4]),image:"inventory-pda.png"}},d={eyes:{displayName:"eyewear",gridSpot:u([0,0]),image:"inventory-glasses.png"},head:{displayName:"headwear",gridSpot:u([0,1]),image:"inventory-head.png"},mask:{displayName:"mask",gridSpot:u([1,1]),image:"inventory-mask.png"},neck:{displayName:"neck",gridSpot:u([1,0]),image:"inventory-neck.png"},pet_collar:{displayName:"collar",gridSpot:u([1,1]),image:"inventory-collar.png"},right_ear:{displayName:"right ear",gridSpot:u([0,2]),image:"inventory-ears.png"},left_ear:{displayName:"left ear",gridSpot:u([1,2]),image:"inventory-ears.png"},parrot_headset:{displayName:"headset",gridSpot:u([1,2]),image:"inventory-ears.png"},handcuffs:{displayName:"handcuffs",gridSpot:u([1,3])},legcuffs:{displayName:"legcuffs",gridSpot:u([1,4])},jumpsuit:{displayName:"uniform",gridSpot:u([2,0]),image:"inventory-uniform.png"},suit:{displayName:"suit",gridSpot:u([2,1]),image:"inventory-suit.png"},gloves:{displayName:"gloves",gridSpot:u([2,2]),image:"inventory-gloves.png"},right_hand:{displayName:"right hand",gridSpot:u([4,4]),image:"inventory-hand_r.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"left",children:"R"})},left_hand:{displayName:"left hand",gridSpot:u([4,5]),image:"inventory-hand_l.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"right",children:"L"})},shoes:{displayName:"shoes",gridSpot:u([3,1]),image:"inventory-shoes.png"},suit_storage:{displayName:"suit storage",gridSpot:u([4,0]),image:"inventory-suit_storage.png"},id:{displayName:"ID",gridSpot:u([4,1]),image:"inventory-id.png"},belt:{displayName:"belt",gridSpot:u([4,2]),image:"inventory-belt.png"},back:{displayName:"backpack",gridSpot:u([4,3]),image:"inventory-back.png"},left_pocket:{displayName:"left pocket",gridSpot:u([4,7]),image:"inventory-pocket.png"},right_pocket:{displayName:"right pocket",gridSpot:u([4,6]),image:"inventory-pocket.png"},pda:{displayName:"PDA",gridSpot:u([4,8]),image:"inventory-pda.png"}},s=function(h){return h[h.Completely=1]="Completely",h[h.Hidden=2]="Hidden",h}(s||{}),i=r.StripMenu=function(){function h(C,v){var p=(0,o.useBackend)(v),N=p.act,V=p.data,y=new Map;if(V.show_mode===0)for(var B=0,L=Object.keys(V.items);B=.01})},(0,a.sortBy)(function(T){return-T.amount})])(C.gases||[]),x=Math.max.apply(Math,[1].concat(w.map(function(T){return T.portion})));return(0,e.createComponentVNode)(2,I.Window,{width:550,height:250,children:(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{width:"270px",children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Metrics",children:(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:p/100,ranges:{good:[.9,1/0],average:[.5,.9],bad:[-1/0,.5]}})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Relative EER",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:N,minValue:0,maxValue:5e3,ranges:{good:[-1/0,5e3],average:[5e3,7e3],bad:[7e3,1/0]},children:(0,o.toFixed)(N)+" MeV/cm3"})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Gas Coefficient",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:L,minValue:1,maxValue:5.25,ranges:{bad:[1,1.55],average:[1.55,5.25],good:[5.25,1/0]},children:L.toFixed(2)})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:u(V),minValue:0,maxValue:u(1e4),ranges:{teal:[-1/0,u(80)],good:[u(80),u(373)],average:[u(373),u(1e3)],bad:[u(1e3),1/0]},children:(0,o.toFixed)(V)+" K"})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Mole Per Tile",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:B,minValue:0,maxValue:12e3,ranges:{teal:[-1/0,100],average:[100,11333],good:[11333,12e3],bad:[12e3,1/0]},children:(0,o.toFixed)(B)+" mol"})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Pressure",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:u(y),minValue:0,maxValue:u(5e4),ranges:{good:[u(1),u(300)],average:[-1/0,u(1e3)],bad:[u(1e3),1/0]},children:(0,o.toFixed)(y)+" kPa"})})]})})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,basis:0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Gases",buttons:(0,e.createComponentVNode)(2,b.Button,{icon:"arrow-left",content:"Back",onClick:function(){function T(){return h("back")}return T}()}),children:(0,e.createComponentVNode)(2,b.LabeledList,{children:w.map(function(T){return(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:(0,S.getGasLabel)(T.name),children:(0,e.createComponentVNode)(2,b.ProgressBar,{color:(0,S.getGasColor)(T.name),value:T.portion,minValue:0,maxValue:x,children:(0,o.toFixed)(T.amount)+" mol ("+T.portion+"%)"})},T.name)})})})})]})})})}},46029:function(A,r,n){"use strict";r.__esModule=!0,r.SyndicateComputerSimple=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SyndicateComputerSimple=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data;return(0,e.createComponentVNode)(2,o.Window,{theme:"syndicate",width:400,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:u.rows.map(function(c){return(0,e.createComponentVNode)(2,t.Section,{title:c.title,buttons:(0,e.createComponentVNode)(2,t.Button,{content:c.buttontitle,disabled:c.buttondisabled,tooltip:c.buttontooltip,tooltipPosition:"left",onClick:function(){function m(){return g(c.buttonact)}return m}()}),children:[c.status,!!c.bullets&&(0,e.createComponentVNode)(2,t.Box,{children:c.bullets.map(function(m){return(0,e.createComponentVNode)(2,t.Box,{children:m},m)})})]},c.title)})})})}return b}()},36372:function(A,r,n){"use strict";r.__esModule=!0,r.TEG=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(I){return I.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,")},b=r.TEG=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data;return c.error?(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Error",children:[c.error,(0,e.createComponentVNode)(2,t.Button,{icon:"circle",content:"Recheck",onClick:function(){function m(){return u("check")}return m}()})]})})}):(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Cold Loop ("+c.cold_dir+")",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cold Inlet",children:[f(c.cold_inlet_temp)," K, ",f(c.cold_inlet_pressure)," kPa"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cold Outlet",children:[f(c.cold_outlet_temp)," K, ",f(c.cold_outlet_pressure)," kPa"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Hot Loop ("+c.hot_dir+")",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hot Inlet",children:[f(c.hot_inlet_temp)," K, ",f(c.hot_inlet_pressure)," kPa"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hot Outlet",children:[f(c.hot_outlet_temp)," K, ",f(c.hot_outlet_pressure)," kPa"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Power Output",children:[f(c.output_power)," W",!!c.warning_switched&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Warning: Cold inlet temperature exceeds hot inlet temperature."}),!!c.warning_cold_pressure&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Warning: Cold circulator inlet pressure is under 1,000 kPa."}),!!c.warning_hot_pressure&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Warning: Hot circulator inlet pressure is under 1,000 kPa."})]})]})})}return S}()},23190:function(A,r,n){"use strict";r.__esModule=!0,r.TTSSeedsExplorerContent=r.TTSSeedsExplorer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(46095),f=n(98595),b={0:"Free",1:"Tier I",2:"Tier II",3:"Tier III",4:"Tier IV",5:"Tier V"},S={male:"\u041C\u0443\u0436\u0441\u043A\u043E\u0439",female:"\u0416\u0435\u043D\u0441\u043A\u0438\u0439"},I={\u041C\u0443\u0436\u0441\u043A\u043E\u0439:{icon:"mars",color:"blue"},\u0416\u0435\u043D\u0441\u043A\u0438\u0439:{icon:"venus",color:"purple"},\u041B\u044E\u0431\u043E\u0439:{icon:"venus-mars",color:"white"}},k=function(m,l,d,s){return s===void 0&&(s=null),m.map(function(i){var h,C=(h=i[s])!=null?h:i;return(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:l.includes(i),content:C,onClick:function(){function v(){l.includes(i)?d(l.filter(function(p){var N;return((N=p[s])!=null?N:p)!==i})):d([i].concat(l))}return v}()},C)})},g=r.TTSSeedsExplorer=function(){function c(){return(0,e.createComponentVNode)(2,f.Window,{width:1e3,height:685,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,u)})})})}return c}(),u=r.TTSSeedsExplorerContent=function(){function c(m,l){var d=(0,a.useBackend)(l),s=d.act,i=d.data,h=i.providers,C=i.seeds,v=i.selected_seed,p=i.phrases,N=i.donator_level,V=i.character_gender,y=C.map(function(Y){return Y.category}).filter(function(Y,ve,he){return he.indexOf(Y)===ve}).sort(function(Y,ve){return Y.localeCompare(ve)}),B=C.map(function(Y){return Y.gender}).filter(function(Y,ve,he){return he.indexOf(Y)===ve}),L=C.map(function(Y){return Y.required_donator_level}).filter(function(Y,ve,he){return he.indexOf(Y)===ve}).sort(function(Y,ve){return Y-ve}).map(function(Y){return b[Y]}),w=(0,a.useLocalState)(l,"selectedProviders",h),x=w[0],T=w[1],M=(0,a.useLocalState)(l,"selectedGenders",B.includes(S[V])?[S[V]]:B),O=M[0],D=M[1],E=(0,a.useLocalState)(l,"selectedCategories",y),P=E[0],R=E[1],j=(0,a.useLocalState)(l,"selectedDonatorLevels",L.includes(b[N])?L.slice(0,L.indexOf(b[N])+1):L),F=j[0],W=j[1],z=(0,a.useLocalState)(l,"selectedPhrase",p[0]),K=z[0],G=z[1],J=(0,a.useLocalState)(l,"searchtext",""),Q=J[0],ue=J[1],ie=(0,a.useLocalState)(l,"searchToggle",!1),pe=ie[0],te=ie[1],q=k(h,x,T,"name"),ne=k(B,O,D),le=k(y,P,R),ee=k(L,F,W),re=(0,e.createComponentVNode)(2,t.Dropdown,{options:p,selected:K.replace(/(.{60})..+/,"$1..."),width:"21.3em",onSelected:function(){function Y(ve){return G(ve)}return Y}()}),oe=(0,e.createFragment)([pe&&(0,e.createComponentVNode)(2,t.Input,{placeholder:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435...",width:20,onInput:function(){function Y(ve,he){return ue(he)}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"magnifying-glass",tooltip:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043E\u0438\u0441\u043A",tooltipPosition:"bottom-end",selected:pe,onClick:function(){function Y(){return te(!pe)}return Y}()})],0),fe=C.sort(function(Y,ve){var he=Y.name.toLowerCase(),Ve=ve.name.toLowerCase();return he>Ve?1:he0&&v!==Y.name?"orange":"white",children:Y.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:v===Y.name?.5:.25,textAlign:"left",children:Y.category}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:.5,textColor:v===Y.name?"white":I[Y.gender].color,textAlign:"left",children:(0,e.createComponentVNode)(2,t.Icon,{mx:1,size:1.2,name:I[Y.gender].icon})}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:.5,textColor:"white",textAlign:"right",children:Y.required_donator_level>0&&(0,e.createFragment)([b[Y.required_donator_level],(0,e.createComponentVNode)(2,t.Icon,{ml:1,mr:2,name:"coins"})],0)})]},Y.name)});return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"30.25em",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u044B",children:q}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u043E\u043B",children:ne}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0422\u0438\u0440",children:ee}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0424\u0440\u0430\u0437\u0430",children:re})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"times",disabled:P.length===0,onClick:function(){function Y(){return R([])}return Y}(),children:"\u0423\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0451"}),(0,e.createComponentVNode)(2,t.Button,{icon:"check",disabled:P.length===y.length,onClick:function(){function Y(){return R(y)}return Y}(),children:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0451"})],4),children:le})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.BlockQuote,{children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"11px",children:"\u0414\u043B\u044F \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u044F \u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044F \u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0432 \u0443\u0441\u043B\u043E\u0432\u0438\u044F\u0445 \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0445 \u0440\u0430\u0441\u0445\u043E\u0434\u043E\u0432 \u0447\u0430\u0441\u0442\u044C \u0433\u043E\u043B\u043E\u0441\u043E\u0432 \u043F\u0440\u0438\u0448\u043B\u043E\u0441\u044C \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u043C\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0437\u0430 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u0443\u044E \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0443 \u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0430."}),(0,e.createComponentVNode)(2,t.Box,{mt:1.5,italic:!0,color:"gray",fontSize:"10px",children:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435 \u043E\u0431 \u044D\u0442\u043E\u043C \u043C\u043E\u0436\u043D\u043E \u0443\u0437\u043D\u0430\u0442\u044C \u0432 \u043D\u0430\u0448\u0435\u043C Discord-\u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0435."})]})})})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"\u0413\u043E\u043B\u043E\u0441\u0430 ("+fe.length+"/"+C.length+")",buttons:oe,children:(0,e.createComponentVNode)(2,t.Table,{children:(0,e.createComponentVNode)(2,o.VirtualList,{children:me})})})})],4)}return c}()},56441:function(A,r,n){"use strict";r.__esModule=!0,r.TachyonArrayContent=r.TachyonArray=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TachyonArray=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.records,l=m===void 0?[]:m,d=c.explosion_target,s=c.toxins_tech,i=c.printing;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shift's Target",children:d}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Toxins Level",children:s}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Administration",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:"Print All Logs",disabled:!l.length||i,align:"center",onClick:function(){function h(){return u("print_logs")}return h}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash",content:"Delete All Logs",disabled:!l.length,color:"bad",align:"center",onClick:function(){function h(){return u("delete_logs")}return h}()})]})]})}),l.length?(0,e.createComponentVNode)(2,b):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No Records"})]})})}return S}(),b=r.TachyonArrayContent=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.records,l=m===void 0?[]:m;return(0,e.createComponentVNode)(2,t.Section,{title:"Logged Explosions",children:(0,e.createComponentVNode)(2,t.Flex,{children:(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Time"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Epicenter"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Actual Size"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Theoretical Size"})]}),l.map(function(d){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.logged_time}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.epicenter}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.actual_size_message}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.theoretical_size_message}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash",content:"Delete",color:"bad",onClick:function(){function s(){return u("delete_record",{index:d.index})}return s}()})})]},d.index)})]})})})})}return S}()},1754:function(A,r,n){"use strict";r.__esModule=!0,r.Tank=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Tank=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c;return u.has_mask?c=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mask",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,width:"76%",icon:u.connected?"check":"times",content:u.connected?"Internals On":"Internals Off",selected:u.connected,onClick:function(){function m(){return g("internals")}return m}()})}):c=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mask",color:"red",children:"No Mask Equipped"}),(0,e.createComponentVNode)(2,o.Window,{width:325,height:135,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tank Pressure",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:u.tankPressure/1013,ranges:{good:[.35,1/0],average:[.15,.35],bad:[-1/0,.15]},children:u.tankPressure+" kPa"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Release Pressure",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:u.ReleasePressure===u.minReleasePressure,tooltip:"Min",onClick:function(){function m(){return g("pressure",{pressure:"min"})}return m}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,value:parseFloat(u.releasePressure),width:"65px",unit:"kPa",minValue:u.minReleasePressure,maxValue:u.maxReleasePressure,onChange:function(){function m(l,d){return g("pressure",{pressure:d})}return m}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:u.ReleasePressure===u.maxReleasePressure,tooltip:"Max",onClick:function(){function m(){return g("pressure",{pressure:"max"})}return m}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"undo",content:"",disabled:u.ReleasePressure===u.defaultReleasePressure,tooltip:"Reset",onClick:function(){function m(){return g("pressure",{pressure:"reset"})}return m}()})]}),c]})})})})}return b}()},7579:function(A,r,n){"use strict";r.__esModule=!0,r.TankDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TankDispenser=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.o_tanks,m=u.p_tanks;return(0,e.createComponentVNode)(2,o.Window,{width:250,height:105,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Dispense Oxygen Tank ("+c+")",disabled:c===0,icon:"arrow-circle-down",onClick:function(){function l(){return g("oxygen")}return l}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{mt:1,fluid:!0,content:"Dispense Plasma Tank ("+m+")",disabled:m===0,icon:"arrow-circle-down",onClick:function(){function l(){return g("plasma")}return l}()})})]})})})}return b}()},16136:function(A,r,n){"use strict";r.__esModule=!0,r.TcommsCore=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TcommsCore=function(){function g(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.ion,i=(0,a.useLocalState)(c,"tabIndex",0),h=i[0],C=i[1],v=function(){function p(N){switch(N){case 0:return(0,e.createComponentVNode)(2,S);case 1:return(0,e.createComponentVNode)(2,I);case 2:return(0,e.createComponentVNode)(2,k);default:return"SOMETHING WENT VERY WRONG PLEASE AHELP"}}return p}();return(0,e.createComponentVNode)(2,o.Window,{width:900,height:520,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[s===1&&(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"wrench",selected:h===0,onClick:function(){function p(){return C(0)}return p}(),children:"Configuration"},"ConfigPage"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"link",selected:h===1,onClick:function(){function p(){return C(1)}return p}(),children:"Device Linkage"},"LinkagePage"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"user-times",selected:h===2,onClick:function(){function p(){return C(2)}return p}(),children:"User Filtering"},"FilterPage")]}),v(h)]})})}return g}(),b=function(){return(0,e.createComponentVNode)(2,t.NoticeBox,{children:"ERROR: An Ionospheric overload has occured. Please wait for the machine to reboot. This cannot be manually done."})},S=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.active,i=d.sectors_available,h=d.nttc_toggle_jobs,C=d.nttc_toggle_job_color,v=d.nttc_toggle_name_color,p=d.nttc_toggle_command_bold,N=d.nttc_job_indicator_type,V=d.nttc_setting_language,y=d.network_id;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Machine Power",children:(0,e.createComponentVNode)(2,t.Button,{content:s?"On":"Off",selected:s,icon:"power-off",onClick:function(){function B(){return l("toggle_active")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sector Coverage",children:i})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Radio Configuration",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Announcements",children:(0,e.createComponentVNode)(2,t.Button,{content:h?"On":"Off",selected:h,icon:"user-tag",onClick:function(){function B(){return l("nttc_toggle_jobs")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Departmentalisation",children:(0,e.createComponentVNode)(2,t.Button,{content:C?"On":"Off",selected:C,icon:"clipboard-list",onClick:function(){function B(){return l("nttc_toggle_job_color")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name Departmentalisation",children:(0,e.createComponentVNode)(2,t.Button,{content:v?"On":"Off",selected:v,icon:"user-tag",onClick:function(){function B(){return l("nttc_toggle_name_color")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Command Amplification",children:(0,e.createComponentVNode)(2,t.Button,{content:p?"On":"Off",selected:p,icon:"volume-up",onClick:function(){function B(){return l("nttc_toggle_command_bold")}return B}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Advanced",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Announcement Format",children:(0,e.createComponentVNode)(2,t.Button,{content:N||"Unset",selected:N,icon:"pencil-alt",onClick:function(){function B(){return l("nttc_job_indicator_type")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Language Conversion",children:(0,e.createComponentVNode)(2,t.Button,{content:V||"Unset",selected:V,icon:"globe",onClick:function(){function B(){return l("nttc_setting_language")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network ID",children:(0,e.createComponentVNode)(2,t.Button,{content:y||"Unset",selected:y,icon:"server",onClick:function(){function B(){return l("network_id")}return B}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Maintenance",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Import Configuration",icon:"file-import",onClick:function(){function B(){return l("import")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Export Configuration",icon:"file-export",onClick:function(){function B(){return l("export")}return B}()})]})],4)},I=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.link_password,i=d.relay_entries;return(0,e.createComponentVNode)(2,t.Section,{title:"Device Linkage",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linkage Password",children:(0,e.createComponentVNode)(2,t.Button,{content:s||"Unset",selected:s,icon:"lock",onClick:function(){function h(){return l("change_password")}return h}()})})}),(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Sector"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Unlink"})]}),i.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.addr}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.net_id}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.sector}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.status===1?(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Online"}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Offline"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Unlink",icon:"unlink",onClick:function(){function C(){return l("unlink",{addr:h.addr})}return C}()})})]},h.addr)})]})]})},k=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.filtered_users;return(0,e.createComponentVNode)(2,t.Section,{title:"User Filtering",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Add User",icon:"user-plus",onClick:function(){function i(){return l("add_filter")}return i}()}),children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{style:{width:"90%"},children:"User"}),(0,e.createComponentVNode)(2,t.Table.Cell,{style:{width:"10%"},children:"Actions"})]}),s.map(function(i){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:i}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Remove",icon:"user-times",onClick:function(){function h(){return l("remove_filter",{user:i})}return h}()})})]},i)})]})})}},88046:function(A,r,n){"use strict";r.__esModule=!0,r.TcommsRelay=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TcommsRelay=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.linked,d=m.active,s=m.network_id;return(0,e.createComponentVNode)(2,o.Window,{width:600,height:292,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Relay Configuration",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Machine Power",children:(0,e.createComponentVNode)(2,t.Button,{content:d?"On":"Off",selected:d,icon:"power-off",onClick:function(){function i(){return c("toggle_active")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network ID",children:(0,e.createComponentVNode)(2,t.Button,{content:s||"Unset",selected:s,icon:"server",onClick:function(){function i(){return c("network_id")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Link Status",children:l===1?(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Linked"}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Unlinked"})})]})}),l===1?(0,e.createComponentVNode)(2,b):(0,e.createComponentVNode)(2,S)]})})}return I}(),b=function(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.linked_core_id,d=m.linked_core_addr,s=m.hidden_link;return(0,e.createComponentVNode)(2,t.Section,{title:"Link Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linked Core ID",children:l}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linked Core Address",children:d}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hidden Link",children:(0,e.createComponentVNode)(2,t.Button,{content:s?"Yes":"No",icon:s?"eye-slash":"eye",selected:s,onClick:function(){function i(){return c("toggle_hidden_link")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Unlink",children:(0,e.createComponentVNode)(2,t.Button,{content:"Unlink",icon:"unlink",color:"red",onClick:function(){function i(){return c("unlink")}return i}()})})]})})},S=function(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.cores;return(0,e.createComponentVNode)(2,t.Section,{title:"Detected Cores",children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Sector"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Link"})]}),l.map(function(d){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.addr}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.net_id}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:d.sector}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Link",icon:"link",onClick:function(){function s(){return c("link",{addr:d.addr})}return s}()})})]},d.addr)})]})})}},20802:function(A,r,n){"use strict";r.__esModule=!0,r.Teleporter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Teleporter=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.targetsTeleport?u.targetsTeleport:{},m=0,l=1,d=2,s=u.calibrated,i=u.calibrating,h=u.powerstation,C=u.regime,v=u.teleporterhub,p=u.target,N=u.locked,V=u.adv_beacon_allowed,y=u.advanced_beacon_locking;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:270,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:[(!h||!v)&&(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Error",children:[v,!h&&(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:" Powerstation not linked "}),h&&!v&&(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:" Teleporter hub not linked "})]}),h&&v&&(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Status",buttons:(0,e.createFragment)(!!V&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"label",children:"Advanced Beacon Locking:\xA0"}),(0,e.createComponentVNode)(2,t.Button,{selected:y,icon:y?"toggle-on":"toggle-off",content:y?"Enabled":"Disabled",onClick:function(){function B(){return g("advanced_beacon_locking",{on:y?0:1})}return B}()})],4),0),children:[(0,e.createComponentVNode)(2,t.Stack,{mb:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:8.5,color:"label",children:"Teleport target:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[C===m&&(0,e.createComponentVNode)(2,t.Dropdown,{width:18.2,selected:p,disabled:i,options:Object.keys(c),color:p!=="None"?"default":"bad",onSelected:function(){function B(L){return g("settarget",{x:c[L].x,y:c[L].y,z:c[L].z,tptarget:c[L].pretarget})}return B}()}),C===l&&(0,e.createComponentVNode)(2,t.Dropdown,{width:18.2,selected:p,disabled:i,options:Object.keys(c),color:p!=="None"?"default":"bad",onSelected:function(){function B(L){return g("settarget",{x:c[L].x,y:c[L].y,z:c[L].z,tptarget:c[L].pretarget})}return B}()}),C===d&&(0,e.createComponentVNode)(2,t.Box,{children:p})]})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:8.5,color:"label",children:"Regime:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Gate",tooltip:"Teleport to another teleport hub.",tooltipPosition:"top",color:C===l?"good":null,onClick:function(){function B(){return g("setregime",{regime:l})}return B}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Teleporter",tooltip:"One-way teleport.",tooltipPosition:"top",color:C===m?"good":null,onClick:function(){function B(){return g("setregime",{regime:m})}return B}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"GPS",tooltip:"Teleport to a location stored in a GPS device.",tooltipPosition:"top-end",color:C===d?"good":null,disabled:!N,onClick:function(){function B(){return g("setregime",{regime:d})}return B}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{label:"Calibration",mt:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:8.5,color:"label",children:"Calibration:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[p!=="None"&&(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:15.8,textAlign:"center",mt:.5,children:i&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"In Progress"})||s&&(0,e.createComponentVNode)(2,t.Box,{color:"good",children:"Optimal"})||(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Sub-Optimal"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{icon:"sync-alt",tooltip:"Calibrates the hub. Accidents may occur when the calibration is not optimal.",tooltipPosition:"bottom-end",disabled:!!(s||i),onClick:function(){function B(){return g("calibrate")}return B}()})})]}),p==="None"&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"21px",children:"No target set"})]})]})]}),!!(N&&h&&v&&C===d)&&(0,e.createComponentVNode)(2,t.Section,{title:"GPS",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Upload GPS data",tooltip:"Loads the GPS data from the device.",icon:"upload",onClick:function(){function B(){return g("load")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Eject",tooltip:"Ejects the GPS device",icon:"eject",onClick:function(){function B(){return g("eject")}return B}()})]})})]})})})})}return b}()},48517:function(A,r,n){"use strict";r.__esModule=!0,r.TelescienceConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TelescienceConsole=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.last_msg,m=u.linked_pad,l=u.held_gps,d=u.lastdata,s=u.power_levels,i=u.current_max_power,h=u.current_power,C=u.current_bearing,v=u.current_elevation,p=u.current_sector,N=u.working,V=u.max_z,y=(0,a.useLocalState)(I,"dummyrot",C),B=y[0],L=y[1];return(0,e.createComponentVNode)(2,o.Window,{width:400,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:(0,e.createFragment)([c,!(d.length>0)||(0,e.createVNode)(1,"ul",null,d.map(function(w){return(0,e.createVNode)(1,"li",null,w,0,null,w)}),0)],0)}),(0,e.createComponentVNode)(2,t.Section,{title:"Telepad Status",children:m===1?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Bearing",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",children:[(0,e.createComponentVNode)(2,t.NumberInput,{unit:"\xB0",width:6.1,lineHeight:1.5,step:.1,minValue:0,maxValue:360,disabled:N,value:C,onDrag:function(){function w(x,T){return L(T)}return w}(),onChange:function(){function w(x,T){return g("setbear",{bear:T})}return w}()}),(0,e.createComponentVNode)(2,t.Icon,{ml:1,size:1,name:"arrow-up",rotation:B})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Elevation",children:(0,e.createComponentVNode)(2,t.NumberInput,{width:6.1,lineHeight:1.5,step:.1,minValue:0,maxValue:100,disabled:N,value:v,onChange:function(){function w(x,T){return g("setelev",{elev:T})}return w}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power Level",children:s.map(function(w,x){return(0,e.createComponentVNode)(2,t.Button,{content:w,selected:h===w,disabled:x>=i-1||N,onClick:function(){function T(){return g("setpwr",{pwr:x+1})}return T}()},w)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Sector",children:(0,e.createComponentVNode)(2,t.NumberInput,{width:6.1,lineHeight:1.5,step:1,minValue:2,maxValue:V,value:p,disabled:N,onChange:function(){function w(x,T){return g("setz",{newz:T})}return w}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Telepad Actions",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Send",disabled:N,onClick:function(){function w(){return g("pad_send")}return w}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Receive",disabled:N,onClick:function(){function w(){return g("pad_receive")}return w}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Crystal Maintenance",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Recalibrate Crystals",disabled:N,onClick:function(){function w(){return g("recal_crystals")}return w}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Eject Crystals",disabled:N,onClick:function(){function w(){return g("eject_crystals")}return w}()})]})]}):(0,e.createFragment)([(0,e.createTextVNode)("No pad linked to console. Please use a multitool to link a pad.")],4)}),(0,e.createComponentVNode)(2,t.Section,{title:"GPS Actions",children:l===1?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{disabled:l===0||N,content:"Eject GPS",onClick:function(){function w(){return g("eject_gps")}return w}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:l===0||N,content:"Store Coordinates",onClick:function(){function w(){return g("store_to_gps")}return w}()})],4):(0,e.createFragment)([(0,e.createTextVNode)("Please insert a GPS to store coordinates to it.")],4)})]})})}return b}()},21800:function(A,r,n){"use strict";r.__esModule=!0,r.TempGun=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=r.TempGun=function(){function g(u,c){var m=(0,t.useBackend)(c),l=m.act,d=m.data,s=d.target_temperature,i=d.temperature,h=d.max_temp,C=d.min_temp;return(0,e.createComponentVNode)(2,f.Window,{width:250,height:121,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Target Temperature",children:[(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:10,stepPixelSize:6,minValue:C,maxValue:h,value:s,format:function(){function v(p){return(0,a.toFixed)(p,2)}return v}(),width:"50px",onDrag:function(){function v(p,N){return l("target_temperature",{target_temperature:N})}return v}()}),"\xB0C"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Current Temperature",children:(0,e.createComponentVNode)(2,o.Box,{color:S(i),bold:i>500-273.15,children:[(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:(0,a.round)(i,2)}),"\xB0C"]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Power Cost",children:(0,e.createComponentVNode)(2,o.Box,{color:k(i),children:I(i)})})]})})})})}return g}(),S=function(u){return u<=-100?"blue":u<=0?"teal":u<=100?"green":u<=200?"orange":"red"},I=function(u){return u<=100-273.15?"High":u<=250-273.15?"Medium":u<=300-273.15?"Low":u<=400-273.15?"Medium":"High"},k=function(u){return u<=100-273.15?"red":u<=250-273.15?"orange":u<=300-273.15?"green":u<=400-273.15?"orange":"red"}},24410:function(A,r,n){"use strict";r.__esModule=!0,r.sanitizeMultiline=r.removeAllSkiplines=r.TextInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(72253),f=n(92986),b=n(36036),S=n(98595),I=r.sanitizeMultiline=function(){function c(m){return m.replace(/(\n|\r\n){3,}/,"\n\n")}return c}(),k=r.removeAllSkiplines=function(){function c(m){return m.replace(/[\r\n]+/,"")}return c}(),g=r.TextInputModal=function(){function c(m,l){var d=(0,o.useBackend)(l),s=d.act,i=d.data,h=i.max_length,C=i.message,v=C===void 0?"":C,p=i.multiline,N=i.placeholder,V=i.timeout,y=i.title,B=(0,o.useLocalState)(l,"input",N||""),L=B[0],w=B[1],x=function(){function O(D){if(D!==L){var E=p?I(D):k(D);w(E)}}return O}(),T=p||L.length>=40,M=130+(v.length>40?Math.ceil(v.length/4):0)+(T?80:0);return(0,e.createComponentVNode)(2,S.Window,{title:y,width:325,height:M,children:[V&&(0,e.createComponentVNode)(2,a.Loader,{value:V}),(0,e.createComponentVNode)(2,S.Window.Content,{onKeyDown:function(){function O(D){var E=window.event?D.which:D.keyCode;E===f.KEY_ENTER&&(!T||!D.shiftKey)&&s("submit",{entry:L}),E===f.KEY_ESCAPE&&s("cancel")}return O}(),children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Box,{color:"label",children:v})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,u,{input:L,onType:x})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,t.InputButtons,{input:L,message:L.length+"/"+h})})]})})})]})}return c}(),u=function(m,l){var d=(0,o.useBackend)(l),s=d.act,i=d.data,h=i.max_length,C=i.multiline,v=m.input,p=m.onType,N=C||v.length>=40;return(0,e.createComponentVNode)(2,b.TextArea,{autoFocus:!0,autoSelect:!0,height:C||v.length>=40?"100%":"1.8rem",maxLength:h,onEscape:function(){function V(){return s("cancel")}return V}(),onEnter:function(){function V(y){N&&y.shiftKey||(y.preventDefault(),s("submit",{entry:v}))}return V}(),onInput:function(){function V(y,B){return p(B)}return V}(),placeholder:"Type something...",value:v})}},25036:function(A,r,n){"use strict";r.__esModule=!0,r.ThermoMachine=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=r.ThermoMachine=function(){function S(I,k){var g=(0,t.useBackend)(k),u=g.act,c=g.data;return(0,e.createComponentVNode)(2,f.Window,{width:300,height:225,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:[(0,e.createComponentVNode)(2,o.Section,{title:"Status",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Temperature",children:[(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:c.temperature,format:function(){function m(l){return(0,a.toFixed)(l,2)}return m}()})," K"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pressure",children:[(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:c.pressure,format:function(){function m(l){return(0,a.toFixed)(l,2)}return m}()})," kPa"]})]})}),(0,e.createComponentVNode)(2,o.Section,{title:"Controls",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){function m(){return u("power")}return m}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Setting",textAlign:"center",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:c.cooling?"temperature-low":"temperature-high",content:c.cooling?"Cooling":"Heating",selected:c.cooling,onClick:function(){function m(){return u("cooling")}return m}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Target Temperature",children:[(0,e.createComponentVNode)(2,o.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){function m(){return u("target",{target:c.min})}return m}()}),(0,e.createComponentVNode)(2,o.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:5.4,lineHeight:1.4,minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(){function m(l,d){return u("target",{target:d})}return m}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){function m(){return u("target",{target:c.max})}return m}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){function m(){return u("target",{target:c.initial})}return m}()})]})]})})]})})}return S}()},20035:function(A,r,n){"use strict";r.__esModule=!0,r.TransferValve=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TransferValve=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.tank_one,m=u.tank_two,l=u.attached_device,d=u.valve;return(0,e.createComponentVNode)(2,o.Window,{width:460,height:285,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Valve Status",children:(0,e.createComponentVNode)(2,t.Button,{icon:d?"unlock":"lock",content:d?"Open":"Closed",disabled:!c||!m,onClick:function(){function s(){return g("toggle")}return s}()})})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Assembly",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"cog",content:"Configure Assembly",disabled:!l,onClick:function(){function s(){return g("device")}return s}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Attachment",children:l?(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:l,disabled:!l,onClick:function(){function s(){return g("remove_device")}return s}()}):(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"No Assembly"})})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Attachment One",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Attachment",children:c?(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:c,disabled:!c,onClick:function(){function s(){return g("tankone")}return s}()}):(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"No Tank"})})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Attachment Two",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Attachment",children:m?(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:m,disabled:!m,onClick:function(){function s(){return g("tanktwo")}return s}()}):(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"No Tank"})})})})]})})}return b}()},78166:function(A,r,n){"use strict";r.__esModule=!0,r.TurbineComputer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(44879),b=r.TurbineComputer=function(){function k(g,u){var c=(0,a.useBackend)(u),m=c.act,l=c.data,d=l.compressor,s=l.compressor_broken,i=l.turbine,h=l.turbine_broken,C=l.online,v=!!(d&&!s&&i&&!h);return(0,e.createComponentVNode)(2,o.Window,{width:400,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Status",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:C?"power-off":"times",content:C?"Online":"Offline",selected:C,disabled:!v,onClick:function(){function p(){return m("toggle_power")}return p}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Disconnect",onClick:function(){function p(){return m("disconnect")}return p}()})],4),children:v?(0,e.createComponentVNode)(2,I):(0,e.createComponentVNode)(2,S)})})})}return k}(),S=function(g,u){var c=(0,a.useBackend)(u),m=c.data,l=m.compressor,d=m.compressor_broken,s=m.turbine,i=m.turbine_broken,h=m.online;return(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Compressor Status",color:!l||d?"bad":"good",children:d?l?"Offline":"Missing":"Online"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Turbine Status",color:!s||i?"bad":"good",children:i?s?"Offline":"Missing":"Online"})]})},I=function(g,u){var c=(0,a.useBackend)(u),m=c.data,l=m.rpm,d=m.temperature,s=m.power,i=m.bearing_heat;return(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Turbine Speed",children:[l," RPM"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Internal Temp",children:[d," K"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Generated Power",children:[s," W"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Bearing Heat",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:i,minValue:0,maxValue:100,ranges:{good:[-1/0,60],average:[60,90],bad:[90,1/0]},children:(0,f.toFixed)(i)+"%"})})]})}},52847:function(A,r,n){"use strict";r.__esModule=!0,r.Uplink=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(25328),f=n(72253),b=n(36036),S=n(98595),I=n(3939),k=function(C){switch(C){case 0:return(0,e.createComponentVNode)(2,u);case 1:return(0,e.createComponentVNode)(2,c);case 2:return(0,e.createComponentVNode)(2,i);default:return"SOMETHING WENT VERY WRONG PLEASE AHELP"}},g=r.Uplink=function(){function h(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.cart,B=(0,f.useLocalState)(v,"tabIndex",0),L=B[0],w=B[1],x=(0,f.useLocalState)(v,"searchText",""),T=x[0],M=x[1];return(0,e.createComponentVNode)(2,S.Window,{width:900,height:600,theme:"syndicate",children:[(0,e.createComponentVNode)(2,I.ComplexModal),(0,e.createComponentVNode)(2,S.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Tabs,{children:[(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:L===0,onClick:function(){function O(){w(0),M("")}return O}(),icon:"store",children:"View Market"},"PurchasePage"),(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:L===1,onClick:function(){function O(){w(1),M("")}return O}(),icon:"shopping-cart",children:["View Shopping Cart ",y&&y.length?"("+y.length+")":""]},"Cart"),(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:L===2,onClick:function(){function O(){w(2),M("")}return O}(),icon:"user",children:"Exploitable Information"},"ExploitableInfo"),(0,e.createComponentVNode)(2,b.Tabs.Tab,{onClick:function(){function O(){return N("lock")}return O}(),icon:"lock",children:"Lock Uplink"},"LockUplink")]})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:k(L)})]})})]})}return h}(),u=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.crystals,B=V.cats,L=(0,f.useLocalState)(v,"uplinkItems",B[0].items),w=L[0],x=L[1],T=(0,f.useLocalState)(v,"searchText",""),M=T[0],O=T[1],D=function(W,z){z===void 0&&(z="");var K=(0,o.createSearch)(z,function(G){var J=G.hijack_only===1?"|hijack":"";return G.name+"|"+G.desc+"|"+G.cost+"tc"+J});return(0,t.flow)([(0,a.filter)(function(G){return G==null?void 0:G.name}),z&&(0,a.filter)(K),(0,a.sortBy)(function(G){return G==null?void 0:G.name})])(W)},E=function(W){if(O(W),W==="")return x(B[0].items);x(D(B.map(function(z){return z.items}).flat(),W))},P=(0,f.useLocalState)(v,"showDesc",1),R=P[0],j=P[1];return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Section,{title:"Current Balance: "+y+"TC",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,b.Button.Checkbox,{content:"Show Descriptions",checked:R,onClick:function(){function F(){return j(!R)}return F}()}),(0,e.createComponentVNode)(2,b.Button,{content:"Random Item",icon:"question",onClick:function(){function F(){return N("buyRandom")}return F}()}),(0,e.createComponentVNode)(2,b.Button,{content:"Refund Currently Held Item",icon:"undo",onClick:function(){function F(){return N("refund")}return F}()})],4),children:(0,e.createComponentVNode)(2,b.Input,{fluid:!0,placeholder:"Search Equipment",onInput:function(){function F(W,z){E(z)}return F}(),value:M})})})}),(0,e.createComponentVNode)(2,b.Stack,{fill:!0,mt:.3,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,b.Tabs,{vertical:!0,children:B.map(function(F){return(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:M!==""?!1:F.items===w,onClick:function(){function W(){x(F.items),O("")}return W}(),children:F.cat},F)})})})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:w.map(function(F){return(0,e.createComponentVNode)(2,b.Stack.Item,{p:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,l,{i:F,showDecription:R},(0,o.decodeHtmlEntities)(F.name))},(0,o.decodeHtmlEntities)(F.name))})})})})]})]})},c=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.cart,B=V.crystals,L=V.cart_price,w=(0,f.useLocalState)(v,"showDesc",0),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Current Balance: "+B+"TC",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,b.Button.Checkbox,{content:"Show Descriptions",checked:x,onClick:function(){function M(){return T(!x)}return M}()}),(0,e.createComponentVNode)(2,b.Button,{content:"Empty Cart",icon:"trash",onClick:function(){function M(){return N("empty_cart")}return M}(),disabled:!y}),(0,e.createComponentVNode)(2,b.Button,{content:"Purchase Cart ("+L+"TC)",icon:"shopping-cart",onClick:function(){function M(){return N("purchase_cart")}return M}(),disabled:!y||L>B})],4),children:(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:y?y.map(function(M){return(0,e.createComponentVNode)(2,b.Stack.Item,{p:1,mr:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,l,{i:M,showDecription:x,buttons:(0,e.createComponentVNode)(2,s,{i:M})})},(0,o.decodeHtmlEntities)(M.name))}):(0,e.createComponentVNode)(2,b.Box,{italic:!0,children:"Your Shopping Cart is empty!"})})})}),(0,e.createComponentVNode)(2,m)]})},m=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.cats,B=V.lucky_numbers;return(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Suggested Purchases",buttons:(0,e.createComponentVNode)(2,b.Button,{icon:"dice",content:"See more suggestions",onClick:function(){function L(){return N("shuffle_lucky_numbers")}return L}()}),children:(0,e.createComponentVNode)(2,b.Stack,{wrap:!0,children:B.map(function(L){return y[L.cat].items[L.item]}).filter(function(L){return L!=null}).map(function(L,w){return(0,e.createComponentVNode)(2,b.Stack.Item,{p:1,mb:1,ml:1,width:34,backgroundColor:"rgba(255, 0, 0, 0.15)",children:(0,e.createComponentVNode)(2,l,{grow:!0,i:L})},w)})})})})},l=function(C,v){var p=C.i,N=C.showDecription,V=N===void 0?1:N,y=C.buttons,B=y===void 0?(0,e.createComponentVNode)(2,d,{i:p}):y;return(0,e.createComponentVNode)(2,b.Section,{title:(0,o.decodeHtmlEntities)(p.name),showBottom:V,buttons:B,children:V?(0,e.createComponentVNode)(2,b.Box,{italic:!0,children:(0,o.decodeHtmlEntities)(p.desc)}):null})},d=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=C.i,B=V.crystals;return(0,e.createFragment)([(0,e.createComponentVNode)(2,b.Button,{icon:"shopping-cart",color:y.hijack_only===1&&"red",tooltip:"Add to cart.",tooltipPosition:"left",onClick:function(){function L(){return N("add_to_cart",{item:y.obj_path})}return L}(),disabled:y.cost>B}),(0,e.createComponentVNode)(2,b.Button,{content:"Buy ("+y.cost+"TC)"+(y.refundable?" [Refundable]":""),color:y.hijack_only===1&&"red",tooltip:y.hijack_only===1&&"Hijack Agents Only!",tooltipPosition:"left",onClick:function(){function L(){return N("buyItem",{item:y.obj_path})}return L}(),disabled:y.cost>B})],4)},s=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=C.i,B=V.exploitable;return(0,e.createComponentVNode)(2,b.Stack,{children:[(0,e.createComponentVNode)(2,b.Button,{icon:"times",content:"("+y.cost*y.amount+"TC)",tooltip:"Remove from cart.",tooltipPosition:"left",onClick:function(){function L(){return N("remove_from_cart",{item:y.obj_path})}return L}()}),(0,e.createComponentVNode)(2,b.Button,{icon:"minus",tooltip:y.limit===0&&"Discount already redeemed!",ml:"5px",onClick:function(){function L(){return N("set_cart_item_quantity",{item:y.obj_path,quantity:--y.amount})}return L}(),disabled:y.amount<=0}),(0,e.createComponentVNode)(2,b.Button.Input,{content:y.amount,width:"45px",tooltipPosition:"bottom-end",tooltip:y.limit===0&&"Discount already redeemed!",onCommit:function(){function L(w,x){return N("set_cart_item_quantity",{item:y.obj_path,quantity:x})}return L}(),disabled:y.limit!==-1&&y.amount>=y.limit&&y.amount<=0}),(0,e.createComponentVNode)(2,b.Button,{mb:.3,icon:"plus",tooltipPosition:"bottom-start",tooltip:y.limit===0&&"Discount already redeemed!",onClick:function(){function L(){return N("set_cart_item_quantity",{item:y.obj_path,quantity:++y.amount})}return L}(),disabled:y.limit!==-1&&y.amount>=y.limit})]})},i=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.exploitable,B=(0,f.useLocalState)(v,"selectedRecord",y[0]),L=B[0],w=B[1],x=(0,f.useLocalState)(v,"searchText",""),T=x[0],M=x[1],O=function(P,R){R===void 0&&(R="");var j=(0,o.createSearch)(R,function(F){return F.name});return(0,t.flow)([(0,a.filter)(function(F){return F==null?void 0:F.name}),R&&(0,a.filter)(j),(0,a.sortBy)(function(F){return F.name})])(P)},D=O(y,T);return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Exploitable Records",children:[(0,e.createComponentVNode)(2,b.Input,{fluid:!0,mb:1,placeholder:"Search Crew",onInput:function(){function E(P,R){return M(R)}return E}()}),(0,e.createComponentVNode)(2,b.Tabs,{vertical:!0,children:D.map(function(E){return(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:E===L,onClick:function(){function P(){return w(E)}return P}(),children:E.name},E)})})]})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:L.name,children:(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Age",children:L.age}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Fingerprint",children:L.fingerprint}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Rank",children:L.rank}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Sex",children:L.sex}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Species",children:L.species})]})})})]})}},12261:function(A,r,n){"use strict";r.__esModule=!0,r.Vending=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=I.product,l=I.productStock,d=I.productIcon,s=I.productIconState,i=c.chargesMoney,h=c.user,C=c.usermoney,v=c.inserted_cash,p=c.vend_ready,N=c.inserted_item_name,V=!i||m.price===0,y="ERROR!",B="";V?(y="FREE",B="arrow-circle-down"):(y=m.price,B="shopping-cart");var L=!p||l===0||!V&&m.price>C&&m.price>v;return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,t.DmIcon,{verticalAlign:"middle",icon:d,icon_state:s,fallback:(0,e.createComponentVNode)(2,t.Icon,{p:.66,name:"spinner",size:2,spin:!0})})}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:m.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Box,{color:l<=0&&"bad"||l<=m.max_amount/2&&"average"||"good",children:[l," in stock"]})}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,disabled:L,icon:B,content:y,textAlign:"left",onClick:function(){function w(){return u("vend",{inum:m.inum})}return w}()})})]})},b=r.Vending=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.user,l=c.usermoney,d=c.inserted_cash,s=c.chargesMoney,i=c.product_records,h=i===void 0?[]:i,C=c.hidden_records,v=C===void 0?[]:C,p=c.stock,N=c.vend_ready,V=c.inserted_item_name,y=c.panel_open,B=c.speaker,L;return L=[].concat(h),c.extended_inventory&&(L=[].concat(L,v)),L=L.filter(function(w){return!!w}),(0,e.createComponentVNode)(2,o.Window,{title:"Vending Machine",width:450,height:Math.min((s?171:89)+L.length*32,585),children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[!!s&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"User",buttons:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:!!V&&(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:(0,e.createVNode)(1,"span",null,V,0,{style:{"text-transform":"capitalize"}}),onClick:function(){function w(){return u("eject_item",{})}return w}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{disabled:!d,icon:"money-bill-wave-alt",content:d?(0,e.createFragment)([(0,e.createVNode)(1,"b",null,d,0),(0,e.createTextVNode)(" credits")],0):"Dispense Change",tooltip:d?"Dispense Change":null,textAlign:"left",onClick:function(){function w(){return u("change")}return w}()})})]}),children:m&&(0,e.createComponentVNode)(2,t.Box,{children:["Welcome, ",(0,e.createVNode)(1,"b",null,m.name,0),", ",(0,e.createVNode)(1,"b",null,m.job||"Unemployed",0),"!",(0,e.createVNode)(1,"br"),"Your balance is ",(0,e.createVNode)(1,"b",null,[l,(0,e.createTextVNode)(" credits")],0),".",(0,e.createVNode)(1,"br")]})})}),!!y&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Maintenance",children:(0,e.createComponentVNode)(2,t.Button,{icon:B?"check":"volume-mute",selected:B,content:"Speaker",textAlign:"left",onClick:function(){function w(){return u("toggle_voice",{})}return w}()})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Products",children:(0,e.createComponentVNode)(2,t.Table,{children:L.map(function(w){return(0,e.createComponentVNode)(2,f,{product:w,productStock:p[w.name],productIcon:w.icon,productIconState:w.icon_state},w.name)})})})})]})})})}return S}()},68971:function(A,r,n){"use strict";r.__esModule=!0,r.VolumeMixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.VolumeMixer=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.channels;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:Math.min(95+c.length*50,565),children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:c.map(function(m,l){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.25rem",color:"label",mt:l>0&&"0.5rem",children:m.name}),(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:.5,children:(0,e.createComponentVNode)(2,t.Button,{width:"24px",color:"transparent",children:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-off",size:"1.5",mt:"0.1rem",onClick:function(){function d(){return g("volume",{channel:m.num,volume:0})}return d}()})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mx:"0.5rem",children:(0,e.createComponentVNode)(2,t.Slider,{minValue:0,maxValue:100,stepPixelSize:3.13,value:m.volume,onChange:function(){function d(s,i){return g("volume",{channel:m.num,volume:i})}return d}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{width:"24px",color:"transparent",children:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-up",size:"1.5",mt:"0.1rem",onClick:function(){function d(){return g("volume",{channel:m.num,volume:100})}return d}()})})})]})})],4,m.num)})})})})}return b}()},2510:function(A,r,n){"use strict";r.__esModule=!0,r.VotePanel=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.VotePanel=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.remaining,m=u.question,l=u.choices,d=u.user_vote,s=u.counts,i=u.show_counts;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:360,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:m,children:[(0,e.createComponentVNode)(2,t.Box,{mb:1.5,ml:.5,children:["Time remaining: ",Math.round(c/10),"s"]}),l.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{mb:1,fluid:!0,translucent:!0,lineHeight:3,multiLine:h,content:h+(i?" ("+(s[h]||0)+")":""),onClick:function(){function C(){return g("vote",{target:h})}return C}(),selected:h===d})},h)})]})})})}return b}()},30138:function(A,r,n){"use strict";r.__esModule=!0,r.Wires=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Wires=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.wires||[],m=u.status||[],l=56+c.length*23+(status?0:15+m.length*17);return(0,e.createComponentVNode)(2,o.Window,{width:350,height:l,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:c.map(function(d){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{className:"candystripe",label:d.color_name,labelColor:d.seen_color,color:d.seen_color,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:d.cut?"Mend":"Cut",onClick:function(){function s(){return g("cut",{wire:d.color})}return s}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Pulse",onClick:function(){function s(){return g("pulse",{wire:d.color})}return s}()}),(0,e.createComponentVNode)(2,t.Button,{content:d.attached?"Detach":"Attach",onClick:function(){function s(){return g("attach",{wire:d.color})}return s}()})],4),children:!!d.wire&&(0,e.createVNode)(1,"i",null,[(0,e.createTextVNode)("("),d.wire,(0,e.createTextVNode)(")")],0)},d.seen_color)})})})}),!!m.length&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:m.map(function(d){return(0,e.createComponentVNode)(2,t.Box,{color:"lightgray",children:d},d)})})})]})})})}return b}()},21400:function(A,r,n){"use strict";r.__esModule=!0,r.WizardApprenticeContract=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.WizardApprenticeContract=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.used;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:555,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Contract of Apprenticeship",children:["Using this contract, you may summon an apprentice to aid you on your mission.",(0,e.createVNode)(1,"p",null,"If you are unable to establish contact with your apprentice, you can feed the contract back to the spellbook to refund your points.",16),c?(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"red",children:"You've already summoned an apprentice or you are in process of summoning one."}):""]}),(0,e.createComponentVNode)(2,t.Section,{title:"Which school of magic is your apprentice studying?",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fire",children:["Your apprentice is skilled in bending fire. ",(0,e.createVNode)(1,"br"),"They know Fireball, Sacred Flame, and Ethereal Jaunt.",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{content:"Select",disabled:c,onClick:function(){function m(){return g("fire")}return m}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Translocation",children:["Your apprentice is able to defy physics, learning how to move through bluespace. ",(0,e.createVNode)(1,"br"),"They know Teleport, Blink and Ethereal Jaunt.",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{content:"Select",disabled:c,onClick:function(){function m(){return g("translocation")}return m}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Restoration",children:["Your apprentice is dedicated to supporting your magical prowess.",(0,e.createVNode)(1,"br"),"They come equipped with a Staff of Healing, have the unique ability to teleport back to you, and know Charge and Knock.",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{content:"Select",disabled:c,onClick:function(){function m(){return g("restoration")}return m}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Stealth",children:["Your apprentice is learning the art of infiltrating mundane facilities. ",(0,e.createVNode)(1,"br"),"They know Mindswap, Knock, Homing Toolbox, and Disguise Self, all of which can be cast without robes. They also join you in a Maintenance Dweller disguise, complete with Gloves of Shock Immunity and a Belt of Tools.",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{content:"Select",disabled:c,onClick:function(){function m(){return g("stealth")}return m}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Honk",children:["Your apprentice is here to spread the Honkmother's blessings.",(0,e.createVNode)(1,"br"),"They know Banana Touch, Instant Summons, Ethereal Jaunt, and come equipped with a Staff of Slipping."," ",(0,e.createVNode)(1,"br"),"While under your tutelage, they have been 'blessed' with clown shoes that are impossible to remove.",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{content:"Select",disabled:c,onClick:function(){function m(){return g("honk")}return m}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider)]})})]})})}return b}()},49148:function(A,r,n){"use strict";r.__esModule=!0,r.AccessList=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036);function f(g,u){var c=typeof Symbol!="undefined"&&g[Symbol.iterator]||g["@@iterator"];if(c)return(c=c.call(g)).next.bind(c);if(Array.isArray(g)||(c=b(g))||u&&g&&typeof g.length=="number"){c&&(g=c);var m=0;return function(){return m>=g.length?{done:!0}:{done:!1,value:g[m++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function b(g,u){if(g){if(typeof g=="string")return S(g,u);var c={}.toString.call(g).slice(8,-1);return c==="Object"&&g.constructor&&(c=g.constructor.name),c==="Map"||c==="Set"?Array.from(g):c==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?S(g,u):void 0}}function S(g,u){(u==null||u>g.length)&&(u=g.length);for(var c=0,m=Array(u);c0&&!V.includes(R.ref)&&!p.includes(R.ref),checked:p.includes(R.ref),onClick:function(){function j(){return y(R.ref)}return j}()},R.desc)})]})]})})}return g}()},26991:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosScan=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036),f=function(I,k,g,u,c){return Iu?"average":I>c?"bad":"good"},b=r.AtmosScan=function(){function S(I,k){var g=I.data.aircontents;return(0,e.createComponentVNode)(2,o.Box,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,a.filter)(function(u){return u.val!=="0"||u.entry==="Pressure"||u.entry==="Temperature"})(g).map(function(u){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:u.entry,color:f(u.val,u.bad_low,u.poor_low,u.poor_high,u.bad_high),children:[u.val,u.units]},u.entry)})})})}return S}()},85870:function(A,r,n){"use strict";r.__esModule=!0,r.BeakerContents=void 0;var e=n(89005),a=n(36036),t=n(15964),o=function(S){return S+" unit"+(S===1?"":"s")},f=r.BeakerContents=function(){function b(S){var I=S.beakerLoaded,k=S.beakerContents,g=k===void 0?[]:k,u=S.buttons;return(0,e.createComponentVNode)(2,a.Stack,{vertical:!0,children:[!I&&(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",children:"No beaker loaded."})||g.length===0&&(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",children:"Beaker is empty."}),g.map(function(c,m){return(0,e.createComponentVNode)(2,a.Stack,{children:[(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",grow:!0,children:[o(c.volume)," of ",c.name]},c.name),!!u&&(0,e.createComponentVNode)(2,a.Stack.Item,{children:u(c,m)})]},c.name)})]})}return b}();f.propTypes={beakerLoaded:t.bool,beakerContents:t.array,buttons:t.arrayOf(t.element)}},92963:function(A,r,n){"use strict";r.__esModule=!0,r.BotStatus=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.BotStatus=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,u=g.locked,c=g.noaccess,m=g.maintpanel,l=g.on,d=g.autopatrol,s=g.canhack,i=g.emagged,h=g.remote_disabled;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.NoticeBox,{children:["Swipe an ID card to ",u?"unlock":"lock"," this interface."]}),(0,e.createComponentVNode)(2,t.Section,{title:"General Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:(0,e.createComponentVNode)(2,t.Button,{icon:l?"power-off":"times",content:l?"On":"Off",selected:l,disabled:c,onClick:function(){function C(){return k("power")}return C}()})}),d!==null&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Patrol",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:d,content:"Auto Patrol",disabled:c,onClick:function(){function C(){return k("autopatrol")}return C}()})}),!!m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Maintenance Panel",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Panel Open!"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safety System",children:(0,e.createComponentVNode)(2,t.Box,{color:i?"bad":"good",children:i?"DISABLED!":"Enabled"})}),!!s&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hacking",children:(0,e.createComponentVNode)(2,t.Button,{icon:"terminal",content:i?"Restore Safties":"Hack",disabled:c,color:"bad",onClick:function(){function C(){return k("hack")}return C}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Remote Access",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:!h,content:"AI Remote Control",disabled:c,onClick:function(){function C(){return k("disableremote")}return C}()})})]})})],4)}return f}()},3939:function(A,r,n){"use strict";r.__esModule=!0,r.modalRegisterBodyOverride=r.modalOpen=r.modalClose=r.modalAnswer=r.ComplexModal=void 0;var e=n(89005),a=n(72253),t=n(36036),o={},f=r.modalOpen=function(){function g(u,c,m){var l=(0,a.useBackend)(u),d=l.act,s=l.data,i=Object.assign(s.modal?s.modal.args:{},m||{});d("modal_open",{id:c,arguments:JSON.stringify(i)})}return g}(),b=r.modalRegisterBodyOverride=function(){function g(u,c){o[u]=c}return g}(),S=r.modalAnswer=function(){function g(u,c,m,l){var d=(0,a.useBackend)(u),s=d.act,i=d.data;if(i.modal){var h=Object.assign(i.modal.args||{},l||{});s("modal_answer",{id:c,answer:m,arguments:JSON.stringify(h)})}}return g}(),I=r.modalClose=function(){function g(u,c){var m=(0,a.useBackend)(u),l=m.act;l("modal_close",{id:c})}return g}(),k=r.ComplexModal=function(){function g(u,c){var m=(0,a.useBackend)(c),l=m.data;if(l.modal){var d=l.modal,s=d.id,i=d.text,h=d.type,C,v=(0,e.createComponentVNode)(2,t.Button,{className:"Button--modal",icon:"arrow-left",content:"Cancel",onClick:function(){function L(){return I(c)}return L}()}),p,N,V="auto";if(o[s])p=o[s](l.modal,c);else if(h==="input"){var y=l.modal.value;C=function(){function L(w){return S(c,s,y)}return L}(),p=(0,e.createComponentVNode)(2,t.Input,{value:l.modal.value,placeholder:"ENTER to submit",width:"100%",my:"0.5rem",autofocus:!0,onChange:function(){function L(w,x){y=x}return L}()}),N=(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-left",content:"Cancel",color:"grey",onClick:function(){function L(){return I(c)}return L}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"check",content:"Confirm",color:"good",float:"right",m:"0",onClick:function(){function L(){return S(c,s,y)}return L}()}),(0,e.createComponentVNode)(2,t.Box,{clear:"both"})]})}else if(h==="choice"){var B=typeof l.modal.choices=="object"?Object.values(l.modal.choices):l.modal.choices;p=(0,e.createComponentVNode)(2,t.Dropdown,{options:B,selected:l.modal.value,width:"100%",my:"0.5rem",onSelected:function(){function L(w){return S(c,s,w)}return L}()}),V="initial"}else h==="bento"?p=(0,e.createComponentVNode)(2,t.Stack,{spacingPrecise:"1",wrap:"wrap",my:"0.5rem",maxHeight:"1%",children:l.modal.choices.map(function(L,w){return(0,e.createComponentVNode)(2,t.Stack.Item,{flex:"1 1 auto",children:(0,e.createComponentVNode)(2,t.Button,{selected:w+1===parseInt(l.modal.value,10),onClick:function(){function x(){return S(c,s,w+1)}return x}(),children:(0,e.createVNode)(1,"img",null,null,1,{src:L})})},w)})}):h==="boolean"&&(N=(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:l.modal.no_text,color:"bad",float:"left",mb:"0",onClick:function(){function L(){return S(c,s,0)}return L}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"check",content:l.modal.yes_text,color:"good",float:"right",m:"0",onClick:function(){function L(){return S(c,s,1)}return L}()}),(0,e.createComponentVNode)(2,t.Box,{clear:"both"})]}));return(0,e.createComponentVNode)(2,t.Modal,{maxWidth:u.maxWidth||window.innerWidth/2+"px",maxHeight:u.maxHeight||window.innerHeight/2+"px",onEnter:C,mx:"auto",overflowY:V,"padding-bottom":"5px",children:[i&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,children:i}),o[s]&&v,p,N]})}}return g}()},41874:function(A,r,n){"use strict";r.__esModule=!0,r.CrewManifest=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(25328),f=n(76910),b=f.COLORS.department,S=["Captain","Head of Security","Chief Engineer","Chief Medical Officer","Research Director","Head of Personnel","Quartermaster"],I=function(m){return S.indexOf(m)!==-1?"green":"orange"},k=function(m){if(S.indexOf(m)!==-1)return!0},g=function(m){return m.length>0&&(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,color:"white",children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"50%",children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"35%",children:"Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"15%",children:"Active"})]}),m.map(function(l){return(0,e.createComponentVNode)(2,t.Table.Row,{color:I(l.rank),bold:k(l.rank),children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,o.decodeHtmlEntities)(l.name)}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,o.decodeHtmlEntities)(l.rank)}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:l.active})]},l.name+l.rank)})]})},u=r.CrewManifest=function(){function c(m,l){var d=(0,a.useBackend)(l),s=d.act,i;if(m.data)i=m.data;else{var h=(0,a.useBackend)(l),C=h.data;i=C}var v=i,p=v.manifest,N=p.heads,V=p.sec,y=p.eng,B=p.med,L=p.sci,w=p.ser,x=p.sup,T=p.misc;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.command,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Command"})}),level:2,children:g(N)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.security,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Security"})}),level:2,children:g(V)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.engineering,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Engineering"})}),level:2,children:g(y)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.medical,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Medical"})}),level:2,children:g(B)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.science,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Science"})}),level:2,children:g(L)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.service,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Service"})}),level:2,children:g(w)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.supply,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Supply"})}),level:2,children:g(x)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Misc"})}),level:2,children:g(T)})]})}return c}()},19203:function(A,r,n){"use strict";r.__esModule=!0,r.InputButtons=void 0;var e=n(89005),a=n(36036),t=n(72253),o=r.InputButtons=function(){function f(b,S){var I=(0,t.useBackend)(S),k=I.act,g=I.data,u=g.large_buttons,c=g.swapped_buttons,m=b.input,l=b.message,d=b.disabled,s=(0,e.createComponentVNode)(2,a.Button,{color:"good",content:"Submit",bold:!!u,fluid:!!u,onClick:function(){function h(){return k("submit",{entry:m})}return h}(),textAlign:"center",tooltip:u&&l,disabled:d,width:!u&&6}),i=(0,e.createComponentVNode)(2,a.Button,{color:"bad",content:"Cancel",bold:!!u,fluid:!!u,onClick:function(){function h(){return k("cancel")}return h}(),textAlign:"center",width:!u&&6});return(0,e.createComponentVNode)(2,a.Flex,{fill:!0,align:"center",direction:c?"row-reverse":"row",justify:"space-around",children:[u?(0,e.createComponentVNode)(2,a.Flex.Item,{grow:!0,ml:c?.5:0,mr:c?0:.5,children:i}):(0,e.createComponentVNode)(2,a.Flex.Item,{children:i}),!u&&l&&(0,e.createComponentVNode)(2,a.Flex.Item,{children:(0,e.createComponentVNode)(2,a.Box,{color:"label",textAlign:"center",children:l})}),u?(0,e.createComponentVNode)(2,a.Flex.Item,{grow:!0,mr:c?.5:0,ml:c?0:.5,children:s}):(0,e.createComponentVNode)(2,a.Flex.Item,{children:s})]})}return f}()},195:function(A,r,n){"use strict";r.__esModule=!0,r.InterfaceLockNoticeBox=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.InterfaceLockNoticeBox=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,u=b.siliconUser,c=u===void 0?g.siliconUser:u,m=b.locked,l=m===void 0?g.locked:m,d=b.normallyLocked,s=d===void 0?g.normallyLocked:d,i=b.onLockStatusChange,h=i===void 0?function(){return k("lock")}:i,C=b.accessText,v=C===void 0?"an ID card":C;return c?(0,e.createComponentVNode)(2,t.NoticeBox,{color:c&&"grey",children:(0,e.createComponentVNode)(2,t.Flex,{align:"center",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:"Interface lock status:"}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:"1"}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{m:"0",color:s?"red":"green",icon:s?"lock":"unlock",content:s?"Locked":"Unlocked",onClick:function(){function p(){h&&h(!l)}return p}()})})]})}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:["Swipe ",v," to ",l?"unlock":"lock"," this interface."]})}return f}()},51057:function(A,r,n){"use strict";r.__esModule=!0,r.Loader=void 0;var e=n(89005),a=n(44879),t=n(36036),o=r.Loader=function(){function f(b){var S=b.value;return(0,e.createVNode)(1,"div","AlertModal__Loader",(0,e.createComponentVNode)(2,t.Box,{className:"AlertModal__LoaderProgress",style:{width:(0,a.clamp01)(S)*100+"%"}}),2)}return f}()},321:function(A,r,n){"use strict";r.__esModule=!0,r.LoginInfo=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LoginInfo=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,u=g.loginState;if(g)return(0,e.createComponentVNode)(2,t.NoticeBox,{info:!0,children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:.5,children:["Logged in as: ",u.name," (",u.rank,")"]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!u.id,content:"Eject ID",color:"good",onClick:function(){function c(){return k("login_eject")}return c}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-out-alt",content:"Logout",color:"good",onClick:function(){function c(){return k("login_logout")}return c}()})]})]})})}return f}()},5485:function(A,r,n){"use strict";r.__esModule=!0,r.LoginScreen=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LoginScreen=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,u=g.loginState,c=g.isAI,m=g.isRobot,l=g.isAdmin;return(0,e.createComponentVNode)(2,t.Section,{title:"Welcome",fill:!0,stretchContents:!0,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",align:"center",justify:"center",children:(0,e.createComponentVNode)(2,t.Flex.Item,{textAlign:"center",mt:"-2rem",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.5rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-circle",verticalAlign:"middle",size:3,mr:"1rem"}),"Guest"]}),(0,e.createComponentVNode)(2,t.Box,{color:"label",my:"1rem",children:["ID:",(0,e.createComponentVNode)(2,t.Button,{icon:"id-card",content:u.id?u.id:"----------",ml:"0.5rem",onClick:function(){function d(){return k("login_insert")}return d}()})]}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",disabled:!u.id,content:"Login",onClick:function(){function d(){return k("login_login",{login_type:1})}return d}()}),!!c&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Login as AI",onClick:function(){function d(){return k("login_login",{login_type:2})}return d}()}),!!m&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Login as Cyborg",onClick:function(){function d(){return k("login_login",{login_type:3})}return d}()}),!!l&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"CentComm Secure Login",onClick:function(){function d(){return k("login_login",{login_type:4})}return d}()})]})})})}return f}()},62411:function(A,r,n){"use strict";r.__esModule=!0,r.Operating=void 0;var e=n(89005),a=n(36036),t=n(15964),o=r.Operating=function(){function f(b){var S=b.operating,I=b.name;if(S)return(0,e.createComponentVNode)(2,a.Dimmer,{children:(0,e.createComponentVNode)(2,a.Flex,{mb:"30px",children:(0,e.createComponentVNode)(2,a.Flex.Item,{bold:!0,color:"silver",textAlign:"center",children:[(0,e.createComponentVNode)(2,a.Icon,{name:"spinner",spin:!0,size:4,mb:"15px"}),(0,e.createVNode)(1,"br"),"The ",I," is processing..."]})})})}return f}();o.propTypes={operating:t.bool,name:t.string}},13545:function(A,r,n){"use strict";r.__esModule=!0,r.Signaler=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=r.Signaler=function(){function b(S,I){var k=(0,t.useBackend)(I),g=k.act,u=S.data,c=u.code,m=u.frequency,l=u.minFrequency,d=u.maxFrequency;return(0,e.createComponentVNode)(2,o.Section,{children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:.2,stepPixelSize:6,minValue:l/10,maxValue:d/10,value:m/10,format:function(){function s(i){return(0,a.toFixed)(i,1)}return s}(),width:"80px",onDrag:function(){function s(i,h){return g("freq",{freq:h})}return s}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Code",children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:c,width:"80px",onDrag:function(){function s(i,h){return g("code",{code:h})}return s}()})})]}),(0,e.createComponentVNode)(2,o.Button,{mt:1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){function s(){return g("signal")}return s}()})]})}return b}()},41984:function(A,r,n){"use strict";r.__esModule=!0,r.SimpleRecords=void 0;var e=n(89005),a=n(72253),t=n(25328),o=n(64795),f=n(88510),b=n(36036),S=r.SimpleRecords=function(){function g(u,c){var m=u.data.records;return(0,e.createComponentVNode)(2,b.Box,{children:m?(0,e.createComponentVNode)(2,k,{data:u.data,recordType:u.recordType}):(0,e.createComponentVNode)(2,I,{data:u.data})})}return g}(),I=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=u.data.recordsList,s=(0,a.useLocalState)(c,"searchText",""),i=s[0],h=s[1],C=function(N,V){V===void 0&&(V="");var y=(0,t.createSearch)(V,function(B){return B.Name});return(0,o.flow)([(0,f.filter)(function(B){return B==null?void 0:B.Name}),V&&(0,f.filter)(y),(0,f.sortBy)(function(B){return B.Name})])(d)},v=C(d,i);return(0,e.createComponentVNode)(2,b.Box,{children:[(0,e.createComponentVNode)(2,b.Input,{fluid:!0,mb:1,placeholder:"Search records...",onInput:function(){function p(N,V){return h(V)}return p}()}),v.map(function(p){return(0,e.createComponentVNode)(2,b.Box,{children:(0,e.createComponentVNode)(2,b.Button,{mb:.5,content:p.Name,icon:"user",onClick:function(){function N(){return l("Records",{target:p.uid})}return N}()})},p)})]})},k=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=u.data.records,s=d.general,i=d.medical,h=d.security,C;switch(u.recordType){case"MED":C=(0,e.createComponentVNode)(2,b.Section,{level:2,title:"Medical Data",children:i?(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Blood Type",children:i.blood_type}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Minor Disabilities",children:i.mi_dis}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:i.mi_dis_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Major Disabilities",children:i.ma_dis}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:i.ma_dis_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Allergies",children:i.alg}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:i.alg_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Current Diseases",children:i.cdi}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:i.cdi_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Important Notes",preserveWhitespace:!0,children:i.notes})]}):(0,e.createComponentVNode)(2,b.Box,{color:"red",bold:!0,children:"Medical record lost!"})});break;case"SEC":C=(0,e.createComponentVNode)(2,b.Section,{level:2,title:"Security Data",children:h?(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Criminal Status",children:h.criminal}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Minor Crimes",children:h.mi_crim}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:h.mi_crim_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Major Crimes",children:h.ma_crim}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:h.ma_crim_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Important Notes",preserveWhitespace:!0,children:h.notes})]}):(0,e.createComponentVNode)(2,b.Box,{color:"red",bold:!0,children:"Security record lost!"})});break}return(0,e.createComponentVNode)(2,b.Box,{children:[(0,e.createComponentVNode)(2,b.Section,{title:"General Data",children:s?(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Name",children:s.name}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Sex",children:s.sex}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Species",children:s.species}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Age",children:s.age}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Rank",children:s.rank}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Fingerprint",children:s.fingerprint}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Physical Status",children:s.p_stat}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Mental Status",children:s.m_stat})]}):(0,e.createComponentVNode)(2,b.Box,{color:"red",bold:!0,children:"General record lost!"})}),C]})}},22091:function(A,r,n){"use strict";r.__esModule=!0,r.TemporaryNotice=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.TemporaryNotice=function(){function f(b,S){var I,k=(0,a.useBackend)(S),g=k.act,u=k.data,c=u.temp;if(c){var m=(I={},I[c.style]=!0,I);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.NoticeBox,Object.assign({},m,{children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:.5,children:c.text}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"times-circle",onClick:function(){function l(){return g("cleartemp")}return l}()})})]})})))}}return f}()},95213:function(A,r,n){"use strict";r.__esModule=!0,r.goonstation_PTL=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(49968),f=n(98595);/** + */function m(w,x){w.prototype=Object.create(x.prototype),w.prototype.constructor=w,l(w,x)}function l(w,x){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(T,M){return T.__proto__=M,T},l(w,x)}function u(w,x){if(w==null)return{};var T={};for(var M in w)if({}.hasOwnProperty.call(w,M)){if(x.includes(M))continue;T[M]=w[M]}return T}var s=r.ColorPickerModal=function(){function w(x,T){var M=(0,t.useBackend)(T),O=M.data,D=O.timeout,E=O.message,P=O.title,R=O.autofocus,j=O.default_color,F=j===void 0?"#000000":j,W=(0,t.useLocalState)(T,"color_picker_choice",(0,S.hexToHsva)(F)),z=W[0],K=W[1];return(0,e.createComponentVNode)(2,f.Window,{height:400,title:P,width:600,theme:"generic",children:[!!D&&(0,e.createComponentVNode)(2,a.Loader,{value:D}),(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[E&&(0,e.createComponentVNode)(2,o.Stack.Item,{m:1,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:(0,e.createComponentVNode)(2,o.Box,{color:"label",overflow:"hidden",children:E})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:[!!R&&(0,e.createComponentVNode)(2,o.Autofocus),(0,e.createComponentVNode)(2,i,{color:z,setColor:K,defaultColor:F})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,d.InputButtons,{input:(0,S.hsvaToHex)(z)})})]})})]})}return w}(),i=r.ColorSelector=function(){function w(x,T){var M=x.color,O=x.setColor,D=x.defaultColor,E=function(){function j(F){O(function(W){return Object.assign({},W,F)})}return j}(),P=(0,S.hsvaToRgba)(M),R=(0,S.hsvaToHex)(M);return(0,e.createComponentVNode)(2,o.Flex,{direction:"row",children:[(0,e.createComponentVNode)(2,o.Flex.Item,{mr:2,children:(0,e.createComponentVNode)(2,o.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createVNode)(1,"div","react-colorful",[(0,e.createComponentVNode)(2,N,{hsva:M,onChange:E}),(0,e.createComponentVNode)(2,V,{hue:M.h,onChange:E,className:"react-colorful__last-control"})],4)}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Box,{inline:!0,width:"100px",height:"20px",textAlign:"center",children:"Current"}),(0,e.createComponentVNode)(2,o.Box,{inline:!0,width:"100px",height:"20px",textAlign:"center",children:"Previous"}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Tooltip,{content:R,position:"bottom",children:(0,e.createComponentVNode)(2,o.Box,{inline:!0,width:"100px",height:"30px",backgroundColor:R})}),(0,e.createComponentVNode)(2,o.Tooltip,{content:D,position:"bottom",children:(0,e.createComponentVNode)(2,o.Box,{inline:!0,width:"100px",height:"30px",backgroundColor:D})})]})]})}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:!0,fontSize:"15px",lineHeight:"24px",children:(0,e.createComponentVNode)(2,o.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"Hex:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,height:"24px",children:(0,e.createComponentVNode)(2,v,{fluid:!0,color:(0,S.hsvaToHex)(M).substring(1),onChange:function(){function j(F){g.logger.info(F),O((0,S.hexToHsva)(F))}return j}(),prefixed:!0})})]})}),(0,e.createComponentVNode)(2,o.Stack.Divider),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"H:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,V,{hue:M.h,onChange:E})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:M.h,callback:function(){function j(F,W){return E({h:W})}return j}(),max:360,unit:"\xB0"})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"S:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,y,{color:M,onChange:E})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:M.s,callback:function(){function j(F,W){return E({s:W})}return j}(),unit:"%"})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"V:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,B,{color:M,onChange:E})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:M.v,callback:function(){function j(F,W){return E({v:W})}return j}(),unit:"%"})})]})}),(0,e.createComponentVNode)(2,o.Stack.Divider),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"R:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,L,{color:M,onChange:E,target:"r"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:P.r,callback:function(){function j(F,W){P.r=W,E((0,S.rgbaToHsva)(P))}return j}(),max:255})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"G:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,L,{color:M,onChange:E,target:"g"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:P.g,callback:function(){function j(F,W){P.g=W,E((0,S.rgbaToHsva)(P))}return j}(),max:255})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{width:"25px",children:(0,e.createComponentVNode)(2,o.Box,{textColor:"label",children:"B:"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,L,{color:M,onChange:E,target:"b"})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,h,{value:P.b,callback:function(){function j(F,W){P.b=W,E((0,S.rgbaToHsva)(P))}return j}(),max:255})})]})})]})})]})}return w}(),h=function(x){var T=x.value,M=x.callback,O=x.min,D=O===void 0?0:O,E=x.max,P=E===void 0?100:E,R=x.unit;return(0,e.createComponentVNode)(2,o.NumberInput,{width:"70px",value:Math.round(T),step:1,minValue:D,maxValue:P,onChange:M,unit:R})},C=function(x){return"#"+x},v=r.HexColorInput=function(){function w(x){var T=x.prefixed,M=x.alpha,O=x.color,D=x.fluid,E=x.onChange,P=u(x,c),R=function(){function F(W){return W.replace(/([^0-9A-F]+)/gi,"").substring(0,M?8:6)}return F}(),j=function(){function F(W){return(0,S.validHex)(W,M)}return F}();return(0,e.normalizeProps)((0,e.createComponentVNode)(2,p,Object.assign({},P,{fluid:D,color:O,onChange:E,escape:R,format:T?C:void 0,validate:j})))}return w}(),p=r.ColorInput=function(w){function x(M){var O;return O=w.call(this)||this,O.props=void 0,O.state=void 0,O.handleInput=function(D){var E=O.props.escape(D.currentTarget.value);O.setState({localValue:E})},O.handleBlur=function(D){D.currentTarget&&(O.props.validate(D.currentTarget.value)?O.props.onChange(O.props.escape?O.props.escape(D.currentTarget.value):D.currentTarget.value):O.setState({localValue:O.props.escape(O.props.color)}))},O.props=M,O.state={localValue:O.props.escape(O.props.color)},O}m(x,w);var T=x.prototype;return T.componentDidUpdate=function(){function M(O,D){O.color!==this.props.color&&this.setState({localValue:this.props.escape(this.props.color)})}return M}(),T.render=function(){function M(){return(0,e.createComponentVNode)(2,o.Box,{className:(0,k.classes)(["Input",this.props.fluid&&"Input--fluid"]),children:[(0,e.createVNode)(1,"div","Input__baseline",".",16),(0,e.createVNode)(64,"input","Input__input",null,1,{value:this.props.format?this.props.format(this.state.localValue):this.state.localValue,spellCheck:"false",onInput:this.handleInput,onBlur:this.handleBlur})]})}return M}(),x}(e.Component),N=function(x){var T=x.hsva,M=x.onChange,O=function(R){M({s:R.left*100,v:100-R.top*100})},D=function(R){M({s:(0,b.clamp)(T.s+R.left*100,0,100),v:(0,b.clamp)(T.v-R.top*100,0,100)})},E={"background-color":(0,S.hsvaToHslString)({h:T.h,s:100,v:100,a:1})+" !important"};return(0,e.createVNode)(1,"div","react-colorful__saturation_value",(0,e.createComponentVNode)(2,I.Interactive,{onMove:O,onKey:D,"aria-label":"Color","aria-valuetext":"Saturation "+Math.round(T.s)+"%, Brightness "+Math.round(T.v)+"%",children:(0,e.createComponentVNode)(2,o.Pointer,{className:"react-colorful__saturation_value-pointer",top:1-T.v/100,left:T.s/100,color:(0,S.hsvaToHslString)(T)})}),2,{style:E})},V=function(x){var T=x.className,M=x.hue,O=x.onChange,D=function(j){O({h:360*j.left})},E=function(j){O({h:(0,b.clamp)(M+j.left*360,0,360)})},P=(0,k.classes)(["react-colorful__hue",T]);return(0,e.createVNode)(1,"div",P,(0,e.createComponentVNode)(2,I.Interactive,{onMove:D,onKey:E,"aria-label":"Hue","aria-valuenow":Math.round(M),"aria-valuemax":"360","aria-valuemin":"0",children:(0,e.createComponentVNode)(2,o.Pointer,{className:"react-colorful__hue-pointer",left:M/360,color:(0,S.hsvaToHslString)({h:M,s:100,v:100,a:1})})}),2)},y=function(x){var T=x.className,M=x.color,O=x.onChange,D=function(j){O({s:100*j.left})},E=function(j){O({s:(0,b.clamp)(M.s+j.left*100,0,100)})},P=(0,k.classes)(["react-colorful__saturation",T]);return(0,e.createVNode)(1,"div",P,(0,e.createComponentVNode)(2,I.Interactive,{style:{background:"linear-gradient(to right, "+(0,S.hsvaToHslString)({h:M.h,s:0,v:M.v,a:1})+", "+(0,S.hsvaToHslString)({h:M.h,s:100,v:M.v,a:1})+")"},onMove:D,onKey:E,"aria-label":"Saturation","aria-valuenow":Math.round(M.s),"aria-valuemax":"100","aria-valuemin":"0",children:(0,e.createComponentVNode)(2,o.Pointer,{className:"react-colorful__saturation-pointer",left:M.s/100,color:(0,S.hsvaToHslString)({h:M.h,s:M.s,v:M.v,a:1})})}),2)},B=function(x){var T=x.className,M=x.color,O=x.onChange,D=function(j){O({v:100*j.left})},E=function(j){O({v:(0,b.clamp)(M.v+j.left*100,0,100)})},P=(0,k.classes)(["react-colorful__value",T]);return(0,e.createVNode)(1,"div",P,(0,e.createComponentVNode)(2,I.Interactive,{style:{background:"linear-gradient(to right, "+(0,S.hsvaToHslString)({h:M.h,s:M.s,v:0,a:1})+", "+(0,S.hsvaToHslString)({h:M.h,s:M.s,v:100,a:1})+")"},onMove:D,onKey:E,"aria-label":"Value","aria-valuenow":Math.round(M.s),"aria-valuemax":"100","aria-valuemin":"0",children:(0,e.createComponentVNode)(2,o.Pointer,{className:"react-colorful__value-pointer",left:M.v/100,color:(0,S.hsvaToHslString)({h:M.h,s:M.s,v:M.v,a:1})})}),2)},L=function(x){var T=x.className,M=x.color,O=x.onChange,D=x.target,E=(0,S.hsvaToRgba)(M),P=function(K){E[D]=K,O((0,S.rgbaToHsva)(E))},R=function(K){P(255*K.left)},j=function(K){P((0,b.clamp)(E[D]+K.left*255,0,255))},F=(0,k.classes)(["react-colorful__"+D,T]),W=D==="r"?"rgb("+Math.round(E.r)+",0,0)":D==="g"?"rgb(0,"+Math.round(E.g)+",0)":"rgb(0,0,"+Math.round(E.b)+")";return(0,e.createVNode)(1,"div",F,(0,e.createComponentVNode)(2,I.Interactive,{onMove:R,onKey:j,"aria-valuenow":E[D],"aria-valuemax":"100","aria-valuemin":"0",children:(0,e.createComponentVNode)(2,o.Pointer,{className:"react-colorful__"+D+"-pointer",left:E[D]/255,color:W})}),2)}},8444:function(A,r,n){"use strict";r.__esModule=!0,r.ColourMatrixTester=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ColourMatrixTester=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.colour_data,m=[[{name:"RR",idx:0},{name:"RG",idx:1},{name:"RB",idx:2},{name:"RA",idx:3}],[{name:"GR",idx:4},{name:"GG",idx:5},{name:"GB",idx:6},{name:"GA",idx:7}],[{name:"BR",idx:8},{name:"BG",idx:9},{name:"BB",idx:10},{name:"BA",idx:11}],[{name:"AR",idx:12},{name:"AG",idx:13},{name:"AB",idx:14},{name:"AA",idx:15}]];return(0,e.createComponentVNode)(2,o.Window,{width:360,height:190,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Modify Matrix",children:m.map(function(l){return(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",textColor:"label",children:l.map(function(u){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:1,children:[u.name,":\xA0",(0,e.createComponentVNode)(2,t.NumberInput,{width:4,value:c[u.idx],step:.05,minValue:-5,maxValue:5,stepPixelSize:5,onChange:function(){function s(i,h){return g("setvalue",{idx:u.idx+1,value:h})}return s}()})]},u.name)})},l)})})})})})}return b}()},63818:function(A,r,n){"use strict";r.__esModule=!0,r.CommunicationsComputer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(s){switch(s){case 1:return(0,e.createComponentVNode)(2,I);case 2:return(0,e.createComponentVNode)(2,d);case 3:return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,c)})});case 4:return(0,e.createComponentVNode)(2,l);default:return"ERROR. Unknown menu_state. Please contact NT Technical Support."}},b=r.CommunicationsComputer=function(){function u(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.menu_state;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S),f(p)]})})})}return u}(),S=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.authenticated,N=v.noauthbutton,V=v.esc_section,y=v.esc_callable,B=v.esc_recallable,L=v.esc_status,w=v.authhead,x=v.is_ai,T=v.lastCallLoc,M=!1,O;return p?p===1?O="Command":p===2?O="Captain":p===3?O="CentComm Officer":p===4?(O="CentComm Secure Connection",M=!0):O="ERROR: Report This Bug!":O="Not Logged In",(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Authentication",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:M&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Access",children:O})||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{icon:p?"sign-out-alt":"id-card",selected:p,disabled:N,content:p?"Log Out ("+O+")":"Log In",onClick:function(){function D(){return C("auth")}return D}()})})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:!!V&&(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Escape Shuttle",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[!!L&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:L}),!!y&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Options",children:(0,e.createComponentVNode)(2,t.Button,{icon:"rocket",content:"Call Shuttle",disabled:!w,onClick:function(){function D(){return C("callshuttle")}return D}()})}),!!B&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Options",children:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Recall Shuttle",disabled:!w||x,onClick:function(){function D(){return C("cancelshuttle")}return D}()})}),!!T&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Last Call/Recall From",children:T})]})})})],4)},I=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.is_admin;return p?(0,e.createComponentVNode)(2,k):(0,e.createComponentVNode)(2,g)},k=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.is_admin,N=v.gamma_armory_location,V=v.admin_levels,y=v.authenticated,B=v.ert_allowed;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"CentComm Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Change Alert",children:(0,e.createComponentVNode)(2,m,{levels:V,required_access:p,use_confirm:1})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Announcement",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"bullhorn",content:"Make Central Announcement",disabled:!p,onClick:function(){function L(){return C("send_to_cc_announcement_page")}return L}()}),y===4&&(0,e.createComponentVNode)(2,t.Button,{icon:"plus",content:"Make Other Announcement",disabled:!p,onClick:function(){function L(){return C("make_other_announcement")}return L}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Response Team",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"ambulance",content:"Dispatch ERT",disabled:!p,onClick:function(){function L(){return C("dispatch_ert")}return L}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:B,content:B?"ERT calling enabled":"ERT calling disabled",tooltip:B?"Command can request an ERT":"ERTs cannot be requested",disabled:!p,onClick:function(){function L(){return C("toggle_ert_allowed")}return L}(),selected:null})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nuclear Device",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"bomb",content:"Get Authentication Codes",disabled:!p,onClick:function(){function L(){return C("send_nuke_codes")}return L}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Gamma Armory",children:(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"biohazard",content:N?"Send Gamma Armory":"Recall Gamma Armory",disabled:!p,onClick:function(){function L(){return C("move_gamma_armory")}return L}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Other",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"coins",content:"View Economy",disabled:!p,onClick:function(){function L(){return C("view_econ")}return L}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fax",content:"Fax Manager",disabled:!p,onClick:function(){function L(){return C("view_fax")}return L}()})]})]})}),(0,e.createComponentVNode)(2,t.Collapsible,{title:"View Command accessible controls",children:(0,e.createComponentVNode)(2,g)})]})},g=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.msg_cooldown,N=v.emagged,V=v.cc_cooldown,y=v.security_level_color,B=v.str_security_level,L=v.levels,w=v.authcapt,x=v.authhead,T=v.messages,M="Make Priority Announcement";p>0&&(M+=" ("+p+"s)");var O=N?"Message [UNKNOWN]":"Message CentComm",D="Request Authentication Codes";return V>0&&(O+=" ("+V+"s)",D+=" ("+V+"s)"),(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Captain-Only Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Alert",color:y,children:B}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Change Alert",children:(0,e.createComponentVNode)(2,m,{levels:L,required_access:w})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Announcement",children:(0,e.createComponentVNode)(2,t.Button,{icon:"bullhorn",content:M,disabled:!w||p>0,onClick:function(){function E(){return C("announce")}return E}()})}),!!N&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transmit",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",color:"red",content:O,disabled:!w||V>0,onClick:function(){function E(){return C("MessageSyndicate")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync-alt",content:"Reset Relays",disabled:!w,onClick:function(){function E(){return C("RestoreBackup")}return E}()})]})||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transmit",children:(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",content:O,disabled:!w||V>0,onClick:function(){function E(){return C("MessageCentcomm")}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Nuclear Device",children:(0,e.createComponentVNode)(2,t.Button,{icon:"bomb",content:D,disabled:!w||V>0,onClick:function(){function E(){return C("nukerequest")}return E}()})})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Command Staff Actions",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Displays",children:(0,e.createComponentVNode)(2,t.Button,{icon:"tv",content:"Change Status Displays",disabled:!x,onClick:function(){function E(){return C("status")}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Incoming Messages",children:(0,e.createComponentVNode)(2,t.Button,{icon:"folder-open",content:"View ("+T.length+")",disabled:!x,onClick:function(){function E(){return C("messagelist")}return E}()})})]})})})],4)},d=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.stat_display,N=v.authhead,V=v.current_message_title,y=p.presets.map(function(L){return(0,e.createComponentVNode)(2,t.Button,{content:L.label,selected:L.name===p.type,disabled:!N,onClick:function(){function w(){return C("setstat",{statdisp:L.name})}return w}()},L.name)}),B=p.alerts.map(function(L){return(0,e.createComponentVNode)(2,t.Button,{content:L.label,selected:L.alert===p.icon,disabled:!N,onClick:function(){function w(){return C("setstat",{statdisp:3,alert:L.alert})}return w}()},L.alert)});return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Modify Status Screens",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){function L(){return C("main")}return L}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Presets",children:y}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alerts",children:B}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message Line 1",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:p.line_1,disabled:!N,onClick:function(){function L(){return C("setmsg1")}return L}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message Line 2",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:p.line_2,disabled:!N,onClick:function(){function L(){return C("setmsg2")}return L}()})})]})})})},c=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.authhead,N=v.current_message_title,V=v.current_message,y=v.messages,B=v.security_level,L;if(N)L=(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:N,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Return To Message List",disabled:!p,onClick:function(){function x(){return C("messagelist")}return x}()}),children:(0,e.createComponentVNode)(2,t.Box,{children:V})})});else{var w=y.map(function(x){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:x.title,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"eye",content:"View",disabled:!p||N===x.title,onClick:function(){function T(){return C("messagelist",{msgid:x.id})}return T}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"times",content:"Delete",disabled:!p,onClick:function(){function T(){return C("delmessage",{msgid:x.id})}return T}()})]},x.id)});L=(0,e.createComponentVNode)(2,t.Section,{title:"Messages Received",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){function x(){return C("main")}return x}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:w})})}return(0,e.createComponentVNode)(2,t.Box,{children:L})},m=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=s.levels,N=s.required_access,V=s.use_confirm,y=v.security_level;return V?p.map(function(B){return(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:B.icon,content:B.name,disabled:!N||B.id===y,tooltip:B.tooltip,onClick:function(){function L(){return C("newalertlevel",{level:B.id})}return L}()},B.name)}):p.map(function(B){return(0,e.createComponentVNode)(2,t.Button,{icon:B.icon,content:B.name,disabled:!N||B.id===y,tooltip:B.tooltip,onClick:function(){function L(){return C("newalertlevel",{level:B.id})}return L}()},B.name)})},l=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.is_admin,N=v.possible_cc_sounds;if(!p)return C("main");var V=(0,a.useLocalState)(i,"subtitle",""),y=V[0],B=V[1],L=(0,a.useLocalState)(i,"text",""),w=L[0],x=L[1],T=(0,a.useLocalState)(i,"classified",0),M=T[0],O=T[1],D=(0,a.useLocalState)(i,"beepsound","Beep"),E=D[0],P=D[1];return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Central Command Report",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back To Main Menu",onClick:function(){function R(){return C("main")}return R}()}),children:[(0,e.createComponentVNode)(2,t.Input,{placeholder:"Enter Subtitle here.",fluid:!0,value:y,onChange:function(){function R(j,F){return B(F)}return R}(),mb:"5px"}),(0,e.createComponentVNode)(2,t.Input,{placeholder:"Enter Announcement here,\nMultiline input is accepted.",rows:10,fluid:!0,multiline:1,value:w,onChange:function(){function R(j,F){return x(F)}return R}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{content:"Send Announcement",fluid:!0,icon:"paper-plane",center:!0,mt:"5px",textAlign:"center",onClick:function(){function R(){return C("make_cc_announcement",{subtitle:y,text:w,classified:M,beepsound:E})}return R}()}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Dropdown,{width:"260px",height:"20px",options:N,selected:E,onSelected:function(){function R(j){return P(j)}return R}(),disabled:M})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"volume-up",mx:"5px",disabled:M,tooltip:"Test sound",onClick:function(){function R(){return C("test_sound",{sound:E})}return R}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:M,content:"Classified",fluid:!0,tooltip:M?"Sent to station communications consoles":"Publically announced",onClick:function(){function R(){return O(!M)}return R}()})})]})]})})}},20562:function(A,r,n){"use strict";r.__esModule=!0,r.CompostBin=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.CompostBin=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.biomass,m=d.compost,l=d.biomass_capacity,u=d.compost_capacity,s=d.potassium,i=d.potassium_capacity,h=d.potash,C=d.potash_capacity,v=(0,a.useSharedState)(I,"vendAmount",1),p=v[0],N=v[1];return(0,e.createComponentVNode)(2,o.Window,{width:360,height:250,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{label:"Resources",children:(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Biomass",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ml:.5,mt:1,width:20,value:c,minValue:0,maxValue:l,ranges:{good:[l*.5,1/0],average:[l*.25,l*.5],bad:[-1/0,l*.25]},children:[c," / ",l," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Compost",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ml:.5,mt:1,width:20,value:m,minValue:0,maxValue:u,ranges:{good:[u*.5,1/0],average:[u*.25,u*.5],bad:[-1/0,u*.25]},children:[m," / ",u," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Potassium",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ml:.5,mt:1,width:20,value:s,minValue:0,maxValue:i,ranges:{good:[i*.5,1/0],average:[i*.25,i*.5],bad:[-1/0,i*.25]},children:[s," / ",i," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Potash",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ml:.5,mt:1,width:20,value:h,minValue:0,maxValue:C,ranges:{good:[C*.5,1/0],average:[C*.25,C*.5],bad:[-1/0,C*.25]},children:[h," / ",C," Units"]})})]})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Controls",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{inline:!0,mr:"5px",color:"silver",children:"Soil clumps to make:"}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,value:p,width:"32px",minValue:1,maxValue:10,stepPixelSize:7,onChange:function(){function V(y,B){return N(B)}return V}()})],4),children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,align:"center",content:"Make Soil",disabled:m<25*p,icon:"arrow-circle-down",onClick:function(){function V(){return g("create",{amount:p})}return V}()})})})]})})})}return b}()},21813:function(A,r,n){"use strict";r.__esModule=!0,r.Contractor=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(73379),b=n(98595);function S(C,v){C.prototype=Object.create(v.prototype),C.prototype.constructor=C,I(C,v)}function I(C,v){return I=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(p,N){return p.__proto__=N,p},I(C,v)}var k={1:["ACTIVE","good"],2:["COMPLETED","good"],3:["FAILED","bad"]},g=["Recording biometric data...","Analyzing embedded syndicate info...","STATUS CONFIRMED","Contacting Syndicate database...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Response received, ack 4851234...","CONFIRM ACC "+Math.round(Math.random()*2e4),"Setting up private accounts...","CONTRACTOR ACCOUNT CREATED","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","CONTRACTS FOUND","WELCOME, AGENT"],d=r.Contractor=function(){function C(v,p){var N=(0,t.useBackend)(p),V=N.act,y=N.data,B;y.unauthorized?B=(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",backgroundColor:"rgba(0, 0, 0, 0.8)",children:(0,e.createComponentVNode)(2,i,{height:"100%",allMessages:["ERROR: UNAUTHORIZED USER"],finishedTimeout:100,onFinished:function(){function T(){}return T}()})}):y.load_animation_completed?B=(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",children:(0,e.createComponentVNode)(2,c)}),(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",mt:"0.5rem",children:(0,e.createComponentVNode)(2,m)}),(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",overflow:"hidden",children:y.page===1?(0,e.createComponentVNode)(2,l,{height:"100%"}):(0,e.createComponentVNode)(2,s,{height:"100%"})})],4):B=(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",backgroundColor:"rgba(0, 0, 0, 0.8)",children:(0,e.createComponentVNode)(2,i,{height:"100%",allMessages:g,finishedTimeout:3e3,onFinished:function(){function T(){return V("complete_load_animation")}return T}()})});var L=(0,t.useLocalState)(p,"viewingPhoto",""),w=L[0],x=L[1];return(0,e.createComponentVNode)(2,b.Window,{theme:"syndicate",width:500,height:600,children:[w&&(0,e.createComponentVNode)(2,h),(0,e.createComponentVNode)(2,b.Window.Content,{className:"Contractor",children:(0,e.createComponentVNode)(2,o.Flex,{direction:"column",height:"100%",children:B})})]})}return C}(),c=function(v,p){var N=(0,t.useBackend)(p),V=N.act,y=N.data,B=y.tc_available,L=y.tc_paid_out,w=y.completed_contracts,x=y.rep;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Summary",buttons:(0,e.createComponentVNode)(2,o.Box,{verticalAlign:"middle",mt:"0.25rem",children:[x," Rep"]})},v,{children:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Box,{flexBasis:"50%",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"TC Available",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,o.Flex,{align:"center",children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",children:[B," TC"]}),(0,e.createComponentVNode)(2,o.Button,{disabled:B<=0,content:"Claim",mx:"0.75rem",mb:"0",flexBasis:"content",onClick:function(){function T(){return V("claim")}return T}()})]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"TC Earned",children:[L," TC"]})]})}),(0,e.createComponentVNode)(2,o.Box,{flexBasis:"50%",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Contracts Completed",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,o.Box,{height:"20px",lineHeight:"20px",inline:!0,children:w})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Contractor Status",verticalAlign:"middle",children:"ACTIVE"})]})})]})})))},m=function(v,p){var N=(0,t.useBackend)(p),V=N.act,y=N.data,B=y.page;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Tabs,Object.assign({},v,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:B===1,onClick:function(){function L(){return V("page",{page:1})}return L}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"suitcase"}),"Contracts"]}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:B===2,onClick:function(){function L(){return V("page",{page:2})}return L}(),children:[(0,e.createComponentVNode)(2,o.Icon,{name:"shopping-cart"}),"Hub"]})]})))},l=function(v,p){var N=(0,t.useBackend)(p),V=N.act,y=N.data,B=y.contracts,L=y.contract_active,w=y.can_extract,x=!!L&&B.filter(function(E){return E.status===1})[0],T=x&&x.time_left>0,M=(0,t.useLocalState)(p,"viewingPhoto",""),O=M[0],D=M[1];return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Available Contracts",overflow:"auto",buttons:(0,e.createComponentVNode)(2,o.Button,{disabled:!w||T,icon:"parachute-box",content:["Call Extraction",T&&(0,e.createComponentVNode)(2,f.Countdown,{timeLeft:x.time_left,format:function(){function E(P,R){return" ("+R.substr(3)+")"}return E}()})],onClick:function(){function E(){return V("extract")}return E}()})},v,{children:B.slice().sort(function(E,P){return E.status===1?-1:P.status===1?1:E.status-P.status}).map(function(E){var P;return(0,e.createComponentVNode)(2,o.Section,{title:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"1",color:E.status===1&&"good",children:E.target_name}),(0,e.createComponentVNode)(2,o.Flex.Item,{basis:"content",children:E.has_photo&&(0,e.createComponentVNode)(2,o.Button,{icon:"camera",mb:"-0.5rem",ml:"0.5rem",onClick:function(){function R(){return D("target_photo_"+E.uid+".png")}return R}()})})]}),className:"Contractor__Contract",buttons:(0,e.createComponentVNode)(2,o.Box,{width:"100%",children:[!!k[E.status]&&(0,e.createComponentVNode)(2,o.Box,{color:k[E.status][1],inline:!0,mt:E.status!==1&&"0.125rem",mr:"0.25rem",lineHeight:"20px",children:k[E.status][0]}),E.status===1&&(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"ban",color:"bad",content:"Abort",ml:"0.5rem",onClick:function(){function R(){return V("abort")}return R}()})]}),children:(0,e.createComponentVNode)(2,o.Flex,{children:[(0,e.createComponentVNode)(2,o.Flex.Item,{grow:"2",mr:"0.5rem",children:[E.fluff_message,!!E.completed_time&&(0,e.createComponentVNode)(2,o.Box,{color:"good",children:[(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Icon,{name:"check",mr:"0.5rem"}),"Contract completed at ",E.completed_time]}),!!E.dead_extraction&&(0,e.createComponentVNode)(2,o.Box,{color:"bad",mt:"0.5rem",bold:!0,children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle",mr:"0.5rem"}),"Telecrystals reward reduced drastically as the target was dead during extraction."]}),!!E.fail_reason&&(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:[(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Icon,{name:"times",mr:"0.5rem"}),"Contract failed: ",E.fail_reason]})]}),(0,e.createComponentVNode)(2,o.Flex.Item,{flexBasis:"100%",children:[(0,e.createComponentVNode)(2,o.Flex,{mb:"0.5rem",color:"label",children:["Extraction Zone:\xA0",u(E)]}),(P=E.difficulties)==null?void 0:P.map(function(R,j){return(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:!!L,content:R.name+" ("+R.reward+" TC)",onClick:function(){function F(){return V("activate",{uid:E.uid,difficulty:j+1})}return F}()},j)}),!!E.objective&&(0,e.createComponentVNode)(2,o.Box,{color:"white",bold:!0,children:[E.objective.extraction_name,(0,e.createVNode)(1,"br"),"(",(E.objective.rewards.tc||0)+" TC",",\xA0",(E.objective.rewards.credits||0)+" Credits",")"]})]})]})},E.uid)})})))},u=function(v){if(!(!v.objective||v.status>1)){var p=v.objective.locs.user_area_id,N=v.objective.locs.user_coords,V=v.objective.locs.target_area_id,y=v.objective.locs.target_coords,B=p===V;return(0,e.createComponentVNode)(2,o.Flex.Item,{children:(0,e.createComponentVNode)(2,o.Icon,{name:B?"dot-circle-o":"arrow-alt-circle-right-o",color:B?"green":"yellow",rotation:B?null:-(0,a.rad2deg)(Math.atan2(y[1]-N[1],y[0]-N[0])),lineHeight:B?null:"0.85",size:"1.5"})})}},s=function(v,p){var N=(0,t.useBackend)(p),V=N.act,y=N.data,B=y.rep,L=y.buyables;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({title:"Available Purchases",overflow:"auto"},v,{children:L.map(function(w){return(0,e.createComponentVNode)(2,o.Section,{title:w.name,children:[w.description,(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:B-1&&(0,e.createComponentVNode)(2,o.Box,{as:"span",color:w.stock===0?"bad":"good",ml:"0.5rem",children:[w.stock," in stock"]})]},w.uid)})})))},i=function(C){function v(N){var V;return V=C.call(this,N)||this,V.timer=null,V.state={currentIndex:0,currentDisplay:[]},V}S(v,C);var p=v.prototype;return p.tick=function(){function N(){var V=this.props,y=this.state;if(y.currentIndex<=V.allMessages.length){this.setState(function(L){return{currentIndex:L.currentIndex+1}});var B=y.currentDisplay;B.push(V.allMessages[y.currentIndex])}else clearTimeout(this.timer),setTimeout(V.onFinished,V.finishedTimeout)}return N}(),p.componentDidMount=function(){function N(){var V=this,y=this.props.linesPerSecond,B=y===void 0?2.5:y;this.timer=setInterval(function(){return V.tick()},1e3/B)}return N}(),p.componentWillUnmount=function(){function N(){clearTimeout(this.timer)}return N}(),p.render=function(){function N(){return(0,e.createComponentVNode)(2,o.Box,{m:1,children:this.state.currentDisplay.map(function(V){return(0,e.createFragment)([V,(0,e.createVNode)(1,"br")],0,V)})})}return N}(),v}(e.Component),h=function(v,p){var N=(0,t.useLocalState)(p,"viewingPhoto",""),V=N[0],y=N[1];return(0,e.createComponentVNode)(2,o.Modal,{className:"Contractor__photoZoom",children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",src:V}),(0,e.createComponentVNode)(2,o.Button,{icon:"times",content:"Close",color:"grey",mt:"1rem",onClick:function(){function B(){return y("")}return B}()})]})}},54151:function(A,r,n){"use strict";r.__esModule=!0,r.ConveyorSwitch=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ConveyorSwitch=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.slowFactor,m=d.oneWay,l=d.position;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:135,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lever position",children:l>0?"forward":l<0?"reverse":"neutral"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Allow reverse",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!m,onClick:function(){function u(){return g("toggleOneWay")}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Slowdown factor",children:(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-left",onClick:function(){function u(){return g("slowFactor",{value:c-5})}return u}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-left",onClick:function(){function u(){return g("slowFactor",{value:c-1})}return u}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Slider,{width:"100px",mx:"1px",value:c,fillValue:c,minValue:1,maxValue:50,step:1,format:function(){function u(s){return s+"x"}return u}(),onChange:function(){function u(s,i){return g("slowFactor",{value:i})}return u}()})}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-right",onClick:function(){function u(){return g("slowFactor",{value:c+1})}return u}()})," "]}),(0,e.createComponentVNode)(2,t.Flex.Item,{mx:"1px",children:[" ",(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-right",onClick:function(){function u(){return g("slowFactor",{value:c+5})}return u}()})," "]})]})})]})})})})}return b}()},73169:function(A,r,n){"use strict";r.__esModule=!0,r.CrewMonitor=void 0;var e=n(89005),a=n(88510),t=n(25328),o=n(72253),f=n(36036),b=n(36352),S=n(76910),I=n(98595),k=n(96184),g=["color"];function d(h,C){if(h==null)return{};var v={};for(var p in h)if({}.hasOwnProperty.call(h,p)){if(C.includes(p))continue;v[p]=h[p]}return v}var c=function(C,v){return C.dead?"Deceased":parseInt(C.health,10)<=v?"Critical":parseInt(C.stat,10)===1?"Unconscious":"Living"},m=function(C,v){return C.dead?"red":parseInt(C.health,10)<=v?"orange":parseInt(C.stat,10)===1?"blue":"green"},l=r.CrewMonitor=function(){function h(C,v){var p=(0,o.useBackend)(v),N=p.act,V=p.data,y=(0,o.useLocalState)(v,"tabIndex",V.tabIndex),B=y[0],L=y[1],w=function(){function T(M){L(M),N("set_tab_index",{tab_index:M})}return T}(),x=function(){function T(M){switch(M){case 0:return(0,e.createComponentVNode)(2,u);case 1:return(0,e.createComponentVNode)(2,i);default:return"WE SHOULDN'T BE HERE!"}}return T}();return(0,e.createComponentVNode)(2,I.Window,{width:800,height:600,children:(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Tabs,{children:[(0,e.createComponentVNode)(2,f.Tabs.Tab,{icon:"table",selected:B===0,onClick:function(){function T(){return w(0)}return T}(),children:"Data View"},"DataView"),(0,e.createComponentVNode)(2,f.Tabs.Tab,{icon:"map-marked-alt",selected:B===1,onClick:function(){function T(){return w(1)}return T}(),children:"Map View"},"MapView")]})}),x(B)]})})})}return h}(),u=function(C,v){var p=(0,o.useBackend)(v),N=p.act,V=p.data,y=V.possible_levels,B=V.viewing_current_z_level,L=V.is_advanced,w=V.highlightedNames,x=(0,a.sortBy)(function(E){return!w.includes(E.name)},function(E){return E.name})(V.crewmembers||[]),T=(0,o.useLocalState)(v,"search",""),M=T[0],O=T[1],D=(0,t.createSearch)(M,function(E){return E.name+"|"+E.assignment+"|"+E.area});return(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,backgroundColor:"transparent",children:[(0,e.createComponentVNode)(2,f.Stack,{children:[(0,e.createComponentVNode)(2,f.Stack.Item,{width:"100%",ml:"5px",children:(0,e.createComponentVNode)(2,f.Input,{placeholder:"Search by name, assignment or location..",width:"100%",onInput:function(){function E(P,R){return O(R)}return E}()})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:L?(0,e.createComponentVNode)(2,f.Dropdown,{mr:"5px",width:"50px",options:y,selected:B,onSelected:function(){function E(P){return N("switch_level",{new_level:P})}return E}()}):null})]}),(0,e.createComponentVNode)(2,f.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,f.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:(0,e.createComponentVNode)(2,f.Button,{tooltip:"Clear highlights",icon:"square-xmark",onClick:function(){function E(){return N("clear_highlighted_names")}return E}()})}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Location"})]}),x.filter(D).map(function(E,P){var R=w.includes(E.name);return(0,e.createComponentVNode)(2,f.Table.Row,{bold:!!E.is_command,children:[(0,e.createComponentVNode)(2,b.TableCell,{children:(0,e.createComponentVNode)(2,k.ButtonCheckbox,{checked:R,tooltip:"Mark on map",onClick:function(){function j(){return N(R?"remove_highlighted_name":"add_highlighted_name",{name:E.name})}return j}()})}),(0,e.createComponentVNode)(2,b.TableCell,{children:[E.name," (",E.assignment,")"]}),(0,e.createComponentVNode)(2,b.TableCell,{children:[(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:m(E,V.critThreshold),children:c(E,V.critThreshold)}),E.sensor_type>=2||V.ignoreSensors?(0,e.createComponentVNode)(2,f.Box,{inline:!0,ml:1,children:["(",(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:S.COLORS.damageType.oxy,children:E.oxy}),"|",(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:S.COLORS.damageType.toxin,children:E.tox}),"|",(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:S.COLORS.damageType.burn,children:E.fire}),"|",(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:S.COLORS.damageType.brute,children:E.brute}),")"]}):null]}),(0,e.createComponentVNode)(2,b.TableCell,{children:E.sensor_type===3||V.ignoreSensors?V.isAI||V.isObserver?(0,e.createComponentVNode)(2,f.Button,{fluid:!0,icon:"location-arrow",content:E.area+" ("+E.x+", "+E.y+")",onClick:function(){function j(){return N("track",{track:E.ref})}return j}()}):E.area+" ("+E.x+", "+E.y+")":(0,e.createComponentVNode)(2,f.Box,{inline:!0,color:"grey",children:"Not Available"})})]},P)})]})]})},s=function(C,v){var p=C.color,N=d(C,g);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,f.NanoMap.Marker,Object.assign({},N,{children:(0,e.createVNode)(1,"span","highlighted-marker color-border-"+p)})))},i=function(C,v){var p=(0,o.useBackend)(v),N=p.act,V=p.data,y=V.highlightedNames;return(0,e.createComponentVNode)(2,f.Box,{height:"100vh",mb:"0.5rem",overflow:"hidden",children:(0,e.createComponentVNode)(2,f.NanoMap,{zoom:V.zoom,offsetX:V.offsetX,offsetY:V.offsetY,onZoom:function(){function B(L){return N("set_zoom",{zoom:L})}return B}(),onOffsetChange:function(){function B(L,w){return N("set_offset",{offset_x:w.offsetX,offset_y:w.offsetY})}return B}(),children:V.crewmembers.filter(function(B){return B.sensor_type===3||V.ignoreSensors}).map(function(B){var L=m(B,V.critThreshold),w=y.includes(B.name),x=function(){return V.isObserver?N("track",{track:B.ref}):null},T=function(){return N(w?"remove_highlighted_name":"add_highlighted_name",{name:B.name})},M=B.name+" ("+B.assignment+")";return w?(0,e.createComponentVNode)(2,s,{x:B.x,y:B.y,tooltip:M,color:L,onClick:x,onDblClick:T},B.ref):(0,e.createComponentVNode)(2,f.NanoMap.MarkerIcon,{x:B.x,y:B.y,icon:"circle",tooltip:M,color:L,onClick:x,onDblClick:T},B.ref)})})})}},63987:function(A,r,n){"use strict";r.__esModule=!0,r.Cryo=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=[{label:"Resp.",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"}],b=[["good","Conscious"],["average","Unconscious"],["bad","DEAD"]],S=r.Cryo=function(){function g(d,c){return(0,e.createComponentVNode)(2,o.Window,{width:520,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,I)})})})}return g}(),I=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.isOperating,i=u.hasOccupant,h=u.occupant,C=h===void 0?[]:h,v=u.cellTemperature,p=u.cellTemperatureStatus,N=u.isBeakerLoaded,V=u.cooldownProgress,y=u.auto_eject_healthy,B=u.auto_eject_dead;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Occupant",fill:!0,scrollable:!0,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"user-slash",onClick:function(){function L(){return l("ejectOccupant")}return L}(),disabled:!i,children:"Eject"}),children:i?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Occupant",children:C.name||"Unknown"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:C.health,max:C.maxHealth,value:C.health/C.maxHealth,color:C.health>0?"good":"average",children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:Math.round(C.health)})})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:b[C.stat][0],children:b[C.stat][1]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:Math.round(C.bodyTemperature)})," K"]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),f.map(function(L){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:L.label,children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:C[L.type]/100,ranges:{bad:[.01,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:Math.round(C[L.type])})})},L.id)})]}):(0,e.createComponentVNode)(2,t.Stack,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant detected."]})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Cell",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",onClick:function(){function L(){return l("ejectBeaker")}return L}(),disabled:!N,children:"Eject Beaker"}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",onClick:function(){function L(){return l(s?"switchOff":"switchOn")}return L}(),selected:s,children:s?"On":"Off"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",color:p,children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:v})," K"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Beaker",children:(0,e.createComponentVNode)(2,k)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Dosage interval",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{average:[-1/0,99],good:[99,1/0]},color:!N&&"average",value:V,minValue:0,maxValue:100})}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto-eject healthy occupants",children:(0,e.createComponentVNode)(2,t.Button,{icon:y?"toggle-on":"toggle-off",selected:y,onClick:function(){function L(){return l(y?"auto_eject_healthy_off":"auto_eject_healthy_on")}return L}(),children:y?"On":"Off"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto-eject dead occupants",children:(0,e.createComponentVNode)(2,t.Button,{icon:B?"toggle-on":"toggle-off",selected:B,onClick:function(){function L(){return l(B?"auto_eject_dead_off":"auto_eject_dead_on")}return L}(),children:B?"On":"Off"})})]})})})],4)},k=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.isBeakerLoaded,i=u.beakerLabel,h=u.beakerVolume;return s?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:!i&&"average",children:[i||"No label",":"]}),(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:!h&&"bad",ml:1,children:h?(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:h,format:function(){function C(v){return Math.round(v)+" units remaining"}return C}()}):"Beaker is empty"})],4):(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"bad",children:"No beaker loaded"})}},86099:function(A,r,n){"use strict";r.__esModule=!0,r.CryopodConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(25328),b=r.CryopodConsole=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.data,l=m.account_name,u=m.allow_items;return(0,e.createComponentVNode)(2,o.Window,{title:"Cryopod Console",width:400,height:480,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Hello, "+(l||"[REDACTED]")+"!",children:"This automated cryogenic freezing unit will safely store your corporeal form until your next assignment."}),(0,e.createComponentVNode)(2,S),!!u&&(0,e.createComponentVNode)(2,I)]})})}return k}(),S=function(g,d){var c=(0,a.useBackend)(d),m=c.data,l=m.frozen_crew;return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Stored Crew",children:l.length?(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:l.map(function(u,s){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:u.name,children:u.rank},s)})})}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No stored crew!"})})},I=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.frozen_items,s=function(h){var C=h.toString();return C.startsWith("the ")&&(C=C.slice(4,C.length)),(0,f.toTitleCase)(C)};return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Stored Items",children:u.length?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:u.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:s(i.name),buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",content:"Drop",mr:1,onClick:function(){function h(){return m("one_item",{item:i.uid})}return h}()})},i)})})}),(0,e.createComponentVNode)(2,t.Button,{content:"Drop All Items",color:"red",onClick:function(){function i(){return m("all_items")}return i}()})],4):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No stored items!"})})}},12692:function(A,r,n){"use strict";r.__esModule=!0,r.DNAModifier=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=[["good","Alive"],["average","Critical"],["bad","DEAD"]],S=[["ui","Modify U.I.","dna"],["se","Modify S.E.","dna"],["buffer","Transfer Buffers","syringe"],["rejuvenators","Rejuvenators","flask"]],I=[5,10,20,30,50],k=r.DNAModifier=function(){function p(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.irradiating,x=L.dnaBlockSize,T=L.occupant;V.dnaBlockSize=x,V.isDNAInvalid=!T.isViableSubject||!T.uniqueIdentity||!T.structuralEnzymes;var M;return w&&(M=(0,e.createComponentVNode)(2,C,{duration:w})),(0,e.createComponentVNode)(2,o.Window,{width:660,height:775,children:[(0,e.createComponentVNode)(2,f.ComplexModal),M,(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,g)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,d)})]})})]})}return p}(),g=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.locked,x=L.hasOccupant,T=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{color:"label",inline:!0,mr:"0.5rem",children:"Door Lock:"}),(0,e.createComponentVNode)(2,t.Button,{disabled:!x,selected:w,icon:w?"toggle-on":"toggle-off",content:w?"Engaged":"Disengaged",onClick:function(){function M(){return B("toggleLock")}return M}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!x||w,icon:"user-slash",content:"Eject",onClick:function(){function M(){return B("ejectOccupant")}return M}()})],4),children:x?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:T.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:T.minHealth,max:T.maxHealth,value:T.health/T.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:b[T.stat][0],children:b[T.stat][1]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider)]})}),V.isDNAInvalid?(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-circle"}),"\xA0 The occupant's DNA structure is ruined beyond recognition, please insert a subject with an intact DNA structure."]}):(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Radiation",children:(0,e.createComponentVNode)(2,t.ProgressBar,{min:"0",max:"100",value:T.radiationLevel/100,color:"average"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Unique Enzymes",children:L.occupant.uniqueEnzymes?L.occupant.uniqueEnzymes:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"exclamation-circle"}),"\xA0 Unknown"]})})]})],0):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"Cell unoccupied."})})},d=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.selectedMenuKey,x=L.hasOccupant,T=L.occupant;if(x){if(V.isDNAInvalid)return(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No operation possible on this subject."]})})})}else return(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant in DNA modifier."]})})});var M;return w==="ui"?M=(0,e.createFragment)([(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,l)],4):w==="se"?M=(0,e.createFragment)([(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,l)],4):w==="buffer"?M=(0,e.createComponentVNode)(2,u):w==="rejuvenators"&&(M=(0,e.createComponentVNode)(2,h)),(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:S.map(function(O,D){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:O[2],selected:w===O[0],onClick:function(){function E(){return B("selectMenuKey",{key:O[0]})}return E}(),children:O[1]},D)})}),M]})},c=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.selectedUIBlock,x=L.selectedUISubBlock,T=L.selectedUITarget,M=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Modify Unique Identifier",children:[(0,e.createComponentVNode)(2,v,{dnaString:M.uniqueIdentity,selectedBlock:w,selectedSubblock:x,blockSize:V.dnaBlockSize,action:"selectUIBlock"}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:15,stepPixelSize:"20",value:T,format:function(){function O(D){return D.toString(16).toUpperCase()}return O}(),ml:"0",onChange:function(){function O(D,E){return B("changeUITarget",{value:E})}return O}()})})}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Irradiate Block",mt:"0.5rem",onClick:function(){function O(){return B("pulseUIRadiation")}return O}()})]})},m=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.selectedSEBlock,x=L.selectedSESubBlock,T=L.occupant;return(0,e.createComponentVNode)(2,t.Section,{title:"Modify Structural Enzymes",children:[(0,e.createComponentVNode)(2,v,{dnaString:T.structuralEnzymes,selectedBlock:w,selectedSubblock:x,blockSize:V.dnaBlockSize,action:"selectSEBlock"}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Irradiate Block",onClick:function(){function M(){return B("pulseSERadiation")}return M}()})]})},l=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.radiationIntensity,x=L.radiationDuration;return(0,e.createComponentVNode)(2,t.Section,{title:"Radiation Emitter",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Intensity",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:10,stepPixelSize:20,value:w,popUpPosition:"right",ml:"0",onChange:function(){function T(M,O){return B("radiationIntensity",{value:O})}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Duration",children:(0,e.createComponentVNode)(2,t.Knob,{minValue:1,maxValue:20,stepPixelSize:10,unit:"s",value:x,popUpPosition:"right",ml:"0",onChange:function(){function T(M,O){return B("radiationDuration",{value:O})}return T}()})})]}),(0,e.createComponentVNode)(2,t.Button,{icon:"radiation",content:"Pulse Radiation",tooltip:"Mutates a random block of either the occupant's UI or SE.",tooltipPosition:"top-start",mt:"0.5rem",onClick:function(){function T(){return B("pulseRadiation")}return T}()})]})},u=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.buffers,x=w.map(function(T,M){return(0,e.createComponentVNode)(2,s,{id:M+1,name:"Buffer "+(M+1),buffer:T},M)});return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{height:"75%",mt:1,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Buffers",children:x})}),(0,e.createComponentVNode)(2,t.Stack.Item,{height:"25%",children:(0,e.createComponentVNode)(2,i)})]})},s=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=N.id,x=N.name,T=N.buffer,M=L.isInjectorReady,O=x+(T.data?" - "+T.label:"");return(0,e.createComponentVNode)(2,t.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,e.createComponentVNode)(2,t.Section,{title:O,mx:"0",lineHeight:"18px",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Confirm,{disabled:!T.data,icon:"trash",content:"Clear",onClick:function(){function D(){return B("bufferOption",{option:"clear",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!T.data,icon:"pen",content:"Rename",onClick:function(){function D(){return B("bufferOption",{option:"changeLabel",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!T.data||!L.hasDisk,icon:"save",content:"Export",tooltip:"Exports this buffer to the currently loaded data disk.",tooltipPosition:"bottom-start",onClick:function(){function D(){return B("bufferOption",{option:"saveDisk",id:w})}return D}()})],4),children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Write",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject U.I",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"saveUI",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject U.I and U.E.",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"saveUIAndUE",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-down",content:"Subject S.E.",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"saveSE",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!L.hasDisk||!L.disk.data,icon:"arrow-circle-down",content:"From Disk",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"loadDisk",id:w})}return D}()})]}),!!T.data&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subject",children:T.owner||(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Unknown"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Data Type",children:[T.type==="ui"?"Unique Identifiers":"Structural Enzymes",!!T.ue&&" and Unique Enzymes"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Transfer to",children:[(0,e.createComponentVNode)(2,t.Button,{disabled:!M,icon:M?"syringe":"spinner",iconSpin:!M,content:"Injector",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"createInjector",id:w})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!M,icon:M?"syringe":"spinner",iconSpin:!M,content:"Block Injector",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"createInjector",id:w,block:1})}return D}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"user",content:"Subject",mb:"0",onClick:function(){function D(){return B("bufferOption",{option:"transfer",id:w})}return D}()})]})],4)]}),!T.data&&(0,e.createComponentVNode)(2,t.Box,{color:"label",mt:"0.5rem",children:"This buffer is empty."})]})})},i=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.hasDisk,x=L.disk;return(0,e.createComponentVNode)(2,t.Section,{title:"Data Disk",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Confirm,{disabled:!w||!x.data,icon:"trash",content:"Wipe",onClick:function(){function T(){return B("wipeDisk")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:!w,icon:"eject",content:"Eject",onClick:function(){function T(){return B("ejectDisk")}return T}()})],4),children:w?x.data?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Label",children:x.label?x.label:"No label"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Subject",children:x.owner?x.owner:(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"Unknown"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Data Type",children:[x.type==="ui"?"Unique Identifiers":"Structural Enzymes",!!x.ue&&" and Unique Enzymes"]})]}):(0,e.createComponentVNode)(2,t.Box,{color:"label",children:"Disk is blank."}):(0,e.createComponentVNode)(2,t.Box,{color:"label",textAlign:"center",my:"1rem",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"save-o",size:"4"}),(0,e.createVNode)(1,"br"),"No disk inserted."]})})},h=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.isBeakerLoaded,x=L.beakerVolume,T=L.beakerLabel;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Rejuvenators and Beaker",buttons:(0,e.createComponentVNode)(2,t.Button,{disabled:!w,icon:"eject",content:"Eject",onClick:function(){function M(){return B("ejectBeaker")}return M}()}),children:w?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Inject",children:[I.map(function(M,O){return(0,e.createComponentVNode)(2,t.Button,{disabled:M>x,icon:"syringe",content:M,onClick:function(){function D(){return B("injectRejuvenators",{amount:M})}return D}()},O)}),(0,e.createComponentVNode)(2,t.Button,{disabled:x<=0,icon:"syringe",content:"All",onClick:function(){function M(){return B("injectRejuvenators",{amount:x})}return M}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Beaker",children:[(0,e.createComponentVNode)(2,t.Box,{mb:"0.5rem",children:T||"No label"}),x?(0,e.createComponentVNode)(2,t.Box,{color:"good",children:[x," unit",x===1?"":"s"," remaining"]}):(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Empty"})]})]}):(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"flask",size:5,color:"silver"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"h3",null,"No beaker loaded.",16)]})})})},C=function(N,V){return(0,e.createComponentVNode)(2,t.Dimmer,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"spinner",size:"5",spin:!0}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Box,{color:"average",children:(0,e.createVNode)(1,"h1",null,[(0,e.createComponentVNode)(2,t.Icon,{name:"radiation"}),(0,e.createTextVNode)("\xA0Irradiating occupant\xA0"),(0,e.createComponentVNode)(2,t.Icon,{name:"radiation"})],4)}),(0,e.createComponentVNode)(2,t.Box,{color:"label",children:(0,e.createVNode)(1,"h3",null,[(0,e.createTextVNode)("For "),N.duration,(0,e.createTextVNode)(" second"),N.duration===1?"":"s"],0)})]})},v=function(N,V){for(var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=N.dnaString,x=N.selectedBlock,T=N.selectedSubblock,M=N.blockSize,O=N.action,D=w.split(""),E=0,P=[],R=function(){for(var W=j/M+1,z=[],K=function(){var Q=G+1;z.push((0,e.createComponentVNode)(2,t.Button,{selected:x===W&&T===Q,content:D[j+G],mb:"0",onClick:function(){function ue(){return B(O,{block:W,subblock:Q})}return ue}()}))},G=0;Gi.spawnpoints?"red":"green",children:[i.total," total, versus ",i.spawnpoints," spawnpoints"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Dispatch",children:(0,e.createComponentVNode)(2,t.Button,{width:10.5,textAlign:"center",icon:"ambulance",content:"Send ERT",onClick:function(){function N(){return s("dispatch_ert",{silent:v})}return N}()})})]})})})},g=function(m,l){var u=(0,a.useBackend)(l),s=u.act,i=u.data,h=i.ert_request_messages;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:h&&h.length?h.map(function(C){return(0,e.createComponentVNode)(2,t.Section,{title:C.time,buttons:(0,e.createComponentVNode)(2,t.Button,{content:C.sender_real_name,onClick:function(){function v(){return s("view_player_panel",{uid:C.sender_uid})}return v}(),tooltip:"View player panel"}),children:C.message},(0,f.decodeHtmlEntities)(C.time))}):(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"broadcast-tower",size:5,color:"gray"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"No ERT requests."]})})})})},d=function(m,l){var u=(0,a.useBackend)(l),s=u.act,i=u.data,h=(0,a.useLocalState)(l,"text",""),C=h[0],v=h[1];return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Input,{placeholder:"Enter ERT denial reason here,\nMultiline input is accepted.",rows:19,fluid:!0,multiline:1,value:C,onChange:function(){function p(N,V){return v(V)}return p}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{content:"Deny ERT",fluid:!0,icon:"times",center:!0,mt:2,textAlign:"center",onClick:function(){function p(){return s("deny_ert",{reason:C})}return p}()})]})})}},90217:function(A,r,n){"use strict";r.__esModule=!0,r.EconomyManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=r.EconomyManager=function(){function I(k,g){return(0,e.createComponentVNode)(2,o.Window,{width:600,height:325,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,className:"Layout__content--flexColumn",children:(0,e.createComponentVNode)(2,S)})]})}return I}(),S=function(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.next_payroll_time;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.4rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"coins",verticalAlign:"middle",size:3,mr:"1rem"}),"Economy Manager"]}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.LabeledList,{label:"Pay Bonuses and Deductions",children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Global",children:(0,e.createComponentVNode)(2,t.Button,{icon:"dollar-sign",width:"auto",content:"Global Payroll Modification",onClick:function(){function u(){return c("payroll_modification",{mod_type:"global"})}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Department Accounts",children:(0,e.createComponentVNode)(2,t.Button,{icon:"dollar-sign",width:"auto",content:"Department Account Payroll Modification",onClick:function(){function u(){return c("payroll_modification",{mod_type:"department"})}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Department Members",children:(0,e.createComponentVNode)(2,t.Button,{icon:"dollar-sign",width:"auto",content:"Department Members Payroll Modification",onClick:function(){function u(){return c("payroll_modification",{mod_type:"department_members"})}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Single Accounts",children:(0,e.createComponentVNode)(2,t.Button,{icon:"dollar-sign",width:"auto",content:"Crew Member Payroll Modification",onClick:function(){function u(){return c("payroll_modification",{mod_type:"crew_member"})}return u}()})})]}),(0,e.createVNode)(1,"hr"),(0,e.createComponentVNode)(2,t.Box,{mb:.5,children:["Next Payroll in: ",l," Minutes"]}),(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-left",width:"auto",color:"bad",content:"Delay Payroll",onClick:function(){function u(){return c("delay_payroll")}return u}()}),(0,e.createComponentVNode)(2,t.Button,{width:"auto",content:"Set Payroll Time",onClick:function(){function u(){return c("set_payroll")}return u}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-right",width:"auto",color:"good",content:"Accelerate Payroll",onClick:function(){function u(){return c("accelerate_payroll")}return u}()})]}),(0,e.createComponentVNode)(2,t.NoticeBox,{children:[(0,e.createVNode)(1,"b",null,"WARNING:",16)," You take full responsibility for unbalancing the economy with these buttons!"]})],4)}},82565:function(A,r,n){"use strict";r.__esModule=!0,r.Electropack=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=r.Electropack=function(){function S(I,k){var g=(0,t.useBackend)(k),d=g.act,c=g.data,m=c.power,l=c.code,u=c.frequency,s=c.minFrequency,i=c.maxFrequency;return(0,e.createComponentVNode)(2,f.Window,{width:360,height:135,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,o.Button,{icon:m?"power-off":"times",content:m?"On":"Off",selected:m,onClick:function(){function h(){return d("power")}return h}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Reset",onClick:function(){function h(){return d("reset",{reset:"freq"})}return h}()}),children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:s/10,maxValue:i/10,value:u/10,format:function(){function h(C){return(0,a.toFixed)(C,1)}return h}(),width:"80px",onChange:function(){function h(C,v){return d("freq",{freq:v})}return h}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Code",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Reset",onClick:function(){function h(){return d("reset",{reset:"code"})}return h}()}),children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:"80px",onChange:function(){function h(C,v){return d("code",{code:v})}return h}()})})]})})})})}return S}()},11243:function(A,r,n){"use strict";r.__esModule=!0,r.Emojipedia=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(98595),b=r.Emojipedia=function(){function I(k,g){var d=(0,t.useBackend)(g),c=d.data,m=c.emoji_list,l=(0,t.useLocalState)(g,"searchText",""),u=l[0],s=l[1],i=m.filter(function(h){return h.name.toLowerCase().includes(u.toLowerCase())});return(0,e.createComponentVNode)(2,f.Window,{width:325,height:400,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Emojipedia v1.0.1",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by name",value:u,onInput:function(){function h(C,v){return s(v)}return h}()}),(0,e.createComponentVNode)(2,o.Button,{tooltip:"Click on an emoji to copy its tag!",tooltipPosition:"bottom",icon:"circle-question"})],4),children:i.map(function(h){return(0,e.createComponentVNode)(2,o.Button,{m:1,color:"transparent",className:(0,a.classes)(["emoji16x16","emoji-"+h.name]),style:{transform:"scale(1.5)"},tooltip:h.name,onClick:function(){function C(){S(h.name)}return C}()},h.name)})})})})}return I}(),S=function(k){var g=document.createElement("input"),d=":"+k+":";g.value=d,document.body.appendChild(g),g.select(),document.execCommand("copy"),document.body.removeChild(g)}},69784:function(A,r,n){"use strict";r.__esModule=!0,r.EmotePanelContent=r.EmotePanel=void 0;var e=n(89005),a=n(72253),t=n(98595),o=n(36036),f=n(25328),b=r.EmotePanel=function(){function I(k,g){return(0,e.createComponentVNode)(2,t.Window,{width:500,height:550,children:(0,e.createComponentVNode)(2,t.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,S)})})})}return I}(),S=r.EmotePanelContent=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.emotes,u=(0,a.useLocalState)(g,"searchText",""),s=u[0],i=u[1],h=(0,a.useLocalState)(g,"filterVisible",""),C=h[0],v=h[1],p=(0,a.useLocalState)(g,"filterAudible",""),N=p[0],V=p[1],y=(0,a.useLocalState)(g,"filterSound",""),B=y[0],L=y[1],w=(0,a.useLocalState)(g,"filterHands",""),x=w[0],T=w[1],M=(0,a.useLocalState)(g,"filterTargettable",""),O=M[0],D=M[1],E=(0,a.useLocalState)(g,"useTarget",""),P=E[0],R=E[1],j=(0,e.createComponentVNode)(2,o.Input,{placeholder:"\u0418\u0441\u043A\u0430\u0442\u044C \u044D\u043C\u043E\u0446\u0438\u044E...",fluid:!0,onInput:function(){function F(W,z){return i(z)}return F}()});return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",buttons:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Button,{icon:"eye",align:"center",tooltip:"\u0412\u0438\u0434\u0438\u043C\u044B\u0439",selected:C,onClick:function(){function F(){return v(!C)}return F}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"comment",align:"center",tooltip:"\u0421\u043B\u044B\u0448\u0438\u043C\u044B\u0439",selected:N,onClick:function(){function F(){return V(!N)}return F}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"volume-up",align:"center",tooltip:"\u0417\u0432\u0443\u043A",selected:B,onClick:function(){function F(){return L(!B)}return F}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"hand-paper",align:"center",tooltip:"\u0420\u0443\u043A\u0438",selected:x,onClick:function(){function F(){return T(!x)}return F}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"crosshairs",height:"100%",align:"center",tooltip:"\u0426\u0435\u043B\u044C",selected:O,onClick:function(){function F(){return D(!O)}return F}()})]}),children:j})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:s.length>0?'\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E\u0438\u0441\u043A\u0430 "'+s+'"':"\u0412\u0441\u0435 \u044D\u043C\u043E\u0446\u0438\u0438",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"crosshairs",selected:P,onClick:function(){function F(){return R(!P)}return F}(),children:"\u0412\u044B\u0431\u0438\u0440\u0430\u0442\u044C \u0446\u0435\u043B\u044C"}),children:(0,e.createComponentVNode)(2,o.Stack,{children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:l.filter(function(F){return F.key&&(s.length>0?F.key.toLowerCase().includes(s.toLowerCase())||F.name.toLowerCase().includes(s.toLowerCase()):!0)&&(C?F.visible:!0)&&(N?F.audible:!0)&&(B?F.sound:!0)&&(x?F.hands:!0)&&(O?F.targettable:!0)}).map(function(F){return(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function W(){return c("play_emote",{emote_key:F.key,useTarget:P})}return W}(),children:[F.visible?(0,e.createComponentVNode)(2,o.Icon,{name:"eye"}):"",F.audible?(0,e.createComponentVNode)(2,o.Icon,{name:"comment"}):"",F.sound?(0,e.createComponentVNode)(2,o.Icon,{name:"volume-up"}):"",F.hands?(0,e.createComponentVNode)(2,o.Icon,{name:"hand-paper"}):"",F.targettable?(0,e.createComponentVNode)(2,o.Icon,{name:"crosshairs"}):"",F.name]},F.name)})})})})})],4)}return I}()},36730:function(A,r,n){"use strict";r.__esModule=!0,r.EvolutionMenu=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=n(64795),S=n(88510),I=r.EvolutionMenu=function(){function d(c,m){return(0,e.createComponentVNode)(2,f.Window,{width:480,height:580,theme:"changeling",children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,g)]})})})}return d}(),k=function(c,m){var l=(0,t.useBackend)(m),u=l.act,s=l.data,i=s.evo_points,h=s.can_respec;return(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"Evolution Points",height:5.5,children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{mt:.5,color:"label",children:"Points remaining:"}),(0,e.createComponentVNode)(2,o.Stack.Item,{mt:.5,ml:2,bold:!0,color:"#1b945c",children:i}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Button,{ml:2.5,disabled:!h,content:"Readapt",icon:"sync",onClick:function(){function C(){return u("readapt")}return C}()}),(0,e.createComponentVNode)(2,o.Button,{tooltip:"By transforming a humanoid into a husk, we gain the ability to readapt our chosen evolutions.",tooltipPosition:"bottom",icon:"question-circle"})]})]})})})},g=function(c,m){var l=(0,t.useBackend)(m),u=l.act,s=l.data,i=s.evo_points,h=s.ability_tabs,C=s.purchased_abilities,v=s.view_mode,p=(0,t.useLocalState)(m,"selectedTab",h[0]),N=p[0],V=p[1],y=(0,t.useLocalState)(m,"searchText",""),B=y[0],L=y[1],w=(0,t.useLocalState)(m,"ability_tabs",h[0].abilities),x=w[0],T=w[1],M=function(P,R){if(R===void 0&&(R=""),!P||P.length===0)return[];var j=(0,a.createSearch)(R,function(F){return F.name+"|"+F.description});return(0,b.flow)([(0,S.filter)(function(F){return F==null?void 0:F.name}),(0,S.filter)(j),(0,S.sortBy)(function(F){return F==null?void 0:F.name})])(P)},O=function(P){if(L(P),P==="")return T(N.abilities);T(M(h.map(function(R){return R.abilities}).flat(),P))},D=function(P){V(P),T(P.abilities),L("")};return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Abilities",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Input,{width:"200px",placeholder:"Search Abilities",onInput:function(){function E(P,R){O(R)}return E}(),value:B}),(0,e.createComponentVNode)(2,o.Button,{icon:v?"square-o":"check-square-o",selected:!v,content:"Compact",onClick:function(){function E(){return u("set_view_mode",{mode:0})}return E}()}),(0,e.createComponentVNode)(2,o.Button,{icon:v?"check-square-o":"square-o",selected:v,content:"Expanded",onClick:function(){function E(){return u("set_view_mode",{mode:1})}return E}()})],4),children:[(0,e.createComponentVNode)(2,o.Tabs,{children:h.map(function(E){return(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:B===""&&N===E,onClick:function(){function P(){D(E)}return P}(),children:E.category},E)})}),x.map(function(E,P){return(0,e.createComponentVNode)(2,o.Box,{p:.5,mx:-1,className:"candystripe",children:[(0,e.createComponentVNode)(2,o.Stack,{align:"center",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{ml:.5,color:"#dedede",children:E.name}),C.includes(E.power_path)&&(0,e.createComponentVNode)(2,o.Stack.Item,{ml:2,bold:!0,color:"#1b945c",children:"(Purchased)"}),(0,e.createComponentVNode)(2,o.Stack.Item,{mr:3,textAlign:"right",grow:1,children:[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:["Cost:"," "]}),(0,e.createComponentVNode)(2,o.Box,{as:"span",bold:!0,color:"#1b945c",children:E.cost})]}),(0,e.createComponentVNode)(2,o.Stack.Item,{textAlign:"right",children:(0,e.createComponentVNode)(2,o.Button,{mr:.5,disabled:E.cost>i||C.includes(E.power_path),content:"Evolve",onClick:function(){function R(){return u("purchase",{power_path:E.power_path})}return R}()})})]}),!!v&&(0,e.createComponentVNode)(2,o.Stack,{color:"#8a8a8a",my:1,ml:1.5,width:"95%",children:E.description+" "+E.helptext})]},P)})]})})}},17370:function(A,r,n){"use strict";r.__esModule=!0,r.ExosuitFabricator=void 0;var e=n(89005),a=n(35840),t=n(25328),o=n(72253),f=n(36036),b=n(73379),S=n(98595),I=["id","amount","lineDisplay","onClick"];function k(p,N){if(p==null)return{};var V={};for(var y in p)if({}.hasOwnProperty.call(p,y)){if(N.includes(y))continue;V[y]=p[y]}return V}var g=2e3,d={bananium:"clown",tranquillite:"mime"},c=r.ExosuitFabricator=function(){function p(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.building,x=L.linked;return x?(0,e.createComponentVNode)(2,S.Window,{width:950,height:625,children:(0,e.createComponentVNode)(2,S.Window.Content,{className:"Exofab",children:[(0,e.createComponentVNode)(2,v),(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,l)}),w&&(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,u)})]})}),(0,e.createComponentVNode)(2,f.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,m)}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,s)})]})})]})]})}):(0,e.createComponentVNode)(2,C)}return p}(),m=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.materials,x=L.capacity,T=Object.values(w).reduce(function(M,O){return M+O},0);return(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,title:"Materials",className:"Exofab__materials",buttons:(0,e.createComponentVNode)(2,f.Box,{color:"label",mt:"0.25rem",children:[(T/x*100).toPrecision(3),"% full"]}),children:["metal","glass","silver","gold","uranium","titanium","plasma","diamond","bluespace","bananium","tranquillite","plastic"].map(function(M){return(0,e.createComponentVNode)(2,i,{mt:-2,id:M,bold:M==="metal"||M==="glass",onClick:function(){function O(){return B("withdraw",{id:M})}return O}()},M)})})},l=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.curCategory,x=L.categories,T=L.designs,M=L.syncing,O=(0,o.useLocalState)(V,"searchText",""),D=O[0],E=O[1],P=(0,t.createSearch)(D,function(z){return z.name}),R=T.filter(P),j=(0,o.useLocalState)(V,"levelsModal",!1),F=j[0],W=j[1];return(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,className:"Exofab__designs",title:(0,e.createComponentVNode)(2,f.Dropdown,{width:"19rem",className:"Exofab__dropdown",selected:w,options:x,onSelected:function(){function z(K){return B("category",{cat:K})}return z}()}),buttons:(0,e.createComponentVNode)(2,f.Box,{mt:"2px",children:[(0,e.createComponentVNode)(2,f.Button,{icon:"plus",content:"Queue all",onClick:function(){function z(){return B("queueall")}return z}()}),(0,e.createComponentVNode)(2,f.Button,{icon:"info",content:"Show current tech levels",onClick:function(){function z(){return W(!0)}return z}()}),(0,e.createComponentVNode)(2,f.Button,{icon:"unlink",color:"red",tooltip:"Disconnect from R&D network",onClick:function(){function z(){return B("unlink")}return z}()})]}),children:[(0,e.createComponentVNode)(2,f.Input,{placeholder:"Search by name...",mb:"0.5rem",width:"100%",onInput:function(){function z(K,G){return E(G)}return z}()}),R.map(function(z){return(0,e.createComponentVNode)(2,h,{design:z},z.id)}),R.length===0&&(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"No designs found."})]})},u=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.building,x=L.buildStart,T=L.buildEnd,M=L.worldTime;return(0,e.createComponentVNode)(2,f.Section,{className:"Exofab__building",stretchContents:!0,children:(0,e.createComponentVNode)(2,f.ProgressBar.Countdown,{start:x,current:M,end:T,children:(0,e.createComponentVNode)(2,f.Stack,{children:[(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Icon,{name:"cog",spin:!0})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:["Building ",w,"\xA0(",(0,e.createComponentVNode)(2,b.Countdown,{current:M,timeLeft:T-M,format:function(){function O(D,E){return E.substr(3)}return O}()}),")"]})]})})})},s=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.queue,x=L.processingQueue,T=Object.entries(L.queueDeficit).filter(function(O){return O[1]<0}),M=w.reduce(function(O,D){return O+D.time},0);return(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,className:"Exofab__queue",title:"Queue",buttons:(0,e.createComponentVNode)(2,f.Box,{children:[(0,e.createComponentVNode)(2,f.Button,{selected:x,icon:x?"toggle-on":"toggle-off",content:"Process",onClick:function(){function O(){return B("process")}return O}()}),(0,e.createComponentVNode)(2,f.Button,{disabled:w.length===0,icon:"eraser",content:"Clear",onClick:function(){function O(){return B("unqueueall")}return O}()})]}),children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:w.length===0?(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"The queue is empty."}):(0,e.createFragment)([(0,e.createComponentVNode)(2,f.Stack.Item,{className:"Exofab__queue--queue",grow:!0,overflow:"auto",children:w.map(function(O,D){return(0,e.createComponentVNode)(2,f.Box,{color:O.notEnough&&"bad",children:[D+1,". ",O.name,D>0&&(0,e.createComponentVNode)(2,f.Button,{icon:"arrow-up",onClick:function(){function E(){return B("queueswap",{from:D+1,to:D})}return E}()}),D0&&(0,e.createComponentVNode)(2,f.Stack.Item,{className:"Exofab__queue--time",children:[(0,e.createComponentVNode)(2,f.Divider),"Processing time:",(0,e.createComponentVNode)(2,f.Icon,{name:"clock",mx:"0.5rem"}),(0,e.createComponentVNode)(2,f.Box,{inline:!0,bold:!0,children:new Date(M/10*1e3).toISOString().substr(14,5)})]}),Object.keys(T).length>0&&(0,e.createComponentVNode)(2,f.Stack.Item,{className:"Exofab__queue--deficit",shrink:"0",children:[(0,e.createComponentVNode)(2,f.Divider),"Lacking materials to complete:",T.map(function(O){return(0,e.createComponentVNode)(2,f.Box,{children:(0,e.createComponentVNode)(2,i,{id:O[0],amount:-O[1],lineDisplay:!0})},O[0])})]})],0)})})},i=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=N.id,x=N.amount,T=N.lineDisplay,M=N.onClick,O=k(N,I),D=L.materials[w]||0,E=x||D;if(!(E<=0&&!(w==="metal"||w==="glass"))){var P=x&&x>D;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,f.Stack,Object.assign({align:"center",className:(0,a.classes)(["Exofab__material",T&&"Exofab__material--line"])},O,{children:T?(0,e.createFragment)([(0,e.createComponentVNode)(2,f.Stack.Item,{className:(0,a.classes)(["materials32x32",w])}),(0,e.createComponentVNode)(2,f.Stack.Item,{className:"Exofab__material--amount",color:P&&"bad",ml:0,mr:1,children:E.toLocaleString("en-US")})],4):(0,e.createFragment)([(0,e.createComponentVNode)(2,f.Stack.Item,{basis:"content",children:(0,e.createComponentVNode)(2,f.Button,{width:"85%",color:"transparent",onClick:M,children:(0,e.createComponentVNode)(2,f.Box,{mt:1,className:(0,a.classes)(["materials32x32",w])})})}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:"1",children:[(0,e.createComponentVNode)(2,f.Box,{className:"Exofab__material--name",children:w}),(0,e.createComponentVNode)(2,f.Box,{className:"Exofab__material--amount",children:[E.toLocaleString("en-US")," cm\xB3 (",Math.round(E/g*10)/10," ","sheets)"]})]})],4)})))}},h=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=N.design;return(0,e.createComponentVNode)(2,f.Box,{className:"Exofab__design",children:[(0,e.createComponentVNode)(2,f.Button,{disabled:w.notEnough||L.building,icon:"cog",content:w.name,onClick:function(){function x(){return B("build",{id:w.id})}return x}()}),(0,e.createComponentVNode)(2,f.Button,{icon:"plus-circle",onClick:function(){function x(){return B("queue",{id:w.id})}return x}()}),(0,e.createComponentVNode)(2,f.Box,{className:"Exofab__design--cost",children:Object.entries(w.cost).map(function(x){return(0,e.createComponentVNode)(2,f.Box,{children:(0,e.createComponentVNode)(2,i,{id:x[0],amount:x[1],lineDisplay:!0})},x[0])})}),(0,e.createComponentVNode)(2,f.Stack,{className:"Exofab__design--time",children:(0,e.createComponentVNode)(2,f.Stack.Item,{children:[(0,e.createComponentVNode)(2,f.Icon,{name:"clock"}),w.time>0?(0,e.createFragment)([w.time/10,(0,e.createTextVNode)(" seconds")],0):"Instant"]})})]})},C=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.controllers;return(0,e.createComponentVNode)(2,S.Window,{children:(0,e.createComponentVNode)(2,S.Window.Content,{children:(0,e.createComponentVNode)(2,f.Section,{title:"Setup Linkage",children:(0,e.createComponentVNode)(2,f.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,f.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:"Link"})]}),w.map(function(x){return(0,e.createComponentVNode)(2,f.Table.Row,{children:[(0,e.createComponentVNode)(2,f.Table.Cell,{children:x.addr}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:x.net_id}),(0,e.createComponentVNode)(2,f.Table.Cell,{children:(0,e.createComponentVNode)(2,f.Button,{content:"Link",icon:"link",onClick:function(){function T(){return B("linktonetworkcontroller",{target_controller:x.addr})}return T}()})})]},x.addr)})]})})})})},v=function(N,V){var y=(0,o.useBackend)(V),B=y.act,L=y.data,w=L.tech_levels,x=(0,o.useLocalState)(V,"levelsModal",!1),T=x[0],M=x[1];return T?(0,e.createComponentVNode)(2,f.Modal,{maxWidth:"75%",width:window.innerWidth+"px",maxHeight:window.innerHeight*.75+"px",mx:"auto",children:(0,e.createComponentVNode)(2,f.Section,{title:"Current tech levels",buttons:(0,e.createComponentVNode)(2,f.Button,{content:"Close",onClick:function(){function O(){M(!1)}return O}()}),children:(0,e.createComponentVNode)(2,f.LabeledList,{children:w.map(function(O){var D=O.name,E=O.level;return(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:D,children:E},D)})})})}):null}},59128:function(A,r,n){"use strict";r.__esModule=!0,r.ExperimentConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=new Map([[0,{text:"Conscious",color:"good"}],[1,{text:"Unconscious",color:"average"}],[2,{text:"Deceased",color:"bad"}]]),b=new Map([[0,{label:"Probe",icon:"thermometer"}],[1,{label:"Dissect",icon:"brain"}],[2,{label:"Analyze",icon:"search"}]]),S=r.ExperimentConsole=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.open,u=m.feedback,s=m.occupant,i=m.occupant_name,h=m.occupant_status,C=function(){function p(){if(!s)return(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No specimen detected."});var N=function(){function y(){return f.get(h)}return y}(),V=N();return(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:i}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:V.color,children:V.text}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Experiments",children:[0,1,2].map(function(y){return(0,e.createComponentVNode)(2,t.Button,{icon:b.get(y).icon,content:b.get(y).label,onClick:function(){function B(){return c("experiment",{experiment_type:y})}return B}()},y)})})]})}return p}(),v=C();return(0,e.createComponentVNode)(2,o.Window,{theme:"abductor",width:350,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:u})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Scanner",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){function p(){return c("door")}return p}()}),children:v})]})})}return I}()},97086:function(A,r,n){"use strict";r.__esModule=!0,r.ExternalAirlockController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=0,b=1013,S=function(g){var d="good",c=80,m=95,l=110,u=120;return gl?d="average":g>u&&(d="bad"),d},I=r.ExternalAirlockController=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.chamber_pressure,s=l.exterior_status,i=l.interior_status,h=l.processing;return(0,e.createComponentVNode)(2,o.Window,{width:330,height:205,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Information",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Chamber Pressure",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:S(u),value:u,minValue:f,maxValue:b,children:[u," kPa"]})})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Actions",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Abort",icon:"ban",color:"red",disabled:!h,onClick:function(){function C(){return m("abort")}return C}()}),children:[(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Cycle to Exterior",icon:"arrow-circle-left",disabled:h,onClick:function(){function C(){return m("cycle_ext")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Cycle to Interior",icon:"arrow-circle-right",disabled:h,onClick:function(){function C(){return m("cycle_int")}return C}()})]}),(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{width:"49%",content:"Force Exterior Door",icon:"exclamation-triangle",color:i==="open"?"red":h?"yellow":null,onClick:function(){function C(){return m("force_ext")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{width:"50%",content:"Force Interior Door",icon:"exclamation-triangle",color:i==="open"?"red":h?"yellow":null,onClick:function(){function C(){return m("force_int")}return C}()})]})]})]})})}return k}()},96142:function(A,r,n){"use strict";r.__esModule=!0,r.FaxMachine=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.FaxMachine=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data;return(0,e.createComponentVNode)(2,o.Window,{width:540,height:295,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Authorization",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Card",children:(0,e.createComponentVNode)(2,t.Button,{icon:d.scan_name?"eject":"id-card",selected:d.scan_name,content:d.scan_name?d.scan_name:"-----",tooltip:d.scan_name?"Eject ID":"Insert ID",onClick:function(){function c(){return g("scan")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Authorize",children:(0,e.createComponentVNode)(2,t.Button,{icon:d.authenticated?"sign-out-alt":"id-card",selected:d.authenticated,disabled:d.nologin,content:d.realauth?"Log Out":"Log In",onClick:function(){function c(){return g("auth")}return c}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Fax Menu",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network",children:d.network}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Document",children:[(0,e.createComponentVNode)(2,t.Button,{icon:d.paper?"eject":"paperclip",disabled:!d.authenticated&&!d.paper,content:d.paper?d.paper:"-----",onClick:function(){function c(){return g("paper")}return c}()}),!!d.paper&&(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){function c(){return g("rename")}return c}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sending To",children:(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:d.destination?d.destination:"-----",disabled:!d.authenticated,onClick:function(){function c(){return g("dept")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Action",children:(0,e.createComponentVNode)(2,t.Button,{icon:"envelope",content:d.sendError?d.sendError:"Send",disabled:!d.paper||!d.destination||!d.authenticated||d.sendError,onClick:function(){function c(){return g("send")}return c}()})})]})})]})})}return b}()},74123:function(A,r,n){"use strict";r.__esModule=!0,r.FilingCabinet=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.FilingCabinet=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=k.config,m=d.contents,l=c.title;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:300,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Contents",children:[!m&&(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"folder-open",size:5,color:"gray"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"The ",l," is empty."]})}),!!m&&m.slice().map(function(u){return(0,e.createComponentVNode)(2,t.Stack,{mt:.5,className:"candystripe",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"80%",children:u.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",content:"Retrieve",onClick:function(){function s(){return g("retrieve",{index:u.index})}return s}()})})]},u)})]})})})})}return b}()},83767:function(A,r,n){"use strict";r.__esModule=!0,r.FloorPainter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=k.icon_state,u=k.direction,s=k.isSelected,i=k.onSelect;return(0,e.createComponentVNode)(2,t.DmIcon,{icon:m.icon,icon_state:l,direction:u,onClick:i,style:{"border-style":s&&"solid"||"none","border-width":"2px","border-color":"orange",padding:s&&"0px"||"2px"}})},b={NORTH:1,SOUTH:2,EAST:4,WEST:8},S=r.FloorPainter=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.availableStyles,u=m.selectedStyle,s=m.selectedDir;return(0,e.createComponentVNode)(2,o.Window,{width:405,height:475,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Decal setup",children:[(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-left",onClick:function(){function i(){return c("cycle_style",{offset:-1})}return i}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Dropdown,{options:l,selected:u,width:"150px",nochevron:!0,onSelected:function(){function i(h){return c("select_style",{style:h})}return i}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",onClick:function(){function i(){return c("cycle_style",{offset:1})}return i}()})})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"5px",mb:"5px",children:(0,e.createComponentVNode)(2,t.Flex,{overflowY:"auto",maxHeight:"239px",wrap:"wrap",children:l.map(function(i){return(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,f,{icon_state:i,isSelected:u===i,onSelect:function(){function h(){return c("select_style",{style:i})}return h}()})},i)})})}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Direction",children:(0,e.createComponentVNode)(2,t.Table,{style:{display:"inline"},children:[b.NORTH,null,b.SOUTH].map(function(i){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[i+b.WEST,i,i+b.EAST].map(function(h){return(0,e.createComponentVNode)(2,t.Table.Cell,{style:{"vertical-align":"middle","text-align":"center"},children:h===null?(0,e.createComponentVNode)(2,t.Icon,{name:"arrows-alt",size:3}):(0,e.createComponentVNode)(2,f,{icon_state:u,direction:h,isSelected:h===s,onSelect:function(){function C(){return c("select_direction",{direction:h})}return C}()})},h)})},i)})})})})]})})})}return I}()},53424:function(A,r,n){"use strict";r.__esModule=!0,r.GPS=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=function(l){return l?"("+l.join(", ")+")":"ERROR"},S=function(l,u){if(!(!l||!u)){if(l[2]!==u[2])return null;var s=Math.atan2(u[1]-l[1],u[0]-l[0]),i=Math.sqrt(Math.pow(u[1]-l[1],2)+Math.pow(u[0]-l[0],2));return{angle:(0,a.rad2deg)(s),distance:i}}},I=r.GPS=function(){function m(l,u){var s=(0,t.useBackend)(u),i=s.data,h=i.emped,C=i.active,v=i.area,p=i.position,N=i.saved;return(0,e.createComponentVNode)(2,f.Window,{width:400,height:600,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:h?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,basis:"0",children:(0,e.createComponentVNode)(2,k,{emp:!0})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,g)}),C?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,d,{area:v,position:p})}),N&&(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,d,{title:"Saved Position",position:N})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,basis:"0",children:(0,e.createComponentVNode)(2,c,{height:"100%"})})],0):(0,e.createComponentVNode)(2,k)],0)})})})}return m}(),k=function(l,u){var s=l.emp;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:(0,e.createComponentVNode)(2,o.Box,{width:"100%",height:"100%",color:"label",textAlign:"center",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:s?"ban":"power-off",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),s?"ERROR: Device temporarily lost signal.":"Device is disabled."]})})})})},g=function(l,u){var s=(0,t.useBackend)(u),i=s.act,h=s.data,C=h.active,v=h.tag,p=h.same_z,N=(0,t.useLocalState)(u,"newTag",v),V=N[0],y=N[1];return(0,e.createComponentVNode)(2,o.Section,{title:"Settings",buttons:(0,e.createComponentVNode)(2,o.Button,{selected:C,icon:C?"toggle-on":"toggle-off",content:C?"On":"Off",onClick:function(){function B(){return i("toggle")}return B}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Tag",children:[(0,e.createComponentVNode)(2,o.Input,{width:"5rem",value:v,onEnter:function(){function B(){return i("tag",{newtag:V})}return B}(),onInput:function(){function B(L,w){return y(w)}return B}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:v===V,width:"20px",mb:"0",ml:"0.25rem",onClick:function(){function B(){return i("tag",{newtag:V})}return B}(),children:(0,e.createComponentVNode)(2,o.Icon,{name:"pen"})})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Range",children:(0,e.createComponentVNode)(2,o.Button,{selected:!p,icon:p?"compress":"expand",content:p?"Local Sector":"Global",onClick:function(){function B(){return i("same_z")}return B}()})})]})})},d=function(l,u){var s=l.title,i=l.area,h=l.position;return(0,e.createComponentVNode)(2,o.Section,{title:s||"Position",children:(0,e.createComponentVNode)(2,o.Box,{fontSize:"1.5rem",children:[i&&(0,e.createFragment)([i,(0,e.createVNode)(1,"br")],0),b(h)]})})},c=function(l,u){var s=(0,t.useBackend)(u),i=s.data,h=i.position,C=i.signals;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({fill:!0,scrollable:!0,title:"Signals"},l,{children:(0,e.createComponentVNode)(2,o.Table,{children:C.map(function(v){return Object.assign({},v,S(h,v.position))}).map(function(v,p){return(0,e.createComponentVNode)(2,o.Table.Row,{backgroundColor:p%2===0&&"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,o.Table.Cell,{width:"30%",verticalAlign:"middle",color:"label",p:"0.25rem",bold:!0,children:v.tag}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",color:"grey",children:v.area}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",collapsing:!0,children:v.distance!==void 0&&(0,e.createComponentVNode)(2,o.Box,{opacity:Math.max(1-Math.min(v.distance,100)/100,.5),children:[(0,e.createComponentVNode)(2,o.Icon,{name:v.distance>0?"arrow-right":"circle",rotation:-v.angle}),"\xA0",Math.floor(v.distance)+"m"]})}),(0,e.createComponentVNode)(2,o.Table.Cell,{verticalAlign:"middle",pr:"0.25rem",collapsing:!0,children:b(v.position)})]},p)})})})))}},89124:function(A,r,n){"use strict";r.__esModule=!0,r.GeneModder=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(3939),f=n(98595),b=r.GeneModder=function(){function u(s,i){var h=(0,a.useBackend)(i),C=h.data,v=C.has_seed;return(0,e.createComponentVNode)(2,f.Window,{width:950,height:650,children:[(0,e.createVNode)(1,"div","GeneModder__left",(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,l,{scrollable:!0})}),2),(0,e.createVNode)(1,"div","GeneModder__right",(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,scrollable:!0,children:[(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,o.ComplexModal,{maxWidth:"75%",maxHeight:"75%"}),v===0?(0,e.createComponentVNode)(2,I):(0,e.createComponentVNode)(2,S)]})}),2)]})}return u}(),S=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.disk;return(0,e.createComponentVNode)(2,t.Section,{title:"Genes",fill:!0,scrollable:!0,children:[(0,e.createComponentVNode)(2,g),(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,c)]})},I=function(s,i){return(0,e.createComponentVNode)(2,t.Section,{fill:!0,height:"85%",children:(0,e.createComponentVNode)(2,t.Stack,{height:"100%",children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:"1",textAlign:"center",align:"center",color:"green",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"leaf",size:5,mb:"10px"}),(0,e.createVNode)(1,"br"),"The plant DNA manipulator is missing a seed."]})})})},k=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.has_seed,N=v.seed,V=v.has_disk,y=v.disk,B,L;return p?B=(0,e.createComponentVNode)(2,t.Stack.Item,{mb:"-6px",mt:"-4px",children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+N.image,style:{"vertical-align":"middle",width:"32px",margin:"-1px","margin-left":"-11px"}}),(0,e.createComponentVNode)(2,t.Button,{content:N.name,onClick:function(){function w(){return C("eject_seed")}return w}()}),(0,e.createComponentVNode)(2,t.Button,{ml:"3px",icon:"pen",tooltip:"Name Variant",onClick:function(){function w(){return C("variant_name")}return w}()})]}):B=(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{ml:3.3,content:"None",onClick:function(){function w(){return C("eject_seed")}return w}()})}),V?L=y.name:L="None",(0,e.createComponentVNode)(2,t.Section,{title:"Storage",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Plant Sample",children:B}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Data Disk",children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{ml:3.3,content:L,tooltip:"Select Empty Disk",onClick:function(){function w(){return C("select_empty_disk")}return w}()})})})]})})},g=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.disk,N=v.core_genes;return(0,e.createComponentVNode)(2,t.Collapsible,{title:"Core Genes",open:!0,children:[N.map(function(V){return(0,e.createComponentVNode)(2,t.Stack,{py:"2px",className:"candystripe",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",ml:"2px",children:V.name}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Extract",disabled:!(p!=null&&p.can_extract),icon:"save",onClick:function(){function y(){return C("extract",{id:V.id})}return y}()})})]},V)})," ",(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Extract All",disabled:!(p!=null&&p.can_extract),icon:"save",onClick:function(){function V(){return C("bulk_extract_core")}return V}()})})})]},"Core Genes")},d=function(s,i){var h=(0,a.useBackend)(i),C=h.data,v=C.reagent_genes,p=C.has_reagent;return(0,e.createComponentVNode)(2,m,{title:"Reagent Genes",gene_set:v,do_we_show:p})},c=function(s,i){var h=(0,a.useBackend)(i),C=h.data,v=C.trait_genes,p=C.has_trait;return(0,e.createComponentVNode)(2,m,{title:"Trait Genes",gene_set:v,do_we_show:p})},m=function(s,i){var h=s.title,C=s.gene_set,v=s.do_we_show,p=(0,a.useBackend)(i),N=p.act,V=p.data,y=V.disk;return(0,e.createComponentVNode)(2,t.Collapsible,{title:h,open:!0,children:v?C.map(function(B){return(0,e.createComponentVNode)(2,t.Stack,{py:"2px",className:"candystripe",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",ml:"2px",children:B.name}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Extract",disabled:!(y!=null&&y.can_extract),icon:"save",onClick:function(){function L(){return N("extract",{id:B.id})}return L}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Remove",icon:"times",onClick:function(){function L(){return N("remove",{id:B.id})}return L}()})})]},B)}):(0,e.createComponentVNode)(2,t.Stack.Item,{children:"No Genes Detected"})},h)},l=function(s,i){var h=s.title,C=s.gene_set,v=s.do_we_show,p=(0,a.useBackend)(i),N=p.act,V=p.data,y=V.has_seed,B=V.empty_disks,L=V.stat_disks,w=V.trait_disks,x=V.reagent_disks;return(0,e.createComponentVNode)(2,t.Section,{title:"Disks",children:[(0,e.createVNode)(1,"br"),"Empty Disks: ",B,(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{width:12,icon:"arrow-down",tooltip:"Eject an Empty disk",content:"Eject Empty Disk",onClick:function(){function T(){return N("eject_empty_disk")}return T}()}),(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Stats",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,scrollable:!0,children:[L.slice().sort(function(T,M){return T.display_name.localeCompare(M.display_name)}).map(function(T){return(0,e.createComponentVNode)(2,t.Stack,{mr:2,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"49%",children:T.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:25,children:[T.stat==="All"?(0,e.createComponentVNode)(2,t.Button,{content:"Replace All",tooltip:"Write disk stats to seed",disabled:!(T!=null&&T.ready)||!y,icon:"arrow-circle-down",onClick:function(){function M(){return N("bulk_replace_core",{index:T.index})}return M}()}):(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-circle-down",tooltip:"Write disk stat to seed",disabled:!T||!y,content:"Replace",onClick:function(){function M(){return N("replace",{index:T.index,stat:T.stat})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-right",content:"Select",tooltip:"Choose as target for extracted genes",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("select",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:5,icon:"arrow-down",content:"Eject",tooltip:"Eject Disk",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("eject_disk",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:2,icon:T.read_only?"lock":"lock-open",content:"",tool_tip:"Set/unset Read Only",onClick:function(){function M(){return N("set_read_only",{index:T.index,read_only:T.read_only})}return M}()})]})]},T)}),(0,e.createComponentVNode)(2,t.Button)]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Traits",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,scrollable:!0,children:[w.slice().sort(function(T,M){return T.display_name.localeCompare(M.display_name)}).map(function(T){return(0,e.createComponentVNode)(2,t.Stack,{mr:2,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"49%",children:T.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:25,children:[(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-circle-down",disabled:!T||!T.can_insert,tooltip:"Add disk trait to seed",content:"Insert",onClick:function(){function M(){return N("insert",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-right",content:"Select",tooltip:"Choose as target for extracted genes",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("select",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:5,icon:"arrow-down",content:"Eject",tooltip:"Eject Disk",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("eject_disk",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:2,icon:T.read_only?"lock":"lock-open",content:"",tool_tip:"Set/unset Read Only",onClick:function(){function M(){return N("set_read_only",{index:T.index,read_only:T.read_only})}return M}()})]})]},T)}),(0,e.createComponentVNode)(2,t.Button)]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Reagents",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,scrollable:!0,children:[x.slice().sort(function(T,M){return T.display_name.localeCompare(M.display_name)}).map(function(T){return(0,e.createComponentVNode)(2,t.Stack,{mr:2,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"49%",children:T.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:25,children:[(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-circle-down",disabled:!T||!T.can_insert,tooltip:"Add disk reagent to seed",content:"Insert",onClick:function(){function M(){return N("insert",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:6,icon:"arrow-right",content:"Select",tooltip:"Choose as target for extracted genes",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("select",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:5,icon:"arrow-down",content:"Eject",tooltip:"Eject Disk",tooltipPosition:"bottom-start",onClick:function(){function M(){return N("eject_disk",{index:T.index})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{width:2,icon:T.read_only?"lock":"lock-open",content:"",tool_tip:"Set/unset Read Only",onClick:function(){function M(){return N("set_read_only",{index:T.index,read_only:T.read_only})}return M}()})]})]},T)}),(0,e.createComponentVNode)(2,t.Button)]})})]})]})}},73053:function(A,r,n){"use strict";r.__esModule=!0,r.GenericCrewManifest=void 0;var e=n(89005),a=n(36036),t=n(98595),o=n(41874),f=r.GenericCrewManifest=function(){function b(S,I){return(0,e.createComponentVNode)(2,t.Window,{theme:"nologo",width:588,height:510,children:(0,e.createComponentVNode)(2,t.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,a.Section,{noTopPadding:!0,children:(0,e.createComponentVNode)(2,o.CrewManifest)})})})}return b}()},42914:function(A,r,n){"use strict";r.__esModule=!0,r.GhostHudPanel=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.GhostHudPanel=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.data,c=d.security,m=d.medical,l=d.diagnostic,u=d.pressure,s=d.radioactivity,i=d.ahud;return(0,e.createComponentVNode)(2,o.Window,{width:250,height:217,theme:"nologo",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,b,{label:"Medical",type:"medical",is_active:m}),(0,e.createComponentVNode)(2,b,{label:"Security",type:"security",is_active:c}),(0,e.createComponentVNode)(2,b,{label:"Diagnostic",type:"diagnostic",is_active:l}),(0,e.createComponentVNode)(2,b,{label:"Pressure",type:"pressure",is_active:u}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,b,{label:"Radioactivity",type:"radioactivity",is_active:s,act_on:"rads_on",act_off:"rads_off"}),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,b,{label:"Antag HUD",is_active:i,act_on:"ahud_on",act_off:"ahud_off"})]})})})}return S}(),b=function(I,k){var g=(0,a.useBackend)(k),d=g.act,c=I.label,m=I.type,l=m===void 0?null:m,u=I.is_active,s=I.act_on,i=s===void 0?"hud_on":s,h=I.act_off,C=h===void 0?"hud_off":h;return(0,e.createComponentVNode)(2,t.Flex,{pt:.3,color:"label",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{pl:.5,align:"center",width:"80%",children:c}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{mr:.6,content:u?"On":"Off",icon:u?"toggle-on":"toggle-off",selected:u,onClick:function(){function v(){return d(u?C:i,{hud_type:l})}return v}()})})]})}},25825:function(A,r,n){"use strict";r.__esModule=!0,r.GlandDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.GlandDispenser=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.glands,m=c===void 0?[]:c;return(0,e.createComponentVNode)(2,o.Window,{width:300,height:338,theme:"abductor",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:m.map(function(l){return(0,e.createComponentVNode)(2,t.Button,{width:"60px",height:"60px",m:.75,textAlign:"center",fontSize:"17px",lineHeight:"55px",icon:"eject",backgroundColor:l.color,content:l.amount||"0",disabled:!l.amount,onClick:function(){function u(){return g("dispense",{gland_id:l.id})}return u}()},l.id)})})})})}return b}()},10270:function(A,r,n){"use strict";r.__esModule=!0,r.GravityGen=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.GravityGen=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.charging_state,m=d.charge_count,l=d.breaker,u=d.ext_power,s=function(){function h(C){return C>0?(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"average",children:["[ ",C===1?"Charging":"Discharging"," ]"]}):(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:u?"good":"bad",children:["[ ",u?"Powered":"Unpowered"," ]"]})}return h}(),i=function(){function h(C){if(C>0)return(0,e.createComponentVNode)(2,t.NoticeBox,{danger:!0,p:1.5,children:[(0,e.createVNode)(1,"b",null,"WARNING:",16)," Radiation Detected!"]})}return h}();return(0,e.createComponentVNode)(2,o.Window,{width:350,height:170,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[i(c),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Generator Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:l?"power-off":"times",content:l?"Online":"Offline",color:l?"green":"red",px:1.5,onClick:function(){function h(){return g("breaker")}return h}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power Status",color:u?"good":"bad",children:s(c)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Gravity Charge",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:m/100,ranges:{good:[.9,1/0],average:[.5,.9],bad:[-1/0,.5]}})})]})})]})})})}return b}()},48657:function(A,r,n){"use strict";r.__esModule=!0,r.GuestPass=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(49148),b=r.GuestPass=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:690,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"id-card",selected:!c.showlogs,onClick:function(){function m(){return d("mode",{mode:0})}return m}(),children:"Issue Pass"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"scroll",selected:c.showlogs,onClick:function(){function m(){return d("mode",{mode:1})}return m}(),children:["Records (",c.issue_log.length,")"]})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Authorization",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Card",children:(0,e.createComponentVNode)(2,t.Button,{icon:c.scan_name?"eject":"id-card",selected:c.scan_name,content:c.scan_name?c.scan_name:"-----",tooltip:c.scan_name?"Eject ID":"Insert ID",onClick:function(){function m(){return d("scan")}return m}()})})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:!c.showlogs&&(0,e.createComponentVNode)(2,t.Section,{title:"Issue Guest Pass",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Issue To",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:c.giv_name?c.giv_name:"-----",disabled:!c.scan_name,onClick:function(){function m(){return d("giv_name")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Reason",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:c.reason?c.reason:"-----",disabled:!c.scan_name,onClick:function(){function m(){return d("reason")}return m}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Duration",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pencil-alt",content:c.duration?c.duration:"-----",disabled:!c.scan_name,onClick:function(){function m(){return d("duration")}return m}()})})]})})}),!c.showlogs&&(c.scan_name?(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f.AccessList,{sectionButtons:(0,e.createComponentVNode)(2,t.Button,{icon:"id-card",content:c.printmsg,disabled:!c.canprint,onClick:function(){function m(){return d("issue")}return m}()}),grantableList:c.grantableList,accesses:c.regions,selectedList:c.selectedAccess,accessMod:function(){function m(l){return d("access",{access:l})}return m}(),grantAll:function(){function m(){return d("grant_all")}return m}(),denyAll:function(){function m(){return d("clear_all")}return m}(),grantDep:function(){function m(l){return d("grant_region",{region:l})}return m}(),denyDep:function(){function m(l){return d("deny_region",{region:l})}return m}()})}):(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,fontSize:1.5,textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"id-card",size:5,color:"gray",mb:5}),(0,e.createVNode)(1,"br"),"Please, insert ID Card"]})})})})),!!c.showlogs&&(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,m:0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Issuance Log",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:"Print",disabled:!c.scan_name,onClick:function(){function m(){return d("print")}return m}()}),children:!!c.issue_log.length&&(0,e.createComponentVNode)(2,t.LabeledList,{children:c.issue_log.map(function(m,l){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:m},l)})})||(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,fontSize:1.5,textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"scroll",size:5,color:"gray"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"No logs"]})})})})]})})})}return S}()},67834:function(A,r,n){"use strict";r.__esModule=!0,r.HandheldChemDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=[1,5,10,20,30,50],b=null,S=r.HandheldChemDispenser=function(){function g(d,c){return(0,e.createComponentVNode)(2,o.Window,{width:390,height:430,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k)]})})})}return g}(),I=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.amount,i=u.energy,h=u.maxEnergy,C=u.mode;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:i,minValue:0,maxValue:h,ranges:{good:[h*.5,1/0],average:[h*.25,h*.5],bad:[-1/0,h*.25]},children:[i," / ",h," Units"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Amount",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{children:f.map(function(v,p){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"15%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"cog",selected:s===v,content:v,onClick:function(){function N(){return l("amount",{amount:v})}return N}()})},p)})})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mode",verticalAlign:"middle",children:(0,e.createComponentVNode)(2,t.Stack,{justify:"space-between",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:C==="dispense",content:"Dispense",m:"0",width:"32%",onClick:function(){function v(){return l("mode",{mode:"dispense"})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:C==="remove",content:"Remove",m:"0",width:"32%",onClick:function(){function v(){return l("mode",{mode:"remove"})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",selected:C==="isolate",content:"Isolate",m:"0",width:"32%",onClick:function(){function v(){return l("mode",{mode:"isolate"})}return v}()})]})})]})})})},k=function(d,c){for(var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.chemicals,i=s===void 0?[]:s,h=u.current_reagent,C=[],v=0;v<(i.length+1)%3;v++)C.push(!0);return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,height:"18%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:u.glass?"Drink Selector":"Chemical Selector",children:[i.map(function(p,N){return(0,e.createComponentVNode)(2,t.Button,{width:"32%",icon:"arrow-circle-down",overflow:"hidden",textOverflow:"ellipsis",selected:h===p.id,content:p.title,style:{"margin-left":"2px"},onClick:function(){function V(){return l("dispense",{reagent:p.id})}return V}()},N)}),C.map(function(p,N){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:"1",basis:"25%"},N)})]})})}},46098:function(A,r,n){"use strict";r.__esModule=!0,r.HealthSensor=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=r.HealthSensor=function(){function I(k,g){var d=(0,t.useBackend)(g),c=d.act,m=d.data,l=m.on,u=m.user_health,s=m.minHealth,i=m.maxHealth,h=m.alarm_health;return(0,e.createComponentVNode)(2,f.Window,{width:300,height:125,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Scanning",children:(0,e.createComponentVNode)(2,o.Button,{icon:"power-off",content:l?"On":"Off",color:l?null:"red",selected:l,onClick:function(){function C(){return c("scan_toggle")}return C}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health activation",children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:2,stepPixelSize:6,minValue:s,maxValue:i,value:h,format:function(){function C(v){return(0,a.toFixed)(v,1)}return C}(),width:"80px",onDrag:function(){function C(v,p){return c("alarm_health",{alarm_health:p})}return C}()})}),u!==null&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"User health",children:(0,e.createComponentVNode)(2,o.Box,{color:S(u),bold:u>=100,children:(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:u})})})]})})})})}return I}(),S=function(k){return k>50?"green":k>0?"orange":"red"}},36771:function(A,r,n){"use strict";r.__esModule=!0,r.Holodeck=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Holodeck=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=(0,a.useLocalState)(k,"currentDeck",""),l=m[0],u=m[1],s=(0,a.useLocalState)(k,"showReload",!1),i=s[0],h=s[1],C=c.decks,v=c.ai_override,p=c.emagged,N=function(){function V(y){d("select_deck",{deck:y}),u(y),h(!0),setTimeout(function(){h(!1)},3e3)}return V}();return(0,e.createComponentVNode)(2,o.Window,{width:400,height:320,children:[i&&(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Holodeck Control System",children:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createVNode)(1,"b",null,"Currently Loaded Program:",16)," ",l]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Available Programs",children:[C.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{width:15.5,color:"transparent",content:V,selected:V===l,onClick:function(){function y(){return N(V)}return y}()},V)}),(0,e.createVNode)(1,"hr",null,null,1,{color:"gray"}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[!!v&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Override Protocols",children:(0,e.createComponentVNode)(2,t.Button,{content:p?"Turn On":"Turn Off",color:p?"good":"bad",onClick:function(){function V(){return d("ai_override")}return V}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safety Protocols",children:(0,e.createComponentVNode)(2,t.Box,{color:p?"bad":"good",children:[p?"Off":"On",!!p&&(0,e.createComponentVNode)(2,t.Button,{ml:9.5,width:15.5,color:"red",content:"Wildlife Simulation",onClick:function(){function V(){return d("wildlifecarp")}return V}()})]})})]})]})})]})})]})}return S}(),b=function(I,k){return(0,e.createComponentVNode)(2,t.Dimmer,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"spinner",size:"5",spin:!0}),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Box,{color:"white",children:(0,e.createVNode)(1,"h1",null,"\xA0Recalibrating projection apparatus.\xA0",16)}),(0,e.createComponentVNode)(2,t.Box,{color:"label",children:(0,e.createVNode)(1,"h3",null,"Please, wait for 3 seconds.",16)})]})}},25471:function(A,r,n){"use strict";r.__esModule=!0,r.Instrument=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=r.Instrument=function(){function d(c,m){var l=(0,t.useBackend)(m),u=l.act,s=l.data;return(0,e.createComponentVNode)(2,f.Window,{width:600,height:505,children:[(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,g)]})})]})}return d}(),S=function(c,m){var l=(0,t.useBackend)(m),u=l.act,s=l.data,i=s.help;if(i)return(0,e.createComponentVNode)(2,o.Modal,{maxWidth:"75%",height:window.innerHeight*.75+"px",mx:"auto",py:"0",px:"0.5rem",children:(0,e.createComponentVNode)(2,o.Section,{height:"100%",title:"Help",level:"2",overflow:"auto",children:(0,e.createComponentVNode)(2,o.Box,{px:"0.5rem",mt:"-0.5rem",children:[(0,e.createVNode)(1,"h1",null,"Making a Song",16),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Lines are a series of chords, separated by commas\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(,)"}),(0,e.createTextVNode)(", each with notes separated by hyphens\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(-)"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Every note in a chord will play together, with the chord timed by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("as defined above.")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Notes are played by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"names of the note"}),(0,e.createTextVNode)(", and optionally, the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(", and/or the"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave number"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("By default, every note is\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"natural"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("and in\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave 3"}),(0,e.createTextVNode)(". Defining a different state for either is remembered for each"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"note"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Example:"}),(0,e.createTextVNode)("\xA0"),(0,e.createVNode)(1,"i",null,"C,D,E,F,G,A,B",16),(0,e.createTextVNode)(" will play a\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"C"}),(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"major"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("scale.")],0),(0,e.createVNode)(1,"li",null,[(0,e.createTextVNode)("After a note has an\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("or\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("placed, it will be remembered:\xA0"),(0,e.createVNode)(1,"i",null,"C,C4,C#,C3",16),(0,e.createTextVNode)(" is "),(0,e.createVNode)(1,"i",null,"C3,C4,C4#,C3#",16)],0)],4)],0),(0,e.createVNode)(1,"p",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Chords"}),(0,e.createTextVNode)("\xA0can be played simply by seperating each note with a hyphen: "),(0,e.createVNode)(1,"i",null,"A-C#,Cn-E,E-G#,Gn-B",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("A"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"pause"}),(0,e.createTextVNode)("\xA0may be denoted by an empty chord: "),(0,e.createVNode)(1,"i",null,"C,E,,C,G",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("To make a chord be a different time, end it with /x, where the chord length will be length defined by\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo / x"}),(0,e.createTextVNode)(",\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"eg:"}),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"C,G/2,E/4",16),(0,e.createTextVNode)(".")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Combined, an example line is: "),(0,e.createVNode)(1,"i",null,"E-E4/4,F#/2,G#/8,B/8,E3-E4/4",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,"Lines may be up to 300 characters.",16),(0,e.createVNode)(1,"li",null,"A song may only contain up to 1,000 lines.",16)],4)],4),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Lines are a series of chords, separated by commas\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(,)"}),(0,e.createTextVNode)(", each with notes separated by hyphens\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"(-)"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Every note in a chord will play together, with the chord timed by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("as defined above.")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Notes are played by the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"names of the note"}),(0,e.createTextVNode)(", and optionally, the\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(", and/or the"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave number"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("By default, every note is\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"natural"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("and in\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave 3"}),(0,e.createTextVNode)(". Defining a different state for either is remembered for each"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"note"}),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Example:"}),(0,e.createTextVNode)("\xA0"),(0,e.createVNode)(1,"i",null,"C,D,E,F,G,A,B",16),(0,e.createTextVNode)(" will play a\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"good",children:"C"}),(0,e.createTextVNode)("\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"major"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("scale.")],0),(0,e.createVNode)(1,"li",null,[(0,e.createTextVNode)("After a note has an\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"average",children:"accidental"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("or\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"bad",children:"octave"}),(0,e.createTextVNode)(" "),(0,e.createTextVNode)("placed, it will be remembered:\xA0"),(0,e.createVNode)(1,"i",null,"C,C4,C#,C3",16),(0,e.createTextVNode)(" is "),(0,e.createVNode)(1,"i",null,"C3,C4,C4#,C3#",16)],0)],4)],0),(0,e.createVNode)(1,"p",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"Chords"}),(0,e.createTextVNode)("\xA0can be played simply by seperating each note with a hyphen: "),(0,e.createVNode)(1,"i",null,"A-C#,Cn-E,E-G#,Gn-B",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("A"),(0,e.createTextVNode)(" "),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"pause"}),(0,e.createTextVNode)("\xA0may be denoted by an empty chord: "),(0,e.createVNode)(1,"i",null,"C,E,,C,G",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("To make a chord be a different time, end it with /x, where the chord length will be length defined by\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"tempo / x"}),(0,e.createTextVNode)(",\xA0"),(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"highlight",children:"eg:"}),(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"i",null,"C,G/2,E/4",16),(0,e.createTextVNode)(".")],0),(0,e.createVNode)(1,"p",null,[(0,e.createTextVNode)("Combined, an example line is: "),(0,e.createVNode)(1,"i",null,"E-E4/4,F#/2,G#/8,B/8,E3-E4/4",16),(0,e.createTextVNode)("."),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,"Lines may be up to 300 characters.",16),(0,e.createVNode)(1,"li",null,"A song may only contain up to 1,000 lines.",16)],4)],4),(0,e.createVNode)(1,"h1",null,"Instrument Advanced Settings",16),(0,e.createVNode)(1,"ul",null,[(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Type:"}),(0,e.createTextVNode)("\xA0Whether the instrument is legacy or synthesized."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Legacy instruments have a collection of sounds that are selectively used depending on the note to play."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Synthesized instruments use a base sound and change its pitch to match the note to play.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Current:"}),(0,e.createTextVNode)("\xA0Which instrument sample to play. Some instruments can be tuned to play different samples. Experiment!")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Note Shift/Note Transpose:"}),(0,e.createTextVNode)("\xA0The pitch to apply to all notes of the song.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Sustain Mode:"}),(0,e.createTextVNode)("\xA0How a played note fades out."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Linear sustain means a note will fade out at a constant rate."),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Exponential sustain means a note will fade out at an exponential rate, sounding smoother.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Volume Dropoff Threshold:"}),(0,e.createTextVNode)("\xA0The volume threshold at which a note is fully stopped.")],4),(0,e.createVNode)(1,"li",null,[(0,e.createComponentVNode)(2,o.Box,{as:"span",color:"label",children:"Sustain indefinitely last held note:"}),(0,e.createTextVNode)("\xA0Whether the last note should be sustained indefinitely.")],4)],4),(0,e.createComponentVNode)(2,o.Button,{color:"grey",content:"Close",onClick:function(){function h(){return u("help")}return h}()})]})})})},I=function(c,m){var l=(0,t.useBackend)(m),u=l.act,s=l.data,i=s.lines,h=s.playing,C=s.repeat,v=s.maxRepeats,p=s.tempo,N=s.minTempo,V=s.maxTempo,y=s.tickLag,B=s.volume,L=s.minVolume,w=s.maxVolume,x=s.ready;return(0,e.createComponentVNode)(2,o.Section,{title:"Instrument",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"info",content:"Help",onClick:function(){function T(){return u("help")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"file",content:"New",onClick:function(){function T(){return u("newsong")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"upload",content:"Import",onClick:function(){function T(){return u("import")}return T}()})],4),children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Playback",children:[(0,e.createComponentVNode)(2,o.Button,{selected:h,disabled:i.length===0||C<0,icon:"play",content:"Play",onClick:function(){function T(){return u("play")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!h,icon:"stop",content:"Stop",onClick:function(){function T(){return u("stop")}return T}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Repeat",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:0,maxValue:v,value:C,stepPixelSize:59,onChange:function(){function T(M,O){return u("repeat",{new:O})}return T}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Tempo",children:(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Button,{disabled:p>=V,content:"-",as:"span",mr:"0.5rem",onClick:function(){function T(){return u("tempo",{new:p+y})}return T}()}),(0,a.round)(600/p)," BPM",(0,e.createComponentVNode)(2,o.Button,{disabled:p<=N,content:"+",as:"span",ml:"0.5rem",onClick:function(){function T(){return u("tempo",{new:p-y})}return T}()})]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Volume",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:L,maxValue:w,value:B,stepPixelSize:6,onDrag:function(){function T(M,O){return u("setvolume",{new:O})}return T}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",children:x?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:"Ready"}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Instrument Definition Error!"})})]}),(0,e.createComponentVNode)(2,k)]})},k=function(c,m){var l=(0,t.useBackend)(m),u=l.act,s=l.data,i=s.allowedInstrumentNames,h=s.instrumentLoaded,C=s.instrument,v=s.canNoteShift,p=s.noteShift,N=s.noteShiftMin,V=s.noteShiftMax,y=s.sustainMode,B=s.sustainLinearDuration,L=s.sustainExponentialDropoff,w=s.legacy,x=s.sustainDropoffVolume,T=s.sustainHeldNote,M,O;return y===1?(M="Linear",O=(0,e.createComponentVNode)(2,o.Slider,{minValue:.1,maxValue:5,value:B,step:.5,stepPixelSize:85,format:function(){function D(E){return(0,a.round)(E*100)/100+" seconds"}return D}(),onChange:function(){function D(E,P){return u("setlinearfalloff",{new:P/10})}return D}()})):y===2&&(M="Exponential",O=(0,e.createComponentVNode)(2,o.Slider,{minValue:1.025,maxValue:10,value:L,step:.01,format:function(){function D(E){return(0,a.round)(E*1e3)/1e3+"% per decisecond"}return D}(),onChange:function(){function D(E,P){return u("setexpfalloff",{new:P})}return D}()})),i.sort(),(0,e.createComponentVNode)(2,o.Box,{my:-1,children:(0,e.createComponentVNode)(2,o.Collapsible,{mt:"1rem",mb:"0",title:"Advanced",children:(0,e.createComponentVNode)(2,o.Section,{mt:-1,children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Type",children:w?"Legacy":"Synthesized"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Current",children:h?(0,e.createComponentVNode)(2,o.Dropdown,{options:i,selected:C,width:"50%",onSelected:function(){function D(E){return u("switchinstrument",{name:E})}return D}()}):(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"None!"})}),!!(!w&&v)&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Note Shift/Note Transpose",children:(0,e.createComponentVNode)(2,o.Slider,{minValue:N,maxValue:V,value:p,stepPixelSize:2,format:function(){function D(E){return E+" keys / "+(0,a.round)(E/12*100)/100+" octaves"}return D}(),onChange:function(){function D(E,P){return u("setnoteshift",{new:P})}return D}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Sustain Mode",children:[(0,e.createComponentVNode)(2,o.Dropdown,{options:["Linear","Exponential"],selected:M,mb:"0.4rem",onSelected:function(){function D(E){return u("setsustainmode",{new:E})}return D}()}),O]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Volume Dropoff Threshold",children:(0,e.createComponentVNode)(2,o.Slider,{animated:!0,minValue:.01,maxValue:100,value:x,stepPixelSize:6,onChange:function(){function D(E,P){return u("setdropoffvolume",{new:P})}return D}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Sustain indefinitely last held note",children:(0,e.createComponentVNode)(2,o.Button,{selected:T,icon:T?"toggle-on":"toggle-off",content:T?"Yes":"No",onClick:function(){function D(){return u("togglesustainhold")}return D}()})})],4)]}),(0,e.createComponentVNode)(2,o.Button,{icon:"redo",content:"Reset to Default",mt:"0.5rem",onClick:function(){function D(){return u("reset")}return D}()})]})})})},g=function(c,m){var l=(0,t.useBackend)(m),u=l.act,s=l.data,i=s.playing,h=s.lines,C=s.editing;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Editor",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:!C||i,icon:"plus",content:"Add Line",onClick:function(){function v(){return u("newline",{line:h.length+1})}return v}()}),(0,e.createComponentVNode)(2,o.Button,{selected:!C,icon:C?"chevron-up":"chevron-down",onClick:function(){function v(){return u("edit")}return v}()})],4),children:!!C&&(h.length>0?(0,e.createComponentVNode)(2,o.LabeledList,{children:h.map(function(v,p){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:p+1,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:i,icon:"pen",onClick:function(){function N(){return u("modifyline",{line:p+1})}return N}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:i,icon:"trash",onClick:function(){function N(){return u("deleteline",{line:p+1})}return N}()})],4),children:v},p)})}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"Song is empty."}))})}},52736:function(A,r,n){"use strict";r.__esModule=!0,r.Jukebox=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(72253),f=n(36036),b=n(98595),S=r.Jukebox=function(){function g(d,c){var m=(0,o.useBackend)(c),l=m.act,u=m.data,s=u.active,i=u.looping,h=u.track_selected,C=u.volume,v=u.max_volume,p=u.songs,N=u.startTime,V=u.endTime,y=u.worldTime,B=u.need_coin,L=u.payment,w=u.advanced_admin,x=35,T=!L&&B&&!w,M=(0,t.flow)([(0,a.sortBy)(function(j){return j.name})])(p),O=p.find(function(j){return j.name===h}),D=M.length,E=O?M.findIndex(function(j){return j.name===O.name})+1:0,P=function(){function j(F){var W=Math.floor(F/60),z=F%60,K=String(W).padStart(2,"0")+":"+String(z).padStart(2,"0");return K}return j}(),R=(0,e.createComponentVNode)(2,f.Box,{textAlign:"center",children:[s?i?"\u221E":P(Math.round((y-N)/10)):i?"\u221E":P(O.length)," ","/ ",i?"\u221E":P(O.length)]});return(0,e.createComponentVNode)(2,b.Window,{width:350,height:435,title:"\u041C\u0443\u0437\u044B\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0430\u0432\u0442\u043E\u043C\u0430\u0442",children:[T?(0,e.createComponentVNode)(2,k):null,(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack,{children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,title:"\u041F\u0440\u043E\u0438\u0433\u0440\u044B\u0432\u0430\u0442\u0435\u043B\u044C",children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{bold:!0,maxWidth:"240px",children:O.name.length>x?(0,e.createVNode)(1,"marquee",null,O.name,0):O.name}),(0,e.createComponentVNode)(2,f.Stack,{fill:!0,mt:1.5,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,basis:"0",children:(0,e.createComponentVNode)(2,f.Button,{fluid:!0,icon:s?"pause":"play",color:"transparent",content:s?"\u0421\u0442\u043E\u043F":"\u0421\u0442\u0430\u0440\u0442",selected:s,onClick:function(){function j(){return l("toggle")}return j}()})}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,basis:"0",children:(0,e.createComponentVNode)(2,f.Button.Checkbox,{fluid:!0,icon:"undo",content:"\u041F\u043E\u0432\u0442\u043E\u0440",disabled:s||B&&!w,tooltip:B&&!w?"\u0412\u044B \u043D\u0435 \u043C\u043E\u0436\u0435\u0442\u0435 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043E\u0432\u0442\u043E\u0440 \u0437\u0430 \u043C\u043E\u043D\u0435\u0442\u043A\u0443":null,checked:i,onClick:function(){function j(){return l("loop",{looping:!i})}return j}()})})]}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.ProgressBar.Countdown,{start:N,current:i?V:y,end:V,children:R})})]})})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Section,{children:[s?(0,e.createComponentVNode)(2,I):null,(0,e.createComponentVNode)(2,f.Stack,{fill:!0,mb:1.5,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,m:0,children:(0,e.createComponentVNode)(2,f.Button,{color:"transparent",icon:"fast-backward",onClick:function(){function j(){return l("set_volume",{volume:"min"})}return j}()})}),(0,e.createComponentVNode)(2,f.Stack.Item,{m:0,children:(0,e.createComponentVNode)(2,f.Button,{color:"transparent",icon:"undo",onClick:function(){function j(){return l("set_volume",{volume:"reset"})}return j}()})}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,m:0,textAlign:"right",children:(0,e.createComponentVNode)(2,f.Button,{color:"transparent",icon:"fast-forward",onClick:function(){function j(){return l("set_volume",{volume:"max"})}return j}()})})]}),(0,e.createComponentVNode)(2,f.Stack.Item,{textAlign:"center",textColor:"label",children:[(0,e.createComponentVNode)(2,f.Knob,{size:2,color:C<=25?"green":C<=50?"":C<=75?"orange":"red",value:C,unit:"%",minValue:0,maxValue:v,step:1,stepPixelSize:5,onDrag:function(){function j(F,W){return l("set_volume",{volume:W})}return j}()}),"Volume"]})]})})]}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,title:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0442\u0440\u0435\u043A\u0438",buttons:(0,e.createComponentVNode)(2,f.Button,{bold:!0,icon:"random",color:"transparent",content:E+"/"+D,tooltip:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0441\u043B\u0443\u0447\u0430\u0439\u043D\u044B\u0439 \u0442\u0440\u0435\u043A",tooltipPosition:"top-end",onClick:function(){function j(){var F=Math.floor(Math.random()*D),W=M[F];l("select_track",{track:W.name})}return j}()}),children:M.map(function(j){return(0,e.createComponentVNode)(2,f.Stack.Item,{mb:.5,textAlign:"left",children:(0,e.createComponentVNode)(2,f.Button,{fluid:!0,selected:O.name===j.name,color:"translucent",content:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:j.name}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:P(j.length)})]}),onClick:function(){function F(){l("select_track",{track:j.name})}return F}()})},j.name)})})})]})})]})}return g}(),I=function(){return(0,e.createComponentVNode)(2,f.Dimmer,{textAlign:"center",children:[(0,e.createComponentVNode)(2,f.Icon,{name:"music",size:"3",color:"gray",mb:1}),(0,e.createComponentVNode)(2,f.Box,{color:"label",bold:!0,children:"\u0418\u0433\u0440\u0430\u0435\u0442 \u043C\u0443\u0437\u044B\u043A\u0430"})]})},k=function(){return(0,e.createComponentVNode)(2,f.Dimmer,{textAlign:"center",children:[(0,e.createComponentVNode)(2,f.Icon,{name:"coins",size:"6",color:"gold",mr:1}),(0,e.createComponentVNode)(2,f.Box,{color:"label",bold:!0,mt:5,fontSize:2,children:"\u0412\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u043C\u043E\u043D\u0435\u0442\u043A\u0443"})]})}},13618:function(A,r,n){"use strict";r.__esModule=!0,r.KeyComboModal=void 0;var e=n(89005),a=n(70611),t=n(72253),o=n(36036),f=n(98595),b=n(19203),S=n(51057),I=function(l){return l.key!==a.KEY.Alt&&l.key!==a.KEY.Control&&l.key!==a.KEY.Shift&&l.key!==a.KEY.Escape},k={DEL:"Delete",DOWN:"South",END:"Southwest",HOME:"Northwest",INSERT:"Insert",LEFT:"West",PAGEDOWN:"Southeast",PAGEUP:"Northeast",RIGHT:"East",SPACEBAR:"Space",UP:"North"},g=3,d=function(l){var u="";if(l.altKey&&(u+="Alt"),l.ctrlKey&&(u+="Ctrl"),l.shiftKey&&!(l.keyCode>=48&&l.keyCode<=57)&&(u+="Shift"),l.location===g&&(u+="Numpad"),I(l))if(l.shiftKey&&l.keyCode>=48&&l.keyCode<=57){var s=l.keyCode-48;u+="Shift"+s}else{var i=l.key.toUpperCase();u+=k[i]||i}return u},c=r.KeyComboModal=function(){function m(l,u){var s=(0,t.useBackend)(u),i=s.act,h=s.data,C=h.init_value,v=h.large_buttons,p=h.message,N=p===void 0?"":p,V=h.title,y=h.timeout,B=(0,t.useLocalState)(u,"input",C),L=B[0],w=B[1],x=(0,t.useLocalState)(u,"binding",!0),T=x[0],M=x[1],O=function(){function P(R){if(!T){R.key===a.KEY.Enter&&i("submit",{entry:L}),(0,a.isEscape)(R.key)&&i("cancel");return}if(R.preventDefault(),I(R)){D(d(R)),M(!1);return}else if(R.key===a.KEY.Escape){D(C),M(!1);return}}return P}(),D=function(){function P(R){R!==L&&w(R)}return P}(),E=130+(N.length>30?Math.ceil(N.length/3):0)+(N.length&&v?5:0);return(0,e.createComponentVNode)(2,f.Window,{title:V,width:240,height:E,children:[y&&(0,e.createComponentVNode)(2,S.Loader,{value:y}),(0,e.createComponentVNode)(2,f.Window.Content,{onKeyDown:function(){function P(R){O(R)}return P}(),children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Autofocus),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:N})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:T,content:T&&T!==null?"Awaiting input...":""+L,width:"100%",textAlign:"center",onClick:function(){function P(){D(C),M(!0)}return P}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,b.InputButtons,{input:L})})]})]})})]})}return m}()},35655:function(A,r,n){"use strict";r.__esModule=!0,r.KeycardAuth=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.KeycardAuth=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=(0,e.createComponentVNode)(2,t.Section,{title:"Keycard Authentication Device",children:(0,e.createComponentVNode)(2,t.Box,{children:"This device is used to trigger certain high security events. It requires the simultaneous swipe of two high-level ID cards."})});if(!d.swiping&&!d.busy)return(0,e.createComponentVNode)(2,o.Window,{width:540,height:280,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[c,(0,e.createComponentVNode)(2,t.Section,{title:"Choose Action",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Red Alert",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-triangle",disabled:!d.redAvailable,onClick:function(){function l(){return g("triggerevent",{triggerevent:"Red Alert"})}return l}(),content:"Red Alert"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ERT",children:(0,e.createComponentVNode)(2,t.Button,{icon:"broadcast-tower",onClick:function(){function l(){return g("triggerevent",{triggerevent:"Emergency Response Team"})}return l}(),content:"Call ERT"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Maint Access",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"door-open",onClick:function(){function l(){return g("triggerevent",{triggerevent:"Grant Emergency Maintenance Access"})}return l}(),content:"Grant"}),(0,e.createComponentVNode)(2,t.Button,{icon:"door-closed",onClick:function(){function l(){return g("triggerevent",{triggerevent:"Revoke Emergency Maintenance Access"})}return l}(),content:"Revoke"})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Emergency Station-Wide Access",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"door-open",onClick:function(){function l(){return g("triggerevent",{triggerevent:"Activate Station-Wide Emergency Access"})}return l}(),content:"Grant"}),(0,e.createComponentVNode)(2,t.Button,{icon:"door-closed",onClick:function(){function l(){return g("triggerevent",{triggerevent:"Deactivate Station-Wide Emergency Access"})}return l}(),content:"Revoke"})]})]})})]})});var m=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Waiting for YOU to swipe your ID..."});return!d.hasSwiped&&!d.ertreason&&d.event==="Emergency Response Team"?m=(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Fill out the reason for your ERT request."}):d.hasConfirm?m=(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Request Confirmed!"}):d.isRemote?m=(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Swipe your card to CONFIRM the remote request."}):d.hasSwiped&&(m=(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Waiting for second person to confirm..."})),(0,e.createComponentVNode)(2,o.Window,{width:540,height:265,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[c,d.event==="Emergency Response Team"&&(0,e.createComponentVNode)(2,t.Section,{title:"Reason for ERT Call",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{color:d.ertreason?"":"red",icon:d.ertreason?"check":"pencil-alt",content:d.ertreason?d.ertreason:"-----",disabled:d.busy,onClick:function(){function l(){return g("ert")}return l}()})})}),(0,e.createComponentVNode)(2,t.Section,{title:d.event,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-circle-left",content:"Back",disabled:d.busy||d.hasConfirm,onClick:function(){function l(){return g("reset")}return l}()}),children:m})]})})}return b}()},62955:function(A,r,n){"use strict";r.__esModule=!0,r.KitchenMachine=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(62411),b=r.KitchenMachine=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.data,m=d.config,l=c.ingredients,u=c.operating,s=m.title;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:320,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Operating,{operating:u,name:s}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,S)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Ingredients",children:(0,e.createComponentVNode)(2,t.Table,{className:"Ingredient__Table",children:l.map(function(i){return(0,e.createComponentVNode)(2,t.Table.Row,{tr:5,children:[(0,e.createVNode)(1,"td",null,(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:i.name}),2),(0,e.createVNode)(1,"td",null,(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,textAlign:"center",children:[i.amount," ",i.units]}),2)]},i.name)})})})})]})})})}return I}(),S=function(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.inactive,u=m.tooltip;return(0,e.createComponentVNode)(2,t.Section,{title:"Controls",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"power-off",disabled:l,tooltip:l?u:"",tooltipPosition:"bottom",content:"Activate",onClick:function(){function s(){return c("cook")}return s}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"eject",disabled:l,tooltip:l?u:"",tooltipPosition:"bottom",content:"Eject Contents",onClick:function(){function s(){return c("eject")}return s}()})})]})})}},9525:function(A,r,n){"use strict";r.__esModule=!0,r.LawManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.LawManager=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.isAdmin,s=l.isSlaved,i=l.isMalf,h=l.isAIMalf,C=l.view;return(0,e.createComponentVNode)(2,o.Window,{width:800,height:i?620:365,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!(u&&s)&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:["This unit is slaved to ",s,"."]}),!!(i||h)&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Law Management",selected:C===0,onClick:function(){function v(){return m("set_view",{set_view:0})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Lawsets",selected:C===1,onClick:function(){function v(){return m("set_view",{set_view:1})}return v}()})]}),C===0&&(0,e.createComponentVNode)(2,b),C===1&&(0,e.createComponentVNode)(2,S)]})})}return k}(),b=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.has_zeroth_laws,s=l.zeroth_laws,i=l.has_ion_laws,h=l.ion_laws,C=l.ion_law_nr,v=l.has_inherent_laws,p=l.inherent_laws,N=l.has_supplied_laws,V=l.supplied_laws,y=l.channels,B=l.channel,L=l.isMalf,w=l.isAdmin,x=l.zeroth_law,T=l.ion_law,M=l.inherent_law,O=l.supplied_law,D=l.supplied_law_position;return(0,e.createFragment)([!!u&&(0,e.createComponentVNode)(2,I,{title:"ERR_NULL_VALUE",laws:s,ctx:d}),!!i&&(0,e.createComponentVNode)(2,I,{title:C,laws:h,ctx:d}),!!v&&(0,e.createComponentVNode)(2,I,{title:"Inherent",laws:p,ctx:d}),!!N&&(0,e.createComponentVNode)(2,I,{title:"Supplied",laws:V,ctx:d}),(0,e.createComponentVNode)(2,t.Section,{title:"Statement Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Statement Channel",children:y.map(function(E){return(0,e.createComponentVNode)(2,t.Button,{content:E.channel,selected:E.channel===B,onClick:function(){function P(){return m("law_channel",{law_channel:E.channel})}return P}()},E.channel)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"State Laws",children:(0,e.createComponentVNode)(2,t.Button,{content:"State Laws",onClick:function(){function E(){return m("state_laws")}return E}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Law Notification",children:(0,e.createComponentVNode)(2,t.Button,{content:"Notify",onClick:function(){function E(){return m("notify_laws")}return E}()})})]})}),!!L&&(0,e.createComponentVNode)(2,t.Section,{title:"Add Laws",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Type"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"60%",children:"Law"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Index"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"20%",children:"Actions"})]}),!!(w&&!u)&&(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Zero"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:x}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function E(){return m("change_zeroth_law")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function E(){return m("add_zeroth_law")}return E}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Ion"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:T}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function E(){return m("change_ion_law")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function E(){return m("add_ion_law")}return E}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Inherent"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:M}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"N/A"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function E(){return m("change_inherent_law")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function E(){return m("add_inherent_law")}return E}()})]})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Supplied"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:O}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:D,onClick:function(){function E(){return m("change_supplied_law_position")}return E}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function E(){return m("change_supplied_law")}return E}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Add",icon:"plus",onClick:function(){function E(){return m("add_supplied_law")}return E}()})]})]})]})})],0)},S=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.law_sets;return(0,e.createComponentVNode)(2,t.Box,{children:u.map(function(s){return(0,e.createComponentVNode)(2,t.Section,{title:s.name+" - "+s.header,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Load Laws",icon:"download",onClick:function(){function i(){return m("transfer_laws",{transfer_laws:s.ref})}return i}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[s.laws.has_ion_laws>0&&s.laws.ion_laws.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.index,children:i.law},i.index)}),s.laws.has_zeroth_laws>0&&s.laws.zeroth_laws.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.index,children:i.law},i.index)}),s.laws.has_inherent_laws>0&&s.laws.inherent_laws.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.index,children:i.law},i.index)}),s.laws.has_supplied_laws>0&&s.laws.inherent_laws.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.index,children:i.law},i.index)})]})},s.name)})})},I=function(g,d){var c=(0,a.useBackend)(g.ctx),m=c.act,l=c.data,u=l.isMalf;return(0,e.createComponentVNode)(2,t.Section,{title:g.title+" Laws",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"10%",children:"Index"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"69%",children:"Law"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"21%",children:"State?"})]}),g.laws.map(function(s){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.index}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s.law}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{content:s.state?"Yes":"No",selected:s.state,onClick:function(){function i(){return m("state_law",{ref:s.ref,state_law:s.state?0:1})}return i}()}),!!u&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Edit",icon:"pencil-alt",onClick:function(){function i(){return m("edit_law",{edit_law:s.ref})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Delete",icon:"trash",color:"red",onClick:function(){function i(){return m("delete_law",{delete_law:s.ref})}return i}()})],4)]})]},s.law)})]})})}},85066:function(A,r,n){"use strict";r.__esModule=!0,r.LibraryComputer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=r.LibraryComputer=function(){function C(v,p){return(0,e.createComponentVNode)(2,o.Window,{width:1050,height:600,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,c)]})})]})}return C}(),S=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=v.args,L=y.user_ckey;return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:B.title}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Author",children:B.author}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Summary",children:B.summary}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rating",children:[B.rating,(0,e.createComponentVNode)(2,t.Icon,{name:"star",color:"yellow",verticalAlign:"top"})]}),!B.isProgrammatic&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Categories",children:B.categories.join(", ")})]}),(0,e.createVNode)(1,"br"),L===B.ckey&&(0,e.createComponentVNode)(2,t.Button,{content:"Delete Book",icon:"trash",color:"red",disabled:B.isProgrammatic,onClick:function(){function w(){return V("delete_book",{bookid:B.id,user_ckey:L})}return w}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Report Book",icon:"flag",color:"red",disabled:B.isProgrammatic,onClick:function(){function w(){return(0,f.modalOpen)(p,"report_book",{bookid:B.id})}return w}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Rate Book",icon:"star",color:"caution",disabled:B.isProgrammatic,onClick:function(){function w(){return(0,f.modalOpen)(p,"rate_info",{bookid:B.id})}return w}()})]})},I=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=v.args,L=y.selected_report,w=y.report_categories,x=y.user_ckey;return(0,e.createComponentVNode)(2,t.Section,{level:2,m:"-1rem",pb:"1.5rem",title:"Report this book for Rule Violations",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:B.title}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Reasons",children:(0,e.createComponentVNode)(2,t.Box,{children:w.map(function(T,M){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:T.description,selected:T.category_id===L,onClick:function(){function O(){return V("set_report",{report_type:T.category_id})}return O}()}),(0,e.createVNode)(1,"br")],4,M)})})})]}),(0,e.createComponentVNode)(2,t.Button.Confirm,{bold:!0,icon:"paper-plane",content:"Submit Report",onClick:function(){function T(){return V("submit_report",{bookid:B.id,user_ckey:x})}return T}()})]})},k=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.selected_rating,L=Array(10).fill().map(function(w,x){return 1+x});return(0,e.createComponentVNode)(2,t.Stack,{children:[L.map(function(w,x){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{bold:!0,icon:"star",color:B>=w?"caution":"default",onClick:function(){function T(){return V("set_rating",{rating_value:w})}return T}()})},x)}),(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,ml:2,fontSize:"150%",children:[B+"/10",(0,e.createComponentVNode)(2,t.Icon,{name:"star",color:"yellow",ml:.5,verticalAlign:"top"})]})]})},g=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=v.args,L=y.user_ckey;return(0,e.createComponentVNode)(2,t.Section,{level:2,m:"-1rem",pb:"1.5rem",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:B.title}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Author",children:B.author}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rating",children:[B.current_rating?B.current_rating:0,(0,e.createComponentVNode)(2,t.Icon,{name:"star",color:"yellow",ml:.5,verticalAlign:"middle"})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Total Ratings",children:B.total_ratings?B.total_ratings:0})]}),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,t.Button.Confirm,{mt:2,content:"Submit",icon:"paper-plane",onClick:function(){function w(){return V("rate_book",{bookid:B.id,user_ckey:L})}return w}()})]})},d=function(v,p){var N=(0,a.useBackend)(p),V=N.data,y=(0,a.useLocalState)(p,"tabIndex",0),B=y[0],L=y[1],w=V.login_state;return(0,e.createComponentVNode)(2,t.Stack.Item,{mb:1,children:(0,e.createComponentVNode)(2,t.Tabs,{fluid:!0,textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:B===0,onClick:function(){function x(){return L(0)}return x}(),children:"Book Archives"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:B===1,onClick:function(){function x(){return L(1)}return x}(),children:"Corporate Literature"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:B===2,onClick:function(){function x(){return L(2)}return x}(),children:"Upload Book"}),w===1&&(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:B===3,onClick:function(){function x(){return L(3)}return x}(),children:"Patron Manager"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:B===4,onClick:function(){function x(){return L(4)}return x}(),children:"Inventory"})]})})},c=function(v,p){var N=(0,a.useLocalState)(p,"tabIndex",0),V=N[0];switch(V){case 0:return(0,e.createComponentVNode)(2,l);case 1:return(0,e.createComponentVNode)(2,u);case 2:return(0,e.createComponentVNode)(2,s);case 3:return(0,e.createComponentVNode)(2,i);case 4:return(0,e.createComponentVNode)(2,h);default:return"You are somehow on a tab that doesn't exist! Please let a coder know."}},m=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.searchcontent,L=y.book_categories,w=y.user_ckey,x=[];return L.map(function(T){return x[T.description]=T.category_id}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"35%",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.2rem",m:".5em",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"edit",verticalAlign:"middle",size:1.5,mr:"1rem"}),"Search Inputs"]}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,t.Button,{textAlign:"left",icon:"pen",width:20,content:B.title||"Input Title",onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_search_title")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Author",children:(0,e.createComponentVNode)(2,t.Button,{textAlign:"left",icon:"pen",width:20,content:B.author||"Input Author",onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_search_author")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Ratings",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{mr:1,width:"min-content",content:B.ratingmin,onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_search_ratingmin")}return T}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:"To"}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{ml:1,width:"min-content",content:B.ratingmax,onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_search_ratingmax")}return T}()})})]})})]})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"40%",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.2rem",m:".5em",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"clipboard-list",verticalAlign:"middle",size:1.5,mr:"1rem"}),"Book Categories"]}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Categories",children:(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Dropdown,{mt:.6,width:"190px",options:L.map(function(T){return T.description}),onSelected:function(){function T(M){return V("toggle_search_category",{category_id:x[M]})}return T}()})})})}),(0,e.createVNode)(1,"br"),L.filter(function(T){return B.categories.includes(T.category_id)}).map(function(T){return(0,e.createComponentVNode)(2,t.Button,{content:T.description,selected:!0,icon:"unlink",onClick:function(){function M(){return V("toggle_search_category",{category_id:T.category_id})}return M}()},T.category_id)})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.2rem",m:".5em",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"search-plus",verticalAlign:"middle",size:1.5,mr:"1rem"}),"Search Actions"]}),(0,e.createComponentVNode)(2,t.Button,{content:"Clear Search",icon:"eraser",onClick:function(){function T(){return V("clear_search")}return T}()}),B.ckey?(0,e.createComponentVNode)(2,t.Button,{mb:.5,content:"Stop Showing My Books",color:"bad",icon:"search",onClick:function(){function T(){return V("clear_ckey_search")}return T}()}):(0,e.createComponentVNode)(2,t.Button,{content:"Find My Books",icon:"search",onClick:function(){function T(){return V("find_users_books",{user_ckey:w})}return T}()})]})]})},l=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.external_booklist,L=y.archive_pagenumber,w=y.num_pages,x=y.login_state;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Book System Access",buttons:(0,e.createVNode)(1,"div",null,[(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-left",disabled:L===1,onClick:function(){function T(){return V("deincrementpagemax")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-left",disabled:L===1,onClick:function(){function T(){return V("deincrementpage")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{bold:!0,content:L,onClick:function(){function T(){return(0,f.modalOpen)(p,"setpagenumber")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",disabled:L===w,onClick:function(){function T(){return V("incrementpage")}return T}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"angle-double-right",disabled:L===w,onClick:function(){function T(){return V("incrementpagemax")}return T}()})],4),children:[(0,e.createComponentVNode)(2,m),(0,e.createVNode)(1,"hr"),(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"SSID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Author"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Ratings"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Category"}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"middle",children:"Actions"})]}),B.map(function(T){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:T.id}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"book",mr:.5}),T.title.length>45?T.title.substr(0,45)+"...":T.title]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:T.author.length>30?T.author.substr(0,30)+"...":T.author}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[T.rating,(0,e.createComponentVNode)(2,t.Icon,{name:"star",ml:.5,color:"yellow",verticalAlign:"middle"})]}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:T.categories.join(", ").substr(0,45)}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",children:[x===1&&(0,e.createComponentVNode)(2,t.Button,{content:"Order",icon:"print",onClick:function(){function M(){return V("order_external_book",{bookid:T.id})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{content:"More...",onClick:function(){function M(){return(0,f.modalOpen)(p,"expand_info",{bookid:T.id})}return M}()})]})]},T.id)})]})]})},u=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.programmatic_booklist,L=y.login_state;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Corporate Book Catalog",children:(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"SSID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Author"}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"middle",children:"Actions"})]}),B.map(function(w,x){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:w.id}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"book",mr:2}),w.title]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:w.author}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",children:[L===1&&(0,e.createComponentVNode)(2,t.Button,{content:"Order",icon:"print",onClick:function(){function T(){return V("order_programmatic_book",{bookid:w.id})}return T}()}),(0,e.createComponentVNode)(2,t.Button,{content:"More...",onClick:function(){function T(){return(0,f.modalOpen)(p,"expand_info",{bookid:w.id})}return T}()})]})]},x)})]})})},s=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.selectedbook,L=y.book_categories,w=y.user_ckey,x=[];return L.map(function(T){return x[T.description]=T.category_id}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Book System Upload",buttons:(0,e.createComponentVNode)(2,t.Button.Confirm,{bold:!0,width:9.5,icon:"upload",disabled:B.copyright,content:"Upload Book",onClick:function(){function T(){return V("uploadbook",{user_ckey:w})}return T}()}),children:[B.copyright?(0,e.createComponentVNode)(2,t.NoticeBox,{color:"red",children:"WARNING: You cannot upload or modify the attributes of a copyrighted book"}):(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Box,{ml:15,mb:3,fontSize:"1.2rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"search-plus",verticalAlign:"middle",size:3,mr:2}),"Book Uploader"]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,t.Button,{width:20,textAlign:"left",icon:"pen",disabled:B.copyright,content:B.title,onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_selected_title")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Author",children:(0,e.createComponentVNode)(2,t.Button,{width:20,textAlign:"left",icon:"pen",disabled:B.copyright,content:B.author,onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_selected_author")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Categories",children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Dropdown,{width:"240px",options:L.map(function(T){return T.description}),onSelected:function(){function T(M){return V("toggle_upload_category",{category_id:x[M]})}return T}()})})})]}),(0,e.createVNode)(1,"br"),L.filter(function(T){return B.categories.includes(T.category_id)}).map(function(T){return(0,e.createComponentVNode)(2,t.Button,{content:T.description,disabled:B.copyright,selected:!0,icon:"unlink",onClick:function(){function M(){return V("toggle_upload_category",{category_id:T.category_id})}return M}()},T.category_id)})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{mr:75,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Summary",children:(0,e.createComponentVNode)(2,t.Button,{icon:"pen",width:"auto",disabled:B.copyright,content:"Edit Summary",onClick:function(){function T(){return(0,f.modalOpen)(p,"edit_selected_summary")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{children:B.summary})]})})]})]})},i=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.checkout_data;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Checked Out Books",children:(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Patron"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Time Left"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Actions"})]}),B.map(function(L,w){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-tag"}),L.patron_name]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:L.title}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.timeleft>=0?L.timeleft:"LATE"}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:(0,e.createComponentVNode)(2,t.Button,{content:"Mark Lost",icon:"flag",color:"bad",disabled:L.timeleft>=0,onClick:function(){function x(){return V("reportlost",{libraryid:L.libraryid})}return x}()})})]},w)})]})})},h=function(v,p){var N=(0,a.useBackend)(p),V=N.act,y=N.data,B=y.inventory_list;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Library Inventory",children:(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"LIB ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Author"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"})]}),B.map(function(L,w){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:L.libraryid}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"book"})," ",L.title]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:L.author}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:L.checked_out?"Checked Out":"Available"})]},w)})]})})};(0,f.modalRegisterBodyOverride)("expand_info",S),(0,f.modalRegisterBodyOverride)("report_book",I),(0,f.modalRegisterBodyOverride)("rate_info",g)},9516:function(A,r,n){"use strict";r.__esModule=!0,r.LibraryManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=r.LibraryManager=function(){function d(c,m){return(0,e.createComponentVNode)(2,o.Window,{width:600,height:600,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,className:"Layout__content--flexColumn",children:(0,e.createComponentVNode)(2,S)})]})}return d}(),S=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.pagestate;switch(i){case 1:return(0,e.createComponentVNode)(2,I);case 2:return(0,e.createComponentVNode)(2,g);case 3:return(0,e.createComponentVNode)(2,k);default:return"WE SHOULDN'T BE HERE!"}},I=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data;return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.4rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-shield",verticalAlign:"middle",size:3,mr:"1rem"}),"Library Manager"]}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{icon:"trash",width:"auto",color:"danger",content:"Delete Book by SSID",onClick:function(){function i(){return(0,f.modalOpen)(m,"specify_ssid_delete")}return i}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"user-slash",width:"auto",color:"danger",content:"Delete All Books By CKEY",onClick:function(){function i(){return(0,f.modalOpen)(m,"specify_ckey_delete")}return i}()}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{icon:"search",width:"auto",content:"View All Books By CKEY",onClick:function(){function i(){return(0,f.modalOpen)(m,"specify_ckey_search")}return i}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"search",width:"auto",content:"View All Reported Books",onClick:function(){function i(){return u("view_reported_books")}return i}()})]})},k=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.reports;return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.2rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-secret",verticalAlign:"middle",size:2,mr:"1rem"}),(0,e.createVNode)(1,"br"),"All Reported Books",(0,e.createVNode)(1,"br")]}),(0,e.createComponentVNode)(2,t.Button,{content:"Return to Main",icon:"arrow-alt-circle-left",onClick:function(){function h(){return u("return")}return h}()}),(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Uploader CKEY"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"SSID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Author"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Report Type"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Reporter Ckey"}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"middle",children:"Administrative Actions"})]}),i.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:h.uploader_ckey}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.id}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"book"}),h.title]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:h.author}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:h.report_description}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:h.reporter_ckey}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button.Confirm,{content:"Delete",icon:"trash",onClick:function(){function C(){return u("delete_book",{bookid:h.id})}return C}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Unflag",icon:"flag",color:"caution",onClick:function(){function C(){return u("unflag_book",{bookid:h.id})}return C}()}),(0,e.createComponentVNode)(2,t.Button,{content:"View",onClick:function(){function C(){return u("view_book",{bookid:h.id})}return C}()})]})]},h.id)})]})})},g=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.ckey,h=s.booklist;return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Table,{className:"Library__Booklist",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.2rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user",verticalAlign:"middle",size:2,mr:"1rem"}),(0,e.createVNode)(1,"br"),"Books uploaded by ",i,(0,e.createVNode)(1,"br")]}),(0,e.createComponentVNode)(2,t.Button,{mt:1,content:"Return to Main",icon:"arrow-alt-circle-left",onClick:function(){function C(){return u("return")}return C}()}),(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"SSID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Title"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Author"}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"middle",children:"Administrative Actions"})]}),h.map(function(C){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:C.id}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"book"}),C.title]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"left",children:C.author}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"right",children:[(0,e.createComponentVNode)(2,t.Button.Confirm,{content:"Delete",icon:"trash",color:"bad",onClick:function(){function v(){return u("delete_book",{bookid:C.id})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{content:"View",onClick:function(){function v(){return u("view_book",{bookid:C.id})}return v}()})]})]},C.id)})]})})}},90447:function(A,r,n){"use strict";r.__esModule=!0,r.ListInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(36036),f=n(72253),b=n(92986),S=n(98595),I=r.ListInputModal=function(){function d(c,m){var l=(0,f.useBackend)(m),u=l.act,s=l.data,i=s.items,h=i===void 0?[]:i,C=s.message,v=C===void 0?"":C,p=s.init_value,N=s.timeout,V=s.title,y=(0,f.useLocalState)(m,"selected",h.indexOf(p)),B=y[0],L=y[1],w=(0,f.useLocalState)(m,"searchBarVisible",h.length>10),x=w[0],T=w[1],M=(0,f.useLocalState)(m,"searchQuery",""),O=M[0],D=M[1],E=function(){function G(J){var Q=z.length-1;if(J===b.KEY_DOWN)if(B===null||B===Q){var ue;L(0),(ue=document.getElementById("0"))==null||ue.scrollIntoView()}else{var ie;L(B+1),(ie=document.getElementById((B+1).toString()))==null||ie.scrollIntoView()}else if(J===b.KEY_UP)if(B===null||B===0){var pe;L(Q),(pe=document.getElementById(Q.toString()))==null||pe.scrollIntoView()}else{var te;L(B-1),(te=document.getElementById((B-1).toString()))==null||te.scrollIntoView()}}return G}(),P=function(){function G(J){J!==B&&L(J)}return G}(),R=function(){function G(){T(!1),T(!0)}return G}(),j=function(){function G(J){var Q=String.fromCharCode(J),ue=h.find(function(te){return te==null?void 0:te.toLowerCase().startsWith(Q==null?void 0:Q.toLowerCase())});if(ue){var ie,pe=h.indexOf(ue);L(pe),(ie=document.getElementById(pe.toString()))==null||ie.scrollIntoView()}}return G}(),F=function(){function G(J){var Q;J!==O&&(D(J),L(0),(Q=document.getElementById("0"))==null||Q.scrollIntoView())}return G}(),W=function(){function G(){T(!x),D("")}return G}(),z=h.filter(function(G){return G==null?void 0:G.toLowerCase().includes(O.toLowerCase())}),K=330+Math.ceil(v.length/3);return x||setTimeout(function(){var G;return(G=document.getElementById(B.toString()))==null?void 0:G.focus()},1),(0,e.createComponentVNode)(2,S.Window,{title:V,width:325,height:K,children:[N&&(0,e.createComponentVNode)(2,a.Loader,{value:N}),(0,e.createComponentVNode)(2,S.Window.Content,{onKeyDown:function(){function G(J){var Q=window.event?J.which:J.keyCode;(Q===b.KEY_DOWN||Q===b.KEY_UP)&&(J.preventDefault(),E(Q)),Q===b.KEY_ENTER&&(J.preventDefault(),u("submit",{entry:z[B]})),!x&&Q>=b.KEY_A&&Q<=b.KEY_Z&&(J.preventDefault(),j(Q)),Q===b.KEY_ESCAPE&&(J.preventDefault(),u("cancel"))}return G}(),children:(0,e.createComponentVNode)(2,o.Section,{buttons:(0,e.createComponentVNode)(2,o.Button,{compact:!0,icon:x?"search":"font",selected:!0,tooltip:x?"Search Mode. Type to search or use arrow keys to select manually.":"Hotkey Mode. Type a letter to jump to the first match. Enter to select.",tooltipPosition:"left",onClick:function(){function G(){return W()}return G}()}),className:"ListInput__Section",fill:!0,title:v,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,k,{filteredItems:z,onClick:P,onFocusSearch:R,searchBarVisible:x,selected:B})}),(0,e.createComponentVNode)(2,o.Stack.Item,{m:0,children:x&&(0,e.createComponentVNode)(2,g,{filteredItems:z,onSearch:F,searchQuery:O,selected:B})}),(0,e.createComponentVNode)(2,o.Stack.Item,{mt:.5,children:(0,e.createComponentVNode)(2,t.InputButtons,{input:z[B]})})]})})})]})}return d}(),k=function(c,m){var l=(0,f.useBackend)(m),u=l.act,s=c.filteredItems,i=c.onClick,h=c.onFocusSearch,C=c.searchBarVisible,v=c.selected;return(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,tabIndex:0,children:s.map(function(p,N){return(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:"transparent",id:N,onClick:function(){function V(){return i(N)}return V}(),onDblClick:function(){function V(y){y.preventDefault(),u("submit",{entry:s[v]})}return V}(),onKeyDown:function(){function V(y){var B=window.event?y.which:y.keyCode;C&&B>=b.KEY_A&&B<=b.KEY_Z&&(y.preventDefault(),h())}return V}(),selected:N===v,style:{animation:"none",transition:"none"},children:p.replace(/^\w/,function(V){return V.toUpperCase()})},N)})})},g=function(c,m){var l=(0,f.useBackend)(m),u=l.act,s=c.filteredItems,i=c.onSearch,h=c.searchQuery,C=c.selected;return(0,e.createComponentVNode)(2,o.Input,{width:"100%",autoFocus:!0,autoSelect:!0,onEnter:function(){function v(p){p.preventDefault(),u("submit",{entry:s[C]})}return v}(),onInput:function(){function v(p,N){return i(N)}return v}(),placeholder:"Search...",value:h})}},26826:function(A,r,n){"use strict";r.__esModule=!0,r.Loadout=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b={Default:function(){function c(m,l){return m.gear.gear_tier-l.gear.gear_tier}return c}(),Alphabetical:function(){function c(m,l){return m.gear.name.toLowerCase().localeCompare(l.gear.name.toLowerCase())}return c}(),Cost:function(){function c(m,l){return m.gear.cost-l.gear.cost}return c}()},S=r.Loadout=function(){function c(m,l){var u=(0,t.useBackend)(l),s=u.act,i=u.data,h=(0,t.useLocalState)(l,"search",!1),C=h[0],v=h[1],p=(0,t.useLocalState)(l,"searchText",""),N=p[0],V=p[1],y=(0,t.useLocalState)(l,"category",Object.keys(i.gears)[0]),B=y[0],L=y[1],w=(0,t.useLocalState)(l,"tweakedGear",""),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,f.Window,{width:1105,height:650,children:[x&&(0,e.createComponentVNode)(2,d,{tweakedGear:x,setTweakedGear:T}),(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,I,{category:B,setCategory:L})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"25%",children:(0,e.createComponentVNode)(2,g,{setTweakedGear:T})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"75%",children:(0,e.createComponentVNode)(2,k,{category:B,search:C,setSearch:v,searchText:N,setSearchText:V})})]})})]})})]})}return c}(),I=function(m,l){var u=(0,t.useBackend)(l),s=u.act,i=u.data,h=m.category,C=m.setCategory;return(0,e.createComponentVNode)(2,o.Tabs,{fluid:!0,textAlign:"center",style:{"flex-wrap":"wrap-reverse"},children:Object.keys(i.gears).map(function(v){return(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:v===h,style:{"white-space":"nowrap"},onClick:function(){function p(){return C(v)}return p}(),children:v},v)})})},k=function(m,l){var u=(0,t.useBackend)(l),s=u.act,i=u.data,h=i.user_tier,C=i.gear_slots,v=i.max_gear_slots,p=m.category,N=m.search,V=m.setSearch,y=m.searchText,B=m.setSearchText,L=(0,t.useLocalState)(l,"sortType","Default"),w=L[0],x=L[1],T=(0,t.useLocalState)(l,"sortReverse",!1),M=T[0],O=T[1],D=(0,a.createSearch)(y,function(P){return P.name}),E;return y.length>2?E=Object.entries(i.gears).reduce(function(P,R){var j=R[0],F=R[1];return P.concat(Object.entries(F).map(function(W){var z=W[0],K=W[1];return{key:z,gear:K}}))},[]).filter(function(P){var R=P.gear;return D(R)}):E=Object.entries(i.gears[p]).map(function(P){var R=P[0],j=P[1];return{key:R,gear:j}}),E.sort(b[w]),M&&(E=E.reverse()),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:p,buttons:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Dropdown,{height:1.66,selected:w,options:Object.keys(b),onSelected:function(){function P(R){return x(R)}return P}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:M?"arrow-down-wide-short":"arrow-down-short-wide",tooltip:M?"Ascending order":"Descending order",tooltipPosition:"bottom-end",onClick:function(){function P(){return O(!M)}return P}()})}),N&&(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Input,{width:20,placeholder:"Search...",value:y,onInput:function(){function P(R){return B(R.target.value)}return P}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:"magnifying-glass",selected:N,tooltip:"Toggle search field",tooltipPosition:"bottom-end",onClick:function(){function P(){V(!N),B("")}return P}()})})]}),children:E.map(function(P){var R=P.key,j=P.gear,F=12,W=Object.keys(i.selected_gears).includes(R),z=j.cost===1?j.cost+" Point":j.cost+" Points",K=(0,e.createComponentVNode)(2,o.Box,{children:[j.name.length>F&&(0,e.createComponentVNode)(2,o.Box,{children:j.name}),j.gear_tier>h&&(0,e.createComponentVNode)(2,o.Box,{mt:j.name.length>F&&1.5,textColor:"red",children:"That gear is only available at a higher donation tier than you are on."})]}),G=(0,e.createFragment)([j.allowed_roles&&(0,e.createComponentVNode)(2,o.Button,{width:"22px",color:"transparent",icon:"user",tooltip:(0,e.createComponentVNode)(2,o.Section,{m:-1,title:"Allowed Roles",children:j.allowed_roles.map(function(Q){return(0,e.createComponentVNode)(2,o.Box,{children:Q},Q)})}),tooltipPosition:"left"}),Object.entries(j.tweaks).map(function(Q){var ue=Q[0],ie=Q[1];return ie.map(function(pe){return(0,e.createComponentVNode)(2,o.Button,{width:"22px",color:"transparent",icon:pe.icon,tooltip:pe.tooltip,tooltipPosition:"top"},ue)})}),(0,e.createComponentVNode)(2,o.Button,{width:"22px",color:"transparent",icon:"info",tooltip:j.desc,tooltipPosition:"top"})],0),J=(0,e.createComponentVNode)(2,o.Box,{class:"Loadout-InfoBox",children:[(0,e.createComponentVNode)(2,o.Box,{style:{"flex-grow":1},fontSize:1,color:"gold",opacity:.75,children:j.gear_tier>0&&"Tier "+j.gear_tier}),(0,e.createComponentVNode)(2,o.Box,{fontSize:.75,opacity:.66,children:z})]});return(0,e.createComponentVNode)(2,o.ImageButton,{m:.5,imageSize:84,dmIcon:j.icon,dmIconState:j.icon_state,tooltip:(j.name.length>F||j.gear_tier>0)&&K,tooltipPosition:"bottom",selected:W,disabled:j.gear_tier>h||C+j.cost>v&&!W,buttons:G,buttonsAlt:J,onClick:function(){function Q(){return s("toggle_gear",{gear:R})}return Q}(),children:j.name},R)})})},g=function(m,l){var u=(0,t.useBackend)(l),s=u.act,i=u.data,h=m.setTweakedGear,C=Object.entries(i.gears).reduce(function(v,p){var N=p[0],V=p[1],y=Object.entries(V).filter(function(B){var L=B[0];return Object.keys(i.selected_gears).includes(L)}).map(function(B){var L=B[0],w=B[1];return Object.assign({key:L},w)});return v.concat(y)},[]);return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Selected Equipment",buttons:(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",tooltip:"Clear Loadout",tooltipPosition:"bottom-end",onClick:function(){function v(){return s("clear_loadout")}return v}()}),children:C.map(function(v){return(0,e.createComponentVNode)(2,o.ImageButton,{fluid:!0,imageSize:32,dmIcon:v.icon,dmIconState:v.icon_state,buttons:(0,e.createFragment)([Object.entries(v.tweaks).length>0&&(0,e.createComponentVNode)(2,o.Button,{translucent:!0,icon:"gears",iconColor:"gray",width:"33px",onClick:function(){function p(){return h(v)}return p}()}),(0,e.createComponentVNode)(2,o.Button,{translucent:!0,icon:"times",iconColor:"red",width:"32px",onClick:function(){function p(){return s("toggle_gear",{gear:v.key})}return p}()})],0),children:v.name},v.key)})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.ProgressBar,{value:i.gear_slots,maxValue:i.max_gear_slots,ranges:{bad:[i.max_gear_slots,1/0],average:[i.max_gear_slots*.66,i.max_gear_slots],good:[0,i.max_gear_slots*.66]},children:(0,e.createComponentVNode)(2,o.Box,{textAlign:"center",children:["Used points ",i.gear_slots,"/",i.max_gear_slots]})})})})]})},d=function(m,l){var u=(0,t.useBackend)(l),s=u.act,i=u.data,h=m.tweakedGear,C=m.setTweakedGear;return(0,e.createComponentVNode)(2,o.Dimmer,{children:(0,e.createComponentVNode)(2,o.Box,{className:"Loadout-Modal__background",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,width:20,height:20,title:h.name,buttons:(0,e.createComponentVNode)(2,o.Button,{color:"red",icon:"times",tooltip:"Close",tooltipPosition:"top",onClick:function(){function v(){return C("")}return v}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:Object.entries(h.tweaks).map(function(v){var p=v[0],N=v[1];return N.map(function(V){var y=i.selected_gears[h.key][p];return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:V.name,color:y?"":"gray",buttons:(0,e.createComponentVNode)(2,o.Button,{color:"transparent",icon:"pen",onClick:function(){function B(){return s("set_tweak",{gear:h.key,tweak:p})}return B}()}),children:[y||"Default",(0,e.createComponentVNode)(2,o.Box,{inline:!0,ml:1,width:1,height:1,verticalAlign:"middle",style:{"background-color":""+y}})]},p)})})})})})})}},77613:function(A,r,n){"use strict";r.__esModule=!0,r.MODsuitContent=r.MODsuit=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(B,L){var w=B.name,x=B.value,T=B.module_ref,M=(0,a.useBackend)(L),O=M.act;return(0,e.createComponentVNode)(2,t.NumberInput,{value:x,minValue:-50,maxValue:50,stepPixelSize:5,width:"39px",onChange:function(){function D(E,P){return O("configure",{key:w,value:P,ref:T})}return D}()})},b=function(B,L){var w=B.name,x=B.value,T=B.module_ref,M=(0,a.useBackend)(L),O=M.act;return(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:x,onClick:function(){function D(){return O("configure",{key:w,value:!x,ref:T})}return D}()})},S=function(B,L){var w=B.name,x=B.value,T=B.module_ref,M=(0,a.useBackend)(L),O=M.act;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"paint-brush",onClick:function(){function D(){return O("configure",{key:w,ref:T})}return D}()}),(0,e.createComponentVNode)(2,t.ColorBox,{color:x,mr:.5})],4)},I=function(B,L){var w=B.name,x=B.value,T=B.values,M=B.module_ref,O=(0,a.useBackend)(L),D=O.act;return(0,e.createComponentVNode)(2,t.Dropdown,{displayText:x,options:T,onSelected:function(){function E(P){return D("configure",{key:w,value:P,ref:M})}return E}()})},k=function(B,L){var w=B.name,x=B.display_name,T=B.type,M=B.value,O=B.values,D=B.module_ref,E={number:(0,e.normalizeProps)((0,e.createComponentVNode)(2,f,Object.assign({},B))),bool:(0,e.normalizeProps)((0,e.createComponentVNode)(2,b,Object.assign({},B))),color:(0,e.normalizeProps)((0,e.createComponentVNode)(2,S,Object.assign({},B))),list:(0,e.normalizeProps)((0,e.createComponentVNode)(2,I,Object.assign({},B)))};return(0,e.createComponentVNode)(2,t.Box,{children:[x,": ",E[T]]})},g=function(B,L){var w=B.active,x=B.userradiated,T=B.usertoxins,M=B.usermaxtoxins,O=B.threatlevel;return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Radiation Level",color:w&&x?"bad":"good",children:w&&x?"IRRADIATED!":"RADIATION-FREE"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Toxins Level",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?T/M:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:T})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Hazard Level",color:w&&O?"bad":"good",bold:!0,children:w&&O?O:0})})]})},d=function(B,L){var w=B.active,x=B.userhealth,T=B.usermaxhealth,M=B.userbrute,O=B.userburn,D=B.usertoxin,E=B.useroxy;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?x/T:0,ranges:{good:[.5,1/0],average:[.2,.5],bad:[-1/0,.2]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?x:0})})}),(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Brute",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?M/T:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?M:0})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Burn",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?O/T:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?O:0})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Toxin",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?D/T:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?D:0})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Suffocation",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?E/T:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?E:0})})})})]})],4)},c=function(B,L){var w=B.active,x=B.statustime,T=B.statusid,M=B.statushealth,O=B.statusmaxhealth,D=B.statusbrute,E=B.statusburn,P=B.statustoxin,R=B.statusoxy,j=B.statustemp,F=B.statusnutrition,W=B.statusfingerprints,z=B.statusdna,K=B.statusviruses;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Operation Time",children:w?x:"00:00:00"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Operation Number",children:w?T||"0":"???"})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Health",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?M/O:0,ranges:{good:[.5,1/0],average:[.2,.5],bad:[-1/0,.2]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?M:0})})}),(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Brute",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?D/O:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?D:0})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Burn",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?E/O:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:w?E:0})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Toxin",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?P/O:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:P})})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Suffocation",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:w?R/O:0,ranges:{good:[-1/0,.2],average:[.2,.5],bad:[.5,1/0]},children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:R})})})})]}),(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Body Temperature",children:w?j:0})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Nutrition Status",children:w?F:0})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"DNA",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fingerprints",children:w?W:"???"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Unique Enzymes",children:w?z:"???"})]})}),!!w&&!!K&&(0,e.createComponentVNode)(2,t.Section,{title:"Diseases",children:(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"signature",tooltip:"Name",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"wind",tooltip:"Type",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"bolt",tooltip:"Stage",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"flask",tooltip:"Cure",tooltipPosition:"top"})})]}),K.map(function(G){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:G.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:G.type}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:[G.stage,"/",G.maxstage]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:G.cure})]},G.name)})]})})],0)},m={rad_counter:g,health_analyzer:d,status_readout:c},l=function(){return(0,e.createComponentVNode)(2,t.Section,{align:"center",fill:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{color:"red",name:"exclamation-triangle",size:15}),(0,e.createComponentVNode)(2,t.Box,{fontSize:"30px",color:"red",children:"ERROR: INTERFACE UNRESPONSIVE"})]})},u=function(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data;return(0,e.createComponentVNode)(2,t.Dimmer,{children:(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"16px",color:"blue",children:"SUIT UNPOWERED"})})})},s=function(B,L){var w=B.configuration_data,x=B.module_ref,T=Object.keys(w);return(0,e.createComponentVNode)(2,t.Dimmer,{backgroundColor:"rgba(0, 0, 0, 0.8)",children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:[T.map(function(M){var O=w[M];return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,k,{name:M,display_name:O.display_name,type:O.type,value:O.value,values:O.values,module_ref:x})},O.key)}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:B.onExit,icon:"times",textAlign:"center",children:"Exit"})})})]})})},i=function(B){switch(B){case 1:return"Use";case 2:return"Toggle";case 3:return"Select"}},h=function(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.active,O=T.malfunctioning,D=T.locked,E=T.open,P=T.selected_module,R=T.complexity,j=T.complexity_max,F=T.wearer_name,W=T.wearer_job,z=O?"Malfunctioning":M?"Active":"Inactive";return(0,e.createComponentVNode)(2,t.Section,{title:"Parameters",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",content:M?"Deactivate":"Activate",onClick:function(){function K(){return x("activate")}return K}()}),children:z}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID Lock",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:D?"lock-open":"lock",content:D?"Unlock":"Lock",onClick:function(){function K(){return x("lock")}return K}()}),children:D?"Locked":"Unlocked"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cover",children:E?"Open":"Closed"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Selected Module",children:P||"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Complexity",children:[R," (",j,")"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Occupant",children:[F,", ",W]})]})})},C=function(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.active,O=T.control,D=T.helmet,E=T.chestplate,P=T.gauntlets,R=T.boots,j=T.core,F=T.charge;return(0,e.createComponentVNode)(2,t.Section,{title:"Hardware",children:[(0,e.createComponentVNode)(2,t.Collapsible,{title:"Parts",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Control Unit",children:O}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Helmet",children:D||"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Chestplate",children:E||"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Gauntlets",children:P||"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Boots",children:R||"None"})]})}),(0,e.createComponentVNode)(2,t.Collapsible,{title:"Core",children:j&&(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Core Type",children:j}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Core Charge",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:F/100,content:F+"%",ranges:{good:[.6,1/0],average:[.3,.6],bad:[-1/0,.3]}})})]})||(0,e.createComponentVNode)(2,t.Box,{color:"bad",textAlign:"center",children:"No Core Detected"})})]})},v=function(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.active,O=T.modules,D=O.filter(function(E){return!!E.id});return(0,e.createComponentVNode)(2,t.Section,{title:"Info",children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:D.length!==0&&D.map(function(E){var P=m[E.id];return(0,e.createComponentVNode)(2,t.Stack.Item,{children:[!M&&(0,e.createComponentVNode)(2,u),(0,e.normalizeProps)((0,e.createComponentVNode)(2,P,Object.assign({},E,{active:M})))]},E.ref)})||(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",children:"No Info Modules Detected"})})})},p=function(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.complexity_max,O=T.modules,D=(0,a.useLocalState)(L,"module_configuration",null),E=D[0],P=D[1];return(0,e.createComponentVNode)(2,t.Section,{title:"Modules",fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:O.length!==0&&O.map(function(R){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Collapsible,{title:R.module_name,children:(0,e.createComponentVNode)(2,t.Section,{children:[E===R.ref&&(0,e.createComponentVNode)(2,s,{configuration_data:R.configuration_data,module_ref:R.ref,onExit:function(){function j(){return P(null)}return j}()}),(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"save",tooltip:"Complexity",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"plug",tooltip:"Idle Power Cost",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"lightbulb",tooltip:"Active Power Cost",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"bolt",tooltip:"Use Power Cost",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"hourglass-half",tooltip:"Cooldown",tooltipPosition:"top"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{color:"transparent",icon:"tasks",tooltip:"Actions",tooltipPosition:"top"})})]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:[R.module_complexity,"/",M]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:R.idle_power}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:R.active_power}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:R.use_power}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:[R.cooldown>0&&R.cooldown/10||"0","/",R.cooldown_time/10,"s"]}),(0,e.createComponentVNode)(2,t.Table.Cell,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function j(){return x("select",{ref:R.ref})}return j}(),icon:"bullseye",selected:R.module_active,tooltip:i(R.module_type),tooltipPosition:"left",disabled:!R.module_type}),(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function j(){return P(R.ref)}return j}(),icon:"cog",selected:E===R.ref,tooltip:"Configure",tooltipPosition:"left",disabled:R.configuration_data.length===0}),(0,e.createComponentVNode)(2,t.Button,{onClick:function(){function j(){return x("pin",{ref:R.ref})}return j}(),icon:"thumbtack",selected:R.pinned,tooltip:"Pin",tooltipPosition:"left",disabled:!R.module_type})]})]})]}),(0,e.createComponentVNode)(2,t.Box,{children:R.description})]})})},R.ref)})||(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",children:"No Modules Detected"})})})})},N=r.MODsuitContent=function(){function y(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.ui_theme,O=T.interface_break;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!O,children:!!O&&(0,e.createComponentVNode)(2,l)||(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,h)}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,C)}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,v)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,p)})]})})}return y}(),V=r.MODsuit=function(){function y(B,L){var w=(0,a.useBackend)(L),x=w.act,T=w.data,M=T.ui_theme,O=T.interface_break;return(0,e.createComponentVNode)(2,o.Window,{theme:M,width:400,height:620,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,N)})})})}return y}()},78624:function(A,r,n){"use strict";r.__esModule=!0,r.MagnetController=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=n(3939),S=new Map([["n",{icon:"arrow-up",tooltip:"Move North"}],["e",{icon:"arrow-right",tooltip:"Move East"}],["s",{icon:"arrow-down",tooltip:"Move South"}],["w",{icon:"arrow-left",tooltip:"Move West"}],["c",{icon:"crosshairs",tooltip:"Move to Magnet"}],["r",{icon:"dice",tooltip:"Move Randomly"}]]),I=r.MagnetController=function(){function k(g,d){var c=(0,t.useBackend)(d),m=c.act,l=c.data,u=l.autolink,s=l.code,i=l.frequency,h=l.linkedMagnets,C=l.magnetConfiguration,v=l.path,p=l.pathPosition,N=l.probing,V=l.powerState,y=l.speed;return(0,e.createComponentVNode)(2,f.Window,{width:400,height:600,children:[(0,e.createComponentVNode)(2,b.ComplexModal),(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:[!u&&(0,e.createComponentVNode)(2,o.Section,{buttons:(0,e.createComponentVNode)(2,o.Button,{content:"Probe",icon:N?"spinner":"sync",iconSpin:!!N,disabled:N,onClick:function(){function B(){return m("probe_magnets")}return B}()}),title:"Magnet Linking",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",children:(0,a.toFixed)(i/10,1)}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Code",children:s})]})}),(0,e.createComponentVNode)(2,o.Section,{buttons:(0,e.createComponentVNode)(2,o.Button,{icon:V?"power-off":"times",content:V?"On":"Off",selected:V,onClick:function(){function B(){return m("toggle_power")}return B}()}),title:"Controller Configuration",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Speed",children:(0,e.createComponentVNode)(2,o.Slider,{value:y.value,minValue:y.min,maxValue:y.max,onChange:function(){function B(L,w){return m("set_speed",{speed:w})}return B}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Path",children:[Array.from(S.entries()).map(function(B){var L=B[0],w=B[1],x=w.icon,T=w.tooltip;return(0,e.createComponentVNode)(2,o.Button,{icon:x,tooltip:T,onClick:function(){function M(){return m("path_add",{code:L})}return M}()},L)}),(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",confirmIcon:"trash",confirmContent:"",float:"right",tooltip:"Reset Path",tooltipPosition:"left",onClick:function(){function B(){return m("path_clear")}return B}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"file-import",float:"right",tooltip:"Manually input path",tooltipPosition:"left",onClick:function(){function B(){return(0,b.modalOpen)(d,"path_custom_input")}return B}()}),(0,e.createComponentVNode)(2,o.BlockQuote,{children:v.map(function(B,L){var w=S.get(B)||{icon:"question"},x=w.icon,T=w.tooltip;return(0,e.createComponentVNode)(2,o.Button.Confirm,{selected:L+2===p,icon:x,confirmIcon:x,confirmContent:"",tooltip:T,onClick:function(){function M(){return m("path_remove",{index:L+1,code:B})}return M}()},L)})})]})]})}),h.map(function(B,L){var w=B.uid,x=B.powerState,T=B.electricityLevel,M=B.magneticField;return(0,e.createComponentVNode)(2,o.Section,{title:"Magnet #"+(L+1)+" Configuration",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:x?"power-off":"times",content:x?"On":"Off",selected:x,onClick:function(){function O(){return m("toggle_magnet_power",{id:w})}return O}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Move Speed",children:(0,e.createComponentVNode)(2,o.Slider,{value:T,minValue:C.electricityLevel.min,maxValue:C.electricityLevel.max,onChange:function(){function O(D,E){return m("set_electricity_level",{id:w,electricityLevel:E})}return O}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Field Size",children:(0,e.createComponentVNode)(2,o.Slider,{value:M,minValue:C.magneticField.min,maxValue:C.magneticField.max,onChange:function(){function O(D,E){return m("set_magnetic_field",{id:w,magneticField:E})}return O}()})})]})},w)})]})]})}return k}()},72106:function(A,r,n){"use strict";r.__esModule=!0,r.MechBayConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.MechBayConsole=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.recharge_port,m=c&&c.mech,l=m&&m.cell,u=m&&m.name;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:155,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:u?"Mech status: "+u:"Mech status",textAlign:"center",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Sync",onClick:function(){function s(){return g("reconnect")}return s}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:!c&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No power port detected. Please re-sync."})||!m&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No mech detected."})||(0,e.createComponentVNode)(2,t.ProgressBar,{value:m.health/m.maxhealth,ranges:{good:[.7,1/0],average:[.3,.7],bad:[-1/0,.3]}})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:!c&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No power port detected. Please re-sync."})||!m&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No mech detected."})||!l&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No cell is installed."})||(0,e.createComponentVNode)(2,t.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,1/0],average:[.3,.7],bad:[-1/0,.3]},children:[(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})})})}return b}()},7466:function(A,r,n){"use strict";r.__esModule=!0,r.MechaControlConsole=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=n(25328),S=r.MechaControlConsole=function(){function I(k,g){var d=(0,t.useBackend)(g),c=d.act,m=d.data,l=m.beacons,u=m.stored_data;return u.length?(0,e.createComponentVNode)(2,f.Window,{width:420,height:500,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Section,{title:"Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"window-close",onClick:function(){function s(){return c("clear_log")}return s}()}),children:u.map(function(s){return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",children:["(",s.time,")"]}),(0,e.createComponentVNode)(2,o.Box,{children:(0,b.decodeHtmlEntities)(s.message)})]},s.time)})})})}):(0,e.createComponentVNode)(2,f.Window,{width:420,height:500,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:l.length&&l.map(function(s){return(0,e.createComponentVNode)(2,o.Section,{title:s.name,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function i(){return c("send_message",{mt:s.uid})}return i}(),children:"Message"}),(0,e.createComponentVNode)(2,o.Button,{icon:"eye",onClick:function(){function i(){return c("get_log",{mt:s.uid})}return i}(),children:"View Log"}),(0,e.createComponentVNode)(2,o.Button.Confirm,{color:"red",content:"Sabotage",icon:"bomb",onClick:function(){function i(){return c("shock",{mt:s.uid})}return i}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{good:[s.maxHealth*.75,1/0],average:[s.maxHealth*.5,s.maxHealth*.75],bad:[-1/0,s.maxHealth*.5]},value:s.health,maxValue:s.maxHealth})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cell Charge",children:s.cell&&(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{good:[s.cellMaxCharge*.75,1/0],average:[s.cellMaxCharge*.5,s.cellMaxCharge*.75],bad:[-1/0,s.cellMaxCharge*.5]},value:s.cellCharge,maxValue:s.cellMaxCharge})||(0,e.createComponentVNode)(2,o.NoticeBox,{children:"No Cell Installed"})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Air Tank",children:[s.airtank,"kPa"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pilot",children:s.pilot||"Unoccupied"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Location",children:(0,b.toTitleCase)(s.location)||"Unknown"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Active Equipment",children:s.active||"None"}),s.cargoMax&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cargo Space",children:(0,e.createComponentVNode)(2,o.ProgressBar,{ranges:{bad:[s.cargoMax*.75,1/0],average:[s.cargoMax*.5,s.cargoMax*.75],good:[-1/0,s.cargoMax*.5]},value:s.cargoUsed,maxValue:s.cargoMax})})||null]})},s.name)})||(0,e.createComponentVNode)(2,o.NoticeBox,{children:"No mecha beacons found."})})})}return I}()},79625:function(A,r,n){"use strict";r.__esModule=!0,r.MedicalRecords=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(3939),b=n(98595),S=n(321),I=n(5485),k=n(22091),g={Minor:"lightgray",Medium:"good",Harmful:"average","Dangerous!":"bad","BIOHAZARD THREAT!":"darkred"},d={"*Deceased*":"deceased","*SSD*":"ssd","Physically Unfit":"physically_unfit",Disabled:"disabled"},c=function(x,T){(0,f.modalOpen)(x,"edit",{field:T.edit,value:T.value})},m=function(x,T){var M=x.args;return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:M.name||"Virus",children:(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Number of stages",children:M.max_stages}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Spread",children:[M.spread_text," Transmission"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Possible cure",children:M.cure}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Notes",children:M.desc}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Severity",color:g[M.severity],children:M.severity})]})})})},l=r.MedicalRecords=function(){function w(x,T){var M=(0,t.useBackend)(T),O=M.data,D=O.loginState,E=O.screen;if(!D.logged_in)return(0,e.createComponentVNode)(2,b.Window,{width:800,height:900,children:(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,I.LoginScreen)})});var P;return E===2?P=(0,e.createComponentVNode)(2,u):E===3?P=(0,e.createComponentVNode)(2,s):E===4?P=(0,e.createComponentVNode)(2,i):E===5?P=(0,e.createComponentVNode)(2,p):E===6?P=(0,e.createComponentVNode)(2,N):E===7&&(P=(0,e.createComponentVNode)(2,V)),(0,e.createComponentVNode)(2,b.Window,{width:800,height:900,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S.LoginInfo),(0,e.createComponentVNode)(2,k.TemporaryNotice),(0,e.createComponentVNode)(2,L),P]})})]})}return w}(),u=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.records,P=(0,t.useLocalState)(T,"searchText",""),R=P[0],j=P[1],F=(0,t.useLocalState)(T,"sortId","name"),W=F[0],z=F[1],K=(0,t.useLocalState)(T,"sortOrder",!0),G=K[0],J=K[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Manage Records",icon:"wrench",ml:"0.25rem",onClick:function(){function Q(){return O("screen",{screen:3})}return Q}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{fluid:!0,placeholder:"Search by Name, ID, Physical Status, or Mental Status",onInput:function(){function Q(ue,ie){return j(ie)}return Q}()})})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,y,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,y,{id:"id",children:"ID"}),(0,e.createComponentVNode)(2,y,{id:"rank",children:"Assignment"}),(0,e.createComponentVNode)(2,y,{id:"p_stat",children:"Patient Status"}),(0,e.createComponentVNode)(2,y,{id:"m_stat",children:"Mental Status"})]}),E.filter((0,a.createSearch)(R,function(Q){return Q.name+"|"+Q.id+"|"+Q.rank+"|"+Q.p_stat+"|"+Q.m_stat})).sort(function(Q,ue){var ie=G?1:-1;return Q[W].localeCompare(ue[W])*ie}).map(function(Q){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listRow--"+d[Q.p_stat],onClick:function(){function ue(){return O("view_record",{view_record:Q.ref})}return ue}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",Q.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.rank}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.p_stat}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.m_stat})]},Q.id)})]})})})],4)},s=function(x,T){var M=(0,t.useBackend)(T),O=M.act;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,translucent:!0,lineHeight:3,icon:"download",content:"Backup to Disk",disabled:!0})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:[(0,e.createComponentVNode)(2,o.Button,{fluid:!0,translucent:!0,lineHeight:3,icon:"upload",content:"Upload from Disk",my:"0.5rem",disabled:!0})," "]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button.Confirm,{fluid:!0,translucent:!0,lineHeight:3,icon:"trash",content:"Delete All Medical Records",onClick:function(){function D(){return O("del_all_med_records")}return D}()})})]})})},i=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.medical,P=D.printing;return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{height:"235px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"General Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:P?"spinner":"print",disabled:P,iconSpin:!!P,content:"Print Record",ml:"0.5rem",onClick:function(){function R(){return O("print_record")}return R}()}),children:(0,e.createComponentVNode)(2,h)})}),!E||!E.fields?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Medical Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"pen",content:"Create New Record",onClick:function(){function R(){return O("new_med_record")}return R}()}),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"scroll",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"Medical records lost!"]})})})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Medical Data",buttons:(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",disabled:!!E.empty,content:"Delete Medical Record",onClick:function(){function R(){return O("del_med_record")}return R}()}),children:(0,e.createComponentVNode)(2,C)})}),(0,e.createComponentVNode)(2,v)],4)],0)},h=function(x,T){var M=(0,t.useBackend)(T),O=M.data,D=O.general;return!D||!D.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"General records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:D.fields.map(function(E,P){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:E.field,children:[(0,e.createComponentVNode)(2,o.Box,{height:"20px",inline:!0,children:E.value}),!!E.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",onClick:function(){function R(){return c(T,E)}return R}()})]},P)})})}),!!D.has_photos&&D.photos.map(function(E,P){return(0,e.createComponentVNode)(2,o.Stack.Item,{inline:!0,textAlign:"center",color:"label",ml:0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:E,style:{width:"96px","margin-top":"2.5rem","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"br"),"Photo #",P+1]},P)})]})},C=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.medical;return!E||!E.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"Medical records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:E.fields.map(function(P,R){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:P.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(P.value),!!P.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:P.line_break?"1rem":"initial",onClick:function(){function j(){return c(T,P)}return j}()})]},R)})})})})},v=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.medical;return(0,e.createComponentVNode)(2,o.Stack.Item,{height:"150px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Comments/Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"comment",content:"Add Entry",onClick:function(){function P(){return(0,f.modalOpen)(T,"add_comment")}return P}()}),children:E.comments.length===0?(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No comments found."}):E.comments.map(function(P,R){return(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:P.header}),(0,e.createVNode)(1,"br"),P.text,(0,e.createComponentVNode)(2,o.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){function j(){return O("del_comment",{del_comment:R+1})}return j}()})]},R)})})})},p=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.virus,P=(0,t.useLocalState)(T,"searchText",""),R=P[0],j=P[1],F=(0,t.useLocalState)(T,"sortId2","name"),W=F[0],z=F[1],K=(0,t.useLocalState)(T,"sortOrder2",!0),G=K[0],J=K[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{ml:"0.25rem",fluid:!0,placeholder:"Search by Name, Max Stages, or Severity",onInput:function(){function Q(ue,ie){return j(ie)}return Q}()})}),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,B,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,B,{id:"max_stages",children:"Max Stages"}),(0,e.createComponentVNode)(2,B,{id:"severity",children:"Severity"})]}),E.filter((0,a.createSearch)(R,function(Q){return Q.name+"|"+Q.max_stages+"|"+Q.severity})).sort(function(Q,ue){var ie=G?1:-1;return Q[W].localeCompare(ue[W])*ie}).map(function(Q){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listVirus--"+Q.severity,onClick:function(){function ue(){return O("vir",{vir:Q.D})}return ue}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"virus"})," ",Q.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:Q.max_stages}),(0,e.createComponentVNode)(2,o.Table.Cell,{color:g[Q.severity],children:Q.severity})]},Q.id)})]})})})})],4)},N=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.goals;return(0,e.createComponentVNode)(2,o.Section,{title:"Virology Goals",fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:E.length!==0&&E.map(function(P){return(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:P.name,children:[(0,e.createComponentVNode)(2,o.Table,{children:(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:(0,e.createComponentVNode)(2,o.Table.Cell,{textAlign:"center",children:(0,e.createComponentVNode)(2,o.ProgressBar,{value:P.delivered,minValue:0,maxValue:P.deliverygoal,ranges:{good:[P.deliverygoal*.5,1/0],average:[P.deliverygoal*.25,P.deliverygoal*.5],bad:[-1/0,P.deliverygoal*.25]},children:[P.delivered," / ",P.deliverygoal," Units"]})})})}),(0,e.createComponentVNode)(2,o.Box,{children:P.report})]})},P.id)})||(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Box,{textAlign:"center",children:"No Goals Detected"})})})})},V=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.medbots;return E.length===0?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"robot",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"There are no Medibots."]})})})}):(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"MedicalRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Area"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Chemicals"})]}),E.map(function(P){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"MedicalRecords__listMedbot--"+P.on,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"medical"})," ",P.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:[P.area||"Unknown"," (",P.x,", ",P.y,")"]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:P.on?(0,e.createComponentVNode)(2,o.Box,{color:"good",children:"Online"}):(0,e.createComponentVNode)(2,o.Box,{color:"average",children:"Offline"})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:P.use_beaker?"Reservoir: "+P.total_volume+"/"+P.maximum_volume:"Using internal synthesizer"})]},P.id)})]})})})},y=function(x,T){var M=(0,t.useLocalState)(T,"sortId","name"),O=M[0],D=M[1],E=(0,t.useLocalState)(T,"sortOrder",!0),P=E[0],R=E[1],j=x.id,F=x.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:O!==j&&"transparent",onClick:function(){function W(){O===j?R(!P):(D(j),R(!0))}return W}(),children:[F,O===j&&(0,e.createComponentVNode)(2,o.Icon,{name:P?"sort-up":"sort-down",ml:"0.25rem;"})]})})},B=function(x,T){var M=(0,t.useLocalState)(T,"sortId2","name"),O=M[0],D=M[1],E=(0,t.useLocalState)(T,"sortOrder2",!0),P=E[0],R=E[1],j=x.id,F=x.children;return(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,color:O!==j&&"transparent",onClick:function(){function W(){O===j?R(!P):(D(j),R(!0))}return W}(),children:[F,O===j&&(0,e.createComponentVNode)(2,o.Icon,{name:P?"sort-up":"sort-down",ml:"0.25rem;"})]})})},L=function(x,T){var M=(0,t.useBackend)(T),O=M.act,D=M.data,E=D.screen,P=D.general;return(0,e.createComponentVNode)(2,o.Stack.Item,{m:0,children:(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"list",selected:E===2,onClick:function(){function R(){O("screen",{screen:2})}return R}(),children:"List Records"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"database",selected:E===5,onClick:function(){function R(){O("screen",{screen:5})}return R}(),children:"Virus Database"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"vial",selected:E===6,onClick:function(){function R(){O("screen",{screen:6})}return R}(),children:"Virology Goals"}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"plus-square",selected:E===7,onClick:function(){function R(){return O("screen",{screen:7})}return R}(),children:"Medibot Tracking"}),E===3&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"wrench",selected:E===3,children:"Record Maintenance"}),E===4&&P&&!P.empty&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"file",selected:E===4,children:["Record: ",P.fields[0].value]})]})})};(0,f.modalRegisterBodyOverride)("virus",m)},54989:function(A,r,n){"use strict";r.__esModule=!0,r.MerchVendor=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=g.product,s=g.productImage,i=g.productCategory,h=l.user_money;return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+s,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}})}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:u.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{disabled:u.price>h,icon:"shopping-cart",content:u.price,textAlign:"left",onClick:function(){function C(){return m("purchase",{name:u.name,category:i})}return C}()})})]})},b=function(g,d){var c=(0,a.useBackend)(d),m=c.data,l=(0,a.useLocalState)(d,"tabIndex",1),u=l[0],s=m.products,i=m.imagelist,h=["apparel","toy","decoration"];return(0,e.createComponentVNode)(2,t.Table,{children:s[h[u]].map(function(C){return(0,e.createComponentVNode)(2,f,{product:C,productImage:i[C.path],productCategory:h[u]},C.name)})})},S=r.MerchVendor=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.user_cash,s=l.inserted_cash;return(0,e.createComponentVNode)(2,o.Window,{title:"Merch Computer",width:450,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"User",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{color:"light-grey",inline:!0,mr:"0.5rem",children:["There is ",(0,e.createVNode)(1,"b",null,s,0)," credits inserted."]}),(0,e.createComponentVNode)(2,t.Button,{disabled:!s,icon:"money-bill-wave-alt",content:"Dispense Change",textAlign:"left",onClick:function(){function i(){return m("change")}return i}()})],4),children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:["Doing your job and not getting any recognition at work? Well, welcome to the merch shop! Here, you can buy cool things in exchange for money you earn when you have completed your Job Objectives.",u!==null&&(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:["Your balance is ",(0,e.createVNode)(1,"b",null,[u||0,(0,e.createTextVNode)(" credits")],0),"."]})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Products",children:[(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,b)]})})]})})})}return k}(),I=function(g,d){var c=(0,a.useBackend)(d),m=c.data,l=(0,a.useLocalState)(d,"tabIndex",1),u=l[0],s=l[1],i=m.login_state;return(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"dice",selected:u===1,onClick:function(){function h(){return s(1)}return h}(),children:"Toys"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"flag",selected:u===2,onClick:function(){function h(){return s(2)}return h}(),children:"Decorations"})]})}},87684:function(A,r,n){"use strict";r.__esModule=!0,r.MiningVendor=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=["title","items","gridLayout"];function S(l,u){if(l==null)return{};var s={};for(var i in l)if({}.hasOwnProperty.call(l,i)){if(u.includes(i))continue;s[i]=l[i]}return s}var I={Alphabetical:function(){function l(u,s){return u-s}return l}(),Availability:function(){function l(u,s){return-(u.affordable-s.affordable)}return l}(),Price:function(){function l(u,s){return u.price-s.price}return l}()},k=r.MiningVendor=function(){function l(u,s){var i=(0,t.useLocalState)(s,"gridLayout",!1),h=i[0],C=i[1];return(0,e.createComponentVNode)(2,f.Window,{width:400,height:525,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,g),(0,e.createComponentVNode)(2,c,{gridLayout:h,setGridLayout:C}),(0,e.createComponentVNode)(2,d,{gridLayout:h})]})})})}return l}(),g=function(u,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=C.has_id,p=C.id;return(0,e.createComponentVNode)(2,o.NoticeBox,{success:v,children:v?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{inline:!0,verticalAlign:"middle",style:{float:"left"},children:["Logged in as ",p.name,".",(0,e.createVNode)(1,"br"),"You have ",p.points.toLocaleString("en-US")," points."]}),(0,e.createComponentVNode)(2,o.Button,{icon:"eject",content:"Eject ID",style:{float:"right"},onClick:function(){function N(){return h("logoff")}return N}()}),(0,e.createComponentVNode)(2,o.Box,{style:{clear:"both"}})],4):"Please insert an ID in order to make purchases."})},d=function(u,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=C.has_id,p=C.id,N=C.items,V=u.gridLayout,y=(0,t.useLocalState)(s,"search",""),B=y[0],L=y[1],w=(0,t.useLocalState)(s,"sort","Alphabetical"),x=w[0],T=w[1],M=(0,t.useLocalState)(s,"descending",!1),O=M[0],D=M[1],E=(0,a.createSearch)(B,function(j){return j[0]}),P=!1,R=Object.entries(N).map(function(j,F){var W=Object.entries(j[1]).filter(E).map(function(z){return z[1].affordable=v&&p.points>=z[1].price,z[1]}).sort(I[x]);if(W.length!==0)return O&&(W=W.reverse()),P=!0,(0,e.createComponentVNode)(2,m,{title:j[0],items:W,gridLayout:V},j[0])});return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:P?R:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No items matching your criteria was found!"})})})},c=function(u,s){var i=u.gridLayout,h=u.setGridLayout,C=(0,t.useLocalState)(s,"search",""),v=C[0],p=C[1],N=(0,t.useLocalState)(s,"sort",""),V=N[0],y=N[1],B=(0,t.useLocalState)(s,"descending",!1),L=B[0],w=B[1];return(0,e.createComponentVNode)(2,o.Box,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{mt:.2,placeholder:"Search by item name..",width:"100%",onInput:function(){function x(T,M){return p(M)}return x}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:i?"list":"table-cells-large",height:1.75,tooltip:i?"Toggle List Layout":"Toggle Grid Layout",tooltipPosition:"bottom-start",onClick:function(){function x(){return h(!i)}return x}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"30%",children:(0,e.createComponentVNode)(2,o.Dropdown,{selected:"Alphabetical",options:Object.keys(I),width:"100%",onSelected:function(){function x(T){return y(T)}return x}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{icon:L?"arrow-down":"arrow-up",height:1.75,tooltip:L?"Descending order":"Ascending order",tooltipPosition:"bottom-start",onClick:function(){function x(){return w(!L)}return x}()})})]})})},m=function(u,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=u.title,p=u.items,N=u.gridLayout,V=S(u,b);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Collapsible,Object.assign({open:!0,title:v},V,{children:p.map(function(y){return N?(0,e.createComponentVNode)(2,o.ImageButton,{mb:.5,imageSize:57.5,dmIcon:y.icon,dmIconState:y.icon_state,disabled:!C.has_id||C.id.points0?'\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u044B \u043F\u043E\u0438\u0441\u043A\u0430 "'+u+'"':"\u0412\u0441\u0435 \u043C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 - "+m.length,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:m.filter(function(h){return h.name&&(u.length>0?h.name.toLowerCase().includes(u.toLowerCase())||h.desc.toLowerCase().includes(u.toLowerCase())||h.author.toLowerCase().includes(u.toLowerCase()):!0)}).map(function(h){return(0,e.createComponentVNode)(2,o.Collapsible,{title:h.name,children:[(0,e.createComponentVNode)(2,o.Section,{title:"\u0410\u0432\u0442\u043E\u0440\u044B",children:h.author}),(0,e.createComponentVNode)(2,o.Section,{title:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",children:h.desc})]},h.name)})})})})})],4)}return S}()},59783:function(A,r,n){"use strict";r.__esModule=!0,r.NTRecruiter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.NTRecruiter=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.gamestatus,m=d.cand_name,l=d.cand_birth,u=d.cand_age,s=d.cand_species,i=d.cand_planet,h=d.cand_job,C=d.cand_records,v=d.cand_curriculum,p=d.total_curriculums,N=d.reason;if(c===0)return(0,e.createComponentVNode)(2,o.Window,{width:400,height:550,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{pt:"45%",fontSize:"31px",color:"white",textAlign:"center",bold:!0,children:"Nanotrasen Recruiter Simulator"}),(0,e.createComponentVNode)(2,t.Stack.Item,{pt:"1%",fontSize:"16px",textAlign:"center",color:"label",children:"Work as the Nanotrasen recruiter and avoid hiring incompetent employees!"})]})}),(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button,{textAlign:"center",lineHeight:2,fluid:!0,icon:"play",color:"green",content:"Begin Shift",onClick:function(){function V(){return g("start_game")}return V}()}),(0,e.createComponentVNode)(2,t.Button,{textAlign:"center",lineHeight:2,fluid:!0,icon:"info",color:"blue",content:"Guide",onClick:function(){function V(){return g("instructions")}return V}()})]})]})})});if(c===1)return(0,e.createComponentVNode)(2,o.Window,{width:400,height:550,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,color:"grey",title:"Guide",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-left",content:"Main Menu",onClick:function(){function V(){return g("back_to_menu")}return V}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"1#",color:"silver",children:["To win this game you must hire/dismiss ",(0,e.createVNode)(1,"b",null,p,0)," candidates, one wrongly made choice leads to a game over."]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"2#",color:"silver",children:"Make the right choice by truly putting yourself into the skin of a recruiter working for Nanotrasen!"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"3#",color:"silver",children:[(0,e.createVNode)(1,"b",null,"Unique",16)," characters may appear, pay attention to them!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"4#",color:"silver",children:"Make sure to pay attention to details like age, planet names, the requested job and even the species of the candidate!"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"5#",color:"silver",children:["Not every employment record is good, remember to make your choice based on the ",(0,e.createVNode)(1,"b",null,"company morals",16),"!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"6#",color:"silver",children:"The planet of origin has no restriction on the species of the candidate, don't think too much when you see humans that came from Boron!"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"7#",color:"silver",children:["Pay attention to ",(0,e.createVNode)(1,"b",null,"typos",16)," and ",(0,e.createVNode)(1,"b",null,"missing words",16),", these do make for bad applications!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"8#",color:"silver",children:["Remember, you are recruiting people to work at one of the many NT stations, so no hiring for"," ",(0,e.createVNode)(1,"b",null,"jobs",16)," that they ",(0,e.createVNode)(1,"b",null,"don't offer",16),"!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"9#",color:"silver",children:["Keep your eyes open for incompatible ",(0,e.createVNode)(1,"b",null,"naming schemes",16),", no company wants a Vox named Joe!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"10#",color:"silver",children:["For some unknown reason ",(0,e.createVNode)(1,"b",null,"clowns",16)," are never denied by the company, no matter what."]})]})})})})});if(c===2)return(0,e.createComponentVNode)(2,o.Window,{width:400,height:550,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,color:"label",fontSize:"14px",title:"Employment Applications",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"24px",textAlign:"center",color:"silver",bold:!0,children:["Candidate Number #",v]}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",color:"silver",children:(0,e.createVNode)(1,"b",null,m,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Species",color:"silver",children:(0,e.createVNode)(1,"b",null,s,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Age",color:"silver",children:(0,e.createVNode)(1,"b",null,u,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Date of Birth",color:"silver",children:(0,e.createVNode)(1,"b",null,l,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Planet of Origin",color:"silver",children:(0,e.createVNode)(1,"b",null,i,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Requested Job",color:"silver",children:(0,e.createVNode)(1,"b",null,h,0)}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Employment Records",color:"silver",children:(0,e.createVNode)(1,"b",null,C,0)})]})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Stamp the application!",color:"grey",textAlign:"center",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"red",content:"Dismiss",fontSize:"150%",icon:"ban",lineHeight:4.5,onClick:function(){function V(){return g("dismiss")}return V}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"green",content:"Hire",fontSize:"150%",icon:"arrow-circle-up",lineHeight:4.5,onClick:function(){function V(){return g("hire")}return V}()})})]})})})]})})});if(c===3)return(0,e.createComponentVNode)(2,o.Window,{width:400,height:550,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{pt:"40%",fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,color:"red",fontSize:"50px",textAlign:"center",children:"Game Over"}),(0,e.createComponentVNode)(2,t.Stack.Item,{fontSize:"15px",color:"label",textAlign:"center",children:N}),(0,e.createComponentVNode)(2,t.Stack.Item,{color:"blue",fontSize:"20px",textAlign:"center",pt:"10px",children:["FINAL SCORE: ",v-1,"/",p]})]})}),(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Button,{lineHeight:4,fluid:!0,icon:"arrow-left",content:"Main Menu",onClick:function(){function V(){return g("back_to_menu")}return V}()})})]})})})}return b}()},64713:function(A,r,n){"use strict";r.__esModule=!0,r.Newscaster=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(76910),b=n(98595),S=n(3939),I=n(22091),k=["icon","iconSpin","selected","security","onClick","title","children"],g=["name"];function d(B,L){if(B==null)return{};var w={};for(var x in B)if({}.hasOwnProperty.call(B,x)){if(L.includes(x))continue;w[x]=B[x]}return w}var c=128,m=["security","engineering","medical","science","service","supply"],l={security:{title:"Security",fluff_text:"Help keep the crew safe"},engineering:{title:"Engineering",fluff_text:"Ensure the station runs smoothly"},medical:{title:"Medical",fluff_text:"Practice medicine and save lives"},science:{title:"Science",fluff_text:"Develop new technologies"},service:{title:"Service",fluff_text:"Provide amenities to the crew"},supply:{title:"Supply",fluff_text:"Keep the station supplied"}},u=r.Newscaster=function(){function B(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=M.is_security,D=M.is_admin,E=M.is_silent,P=M.is_printing,R=M.screen,j=M.channels,F=M.channel_idx,W=F===void 0?-1:F,z=(0,t.useLocalState)(w,"menuOpen",!1),K=z[0],G=z[1],J=(0,t.useLocalState)(w,"viewingPhoto",""),Q=J[0],ue=J[1],ie=(0,t.useLocalState)(w,"censorMode",!1),pe=ie[0],te=ie[1],q;R===0||R===2?q=(0,e.createComponentVNode)(2,i):R===1&&(q=(0,e.createComponentVNode)(2,h));var ne=j.reduce(function(le,ee){return le+ee.unread},0);return(0,e.createComponentVNode)(2,b.Window,{theme:O&&"security",width:800,height:600,children:[Q?(0,e.createComponentVNode)(2,p):(0,e.createComponentVNode)(2,S.ComplexModal,{maxWidth:window.innerWidth/1.5+"px",maxHeight:window.innerHeight/1.5+"px"}),(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Section,{fill:!0,className:(0,a.classes)(["Newscaster__menu",K&&"Newscaster__menu--open"]),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,s,{icon:"bars",title:"Toggle Menu",onClick:function(){function le(){return G(!K)}return le}()}),(0,e.createComponentVNode)(2,s,{icon:"newspaper",title:"Headlines",selected:R===0,onClick:function(){function le(){return T("headlines")}return le}(),children:ne>0&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--unread",children:ne>=10?"9+":ne})}),(0,e.createComponentVNode)(2,s,{icon:"briefcase",title:"Job Openings",selected:R===1,onClick:function(){function le(){return T("jobs")}return le}()}),(0,e.createComponentVNode)(2,o.Divider)]}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:j.map(function(le){return(0,e.createComponentVNode)(2,s,{icon:le.icon,title:le.name,selected:R===2&&j[W-1]===le,onClick:function(){function ee(){return T("channel",{uid:le.uid})}return ee}(),children:le.unread>0&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--unread",children:le.unread>=10?"9+":le.unread})},le)})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:[(0,e.createComponentVNode)(2,o.Divider),(!!O||!!D)&&(0,e.createFragment)([(0,e.createComponentVNode)(2,s,{security:!0,icon:"exclamation-circle",title:"Edit Wanted Notice",mb:"0.5rem",onClick:function(){function le(){return(0,S.modalOpen)(w,"wanted_notice")}return le}()}),(0,e.createComponentVNode)(2,s,{security:!0,icon:pe?"minus-square":"minus-square-o",title:"Censor Mode: "+(pe?"On":"Off"),mb:"0.5rem",onClick:function(){function le(){return te(!pe)}return le}()}),(0,e.createComponentVNode)(2,o.Divider)],4),(0,e.createComponentVNode)(2,s,{icon:"pen-alt",title:"New Story",mb:"0.5rem",onClick:function(){function le(){return(0,S.modalOpen)(w,"create_story")}return le}()}),(0,e.createComponentVNode)(2,s,{icon:"plus-circle",title:"New Channel",onClick:function(){function le(){return(0,S.modalOpen)(w,"create_channel")}return le}()}),(0,e.createComponentVNode)(2,o.Divider),(0,e.createComponentVNode)(2,s,{icon:P?"spinner":"print",iconSpin:P,title:P?"Printing...":"Print Newspaper",onClick:function(){function le(){return T("print_newspaper")}return le}()}),(0,e.createComponentVNode)(2,s,{icon:E?"volume-mute":"volume-up",title:"Mute: "+(E?"On":"Off"),onClick:function(){function le(){return T("toggle_mute")}return le}()})]})]})}),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,width:"100%",children:[(0,e.createComponentVNode)(2,I.TemporaryNotice),q]})]})})]})}return B}(),s=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=L.icon,O=M===void 0?"":M,D=L.iconSpin,E=L.selected,P=E===void 0?!1:E,R=L.security,j=R===void 0?!1:R,F=L.onClick,W=L.title,z=L.children,K=d(L,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({className:(0,a.classes)(["Newscaster__menuButton",P&&"Newscaster__menuButton--selected",j&&"Newscaster__menuButton--security"]),onClick:F},K,{children:[P&&(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--selectedBar"}),(0,e.createComponentVNode)(2,o.Icon,{name:O,spin:D,size:"2"}),(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__menuButton--title",children:W}),z]})))},i=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=M.screen,D=M.is_admin,E=M.channel_idx,P=M.channel_can_manage,R=M.channels,j=M.stories,F=M.wanted,W=(0,t.useLocalState)(w,"fullStories",[]),z=W[0],K=W[1],G=(0,t.useLocalState)(w,"censorMode",!1),J=G[0],Q=G[1],ue=O===2&&E>-1?R[E-1]:null;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[!!F&&(0,e.createComponentVNode)(2,C,{story:F,wanted:!0}),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:ue?ue.icon:"newspaper",mr:"0.5rem"}),ue?ue.name:"Headlines"],0),children:j.length>0?j.slice().reverse().map(function(ie){return!z.includes(ie.uid)&&ie.body.length+3>c?Object.assign({},ie,{body_short:ie.body.substr(0,c-4)+"..."}):ie}).map(function(ie,pe){return(0,e.createComponentVNode)(2,C,{story:ie},pe)}):(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__emptyNotice",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"times",size:"3"}),(0,e.createVNode)(1,"br"),"There are no stories at this time."]})}),!!ue&&(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,height:"40%",title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"info-circle",mr:"0.5rem"}),(0,e.createTextVNode)("About")],4),buttons:(0,e.createFragment)([J&&(0,e.createComponentVNode)(2,o.Button,{disabled:!!ue.admin&&!D,selected:ue.censored,icon:ue.censored?"comment-slash":"comment",content:ue.censored?"Uncensor Channel":"Censor Channel",mr:"0.5rem",onClick:function(){function ie(){return T("censor_channel",{uid:ue.uid})}return ie}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!P,icon:"cog",content:"Manage",onClick:function(){function ie(){return(0,S.modalOpen)(w,"manage_channel",{uid:ue.uid})}return ie}()})],0),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description",children:ue.description||"N/A"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",children:ue.author||"N/A"}),!!D&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Ckey",children:ue.author_ckey}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Public",children:ue.public?"Yes":"No"}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Total Views",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"eye",mr:"0.5rem"}),j.reduce(function(ie,pe){return ie+pe.view_count},0).toLocaleString()]})]})})]})},h=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=M.jobs,D=M.wanted,E=Object.entries(O).reduce(function(P,R){var j=R[0],F=R[1];return P+F.length},0);return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[!!D&&(0,e.createComponentVNode)(2,C,{story:D,wanted:!0}),(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"briefcase",mr:"0.5rem"}),(0,e.createTextVNode)("Job Openings")],4),buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",color:"label",children:"Work for a better future at Nanotrasen"}),children:E>0?m.map(function(P){return Object.assign({},l[P],{id:P,jobs:O[P]})}).filter(function(P){return!!P&&P.jobs.length>0}).map(function(P){return(0,e.createComponentVNode)(2,o.Section,{className:(0,a.classes)(["Newscaster__jobCategory","Newscaster__jobCategory--"+P.id]),title:P.title,buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",color:"label",children:P.fluff_text}),children:P.jobs.map(function(R){return(0,e.createComponentVNode)(2,o.Box,{class:(0,a.classes)(["Newscaster__jobOpening",!!R.is_command&&"Newscaster__jobOpening--command"]),children:["\u2022 ",R.title]},R.title)})},P.id)}):(0,e.createComponentVNode)(2,o.Box,{className:"Newscaster__emptyNotice",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"times",size:"3"}),(0,e.createVNode)(1,"br"),"There are no openings at this time."]})}),(0,e.createComponentVNode)(2,o.Section,{height:"17%",children:["Interested in serving Nanotrasen?",(0,e.createVNode)(1,"br"),"Sign up for any of the above position now at the ",(0,e.createVNode)(1,"b",null,"Head of Personnel's Office!",16),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.Box,{as:"small",color:"label",children:"By signing up for a job at Nanotrasen, you agree to transfer your soul to the loyalty department of the omnipresent and helpful watcher of humanity."})]})]})},C=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=L.story,D=L.wanted,E=D===void 0?!1:D,P=M.is_admin,R=(0,t.useLocalState)(w,"fullStories",[]),j=R[0],F=R[1],W=(0,t.useLocalState)(w,"censorMode",!1),z=W[0],K=W[1];return(0,e.createComponentVNode)(2,o.Section,{className:(0,a.classes)(["Newscaster__story",E&&"Newscaster__story--wanted"]),title:(0,e.createFragment)([E&&(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-circle",mr:"0.5rem"}),O.censor_flags&2&&"[REDACTED]"||O.title||"News from "+O.author],0),buttons:(0,e.createComponentVNode)(2,o.Box,{mt:"0.25rem",children:(0,e.createComponentVNode)(2,o.Box,{color:"label",children:[!E&&z&&(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:(0,e.createComponentVNode)(2,o.Button,{enabled:O.censor_flags&2,icon:O.censor_flags&2?"comment-slash":"comment",content:O.censor_flags&2?"Uncensor":"Censor",mr:"0.5rem",mt:"-0.25rem",onClick:function(){function G(){return T("censor_story",{uid:O.uid})}return G}()})}),(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",O.author," |\xA0",!!P&&(0,e.createFragment)([(0,e.createTextVNode)("ckey: "),O.author_ckey,(0,e.createTextVNode)(" |\xA0")],0),!E&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Icon,{name:"eye"}),(0,e.createTextVNode)(" "),O.view_count.toLocaleString(),(0,e.createTextVNode)(" |\xA0")],0),(0,e.createComponentVNode)(2,o.Icon,{name:"clock"})," ",(0,f.timeAgo)(O.publish_time,M.world_time)]})]})}),children:(0,e.createComponentVNode)(2,o.Box,{children:O.censor_flags&2?"[REDACTED]":(0,e.createFragment)([!!O.has_photo&&(0,e.createComponentVNode)(2,v,{name:"story_photo_"+O.uid+".png",float:"right",ml:"0.5rem"}),(O.body_short||O.body).split("\n").map(function(G,J){return(0,e.createComponentVNode)(2,o.Box,{children:G||(0,e.createVNode)(1,"br")},J)}),O.body_short&&(0,e.createComponentVNode)(2,o.Button,{content:"Read more..",mt:"0.5rem",onClick:function(){function G(){return F([].concat(j,[O.uid]))}return G}()}),(0,e.createComponentVNode)(2,o.Box,{clear:"right"})],0)})})},v=function(L,w){var x=L.name,T=d(L,g),M=(0,t.useLocalState)(w,"viewingPhoto",""),O=M[0],D=M[1];return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Box,Object.assign({as:"img",className:"Newscaster__photo",src:x,onClick:function(){function E(){return D(x)}return E}()},T)))},p=function(L,w){var x=(0,t.useLocalState)(w,"viewingPhoto",""),T=x[0],M=x[1];return(0,e.createComponentVNode)(2,o.Modal,{className:"Newscaster__photoZoom",children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",src:T}),(0,e.createComponentVNode)(2,o.Button,{icon:"times",content:"Close",color:"grey",mt:"1rem",onClick:function(){function O(){return M("")}return O}()})]})},N=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=!!L.args.uid&&M.channels.filter(function(oe){return oe.uid===L.args.uid}).pop();if(L.id==="manage_channel"&&!O){(0,S.modalClose)(w);return}var D=L.id==="manage_channel",E=!!L.args.is_admin,P=L.args.scanned_user,R=(0,t.useLocalState)(w,"author",(O==null?void 0:O.author)||P||"Unknown"),j=R[0],F=R[1],W=(0,t.useLocalState)(w,"name",(O==null?void 0:O.name)||""),z=W[0],K=W[1],G=(0,t.useLocalState)(w,"description",(O==null?void 0:O.description)||""),J=G[0],Q=G[1],ue=(0,t.useLocalState)(w,"icon",(O==null?void 0:O.icon)||"newspaper"),ie=ue[0],pe=ue[1],te=(0,t.useLocalState)(w,"isPublic",D?!!(O!=null&&O.public):!1),q=te[0],ne=te[1],le=(0,t.useLocalState)(w,"adminLocked",(O==null?void 0:O.admin)===1||!1),ee=le[0],re=le[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:D?"Manage "+O.name:"Create New Channel",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!E,width:"100%",value:j,onInput:function(){function oe(fe,me){return F(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",placeholder:"50 characters max.",maxLength:"50",value:z,onInput:function(){function oe(fe,me){return K(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description (optional)",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{multiline:!0,width:"100%",placeholder:"128 characters max.",maxLength:"128",value:J,onInput:function(){function oe(fe,me){return Q(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Icon",children:[(0,e.createComponentVNode)(2,o.Input,{disabled:!E,value:ie,width:"35%",mr:"0.5rem",onInput:function(){function oe(fe,me){return pe(me)}return oe}()}),(0,e.createComponentVNode)(2,o.Icon,{name:ie,size:"2",verticalAlign:"middle",mr:"0.5rem"})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Accept Public Stories?",children:(0,e.createComponentVNode)(2,o.Button,{selected:q,icon:q?"toggle-on":"toggle-off",content:q?"Yes":"No",onClick:function(){function oe(){return ne(!q)}return oe}()})}),E&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:ee,icon:ee?"lock":"lock-open",content:ee?"On":"Off",tooltip:"Locking this channel will make it editable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function oe(){return re(!ee)}return oe}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:j.trim().length===0||z.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function oe(){(0,S.modalAnswer)(w,L.id,"",{author:j,name:z.substr(0,49),description:J.substr(0,128),icon:ie,public:q?1:0,admin_locked:ee?1:0})}return oe}()})]})},V=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=M.photo,D=M.channels,E=M.channel_idx,P=E===void 0?-1:E,R=!!L.args.is_admin,j=L.args.scanned_user,F=D.slice().sort(function(oe,fe){if(P<0)return 0;var me=D[P-1];if(me.uid===oe.uid)return-1;if(me.uid===fe.uid)return 1}).filter(function(oe){return R||!oe.frozen&&(oe.author===j||!!oe.public)}),W=(0,t.useLocalState)(w,"author",j||"Unknown"),z=W[0],K=W[1],G=(0,t.useLocalState)(w,"channel",F.length>0?F[0].name:""),J=G[0],Q=G[1],ue=(0,t.useLocalState)(w,"title",""),ie=ue[0],pe=ue[1],te=(0,t.useLocalState)(w,"body",""),q=te[0],ne=te[1],le=(0,t.useLocalState)(w,"adminLocked",!1),ee=le[0],re=le[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:"Create New Story",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Author",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!R,width:"100%",value:z,onInput:function(){function oe(fe,me){return K(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Channel",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Dropdown,{selected:J,options:F.map(function(oe){return oe.name}),mb:"0",width:"100%",onSelected:function(){function oe(fe){return Q(fe)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Divider),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",placeholder:"128 characters max.",maxLength:"128",value:ie,onInput:function(){function oe(fe,me){return pe(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Story Text",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{fluid:!0,multiline:!0,placeholder:"1024 characters max.",maxLength:"1024",rows:"8",width:"100%",value:q,onInput:function(){function oe(fe,me){return ne(me)}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Photo (optional)",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{icon:"image",selected:O,content:O?"Eject: "+O.name:"Insert Photo",tooltip:!O&&"Attach a photo to this story by holding the photograph in your hand.",onClick:function(){function oe(){return T(O?"eject_photo":"attach_photo")}return oe}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Preview",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Section,{noTopPadding:!0,title:ie,maxHeight:"13.5rem",overflow:"auto",children:(0,e.createComponentVNode)(2,o.Box,{mt:"0.5rem",children:[!!O&&(0,e.createComponentVNode)(2,v,{name:"inserted_photo_"+O.uid+".png",float:"right"}),q.split("\n").map(function(oe,fe){return(0,e.createComponentVNode)(2,o.Box,{children:oe||(0,e.createVNode)(1,"br")},fe)}),(0,e.createComponentVNode)(2,o.Box,{clear:"right"})]})})}),R&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:ee,icon:ee?"lock":"lock-open",content:ee?"On":"Off",tooltip:"Locking this story will make it censorable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function oe(){return re(!ee)}return oe}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:z.trim().length===0||J.trim().length===0||ie.trim().length===0||q.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function oe(){(0,S.modalAnswer)(w,"create_story","",{author:z,channel:J,title:ie.substr(0,127),body:q.substr(0,1023),admin_locked:ee?1:0})}return oe}()})]})},y=function(L,w){var x=(0,t.useBackend)(w),T=x.act,M=x.data,O=M.photo,D=M.wanted,E=!!L.args.is_admin,P=L.args.scanned_user,R=(0,t.useLocalState)(w,"author",(D==null?void 0:D.author)||P||"Unknown"),j=R[0],F=R[1],W=(0,t.useLocalState)(w,"name",(D==null?void 0:D.title.substr(8))||""),z=W[0],K=W[1],G=(0,t.useLocalState)(w,"description",(D==null?void 0:D.body)||""),J=G[0],Q=G[1],ue=(0,t.useLocalState)(w,"adminLocked",(D==null?void 0:D.admin_locked)===1||!1),ie=ue[0],pe=ue[1];return(0,e.createComponentVNode)(2,o.Section,{m:"-1rem",pb:"1.5rem",title:"Manage Wanted Notice",children:[(0,e.createComponentVNode)(2,o.Box,{mx:"0.5rem",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Authority",children:(0,e.createComponentVNode)(2,o.Input,{disabled:!E,width:"100%",value:j,onInput:function(){function te(q,ne){return F(ne)}return te}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:(0,e.createComponentVNode)(2,o.Input,{width:"100%",value:z,maxLength:"128",onInput:function(){function te(q,ne){return K(ne)}return te}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Description",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Input,{multiline:!0,width:"100%",value:J,maxLength:"512",rows:"4",onInput:function(){function te(q,ne){return Q(ne)}return te}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Photo (optional)",verticalAlign:"top",children:[(0,e.createComponentVNode)(2,o.Button,{icon:"image",selected:O,content:O?"Eject: "+O.name:"Insert Photo",tooltip:!O&&"Attach a photo to this wanted notice by holding the photograph in your hand.",tooltipPosition:"top",onClick:function(){function te(){return T(O?"eject_photo":"attach_photo")}return te}()}),!!O&&(0,e.createComponentVNode)(2,v,{name:"inserted_photo_"+O.uid+".png",float:"right"})]}),E&&(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"CentComm Lock",verticalAlign:"top",children:(0,e.createComponentVNode)(2,o.Button,{selected:ie,icon:ie?"lock":"lock-open",content:ie?"On":"Off",tooltip:"Locking this wanted notice will make it editable by nobody but CentComm officers.",tooltipPosition:"top",onClick:function(){function te(){return pe(!ie)}return te}()})})]})}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:!D,icon:"eraser",color:"danger",content:"Clear",position:"absolute",right:"7.25rem",bottom:"-0.75rem",onClick:function(){function te(){T("clear_wanted_notice"),(0,S.modalClose)(w)}return te}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{disabled:j.trim().length===0||z.trim().length===0||J.trim().length===0,icon:"check",color:"good",content:"Submit",position:"absolute",right:"1rem",bottom:"-0.75rem",onClick:function(){function te(){(0,S.modalAnswer)(w,L.id,"",{author:j,name:z.substr(0,127),description:J.substr(0,511),admin_locked:ie?1:0})}return te}()})]})};(0,S.modalRegisterBodyOverride)("create_channel",N),(0,S.modalRegisterBodyOverride)("manage_channel",N),(0,S.modalRegisterBodyOverride)("create_story",V),(0,S.modalRegisterBodyOverride)("wanted_notice",y)},48286:function(A,r,n){"use strict";r.__esModule=!0,r.Noticeboard=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=r.Noticeboard=function(){function S(I,k){var g=(0,t.useBackend)(k),d=g.act,c=g.data,m=c.papers;return(0,e.createComponentVNode)(2,f.Window,{width:600,height:300,theme:"noticeboard",children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:m.map(function(l){return(0,e.createComponentVNode)(2,o.Stack.Item,{align:"center",width:"22.45%",height:"85%",onClick:function(){function u(){return d("interact",{paper:l.ref})}return u}(),onContextMenu:function(){function u(s){s.preventDefault(),d("showFull",{paper:l.ref})}return u}(),children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,fontSize:.75,title:l.name,children:(0,a.decodeHtmlEntities)(l.contents)})},l.ref)})})})})}return S}()},41166:function(A,r,n){"use strict";r.__esModule=!0,r.NuclearBomb=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.NuclearBomb=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data;return d.extended?(0,e.createComponentVNode)(2,o.Window,{width:350,height:290,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Authorization",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auth Disk",children:(0,e.createComponentVNode)(2,t.Button,{icon:d.authdisk?"eject":"id-card",selected:d.authdisk,content:d.diskname?d.diskname:"-----",tooltip:d.authdisk?"Eject Disk":"Insert Disk",onClick:function(){function c(){return g("auth")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auth Code",children:(0,e.createComponentVNode)(2,t.Button,{icon:"key",disabled:!d.authdisk,selected:d.authcode,content:d.codemsg,onClick:function(){function c(){return g("code")}return c}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Arming & Disarming",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Bolted to floor",children:(0,e.createComponentVNode)(2,t.Button,{icon:d.anchored?"check":"times",selected:d.anchored,disabled:!d.authdisk,content:d.anchored?"YES":"NO",onClick:function(){function c(){return g("toggle_anchor")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Time Left",children:(0,e.createComponentVNode)(2,t.Button,{icon:"stopwatch",content:d.time,disabled:!d.authfull,tooltip:"Set Timer",onClick:function(){function c(){return g("set_time")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safety",children:(0,e.createComponentVNode)(2,t.Button,{icon:d.safety?"check":"times",selected:d.safety,disabled:!d.authfull,content:d.safety?"ON":"OFF",tooltip:d.safety?"Disable Safety":"Enable Safety",onClick:function(){function c(){return g("toggle_safety")}return c}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Arm/Disarm",children:(0,e.createComponentVNode)(2,t.Button,{icon:(d.timer,"bomb"),disabled:d.safety||!d.authfull,color:"red",content:d.timer?"DISARM THE NUKE":"ARM THE NUKE",onClick:function(){function c(){return g("toggle_armed")}return c}()})})]})})]})}):(0,e.createComponentVNode)(2,o.Window,{width:350,height:115,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Deployment",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"exclamation-triangle",content:"Deploy Nuclear Device (will bolt device to floor)",onClick:function(){function c(){return g("deploy")}return c}()})})})})}return b}()},52416:function(A,r,n){"use strict";r.__esModule=!0,r.NumberInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(92986),f=n(72253),b=n(36036),S=n(98595),I=r.NumberInputModal=function(){function g(d,c){var m=(0,f.useBackend)(c),l=m.act,u=m.data,s=u.init_value,i=u.large_buttons,h=u.message,C=h===void 0?"":h,v=u.timeout,p=u.title,N=(0,f.useLocalState)(c,"input",s),V=N[0],y=N[1],B=function(){function x(T){T!==V&&y(T)}return x}(),L=function(){function x(T){T!==V&&y(T)}return x}(),w=140+Math.max(Math.ceil(C.length/3),C.length>0&&i?5:0);return(0,e.createComponentVNode)(2,S.Window,{title:p,width:270,height:w,children:[v&&(0,e.createComponentVNode)(2,a.Loader,{value:v}),(0,e.createComponentVNode)(2,S.Window.Content,{onKeyDown:function(){function x(T){var M=window.event?T.which:T.keyCode;M===o.KEY_ENTER&&l("submit",{entry:V}),M===o.KEY_ESCAPE&&l("cancel")}return x}(),children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Box,{color:"label",children:C})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,k,{input:V,onClick:L,onChange:B})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,t.InputButtons,{input:V})})]})})})]})}return g}(),k=function(d,c){var m=(0,f.useBackend)(c),l=m.act,u=m.data,s=u.min_value,i=u.max_value,h=u.init_value,C=u.round_value,v=d.input,p=d.onClick,N=d.onChange,V=Math.round(v!==s?Math.max(v/2,s):i/2),y=v===s&&s>0||v===1;return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Button,{disabled:v===s,icon:"angle-double-left",onClick:function(){function B(){return p(s)}return B}(),tooltip:v===s?"Min":"Min ("+s+")"})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.RestrictedInput,{autoFocus:!0,autoSelect:!0,fluid:!0,allowFloats:!C,minValue:s,maxValue:i,onChange:function(){function B(L,w){return N(w)}return B}(),onEnter:function(){function B(L,w){return l("submit",{entry:w})}return B}(),value:v})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Button,{disabled:v===i,icon:"angle-double-right",onClick:function(){function B(){return p(i)}return B}(),tooltip:v===i?"Max":"Max ("+i+")"})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Button,{disabled:y,icon:"divide",onClick:function(){function B(){return p(V)}return B}(),tooltip:y?"Split":"Split ("+V+")"})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Button,{disabled:v===h,icon:"redo",onClick:function(){function B(){return p(h)}return B}(),tooltip:h?"Reset ("+h+")":"Reset"})})]})}},1218:function(A,r,n){"use strict";r.__esModule=!0,r.OperatingComputer=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(98595),f=n(36036),b=[["good","Conscious"],["average","Unconscious"],["bad","DEAD"]],S=[["Resp.","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],I={average:[.25,.5],bad:[.5,1/0]},k=["bad","average","average","good","average","average","bad"],g=r.OperatingComputer=function(){function l(u,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=C.hasOccupant,p=C.choice,N;return p?N=(0,e.createComponentVNode)(2,m):N=v?(0,e.createComponentVNode)(2,d):(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,o.Window,{width:650,height:455,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Tabs,{children:[(0,e.createComponentVNode)(2,f.Tabs.Tab,{selected:!p,icon:"user",onClick:function(){function V(){return h("choiceOff")}return V}(),children:"Patient"}),(0,e.createComponentVNode)(2,f.Tabs.Tab,{selected:!!p,icon:"cog",onClick:function(){function V(){return h("choiceOn")}return V}(),children:"Options"})]})}),(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,scrollable:!0,children:N})})]})})})}return l}(),d=function(u,s){var i=(0,t.useBackend)(s),h=i.data,C=h.occupant;return(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f.Section,{fill:!0,title:"Patient",children:(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Name",children:C.name}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Status",color:b[C.stat][0],children:b[C.stat][1]}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:C.maxHealth,value:C.health/C.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]}})}),S.map(function(v,p){return(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:v[0]+" Damage",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:"100",value:C[v[1]]/100,ranges:I,children:(0,a.round)(C[v[1]])},p)},p)}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:C.maxTemp,value:C.bodyTemperature/C.maxTemp,color:k[C.temperatureSuitability+3],children:[(0,a.round)(C.btCelsius),"\xB0C, ",(0,a.round)(C.btFaren),"\xB0F"]})}),!!C.hasBlood&&(0,e.createFragment)([(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Blood Level",children:(0,e.createComponentVNode)(2,f.ProgressBar,{min:"0",max:C.bloodMax,value:C.bloodLevel/C.bloodMax,ranges:{bad:[-1/0,.6],average:[.6,.9],good:[.6,1/0]},children:[C.bloodPercent,"%, ",C.bloodLevel,"cl"]})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Pulse",children:[C.pulse," BPM"]})],4)]})})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Section,{title:"Current Procedure",level:"2",children:C.inSurgery?(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Procedure",children:C.surgeryName}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Next Step",children:C.stepName})]}):(0,e.createComponentVNode)(2,f.Box,{color:"label",children:"No procedure ongoing."})})})]})},c=function(){return(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,align:"center",textAlign:"center",color:"label",children:[(0,e.createComponentVNode)(2,f.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No patient detected."]})})},m=function(u,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=C.verbose,p=C.health,N=C.healthAlarm,V=C.oxy,y=C.oxyAlarm,B=C.crit;return(0,e.createComponentVNode)(2,f.LabeledList,{children:[(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Loudspeaker",children:(0,e.createComponentVNode)(2,f.Button,{selected:v,icon:v?"toggle-on":"toggle-off",content:v?"On":"Off",onClick:function(){function L(){return h(v?"verboseOff":"verboseOn")}return L}()})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Health Announcer",children:(0,e.createComponentVNode)(2,f.Button,{selected:p,icon:p?"toggle-on":"toggle-off",content:p?"On":"Off",onClick:function(){function L(){return h(p?"healthOff":"healthOn")}return L}()})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Health Announcer Threshold",children:(0,e.createComponentVNode)(2,f.Knob,{bipolar:!0,minValue:-100,maxValue:100,value:N,stepPixelSize:5,ml:"0",onChange:function(){function L(w,x){return h("health_adj",{new:x})}return L}()})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Oxygen Alarm",children:(0,e.createComponentVNode)(2,f.Button,{selected:V,icon:V?"toggle-on":"toggle-off",content:V?"On":"Off",onClick:function(){function L(){return h(V?"oxyOff":"oxyOn")}return L}()})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Oxygen Alarm Threshold",children:(0,e.createComponentVNode)(2,f.Knob,{bipolar:!0,minValue:-100,maxValue:100,value:y,stepPixelSize:5,ml:"0",onChange:function(){function L(w,x){return h("oxy_adj",{new:x})}return L}()})}),(0,e.createComponentVNode)(2,f.LabeledList.Item,{label:"Critical Alert",children:(0,e.createComponentVNode)(2,f.Button,{selected:B,icon:B?"toggle-on":"toggle-off",content:B?"On":"Off",onClick:function(){function L(){return h(B?"critOff":"critOn")}return L}()})})]})}},46892:function(A,r,n){"use strict";r.__esModule=!0,r.Orbit=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=n(35840);function S(i,h){var C=typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(C)return(C=C.call(i)).next.bind(C);if(Array.isArray(i)||(C=I(i))||h&&i&&typeof i.length=="number"){C&&(i=C);var v=0;return function(){return v>=i.length?{done:!0}:{done:!1,value:i[v++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function I(i,h){if(i){if(typeof i=="string")return k(i,h);var C={}.toString.call(i).slice(8,-1);return C==="Object"&&i.constructor&&(C=i.constructor.name),C==="Map"||C==="Set"?Array.from(i):C==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C)?k(i,h):void 0}}function k(i,h){(h==null||h>i.length)&&(h=i.length);for(var C=0,v=Array(h);CC},m=function(h,C){var v=h.name,p=C.name;if(!v||!p)return 0;var N=v.match(g),V=p.match(g);if(N&&V&&v.replace(g,"")===p.replace(g,"")){var y=parseInt(N[1],10),B=parseInt(V[1],10);return y-B}return c(v,p)},l=function(h,C){var v=h.searchText,p=h.source,N=h.title,V=h.color,y=h.sorted,B=p.filter(d(v));return y&&B.sort(m),p.length>0&&(0,e.createComponentVNode)(2,o.Section,{title:N+" - ("+p.length+")",children:B.map(function(L){return(0,e.createComponentVNode)(2,u,{thing:L,color:V},L.name)})})},u=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=h.color,V=h.thing;return(0,e.createComponentVNode)(2,o.Button,{color:N,tooltip:V.assigned_role?(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Box,{as:"img",mr:"0.5em",className:(0,b.classes)(["job_icons16x16",V.assigned_role_sprite])})," ",V.assigned_role]}):"",tooltipPosition:"bottom",onClick:function(){function y(){return p("orbit",{ref:V.ref})}return y}(),children:[V.name,V.orbiters&&(0,e.createComponentVNode)(2,o.Box,{inline:!0,ml:1,children:["(",V.orbiters," ",(0,e.createComponentVNode)(2,o.Icon,{name:"eye"}),")"]})]})},s=r.Orbit=function(){function i(h,C){for(var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.alive,y=N.antagonists,B=N.highlights,L=N.response_teams,w=N.tourist,x=N.auto_observe,T=N.dead,M=N.ssd,O=N.ghosts,D=N.misc,E=N.npcs,P=(0,t.useLocalState)(C,"searchText",""),R=P[0],j=P[1],F={},W=S(y),z;!(z=W()).done;){var K=z.value;F[K.antag]===void 0&&(F[K.antag]=[]),F[K.antag].push(K)}var G=Object.entries(F);G.sort(function(Q,ue){return c(Q[0],ue[0])});var J=function(){function Q(ue){for(var ie=0,pe=[G.map(function(ne){var le=ne[0],ee=ne[1];return ee}),w,B,V,O,M,T,E,D];ie0&&(0,e.createComponentVNode)(2,o.Section,{title:"Antagonists",children:G.map(function(Q){var ue=Q[0],ie=Q[1];return(0,e.createComponentVNode)(2,o.Section,{title:ue+" - ("+ie.length+")",level:2,children:ie.filter(d(R)).sort(m).map(function(pe){return(0,e.createComponentVNode)(2,u,{color:"bad",thing:pe},pe.name)})},ue)})}),B.length>0&&(0,e.createComponentVNode)(2,l,{title:"Highlights",source:B,searchText:R,color:"teal"}),(0,e.createComponentVNode)(2,l,{title:"Response Teams",source:L,searchText:R,color:"purple"}),(0,e.createComponentVNode)(2,l,{title:"Tourists",source:w,searchText:R,color:"violet"}),(0,e.createComponentVNode)(2,l,{title:"Alive",source:V,searchText:R,color:"good"}),(0,e.createComponentVNode)(2,l,{title:"Ghosts",source:O,searchText:R,color:"grey"}),(0,e.createComponentVNode)(2,l,{title:"SSD",source:M,searchText:R,color:"grey"}),(0,e.createComponentVNode)(2,l,{title:"Dead",source:T,searchText:R,sorted:!1}),(0,e.createComponentVNode)(2,l,{title:"NPCs",source:E,searchText:R,sorted:!1}),(0,e.createComponentVNode)(2,l,{title:"Misc",source:D,searchText:R,sorted:!1})]})})}return i}()},15421:function(A,r,n){"use strict";r.__esModule=!0,r.OreRedemption=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(98595),b=n(9394);function S(i){if(i==null)throw new TypeError("Cannot destructure "+i)}var I=(0,b.createLogger)("OreRedemption"),k=function(h){return h.toLocaleString("en-US")+" pts"},g=r.OreRedemption=function(){function i(h,C){return(0,e.createComponentVNode)(2,f.Window,{width:490,height:750,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,d,{height:"100%"})}),(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,m)]})})})}return i}(),d=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.id,y=N.points,B=N.disk,L=Object.assign({},(S(h),h));return(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({},L,{children:[(0,e.createComponentVNode)(2,o.Box,{color:"average",textAlign:"center",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle",mr:"0.5rem"}),"This machine only accepts ore. Gibtonite is not accepted."]}),(0,e.createComponentVNode)(2,o.Divider),(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Unclaimed Points",color:y>0?"good":"grey",bold:y>0&&"good",children:k(y)})}),(0,e.createComponentVNode)(2,o.Divider),B?(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Design disk",children:[(0,e.createComponentVNode)(2,o.Button,{selected:!0,bold:!0,icon:"eject",content:B.name,tooltip:"Ejects the design disk.",onClick:function(){function w(){return p("eject_disk")}return w}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!B.design||!B.compatible,icon:"upload",content:"Download",tooltip:"Downloads the design on the disk into the machine.",onClick:function(){function w(){return p("download")}return w}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Stored design",children:(0,e.createComponentVNode)(2,o.Box,{color:B.design&&(B.compatible?"good":"bad"),children:B.design||"N/A"})})]}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No design disk inserted."})]})))},c=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.sheets,y=Object.assign({},(S(h),h));return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,height:"20%",children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({fill:!0,scrollable:!0,className:"OreRedemption__Ores",p:"0"},y,{children:[(0,e.createComponentVNode)(2,l,{title:"Sheets",columns:[["Available","25%"],["Ore Value","15%"],["Smelt","20%"]]}),V.map(function(B){return(0,e.createComponentVNode)(2,u,{ore:B},B.id)})]})))})},m=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.alloys,y=Object.assign({},(S(h),h));return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.normalizeProps)((0,e.createComponentVNode)(2,o.Section,Object.assign({fill:!0,scrollable:!0,className:"OreRedemption__Ores",p:"0"},y,{children:[(0,e.createComponentVNode)(2,l,{title:"Alloys",columns:[["Recipe","50%"],["Available","11%"],["Smelt","20%"]]}),V.map(function(B){return(0,e.createComponentVNode)(2,s,{ore:B},B.id)})]})))})},l=function(h,C){var v;return(0,e.createComponentVNode)(2,o.Box,{className:"OreHeader",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:h.title}),(v=h.columns)==null?void 0:v.map(function(p){return(0,e.createComponentVNode)(2,o.Stack.Item,{basis:p[1],textAlign:"center",color:"label",bold:!0,children:p[0]},p)})]})})},u=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=h.ore;if(!(N.value&&N.amount<=0&&!(["metal","glass"].indexOf(N.id)>-1)))return(0,e.createComponentVNode)(2,o.Box,{className:"SheetLine",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"45%",align:"middle",children:(0,e.createComponentVNode)(2,o.Stack,{align:"center",children:[(0,e.createComponentVNode)(2,o.Stack.Item,{className:(0,a.classes)(["materials32x32",N.id])}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:N.name})]})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",color:N.amount>=1?"good":"gray",bold:N.amount>=1,align:"center",children:N.amount.toLocaleString("en-US")}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",children:N.value}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",lineHeight:"32px",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"40%",value:0,minValue:0,maxValue:Math.min(N.amount,50),stepPixelSize:6,onChange:function(){function V(y,B){return p(N.value?"sheet":"alloy",{id:N.id,amount:B})}return V}()})})]})})},s=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=h.ore;return(0,e.createComponentVNode)(2,o.Box,{className:"SheetLine",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"7%",align:"middle",children:(0,e.createComponentVNode)(2,o.Box,{className:(0,a.classes)(["alloys32x32",N.id])})}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"30%",textAlign:"middle",align:"center",children:N.name}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"35%",textAlign:"middle",color:N.amount>=1?"good":"gray",align:"center",children:N.description}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"10%",textAlign:"center",color:N.amount>=1?"good":"gray",bold:N.amount>=1,align:"center",children:N.amount.toLocaleString("en-US")}),(0,e.createComponentVNode)(2,o.Stack.Item,{basis:"20%",textAlign:"center",align:"center",lineHeight:"32px",children:(0,e.createComponentVNode)(2,o.NumberInput,{width:"40%",value:0,minValue:0,maxValue:Math.min(N.amount,50),stepPixelSize:6,onChange:function(){function V(y,B){return p(N.value?"sheet":"alloy",{id:N.id,amount:B})}return V}()})})]})})}},52754:function(A,r,n){"use strict";r.__esModule=!0,r.PAI=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(71253),b=n(70752),S=function(g){var d;try{d=b("./"+g+".js")}catch(m){if(m.code==="MODULE_NOT_FOUND")return(0,f.routingError)("notFound",g);throw m}var c=d[g];return c||(0,f.routingError)("missingExport",g)},I=r.PAI=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.app_template,s=l.app_icon,i=l.app_title,h=S(u);return(0,e.createComponentVNode)(2,o.Window,{width:600,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{p:1,fill:!0,scrollable:!0,title:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:s,mr:1}),i,u!=="pai_main_menu"&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{ml:2,mb:0,content:"Back",icon:"arrow-left",onClick:function(){function C(){return m("Back")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Home",icon:"arrow-up",onClick:function(){function C(){return m("MASTER_back")}return C}()})],4)]}),children:(0,e.createComponentVNode)(2,h)})})})})})}return k}()},85175:function(A,r,n){"use strict";r.__esModule=!0,r.PDA=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(71253),b=n(59395),S=function(c){var m;try{m=b("./"+c+".js")}catch(u){if(u.code==="MODULE_NOT_FOUND")return(0,f.routingError)("notFound",c);throw u}var l=m[c];return l||(0,f.routingError)("missingExport",c)},I=r.PDA=function(){function d(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.app,h=s.owner;if(!h)return(0,e.createComponentVNode)(2,o.Window,{width:350,height:105,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Error",children:"No user data found. Please swipe an ID card."})})});var C=S(i.template);return(0,e.createComponentVNode)(2,o.Window,{width:600,height:650,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,k)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,p:1,pb:0,title:(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:i.icon,mr:1}),i.name]}),children:(0,e.createComponentVNode)(2,C)})}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:7.5,children:(0,e.createComponentVNode)(2,g)})]})})})}return d}(),k=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.idInserted,h=s.idLink,C=s.stationTime,v=s.cartridge_name;return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{ml:.5,children:(0,e.createComponentVNode)(2,t.Button,{icon:"id-card",color:"transparent",onClick:function(){function p(){return u("Authenticate")}return p}(),content:i?h:"No ID Inserted"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"sd-card",color:"transparent",onClick:function(){function p(){return u("Eject")}return p}(),content:v?["Eject "+v]:"No Cartridge Inserted"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"right",bold:!0,mr:1,mt:.5,children:C})]})},g=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.app;return(0,e.createComponentVNode)(2,t.Box,{height:"45px",className:"PDA__footer",backgroundColor:"#1b1b1b",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[!!i.has_back&&(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"33%",mr:-.5,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,className:"PDA__footer__button",color:"transparent",iconColor:i.has_back?"white":"disabled",icon:"arrow-alt-circle-left-o",onClick:function(){function h(){return u("Back")}return h}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:i.has_back?"33%":"100%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,className:"PDA__footer__button",color:"transparent",iconColor:i.is_home?"disabled":"white",icon:"home",onClick:function(){function h(){u("Home")}return h}()})})]})})}},68654:function(A,r,n){"use strict";r.__esModule=!0,r.Pacman=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(49968),b=r.Pacman=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.active,l=c.anchored,u=c.broken,s=c.emagged,i=c.fuel_type,h=c.fuel_usage,C=c.fuel_stored,v=c.fuel_cap,p=c.is_ai,N=c.tmp_current,V=c.tmp_max,y=c.tmp_overheat,B=c.output_max,L=c.power_gen,w=c.output_set,x=c.has_fuel,T=C/v,M=N/V,O=w*L,D=Math.round(C/h*2),E=Math.round(D/60),P=D>120?E+" minutes":D+" seconds";return(0,e.createComponentVNode)(2,o.Window,{width:500,height:225,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(u||!l)&&(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:[!!u&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"The generator is malfunctioning!"}),!u&&!l&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"The generator needs to be anchored to the floor with a wrench."})]}),!u&&!!l&&(0,e.createVNode)(1,"div",null,[(0,e.createComponentVNode)(2,t.Section,{title:"Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:m?"power-off":"times",content:m?"On":"Off",tooltip:"Toggles the generator on/off. Requires fuel.",tooltipPosition:"left",disabled:!x,selected:m,onClick:function(){function R(){return d("toggle_power")}return R}()}),children:(0,e.createComponentVNode)(2,t.Flex,{direction:"row",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",className:"ml-1",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power setting",children:[(0,e.createComponentVNode)(2,t.NumberInput,{value:w,minValue:1,maxValue:B*(s?2.5:1),step:1,className:"mt-1",onDrag:function(){function R(j,F){return d("change_power",{change_power:F})}return R}()}),"(",(0,f.formatPower)(O),")"]})})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:M,ranges:{green:[-1/0,.33],orange:[.33,.66],red:[.66,1/0]},children:[N," \u2103"]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:[y>50&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"CRITICAL OVERHEAT!"}),y>20&&y<=50&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"WARNING: Overheating!"}),y>1&&y<=20&&(0,e.createComponentVNode)(2,t.Box,{color:"orange",children:"Temperature High"}),y===0&&(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Optimal"})]})]})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Fuel",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject Fuel",tooltip:"Ejects fuel. Generator needs to be offline.",tooltipPosition:"left",disabled:m||p||!x,onClick:function(){function R(){return d("eject_fuel")}return R}()}),children:(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Type",children:i}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel level",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:T,ranges:{red:[-1/0,.33],orange:[.33,.66],green:[.66,1/0]},children:[Math.round(C/1e3)," dm\xB3"]})})]})}),(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel usage",children:[h/1e3," dm\xB3/s"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fuel depletion",children:[!!x&&(h?P:"N/A"),!x&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Out of fuel"})]})]})})]})})],4)]})})}return S}()},1701:function(A,r,n){"use strict";r.__esModule=!0,r.PanDEMIC=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.PanDEMIC=function(){function l(u,s){var i=(0,a.useBackend)(s),h=i.data,C=h.beakerLoaded,v=h.beakerContainsBlood,p=h.beakerContainsVirus,N=h.resistances,V=N===void 0?[]:N,y;return C?v?v&&!p&&(y=(0,e.createFragment)([(0,e.createTextVNode)("No disease detected in provided blood sample.")],4)):y=(0,e.createFragment)([(0,e.createTextVNode)("No blood sample found in the loaded container.")],4):y=(0,e.createFragment)([(0,e.createTextVNode)("No container loaded.")],4),(0,e.createComponentVNode)(2,o.Window,{width:575,height:510,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[y&&!p?(0,e.createComponentVNode)(2,t.Section,{title:"Container Information",buttons:(0,e.createComponentVNode)(2,b,{fill:!0,vertical:!0}),children:(0,e.createComponentVNode)(2,t.NoticeBox,{children:y})}):(0,e.createComponentVNode)(2,k),(V==null?void 0:V.length)>0&&(0,e.createComponentVNode)(2,m,{align:"bottom"})]})})})}return l}(),b=function(u,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.beakerLoaded;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:"Eject",disabled:!v,onClick:function(){function p(){return h("eject_beaker")}return p}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash-alt",confirmIcon:"eraser",content:"Destroy",confirmContent:"Destroy",disabled:!v,onClick:function(){function p(){return h("destroy_eject_beaker")}return p}()})],4)},S=function(u,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.beakerContainsVirus,p=u.strain,N=p.commonName,V=p.description,y=p.diseaseAgent,B=p.bloodDNA,L=p.bloodType,w=p.possibleTreatments,x=p.transmissionRoute,T=p.isAdvanced,M=(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood DNA",children:B?(0,e.createVNode)(1,"span",null,B,0,{style:{"font-family":"'Courier New', monospace"}}):"Undetectable"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Blood Type",children:(0,e.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:L!=null?L:"Undetectable"}})})],4);if(!v)return(0,e.createComponentVNode)(2,t.LabeledList,{children:M});var O;return T&&(N!=null&&N!=="Unknown"?O=(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:"Print Release Forms",onClick:function(){function D(){return h("print_release_forms",{strain_index:u.strainIndex})}return D}(),style:{"margin-left":"auto"}}):O=(0,e.createComponentVNode)(2,t.Button,{icon:"pen",content:"Name Disease",onClick:function(){function D(){return h("name_strain",{strain_index:u.strainIndex})}return D}(),style:{"margin-left":"auto"}})),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Common Name",className:"common-name-label",children:(0,e.createComponentVNode)(2,t.Stack,{horizontal:!0,align:"center",children:[N!=null?N:"Unknown",O]})}),V&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:V}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Disease Agent",children:y}),M,(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Spread Vector",children:x!=null?x:"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Possible Cures",children:w!=null?w:"None"})]})},I=function(u,s){var i,h=(0,a.useBackend)(s),C=h.act,v=h.data,p=!!v.synthesisCooldown,N=(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:p?"spinner":"clone",iconSpin:p,content:"Clone",disabled:p,onClick:function(){function V(){return C("clone_strain",{strain_index:u.strainIndex})}return V}()}),u.sectionButtons],0);return(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:(i=u.sectionTitle)!=null?i:"Strain Information",buttons:N,children:(0,e.createComponentVNode)(2,S,{strain:u.strain,strainIndex:u.strainIndex})})})},k=function(u,s){var i,h=(0,a.useBackend)(s),C=h.act,v=h.data,p=v.selectedStrainIndex,N=v.strains,V=N[p-1];if(N.length===0)return(0,e.createComponentVNode)(2,t.Section,{title:"Container Information",buttons:(0,e.createComponentVNode)(2,b),children:(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No disease detected in provided blood sample."})});if(N.length===1){var y;return(0,e.createFragment)([(0,e.createComponentVNode)(2,I,{strain:N[0],strainIndex:1,sectionButtons:(0,e.createComponentVNode)(2,b)}),((y=N[0].symptoms)==null?void 0:y.length)>0&&(0,e.createComponentVNode)(2,d,{strain:N[0]})],0)}var B=(0,e.createComponentVNode)(2,b);return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Culture Information",fill:!0,buttons:B,children:(0,e.createComponentVNode)(2,t.Flex,{direction:"column",style:{height:"100%"},children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Tabs,{children:N.map(function(L,w){var x;return(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"virus",selected:p-1===w,onClick:function(){function T(){return C("switch_strain",{strain_index:w+1})}return T}(),children:(x=L.commonName)!=null?x:"Unknown"},w)})})}),(0,e.createComponentVNode)(2,I,{strain:V,strainIndex:p}),((i=V.symptoms)==null?void 0:i.length)>0&&(0,e.createComponentVNode)(2,d,{className:"remove-section-bottom-padding",strain:V})]})})})},g=function(u){return u.reduce(function(s,i){return s+i},0)},d=function(u){var s=u.strain.symptoms;return(0,e.createComponentVNode)(2,t.Flex.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{title:"Infection Symptoms",fill:!0,className:u.className,children:(0,e.createComponentVNode)(2,t.Table,{className:"symptoms-table",children:[(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Stealth"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Resistance"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Stage Speed"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Transmissibility"})]}),s.map(function(i,h){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.stealth}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.resistance}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.stageSpeed}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i.transmissibility})]},h)}),(0,e.createComponentVNode)(2,t.Table.Row,{className:"table-spacer"}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{style:{"font-weight":"bold"},children:"Total"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g(s.map(function(i){return i.stealth}))}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g(s.map(function(i){return i.resistance}))}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g(s.map(function(i){return i.stageSpeed}))}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g(s.map(function(i){return i.transmissibility}))})]})]})})})},c=["flask","vial","eye-dropper"],m=function(u,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.synthesisCooldown,p=C.beakerContainsVirus,N=C.resistances;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Antibodies",fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{horizontal:!0,wrap:!0,children:N.map(function(V,y){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:c[y%c.length],disabled:!!v,onClick:function(){function B(){return h("clone_vaccine",{resistance_index:y+1})}return B}(),mr:"0.5em"}),V]},y)})})})})}},67921:function(A,r,n){"use strict";r.__esModule=!0,r.ParticleAccelerator=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(25328),f=n(79646),b=n(36352),S=n(98595),I=n(35840),k=n(38307),g=function(u){switch(u){case 1:return"north";case 2:return"south";case 4:return"east";case 8:return"west";case 5:return"northeast";case 6:return"southeast";case 9:return"northwest";case 10:return"southwest"}return""},d=r.ParticleAccelerator=function(){function l(u,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.assembled,p=C.power,N=C.strength,V=C.max_strength,y=C.icon,B=C.layout_1,L=C.layout_2,w=C.layout_3,x=C.orientation;return(0,e.createComponentVNode)(2,S.Window,{width:395,height:v?160:x==="north"||x==="south"?540:465,children:(0,e.createComponentVNode)(2,S.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Control Panel",buttons:(0,e.createComponentVNode)(2,t.Button,{dmIcon:"sync",content:"Connect",onClick:function(){function T(){return h("scan")}return T}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",mb:"5px",children:(0,e.createComponentVNode)(2,t.Box,{color:v?"good":"bad",children:v?"Operational":"Error: Verify Configuration"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:(0,e.createComponentVNode)(2,t.Button,{icon:p?"power-off":"times",content:p?"On":"Off",selected:p,disabled:!v,onClick:function(){function T(){return h("power")}return T}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Strength",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:!v||N===0,onClick:function(){function T(){return h("remove_strength")}return T}(),mr:"4px"}),N,(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:!v||N===V,onClick:function(){function T(){return h("add_strength")}return T}(),ml:"4px"})]})]})}),v?"":(0,e.createComponentVNode)(2,t.Section,{title:x?"EM Acceleration Chamber Orientation: "+(0,o.capitalize)(x):"Place EM Acceleration Chamber Next To Console",children:x===0?"":x==="north"||x==="south"?(0,e.createComponentVNode)(2,m):(0,e.createComponentVNode)(2,c)})]})})}return l}(),c=function(u,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.assembled,p=C.power,N=C.strength,V=C.max_strength,y=C.icon,B=C.layout_1,L=C.layout_2,w=C.layout_3,x=C.orientation;return(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,b.TableRow,{width:"40px",children:(x==="east"?B:w).slice().map(function(T){return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})}),(0,e.createComponentVNode)(2,b.TableRow,{width:"40px",children:L.slice().map(function(T){return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})}),(0,e.createComponentVNode)(2,b.TableRow,{width:"40px",children:(x==="east"?w:B).slice().map(function(T){return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})})]})},m=function(u,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.assembled,p=C.power,N=C.strength,V=C.max_strength,y=C.icon,B=C.layout_1,L=C.layout_2,w=C.layout_3,x=C.orientation;return(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,f.GridColumn,{width:"40px",children:(x==="north"?B:w).slice().map(function(T){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})}),(0,e.createComponentVNode)(2,f.GridColumn,{children:L.slice().map(function(T){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})}),(0,e.createComponentVNode)(2,f.GridColumn,{width:"40px",children:(x==="north"?w:B).slice().map(function(T){return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,tooltip:T.status,children:(0,e.createComponentVNode)(2,t.Tooltip,{content:(0,e.createVNode)(1,"span",null,[T.name,(0,e.createTextVNode)(" "),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)(" "),"Status: "+T.status,(0,e.createVNode)(1,"br"),"Direction: "+g(T.dir)],0,{style:{wordWrap:"break-word"}}),children:(0,e.createComponentVNode)(2,t.ImageButton,{dmIcon:y,dmIconState:T.icon_state,dmDirection:T.dir,style:{"border-style":"solid","border-width":"2px","border-color":T.status==="good"?"green":T.status==="Incomplete"?"orange":"red",padding:"2px"}})})},T.name)})})]})}},71432:function(A,r,n){"use strict";r.__esModule=!0,r.PdaPainter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.PdaPainter=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.data,l=m.has_pda;return(0,e.createComponentVNode)(2,o.Window,{width:510,height:505,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:l?(0,e.createComponentVNode)(2,S):(0,e.createComponentVNode)(2,b)})})}return k}(),b=function(g,d){var c=(0,a.useBackend)(d),m=c.act;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"silver",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"download",size:5,mb:"10px"}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{width:"160px",textAlign:"center",content:"Insert PDA",onClick:function(){function l(){return m("insert_pda")}return l}()})]})})})},S=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.pda_colors;return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,horizontal:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,I)}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,t.Table,{className:"PdaPainter__list",children:Object.keys(u).map(function(s){return(0,e.createComponentVNode)(2,t.Table.Row,{onClick:function(){function i(){return m("choose_pda",{selectedPda:s})}return i}(),children:[(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/png;base64,"+u[s][0],style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:s})]},s)})})})})]})},I=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.current_appearance,s=l.preview_appearance;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Current PDA",children:[(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+u,style:{"vertical-align":"middle",width:"160px",margin:"0px","margin-left":"0px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"eject",content:"Eject",color:"green",onClick:function(){function i(){return m("eject_pda")}return i}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"paint-roller",content:"Paint PDA",onClick:function(){function i(){return m("paint_pda")}return i}()})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Preview",children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+s,style:{"vertical-align":"middle",width:"160px",margin:"0px","margin-left":"0px","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}})})]})}},33388:function(A,r,n){"use strict";r.__esModule=!0,r.PersonalCrafting=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.PersonalCrafting=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.busy,u=m.category,s=m.display_craftable_only,i=m.display_compact,h=m.prev_cat,C=m.next_cat,v=m.subcategory,p=m.prev_subcat,N=m.next_subcat;return(0,e.createComponentVNode)(2,o.Window,{width:700,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!l&&(0,e.createComponentVNode)(2,t.Dimmer,{fontSize:"32px",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cog",spin:1})," Crafting..."]}),(0,e.createComponentVNode)(2,t.Section,{title:u,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Show Craftable Only",icon:s?"check-square-o":"square-o",selected:s,onClick:function(){function V(){return c("toggle_recipes")}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Compact Mode",icon:i?"check-square-o":"square-o",selected:i,onClick:function(){function V(){return c("toggle_compact")}return V}()})],4),children:[(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:h,icon:"arrow-left",onClick:function(){function V(){return c("backwardCat")}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:C,icon:"arrow-right",onClick:function(){function V(){return c("forwardCat")}return V}()})]}),v&&(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Button,{content:p,icon:"arrow-left",onClick:function(){function V(){return c("backwardSubCat")}return V}()}),(0,e.createComponentVNode)(2,t.Button,{content:N,icon:"arrow-right",onClick:function(){function V(){return c("forwardSubCat")}return V}()})]}),i?(0,e.createComponentVNode)(2,b):(0,e.createComponentVNode)(2,S)]})]})})}return I}(),b=function(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.display_craftable_only,u=m.can_craft,s=m.cant_craft;return(0,e.createComponentVNode)(2,t.Box,{mt:1,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[u.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.name,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",onClick:function(){function h(){return c("make",{make:i.ref})}return h}()}),i.catalyst_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:i.catalyst_text,content:"Catalysts",color:"transparent"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:i.req_text,content:"Requirements",color:"transparent"}),i.tool_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:i.tool_text,content:"Tools",color:"transparent"})]},i.name)}),!l&&s.map(function(i){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:i.name,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",disabled:!0}),i.catalyst_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:i.catalyst_text,content:"Catalysts",color:"transparent"}),(0,e.createComponentVNode)(2,t.Button,{tooltip:i.req_text,content:"Requirements",color:"transparent"}),i.tool_text&&(0,e.createComponentVNode)(2,t.Button,{tooltip:i.tool_text,content:"Tools",color:"transparent"})]},i.name)})]})})},S=function(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.display_craftable_only,u=m.can_craft,s=m.cant_craft;return(0,e.createComponentVNode)(2,t.Box,{mt:1,children:[u.map(function(i){return(0,e.createComponentVNode)(2,t.Section,{title:i.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",onClick:function(){function h(){return c("make",{make:i.ref})}return h}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[i.catalyst_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Catalysts",children:i.catalyst_text}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Requirements",children:i.req_text}),i.tool_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tools",children:i.tool_text})]})},i.name)}),!l&&s.map(function(i){return(0,e.createComponentVNode)(2,t.Section,{title:i.name,buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"hammer",content:"Craft",disabled:!0}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[i.catalyst_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Catalysts",children:i.catalyst_text}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Requirements",children:i.req_text}),i.tool_text&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tools",children:i.tool_text})]})},i.name)})]})}},56150:function(A,r,n){"use strict";r.__esModule=!0,r.Photocopier=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Photocopier=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:440,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Photocopier",color:"silver",children:[(0,e.createComponentVNode)(2,t.Stack,{mb:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:12,children:"Copies:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"2em",bold:!0,children:m.copynumber}),(0,e.createComponentVNode)(2,t.Stack.Item,{float:"right",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"minus",textAlign:"center",content:"",onClick:function(){function l(){return c("minus")}return l}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"plus",textAlign:"center",content:"",onClick:function(){function l(){return c("add")}return l}()})]})]}),(0,e.createComponentVNode)(2,t.Stack,{mb:2,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:12,children:"Toner:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,children:m.toner})]}),(0,e.createComponentVNode)(2,t.Stack,{mb:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:12,children:"Inserted Document:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!m.copyitem&&!m.mob,content:m.copyitem?m.copyitem:m.mob?m.mob+"'s ass!":"document",onClick:function(){function l(){return c("removedocument")}return l}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:12,children:"Inserted Folder:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!m.folder,content:m.folder?m.folder:"folder",onClick:function(){function l(){return c("removefolder")}return l}()})})]})]}),(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,b)}),(0,e.createComponentVNode)(2,S)]})})})}return I}(),b=function(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.issilicon;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"copy",float:"center",textAlign:"center",content:"Copy",onClick:function(){function u(){return c("copy")}return u}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"file-import",float:"center",textAlign:"center",content:"Scan",onClick:function(){function u(){return c("scandocument")}return u}()}),!!l&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"file",color:"green",float:"center",textAlign:"center",content:"Print Text",onClick:function(){function u(){return c("ai_text")}return u}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"image",color:"green",float:"center",textAlign:"center",content:"Print Image",onClick:function(){function u(){return c("ai_pic")}return u}()})],4)],0)},S=function(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data;return(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Scanned Files",children:m.files.map(function(l){return(0,e.createComponentVNode)(2,t.Section,{title:l.name,buttons:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:"Print",disabled:m.toner<=0,onClick:function(){function u(){return c("filecopy",{uid:l.uid})}return u}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash-alt",content:"Delete",color:"bad",onClick:function(){function u(){return c("deletefile",{uid:l.uid})}return u}()})]})},l.name)})})}},8340:function(A,r,n){"use strict";r.__esModule=!0,r.Photocopier220=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(88510),b=n(64795),S=n(25328);function I(m,l){var u=typeof Symbol!="undefined"&&m[Symbol.iterator]||m["@@iterator"];if(u)return(u=u.call(m)).next.bind(u);if(Array.isArray(m)||(u=k(m))||l&&m&&typeof m.length=="number"){u&&(m=u);var s=0;return function(){return s>=m.length?{done:!0}:{done:!1,value:m[s++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(m,l){if(m){if(typeof m=="string")return g(m,l);var u={}.toString.call(m).slice(8,-1);return u==="Object"&&m.constructor&&(u=m.constructor.name),u==="Map"||u==="Set"?Array.from(m):u==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(u)?g(m,l):void 0}}function g(m,l){(l==null||l>m.length)&&(l=m.length);for(var u=0,s=Array(l);um?this.substring(0,m)+"...":this};var d=function(l,u){u===void 0&&(u="");var s=(0,S.createSearch)(u,function(i){return i.altername});return(0,b.flow)([(0,f.filter)(function(i){return i==null?void 0:i.altername}),u&&(0,f.filter)(s),(0,f.sortBy)(function(i){return i.id})])(l)},c=r.Photocopier220=function(){function m(l,u){for(var s=(0,a.useBackend)(u),i=s.act,h=s.data,C=h.copies,v=h.maxcopies,p=(0,a.useLocalState)(u,"searchText",""),N=p[0],V=p[1],y=d((0,f.sortBy)(function(E){return E.category})(h.forms||[]),N),B=[],L=I(y),w;!(w=L()).done;){var x=w.value;B.includes(x.category)||B.push(x.category)}var T=(0,a.useLocalState)(u,"number",0),M=T[0],O=T[1],D;return h.category===""?D=y:D=y.filter(function(E){return E.category===h.category}),(0,e.createComponentVNode)(2,o.Window,{width:550,height:575,theme:h.ui_theme,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"40%",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"\u0421\u0442\u0430\u0442\u0443\u0441",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",mt:.3,color:"grey",children:"\u0417\u0430\u0440\u044F\u0434 \u0442\u043E\u043D\u0435\u0440\u0430:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.ProgressBar,{minValue:0,maxValue:30,value:h.toner})})]}),(0,e.createComponentVNode)(2,t.Stack,{mt:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",mb:.3,color:"grey",children:"\u0424\u043E\u0440\u043C\u0430:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"50%",textAlign:"center",bold:!0,children:h.form_id===""?"\u041D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u0430":h.form_id})]}),(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",mt:1,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!h.copyitem&&!h.mob,icon:h.copyitem||h.mob?"eject":"times",content:h.copyitem?h.copyitem:h.mob?"\u0416\u043E\u043F\u0430 "+h.mob+"!":"\u0421\u043B\u043E\u0442 \u0434\u043B\u044F \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430",onClick:function(){function E(){return i("removedocument")}return E}()})})}),(0,e.createComponentVNode)(2,t.Stack,{children:(0,e.createComponentVNode)(2,t.Stack.Item,{width:"100%",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",disabled:!h.folder,icon:h.folder?"eject":"times",content:h.folder?h.folder:"\u0421\u043B\u043E\u0442 \u0434\u043B\u044F \u043F\u0430\u043F\u043A\u0438",onClick:function(){function E(){return i("removefolder")}return E}()})})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435",children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"print",disabled:h.toner===0||h.form===null,content:"\u041F\u0435\u0447\u0430\u0442\u044C",onClick:function(){function E(){return i("print_form")}return E}()})}),!!h.isAI&&(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",ml:"5px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"image",disabled:h.toner<5,content:"\u0424\u043E\u0442\u043E",tooltip:"\u0420\u0430\u0441\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C \u0444\u043E\u0442\u043E \u0441 \u0411\u0430\u0437\u044B \u0414\u0430\u043D\u043D\u044B\u0445",onClick:function(){function E(){return i("ai_pic")}return E}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"copy",content:"\u041A\u043E\u043F\u0438\u044F",disabled:h.toner===0||!h.copyitem&&!h.mob,onClick:function(){function E(){return i("copy")}return E}()})}),!!h.isAI&&(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,width:"100%",ml:"5px",mt:"3px",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",icon:"i-cursor",content:"\u0422\u0435\u043A\u0441\u0442",tooltip:"\u0420\u0430\u0441\u043F\u0435\u0447\u0430\u0442\u0430\u0442\u044C \u0441\u0432\u043E\u0439 \u0442\u0435\u043A\u0441\u0442",disabled:h.toner===0,onClick:function(){function E(){return i("ai_text")}return E}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:1.5,mt:1.2,width:"50%",color:"grey",children:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E:"}),(0,e.createComponentVNode)(2,t.Slider,{mt:.75,width:"50%",animated:!0,minValue:1,maxValue:v,value:C,stepPixelSize:10,onChange:function(){function E(P,R){return i("copies",{new:R})}return E}()})]})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"\u0411\u044E\u0440\u043E\u043A\u0440\u0430\u0442\u0438\u044F",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mb:-.5,icon:"chevron-right",color:"transparent",content:"\u0412\u0441\u0435 \u0444\u043E\u0440\u043C\u044B",selected:!h.category,onClick:function(){function E(){return i("choose_category",{category:""})}return E}()})}),B.map(function(E){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"chevron-right",mb:-.5,color:"transparent",content:E,selected:h.category===E,onClick:function(){function P(){return i("choose_category",{category:E})}return P}()},E)},E)})]})})})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"60%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:h.category||"\u0412\u0441\u0435 \u0444\u043E\u0440\u043C\u044B",buttons:(0,e.createComponentVNode)(2,t.Input,{mr:18.5,width:"100%",placeholder:"\u041F\u043E\u0438\u0441\u043A \u0444\u043E\u0440\u043C\u044B",onInput:function(){function E(P,R){return V(R)}return E}()}),children:D.map(function(E){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mb:.5,color:"transparent",content:E.altername.trimLongStr(37),tooltip:E.altername,selected:h.form_id===E.id,onClick:function(){function P(){return i("choose_form",{path:E.path,id:E.id})}return P}()})},E.path)})})})]})})})}return m}()},84676:function(A,r,n){"use strict";r.__esModule=!0,r.PoolController=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=["tempKey"];function b(g,d){if(g==null)return{};var c={};for(var m in g)if({}.hasOwnProperty.call(g,m)){if(d.includes(m))continue;c[m]=g[m]}return c}var S={scalding:{label:"Scalding",color:"#FF0000",icon:"fa fa-arrow-circle-up",requireEmag:!0},warm:{label:"Warm",color:"#990000",icon:"fa fa-arrow-circle-up"},normal:{label:"Normal",color:null,icon:"fa fa-arrow-circle-right"},cool:{label:"Cool",color:"#009999",icon:"fa fa-arrow-circle-down"},frigid:{label:"Frigid",color:"#00CCCC",icon:"fa fa-arrow-circle-down",requireEmag:!0}},I=function(d,c){var m=d.tempKey,l=b(d,f),u=S[m];if(!u)return null;var s=(0,a.useBackend)(c),i=s.data,h=s.act,C=i.currentTemp,v=u.label,p=u.icon,N=m===C,V=function(){h("setTemp",{temp:m})};return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Button,Object.assign({color:"transparent",selected:N,onClick:V},l,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:p}),v]})))},k=r.PoolController=function(){function g(d,c){for(var m=(0,a.useBackend)(c),l=m.data,u=l.emagged,s=l.currentTemp,i=S[s]||S.normal,h=i.label,C=i.color,v=[],p=0,N=Object.entries(S);p50?"battery-half":"battery-quarter")||C==="C"&&"bolt"||C==="F"&&"battery-full"||C==="M"&&"slash",color:C==="N"&&(v>50?"yellow":"red")||C==="C"&&"yellow"||C==="F"&&"green"||C==="M"&&"orange"}),(0,e.createComponentVNode)(2,I.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,o.toFixed)(v)+"%"})],4)};u.defaultHooks=f.pureComponentHooks;var s=function(h){var C,v,p=h.status;switch(p){case"AOn":C=!0,v=!0;break;case"AOff":C=!0,v=!1;break;case"On":C=!1,v=!0;break;case"Off":C=!1,v=!1;break}var N=(v?"On":"Off")+(" ["+(C?"auto":"manual")+"]");return(0,e.createComponentVNode)(2,I.ColorBox,{color:v?"good":"bad",content:C?void 0:"M",title:N})};s.defaultHooks=f.pureComponentHooks},50992:function(A,r,n){"use strict";r.__esModule=!0,r.PrisonerImplantManager=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(29319),f=n(3939),b=n(321),S=n(5485),I=n(98595),k=r.PrisonerImplantManager=function(){function g(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.loginState,i=u.prisonerInfo,h=u.chemicalInfo,C=u.trackingInfo,v;if(!s.logged_in)return(0,e.createComponentVNode)(2,I.Window,{theme:"security",width:500,height:850,children:(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,S.LoginScreen)})});var p=[1,5,10];return(0,e.createComponentVNode)(2,I.Window,{theme:"security",width:500,height:850,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.LoginInfo),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Prisoner Points Manager System",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Prisoner",children:(0,e.createComponentVNode)(2,t.Button,{icon:i.name?"eject":"id-card",selected:i.name,content:i.name?i.name:"-----",tooltip:i.name?"Eject ID":"Insert ID",onClick:function(){function N(){return l("id_card")}return N}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Points",children:[i.points!==null?i.points:"-/-",(0,e.createComponentVNode)(2,t.Button,{ml:2,icon:"minus-square",disabled:i.points===null,content:"Reset",onClick:function(){function N(){return l("reset_points")}return N}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Point Goal",children:[i.goal!==null?i.goal:"-/-",(0,e.createComponentVNode)(2,t.Button,{ml:2,icon:"pen",disabled:i.goal===null,content:"Edit",onClick:function(){function N(){return(0,f.modalOpen)(c,"set_points")}return N}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{children:(0,e.createVNode)(1,"box",null,[(0,e.createTextVNode)("1 minute of prison time should roughly equate to 150 points."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Sentences should not exceed 5000 points."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Permanent prisoners should not be given a point goal."),(0,e.createVNode)(1,"br"),(0,e.createVNode)(1,"br"),(0,e.createTextVNode)("Prisoners who meet their point goal will be able to automatically access their locker and return to the station using the shuttle.")],4,{hidden:i.goal===null})})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Tracking Implants",children:C.map(function(N){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{p:1,backgroundColor:"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:["Subject: ",N.subject]}),(0,e.createComponentVNode)(2,t.Box,{children:[" ",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Location",children:N.location}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:N.health}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Prisoner",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-triangle",content:"Warn",tooltip:"Broadcast a message to this poor sod",onClick:function(){function V(){return(0,f.modalOpen)(c,"warn",{uid:N.uid})}return V}()})})]})]},N.subject)]}),(0,e.createVNode)(1,"br")],4)})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Chemical Implants",children:h.map(function(N){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{p:1,backgroundColor:"rgba(255, 255, 255, 0.05)",children:[(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:["Subject: ",N.name]}),(0,e.createComponentVNode)(2,t.Box,{children:[" ",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Remaining Reagents",children:N.volume})}),p.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{mt:2,disabled:N.volumec;return(0,e.createComponentVNode)(2,t.ImageButton,{fluid:!0,title:N.name,dmIcon:N.icon,dmIconState:N.icon_state,buttonsAlt:(0,e.createComponentVNode)(2,t.Button,{bold:!0,translucent:!0,fontSize:1.5,tooltip:V&&"Not enough tickets",disabled:V,onClick:function(){function y(){return g("purchase",{purchase:N.itemID})}return y}(),children:[N.cost,(0,e.createComponentVNode)(2,t.Icon,{m:0,mt:.25,name:"ticket",color:V?"bad":"good",size:1.6})]}),children:N.desc},N.name)})})})})})})}return b}()},94813:function(A,r,n){"use strict";r.__esModule=!0,r.RCD=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(3939),b=n(49148),S=r.RCD=function(){function l(u,s){return(0,e.createComponentVNode)(2,o.Window,{width:480,height:670,children:[(0,e.createComponentVNode)(2,f.ComplexModal),(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,d),(0,e.createComponentVNode)(2,c)]})})]})}return l}(),I=function(u,s){var i=(0,a.useBackend)(s),h=i.data,C=h.matter,v=h.max_matter,p=v*.7,N=v*.25;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Matter Storage",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[p,1/0],average:[N,p],bad:[-1/0,N]},value:C,maxValue:v,children:(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"center",children:C+" / "+v+" units"})})})})},k=function(){return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Construction Type",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,g,{mode_type:"Floors and Walls"}),(0,e.createComponentVNode)(2,g,{mode_type:"Airlocks"}),(0,e.createComponentVNode)(2,g,{mode_type:"Windows"}),(0,e.createComponentVNode)(2,g,{mode_type:"Deconstruction"})]})})})},g=function(u,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=u.mode_type,p=C.mode;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"transparent",content:v,selected:p===v?1:0,onClick:function(){function N(){return h("mode",{mode:v})}return N}()})})},d=function(u,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.door_name,p=C.electrochromic,N=C.airlock_glass;return(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Airlock Settings",children:(0,e.createComponentVNode)(2,t.Stack,{textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"transparent",icon:"pen-alt",content:(0,e.createFragment)([(0,e.createTextVNode)("Rename: "),(0,e.createVNode)(1,"b",null,v,0)],0),onClick:function(){function V(){return(0,f.modalOpen)(s,"renameAirlock")}return V}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:N===1&&(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:p?"toggle-on":"toggle-off",content:"Electrochromic",selected:p,onClick:function(){function V(){return h("electrochromic")}return V}()})})]})})})},c=function(u,s){var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.tab,p=C.locked,N=C.one_access,V=C.selected_accesses,y=C.regions;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Tabs,{fluid:!0,children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"cog",selected:v===1,onClick:function(){function B(){return h("set_tab",{tab:1})}return B}(),children:"Airlock Types"}),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:v===2,icon:"list",onClick:function(){function B(){return h("set_tab",{tab:2})}return B}(),children:"Airlock Access"})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:v===1?(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Types",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,m,{check_number:0})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,m,{check_number:1})})]})}):v===2&&p?(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Access",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"lock-open",content:"Unlock",onClick:function(){function B(){return h("set_lock",{new_lock:"unlock"})}return B}()}),children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",align:"center",color:"label",children:[(0,e.createComponentVNode)(2,t.Icon,{name:"lock",size:"5",mb:3}),(0,e.createVNode)(1,"br"),"Airlock access selection is currently locked."]})})}):(0,e.createComponentVNode)(2,b.AccessList,{sectionButtons:(0,e.createComponentVNode)(2,t.Button,{icon:"lock",content:"Lock",onClick:function(){function B(){return h("set_lock",{new_lock:"lock"})}return B}()}),usedByRcd:1,rcdButtons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:N,content:"One",onClick:function(){function B(){return h("set_one_access",{access:"one"})}return B}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:!N,width:4,content:"All",onClick:function(){function B(){return h("set_one_access",{access:"all"})}return B}()})],4),accesses:y,selectedList:V,accessMod:function(){function B(L){return h("set",{access:L})}return B}(),grantAll:function(){function B(){return h("grant_all")}return B}(),denyAll:function(){function B(){return h("clear_all")}return B}(),grantDep:function(){function B(L){return h("grant_region",{region:L})}return B}(),denyDep:function(){function B(L){return h("deny_region",{region:L})}return B}()})})],4)},m=function(u,s){for(var i=(0,a.useBackend)(s),h=i.act,C=i.data,v=C.door_types_ui_list,p=C.door_type,N=u.check_number,V=[],y=0;yf?w=(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,mb:1,children:"There are new messages"}):w=(0,e.createComponentVNode)(2,t.Box,{color:"label",mb:1,children:"There are no new messages"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Main Menu",buttons:(0,e.createComponentVNode)(2,t.Button,{width:9,content:L?"Speaker Off":"Speaker On",selected:!L,icon:L?"volume-mute":"volume-up",onClick:function(){function x(){return N("toggleSilent")}return x}()}),children:[w,(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"View Messages",icon:y>f?"envelope-open-text":"envelope",onClick:function(){function x(){return N("setScreen",{setScreen:6})}return x}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:1,children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Request Assistance",icon:"hand-paper",onClick:function(){function x(){return N("setScreen",{setScreen:1})}return x}()}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Request Supplies",icon:"box",onClick:function(){function x(){return N("setScreen",{setScreen:2})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Request Secondary Goal",icon:"clipboard-list",onClick:function(){function x(){return N("setScreen",{setScreen:11})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Relay Anonymous Information",icon:"comment",onClick:function(){function x(){return N("setScreen",{setScreen:3})}return x}()})]})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:1,children:(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Print Shipping Label",icon:"tag",onClick:function(){function x(){return N("setScreen",{setScreen:9})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"View Shipping Logs",icon:"clipboard-list",onClick:function(){function x(){return N("setScreen",{setScreen:10})}return x}()})]})}),!!B&&(0,e.createComponentVNode)(2,t.Stack.Item,{mt:1,children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,lineHeight:3,content:"Send Station-Wide Announcement",icon:"bullhorn",onClick:function(){function x(){return N("setScreen",{setScreen:8})}return x}()})})]})})},d=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y=V.department,B=[],L;switch(C.purpose){case"ASSISTANCE":B=V.assist_dept,L="Request assistance from another department";break;case"SUPPLIES":B=V.supply_dept,L="Request supplies from another department";break;case"INFO":B=V.info_dept,L="Relay information to another department";break}return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:L,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function w(){return N("setScreen",{setScreen:0})}return w}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:B.filter(function(w){return w!==y}).map(function(w){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:w,textAlign:"right",className:"candystripe",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Message",icon:"envelope",onClick:function(){function x(){return N("writeInput",{write:w,priority:S})}return x}()}),(0,e.createComponentVNode)(2,t.Button,{content:"High Priority",icon:"exclamation-circle",onClick:function(){function x(){return N("writeInput",{write:w,priority:I})}return x}()})]},w)})})})})},c=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y;switch(C.type){case"SUCCESS":y="Message sent successfully";break;case"FAIL":y="Unable to contact messaging server";break}return(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:y,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function B(){return N("setScreen",{setScreen:0})}return B}()})})},m=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y,B;switch(C.type){case"MESSAGES":y=V.message_log,B="Message Log";break;case"SHIPPING":y=V.shipping_log,B="Shipping label print log";break}return y.reverse(),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:B,buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function L(){return N("setScreen",{setScreen:0})}return L}()}),children:y.map(function(L){return(0,e.createComponentVNode)(2,t.Box,{textAlign:"left",children:[L.map(function(w,x){return(0,e.createVNode)(1,"div",null,w,0,null,x)}),(0,e.createVNode)(1,"hr")]},L)})})})},l=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y=V.recipient,B=V.message,L=V.msgVerified,w=V.msgStamped;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Message Authentication",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function x(){return N("setScreen",{setScreen:0})}return x}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Recipient",children:y}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Message",children:B}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Validated by",color:"green",children:L}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Stamped by",color:"blue",children:w})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,textAlign:"center",content:"Send Message",icon:"envelope",onClick:function(){function x(){return N("department",{department:y})}return x}()})})})],4)},u=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y=V.message,B=V.announceAuth;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Station-Wide Announcement",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function L(){return N("setScreen",{setScreen:0})}return L}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Edit Message",icon:"edit",onClick:function(){function L(){return N("writeAnnouncement")}return L}()})],4),children:y})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:[B?(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",color:"green",children:"ID verified. Authentication accepted."}):(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",color:"label",children:"Swipe your ID card to authenticate yourself"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:2,textAlign:"center",content:"Send Announcement",icon:"bullhorn",disabled:!(B&&y),onClick:function(){function L(){return N("sendAnnouncement")}return L}()})]})})],4)},s=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y=V.shipDest,B=V.msgVerified,L=V.ship_dept;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{textAlign:"center",children:(0,e.createComponentVNode)(2,t.Section,{title:"Print Shipping Label",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function w(){return N("setScreen",{setScreen:0})}return w}()}),children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Destination",children:y}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Validated by",children:B})]}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:1,textAlign:"center",content:"Print Label",icon:"print",disabled:!(y&&B),onClick:function(){function w(){return N("printLabel")}return w}()})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Destinations",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:L.map(function(w){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:w,textAlign:"right",className:"candystripe",children:(0,e.createComponentVNode)(2,t.Button,{content:y===w?"Selected":"Select",selected:y===w,onClick:function(){function x(){return N("shipSelect",{shipSelect:w})}return x}()})},w)})})})})],4)},i=function(C,v){var p=(0,a.useBackend)(v),N=p.act,V=p.data,y=V.secondaryGoalAuth,B=V.secondaryGoalEnabled;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Request Secondary Goal",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Back",icon:"arrow-left",onClick:function(){function L(){return N("setScreen",{setScreen:0})}return L}()})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:[B?y?(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",color:"green",children:"ID verified. Authentication accepted."}):(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",color:"label",children:"Swipe your ID card to authenticate yourself"}):(0,e.createComponentVNode)(2,t.Box,{textAlign:"center",color:"label",children:"Complete your current goal first!"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,mt:2,textAlign:"center",content:"Request Secondary Goal",icon:"clipboard-list",disabled:!(y&&B),onClick:function(){function L(){return N("requestSecondaryGoal")}return L}()})]})})],4)}},9861:function(A,r,n){"use strict";r.__esModule=!0,r.RndBackupConsole=r.LinkMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.RndBackupConsole=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.network_name,l=c.has_disk,u=c.disk_name,s=c.linked,i=c.techs,h=c.last_timestamp;return(0,e.createComponentVNode)(2,o.Window,{width:900,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Device Info",children:[(0,e.createComponentVNode)(2,t.Box,{mb:2,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Network",children:s?(0,e.createComponentVNode)(2,t.Button,{content:m,icon:"unlink",selected:1,onClick:function(){function C(){return d("unlink")}return C}()}):"None"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Loaded Disk",children:l?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:u+" (Last backup: "+h+")",icon:"save",selected:1,onClick:function(){function C(){return d("eject_disk")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Save all",onClick:function(){function C(){return d("saveall2disk")}return C}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-out-alt",content:"Load all",onClick:function(){function C(){return d("saveall2network")}return C}()})],4):"None"})]})}),!!s||(0,e.createComponentVNode)(2,b)]}),(0,e.createComponentVNode)(2,t.Box,{mt:2,children:(0,e.createComponentVNode)(2,t.Section,{title:"Tech Info",children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Tech Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Level"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Disk Level"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Actions"})]}),Object.keys(i).map(function(C){return!(i[C].network_level>0||i[C].disk_level>0)||(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:i[C].name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i[C].network_level||"None"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:i[C].disk_level||"None"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Load to network",disabled:!l||!s,onClick:function(){function v(){return d("savetech2network",{tech:C})}return v}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-out-alt",content:"Load to disk",disabled:!l||!s,onClick:function(){function v(){return d("savetech2disk",{tech:C})}return v}()})]})]},C)})]})})})]})})}return S}(),b=r.LinkMenu=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.controllers;return(0,e.createComponentVNode)(2,t.Section,{title:"Setup Linkage",children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Link"})]}),m.map(function(l){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:l.addr}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:l.net_id}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Link",icon:"link",onClick:function(){function u(){return d("linktonetworkcontroller",{target_controller:l.addr})}return u}()})})]},l.addr)})]})})}return S}()},68303:function(A,r,n){"use strict";r.__esModule=!0,r.AnalyzerMenu=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=r.AnalyzerMenu=function(){function S(I,k){var g=(0,t.useBackend)(k),d=g.data,c=g.act,m=d.tech_levels,l=d.loaded_item,u=d.linked_analyzer,s=d.can_discover;return u?l?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Section,{title:"Object Analysis",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{content:"Deconstruct",icon:"microscope",onClick:function(){function i(){c("deconstruct")}return i}()}),(0,e.createComponentVNode)(2,o.Button,{content:"Eject",icon:"eject",onClick:function(){function i(){c("eject_item")}return i}()}),!s||(0,e.createComponentVNode)(2,o.Button,{content:"Discover",icon:"atom",onClick:function(){function i(){c("discover")}return i}()})],0),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:l.name})})}),(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.Table,{id:"research-levels",children:[(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"Research Field"}),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"Current Level"}),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"Object Level"}),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"New Level"})]}),m.map(function(i){return(0,e.createComponentVNode)(2,b,{techLevel:i},i.id)})]})})],4):(0,e.createComponentVNode)(2,o.Section,{title:"Analysis Menu",children:"No item loaded. Standing by..."}):(0,e.createComponentVNode)(2,o.Section,{title:"Analysis Menu",children:"NO SCIENTIFIC ANALYZER LINKED TO CONSOLE"})}return S}(),b=function(I,k){var g=I.techLevel,d=g.name,c=g.desc,m=g.level,l=g.object_level,u=g.ui_icon,s=l!=null,i=s&&l>=m?Math.max(l,m+1):m;return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{icon:"circle-info",tooltip:c})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:u})," ",d]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:m}),s?(0,e.createComponentVNode)(2,o.Table.Cell,{children:l}):(0,e.createComponentVNode)(2,o.Table.Cell,{className:"research-level-no-effect",children:"-"}),(0,e.createComponentVNode)(2,o.Table.Cell,{className:(0,a.classes)([i!==m&&"upgraded-level"]),children:i})]})}},37556:function(A,r,n){"use strict";r.__esModule=!0,r.DataDiskMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o="design",f="tech",b=function(c,m){var l=(0,a.useBackend)(m),u=l.data,s=l.act,i=u.disk_data;return i?(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:i.name}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Level",children:i.level}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:i.desc})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:(0,e.createComponentVNode)(2,t.Button,{content:"Upload to Database",icon:"arrow-up",onClick:function(){function h(){return s("updt_tech")}return h}()})})]}):null},S=function(c,m){var l=(0,a.useBackend)(m),u=l.data,s=l.act,i=u.disk_data;if(!i)return null;var h=i.name,C=i.lathe_types,v=i.materials,p=C.join(", ");return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name",children:h}),p?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Lathe Types",children:p}):null,(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Required Materials"})]}),v.map(function(N){return(0,e.createComponentVNode)(2,t.Box,{children:["- ",(0,e.createVNode)(1,"span",null,N.name,0,{style:{"text-transform":"capitalize"}})," x ",N.amount]},N.name)}),(0,e.createComponentVNode)(2,t.Box,{mt:"10px",children:(0,e.createComponentVNode)(2,t.Button,{content:"Upload to Database",icon:"arrow-up",onClick:function(){function N(){return s("updt_design")}return N}()})})]})},I=function(c,m){var l=(0,a.useBackend)(m),u=l.act,s=l.data,i=s.disk_data;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.Section,Object.assign({buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button.Confirm,{content:"Erase",icon:"eraser",disabled:!i,onClick:function(){function h(){return u("erase_disk")}return h}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Eject",icon:"eject",onClick:function(){function h(){u("eject_disk")}return h}()})],4)},c)))},k=function(c,m){var l=(0,a.useBackend)(m),u=l.data,s=l.act,i=u.disk_type,h=u.to_copy,C=c.title;return(0,e.createComponentVNode)(2,I,{title:C,children:(0,e.createComponentVNode)(2,t.Box,{overflowY:"auto",overflowX:"hidden",maxHeight:"450px",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:h.sort(function(v,p){return v.name.localeCompare(p.name)}).map(function(v){var p=v.name,N=v.id;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{noColon:!0,label:p,children:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-down",content:"Copy to Disk",onClick:function(){function V(){i===f?s("copy_tech",{id:N}):s("copy_design",{id:N})}return V}()})},N)})})})})},g=r.DataDiskMenu=function(){function d(c,m){var l=(0,a.useBackend)(m),u=l.data,s=u.disk_type,i=u.disk_data;if(!s)return(0,e.createComponentVNode)(2,t.Section,{title:"Data Disk",children:"No disk loaded."});switch(s){case o:return i?(0,e.createComponentVNode)(2,I,{title:"Design Disk",children:(0,e.createComponentVNode)(2,S)}):(0,e.createComponentVNode)(2,k,{title:"Design Disk"});case f:return i?(0,e.createComponentVNode)(2,I,{title:"Technology Disk",children:(0,e.createComponentVNode)(2,b)}):(0,e.createComponentVNode)(2,k,{title:"Technology Disk"});default:return(0,e.createFragment)([(0,e.createTextVNode)("UNRECOGNIZED DISK TYPE")],4)}}return d}()},16830:function(A,r,n){"use strict";r.__esModule=!0,r.LatheCategory=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(52662),f=r.LatheCategory=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.data,d=k.act,c=g.category,m=g.matching_designs,l=g.menu,u=l===4,s=u?"build":"imprint";return(0,e.createComponentVNode)(2,t.Section,{title:c,children:[(0,e.createComponentVNode)(2,o.LatheMaterials),(0,e.createComponentVNode)(2,t.Table,{className:"RndConsole__LatheCategory__MatchingDesigns",children:m.map(function(i){var h=i.id,C=i.name,v=i.can_build,p=i.materials;return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:C,disabled:v<1,onClick:function(){function N(){return d(s,{id:h,amount:1})}return N}()})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v>=5?(0,e.createComponentVNode)(2,t.Button,{content:"x5",onClick:function(){function N(){return d(s,{id:h,amount:5})}return N}()}):null}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:v>=10?(0,e.createComponentVNode)(2,t.Button,{content:"x10",onClick:function(){function N(){return d(s,{id:h,amount:10})}return N}()}):null}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.map(function(N){return(0,e.createFragment)([" | ",(0,e.createVNode)(1,"span",N.is_red?"color-red":null,[N.amount,(0,e.createTextVNode)(" "),N.name],0)],0)})})]},h)})})]})}return b}()},70497:function(A,r,n){"use strict";r.__esModule=!0,r.LatheChemicalStorage=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheChemicalStorage=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data,g=I.act,d=k.loaded_chemicals,c=k.menu===4;return(0,e.createComponentVNode)(2,t.Section,{title:"Chemical Storage",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Purge All",icon:"trash",onClick:function(){function m(){var l=c?"disposeallP":"disposeallI";g(l)}return m}()}),(0,e.createComponentVNode)(2,t.LabeledList,{children:d.map(function(m){var l=m.volume,u=m.name,s=m.id;return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"* "+l+" of "+u,children:(0,e.createComponentVNode)(2,t.Button,{content:"Purge",icon:"trash",onClick:function(){function i(){var h=c?"disposeP":"disposeI";g(h,{id:s})}return i}()})},s)})})]})}return f}()},70864:function(A,r,n){"use strict";r.__esModule=!0,r.LatheMainMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(52662),f=n(68198),b=r.LatheMainMenu=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.data,c=g.act,m=d.menu,l=d.categories,u=m===4?"Protolathe":"Circuit Imprinter";return(0,e.createComponentVNode)(2,t.Section,{title:u+" Menu",children:[(0,e.createComponentVNode)(2,o.LatheMaterials),(0,e.createComponentVNode)(2,f.LatheSearch),(0,e.createComponentVNode)(2,t.Divider),(0,e.createComponentVNode)(2,t.Flex,{wrap:"wrap",children:l.map(function(s){return(0,e.createComponentVNode)(2,t.Flex,{style:{"flex-basis":"50%","margin-bottom":"6px"},children:(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-right",content:s,onClick:function(){function i(){c("setCategory",{category:s})}return i}()})},s)})})]})}return S}()},42878:function(A,r,n){"use strict";r.__esModule=!0,r.LatheMaterialStorage=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheMaterialStorage=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data,g=I.act,d=k.loaded_materials;return(0,e.createComponentVNode)(2,t.Section,{className:"RndConsole__LatheMaterialStorage",title:"Material Storage",children:(0,e.createComponentVNode)(2,t.Table,{children:d.map(function(c){var m=c.id,l=c.amount,u=c.name,s=function(){function v(p){var N=k.menu===4?"lathe_ejectsheet":"imprinter_ejectsheet";g(N,{id:m,amount:p})}return v}(),i=Math.floor(l/2e3),h=l<1,C=i===1?"":"s";return(0,e.createComponentVNode)(2,t.Table.Row,{className:h?"color-grey":"color-yellow",children:[(0,e.createComponentVNode)(2,t.Table.Cell,{minWidth:"210px",children:["* ",l," of ",u]}),(0,e.createComponentVNode)(2,t.Table.Cell,{minWidth:"110px",children:["(",i," sheet",C,")"]}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:l>=2e3?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:"1x",icon:"eject",onClick:function(){function v(){return s(1)}return v}()}),(0,e.createComponentVNode)(2,t.Button,{content:"C",icon:"eject",onClick:function(){function v(){return s("custom")}return v}()}),l>=2e3*5?(0,e.createComponentVNode)(2,t.Button,{content:"5x",icon:"eject",onClick:function(){function v(){return s(5)}return v}()}):null,(0,e.createComponentVNode)(2,t.Button,{content:"All",icon:"eject",onClick:function(){function v(){return s(50)}return v}()})],0):null})]},m)})})})}return f}()},52662:function(A,r,n){"use strict";r.__esModule=!0,r.LatheMaterials=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheMaterials=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data,g=k.total_materials,d=k.max_materials,c=k.max_chemicals,m=k.total_chemicals;return(0,e.createComponentVNode)(2,t.Box,{className:"RndConsole__LatheMaterials",mb:"10px",children:(0,e.createComponentVNode)(2,t.Table,{width:"auto",children:[(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Material Amount:"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:g}),d?(0,e.createComponentVNode)(2,t.Table.Cell,{children:" / "+d}):null]}),(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:"Chemical Amount:"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:m}),c?(0,e.createComponentVNode)(2,t.Table.Cell,{children:" / "+c}):null]})]})})}return f}()},9681:function(A,r,n){"use strict";r.__esModule=!0,r.LatheMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(12644),f=n(70864),b=n(16830),S=n(42878),I=n(70497),k=["menu"];function g(u,s){if(u==null)return{};var i={};for(var h in u)if({}.hasOwnProperty.call(u,h)){if(s.includes(h))continue;i[h]=u[h]}return i}var d=t.Tabs.Tab,c=function(s,i){var h=(0,a.useBackend)(i),C=h.act,v=h.data,p=v.menu===o.MENU.LATHE?["nav_protolathe",v.submenu_protolathe]:["nav_imprinter",v.submenu_imprinter],N=p[0],V=p[1],y=s.menu,B=g(s,k);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,d,Object.assign({selected:V===y,onClick:function(){function L(){return C(N,{menu:y})}return L}()},B)))},m=function(s){switch(s){case o.PRINTER_MENU.MAIN:return(0,e.createComponentVNode)(2,f.LatheMainMenu);case o.PRINTER_MENU.SEARCH:return(0,e.createComponentVNode)(2,b.LatheCategory);case o.PRINTER_MENU.MATERIALS:return(0,e.createComponentVNode)(2,S.LatheMaterialStorage);case o.PRINTER_MENU.CHEMICALS:return(0,e.createComponentVNode)(2,I.LatheChemicalStorage)}},l=r.LatheMenu=function(){function u(s,i){var h=(0,a.useBackend)(i),C=h.data,v=C.menu,p=C.linked_lathe,N=C.linked_imprinter;return v===o.MENU.LATHE&&!p?(0,e.createComponentVNode)(2,t.Box,{children:"NO PROTOLATHE LINKED TO CONSOLE"}):v===o.MENU.IMPRINTER&&!N?(0,e.createComponentVNode)(2,t.Box,{children:"NO CIRCUIT IMPRITER LINKED TO CONSOLE"}):(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,c,{menu:o.PRINTER_MENU.MAIN,icon:"bars",children:"Main Menu"}),(0,e.createComponentVNode)(2,c,{menu:o.PRINTER_MENU.MATERIALS,icon:"layer-group",children:"Materials"}),(0,e.createComponentVNode)(2,c,{menu:o.PRINTER_MENU.CHEMICALS,icon:"flask-vial",children:"Chemicals"})]}),m(C.menu===o.MENU.LATHE?C.submenu_protolathe:C.submenu_imprinter)]})}return u}()},68198:function(A,r,n){"use strict";r.__esModule=!0,r.LatheSearch=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LatheSearch=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act;return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"Search...",onEnter:function(){function g(d,c){return k("search",{to_search:c})}return g}()})})}return f}()},81421:function(A,r,n){"use strict";r.__esModule=!0,r.LinkMenu=void 0;var e=n(89005),a=n(72253),t=n(98595),o=n(36036),f=r.LinkMenu=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.controllers;return(0,e.createComponentVNode)(2,t.Window,{width:800,height:550,children:(0,e.createComponentVNode)(2,t.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{title:"Setup Linkage",children:(0,e.createComponentVNode)(2,o.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Link"})]}),c.map(function(m){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:m.addr}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:m.net_id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Link",icon:"link",onClick:function(){function l(){return g("linktonetworkcontroller",{target_controller:m.addr})}return l}()})})]},m.addr)})]})})})})}return b}()},6256:function(A,r,n){"use strict";r.__esModule=!0,r.SettingsMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.SettingsMenu=function(){function S(I,k){return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,f),(0,e.createComponentVNode)(2,b)]})}return S}(),f=function(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.sync,l=c.admin;return(0,e.createComponentVNode)(2,t.Section,{title:"Settings",children:(0,e.createComponentVNode)(2,t.Flex,{direction:"column",align:"flex-start",children:(0,e.createComponentVNode)(2,t.Button,{color:"red",icon:"unlink",content:"Disconnect from Research Network",onClick:function(){function u(){d("unlink")}return u}()})})})},b=function(I,k){var g=(0,a.useBackend)(k),d=g.data,c=g.act,m=d.linked_analyzer,l=d.linked_lathe,u=d.linked_imprinter;return(0,e.createComponentVNode)(2,t.Section,{title:"Linked Devices",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"link",content:"Re-sync with Nearby Devices",onClick:function(){function s(){return c("find_device")}return s}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Scientific Analyzer",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",disabled:!m,content:m?"Unlink":"Undetected",onClick:function(){function s(){return c("disconnect",{item:"analyze"})}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Protolathe",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",disabled:!l,content:l?"Unlink":"Undetected",onClick:function(){function s(){c("disconnect",{item:"lathe"})}return s}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Circuit Imprinter",children:(0,e.createComponentVNode)(2,t.Button,{icon:"unlink",disabled:!u,content:u?"Unlink":"Undetected",onClick:function(){function s(){return c("disconnect",{item:"imprinter"})}return s}()})})]})})}},12644:function(A,r,n){"use strict";r.__esModule=!0,r.RndConsole=r.PRINTER_MENU=r.MENU=void 0;var e=n(89005),a=n(72253),t=n(98595),o=n(36036),f=n(35840),b=n(37556),S=n(9681),I=n(81421),k=n(6256),g=n(68303),d=["menu"];function c(p,N){if(p==null)return{};var V={};for(var y in p)if({}.hasOwnProperty.call(p,y)){if(N.includes(y))continue;V[y]=p[y]}return V}var m=o.Tabs.Tab,l=r.MENU={MAIN:0,DISK:2,ANALYZE:3,LATHE:4,IMPRINTER:5,SETTINGS:6},u=r.PRINTER_MENU={MAIN:0,SEARCH:1,MATERIALS:2,CHEMICALS:3},s=function(N){switch(N){case l.MAIN:return(0,e.createComponentVNode)(2,v);case l.DISK:return(0,e.createComponentVNode)(2,b.DataDiskMenu);case l.ANALYZE:return(0,e.createComponentVNode)(2,g.AnalyzerMenu);case l.LATHE:case l.IMPRINTER:return(0,e.createComponentVNode)(2,S.LatheMenu);case l.SETTINGS:return(0,e.createComponentVNode)(2,k.SettingsMenu);default:return"UNKNOWN MENU"}},i=function(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data,w=L.menu,x=N.menu,T=c(N,d);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,m,Object.assign({selected:w===x,onClick:function(){function M(){return B("nav",{menu:x})}return M}()},T)))},h=r.RndConsole=function(){function p(N,V){var y=(0,a.useBackend)(V),B=y.act,L=y.data;if(!L.linked)return(0,e.createComponentVNode)(2,I.LinkMenu);var w=L.menu,x=L.linked_analyzer,T=L.linked_lathe,M=L.linked_imprinter,O=L.wait_message;return(0,e.createComponentVNode)(2,t.Window,{width:800,height:550,children:(0,e.createComponentVNode)(2,t.Window.Content,{children:(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole",children:[(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,i,{icon:"flask",menu:l.MAIN,children:"Research"}),!!x&&(0,e.createComponentVNode)(2,i,{icon:"microscope",menu:l.ANALYZE,children:"Analyze"}),!!T&&(0,e.createComponentVNode)(2,i,{icon:"print",menu:l.LATHE,children:"Protolathe"}),!!M&&(0,e.createComponentVNode)(2,i,{icon:"memory",menu:l.IMPRINTER,children:"Imprinter"}),(0,e.createComponentVNode)(2,i,{icon:"floppy-disk",menu:l.DISK,children:"Disk"}),(0,e.createComponentVNode)(2,i,{icon:"cog",menu:l.SETTINGS,children:"Settings"})]}),s(w),(0,e.createComponentVNode)(2,C)]})})})}return p}(),C=function(N,V){var y=(0,a.useBackend)(V),B=y.data,L=B.wait_message;return L?(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole__Overlay",children:(0,e.createComponentVNode)(2,o.Box,{className:"RndConsole__Overlay__Wrapper",children:(0,e.createComponentVNode)(2,o.NoticeBox,{color:"black",children:L})})}):null},v=function(N,V){var y=(0,a.useBackend)(V),B=y.data,L=B.tech_levels;return(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.Table,{id:"research-levels",children:[(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"Research Field"}),(0,e.createComponentVNode)(2,o.Table.Cell,{header:!0,children:"Level"})]}),L.map(function(w){var x=w.id,T=w.name,M=w.desc,O=w.level,D=w.ui_icon;return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{icon:"circle-info",tooltip:M})}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:D})," ",T]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:O})]},x)})]})})}},29205:function(A,r,n){"use strict";r.__esModule=!0,r.RndNetController=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=r.RndNetController=function(){function k(g,d){var c=(0,t.useBackend)(d),m=c.act,l=c.data,u=l.ion,s=(0,t.useLocalState)(d,"mainTabIndex",0),i=s[0],h=s[1],C=function(){function v(p){switch(p){case 0:return(0,e.createComponentVNode)(2,S);case 1:return(0,e.createComponentVNode)(2,I);default:return"SOMETHING WENT VERY WRONG PLEASE AHELP"}}return v}();return(0,e.createComponentVNode)(2,f.Window,{width:900,height:600,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"wrench",selected:i===0,onClick:function(){function v(){return h(0)}return v}(),children:"Network Management"},"ConfigPage"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"floppy-disk",selected:i===1,onClick:function(){function v(){return h(1)}return v}(),children:"Design Management"},"DesignPage")]}),C(i)]})})}return k}(),S=function(g,d){var c=(0,t.useBackend)(d),m=c.act,l=c.data,u=(0,t.useLocalState)(d,"filterType","ALL"),s=u[0],i=u[1],h=l.network_password,C=l.network_name,v=l.devices,p=[];p.push(s),s==="MSC"&&(p.push("BCK"),p.push("PGN"));var N=s==="ALL"?v:v.filter(function(V){return p.indexOf(V.dclass)>-1});return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Section,{title:"Network Configuration",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Network Name",children:(0,e.createComponentVNode)(2,o.Button,{content:C||"Unset",selected:C,icon:"edit",onClick:function(){function V(){return m("network_name")}return V}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Network Password",children:(0,e.createComponentVNode)(2,o.Button,{content:h||"Unset",selected:h,icon:"lock",onClick:function(){function V(){return m("network_password")}return V}()})})]})}),(0,e.createComponentVNode)(2,o.Section,{title:"Connected Devices",children:[(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:s==="ALL",onClick:function(){function V(){return i("ALL")}return V}(),icon:"network-wired",children:"All Devices"},"AllDevices"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:s==="SRV",onClick:function(){function V(){return i("SRV")}return V}(),icon:"server",children:"R&D Servers"},"RNDServers"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:s==="RDC",onClick:function(){function V(){return i("RDC")}return V}(),icon:"desktop",children:"R&D Consoles"},"RDConsoles"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:s==="MFB",onClick:function(){function V(){return i("MFB")}return V}(),icon:"industry",children:"Exosuit Fabricators"},"Mechfabs"),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:s==="MSC",onClick:function(){function V(){return i("MSC")}return V}(),icon:"microchip",children:"Miscellaneous Devices"},"Misc")]}),(0,e.createComponentVNode)(2,o.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Device Name"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Device ID"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Unlink"})]}),N.map(function(V){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:V.name}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:V.id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Unlink",icon:"unlink",color:"red",onClick:function(){function y(){return m("unlink_device",{dclass:V.dclass,uid:V.id})}return y}()})})]},V.id)})]})]})],4)},I=function(g,d){var c=(0,t.useBackend)(d),m=c.act,l=c.data,u=l.designs,s=(0,t.useLocalState)(d,"searchText",""),i=s[0],h=s[1];return(0,e.createComponentVNode)(2,o.Section,{title:"Design Management",children:[(0,e.createComponentVNode)(2,o.Input,{fluid:!0,placeholder:"Search for designs",mb:2,onInput:function(){function C(v,p){return h(p)}return C}()}),u.filter((0,a.createSearch)(i,function(C){return C.name})).map(function(C){return(0,e.createComponentVNode)(2,o.Button.Checkbox,{fluid:!0,content:C.name,checked:!C.blacklisted,onClick:function(){function v(){return m(C.blacklisted?"unblacklist_design":"blacklist_design",{d_uid:C.uid})}return v}()},C.name)})]})}},63315:function(A,r,n){"use strict";r.__esModule=!0,r.RndServer=void 0;var e=n(89005),a=n(72253),t=n(44879),o=n(36036),f=n(98595),b=r.RndServer=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.active,s=l.network_name;return(0,e.createComponentVNode)(2,f.Window,{width:600,height:500,resizable:!0,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,o.Section,{title:"Server Configuration",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Machine power",children:(0,e.createComponentVNode)(2,o.Button,{content:u?"On":"Off",selected:u,icon:"power-off",onClick:function(){function i(){return m("toggle_active")}return i}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Link status",children:s===null?(0,e.createComponentVNode)(2,o.Box,{color:"red",children:"Unlinked"}):(0,e.createComponentVNode)(2,o.Box,{color:"green",children:"Linked"})})]})}),s===null?(0,e.createComponentVNode)(2,I):(0,e.createComponentVNode)(2,S)]})})}return k}(),S=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.network_name;return(0,e.createComponentVNode)(2,o.Section,{title:"Network Info",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Connected network ID",children:u}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Unlink",children:(0,e.createComponentVNode)(2,o.Button,{content:"Unlink",icon:"unlink",color:"red",onClick:function(){function s(){return m("unlink")}return s}()})})]})})},I=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.controllers;return(0,e.createComponentVNode)(2,o.Section,{title:"Detected Cores",children:(0,e.createComponentVNode)(2,o.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,o.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:"Link"})]}),u.map(function(s){return(0,e.createComponentVNode)(2,o.Table.Row,{children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:s.netname}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{content:"Link",icon:"link",onClick:function(){function i(){return m("link",{addr:s.addr})}return i}()})})]},s.addr)})]})})}},26109:function(A,r,n){"use strict";r.__esModule=!0,r.RobotSelfDiagnosis=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(25328),b=function(k,g){var d=k/g;return d<=.2?"good":d<=.5?"average":"bad"},S=r.RobotSelfDiagnosis=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.data,m=c.component_data;return(0,e.createComponentVNode)(2,o.Window,{width:280,height:480,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:m.map(function(l,u){return(0,e.createComponentVNode)(2,t.Section,{title:(0,f.capitalize)(l.name),children:l.installed<=0?(0,e.createComponentVNode)(2,t.NoticeBox,{m:-.5,height:3.5,color:"red",style:{"font-style":"normal"},children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",children:(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,textAlign:"center",align:"center",color:"#e8e8e8",children:l.installed===-1?"Destroyed":"Missing"})})}):(0,e.createComponentVNode)(2,t.Flex,{children:[(0,e.createComponentVNode)(2,t.Flex.Item,{width:"72%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Brute Damage",color:b(l.brute_damage,l.max_damage),children:l.brute_damage}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Burn Damage",color:b(l.electronic_damage,l.max_damage),children:l.electronic_damage})]})}),(0,e.createComponentVNode)(2,t.Flex.Item,{width:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Powered",color:l.powered?"good":"bad",children:l.powered?"Yes":"No"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Enabled",color:l.status?"good":"bad",children:l.status?"Yes":"No"})]})})]})},u)})})})}return I}()},97997:function(A,r,n){"use strict";r.__esModule=!0,r.RoboticsControlConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.RoboticsControlConsole=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.can_hack,l=c.safety,u=c.show_lock_all,s=c.cyborgs,i=s===void 0?[]:s;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:460,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[!!u&&(0,e.createComponentVNode)(2,t.Section,{title:"Emergency Lock Down",children:[(0,e.createComponentVNode)(2,t.Button,{icon:l?"lock":"unlock",content:l?"Disable Safety":"Enable Safety",selected:l,onClick:function(){function h(){return d("arm",{})}return h}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"lock",disabled:l,content:"Lock ALL Cyborgs",color:"bad",onClick:function(){function h(){return d("masslock",{})}return h}()})]}),(0,e.createComponentVNode)(2,b,{cyborgs:i,can_hack:m})]})})}return S}(),b=function(I,k){var g=I.cyborgs,d=I.can_hack,c=(0,a.useBackend)(k),m=c.act,l=c.data,u="Detonate";return l.detonate_cooldown>0&&(u+=" ("+l.detonate_cooldown+"s)"),g.length?g.map(function(s){return(0,e.createComponentVNode)(2,t.Section,{title:s.name,buttons:(0,e.createFragment)([!!s.hackable&&!s.emagged&&(0,e.createComponentVNode)(2,t.Button,{icon:"terminal",content:"Hack",color:"bad",onClick:function(){function i(){return m("hackbot",{uid:s.uid})}return i}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:s.locked_down?"unlock":"lock",color:s.locked_down?"good":"default",content:s.locked_down?"Release":"Lockdown",disabled:!l.auth,onClick:function(){function i(){return m("stopbot",{uid:s.uid})}return i}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"bomb",content:u,disabled:!l.auth||l.detonate_cooldown>0,color:"bad",onClick:function(){function i(){return m("killbot",{uid:s.uid})}return i}()})],0),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:(0,e.createComponentVNode)(2,t.Box,{color:s.status?"bad":s.locked_down?"average":"good",children:s.status?"Not Responding":s.locked_down?"Locked Down":"Nominal"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:(0,e.createComponentVNode)(2,t.Box,{children:s.locstring})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:s.health>50?"good":"bad",value:s.health/100})}),typeof s.charge=="number"&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell Charge",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:s.charge>30?"good":"bad",value:s.charge/100})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell Capacity",children:(0,e.createComponentVNode)(2,t.Box,{color:s.cell_capacity<3e4?"average":"good",children:s.cell_capacity})})],4)||(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cell",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"No Power Cell"})}),!!s.is_hacked&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safeties",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"DISABLED"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Module",children:s.module}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Master AI",children:(0,e.createComponentVNode)(2,t.Box,{color:s.synchronization?"default":"average",children:s.synchronization||"None"})})]})},s.uid)}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No cyborg units detected within access parameters."})}},54431:function(A,r,n){"use strict";r.__esModule=!0,r.Safe=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Safe=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.dial,s=l.open,i=l.locked,h=l.contents;return(0,e.createComponentVNode)(2,o.Window,{theme:"safe",width:600,height:800,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Box,{className:"Safe--engraving",children:[(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Box,{className:"Safe--engraving--hinge",top:"25%"}),(0,e.createComponentVNode)(2,t.Box,{className:"Safe--engraving--hinge",top:"75%"})]}),(0,e.createComponentVNode)(2,t.Icon,{className:"Safe--engraving--arrow",name:"long-arrow-alt-down",size:"3"}),(0,e.createVNode)(1,"br"),s?(0,e.createComponentVNode)(2,S):(0,e.createComponentVNode)(2,t.Box,{as:"img",className:"Safe--dial",src:"safe_dial.png",style:{transform:"rotate(-"+3.6*u+"deg)","z-index":0}})]}),!s&&(0,e.createComponentVNode)(2,I)]})})}return k}(),b=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.dial,s=l.open,i=l.locked,h=function(v,p){return(0,e.createComponentVNode)(2,t.Button,{disabled:s||p&&!i,icon:"arrow-"+(p?"right":"left"),content:(p?"Right":"Left")+" "+v,iconRight:p,onClick:function(){function N(){return m(p?"turnleft":"turnright",{num:v})}return N}(),style:{"z-index":10}})};return(0,e.createComponentVNode)(2,t.Box,{className:"Safe--dialer",children:[(0,e.createComponentVNode)(2,t.Button,{disabled:i,icon:s?"lock":"lock-open",content:s?"Close":"Open",mb:"0.5rem",onClick:function(){function C(){return m("open")}return C}()}),(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Box,{position:"absolute",children:[h(50),h(10),h(1)]}),(0,e.createComponentVNode)(2,t.Box,{className:"Safe--dialer--right",position:"absolute",right:"5px",children:[h(1,!0),h(10,!0),h(50,!0)]}),(0,e.createComponentVNode)(2,t.Box,{className:"Safe--dialer--number",children:u})]})},S=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.contents;return(0,e.createComponentVNode)(2,t.Box,{className:"Safe--contents",overflow:"auto",children:u.map(function(s,i){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{mb:"0.5rem",onClick:function(){function h(){return m("retrieve",{index:i+1})}return h}(),children:[(0,e.createComponentVNode)(2,t.Box,{as:"img",src:s.sprite+".png",verticalAlign:"middle",ml:"-6px",mr:"0.5rem"}),s.name]}),(0,e.createVNode)(1,"br")],4,s)})})},I=function(g,d){return(0,e.createComponentVNode)(2,t.Section,{className:"Safe--help",title:"Safe opening instructions (because you all keep forgetting)",children:[(0,e.createComponentVNode)(2,t.Box,{children:["1. Turn the dial left to the first number.",(0,e.createVNode)(1,"br"),"2. Turn the dial right to the second number.",(0,e.createVNode)(1,"br"),"3. Continue repeating this process for each number, switching between left and right each time.",(0,e.createVNode)(1,"br"),"4. Open the safe."]}),(0,e.createComponentVNode)(2,t.Box,{bold:!0,children:"To lock fully, turn the dial to the left after closing the safe."})]})}},29740:function(A,r,n){"use strict";r.__esModule=!0,r.SatelliteControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SatelliteControl=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.satellites,m=d.notice,l=d.meteor_shield,u=d.meteor_shield_coverage,s=d.meteor_shield_coverage_max,i=d.meteor_shield_coverage_percentage;return(0,e.createComponentVNode)(2,o.Window,{width:475,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[l&&(0,e.createComponentVNode)(2,t.Section,{title:"Station Shield Coverage",children:(0,e.createComponentVNode)(2,t.ProgressBar,{color:i>=100?"good":"average",value:u,maxValue:s,children:[i," %"]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Satellite Network Control",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Alert",color:"red",children:d.notice}),c.map(function(h){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"#"+h.id,children:[h.mode," ",(0,e.createComponentVNode)(2,t.Button,{content:h.active?"Deactivate":"Activate",icon:"arrow-circle-right",onClick:function(){function C(){return g("toggle",{id:h.id})}return C}()})]},h.id)})]})})]})})}return b}()},44162:function(A,r,n){"use strict";r.__esModule=!0,r.SecureStorage=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(98595),b=n(36352),S=n(92986),I=r.SecureStorage=function(){function c(m,l){return(0,e.createComponentVNode)(2,f.Window,{theme:"securestorage",height:500,width:280,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,g)})})})})}return c}(),k=function(m,l){var u=(0,t.useBackend)(l),s=u.act,i=window.event?m.which:m.keyCode;if(i===S.KEY_ENTER){m.preventDefault(),s("keypad",{digit:"E"});return}if(i===S.KEY_ESCAPE){m.preventDefault(),s("keypad",{digit:"C"});return}if(i===S.KEY_BACKSPACE){m.preventDefault(),s("backspace");return}if(i>=S.KEY_0&&i<=S.KEY_9){m.preventDefault(),s("keypad",{digit:i-S.KEY_0});return}if(i>=S.KEY_NUMPAD_0&&i<=S.KEY_NUMPAD_9){m.preventDefault(),s("keypad",{digit:i-S.KEY_NUMPAD_0});return}},g=function(m,l){var u=(0,t.useBackend)(l),s=u.act,i=u.data,h=i.locked,C=i.no_passcode,v=i.emagged,p=i.user_entered_code,N=[["1","2","3"],["4","5","6"],["7","8","9"],["C","0","E"]],V=C?"":h?"bad":"good";return(0,e.createComponentVNode)(2,o.Section,{fill:!0,onKeyDown:function(){function y(B){return k(B,l)}return y}(),children:[(0,e.createComponentVNode)(2,o.Stack.Item,{height:7.3,children:(0,e.createComponentVNode)(2,o.Box,{className:(0,a.classes)(["SecureStorage__displayBox","SecureStorage__displayBox--"+V]),height:"100%",children:v?"ERROR":p})}),(0,e.createComponentVNode)(2,o.Table,{children:N.map(function(y){return(0,e.createComponentVNode)(2,b.TableRow,{children:y.map(function(B){return(0,e.createComponentVNode)(2,b.TableCell,{children:(0,e.createComponentVNode)(2,d,{number:B})},B)})},y[0])})})]})},d=function(m,l){var u=(0,t.useBackend)(l),s=u.act,i=u.data,h=m.number;return(0,e.createComponentVNode)(2,o.Button,{fluid:!0,bold:!0,mb:"6px",content:h,textAlign:"center",fontSize:"60px",lineHeight:1.25,width:"80px",className:(0,a.classes)(["SecureStorage__Button","SecureStorage__Button--keypad","SecureStorage__Button--"+h]),onClick:function(){function C(){return s("keypad",{digit:h})}return C}()})}},6272:function(A,r,n){"use strict";r.__esModule=!0,r.SecurityRecords=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=n(3939),S=n(321),I=n(5485),k=n(22091),g={"*Execute*":"execute","*Arrest*":"arrest",Incarcerated:"incarcerated",Parolled:"parolled",Released:"released",Demote:"demote",Search:"search",Monitor:"monitor"},d=function(p,N){(0,b.modalOpen)(p,"edit",{field:N.edit,value:N.value})},c=r.SecurityRecords=function(){function v(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.loginState,w=B.currentPage,x;if(L.logged_in)w===1?x=(0,e.createComponentVNode)(2,l):w===2&&(x=(0,e.createComponentVNode)(2,i));else return(0,e.createComponentVNode)(2,f.Window,{theme:"security",width:800,height:900,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,I.LoginScreen)})});return(0,e.createComponentVNode)(2,f.Window,{theme:"security",width:800,height:900,children:[(0,e.createComponentVNode)(2,b.ComplexModal),(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,S.LoginInfo),(0,e.createComponentVNode)(2,k.TemporaryNotice),(0,e.createComponentVNode)(2,m),x]})})]})}return v}(),m=function(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.currentPage,w=B.general;return(0,e.createComponentVNode)(2,o.Stack.Item,{m:0,children:(0,e.createComponentVNode)(2,o.Tabs,{children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"list",selected:L===1,onClick:function(){function x(){return y("page",{page:1})}return x}(),children:"List Records"}),L===2&&w&&!w.empty&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{icon:"file",selected:L===2,children:["Record: ",w.fields[0].value]})]})})},l=function(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.records,w=(0,t.useLocalState)(N,"searchText",""),x=w[0],T=w[1],M=(0,t.useLocalState)(N,"sortId","name"),O=M[0],D=M[1],E=(0,t.useLocalState)(N,"sortOrder",!0),P=E[0],R=E[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,s)}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,mt:.5,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,o.Table,{className:"SecurityRecords__list",children:[(0,e.createComponentVNode)(2,o.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,u,{id:"name",children:"Name"}),(0,e.createComponentVNode)(2,u,{id:"id",children:"ID"}),(0,e.createComponentVNode)(2,u,{id:"rank",children:"Assignment"}),(0,e.createComponentVNode)(2,u,{id:"fingerprint",children:"Fingerprint"}),(0,e.createComponentVNode)(2,u,{id:"status",children:"Criminal Status"})]}),L.filter((0,a.createSearch)(x,function(j){return j.name+"|"+j.id+"|"+j.rank+"|"+j.fingerprint+"|"+j.status})).sort(function(j,F){var W=P?1:-1;return j[O].localeCompare(F[O])*W}).map(function(j){return(0,e.createComponentVNode)(2,o.Table.Row,{className:"SecurityRecords__listRow--"+g[j.status],onClick:function(){function F(){return y("view",{uid_gen:j.uid_gen,uid_sec:j.uid_sec})}return F}(),children:[(0,e.createComponentVNode)(2,o.Table.Cell,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user"})," ",j.name]}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:j.id}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:j.rank}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:j.fingerprint}),(0,e.createComponentVNode)(2,o.Table.Cell,{children:j.status})]},j.id)})]})})})],4)},u=function(p,N){var V=(0,t.useLocalState)(N,"sortId","name"),y=V[0],B=V[1],L=(0,t.useLocalState)(N,"sortOrder",!0),w=L[0],x=L[1],T=p.id,M=p.children;return(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Table.Cell,{children:(0,e.createComponentVNode)(2,o.Button,{color:y!==T&&"transparent",fluid:!0,onClick:function(){function O(){y===T?x(!w):(B(T),x(!0))}return O}(),children:[M,y===T&&(0,e.createComponentVNode)(2,o.Icon,{name:w?"sort-up":"sort-down",ml:"0.25rem;"})]})})})},s=function(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.isPrinting,w=(0,t.useLocalState)(N,"searchText",""),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{ml:"0.25rem",content:"New Record",icon:"plus",onClick:function(){function M(){return y("new_general")}return M}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Button,{disabled:L,icon:L?"spinner":"print",iconSpin:!!L,content:"Print Cell Log",onClick:function(){function M(){return(0,b.modalOpen)(N,"print_cell_log")}return M}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by Name, ID, Assignment, Fingerprint, Status",fluid:!0,onInput:function(){function M(O,D){return T(D)}return M}()})})]})},i=function(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.isPrinting,w=B.general,x=B.security;return!w||!w.fields?(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"General records lost!"}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"General Data",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:L,icon:L?"spinner":"print",iconSpin:!!L,content:"Print Record",onClick:function(){function T(){return y("print_record")}return T}()}),(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",tooltip:"WARNING: This will also delete the Security and Medical records associated with this crew member!",tooltipPosition:"bottom-start",content:"Delete Record",onClick:function(){function T(){return y("delete_general")}return T}()})],4),children:(0,e.createComponentVNode)(2,h)})}),!x||!x.fields?(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,title:"Security Data",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"pen",content:"Create New Record",onClick:function(){function T(){return y("new_security")}return T}()}),children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{bold:!0,grow:!0,textAlign:"center",fontSize:1.75,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon.Stack,{children:[(0,e.createComponentVNode)(2,o.Icon,{name:"scroll",size:5,color:"gray"}),(0,e.createComponentVNode)(2,o.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"Security records lost!"]})})})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Security Data",buttons:(0,e.createComponentVNode)(2,o.Button.Confirm,{icon:"trash",disabled:x.empty,content:"Delete Record",onClick:function(){function T(){return y("delete_security")}return T}()}),children:(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:x.fields.map(function(T,M){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:T.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(T.value),!!T.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:T.line_break?"1rem":"initial",onClick:function(){function O(){return d(N,T)}return O}()})]},M)})})})})}),(0,e.createComponentVNode)(2,C)],4)],0)},h=function(p,N){var V=(0,t.useBackend)(N),y=V.data,B=y.general;return!B||!B.fields?(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,color:"bad",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,children:"General records lost!"})})}):(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:B.fields.map(function(L,w){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:L.field,preserveWhitespace:!0,children:[(0,a.decodeHtmlEntities)(""+L.value),!!L.edit&&(0,e.createComponentVNode)(2,o.Button,{icon:"pen",ml:"0.5rem",mb:L.line_break?"1rem":"initial",onClick:function(){function x(){return d(N,L)}return x}()})]},w)})})}),!!B.has_photos&&B.photos.map(function(L,w){return(0,e.createComponentVNode)(2,o.Stack.Item,{inline:!0,textAlign:"center",color:"label",ml:0,children:[(0,e.createVNode)(1,"img",null,null,1,{src:L,style:{width:"96px","margin-top":"5rem","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor","image-rendering":"pixelated"}}),(0,e.createVNode)(1,"br"),"Photo #",w+1]},w)})]})},C=function(p,N){var V=(0,t.useBackend)(N),y=V.act,B=V.data,L=B.security;return(0,e.createComponentVNode)(2,o.Stack.Item,{height:"150px",children:(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Comments/Log",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:"comment",content:"Add Entry",onClick:function(){function w(){return(0,b.modalOpen)(N,"comment_add")}return w}()}),children:L.comments.length===0?(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No comments found."}):L.comments.map(function(w,x){return(0,e.createComponentVNode)(2,o.Box,{preserveWhitespace:!0,children:[(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:w.header||"Auto-generated"}),(0,e.createVNode)(1,"br"),w.text||w,(0,e.createComponentVNode)(2,o.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){function T(){return y("comment_delete",{id:x+1})}return T}()})]},x)})})})}},5099:function(A,r,n){"use strict";r.__esModule=!0,r.SeedExtractor=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=n(98595),b=n(3939);function S(u,s){var i=typeof Symbol!="undefined"&&u[Symbol.iterator]||u["@@iterator"];if(i)return(i=i.call(u)).next.bind(i);if(Array.isArray(u)||(i=I(u))||s&&u&&typeof u.length=="number"){i&&(u=i);var h=0;return function(){return h>=u.length?{done:!0}:{done:!1,value:u[h++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function I(u,s){if(u){if(typeof u=="string")return k(u,s);var i={}.toString.call(u).slice(8,-1);return i==="Object"&&u.constructor&&(i=u.constructor.name),i==="Map"||i==="Set"?Array.from(u):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?k(u,s):void 0}}function k(u,s){(s==null||s>u.length)&&(s=u.length);for(var i=0,h=Array(s);i=x},C=function(w,x){return w<=x},v=s.split(" "),p=[],N=function(){var w=B.value,x=w.split(":");if(x.length===0)return 0;if(x.length===1)return p.push(function(O){return(O.name+" ("+O.variant+")").toLocaleLowerCase().includes(x[0].toLocaleLowerCase())}),0;if(x.length>2)return{v:function(){function O(D){return!1}return O}()};var T,M=i;if(x[1][x[1].length-1]==="-"?(M=C,T=Number(x[1].substring(0,x[1].length-1))):x[1][x[1].length-1]==="+"?(M=h,T=Number(x[1].substring(0,x[1].length-1))):T=Number(x[1]),isNaN(T))return{v:function(){function O(D){return!1}return O}()};switch(x[0].toLocaleLowerCase()){case"l":case"life":case"lifespan":p.push(function(O){return M(O.lifespan,T)});break;case"e":case"end":case"endurance":p.push(function(O){return M(O.endurance,T)});break;case"m":case"mat":case"maturation":p.push(function(O){return M(O.maturation,T)});break;case"pr":case"prod":case"production":p.push(function(O){return M(O.production,T)});break;case"y":case"yield":p.push(function(O){return M(O.yield,T)});break;case"po":case"pot":case"potency":p.push(function(O){return M(O.potency,T)});break;case"s":case"stock":case"c":case"count":case"a":case"amount":p.push(function(O){return M(O.amount,T)});break;default:return{v:function(){function O(D){return!1}return O}()}}},V,y=S(v),B;!(B=y()).done;)if(V=N(),V!==0&&V)return V.v;return function(L){for(var w=0,x=p;w=1?Number(M):1)}return x}()})]})]})}},17474:function(A,r,n){"use strict";r.__esModule=!0,r.Shop=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(25328),f=n(72253),b=n(36036),S=n(98595),I=n(3939),k=function(h){switch(h){case 0:return(0,e.createComponentVNode)(2,d);case 1:return(0,e.createComponentVNode)(2,c);default:return"\u041E\u0428\u0418\u0411\u041A\u0410, \u0421\u041E\u041E\u0411\u0429\u0418\u0422\u0415 \u0420\u0410\u0417\u0420\u0410\u0411\u041E\u0422\u0427\u0418\u041A\u0423"}},g=r.Shop=function(){function i(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=N.cart,y=(0,f.useLocalState)(C,"tabIndex",0),B=y[0],L=y[1];return(0,e.createComponentVNode)(2,S.Window,{width:900,height:600,theme:"abductor",children:[(0,e.createComponentVNode)(2,I.ComplexModal),(0,e.createComponentVNode)(2,S.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Tabs,{children:[(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:B===0,onClick:function(){function w(){L(0)}return w}(),icon:"store",children:"\u0422\u043E\u0440\u0433\u043E\u0432\u043B\u044F"},"PurchasePage"),(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:B===1,onClick:function(){function w(){L(1)}return w}(),icon:"shopping-cart",children:["\u041A\u043E\u0440\u0437\u0438\u043D\u0430 ",V&&V.length?"("+V.length+")":""]},"Cart")]})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:k(B)})]})})]})}return i}(),d=function(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=N.cash,y=N.cats,B=(0,f.useLocalState)(C,"shopItems",y[0].items),L=B[0],w=B[1],x=(0,f.useLocalState)(C,"showDesc",1),T=x[0],M=x[1];return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Section,{title:"\u0421\u0440\u0435\u0434\u0441\u0442\u0432\u0430: "+V+"\u043A",buttons:(0,e.createComponentVNode)(2,b.Button.Checkbox,{content:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438",checked:T,onClick:function(){function O(){return M(!T)}return O}()})})})}),(0,e.createComponentVNode)(2,b.Stack,{fill:!0,mt:.3,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,b.Tabs,{vertical:!0,children:y.map(function(O){return(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:O.items===L,onClick:function(){function D(){w(O.items)}return D}(),children:O.cat},O)})})})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:L.map(function(O){return(0,e.createComponentVNode)(2,b.Stack.Item,{p:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,m,{i:O,showDecription:T},(0,o.decodeHtmlEntities)(O.name))},(0,o.decodeHtmlEntities)(O.name))})})})})]})]})},c=function(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=N.cart,y=N.cash,B=N.cart_price,L=(0,f.useLocalState)(C,"showDesc",0),w=L[0],x=L[1];return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"\u0421\u0440\u0435\u0434\u0441\u0442\u0432\u0430: "+y+"\u043A",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,b.Button.Checkbox,{content:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438",checked:w,onClick:function(){function T(){return x(!w)}return T}()}),(0,e.createComponentVNode)(2,b.Button,{content:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",icon:"trash",onClick:function(){function T(){return p("empty_cart")}return T}(),disabled:!V}),(0,e.createComponentVNode)(2,b.Button,{content:"\u041E\u043F\u043B\u0430\u0442\u0438\u0442\u044C ("+B+"\u043A)",icon:"shopping-cart",onClick:function(){function T(){return p("purchase_cart")}return T}(),disabled:!V||B>y})],4),children:(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:V?V.map(function(T){return(0,e.createComponentVNode)(2,b.Stack.Item,{p:1,mr:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,m,{i:T,showDecription:w,buttons:(0,e.createComponentVNode)(2,u,{i:T})})},(0,o.decodeHtmlEntities)(T.name))}):(0,e.createComponentVNode)(2,b.Box,{italic:!0,children:"\u0412\u0430\u0448\u0430 \u043A\u043E\u0440\u0437\u0438\u043D\u0430 \u043F\u0443\u0441\u0442\u0430!"})})})})})},m=function(h,C){var v=h.i,p=h.showDecription,N=p===void 0?1:p,V=h.buttons,y=V===void 0?(0,e.createComponentVNode)(2,l,{i:v}):V;return(0,e.createComponentVNode)(2,b.Section,{title:(0,o.decodeHtmlEntities)(v.name),showBottom:N,buttons:y,children:[N?(0,e.createComponentVNode)(2,b.Box,{italic:!0,children:(0,o.decodeHtmlEntities)(v.desc)}):null,N?(0,e.createComponentVNode)(2,b.Box,{italic:!0,children:(0,o.decodeHtmlEntities)(v.content)}):null]})},l=function(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=h.i,y=N.cash;return(0,e.createComponentVNode)(2,b.Button,{icon:"shopping-cart",content:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u043A\u043E\u0440\u0437\u0438\u043D\u0443 ("+V.cost+" \u041A\u0438\u043A\u0438\u0440\u0438\u0434\u0438\u0442\u043E\u0432)",color:V.limit!==-1&&"red",tooltip:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u043E\u0432\u0430\u0440 \u0432 \u043A\u043E\u0440\u0437\u0438\u043D\u0443, \u0443\u0432\u0435\u043B\u0438\u0447\u0438\u0432 \u043E\u0431\u0449\u0435\u0435 \u0447\u0438\u0441\u043B\u043E \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u0442\u043E\u0432\u0430\u0440\u0430. \u0426\u0435\u043D\u0430 \u0442\u043E\u0432\u0430\u0440\u0430 \u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u0438 \u043E\u0442 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043D\u044B\u0445 \u0446\u0435\u043D\u043D\u043E\u0441\u0442\u0435\u0439 \u0432 \u0420\u0430\u0441\u0447\u0438\u0447\u0435\u0442\u0447\u0438\u043A\u0438\u043A\u0435.",tooltipPosition:"left",onClick:function(){function B(){return p("add_to_cart",{item:V.obj_path})}return B}(),disabled:V.cost>y||V.limit!==-1&&V.purchased>=V.limit||V.is_time_available===!1})},u=function(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=h.i;return(0,e.createComponentVNode)(2,b.Stack,{children:[(0,e.createComponentVNode)(2,b.Button,{icon:"times",content:"("+V.cost*V.amount+"\u043A)",tooltip:"\u0423\u0431\u0440\u0430\u0442\u044C \u0438\u0437 \u043A\u043E\u0440\u0437\u0438\u043D\u044B.",tooltipPosition:"left",onClick:function(){function y(){return p("remove_from_cart",{item:V.obj_path})}return y}()}),(0,e.createComponentVNode)(2,b.Button,{icon:"minus",ml:"5px",onClick:function(){function y(){return p("set_cart_item_quantity",{item:V.obj_path,quantity:--V.amount})}return y}(),disabled:V.amount<=0}),(0,e.createComponentVNode)(2,b.Button.Input,{content:V.amount,width:"45px",tooltipPosition:"bottom-end",onCommit:function(){function y(B,L){return p("set_cart_item_quantity",{item:V.obj_path,quantity:L})}return y}(),disabled:V.limit!==-1&&V.amount>=V.limit&&V.amount<=0}),(0,e.createComponentVNode)(2,b.Button,{mb:.3,icon:"plus",tooltipPosition:"bottom-start",tooltip:V.limit===0&&"Discount already redeemed!",onClick:function(){function y(){return p("set_cart_item_quantity",{item:V.obj_path,quantity:++V.amount})}return y}(),disabled:V.limit!==-1&&V.amount>=V.limit})]})},s=function(h,C){var v=(0,f.useBackend)(C),p=v.act,N=v.data,V=h.pack;return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,horizontal:!0,children:(0,e.createComponentVNode)(2,b.Stack.Item,{width:"70%",children:V.content_images.map(function(y){return(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createVNode)(1,"img",null,null,1,{src:"data:image/jpeg;base64,"+y,style:{"vertical-align":"middle",width:"32px",margin:"0px","margin-left":"0px"}})},y.ref)})})})}},2916:function(A,r,n){"use strict";r.__esModule=!0,r.ShuttleConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ShuttleConsole=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:150,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:d.status?d.status:(0,e.createComponentVNode)(2,t.NoticeBox,{color:"red",children:"Shuttle Missing"})}),!!d.shuttle&&(!!d.docking_ports_len&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Send to ",children:d.docking_ports.map(function(c){return(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",content:c.name,onClick:function(){function m(){return g("move",{move:c.id})}return m}()},c.name)})})||(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",color:"red",children:(0,e.createComponentVNode)(2,t.NoticeBox,{color:"red",children:"Shuttle Locked"})}),!!d.admin_controlled&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Authorization",children:(0,e.createComponentVNode)(2,t.Button,{icon:"exclamation-circle",content:"Request Authorization",disabled:!d.status,onClick:function(){function c(){return g("request")}return c}()})})],0))]})})})})}return b}()},39401:function(A,r,n){"use strict";r.__esModule=!0,r.ShuttleManipulator=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.ShuttleManipulator=function(){function k(g,d){var c=(0,a.useLocalState)(d,"tabIndex",0),m=c[0],l=c[1],u=function(){function s(i){switch(i){case 0:return(0,e.createComponentVNode)(2,b);case 1:return(0,e.createComponentVNode)(2,S);case 2:return(0,e.createComponentVNode)(2,I);default:return"WE SHOULDN'T BE HERE!"}}return s}();return(0,e.createComponentVNode)(2,o.Window,{width:650,height:700,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Box,{fillPositionedParent:!0,children:[(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:m===0,onClick:function(){function s(){return l(0)}return s}(),icon:"info-circle",children:"Status"},"Status"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:m===1,onClick:function(){function s(){return l(1)}return s}(),icon:"file-import",children:"Templates"},"Templates"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:m===2,onClick:function(){function s(){return l(2)}return s}(),icon:"tools",children:"Modification"},"Modification")]}),u(m)]})})})}return k}(),b=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.shuttles;return(0,e.createComponentVNode)(2,t.Box,{children:u.map(function(s){return(0,e.createComponentVNode)(2,t.Section,{title:s.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"ID",children:s.id}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Timer",children:s.timeleft}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Mode",children:s.mode}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shuttle Status",children:s.status}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Jump To",icon:"location-arrow",onClick:function(){function i(){return m("jump_to",{type:"mobile",id:s.id})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Fast Travel",icon:"fast-forward",onClick:function(){function i(){return m("fast_travel",{id:s.id})}return i}()})]})]})},s.name)})})},S=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.templates_tabs,s=l.existing_shuttle,i=l.templates;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Tabs,{children:u.map(function(h){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:h===s.id,icon:"file",onClick:function(){function C(){return m("select_template_category",{cat:h})}return C}(),children:h},h)})}),!!s&&i[s.id].templates.map(function(h){return(0,e.createComponentVNode)(2,t.Section,{title:h.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[h.description&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:h.description}),h.admin_notes&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Admin Notes",children:h.admin_notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{content:"Load Template",icon:"download",onClick:function(){function C(){return m("select_template",{shuttle_id:h.shuttle_id})}return C}()})})]})},h.name)})]})},I=function(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.existing_shuttle,s=l.selected;return(0,e.createComponentVNode)(2,t.Box,{children:[u?(0,e.createComponentVNode)(2,t.Section,{title:"Selected Shuttle: "+u.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:u.status}),u.timer&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Timer",children:u.timeleft}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:(0,e.createComponentVNode)(2,t.Button,{content:"Jump To",icon:"location-arrow",onClick:function(){function i(){return m("jump_to",{type:"mobile",id:u.id})}return i}()})})]})}):(0,e.createComponentVNode)(2,t.Section,{title:"Selected Shuttle: None"}),s?(0,e.createComponentVNode)(2,t.Section,{title:"Selected Template: "+s.name,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[s.description&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Description",children:s.description}),s.admin_notes&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Admin Notes",children:s.admin_notes}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Preview",icon:"eye",onClick:function(){function i(){return m("preview",{shuttle_id:s.shuttle_id})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Load",icon:"download",onClick:function(){function i(){return m("load",{shuttle_id:s.shuttle_id})}return i}()})]})]})}):(0,e.createComponentVNode)(2,t.Section,{title:"Selected Template: None"})]})}},86013:function(A,r,n){"use strict";r.__esModule=!0,r.SingularityMonitor=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(44879),f=n(72253),b=n(36036),S=n(76910),I=n(98595),k=n(36352),g=r.SingularityMonitor=function(){function l(u,s){var i=(0,f.useBackend)(s),h=i.act,C=i.data;return C.active===0?(0,e.createComponentVNode)(2,c):(0,e.createComponentVNode)(2,m)}return l}(),d=function(u){return Math.log2(16+Math.max(0,u))-4},c=function(u,s){var i=(0,f.useBackend)(s),h=i.act,C=i.data,v=C.singularities,p=v===void 0?[]:v;return(0,e.createComponentVNode)(2,I.Window,{width:450,height:185,children:(0,e.createComponentVNode)(2,I.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,title:"Detected Singularities",buttons:(0,e.createComponentVNode)(2,b.Button,{icon:"sync",content:"Refresh",onClick:function(){function N(){return h("refresh")}return N}()}),children:(0,e.createComponentVNode)(2,b.Table,{children:p.map(function(N){return(0,e.createComponentVNode)(2,b.Table.Row,{children:[(0,e.createComponentVNode)(2,b.Table.Cell,{children:N.singularity_id+". "+N.area_name}),(0,e.createComponentVNode)(2,b.Table.Cell,{collapsing:!0,color:"label",children:"Stage:"}),(0,e.createComponentVNode)(2,b.Table.Cell,{collapsing:!0,width:"120px",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:N.stage,minValue:0,maxValue:6,ranges:{good:[1,2],average:[3,4],bad:[5,6]},children:(0,o.toFixed)(N.stage)})}),(0,e.createComponentVNode)(2,b.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,b.Button,{content:"Details",onClick:function(){function V(){return h("view",{view:N.singularity_id})}return V}()})})]},N.singularity_id)})})})})})},m=function(u,s){var i=(0,f.useBackend)(s),h=i.act,C=i.data,v=C.active,p=C.singulo_stage,N=C.singulo_potential_stage,V=C.singulo_energy,y=C.singulo_high,B=C.singulo_low,L=C.generators,w=L===void 0?[]:L;return(0,e.createComponentVNode)(2,I.Window,{width:550,height:185,children:(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{width:"270px",children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Metrics",children:(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Stage",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:p,minValue:0,maxValue:6,ranges:{good:[1,2],average:[3,4],bad:[5,6]},children:(0,o.toFixed)(p)})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Potential Stage",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:N,minValue:0,maxValue:6,ranges:{good:[1,p+.5],average:[p+.5,p+1.5],bad:[p+1.5,p+2]},children:(0,o.toFixed)(N)})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Energy",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:V,minValue:B,maxValue:y,ranges:{good:[.67*y+.33*B,y],average:[.33*y+.67*B,.67*y+.33*B],bad:[B,.33*y+.67*B]},children:(0,o.toFixed)(V)+"MJ"})})]})})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,basis:0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Field Generators",buttons:(0,e.createComponentVNode)(2,b.Button,{icon:"arrow-left",content:"Back",onClick:function(){function x(){return h("back")}return x}()}),children:(0,e.createComponentVNode)(2,b.LabeledList,{children:w.map(function(x){return(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Remaining Charge",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:x.charge,minValue:0,maxValue:125,ranges:{good:[80,125],average:[30,80],bad:[0,30]},children:(0,o.toFixed)(x.charge)})},x.gen_index)})})})})]})})})}},88284:function(A,r,n){"use strict";r.__esModule=!0,r.Sleeper=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=[["good","Alive"],["average","Critical"],["bad","DEAD"]],S=[["Resp.","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],I={average:[.25,.5],bad:[.5,1/0]},k=["bad","average","average","good","average","average","bad"],g=r.Sleeper=function(){function i(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.hasOccupant,y=V?(0,e.createComponentVNode)(2,d):(0,e.createComponentVNode)(2,s);return(0,e.createComponentVNode)(2,f.Window,{width:550,height:760,children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:y}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,l)})]})})})}return i}(),d=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.occupant;return(0,e.createFragment)([(0,e.createComponentVNode)(2,c),(0,e.createComponentVNode)(2,m),(0,e.createComponentVNode)(2,u)],4)},c=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.occupant,y=N.auto_eject_dead;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{color:"label",inline:!0,children:"Auto-eject if dead:\xA0"}),(0,e.createComponentVNode)(2,o.Button,{icon:y?"toggle-on":"toggle-off",selected:y,content:y?"On":"Off",onClick:function(){function B(){return p("auto_eject_dead_"+(y?"off":"on"))}return B}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"user-slash",content:"Eject",onClick:function(){function B(){return p("ejectify")}return B}()})],4),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Name",children:V.name}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Health",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:V.maxHealth,value:V.health/V.maxHealth,ranges:{good:[.5,1/0],average:[0,.5],bad:[-1/0,0]},children:(0,a.round)(V.health,0)})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Status",color:b[V.stat][0],children:b[V.stat][1]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:V.maxTemp,value:V.bodyTemperature/V.maxTemp,color:k[V.temperatureSuitability+3],children:[(0,a.round)(V.btCelsius,0),"\xB0C,",(0,a.round)(V.btFaren,0),"\xB0F"]})}),!!V.hasBlood&&(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Blood Level",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:V.bloodMax,value:V.bloodLevel/V.bloodMax,ranges:{bad:[-1/0,.6],average:[.6,.9],good:[.6,1/0]},children:[V.bloodPercent,"%, ",V.bloodLevel,"cl"]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pulse",verticalAlign:"middle",children:[V.pulse," BPM"]})],4)]})})},m=function(h,C){var v=(0,t.useBackend)(C),p=v.data,N=p.occupant;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant Damage",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:S.map(function(V,y){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:V[0],children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:"100",value:N[V[1]]/100,ranges:I,children:(0,a.round)(N[V[1]],0)},y)},y)})})})},l=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.hasOccupant,y=N.isBeakerLoaded,B=N.beakerMaxSpace,L=N.beakerFreeSpace,w=N.dialysis,x=w&&L>0;return(0,e.createComponentVNode)(2,o.Section,{title:"Dialysis",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{disabled:!y||L<=0||!V,selected:x,icon:x?"toggle-on":"toggle-off",content:x?"Active":"Inactive",onClick:function(){function T(){return p("togglefilter")}return T}()}),(0,e.createComponentVNode)(2,o.Button,{disabled:!y,icon:"eject",content:"Eject",onClick:function(){function T(){return p("removebeaker")}return T}()})],4),children:y?(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Remaining Space",children:(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:B,value:L/B,ranges:{good:[.5,1/0],average:[.25,.5],bad:[-1/0,.25]},children:[L,"u"]})})}):(0,e.createComponentVNode)(2,o.Box,{color:"label",children:"No beaker loaded."})})},u=function(h,C){var v=(0,t.useBackend)(C),p=v.act,N=v.data,V=N.occupant,y=N.chemicals,B=N.maxchem,L=N.amounts;return(0,e.createComponentVNode)(2,o.Section,{title:"Occupant Chemicals",children:y.map(function(w,x){var T="",M;return w.overdosing?(T="bad",M=(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-circle"}),"\xA0 Overdosing!"]})):w.od_warning&&(T="average",M=(0,e.createComponentVNode)(2,o.Box,{color:"average",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"exclamation-triangle"}),"\xA0 Close to overdosing"]})),(0,e.createComponentVNode)(2,o.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,e.createComponentVNode)(2,o.Section,{title:w.title,level:"3",mx:"0",lineHeight:"18px",buttons:M,children:(0,e.createComponentVNode)(2,o.Stack,{children:[(0,e.createComponentVNode)(2,o.ProgressBar,{min:"0",max:B,value:w.occ_amount/B,color:T,title:"Amount of chemicals currently inside the occupant / Total amount injectable by this machine",mr:"0.5rem",children:[w.pretty_amount,"/",B,"u"]}),L.map(function(O,D){return(0,e.createComponentVNode)(2,o.Button,{disabled:!w.injectable||w.occ_amount+O>B||V.stat===2,icon:"syringe",content:"Inject "+O+"u",title:"Inject "+O+"u of "+w.title+" into the occupant",mb:"0",height:"19px",onClick:function(){function E(){return p("chemical",{chemid:w.id,amount:O})}return E}()},D)})]})})},x)})})},s=function(h,C){return(0,e.createComponentVNode)(2,o.Section,{fill:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,o.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,align:"center",color:"label",children:[(0,e.createComponentVNode)(2,o.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,e.createVNode)(1,"br"),"No occupant detected."]})})})}},21597:function(A,r,n){"use strict";r.__esModule=!0,r.SlotMachine=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SlotMachine=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data;if(d.money===null)return(0,e.createComponentVNode)(2,o.Window,{width:350,height:90,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{children:"Could not scan your card or could not find account!"}),(0,e.createComponentVNode)(2,t.Box,{children:"Please wear or hold your ID and try again."})]})})});var c;return d.plays===1?c=d.plays+" player has tried their luck today!":c=d.plays+" players have tried their luck today!",(0,e.createComponentVNode)(2,o.Window,{width:300,height:151,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{lineHeight:2,children:c}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Credits Remaining",children:(0,e.createComponentVNode)(2,t.AnimatedNumber,{value:d.money})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"10 credits to spin",children:(0,e.createComponentVNode)(2,t.Button,{icon:"coins",disabled:d.working,content:d.working?"Spinning...":"Spin",onClick:function(){function m(){return g("spin")}return m}()})})]}),(0,e.createComponentVNode)(2,t.Box,{bold:!0,lineHeight:2,color:d.resultlvl,children:d.result})]})})})}return b}()},46348:function(A,r,n){"use strict";r.__esModule=!0,r.Smartfridge=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Smartfridge=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.secure,m=d.can_dry,l=d.drying,u=d.contents;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[!!c&&(0,e.createComponentVNode)(2,t.NoticeBox,{children:"Secure Access: Please have your identification ready."}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:m?"Drying rack":"Contents",buttons:!!m&&(0,e.createComponentVNode)(2,t.Button,{width:4,icon:l?"power-off":"times",content:l?"On":"Off",selected:l,onClick:function(){function s(){return g("drying")}return s}()}),children:[!u&&(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{bold:!0,grow:!0,textAlign:"center",align:"center",color:"average",children:[(0,e.createComponentVNode)(2,t.Icon.Stack,{children:[(0,e.createComponentVNode)(2,t.Icon,{name:"cookie-bite",size:5,color:"brown"}),(0,e.createComponentVNode)(2,t.Icon,{name:"slash",size:5,color:"red"})]}),(0,e.createVNode)(1,"br"),"No products loaded."]})}),!!u&&u.slice().sort(function(s,i){return s.display_name.localeCompare(i.display_name)}).map(function(s){return(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:"55%",children:s.display_name}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:"25%",children:["(",s.quantity," in stock)"]}),(0,e.createComponentVNode)(2,t.Stack.Item,{width:13,children:[(0,e.createComponentVNode)(2,t.Button,{width:3,icon:"arrow-down",tooltip:"Dispense one.",content:"1",onClick:function(){function i(){return g("vend",{index:s.vend,amount:1})}return i}()}),(0,e.createComponentVNode)(2,t.NumberInput,{width:"40px",minValue:0,value:0,maxValue:s.quantity,step:1,stepPixelSize:3,onChange:function(){function i(h,C){return g("vend",{index:s.vend,amount:C})}return i}()}),(0,e.createComponentVNode)(2,t.Button,{width:4,icon:"arrow-down",content:"All",tooltip:"Dispense all.",tooltipPosition:"bottom-start",onClick:function(){function i(){return g("vend",{index:s.vend,amount:s.quantity})}return i}()})]})]},s)})]})]})})})}return b}()},86162:function(A,r,n){"use strict";r.__esModule=!0,r.Smes=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(49968),f=n(98595),b=1e3,S=r.Smes=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.capacityPercent,u=m.capacity,s=m.charge,i=m.inputAttempt,h=m.inputting,C=m.inputLevel,v=m.inputLevelMax,p=m.inputAvailable,N=m.outputPowernet,V=m.outputAttempt,y=m.outputting,B=m.outputLevel,L=m.outputLevelMax,w=m.outputUsed,x=l>=100&&"good"||h&&"average"||"bad",T=y&&"good"||s>0&&"average"||"bad";return(0,e.createComponentVNode)(2,f.Window,{width:340,height:345,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Stored Energy",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:l*.01,ranges:{good:[.5,1/0],average:[.15,.5],bad:[-1/0,.15]}})}),(0,e.createComponentVNode)(2,t.Section,{title:"Input",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Charge Mode",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:i?"sync-alt":"times",selected:i,onClick:function(){function M(){return c("tryinput")}return M}(),children:i?"Auto":"Off"}),children:(0,e.createComponentVNode)(2,t.Box,{color:x,children:l>=100&&"Fully Charged"||h&&"Charging"||"Not Charging"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Input",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:C===0,onClick:function(){function M(){return c("input",{target:"min"})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:C===0,onClick:function(){function M(){return c("input",{adjust:-1e4})}return M}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Slider,{value:C/b,fillValue:p/b,minValue:0,maxValue:v/b,step:5,stepPixelSize:4,format:function(){function M(O){return(0,o.formatPower)(O*b,1)}return M}(),onChange:function(){function M(O,D){return c("input",{target:D*b})}return M}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:C===v,onClick:function(){function M(){return c("input",{adjust:1e4})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:C===v,onClick:function(){function M(){return c("input",{target:"max"})}return M}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Available",children:(0,o.formatPower)(p)})]})}),(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Output",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Output Mode",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:V?"power-off":"times",selected:V,onClick:function(){function M(){return c("tryoutput")}return M}(),children:V?"On":"Off"}),children:(0,e.createComponentVNode)(2,t.Box,{color:T,children:N?y?"Sending":s>0?"Not Sending":"No Charge":"Not Connected"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Output",children:(0,e.createComponentVNode)(2,t.Stack,{inline:!0,width:"100%",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:B===0,onClick:function(){function M(){return c("output",{target:"min"})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"backward",disabled:B===0,onClick:function(){function M(){return c("output",{adjust:-1e4})}return M}()})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Slider,{value:B/b,minValue:0,maxValue:L/b,step:5,stepPixelSize:4,format:function(){function M(O){return(0,o.formatPower)(O*b,1)}return M}(),onChange:function(){function M(O,D){return c("output",{target:D*b})}return M}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"forward",disabled:B===L,onClick:function(){function M(){return c("output",{adjust:1e4})}return M}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:B===L,onClick:function(){function M(){return c("output",{target:"max"})}return M}()})]})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Outputting",children:(0,o.formatPower)(w)})]})})]})})})}return I}()},63584:function(A,r,n){"use strict";r.__esModule=!0,r.SolarControl=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SolarControl=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=0,m=1,l=2,u=d.generated,s=d.generated_ratio,i=d.tracking_state,h=d.tracking_rate,C=d.connected_panels,v=d.connected_tracker,p=d.cdir,N=d.direction,V=d.rotating_direction;return(0,e.createComponentVNode)(2,o.Window,{width:490,height:277,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Status",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Scan for new hardware",onClick:function(){function y(){return g("refresh")}return y}()}),children:(0,e.createComponentVNode)(2,t.Grid,{children:[(0,e.createComponentVNode)(2,t.Grid.Column,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Solar tracker",color:v?"good":"bad",children:v?"OK":"N/A"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Solar panels",color:C>0?"good":"bad",children:C})]})}),(0,e.createComponentVNode)(2,t.Grid.Column,{size:2,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power output",children:(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[.66,1/0],average:[.33,.66],bad:[-1/0,.33]},minValue:0,maxValue:1,value:s,children:u+" W"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Panel orientation",children:[p,"\xB0 (",N,")"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker rotation",children:[i===l&&(0,e.createComponentVNode)(2,t.Box,{children:" Automated "}),i===m&&(0,e.createComponentVNode)(2,t.Box,{children:[" ",h,"\xB0/h (",V,")"," "]}),i===c&&(0,e.createComponentVNode)(2,t.Box,{children:" Tracker offline "})]})]})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Controls",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Panel orientation",children:[i!==l&&(0,e.createComponentVNode)(2,t.NumberInput,{unit:"\xB0",step:1,stepPixelSize:1,minValue:0,maxValue:359,value:p,onDrag:function(){function y(B,L){return g("cdir",{cdir:L})}return y}()}),i===l&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Automated "})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker status",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Off",selected:i===c,onClick:function(){function y(){return g("track",{track:c})}return y}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"clock-o",content:"Timed",selected:i===m,onClick:function(){function y(){return g("track",{track:m})}return y}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sync",content:"Auto",selected:i===l,disabled:!v,onClick:function(){function y(){return g("track",{track:l})}return y}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tracker rotation",children:[i===m&&(0,e.createComponentVNode)(2,t.NumberInput,{unit:"\xB0/h",step:1,stepPixelSize:1,minValue:-7200,maxValue:7200,value:h,format:function(){function y(B){var L=Math.sign(B)>0?"+":"-";return L+Math.abs(B)}return y}(),onDrag:function(){function y(B,L){return g("tdir",{tdir:L})}return y}()}),i===c&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Tracker offline "}),i===l&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"19px",children:" Automated "})]})]})})]})})}return b}()},38096:function(A,r,n){"use strict";r.__esModule=!0,r.SpawnersMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SpawnersMenu=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.spawners||[];return(0,e.createComponentVNode)(2,o.Window,{width:700,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Section,{children:c.map(function(m){return(0,e.createComponentVNode)(2,t.Section,{mb:.5,title:m.name+" ("+m.amount_left+" left)",level:2,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Jump",onClick:function(){function l(){return g("jump",{ID:m.uids})}return l}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-circle-right",content:"Spawn",onClick:function(){function l(){return g("spawn",{ID:m.uids})}return l}()})],4),children:[(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mb:1,fontSize:"16px",children:m.desc}),!!m.fluff&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},textColor:"#878787",fontSize:"14px",children:m.fluff}),!!m.important_info&&(0,e.createComponentVNode)(2,t.Box,{style:{"white-space":"pre-wrap"},mt:1,bold:!0,color:"red",fontSize:"18px",children:m.important_info})]},m.name)})})})})}return b}()},30586:function(A,r,n){"use strict";r.__esModule=!0,r.SpecMenu=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SpecMenu=function(){function g(d,c){return(0,e.createComponentVNode)(2,o.Window,{width:1100,height:600,theme:"nologo",children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k)]})})})}return g}(),b=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Hemomancer",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Choose",onClick:function(){function i(){return l("hemomancer")}return i}()}),children:[(0,e.createVNode)(1,"h3",null,"Focuses on blood magic and the manipulation of blood around you.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Vampiric claws",16),(0,e.createTextVNode)(": Unlocked at 150 blood, allows you to summon a robust pair of claws that attack rapidly, drain a targets blood, and heal you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood Barrier",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to select two turfs and create a wall between them.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood tendrils",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to slow everyone in a targeted 3x3 area after a short delay.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Sanguine pool",16),(0,e.createTextVNode)(": Unlocked at 400 blood, allows you to travel at high speeds for a short duration. Doing this leaves behind blood splatters. You can move through anything but walls and space when doing this.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Predator senses",16),(0,e.createTextVNode)(": Unlocked at 600 blood, allows you to sniff out anyone within the same sector as you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood eruption",16),(0,e.createTextVNode)(": Unlocked at 800 blood, allows you to manipulate all nearby blood splatters, in 4 tiles around you, into spikes that impale anyone stood ontop of them.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"The blood bringers rite",16),(0,e.createTextVNode)(": When toggled you will rapidly drain the blood of everyone who is nearby and use it to heal yourself slightly and remove any incapacitating effects rapidly.")],4)]})})},S=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Umbrae",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Choose",onClick:function(){function i(){return l("umbrae")}return i}()}),children:[(0,e.createVNode)(1,"h3",null,"Focuses on darkness, stealth ambushing and mobility.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Cloak of darkness",16),(0,e.createTextVNode)(": Unlocked at 150 blood, when toggled, allows you to become nearly invisible and move rapidly when in dark regions. While active, burn damage is more effective against you.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Shadow anchor",16),(0,e.createTextVNode)(": Unlocked at 250 blood, casting it will create an anchor at the cast location after a short delay. If you then cast the ability again, you are teleported back to the anchor. If you do not cast again within 2 minutes, you will do a fake recall, causing a clone to appear at the anchor and making yourself invisible. It will not teleport you between Z levels.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Shadow snare",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to summon a trap that when crossed blinds and ensnares the victim. This trap is hard to see, but withers in the light.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Dark passage",16),(0,e.createTextVNode)(": Unlocked at 400 blood, allows you to target a turf on screen, you will then teleport to that turf.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Extinguish",16),(0,e.createTextVNode)(": Unlocked at 600 blood, allows you to snuff out nearby electronic light sources and glowshrooms.")],4),(0,e.createVNode)(1,"b",null,"Shadow boxing",16),": Unlocked at 800 blood, sends out shadow clones towards a target, damaging them while you remain in range.",(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Eternal darkness",16),(0,e.createTextVNode)(": When toggled, you consume yourself in unholy darkness, only the strongest of lights will be able to see through it. Inside the radius, nearby creatures will freeze and energy projectiles will deal less damage.")],4),(0,e.createVNode)(1,"p",null,"In addition, you also gain permanent X-ray vision.",16)]})})},I=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Gargantua",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Choose",onClick:function(){function i(){return l("gargantua")}return i}()}),children:[(0,e.createVNode)(1,"h3",null,"Focuses on tenacity and melee damage.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Rejuvenate",16),(0,e.createTextVNode)(": Will heal you at an increased rate based on how much damage you have taken.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood swell",16),(0,e.createTextVNode)(": Unlocked at 150 blood, increases your resistance to physical damage, stuns and stamina for 30 seconds. While it is active you cannot fire guns.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Seismic stomp",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to stomp the ground to send out a shockwave, knocking people back.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood rush",16),(0,e.createTextVNode)(": Unlocked at 250 blood, gives you a short speed boost when cast.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood swell II",16),(0,e.createTextVNode)(": Unlocked at 400 blood, increases all melee damage by 10.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Overwhelming force",16),(0,e.createTextVNode)(": Unlocked at 600 blood, when toggled, if you bump into a door that you do not have access to, it will force it open. In addition, you cannot be pushed or pulled while it is active.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Demonic grasp",16),(0,e.createTextVNode)(": Unlocked at 800 blood, allows you to send out a demonic hand to snare someone. If you are on disarm/grab intent you will push/pull the target, respectively.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Charge",16),(0,e.createTextVNode)(": Unlocked at 800 blood, you gain the ability to charge at a target. Destroying and knocking back pretty much anything you collide with.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full Power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Desecrated Duel",16),(0,e.createTextVNode)(": Leap towards a visible enemy, creating an arena upon landing, infusing you with increased regeneration, and granting you resistance to internal damages.")],4)]})})},k=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.subclasses;return(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,basis:"25%",children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Dantalion",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Choose",onClick:function(){function i(){return l("dantalion")}return i}()}),children:[(0,e.createVNode)(1,"h3",null,"Focuses on thralling and illusions.",16),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Enthrall",16),(0,e.createTextVNode)(": Unlocked at 150 blood, Thralls your target to your will, requires you to stand still. Does not work on mindshielded or already enthralled/mindslaved people.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Thrall cap",16),(0,e.createTextVNode)(": You can only thrall a max of 1 person at a time. This can be increased at 400 blood, 600 blood and at full power to a max of 4 thralls.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Thrall commune",16),(0,e.createTextVNode)(": Unlocked at 150 blood, Allows you to talk to your thralls, your thralls can talk back in the same way.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Subspace swap",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to swap positions with a target.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Pacify",16),(0,e.createTextVNode)(": Unlocked at 250 blood, allows you to pacify a target, preventing them from causing harm for 40 seconds.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Decoy",16),(0,e.createTextVNode)(": Unlocked at 400 blood, briefly turn invisible and send out an illusion to fool everyone nearby.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Rally thralls",16),(0,e.createTextVNode)(": Unlocked at 600 blood, removes all incapacitating effects from nearby thralls.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Blood bond",16),(0,e.createTextVNode)(": Unlocked at 800 blood, when cast, all nearby thralls become linked to you. If anyone in the network takes damage, it is shared equally between everyone in the network. If a thrall goes out of range, they will be removed from the network.")],4),(0,e.createVNode)(1,"p",null,[(0,e.createVNode)(1,"b",null,"Full Power",16),(0,e.createComponentVNode)(2,t.Divider),(0,e.createVNode)(1,"b",null,"Mass Hysteria",16),(0,e.createTextVNode)(": Casts a powerful illusion that blinds and then makes everyone nearby perceive others as random animals.")],4)]})})}},95152:function(A,r,n){"use strict";r.__esModule=!0,r.StackCraft=void 0;var e=n(89005),a=n(72253),t=n(88510),o=n(64795),f=n(25328),b=n(98595),S=n(36036),I=r.StackCraft=function(){function s(){return(0,e.createComponentVNode)(2,b.Window,{width:350,height:500,children:(0,e.createComponentVNode)(2,b.Window.Content,{children:(0,e.createComponentVNode)(2,k)})})}return s}(),k=function(i,h){var C=(0,a.useBackend)(h),v=C.data,p=v.amount,N=v.recipes,V=(0,a.useLocalState)(h,"searchText",""),y=V[0],B=V[1],L=g(N,(0,f.createSearch)(y)),w=(0,a.useLocalState)(h,"",!1),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,S.Section,{fill:!0,scrollable:!0,title:"Amount: "+p,buttons:(0,e.createFragment)([x&&(0,e.createComponentVNode)(2,S.Input,{width:12.5,value:y,placeholder:"Find recipe",onInput:function(){function M(O,D){return B(D)}return M}()}),(0,e.createComponentVNode)(2,S.Button,{ml:.5,tooltip:"Search",tooltipPosition:"bottom-end",icon:"magnifying-glass",selected:x,onClick:function(){function M(){return T(!x)}return M}()})],0),children:L?(0,e.createComponentVNode)(2,l,{recipes:L}):(0,e.createComponentVNode)(2,S.NoticeBox,{children:"No recipes found!"})})},g=function s(i,h){var C=(0,o.flow)([(0,t.map)(function(v){var p=v[0],N=v[1];return d(N)?h(p)?v:[p,s(N,h)]:h(p)?v:[p,void 0]}),(0,t.filter)(function(v){var p=v[0],N=v[1];return N!==void 0}),(0,t.sortBy)(function(v){var p=v[0],N=v[1];return p}),(0,t.sortBy)(function(v){var p=v[0],N=v[1];return!d(N)}),(0,t.reduce)(function(v,p){var N=p[0],V=p[1];return v[N]=V,v},{})])(Object.entries(i));return Object.keys(C).length?C:void 0},d=function(i){return i.uid===void 0},c=function(i,h){return i.required_amount>h?0:Math.floor(h/i.required_amount)},m=function(i,h){for(var C=(0,a.useBackend)(h),v=C.act,p=i.recipe,N=i.max_possible_multiplier,V=Math.min(N,Math.floor(p.max_result_amount/p.result_amount)),y=[5,10,25],B=[],L=function(){var M=x[w];V>=M&&B.push((0,e.createComponentVNode)(2,S.Button,{bold:!0,translucent:!0,fontSize:.85,width:"32px",content:M*p.result_amount+"x",onClick:function(){function O(){return v("make",{recipe_uid:p.uid,multiplier:M})}return O}()}))},w=0,x=y;w1?B+"x ":"",E=L>1?"s":"",P=""+D+V,R=L+" sheet"+E,j=c(y,N);return(0,e.createComponentVNode)(2,S.ImageButton,{fluid:!0,base64:O,dmIcon:T,dmIconState:M,imageSize:32,disabled:!j,tooltip:R,buttons:w>1&&j>1&&(0,e.createComponentVNode)(2,m,{recipe:y,max_possible_multiplier:j}),onClick:function(){function F(){return v("make",{recipe_uid:x,multiplier:1})}return F}(),children:P})}},38307:function(A,r,n){"use strict";r.__esModule=!0,r.StationAlertConsoleContent=r.StationAlertConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.StationAlertConsole=function(){function S(){return(0,e.createComponentVNode)(2,o.Window,{width:325,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,b)})})}return S}(),b=r.StationAlertConsoleContent=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.data,c=d.alarms||[],m=c.Fire||[],l=c.Atmosphere||[],u=c.Power||[];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Fire Alarms",children:(0,e.createVNode)(1,"ul",null,[m.length===0&&(0,e.createVNode)(1,"li","color-good","Systems Nominal",16),m.map(function(s){return(0,e.createVNode)(1,"li","color-average",s,0,null,s)})],0)}),(0,e.createComponentVNode)(2,t.Section,{title:"Atmospherics Alarms",children:(0,e.createVNode)(1,"ul",null,[l.length===0&&(0,e.createVNode)(1,"li","color-good","Systems Nominal",16),l.map(function(s){return(0,e.createVNode)(1,"li","color-average",s,0,null,s)})],0)}),(0,e.createComponentVNode)(2,t.Section,{title:"Power Alarms",children:(0,e.createVNode)(1,"ul",null,[u.length===0&&(0,e.createVNode)(1,"li","color-good","Systems Nominal",16),u.map(function(s){return(0,e.createVNode)(1,"li","color-average",s,0,null,s)})],0)})],4)}return S}()},96091:function(A,r,n){"use strict";r.__esModule=!0,r.StationTraitsPanel=void 0;var e=n(89005),a=n(88510),t=n(42127),o=n(72253),f=n(36036),b=n(98595),S=function(d){return d[d.SetupFutureStationTraits=0]="SetupFutureStationTraits",d[d.ViewStationTraits=1]="ViewStationTraits",d}(S||{}),I=function(c,m){var l=(0,o.useBackend)(m),u=l.act,s=l.data,i=s.future_station_traits,h=(0,o.useLocalState)(m,"selectedFutureTrait",null),C=h[0],v=h[1],p=Object.fromEntries(s.valid_station_traits.map(function(V){return[V.name,V.path]})),N=Object.keys(p);return N.sort(),(0,e.createComponentVNode)(2,f.Box,{children:[(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,f.Dropdown,{displayText:!C&&"Select trait to add...",onSelected:v,options:N,selected:C,width:"100%"})}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Button,{color:"green",icon:"plus",onClick:function(){function V(){if(C){var y=p[C],B=[y];if(i){var L,w=i.map(function(x){return x.path});if(w.indexOf(y)!==-1)return;B=(L=B).concat.apply(L,w)}u("setup_future_traits",{station_traits:B})}}return V}(),children:"Add"})})]}),(0,e.createComponentVNode)(2,f.Divider),Array.isArray(i)?i.length>0?(0,e.createComponentVNode)(2,f.Stack,{vertical:!0,fill:!0,children:i.map(function(V){return(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:V.name}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Button,{color:"red",icon:"times",onClick:function(){function y(){u("setup_future_traits",{station_traits:(0,a.filterMap)(i,function(B){if(B.path!==V.path)return B.path})})}return y}(),children:"Delete"})})]})},V.path)})}):(0,e.createComponentVNode)(2,f.Box,{textAlign:"center",children:[(0,e.createComponentVNode)(2,f.Box,{children:"No station traits will run next round."}),(0,e.createComponentVNode)(2,f.Button,{mt:1,fluid:!0,color:"good",icon:"times",tooltip:"The next round will roll station traits randomly, just like normal",onClick:function(){function V(){return u("clear_future_traits")}return V}(),children:"Run Station Traits Normally"})]}):(0,e.createComponentVNode)(2,f.Box,{textAlign:"center",children:[(0,e.createComponentVNode)(2,f.Box,{children:"No future station traits are planned."}),(0,e.createComponentVNode)(2,f.Button,{mt:1,fluid:!0,color:"red",icon:"times",onClick:function(){function V(){return u("setup_future_traits",{station_traits:[]})}return V}(),children:"Prevent station traits from running next round"})]})]})},k=function(c,m){var l=(0,o.useBackend)(m),u=l.act,s=l.data;return s.current_traits.length>0?(0,e.createComponentVNode)(2,f.Stack,{vertical:!0,fill:!0,children:s.current_traits.map(function(i){return(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{grow:!0,children:i.name}),(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Button.Confirm,{content:"Revert",color:"red",disabled:s.too_late_to_revert||!i.can_revert,tooltip:!i.can_revert&&"This trait is not revertable."||s.too_late_to_revert&&"It's too late to revert station traits, the round has already started.",icon:"times",onClick:function(){function h(){return u("revert",{ref:i.ref})}return h}()})})]})},i.ref)})}):(0,e.createComponentVNode)(2,f.Box,{textAlign:"center",children:"There are no active station traits."})},g=r.StationTraitsPanel=function(){function d(c,m){var l=(0,o.useLocalState)(m,"station_traits_tab",S.ViewStationTraits),u=l[0],s=l[1],i;switch(u){case S.SetupFutureStationTraits:i=(0,e.createComponentVNode)(2,I);break;case S.ViewStationTraits:i=(0,e.createComponentVNode)(2,k);break;default:(0,t.exhaustiveCheck)(u)}return(0,e.createComponentVNode)(2,b.Window,{title:"Modify Station Traits",height:350,width:350,children:(0,e.createComponentVNode)(2,b.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,f.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,f.Stack.Item,{children:(0,e.createComponentVNode)(2,f.Tabs,{children:[(0,e.createComponentVNode)(2,f.Tabs.Tab,{icon:"eye",selected:u===S.ViewStationTraits,onClick:function(){function h(){return s(S.ViewStationTraits)}return h}(),children:"View"}),(0,e.createComponentVNode)(2,f.Tabs.Tab,{icon:"edit",selected:u===S.SetupFutureStationTraits,onClick:function(){function h(){return s(S.SetupFutureStationTraits)}return h}(),children:"Edit"})]})}),(0,e.createComponentVNode)(2,f.Stack.Item,{m:0,children:[(0,e.createComponentVNode)(2,f.Divider),i]})]})})})}return d}()},39409:function(A,r,n){"use strict";r.__esModule=!0,r.StripMenu=void 0;var e=n(89005),a=n(88510),t=n(79140),o=n(72253),f=n(36036),b=n(98595),S=5,I=9,k=function(C){return C===0?5:9},g="64px",d=function(C){return C[0]+"/"+C[1]},c=function(C){var v=C.align,p=C.children;return(0,e.createComponentVNode)(2,f.Box,{style:{position:"absolute",left:v==="left"?"6px":"48px","text-align":v,"text-shadow":"2px 2px 2px #000",top:"2px"},children:p})},m={enable_internals:{icon:"lungs",text:"Enable internals"},disable_internals:{icon:"lungs",text:"Disable internals"},enable_lock:{icon:"lock",text:"Enable lock"},disable_lock:{icon:"unlock",text:"Disable lock"},suit_sensors:{icon:"tshirt",text:"Adjust suit sensors"},remove_accessory:{icon:"medal",text:"Remove accessory"},dislodge_headpocket:{icon:"head-side-virus",text:"Dislodge headpocket"}},l={eyes:{displayName:"eyewear",gridSpot:d([0,0]),image:"inventory-glasses.png"},head:{displayName:"headwear",gridSpot:d([0,1]),image:"inventory-head.png"},mask:{displayName:"mask",gridSpot:d([1,1]),image:"inventory-mask.png"},neck:{displayName:"neck",gridSpot:d([1,0]),image:"inventory-neck.png"},pet_collar:{displayName:"collar",gridSpot:d([1,1]),image:"inventory-collar.png"},right_ear:{displayName:"right ear",gridSpot:d([0,2]),image:"inventory-ears.png"},left_ear:{displayName:"left ear",gridSpot:d([1,2]),image:"inventory-ears.png"},parrot_headset:{displayName:"headset",gridSpot:d([1,2]),image:"inventory-ears.png"},handcuffs:{displayName:"handcuffs",gridSpot:d([1,3])},legcuffs:{displayName:"legcuffs",gridSpot:d([1,4])},jumpsuit:{displayName:"uniform",gridSpot:d([2,0]),image:"inventory-uniform.png"},suit:{displayName:"suit",gridSpot:d([2,1]),image:"inventory-suit.png"},gloves:{displayName:"gloves",gridSpot:d([2,2]),image:"inventory-gloves.png"},right_hand:{displayName:"right hand",gridSpot:d([2,3]),image:"inventory-hand_r.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"left",children:"R"})},left_hand:{displayName:"left hand",gridSpot:d([2,4]),image:"inventory-hand_l.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"right",children:"L"})},shoes:{displayName:"shoes",gridSpot:d([3,1]),image:"inventory-shoes.png"},suit_storage:{displayName:"suit storage",gridSpot:d([4,0]),image:"inventory-suit_storage.png"},id:{displayName:"ID",gridSpot:d([4,1]),image:"inventory-id.png"},belt:{displayName:"belt",gridSpot:d([4,2]),image:"inventory-belt.png"},back:{displayName:"backpack",gridSpot:d([4,3]),image:"inventory-back.png"},left_pocket:{displayName:"left pocket",gridSpot:d([3,4]),image:"inventory-pocket.png"},right_pocket:{displayName:"right pocket",gridSpot:d([3,3]),image:"inventory-pocket.png"},pda:{displayName:"PDA",gridSpot:d([4,4]),image:"inventory-pda.png"}},u={eyes:{displayName:"eyewear",gridSpot:d([0,0]),image:"inventory-glasses.png"},head:{displayName:"headwear",gridSpot:d([0,1]),image:"inventory-head.png"},mask:{displayName:"mask",gridSpot:d([1,1]),image:"inventory-mask.png"},neck:{displayName:"neck",gridSpot:d([1,0]),image:"inventory-neck.png"},pet_collar:{displayName:"collar",gridSpot:d([1,1]),image:"inventory-collar.png"},right_ear:{displayName:"right ear",gridSpot:d([0,2]),image:"inventory-ears.png"},left_ear:{displayName:"left ear",gridSpot:d([1,2]),image:"inventory-ears.png"},parrot_headset:{displayName:"headset",gridSpot:d([1,2]),image:"inventory-ears.png"},handcuffs:{displayName:"handcuffs",gridSpot:d([1,3])},legcuffs:{displayName:"legcuffs",gridSpot:d([1,4])},jumpsuit:{displayName:"uniform",gridSpot:d([2,0]),image:"inventory-uniform.png"},suit:{displayName:"suit",gridSpot:d([2,1]),image:"inventory-suit.png"},gloves:{displayName:"gloves",gridSpot:d([2,2]),image:"inventory-gloves.png"},right_hand:{displayName:"right hand",gridSpot:d([4,4]),image:"inventory-hand_r.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"left",children:"R"})},left_hand:{displayName:"left hand",gridSpot:d([4,5]),image:"inventory-hand_l.png",additionalComponent:(0,e.createComponentVNode)(2,c,{align:"right",children:"L"})},shoes:{displayName:"shoes",gridSpot:d([3,1]),image:"inventory-shoes.png"},suit_storage:{displayName:"suit storage",gridSpot:d([4,0]),image:"inventory-suit_storage.png"},id:{displayName:"ID",gridSpot:d([4,1]),image:"inventory-id.png"},belt:{displayName:"belt",gridSpot:d([4,2]),image:"inventory-belt.png"},back:{displayName:"backpack",gridSpot:d([4,3]),image:"inventory-back.png"},left_pocket:{displayName:"left pocket",gridSpot:d([4,7]),image:"inventory-pocket.png"},right_pocket:{displayName:"right pocket",gridSpot:d([4,6]),image:"inventory-pocket.png"},pda:{displayName:"PDA",gridSpot:d([4,8]),image:"inventory-pda.png"}},s=function(h){return h[h.Completely=1]="Completely",h[h.Hidden=2]="Hidden",h}(s||{}),i=r.StripMenu=function(){function h(C,v){var p=(0,o.useBackend)(v),N=p.act,V=p.data,y=new Map;if(V.show_mode===0)for(var B=0,L=Object.keys(V.items);B=.01})},(0,a.sortBy)(function(T){return-T.amount})])(C.gases||[]),x=Math.max.apply(Math,[1].concat(w.map(function(T){return T.portion})));return(0,e.createComponentVNode)(2,I.Window,{width:550,height:250,children:(0,e.createComponentVNode)(2,I.Window.Content,{children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{width:"270px",children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Metrics",children:(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Integrity",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:p/100,ranges:{good:[.9,1/0],average:[.5,.9],bad:[-1/0,.5]}})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Relative EER",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:N,minValue:0,maxValue:5e3,ranges:{good:[-1/0,5e3],average:[5e3,7e3],bad:[7e3,1/0]},children:(0,o.toFixed)(N)+" MeV/cm3"})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Gas Coefficient",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:L,minValue:1,maxValue:5.25,ranges:{bad:[1,1.55],average:[1.55,5.25],good:[5.25,1/0]},children:L.toFixed(2)})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Temperature",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:d(V),minValue:0,maxValue:d(1e4),ranges:{teal:[-1/0,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),1/0]},children:(0,o.toFixed)(V)+" K"})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Mole Per Tile",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:B,minValue:0,maxValue:12e3,ranges:{teal:[-1/0,100],average:[100,11333],good:[11333,12e3],bad:[12e3,1/0]},children:(0,o.toFixed)(B)+" mol"})}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Pressure",children:(0,e.createComponentVNode)(2,b.ProgressBar,{value:d(y),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-1/0,d(1e3)],bad:[d(1e3),1/0]},children:(0,o.toFixed)(y)+" kPa"})})]})})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,basis:0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Gases",buttons:(0,e.createComponentVNode)(2,b.Button,{icon:"arrow-left",content:"Back",onClick:function(){function T(){return h("back")}return T}()}),children:(0,e.createComponentVNode)(2,b.LabeledList,{children:w.map(function(T){return(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:(0,S.getGasLabel)(T.name),children:(0,e.createComponentVNode)(2,b.ProgressBar,{color:(0,S.getGasColor)(T.name),value:T.portion,minValue:0,maxValue:x,children:(0,o.toFixed)(T.amount)+" mol ("+T.portion+"%)"})},T.name)})})})})]})})})}},46029:function(A,r,n){"use strict";r.__esModule=!0,r.SyndicateComputerSimple=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.SyndicateComputerSimple=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data;return(0,e.createComponentVNode)(2,o.Window,{theme:"syndicate",width:400,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:d.rows.map(function(c){return(0,e.createComponentVNode)(2,t.Section,{title:c.title,buttons:(0,e.createComponentVNode)(2,t.Button,{content:c.buttontitle,disabled:c.buttondisabled,tooltip:c.buttontooltip,tooltipPosition:"left",onClick:function(){function m(){return g(c.buttonact)}return m}()}),children:[c.status,!!c.bullets&&(0,e.createComponentVNode)(2,t.Box,{children:c.bullets.map(function(m){return(0,e.createComponentVNode)(2,t.Box,{children:m},m)})})]},c.title)})})})}return b}()},36372:function(A,r,n){"use strict";r.__esModule=!0,r.TEG=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(I){return I.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,")},b=r.TEG=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data;return c.error?(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Error",children:[c.error,(0,e.createComponentVNode)(2,t.Button,{icon:"circle",content:"Recheck",onClick:function(){function m(){return d("check")}return m}()})]})})}):(0,e.createComponentVNode)(2,o.Window,{width:500,height:400,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Cold Loop ("+c.cold_dir+")",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cold Inlet",children:[f(c.cold_inlet_temp)," K, ",f(c.cold_inlet_pressure)," kPa"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cold Outlet",children:[f(c.cold_outlet_temp)," K, ",f(c.cold_outlet_pressure)," kPa"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Hot Loop ("+c.hot_dir+")",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hot Inlet",children:[f(c.hot_inlet_temp)," K, ",f(c.hot_inlet_pressure)," kPa"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hot Outlet",children:[f(c.hot_outlet_temp)," K, ",f(c.hot_outlet_pressure)," kPa"]})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Power Output",children:[f(c.output_power)," W",!!c.warning_switched&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Warning: Cold inlet temperature exceeds hot inlet temperature."}),!!c.warning_cold_pressure&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Warning: Cold circulator inlet pressure is under 1,000 kPa."}),!!c.warning_hot_pressure&&(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Warning: Hot circulator inlet pressure is under 1,000 kPa."})]})]})})}return S}()},23190:function(A,r,n){"use strict";r.__esModule=!0,r.TTSSeedsExplorerContent=r.TTSSeedsExplorer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(46095),f=n(98595),b={0:"Free",1:"Tier I",2:"Tier II",3:"Tier III",4:"Tier IV",5:"Tier V"},S={male:"\u041C\u0443\u0436\u0441\u043A\u043E\u0439",female:"\u0416\u0435\u043D\u0441\u043A\u0438\u0439"},I={\u041C\u0443\u0436\u0441\u043A\u043E\u0439:{icon:"mars",color:"blue"},\u0416\u0435\u043D\u0441\u043A\u0438\u0439:{icon:"venus",color:"purple"},\u041B\u044E\u0431\u043E\u0439:{icon:"venus-mars",color:"white"}},k=function(m,l,u,s){return s===void 0&&(s=null),m.map(function(i){var h,C=(h=i[s])!=null?h:i;return(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:l.includes(i),content:C,onClick:function(){function v(){l.includes(i)?u(l.filter(function(p){var N;return((N=p[s])!=null?N:p)!==i})):u([i].concat(l))}return v}()},C)})},g=r.TTSSeedsExplorer=function(){function c(){return(0,e.createComponentVNode)(2,f.Window,{width:1e3,height:685,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:(0,e.createComponentVNode)(2,d)})})})}return c}(),d=r.TTSSeedsExplorerContent=function(){function c(m,l){var u=(0,a.useBackend)(l),s=u.act,i=u.data,h=i.providers,C=i.seeds,v=i.selected_seed,p=i.phrases,N=i.donator_level,V=i.character_gender,y=C.map(function(Y){return Y.category}).filter(function(Y,ve,he){return he.indexOf(Y)===ve}).sort(function(Y,ve){return Y.localeCompare(ve)}),B=C.map(function(Y){return Y.gender}).filter(function(Y,ve,he){return he.indexOf(Y)===ve}),L=C.map(function(Y){return Y.required_donator_level}).filter(function(Y,ve,he){return he.indexOf(Y)===ve}).sort(function(Y,ve){return Y-ve}).map(function(Y){return b[Y]}),w=(0,a.useLocalState)(l,"selectedProviders",h),x=w[0],T=w[1],M=(0,a.useLocalState)(l,"selectedGenders",B.includes(S[V])?[S[V]]:B),O=M[0],D=M[1],E=(0,a.useLocalState)(l,"selectedCategories",y),P=E[0],R=E[1],j=(0,a.useLocalState)(l,"selectedDonatorLevels",L.includes(b[N])?L.slice(0,L.indexOf(b[N])+1):L),F=j[0],W=j[1],z=(0,a.useLocalState)(l,"selectedPhrase",p[0]),K=z[0],G=z[1],J=(0,a.useLocalState)(l,"searchtext",""),Q=J[0],ue=J[1],ie=(0,a.useLocalState)(l,"searchToggle",!1),pe=ie[0],te=ie[1],q=k(h,x,T,"name"),ne=k(B,O,D),le=k(y,P,R),ee=k(L,F,W),re=(0,e.createComponentVNode)(2,t.Dropdown,{options:p,selected:K.replace(/(.{60})..+/,"$1..."),width:"21.3em",onSelected:function(){function Y(ve){return G(ve)}return Y}()}),oe=(0,e.createFragment)([pe&&(0,e.createComponentVNode)(2,t.Input,{placeholder:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435...",width:20,onInput:function(){function Y(ve,he){return ue(he)}return Y}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"magnifying-glass",tooltip:"\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u043E\u0438\u0441\u043A",tooltipPosition:"bottom-end",selected:pe,onClick:function(){function Y(){return te(!pe)}return Y}()})],0),fe=C.sort(function(Y,ve){var he=Y.name.toLowerCase(),Ve=ve.name.toLowerCase();return he>Ve?1:he0&&v!==Y.name?"orange":"white",children:Y.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:v===Y.name?.5:.25,textAlign:"left",children:Y.category}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:.5,textColor:v===Y.name?"white":I[Y.gender].color,textAlign:"left",children:(0,e.createComponentVNode)(2,t.Icon,{mx:1,size:1.2,name:I[Y.gender].icon})}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,opacity:.5,textColor:"white",textAlign:"right",children:Y.required_donator_level>0&&(0,e.createFragment)([b[Y.required_donator_level],(0,e.createComponentVNode)(2,t.Icon,{ml:1,mr:2,name:"coins"})],0)})]},Y.name)});return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"30.25em",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u044B",children:q}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u041F\u043E\u043B",children:ne}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0422\u0438\u0440",children:ee}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"\u0424\u0440\u0430\u0437\u0430",children:re})]})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:"times",disabled:P.length===0,onClick:function(){function Y(){return R([])}return Y}(),children:"\u0423\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0451"}),(0,e.createComponentVNode)(2,t.Button,{icon:"check",disabled:P.length===y.length,onClick:function(){function Y(){return R(y)}return Y}(),children:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0451"})],4),children:le})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.BlockQuote,{children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"11px",children:"\u0414\u043B\u044F \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0430\u043D\u0438\u044F \u0438 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044F \u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0432 \u0443\u0441\u043B\u043E\u0432\u0438\u044F\u0445 \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0445 \u0440\u0430\u0441\u0445\u043E\u0434\u043E\u0432 \u0447\u0430\u0441\u0442\u044C \u0433\u043E\u043B\u043E\u0441\u043E\u0432 \u043F\u0440\u0438\u0448\u043B\u043E\u0441\u044C \u0441\u0434\u0435\u043B\u0430\u0442\u044C \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u043C\u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0437\u0430 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044C\u043D\u0443\u044E \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0443 \u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0430."}),(0,e.createComponentVNode)(2,t.Box,{mt:1.5,italic:!0,color:"gray",fontSize:"10px",children:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435 \u043E\u0431 \u044D\u0442\u043E\u043C \u043C\u043E\u0436\u043D\u043E \u0443\u0437\u043D\u0430\u0442\u044C \u0432 \u043D\u0430\u0448\u0435\u043C Discord-\u0441\u043E\u043E\u0431\u0449\u0435\u0441\u0442\u0432\u0435."})]})})})]})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"\u0413\u043E\u043B\u043E\u0441\u0430 ("+fe.length+"/"+C.length+")",buttons:oe,children:(0,e.createComponentVNode)(2,t.Table,{children:(0,e.createComponentVNode)(2,o.VirtualList,{children:me})})})})],4)}return c}()},56441:function(A,r,n){"use strict";r.__esModule=!0,r.TachyonArrayContent=r.TachyonArray=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TachyonArray=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.records,l=m===void 0?[]:m,u=c.explosion_target,s=c.toxins_tech,i=c.printing;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:600,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Shift's Target",children:u}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Toxins Level",children:s}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Administration",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"print",content:"Print All Logs",disabled:!l.length||i,align:"center",onClick:function(){function h(){return d("print_logs")}return h}()}),(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash",content:"Delete All Logs",disabled:!l.length,color:"bad",align:"center",onClick:function(){function h(){return d("delete_logs")}return h}()})]})]})}),l.length?(0,e.createComponentVNode)(2,b):(0,e.createComponentVNode)(2,t.NoticeBox,{children:"No Records"})]})})}return S}(),b=r.TachyonArrayContent=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.records,l=m===void 0?[]:m;return(0,e.createComponentVNode)(2,t.Section,{title:"Logged Explosions",children:(0,e.createComponentVNode)(2,t.Flex,{children:(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Time"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Epicenter"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Actual Size"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Theoretical Size"})]}),l.map(function(u){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:u.logged_time}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:u.epicenter}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:u.actual_size_message}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:u.theoretical_size_message}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button.Confirm,{icon:"trash",content:"Delete",color:"bad",onClick:function(){function s(){return d("delete_record",{index:u.index})}return s}()})})]},u.index)})]})})})})}return S}()},1754:function(A,r,n){"use strict";r.__esModule=!0,r.Tank=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Tank=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c;return d.has_mask?c=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mask",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,width:"76%",icon:d.connected?"check":"times",content:d.connected?"Internals On":"Internals Off",selected:d.connected,onClick:function(){function m(){return g("internals")}return m}()})}):c=(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mask",color:"red",children:"No Mask Equipped"}),(0,e.createComponentVNode)(2,o.Window,{width:325,height:135,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Tank Pressure",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:d.tankPressure/1013,ranges:{good:[.35,1/0],average:[.15,.35],bad:[-1/0,.15]},children:d.tankPressure+" kPa"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Release Pressure",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"fast-backward",disabled:d.ReleasePressure===d.minReleasePressure,tooltip:"Min",onClick:function(){function m(){return g("pressure",{pressure:"min"})}return m}()}),(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,value:parseFloat(d.releasePressure),width:"65px",unit:"kPa",minValue:d.minReleasePressure,maxValue:d.maxReleasePressure,onChange:function(){function m(l,u){return g("pressure",{pressure:u})}return m}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"fast-forward",disabled:d.ReleasePressure===d.maxReleasePressure,tooltip:"Max",onClick:function(){function m(){return g("pressure",{pressure:"max"})}return m}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"undo",content:"",disabled:d.ReleasePressure===d.defaultReleasePressure,tooltip:"Reset",onClick:function(){function m(){return g("pressure",{pressure:"reset"})}return m}()})]}),c]})})})})}return b}()},7579:function(A,r,n){"use strict";r.__esModule=!0,r.TankDispenser=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TankDispenser=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.o_tanks,m=d.p_tanks;return(0,e.createComponentVNode)(2,o.Window,{width:250,height:105,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Dispense Oxygen Tank ("+c+")",disabled:c===0,icon:"arrow-circle-down",onClick:function(){function l(){return g("oxygen")}return l}()})}),(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{mt:1,fluid:!0,content:"Dispense Plasma Tank ("+m+")",disabled:m===0,icon:"arrow-circle-down",onClick:function(){function l(){return g("plasma")}return l}()})})]})})})}return b}()},16136:function(A,r,n){"use strict";r.__esModule=!0,r.TcommsCore=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TcommsCore=function(){function g(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.ion,i=(0,a.useLocalState)(c,"tabIndex",0),h=i[0],C=i[1],v=function(){function p(N){switch(N){case 0:return(0,e.createComponentVNode)(2,S);case 1:return(0,e.createComponentVNode)(2,I);case 2:return(0,e.createComponentVNode)(2,k);default:return"SOMETHING WENT VERY WRONG PLEASE AHELP"}}return p}();return(0,e.createComponentVNode)(2,o.Window,{width:900,height:520,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[s===1&&(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,t.Tabs,{children:[(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"wrench",selected:h===0,onClick:function(){function p(){return C(0)}return p}(),children:"Configuration"},"ConfigPage"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"link",selected:h===1,onClick:function(){function p(){return C(1)}return p}(),children:"Device Linkage"},"LinkagePage"),(0,e.createComponentVNode)(2,t.Tabs.Tab,{icon:"user-times",selected:h===2,onClick:function(){function p(){return C(2)}return p}(),children:"User Filtering"},"FilterPage")]}),v(h)]})})}return g}(),b=function(){return(0,e.createComponentVNode)(2,t.NoticeBox,{children:"ERROR: An Ionospheric overload has occured. Please wait for the machine to reboot. This cannot be manually done."})},S=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.active,i=u.sectors_available,h=u.nttc_toggle_jobs,C=u.nttc_toggle_job_color,v=u.nttc_toggle_name_color,p=u.nttc_toggle_command_bold,N=u.nttc_job_indicator_type,V=u.nttc_setting_language,y=u.network_id;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Machine Power",children:(0,e.createComponentVNode)(2,t.Button,{content:s?"On":"Off",selected:s,icon:"power-off",onClick:function(){function B(){return l("toggle_active")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Sector Coverage",children:i})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Radio Configuration",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Announcements",children:(0,e.createComponentVNode)(2,t.Button,{content:h?"On":"Off",selected:h,icon:"user-tag",onClick:function(){function B(){return l("nttc_toggle_jobs")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Departmentalisation",children:(0,e.createComponentVNode)(2,t.Button,{content:C?"On":"Off",selected:C,icon:"clipboard-list",onClick:function(){function B(){return l("nttc_toggle_job_color")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Name Departmentalisation",children:(0,e.createComponentVNode)(2,t.Button,{content:v?"On":"Off",selected:v,icon:"user-tag",onClick:function(){function B(){return l("nttc_toggle_name_color")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Command Amplification",children:(0,e.createComponentVNode)(2,t.Button,{content:p?"On":"Off",selected:p,icon:"volume-up",onClick:function(){function B(){return l("nttc_toggle_command_bold")}return B}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Advanced",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Job Announcement Format",children:(0,e.createComponentVNode)(2,t.Button,{content:N||"Unset",selected:N,icon:"pencil-alt",onClick:function(){function B(){return l("nttc_job_indicator_type")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Language Conversion",children:(0,e.createComponentVNode)(2,t.Button,{content:V||"Unset",selected:V,icon:"globe",onClick:function(){function B(){return l("nttc_setting_language")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network ID",children:(0,e.createComponentVNode)(2,t.Button,{content:y||"Unset",selected:y,icon:"server",onClick:function(){function B(){return l("network_id")}return B}()})})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Maintenance",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Import Configuration",icon:"file-import",onClick:function(){function B(){return l("import")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Export Configuration",icon:"file-export",onClick:function(){function B(){return l("export")}return B}()})]})],4)},I=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.link_password,i=u.relay_entries;return(0,e.createComponentVNode)(2,t.Section,{title:"Device Linkage",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linkage Password",children:(0,e.createComponentVNode)(2,t.Button,{content:s||"Unset",selected:s,icon:"lock",onClick:function(){function h(){return l("change_password")}return h}()})})}),(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Sector"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Status"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Unlink"})]}),i.map(function(h){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.addr}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.net_id}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.sector}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:h.status===1?(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Online"}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Offline"})}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Unlink",icon:"unlink",onClick:function(){function C(){return l("unlink",{addr:h.addr})}return C}()})})]},h.addr)})]})]})},k=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.filtered_users;return(0,e.createComponentVNode)(2,t.Section,{title:"User Filtering",buttons:(0,e.createComponentVNode)(2,t.Button,{content:"Add User",icon:"user-plus",onClick:function(){function i(){return l("add_filter")}return i}()}),children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{style:{width:"90%"},children:"User"}),(0,e.createComponentVNode)(2,t.Table.Cell,{style:{width:"10%"},children:"Actions"})]}),s.map(function(i){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:i}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Remove",icon:"user-times",onClick:function(){function h(){return l("remove_filter",{user:i})}return h}()})})]},i)})]})})}},88046:function(A,r,n){"use strict";r.__esModule=!0,r.TcommsRelay=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TcommsRelay=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.linked,u=m.active,s=m.network_id;return(0,e.createComponentVNode)(2,o.Window,{width:600,height:292,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Relay Configuration",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Machine Power",children:(0,e.createComponentVNode)(2,t.Button,{content:u?"On":"Off",selected:u,icon:"power-off",onClick:function(){function i(){return c("toggle_active")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Network ID",children:(0,e.createComponentVNode)(2,t.Button,{content:s||"Unset",selected:s,icon:"server",onClick:function(){function i(){return c("network_id")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Link Status",children:l===1?(0,e.createComponentVNode)(2,t.Box,{color:"green",children:"Linked"}):(0,e.createComponentVNode)(2,t.Box,{color:"red",children:"Unlinked"})})]})}),l===1?(0,e.createComponentVNode)(2,b):(0,e.createComponentVNode)(2,S)]})})}return I}(),b=function(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.linked_core_id,u=m.linked_core_addr,s=m.hidden_link;return(0,e.createComponentVNode)(2,t.Section,{title:"Link Status",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linked Core ID",children:l}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Linked Core Address",children:u}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hidden Link",children:(0,e.createComponentVNode)(2,t.Button,{content:s?"Yes":"No",icon:s?"eye-slash":"eye",selected:s,onClick:function(){function i(){return c("toggle_hidden_link")}return i}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Unlink",children:(0,e.createComponentVNode)(2,t.Button,{content:"Unlink",icon:"unlink",color:"red",onClick:function(){function i(){return c("unlink")}return i}()})})]})})},S=function(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.cores;return(0,e.createComponentVNode)(2,t.Section,{title:"Detected Cores",children:(0,e.createComponentVNode)(2,t.Table,{m:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network Address"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Network ID"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Sector"}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:"Link"})]}),l.map(function(u){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:u.addr}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:u.net_id}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:u.sector}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{content:"Link",icon:"link",onClick:function(){function s(){return c("link",{addr:u.addr})}return s}()})})]},u.addr)})]})})}},20802:function(A,r,n){"use strict";r.__esModule=!0,r.Teleporter=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Teleporter=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.targetsTeleport?d.targetsTeleport:{},m=0,l=1,u=2,s=d.calibrated,i=d.calibrating,h=d.powerstation,C=d.regime,v=d.teleporterhub,p=d.target,N=d.locked,V=d.adv_beacon_allowed,y=d.advanced_beacon_locking;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:270,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:[(!h||!v)&&(0,e.createComponentVNode)(2,t.Section,{fill:!0,title:"Error",children:[v,!h&&(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:" Powerstation not linked "}),h&&!v&&(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:" Teleporter hub not linked "})]}),h&&v&&(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Status",buttons:(0,e.createFragment)(!!V&&(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{inline:!0,color:"label",children:"Advanced Beacon Locking:\xA0"}),(0,e.createComponentVNode)(2,t.Button,{selected:y,icon:y?"toggle-on":"toggle-off",content:y?"Enabled":"Disabled",onClick:function(){function B(){return g("advanced_beacon_locking",{on:y?0:1})}return B}()})],4),0),children:[(0,e.createComponentVNode)(2,t.Stack,{mb:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:8.5,color:"label",children:"Teleport target:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[C===m&&(0,e.createComponentVNode)(2,t.Dropdown,{width:18.2,selected:p,disabled:i,options:Object.keys(c),color:p!=="None"?"default":"bad",onSelected:function(){function B(L){return g("settarget",{x:c[L].x,y:c[L].y,z:c[L].z,tptarget:c[L].pretarget})}return B}()}),C===l&&(0,e.createComponentVNode)(2,t.Dropdown,{width:18.2,selected:p,disabled:i,options:Object.keys(c),color:p!=="None"?"default":"bad",onSelected:function(){function B(L){return g("settarget",{x:c[L].x,y:c[L].y,z:c[L].z,tptarget:c[L].pretarget})}return B}()}),C===u&&(0,e.createComponentVNode)(2,t.Box,{children:p})]})]}),(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:8.5,color:"label",children:"Regime:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Gate",tooltip:"Teleport to another teleport hub.",tooltipPosition:"top",color:C===l?"good":null,onClick:function(){function B(){return g("setregime",{regime:l})}return B}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Teleporter",tooltip:"One-way teleport.",tooltipPosition:"top",color:C===m?"good":null,onClick:function(){function B(){return g("setregime",{regime:m})}return B}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"GPS",tooltip:"Teleport to a location stored in a GPS device.",tooltipPosition:"top-end",color:C===u?"good":null,disabled:!N,onClick:function(){function B(){return g("setregime",{regime:u})}return B}()})})]}),(0,e.createComponentVNode)(2,t.Stack,{label:"Calibration",mt:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:8.5,color:"label",children:"Calibration:"}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[p!=="None"&&(0,e.createComponentVNode)(2,t.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{width:15.8,textAlign:"center",mt:.5,children:i&&(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"In Progress"})||s&&(0,e.createComponentVNode)(2,t.Box,{color:"good",children:"Optimal"})||(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Sub-Optimal"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button,{icon:"sync-alt",tooltip:"Calibrates the hub. Accidents may occur when the calibration is not optimal.",tooltipPosition:"bottom-end",disabled:!!(s||i),onClick:function(){function B(){return g("calibrate")}return B}()})})]}),p==="None"&&(0,e.createComponentVNode)(2,t.Box,{lineHeight:"21px",children:"No target set"})]})]})]}),!!(N&&h&&v&&C===u)&&(0,e.createComponentVNode)(2,t.Section,{title:"GPS",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Button,{content:"Upload GPS data",tooltip:"Loads the GPS data from the device.",icon:"upload",onClick:function(){function B(){return g("load")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Eject",tooltip:"Ejects the GPS device",icon:"eject",onClick:function(){function B(){return g("eject")}return B}()})]})})]})})})})}return b}()},48517:function(A,r,n){"use strict";r.__esModule=!0,r.TelescienceConsole=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TelescienceConsole=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.last_msg,m=d.linked_pad,l=d.held_gps,u=d.lastdata,s=d.power_levels,i=d.current_max_power,h=d.current_power,C=d.current_bearing,v=d.current_elevation,p=d.current_sector,N=d.working,V=d.max_z,y=(0,a.useLocalState)(I,"dummyrot",C),B=y[0],L=y[1];return(0,e.createComponentVNode)(2,o.Window,{width:400,height:500,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:[(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:(0,e.createFragment)([c,!(u.length>0)||(0,e.createVNode)(1,"ul",null,u.map(function(w){return(0,e.createVNode)(1,"li",null,w,0,null,w)}),0)],0)}),(0,e.createComponentVNode)(2,t.Section,{title:"Telepad Status",children:m===1?(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Bearing",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",children:[(0,e.createComponentVNode)(2,t.NumberInput,{unit:"\xB0",width:6.1,lineHeight:1.5,step:.1,minValue:0,maxValue:360,disabled:N,value:C,onDrag:function(){function w(x,T){return L(T)}return w}(),onChange:function(){function w(x,T){return g("setbear",{bear:T})}return w}()}),(0,e.createComponentVNode)(2,t.Icon,{ml:1,size:1,name:"arrow-up",rotation:B})]})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Elevation",children:(0,e.createComponentVNode)(2,t.NumberInput,{width:6.1,lineHeight:1.5,step:.1,minValue:0,maxValue:100,disabled:N,value:v,onChange:function(){function w(x,T){return g("setelev",{elev:T})}return w}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power Level",children:s.map(function(w,x){return(0,e.createComponentVNode)(2,t.Button,{content:w,selected:h===w,disabled:x>=i-1||N,onClick:function(){function T(){return g("setpwr",{pwr:x+1})}return T}()},w)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Target Sector",children:(0,e.createComponentVNode)(2,t.NumberInput,{width:6.1,lineHeight:1.5,step:1,minValue:2,maxValue:V,value:p,disabled:N,onChange:function(){function w(x,T){return g("setz",{newz:T})}return w}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Telepad Actions",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Send",disabled:N,onClick:function(){function w(){return g("pad_send")}return w}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Receive",disabled:N,onClick:function(){function w(){return g("pad_receive")}return w}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Crystal Maintenance",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Recalibrate Crystals",disabled:N,onClick:function(){function w(){return g("recal_crystals")}return w}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Eject Crystals",disabled:N,onClick:function(){function w(){return g("eject_crystals")}return w}()})]})]}):(0,e.createFragment)([(0,e.createTextVNode)("No pad linked to console. Please use a multitool to link a pad.")],4)}),(0,e.createComponentVNode)(2,t.Section,{title:"GPS Actions",children:l===1?(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{disabled:l===0||N,content:"Eject GPS",onClick:function(){function w(){return g("eject_gps")}return w}()}),(0,e.createComponentVNode)(2,t.Button,{disabled:l===0||N,content:"Store Coordinates",onClick:function(){function w(){return g("store_to_gps")}return w}()})],4):(0,e.createFragment)([(0,e.createTextVNode)("Please insert a GPS to store coordinates to it.")],4)})]})})}return b}()},21800:function(A,r,n){"use strict";r.__esModule=!0,r.TempGun=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=r.TempGun=function(){function g(d,c){var m=(0,t.useBackend)(c),l=m.act,u=m.data,s=u.target_temperature,i=u.temperature,h=u.max_temp,C=u.min_temp;return(0,e.createComponentVNode)(2,f.Window,{width:250,height:121,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Target Temperature",children:[(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:10,stepPixelSize:6,minValue:C,maxValue:h,value:s,format:function(){function v(p){return(0,a.toFixed)(p,2)}return v}(),width:"50px",onDrag:function(){function v(p,N){return l("target_temperature",{target_temperature:N})}return v}()}),"\xB0C"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Current Temperature",children:(0,e.createComponentVNode)(2,o.Box,{color:S(i),bold:i>500-273.15,children:[(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:(0,a.round)(i,2)}),"\xB0C"]})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Power Cost",children:(0,e.createComponentVNode)(2,o.Box,{color:k(i),children:I(i)})})]})})})})}return g}(),S=function(d){return d<=-100?"blue":d<=0?"teal":d<=100?"green":d<=200?"orange":"red"},I=function(d){return d<=100-273.15?"High":d<=250-273.15?"Medium":d<=300-273.15?"Low":d<=400-273.15?"Medium":"High"},k=function(d){return d<=100-273.15?"red":d<=250-273.15?"orange":d<=300-273.15?"green":d<=400-273.15?"orange":"red"}},24410:function(A,r,n){"use strict";r.__esModule=!0,r.sanitizeMultiline=r.removeAllSkiplines=r.TextInputModal=void 0;var e=n(89005),a=n(51057),t=n(19203),o=n(72253),f=n(92986),b=n(36036),S=n(98595),I=r.sanitizeMultiline=function(){function c(m){return m.replace(/(\n|\r\n){3,}/,"\n\n")}return c}(),k=r.removeAllSkiplines=function(){function c(m){return m.replace(/[\r\n]+/,"")}return c}(),g=r.TextInputModal=function(){function c(m,l){var u=(0,o.useBackend)(l),s=u.act,i=u.data,h=i.max_length,C=i.message,v=C===void 0?"":C,p=i.multiline,N=i.placeholder,V=i.timeout,y=i.title,B=(0,o.useLocalState)(l,"input",N||""),L=B[0],w=B[1],x=function(){function O(D){if(D!==L){var E=p?I(D):k(D);w(E)}}return O}(),T=p||L.length>=40,M=130+(v.length>40?Math.ceil(v.length/4):0)+(T?80:0);return(0,e.createComponentVNode)(2,S.Window,{title:y,width:325,height:M,children:[V&&(0,e.createComponentVNode)(2,a.Loader,{value:V}),(0,e.createComponentVNode)(2,S.Window.Content,{onKeyDown:function(){function O(D){var E=window.event?D.which:D.keyCode;E===f.KEY_ENTER&&(!T||!D.shiftKey)&&s("submit",{entry:L}),E===f.KEY_ESCAPE&&s("cancel")}return O}(),children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Box,{color:"label",children:v})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,d,{input:L,onType:x})}),(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,t.InputButtons,{input:L,message:L.length+"/"+h})})]})})})]})}return c}(),d=function(m,l){var u=(0,o.useBackend)(l),s=u.act,i=u.data,h=i.max_length,C=i.multiline,v=m.input,p=m.onType,N=C||v.length>=40;return(0,e.createComponentVNode)(2,b.TextArea,{autoFocus:!0,autoSelect:!0,height:C||v.length>=40?"100%":"1.8rem",maxLength:h,onEscape:function(){function V(){return s("cancel")}return V}(),onEnter:function(){function V(y){N&&y.shiftKey||(y.preventDefault(),s("submit",{entry:v}))}return V}(),onInput:function(){function V(y,B){return p(B)}return V}(),placeholder:"Type something...",value:v})}},25036:function(A,r,n){"use strict";r.__esModule=!0,r.ThermoMachine=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=n(98595),b=r.ThermoMachine=function(){function S(I,k){var g=(0,t.useBackend)(k),d=g.act,c=g.data;return(0,e.createComponentVNode)(2,f.Window,{width:300,height:225,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:[(0,e.createComponentVNode)(2,o.Section,{title:"Status",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Temperature",children:[(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:c.temperature,format:function(){function m(l){return(0,a.toFixed)(l,2)}return m}()})," K"]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Pressure",children:[(0,e.createComponentVNode)(2,o.AnimatedNumber,{value:c.pressure,format:function(){function m(l){return(0,a.toFixed)(l,2)}return m}()})," kPa"]})]})}),(0,e.createComponentVNode)(2,o.Section,{title:"Controls",buttons:(0,e.createComponentVNode)(2,o.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){function m(){return d("power")}return m}()}),children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Setting",textAlign:"center",children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:c.cooling?"temperature-low":"temperature-high",content:c.cooling?"Cooling":"Heating",selected:c.cooling,onClick:function(){function m(){return d("cooling")}return m}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Target Temperature",children:[(0,e.createComponentVNode)(2,o.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){function m(){return d("target",{target:c.min})}return m}()}),(0,e.createComponentVNode)(2,o.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:5.4,lineHeight:1.4,minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(){function m(l,u){return d("target",{target:u})}return m}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){function m(){return d("target",{target:c.max})}return m}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){function m(){return d("target",{target:c.initial})}return m}()})]})]})})]})})}return S}()},20035:function(A,r,n){"use strict";r.__esModule=!0,r.TransferValve=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.TransferValve=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.tank_one,m=d.tank_two,l=d.attached_device,u=d.valve;return(0,e.createComponentVNode)(2,o.Window,{width:460,height:285,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Valve Status",children:(0,e.createComponentVNode)(2,t.Button,{icon:u?"unlock":"lock",content:u?"Open":"Closed",disabled:!c||!m,onClick:function(){function s(){return g("toggle")}return s}()})})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Assembly",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"cog",content:"Configure Assembly",disabled:!l,onClick:function(){function s(){return g("device")}return s}()}),children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Attachment",children:l?(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:l,disabled:!l,onClick:function(){function s(){return g("remove_device")}return s}()}):(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"No Assembly"})})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Attachment One",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Attachment",children:c?(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:c,disabled:!c,onClick:function(){function s(){return g("tankone")}return s}()}):(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"No Tank"})})})}),(0,e.createComponentVNode)(2,t.Section,{title:"Attachment Two",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Attachment",children:m?(0,e.createComponentVNode)(2,t.Button,{icon:"eject",content:m,disabled:!m,onClick:function(){function s(){return g("tanktwo")}return s}()}):(0,e.createComponentVNode)(2,t.Box,{color:"average",children:"No Tank"})})})})]})})}return b}()},78166:function(A,r,n){"use strict";r.__esModule=!0,r.TurbineComputer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=n(44879),b=r.TurbineComputer=function(){function k(g,d){var c=(0,a.useBackend)(d),m=c.act,l=c.data,u=l.compressor,s=l.compressor_broken,i=l.turbine,h=l.turbine_broken,C=l.online,v=!!(u&&!s&&i&&!h);return(0,e.createComponentVNode)(2,o.Window,{width:400,height:200,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Status",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{icon:C?"power-off":"times",content:C?"Online":"Offline",selected:C,disabled:!v,onClick:function(){function p(){return m("toggle_power")}return p}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:"Disconnect",onClick:function(){function p(){return m("disconnect")}return p}()})],4),children:v?(0,e.createComponentVNode)(2,I):(0,e.createComponentVNode)(2,S)})})})}return k}(),S=function(g,d){var c=(0,a.useBackend)(d),m=c.data,l=m.compressor,u=m.compressor_broken,s=m.turbine,i=m.turbine_broken,h=m.online;return(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Compressor Status",color:!l||u?"bad":"good",children:u?l?"Offline":"Missing":"Online"}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Turbine Status",color:!s||i?"bad":"good",children:i?s?"Offline":"Missing":"Online"})]})},I=function(g,d){var c=(0,a.useBackend)(d),m=c.data,l=m.rpm,u=m.temperature,s=m.power,i=m.bearing_heat;return(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Turbine Speed",children:[l," RPM"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Internal Temp",children:[u," K"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Generated Power",children:[s," W"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Bearing Heat",children:(0,e.createComponentVNode)(2,t.ProgressBar,{value:i,minValue:0,maxValue:100,ranges:{good:[-1/0,60],average:[60,90],bad:[90,1/0]},children:(0,f.toFixed)(i)+"%"})})]})}},52847:function(A,r,n){"use strict";r.__esModule=!0,r.Uplink=void 0;var e=n(89005),a=n(88510),t=n(64795),o=n(25328),f=n(72253),b=n(36036),S=n(98595),I=n(3939),k=function(C){switch(C){case 0:return(0,e.createComponentVNode)(2,d);case 1:return(0,e.createComponentVNode)(2,c);case 2:return(0,e.createComponentVNode)(2,i);default:return"SOMETHING WENT VERY WRONG PLEASE AHELP"}},g=r.Uplink=function(){function h(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.cart,B=(0,f.useLocalState)(v,"tabIndex",0),L=B[0],w=B[1],x=(0,f.useLocalState)(v,"searchText",""),T=x[0],M=x[1];return(0,e.createComponentVNode)(2,S.Window,{width:900,height:600,theme:"syndicate",children:[(0,e.createComponentVNode)(2,I.ComplexModal),(0,e.createComponentVNode)(2,S.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Tabs,{children:[(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:L===0,onClick:function(){function O(){w(0),M("")}return O}(),icon:"store",children:"View Market"},"PurchasePage"),(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:L===1,onClick:function(){function O(){w(1),M("")}return O}(),icon:"shopping-cart",children:["View Shopping Cart ",y&&y.length?"("+y.length+")":""]},"Cart"),(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:L===2,onClick:function(){function O(){w(2),M("")}return O}(),icon:"user",children:"Exploitable Information"},"ExploitableInfo"),(0,e.createComponentVNode)(2,b.Tabs.Tab,{onClick:function(){function O(){return N("lock")}return O}(),icon:"lock",children:"Lock Uplink"},"LockUplink")]})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:k(L)})]})})]})}return h}(),d=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.crystals,B=V.cats,L=(0,f.useLocalState)(v,"uplinkItems",B[0].items),w=L[0],x=L[1],T=(0,f.useLocalState)(v,"searchText",""),M=T[0],O=T[1],D=function(W,z){z===void 0&&(z="");var K=(0,o.createSearch)(z,function(G){var J=G.hijack_only===1?"|hijack":"";return G.name+"|"+G.desc+"|"+G.cost+"tc"+J});return(0,t.flow)([(0,a.filter)(function(G){return G==null?void 0:G.name}),z&&(0,a.filter)(K),(0,a.sortBy)(function(G){return G==null?void 0:G.name})])(W)},E=function(W){if(O(W),W==="")return x(B[0].items);x(D(B.map(function(z){return z.items}).flat(),W))},P=(0,f.useLocalState)(v,"showDesc",1),R=P[0],j=P[1];return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:(0,e.createComponentVNode)(2,b.Stack.Item,{children:(0,e.createComponentVNode)(2,b.Section,{title:"Current Balance: "+y+"TC",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,b.Button.Checkbox,{content:"Show Descriptions",checked:R,onClick:function(){function F(){return j(!R)}return F}()}),(0,e.createComponentVNode)(2,b.Button,{content:"Random Item",icon:"question",onClick:function(){function F(){return N("buyRandom")}return F}()}),(0,e.createComponentVNode)(2,b.Button,{content:"Refund Currently Held Item",icon:"undo",onClick:function(){function F(){return N("refund")}return F}()})],4),children:(0,e.createComponentVNode)(2,b.Input,{fluid:!0,placeholder:"Search Equipment",onInput:function(){function F(W,z){E(z)}return F}(),value:M})})})}),(0,e.createComponentVNode)(2,b.Stack,{fill:!0,mt:.3,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,b.Tabs,{vertical:!0,children:B.map(function(F){return(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:M!==""?!1:F.items===w,onClick:function(){function W(){x(F.items),O("")}return W}(),children:F.cat},F)})})})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:w.map(function(F){return(0,e.createComponentVNode)(2,b.Stack.Item,{p:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,l,{i:F,showDecription:R},(0,o.decodeHtmlEntities)(F.name))},(0,o.decodeHtmlEntities)(F.name))})})})})]})]})},c=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.cart,B=V.crystals,L=V.cart_price,w=(0,f.useLocalState)(v,"showDesc",0),x=w[0],T=w[1];return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Current Balance: "+B+"TC",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,b.Button.Checkbox,{content:"Show Descriptions",checked:x,onClick:function(){function M(){return T(!x)}return M}()}),(0,e.createComponentVNode)(2,b.Button,{content:"Empty Cart",icon:"trash",onClick:function(){function M(){return N("empty_cart")}return M}(),disabled:!y}),(0,e.createComponentVNode)(2,b.Button,{content:"Purchase Cart ("+L+"TC)",icon:"shopping-cart",onClick:function(){function M(){return N("purchase_cart")}return M}(),disabled:!y||L>B})],4),children:(0,e.createComponentVNode)(2,b.Stack,{vertical:!0,children:y?y.map(function(M){return(0,e.createComponentVNode)(2,b.Stack.Item,{p:1,mr:1,backgroundColor:"rgba(255, 0, 0, 0.1)",children:(0,e.createComponentVNode)(2,l,{i:M,showDecription:x,buttons:(0,e.createComponentVNode)(2,s,{i:M})})},(0,o.decodeHtmlEntities)(M.name))}):(0,e.createComponentVNode)(2,b.Box,{italic:!0,children:"Your Shopping Cart is empty!"})})})}),(0,e.createComponentVNode)(2,m)]})},m=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.cats,B=V.lucky_numbers;return(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Suggested Purchases",buttons:(0,e.createComponentVNode)(2,b.Button,{icon:"dice",content:"See more suggestions",onClick:function(){function L(){return N("shuffle_lucky_numbers")}return L}()}),children:(0,e.createComponentVNode)(2,b.Stack,{wrap:!0,children:B.map(function(L){return y[L.cat].items[L.item]}).filter(function(L){return L!=null}).map(function(L,w){return(0,e.createComponentVNode)(2,b.Stack.Item,{p:1,mb:1,ml:1,width:34,backgroundColor:"rgba(255, 0, 0, 0.15)",children:(0,e.createComponentVNode)(2,l,{grow:!0,i:L})},w)})})})})},l=function(C,v){var p=C.i,N=C.showDecription,V=N===void 0?1:N,y=C.buttons,B=y===void 0?(0,e.createComponentVNode)(2,u,{i:p}):y;return(0,e.createComponentVNode)(2,b.Section,{title:(0,o.decodeHtmlEntities)(p.name),showBottom:V,buttons:B,children:V?(0,e.createComponentVNode)(2,b.Box,{italic:!0,children:(0,o.decodeHtmlEntities)(p.desc)}):null})},u=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=C.i,B=V.crystals;return(0,e.createFragment)([(0,e.createComponentVNode)(2,b.Button,{icon:"shopping-cart",color:y.hijack_only===1&&"red",tooltip:"Add to cart.",tooltipPosition:"left",onClick:function(){function L(){return N("add_to_cart",{item:y.obj_path})}return L}(),disabled:y.cost>B}),(0,e.createComponentVNode)(2,b.Button,{content:"Buy ("+y.cost+"TC)"+(y.refundable?" [Refundable]":""),color:y.hijack_only===1&&"red",tooltip:y.hijack_only===1&&"Hijack Agents Only!",tooltipPosition:"left",onClick:function(){function L(){return N("buyItem",{item:y.obj_path})}return L}(),disabled:y.cost>B})],4)},s=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=C.i,B=V.exploitable;return(0,e.createComponentVNode)(2,b.Stack,{children:[(0,e.createComponentVNode)(2,b.Button,{icon:"times",content:"("+y.cost*y.amount+"TC)",tooltip:"Remove from cart.",tooltipPosition:"left",onClick:function(){function L(){return N("remove_from_cart",{item:y.obj_path})}return L}()}),(0,e.createComponentVNode)(2,b.Button,{icon:"minus",tooltip:y.limit===0&&"Discount already redeemed!",ml:"5px",onClick:function(){function L(){return N("set_cart_item_quantity",{item:y.obj_path,quantity:--y.amount})}return L}(),disabled:y.amount<=0}),(0,e.createComponentVNode)(2,b.Button.Input,{content:y.amount,width:"45px",tooltipPosition:"bottom-end",tooltip:y.limit===0&&"Discount already redeemed!",onCommit:function(){function L(w,x){return N("set_cart_item_quantity",{item:y.obj_path,quantity:x})}return L}(),disabled:y.limit!==-1&&y.amount>=y.limit&&y.amount<=0}),(0,e.createComponentVNode)(2,b.Button,{mb:.3,icon:"plus",tooltipPosition:"bottom-start",tooltip:y.limit===0&&"Discount already redeemed!",onClick:function(){function L(){return N("set_cart_item_quantity",{item:y.obj_path,quantity:++y.amount})}return L}(),disabled:y.limit!==-1&&y.amount>=y.limit})]})},i=function(C,v){var p=(0,f.useBackend)(v),N=p.act,V=p.data,y=V.exploitable,B=(0,f.useLocalState)(v,"selectedRecord",y[0]),L=B[0],w=B[1],x=(0,f.useLocalState)(v,"searchText",""),T=x[0],M=x[1],O=function(P,R){R===void 0&&(R="");var j=(0,o.createSearch)(R,function(F){return F.name});return(0,t.flow)([(0,a.filter)(function(F){return F==null?void 0:F.name}),R&&(0,a.filter)(j),(0,a.sortBy)(function(F){return F.name})])(P)},D=O(y,T);return(0,e.createComponentVNode)(2,b.Stack,{fill:!0,children:[(0,e.createComponentVNode)(2,b.Stack.Item,{width:"30%",children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:"Exploitable Records",children:[(0,e.createComponentVNode)(2,b.Input,{fluid:!0,mb:1,placeholder:"Search Crew",onInput:function(){function E(P,R){return M(R)}return E}()}),(0,e.createComponentVNode)(2,b.Tabs,{vertical:!0,children:D.map(function(E){return(0,e.createComponentVNode)(2,b.Tabs.Tab,{selected:E===L,onClick:function(){function P(){return w(E)}return P}(),children:E.name},E)})})]})}),(0,e.createComponentVNode)(2,b.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,b.Section,{fill:!0,scrollable:!0,title:L.name,children:(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Age",children:L.age}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Fingerprint",children:L.fingerprint}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Rank",children:L.rank}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Sex",children:L.sex}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Species",children:L.species})]})})})]})}},12261:function(A,r,n){"use strict";r.__esModule=!0,r.Vending=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=function(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=I.product,l=I.productStock,u=I.productIcon,s=I.productIconState,i=c.chargesMoney,h=c.user,C=c.usermoney,v=c.inserted_cash,p=c.vend_ready,N=c.inserted_item_name,V=!i||m.price===0,y="ERROR!",B="";V?(y="FREE",B="arrow-circle-down"):(y=m.price,B="shopping-cart");var L=!p||l===0||!V&&m.price>C&&m.price>v;return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,children:(0,e.createComponentVNode)(2,t.DmIcon,{verticalAlign:"middle",icon:u,icon_state:s,fallback:(0,e.createComponentVNode)(2,t.Icon,{p:.66,name:"spinner",size:2,spin:!0})})}),(0,e.createComponentVNode)(2,t.Table.Cell,{bold:!0,children:m.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Box,{color:l<=0&&"bad"||l<=m.max_amount/2&&"average"||"good",children:[l," in stock"]})}),(0,e.createComponentVNode)(2,t.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,disabled:L,icon:B,content:y,textAlign:"left",onClick:function(){function w(){return d("vend",{inum:m.inum})}return w}()})})]})},b=r.Vending=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.user,l=c.usermoney,u=c.inserted_cash,s=c.chargesMoney,i=c.product_records,h=i===void 0?[]:i,C=c.hidden_records,v=C===void 0?[]:C,p=c.stock,N=c.vend_ready,V=c.inserted_item_name,y=c.panel_open,B=c.speaker,L;return L=[].concat(h),c.extended_inventory&&(L=[].concat(L,v)),L=L.filter(function(w){return!!w}),(0,e.createComponentVNode)(2,o.Window,{title:"Vending Machine",width:450,height:Math.min((s?171:89)+L.length*32,585),children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[!!s&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"User",buttons:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:!!V&&(0,e.createComponentVNode)(2,t.Button,{fluid:!0,icon:"eject",content:(0,e.createVNode)(1,"span",null,V,0,{style:{"text-transform":"capitalize"}}),onClick:function(){function w(){return d("eject_item",{})}return w}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{disabled:!u,icon:"money-bill-wave-alt",content:u?(0,e.createFragment)([(0,e.createVNode)(1,"b",null,u,0),(0,e.createTextVNode)(" credits")],0):"Dispense Change",tooltip:u?"Dispense Change":null,textAlign:"left",onClick:function(){function w(){return d("change")}return w}()})})]}),children:m&&(0,e.createComponentVNode)(2,t.Box,{children:["Welcome, ",(0,e.createVNode)(1,"b",null,m.name,0),", ",(0,e.createVNode)(1,"b",null,m.job||"Unemployed",0),"!",(0,e.createVNode)(1,"br"),"Your balance is ",(0,e.createVNode)(1,"b",null,[l,(0,e.createTextVNode)(" credits")],0),".",(0,e.createVNode)(1,"br")]})})}),!!y&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{title:"Maintenance",children:(0,e.createComponentVNode)(2,t.Button,{icon:B?"check":"volume-mute",selected:B,content:"Speaker",textAlign:"left",onClick:function(){function w(){return d("toggle_voice",{})}return w}()})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:"Products",children:(0,e.createComponentVNode)(2,t.Table,{children:L.map(function(w){return(0,e.createComponentVNode)(2,f,{product:w,productStock:p[w.name],productIcon:w.icon,productIconState:w.icon_state},w.name)})})})})]})})})}return S}()},68971:function(A,r,n){"use strict";r.__esModule=!0,r.VolumeMixer=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.VolumeMixer=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.channels;return(0,e.createComponentVNode)(2,o.Window,{width:350,height:Math.min(95+c.length*50,565),children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:c.map(function(m,l){return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.25rem",color:"label",mt:l>0&&"0.5rem",children:m.name}),(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{mr:.5,children:(0,e.createComponentVNode)(2,t.Button,{width:"24px",color:"transparent",children:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-off",size:"1.5",mt:"0.1rem",onClick:function(){function u(){return g("volume",{channel:m.num,volume:0})}return u}()})})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mx:"0.5rem",children:(0,e.createComponentVNode)(2,t.Slider,{minValue:0,maxValue:100,stepPixelSize:3.13,value:m.volume,onChange:function(){function u(s,i){return g("volume",{channel:m.num,volume:i})}return u}()})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{width:"24px",color:"transparent",children:(0,e.createComponentVNode)(2,t.Icon,{name:"volume-up",size:"1.5",mt:"0.1rem",onClick:function(){function u(){return g("volume",{channel:m.num,volume:100})}return u}()})})})]})})],4,m.num)})})})})}return b}()},2510:function(A,r,n){"use strict";r.__esModule=!0,r.VotePanel=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.VotePanel=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.remaining,m=d.question,l=d.choices,u=d.user_vote,s=d.counts,i=d.show_counts;return(0,e.createComponentVNode)(2,o.Window,{width:400,height:360,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,title:m,children:[(0,e.createComponentVNode)(2,t.Box,{mb:1.5,ml:.5,children:["Time remaining: ",Math.round(c/10),"s"]}),l.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{mb:1,fluid:!0,translucent:!0,lineHeight:3,multiLine:h,content:h+(i?" ("+(s[h]||0)+")":""),onClick:function(){function C(){return g("vote",{target:h})}return C}(),selected:h===u})},h)})]})})})}return b}()},30138:function(A,r,n){"use strict";r.__esModule=!0,r.Wires=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.Wires=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.wires||[],m=d.status||[],l=56+c.length*23+(status?0:15+m.length*17);return(0,e.createComponentVNode)(2,o.Window,{width:350,height:l,children:(0,e.createComponentVNode)(2,o.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Section,{fill:!0,scrollable:!0,children:(0,e.createComponentVNode)(2,t.LabeledList,{children:c.map(function(u){return(0,e.createComponentVNode)(2,t.LabeledList.Item,{className:"candystripe",label:u.color_name,labelColor:u.seen_color,color:u.seen_color,buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Button,{content:u.cut?"Mend":"Cut",onClick:function(){function s(){return g("cut",{wire:u.color})}return s}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Pulse",onClick:function(){function s(){return g("pulse",{wire:u.color})}return s}()}),(0,e.createComponentVNode)(2,t.Button,{content:u.attached?"Detach":"Attach",onClick:function(){function s(){return g("attach",{wire:u.color})}return s}()})],4),children:!!u.wire&&(0,e.createVNode)(1,"i",null,[(0,e.createTextVNode)("("),u.wire,(0,e.createTextVNode)(")")],0)},u.seen_color)})})})}),!!m.length&&(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Section,{children:m.map(function(u){return(0,e.createComponentVNode)(2,t.Box,{color:"lightgray",children:u},u)})})})]})})})}return b}()},21400:function(A,r,n){"use strict";r.__esModule=!0,r.WizardApprenticeContract=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(98595),f=r.WizardApprenticeContract=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.used;return(0,e.createComponentVNode)(2,o.Window,{width:500,height:555,children:(0,e.createComponentVNode)(2,o.Window.Content,{scrollable:!0,children:[(0,e.createComponentVNode)(2,t.Section,{title:"Contract of Apprenticeship",children:["Using this contract, you may summon an apprentice to aid you on your mission.",(0,e.createVNode)(1,"p",null,"If you are unable to establish contact with your apprentice, you can feed the contract back to the spellbook to refund your points.",16),c?(0,e.createComponentVNode)(2,t.Box,{bold:!0,color:"red",children:"You've already summoned an apprentice or you are in process of summoning one."}):""]}),(0,e.createComponentVNode)(2,t.Section,{title:"Which school of magic is your apprentice studying?",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Fire",children:["Your apprentice is skilled in bending fire. ",(0,e.createVNode)(1,"br"),"They know Fireball, Sacred Flame, and Ethereal Jaunt.",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{content:"Select",disabled:c,onClick:function(){function m(){return g("fire")}return m}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Translocation",children:["Your apprentice is able to defy physics, learning how to move through bluespace. ",(0,e.createVNode)(1,"br"),"They know Teleport, Blink and Ethereal Jaunt.",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{content:"Select",disabled:c,onClick:function(){function m(){return g("translocation")}return m}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Restoration",children:["Your apprentice is dedicated to supporting your magical prowess.",(0,e.createVNode)(1,"br"),"They come equipped with a Staff of Healing, have the unique ability to teleport back to you, and know Charge and Knock.",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{content:"Select",disabled:c,onClick:function(){function m(){return g("restoration")}return m}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Stealth",children:["Your apprentice is learning the art of infiltrating mundane facilities. ",(0,e.createVNode)(1,"br"),"They know Mindswap, Knock, Homing Toolbox, and Disguise Self, all of which can be cast without robes. They also join you in a Maintenance Dweller disguise, complete with Gloves of Shock Immunity and a Belt of Tools.",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{content:"Select",disabled:c,onClick:function(){function m(){return g("stealth")}return m}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Honk",children:["Your apprentice is here to spread the Honkmother's blessings.",(0,e.createVNode)(1,"br"),"They know Banana Touch, Instant Summons, Ethereal Jaunt, and come equipped with a Staff of Slipping."," ",(0,e.createVNode)(1,"br"),"While under your tutelage, they have been 'blessed' with clown shoes that are impossible to remove.",(0,e.createVNode)(1,"br"),(0,e.createComponentVNode)(2,t.Button,{content:"Select",disabled:c,onClick:function(){function m(){return g("honk")}return m}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Divider)]})})]})})}return b}()},49148:function(A,r,n){"use strict";r.__esModule=!0,r.AccessList=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036);function f(g,d){var c=typeof Symbol!="undefined"&&g[Symbol.iterator]||g["@@iterator"];if(c)return(c=c.call(g)).next.bind(c);if(Array.isArray(g)||(c=b(g))||d&&g&&typeof g.length=="number"){c&&(g=c);var m=0;return function(){return m>=g.length?{done:!0}:{done:!1,value:g[m++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function b(g,d){if(g){if(typeof g=="string")return S(g,d);var c={}.toString.call(g).slice(8,-1);return c==="Object"&&g.constructor&&(c=g.constructor.name),c==="Map"||c==="Set"?Array.from(g):c==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?S(g,d):void 0}}function S(g,d){(d==null||d>g.length)&&(d=g.length);for(var c=0,m=Array(d);c0&&!V.includes(R.ref)&&!p.includes(R.ref),checked:p.includes(R.ref),onClick:function(){function j(){return y(R.ref)}return j}()},R.desc)})]})]})})}return g}()},26991:function(A,r,n){"use strict";r.__esModule=!0,r.AtmosScan=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036),f=function(I,k,g,d,c){return Id?"average":I>c?"bad":"good"},b=r.AtmosScan=function(){function S(I,k){var g=I.data.aircontents;return(0,e.createComponentVNode)(2,o.Box,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,a.filter)(function(d){return d.val!=="0"||d.entry==="Pressure"||d.entry==="Temperature"})(g).map(function(d){return(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:d.entry,color:f(d.val,d.bad_low,d.poor_low,d.poor_high,d.bad_high),children:[d.val,d.units]},d.entry)})})})}return S}()},85870:function(A,r,n){"use strict";r.__esModule=!0,r.BeakerContents=void 0;var e=n(89005),a=n(36036),t=n(15964),o=function(S){return S+" unit"+(S===1?"":"s")},f=r.BeakerContents=function(){function b(S){var I=S.beakerLoaded,k=S.beakerContents,g=k===void 0?[]:k,d=S.buttons;return(0,e.createComponentVNode)(2,a.Stack,{vertical:!0,children:[!I&&(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",children:"No beaker loaded."})||g.length===0&&(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",children:"Beaker is empty."}),g.map(function(c,m){return(0,e.createComponentVNode)(2,a.Stack,{children:[(0,e.createComponentVNode)(2,a.Stack.Item,{color:"label",grow:!0,children:[o(c.volume)," of ",c.name]},c.name),!!d&&(0,e.createComponentVNode)(2,a.Stack.Item,{children:d(c,m)})]},c.name)})]})}return b}();f.propTypes={beakerLoaded:t.bool,beakerContents:t.array,buttons:t.arrayOf(t.element)}},92963:function(A,r,n){"use strict";r.__esModule=!0,r.BotStatus=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.BotStatus=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,d=g.locked,c=g.noaccess,m=g.maintpanel,l=g.on,u=g.autopatrol,s=g.canhack,i=g.emagged,h=g.remote_disabled;return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.NoticeBox,{children:["Swipe an ID card to ",d?"unlock":"lock"," this interface."]}),(0,e.createComponentVNode)(2,t.Section,{title:"General Settings",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:(0,e.createComponentVNode)(2,t.Button,{icon:l?"power-off":"times",content:l?"On":"Off",selected:l,disabled:c,onClick:function(){function C(){return k("power")}return C}()})}),u!==null&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Patrol",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:u,content:"Auto Patrol",disabled:c,onClick:function(){function C(){return k("autopatrol")}return C}()})}),!!m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Maintenance Panel",children:(0,e.createComponentVNode)(2,t.Box,{color:"bad",children:"Panel Open!"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Safety System",children:(0,e.createComponentVNode)(2,t.Box,{color:i?"bad":"good",children:i?"DISABLED!":"Enabled"})}),!!s&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Hacking",children:(0,e.createComponentVNode)(2,t.Button,{icon:"terminal",content:i?"Restore Safties":"Hack",disabled:c,color:"bad",onClick:function(){function C(){return k("hack")}return C}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Remote Access",children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:!h,content:"AI Remote Control",disabled:c,onClick:function(){function C(){return k("disableremote")}return C}()})})]})})],4)}return f}()},3939:function(A,r,n){"use strict";r.__esModule=!0,r.modalRegisterBodyOverride=r.modalOpen=r.modalClose=r.modalAnswer=r.ComplexModal=void 0;var e=n(89005),a=n(72253),t=n(36036),o={},f=r.modalOpen=function(){function g(d,c,m){var l=(0,a.useBackend)(d),u=l.act,s=l.data,i=Object.assign(s.modal?s.modal.args:{},m||{});u("modal_open",{id:c,arguments:JSON.stringify(i)})}return g}(),b=r.modalRegisterBodyOverride=function(){function g(d,c){o[d]=c}return g}(),S=r.modalAnswer=function(){function g(d,c,m,l){var u=(0,a.useBackend)(d),s=u.act,i=u.data;if(i.modal){var h=Object.assign(i.modal.args||{},l||{});s("modal_answer",{id:c,answer:m,arguments:JSON.stringify(h)})}}return g}(),I=r.modalClose=function(){function g(d,c){var m=(0,a.useBackend)(d),l=m.act;l("modal_close",{id:c})}return g}(),k=r.ComplexModal=function(){function g(d,c){var m=(0,a.useBackend)(c),l=m.data;if(l.modal){var u=l.modal,s=u.id,i=u.text,h=u.type,C,v=(0,e.createComponentVNode)(2,t.Button,{className:"Button--modal",icon:"arrow-left",content:"Cancel",onClick:function(){function L(){return I(c)}return L}()}),p,N,V="auto";if(o[s])p=o[s](l.modal,c);else if(h==="input"){var y=l.modal.value;C=function(){function L(w){return S(c,s,y)}return L}(),p=(0,e.createComponentVNode)(2,t.Input,{value:l.modal.value,placeholder:"ENTER to submit",width:"100%",my:"0.5rem",autofocus:!0,onChange:function(){function L(w,x){y=x}return L}()}),N=(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"arrow-left",content:"Cancel",color:"grey",onClick:function(){function L(){return I(c)}return L}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"check",content:"Confirm",color:"good",float:"right",m:"0",onClick:function(){function L(){return S(c,s,y)}return L}()}),(0,e.createComponentVNode)(2,t.Box,{clear:"both"})]})}else if(h==="choice"){var B=typeof l.modal.choices=="object"?Object.values(l.modal.choices):l.modal.choices;p=(0,e.createComponentVNode)(2,t.Dropdown,{options:B,selected:l.modal.value,width:"100%",my:"0.5rem",onSelected:function(){function L(w){return S(c,s,w)}return L}()}),V="initial"}else h==="bento"?p=(0,e.createComponentVNode)(2,t.Stack,{spacingPrecise:"1",wrap:"wrap",my:"0.5rem",maxHeight:"1%",children:l.modal.choices.map(function(L,w){return(0,e.createComponentVNode)(2,t.Stack.Item,{flex:"1 1 auto",children:(0,e.createComponentVNode)(2,t.Button,{selected:w+1===parseInt(l.modal.value,10),onClick:function(){function x(){return S(c,s,w+1)}return x}(),children:(0,e.createVNode)(1,"img",null,null,1,{src:L})})},w)})}):h==="boolean"&&(N=(0,e.createComponentVNode)(2,t.Box,{mt:"0.5rem",children:[(0,e.createComponentVNode)(2,t.Button,{icon:"times",content:l.modal.no_text,color:"bad",float:"left",mb:"0",onClick:function(){function L(){return S(c,s,0)}return L}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"check",content:l.modal.yes_text,color:"good",float:"right",m:"0",onClick:function(){function L(){return S(c,s,1)}return L}()}),(0,e.createComponentVNode)(2,t.Box,{clear:"both"})]}));return(0,e.createComponentVNode)(2,t.Modal,{maxWidth:d.maxWidth||window.innerWidth/2+"px",maxHeight:d.maxHeight||window.innerHeight/2+"px",onEnter:C,mx:"auto",overflowY:V,"padding-bottom":"5px",children:[i&&(0,e.createComponentVNode)(2,t.Box,{inline:!0,children:i}),o[s]&&v,p,N]})}}return g}()},41874:function(A,r,n){"use strict";r.__esModule=!0,r.CrewManifest=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(25328),f=n(76910),b=f.COLORS.department,S=["Captain","Head of Security","Chief Engineer","Chief Medical Officer","Research Director","Head of Personnel","Quartermaster"],I=function(m){return S.indexOf(m)!==-1?"green":"orange"},k=function(m){if(S.indexOf(m)!==-1)return!0},g=function(m){return m.length>0&&(0,e.createComponentVNode)(2,t.Table,{children:[(0,e.createComponentVNode)(2,t.Table.Row,{header:!0,color:"white",children:[(0,e.createComponentVNode)(2,t.Table.Cell,{width:"50%",children:"Name"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"35%",children:"Rank"}),(0,e.createComponentVNode)(2,t.Table.Cell,{width:"15%",children:"Active"})]}),m.map(function(l){return(0,e.createComponentVNode)(2,t.Table.Row,{color:I(l.rank),bold:k(l.rank),children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,o.decodeHtmlEntities)(l.name)}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,o.decodeHtmlEntities)(l.rank)}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:l.active})]},l.name+l.rank)})]})},d=r.CrewManifest=function(){function c(m,l){var u=(0,a.useBackend)(l),s=u.act,i;if(m.data)i=m.data;else{var h=(0,a.useBackend)(l),C=h.data;i=C}var v=i,p=v.manifest,N=p.heads,V=p.sec,y=p.eng,B=p.med,L=p.sci,w=p.ser,x=p.sup,T=p.misc;return(0,e.createComponentVNode)(2,t.Box,{children:[(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.command,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Command"})}),level:2,children:g(N)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.security,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Security"})}),level:2,children:g(V)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.engineering,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Engineering"})}),level:2,children:g(y)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.medical,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Medical"})}),level:2,children:g(B)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.science,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Science"})}),level:2,children:g(L)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.service,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Service"})}),level:2,children:g(w)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{backgroundColor:b.supply,m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Supply"})}),level:2,children:g(x)}),(0,e.createComponentVNode)(2,t.Section,{title:(0,e.createComponentVNode)(2,t.Box,{m:-1,pt:1,pb:1,children:(0,e.createComponentVNode)(2,t.Box,{ml:1,textAlign:"center",fontSize:1.4,children:"Misc"})}),level:2,children:g(T)})]})}return c}()},19203:function(A,r,n){"use strict";r.__esModule=!0,r.InputButtons=void 0;var e=n(89005),a=n(36036),t=n(72253),o=r.InputButtons=function(){function f(b,S){var I=(0,t.useBackend)(S),k=I.act,g=I.data,d=g.large_buttons,c=g.swapped_buttons,m=b.input,l=b.message,u=b.disabled,s=(0,e.createComponentVNode)(2,a.Button,{color:"good",content:"Submit",bold:!!d,fluid:!!d,onClick:function(){function h(){return k("submit",{entry:m})}return h}(),textAlign:"center",tooltip:d&&l,disabled:u,width:!d&&6}),i=(0,e.createComponentVNode)(2,a.Button,{color:"bad",content:"Cancel",bold:!!d,fluid:!!d,onClick:function(){function h(){return k("cancel")}return h}(),textAlign:"center",width:!d&&6});return(0,e.createComponentVNode)(2,a.Flex,{fill:!0,align:"center",direction:c?"row-reverse":"row",justify:"space-around",children:[d?(0,e.createComponentVNode)(2,a.Flex.Item,{grow:!0,ml:c?.5:0,mr:c?0:.5,children:i}):(0,e.createComponentVNode)(2,a.Flex.Item,{children:i}),!d&&l&&(0,e.createComponentVNode)(2,a.Flex.Item,{children:(0,e.createComponentVNode)(2,a.Box,{color:"label",textAlign:"center",children:l})}),d?(0,e.createComponentVNode)(2,a.Flex.Item,{grow:!0,mr:c?.5:0,ml:c?0:.5,children:s}):(0,e.createComponentVNode)(2,a.Flex.Item,{children:s})]})}return f}()},195:function(A,r,n){"use strict";r.__esModule=!0,r.InterfaceLockNoticeBox=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.InterfaceLockNoticeBox=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,d=b.siliconUser,c=d===void 0?g.siliconUser:d,m=b.locked,l=m===void 0?g.locked:m,u=b.normallyLocked,s=u===void 0?g.normallyLocked:u,i=b.onLockStatusChange,h=i===void 0?function(){return k("lock")}:i,C=b.accessText,v=C===void 0?"an ID card":C;return c?(0,e.createComponentVNode)(2,t.NoticeBox,{color:c&&"grey",children:(0,e.createComponentVNode)(2,t.Flex,{align:"center",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{children:"Interface lock status:"}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:"1"}),(0,e.createComponentVNode)(2,t.Flex.Item,{children:(0,e.createComponentVNode)(2,t.Button,{m:"0",color:s?"red":"green",icon:s?"lock":"unlock",content:s?"Locked":"Unlocked",onClick:function(){function p(){h&&h(!l)}return p}()})})]})}):(0,e.createComponentVNode)(2,t.NoticeBox,{children:["Swipe ",v," to ",l?"unlock":"lock"," this interface."]})}return f}()},51057:function(A,r,n){"use strict";r.__esModule=!0,r.Loader=void 0;var e=n(89005),a=n(44879),t=n(36036),o=r.Loader=function(){function f(b){var S=b.value;return(0,e.createVNode)(1,"div","AlertModal__Loader",(0,e.createComponentVNode)(2,t.Box,{className:"AlertModal__LoaderProgress",style:{width:(0,a.clamp01)(S)*100+"%"}}),2)}return f}()},321:function(A,r,n){"use strict";r.__esModule=!0,r.LoginInfo=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LoginInfo=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,d=g.loginState;if(g)return(0,e.createComponentVNode)(2,t.NoticeBox,{info:!0,children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:.5,children:["Logged in as: ",d.name," (",d.rank,")"]}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:[(0,e.createComponentVNode)(2,t.Button,{icon:"eject",disabled:!d.id,content:"Eject ID",color:"good",onClick:function(){function c(){return k("login_eject")}return c}()}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-out-alt",content:"Logout",color:"good",onClick:function(){function c(){return k("login_logout")}return c}()})]})]})})}return f}()},5485:function(A,r,n){"use strict";r.__esModule=!0,r.LoginScreen=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.LoginScreen=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,d=g.loginState,c=g.isAI,m=g.isRobot,l=g.isAdmin;return(0,e.createComponentVNode)(2,t.Section,{title:"Welcome",fill:!0,stretchContents:!0,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",align:"center",justify:"center",children:(0,e.createComponentVNode)(2,t.Flex.Item,{textAlign:"center",mt:"-2rem",children:[(0,e.createComponentVNode)(2,t.Box,{fontSize:"1.5rem",bold:!0,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"user-circle",verticalAlign:"middle",size:3,mr:"1rem"}),"Guest"]}),(0,e.createComponentVNode)(2,t.Box,{color:"label",my:"1rem",children:["ID:",(0,e.createComponentVNode)(2,t.Button,{icon:"id-card",content:d.id?d.id:"----------",ml:"0.5rem",onClick:function(){function u(){return k("login_insert")}return u}()})]}),(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",disabled:!d.id,content:"Login",onClick:function(){function u(){return k("login_login",{login_type:1})}return u}()}),!!c&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Login as AI",onClick:function(){function u(){return k("login_login",{login_type:2})}return u}()}),!!m&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"Login as Cyborg",onClick:function(){function u(){return k("login_login",{login_type:3})}return u}()}),!!l&&(0,e.createComponentVNode)(2,t.Button,{icon:"sign-in-alt",content:"CentComm Secure Login",onClick:function(){function u(){return k("login_login",{login_type:4})}return u}()})]})})})}return f}()},62411:function(A,r,n){"use strict";r.__esModule=!0,r.Operating=void 0;var e=n(89005),a=n(36036),t=n(15964),o=r.Operating=function(){function f(b){var S=b.operating,I=b.name;if(S)return(0,e.createComponentVNode)(2,a.Dimmer,{children:(0,e.createComponentVNode)(2,a.Flex,{mb:"30px",children:(0,e.createComponentVNode)(2,a.Flex.Item,{bold:!0,color:"silver",textAlign:"center",children:[(0,e.createComponentVNode)(2,a.Icon,{name:"spinner",spin:!0,size:4,mb:"15px"}),(0,e.createVNode)(1,"br"),"The ",I," is processing..."]})})})}return f}();o.propTypes={operating:t.bool,name:t.string}},13545:function(A,r,n){"use strict";r.__esModule=!0,r.Signaler=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=r.Signaler=function(){function b(S,I){var k=(0,t.useBackend)(I),g=k.act,d=S.data,c=d.code,m=d.frequency,l=d.minFrequency,u=d.maxFrequency;return(0,e.createComponentVNode)(2,o.Section,{children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:.2,stepPixelSize:6,minValue:l/10,maxValue:u/10,value:m/10,format:function(){function s(i){return(0,a.toFixed)(i,1)}return s}(),width:"80px",onDrag:function(){function s(i,h){return g("freq",{freq:h})}return s}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Code",children:(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:c,width:"80px",onDrag:function(){function s(i,h){return g("code",{code:h})}return s}()})})]}),(0,e.createComponentVNode)(2,o.Button,{mt:1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){function s(){return g("signal")}return s}()})]})}return b}()},41984:function(A,r,n){"use strict";r.__esModule=!0,r.SimpleRecords=void 0;var e=n(89005),a=n(72253),t=n(25328),o=n(64795),f=n(88510),b=n(36036),S=r.SimpleRecords=function(){function g(d,c){var m=d.data.records;return(0,e.createComponentVNode)(2,b.Box,{children:m?(0,e.createComponentVNode)(2,k,{data:d.data,recordType:d.recordType}):(0,e.createComponentVNode)(2,I,{data:d.data})})}return g}(),I=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=d.data.recordsList,s=(0,a.useLocalState)(c,"searchText",""),i=s[0],h=s[1],C=function(N,V){V===void 0&&(V="");var y=(0,t.createSearch)(V,function(B){return B.Name});return(0,o.flow)([(0,f.filter)(function(B){return B==null?void 0:B.Name}),V&&(0,f.filter)(y),(0,f.sortBy)(function(B){return B.Name})])(u)},v=C(u,i);return(0,e.createComponentVNode)(2,b.Box,{children:[(0,e.createComponentVNode)(2,b.Input,{fluid:!0,mb:1,placeholder:"Search records...",onInput:function(){function p(N,V){return h(V)}return p}()}),v.map(function(p){return(0,e.createComponentVNode)(2,b.Box,{children:(0,e.createComponentVNode)(2,b.Button,{mb:.5,content:p.Name,icon:"user",onClick:function(){function N(){return l("Records",{target:p.uid})}return N}()})},p)})]})},k=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=d.data.records,s=u.general,i=u.medical,h=u.security,C;switch(d.recordType){case"MED":C=(0,e.createComponentVNode)(2,b.Section,{level:2,title:"Medical Data",children:i?(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Blood Type",children:i.blood_type}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Minor Disabilities",children:i.mi_dis}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:i.mi_dis_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Major Disabilities",children:i.ma_dis}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:i.ma_dis_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Allergies",children:i.alg}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:i.alg_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Current Diseases",children:i.cdi}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:i.cdi_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Important Notes",preserveWhitespace:!0,children:i.notes})]}):(0,e.createComponentVNode)(2,b.Box,{color:"red",bold:!0,children:"Medical record lost!"})});break;case"SEC":C=(0,e.createComponentVNode)(2,b.Section,{level:2,title:"Security Data",children:h?(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Criminal Status",children:h.criminal}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Minor Crimes",children:h.mi_crim}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:h.mi_crim_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Major Crimes",children:h.ma_crim}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Details",children:h.ma_crim_d}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Important Notes",preserveWhitespace:!0,children:h.notes})]}):(0,e.createComponentVNode)(2,b.Box,{color:"red",bold:!0,children:"Security record lost!"})});break}return(0,e.createComponentVNode)(2,b.Box,{children:[(0,e.createComponentVNode)(2,b.Section,{title:"General Data",children:s?(0,e.createComponentVNode)(2,b.LabeledList,{children:[(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Name",children:s.name}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Sex",children:s.sex}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Species",children:s.species}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Age",children:s.age}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Rank",children:s.rank}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Fingerprint",children:s.fingerprint}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Physical Status",children:s.p_stat}),(0,e.createComponentVNode)(2,b.LabeledList.Item,{label:"Mental Status",children:s.m_stat})]}):(0,e.createComponentVNode)(2,b.Box,{color:"red",bold:!0,children:"General record lost!"})}),C]})}},22091:function(A,r,n){"use strict";r.__esModule=!0,r.TemporaryNotice=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.TemporaryNotice=function(){function f(b,S){var I,k=(0,a.useBackend)(S),g=k.act,d=k.data,c=d.temp;if(c){var m=(I={},I[c.style]=!0,I);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,t.NoticeBox,Object.assign({},m,{children:(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,mt:.5,children:c.text}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{icon:"times-circle",onClick:function(){function l(){return g("cleartemp")}return l}()})})]})})))}}return f}()},95213:function(A,r,n){"use strict";r.__esModule=!0,r.goonstation_PTL=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(49968),f=n(98595);/** * @file * @copyright 2020 * @author Sovexe (https://github.com/Sovexe) * @license ISC - */var b=r.goonstation_PTL=function(){function g(u,c){var m=(0,a.useBackend)(c),l=m.data,d=l.total_earnings,s=l.total_energy,i=l.name,h=i===void 0?"Power Transmission Laser":i;return(0,e.createComponentVNode)(2,f.Window,{title:"Power Transmission Laser",width:"310",height:"485",children:(0,e.createComponentVNode)(2,f.Window.Content,{children:[(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,t.NoticeBox,{success:!0,children:["Earned Credits : ",d?(0,o.formatMoney)(d):0]}),(0,e.createComponentVNode)(2,t.NoticeBox,{success:!0,children:["Energy Sold : ",s?(0,o.formatSiUnit)(s,0,"J"):"0 J"]})]})})}return g}(),S=function(u,c){var m=(0,a.useBackend)(c),l=m.data,d=l.max_capacity,s=l.held_power,i=l.input_total,h=l.max_grid_load;return(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Reserve energy",children:s?(0,o.formatSiUnit)(s,0,"J"):"0 J"})}),(0,e.createComponentVNode)(2,t.ProgressBar,{mt:"0.5em",mb:"0.5em",ranges:{good:[.8,1/0],average:[.5,.8],bad:[-1/0,.5]},value:s/d}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Grid Saturation"})}),(0,e.createComponentVNode)(2,t.ProgressBar,{mt:"0.5em",ranges:{good:[.8,1/0],average:[.5,.8],bad:[-1/0,.5]},value:Math.min(i,d-s)/h})]})},I=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.input_total,i=d.accepting_power,h=d.sucking_power,C=d.input_number,v=d.power_format;return(0,e.createComponentVNode)(2,t.Section,{title:"Input Controls",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input Circuit",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",color:i?"green":"red",onClick:function(){function p(){return l("toggle_input")}return p}(),children:i?"Enabled":"Disabled"}),children:(0,e.createComponentVNode)(2,t.Box,{color:h&&"good"||i&&"average"||"bad",children:h&&"Online"||i&&"Idle"||"Offline"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input Level",children:s?(0,o.formatPower)(s):"0 W"})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"0.5em",children:[(0,e.createComponentVNode)(2,t.NumberInput,{mr:"0.5em",animated:!0,size:1.25,inline:!0,step:1,stepPixelSize:2,minValue:0,maxValue:999,value:C,onChange:function(){function p(N,V){return l("set_input",{set_input:V})}return p}()}),(0,e.createComponentVNode)(2,t.Button,{selected:v===1,onClick:function(){function p(){return l("inputW")}return p}(),children:"W"}),(0,e.createComponentVNode)(2,t.Button,{selected:v===Math.pow(10,3),onClick:function(){function p(){return l("inputKW")}return p}(),children:"KW"}),(0,e.createComponentVNode)(2,t.Button,{selected:v===Math.pow(10,6),onClick:function(){function p(){return l("inputMW")}return p}(),children:"MW"}),(0,e.createComponentVNode)(2,t.Button,{selected:v===Math.pow(10,9),onClick:function(){function p(){return l("inputGW")}return p}(),children:"GW"})]})]})},k=function(u,c){var m=(0,a.useBackend)(c),l=m.act,d=m.data,s=d.output_total,i=d.firing,h=d.accepting_power,C=d.output_number,v=d.output_multiplier,p=d.target,N=d.held_power;return(0,e.createComponentVNode)(2,t.Section,{title:"Output Controls",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Laser Circuit",buttons:(0,e.createComponentVNode)(2,t.Stack,{Horizontal:!0,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"crosshairs",color:p===""?"green":"red",onClick:function(){function V(){return l("target")}return V}(),children:p}),(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",color:i?"green":"red",disabled:!i&&Nd,onClick:function(){function y(){return k("purchaseSoftware",{key:V.key})}return y}()},V.key)}),c.filter(function(V){return!N[V.key]}).length===0&&"No software available!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Installed Software",children:[m.filter(function(V){return V.key!=="mainmenu"}).map(function(V){return(0,e.createComponentVNode)(2,t.Button,{content:V.name,icon:V.icon,onClick:function(){function y(){return k("startSoftware",{software_key:V.key})}return y}()},V.key)}),m.length===0&&"No software installed!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Installed Toggles",children:[l.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{content:V.name,icon:V.icon,selected:V.active,onClick:function(){function y(){return k("setToggle",{toggle_key:V.key})}return y}()},V.key)}),l.length===0&&"No toggles installed!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Emotion",children:s.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{content:V.name,selected:V.id===i,onClick:function(){function y(){return k("setEmotion",{emotion:V.id})}return y}()},V.id)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Speaking State",children:h.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{content:V.name,selected:V.name===C,onClick:function(){function y(){return k("setSpeechStyle",{speech_state:V.name})}return y}()},V.id)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Chassis Type",children:v.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{content:V.name,selected:V.icon===p,onClick:function(){function y(){return k("setChassis",{chassis_to_change:V.icon})}return y}()},V.id)})})]})})}return f}()},2983:function(A,r,n){"use strict";r.__esModule=!0,r.pai_manifest=void 0;var e=n(89005),a=n(72253),t=n(41874),o=r.pai_manifest=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data;return(0,e.createComponentVNode)(2,t.CrewManifest,{data:g.app_data})}return f}()},40758:function(A,r,n){"use strict";r.__esModule=!0,r.pai_medrecords=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pai_medrecords=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:k.app_data,recordType:"MED"})}return f}()},98599:function(A,r,n){"use strict";r.__esModule=!0,r.pai_messenger=void 0;var e=n(89005),a=n(72253),t=n(77595),o=r.pai_messenger=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,u=g.app_data.active_convo;return u?(0,e.createComponentVNode)(2,t.ActiveConversation,{data:g.app_data}):(0,e.createComponentVNode)(2,t.MessengerList,{data:g.app_data})}return f}()},50775:function(A,r,n){"use strict";r.__esModule=!0,r.pai_radio=void 0;var e=n(89005),a=n(72253),t=n(44879),o=n(36036),f=r.pai_radio=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.app_data,m=c.minFrequency,l=c.maxFrequency,d=c.frequency,s=c.broadcasting;return(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",children:[(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:.2,stepPixelSize:6,minValue:m/10,maxValue:l/10,value:d/10,format:function(){function i(h){return(0,t.toFixed)(h,1)}return i}(),onChange:function(){function i(h,C){return g("freq",{freq:C})}return i}()}),(0,e.createComponentVNode)(2,o.Button,{tooltip:"Reset",icon:"undo",onClick:function(){function i(){return g("freq",{freq:"145.9"})}return i}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Broadcast Nearby Speech",children:(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function i(){return g("toggleBroadcast")}return i}(),selected:s,content:s?"Enabled":"Disabled"})})]})}return b}()},48623:function(A,r,n){"use strict";r.__esModule=!0,r.pai_secrecords=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pai_secrecords=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:k.app_data,recordType:"SEC"})}return f}()},47297:function(A,r,n){"use strict";r.__esModule=!0,r.pai_signaler=void 0;var e=n(89005),a=n(72253),t=n(13545),o=r.pai_signaler=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data;return(0,e.createComponentVNode)(2,t.Signaler,{data:g.app_data})}return f}()},78532:function(A,r,n){"use strict";r.__esModule=!0,r.pda_atmos_scan=void 0;var e=n(89005),a=n(72253),t=n(26991),o=r.pda_atmos_scan=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data;return(0,e.createComponentVNode)(2,t.AtmosScan,{data:k})}return f}()},2395:function(A,r,n){"use strict";r.__esModule=!0,r.pda_games=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(1331),f=r.pda_games=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,u=k.data,c=u.games,m=function(){function l(d){switch(d){case"Minesweeper":return(0,e.createComponentVNode)(2,o.IconStack,{children:[(0,e.createComponentVNode)(2,o.Icon,{ml:"0",mt:"10px",name:"flag",size:"6",color:"gray",rotation:30}),(0,e.createComponentVNode)(2,o.Icon,{ml:"9px",mt:"23px",name:"bomb",size:"3",color:"black"})]});default:return(0,e.createComponentVNode)(2,o.Icon,{ml:"16px",mt:"10px",name:"gamepad",size:"6"})}}return l}();return(0,e.createComponentVNode)(2,t.Box,{children:c.map(function(l){return(0,e.createComponentVNode)(2,t.Button,{width:"33%",textAlign:"center",translucent:!0,onClick:function(){function d(){return g("play",{id:l.id})}return d}(),children:[m(l.name),(0,e.createComponentVNode)(2,t.Box,{children:l.name})]},l.name)})})}return b}()},40253:function(A,r,n){"use strict";r.__esModule=!0,r.pda_janitor=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_janitor=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,u=g.janitor,c=u.user_loc,m=u.mops,l=u.buckets,d=u.cleanbots,s=u.carts,i=u.janicarts;return(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Location",children:[c.x,",",c.y]}),m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mop Locations",children:m.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:[h.x,",",h.y," (",h.dir,") - ",h.status]},h)})}),l&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mop Bucket Locations",children:l.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:[h.x,",",h.y," (",h.dir,") - [",h.volume,"/",h.max_volume,"]"]},h)})}),d&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cleanbot Locations",children:d.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:[h.x,",",h.y," (",h.dir,") - ",h.status]},h)})}),s&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Janitorial Cart Locations",children:s.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:[h.x,",",h.y," (",h.dir,") - [",h.volume,"/",h.max_volume,"]"]},h)})}),i&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Janicart Locations",children:i.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:[h.x,",",h.y," (",h.direction_from_user,")"]},h)})})]})}return f}()},58293:function(A,r,n){"use strict";r.__esModule=!0,r.pda_main_menu=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=r.pda_main_menu=function(){function b(S,I){var k=(0,t.useBackend)(I),g=k.act,u=k.data,c=u.owner,m=u.ownjob,l=u.idInserted,d=u.categories,s=u.pai,i=u.notifying;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",color:"average",children:[c,", ",m]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"ID",children:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Update PDA Info",disabled:!l,onClick:function(){function h(){return g("UpdateInfo")}return h}()})})]})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"Functions",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:d.map(function(h){var C=u.apps[h];return!C||!C.length?null:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:h,children:C.map(function(v){return(0,e.createComponentVNode)(2,o.Button,{icon:v.uid in i?v.notify_icon:v.icon,iconSpin:v.uid in i,color:v.uid in i?"red":"transparent",content:v.name,onClick:function(){function p(){return g("StartProgram",{program:v.uid})}return p}()},v.uid)})},h)})})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!s&&(0,e.createComponentVNode)(2,o.Section,{title:"pAI",children:[(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"cog",content:"Configuration",onClick:function(){function h(){return g("pai",{option:1})}return h}()}),(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"eject",content:"Eject pAI",onClick:function(){function h(){return g("pai",{option:2})}return h}()})]})})]})}return b}()},58059:function(A,r,n){"use strict";r.__esModule=!0,r.pda_manifest=void 0;var e=n(89005),a=n(72253),t=n(41874),o=r.pda_manifest=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data;return(0,e.createComponentVNode)(2,t.CrewManifest)}return f}()},18147:function(A,r,n){"use strict";r.__esModule=!0,r.pda_medical=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pda_medical=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:k,recordType:"MED"})}return f}()},77595:function(A,r,n){"use strict";r.__esModule=!0,r.pda_messenger=r.MessengerList=r.ActiveConversation=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036),f=r.pda_messenger=function(){function k(g,u){var c=(0,t.useBackend)(u),m=c.act,l=c.data,d=l.active_convo;return d?(0,e.createComponentVNode)(2,b,{data:l}):(0,e.createComponentVNode)(2,S,{data:l})}return k}(),b=r.ActiveConversation=function(){function k(g,u){var c=(0,t.useBackend)(u),m=c.act,l=g.data,d=l.convo_name,s=l.convo_job,i=l.messages,h=l.active_convo,C=(0,t.useLocalState)(u,"clipboardMode",!1),v=C[0],p=C[1],N=(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Conversation with "+d+" ("+s+")",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"eye",selected:v,tooltip:"Enter Clipboard Mode",tooltipPosition:"bottom-start",onClick:function(){function V(){return p(!v)}return V}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function V(){return m("Message",{target:h})}return V}(),content:"Reply"})],4),children:(0,a.filter)(function(V){return V.target===h})(i).map(function(V,y){return(0,e.createComponentVNode)(2,o.Box,{textAlign:V.sent?"right":"left",position:"relative",mb:1,children:[(0,e.createComponentVNode)(2,o.Icon,{fontSize:2.5,color:V.sent?"#4d9121":"#cd7a0d",position:"absolute",left:V.sent?null:"0px",right:V.sent?"0px":null,bottom:"-4px",style:{"z-index":"0",transform:V.sent?"scale(-1, 1)":null},name:"comment"}),(0,e.createComponentVNode)(2,o.Box,{inline:!0,backgroundColor:V.sent?"#4d9121":"#cd7a0d",p:1,maxWidth:"100%",position:"relative",textAlign:V.sent?"left":"right",style:{"z-index":"1","border-radius":"10px","word-break":"normal"},children:[V.sent?"You:":"Them:"," ",V.message]})]},y)})});return v&&(N=(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Conversation with "+d+" ("+s+")",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"eye",selected:v,tooltip:"Exit Clipboard Mode",tooltipPosition:"bottom-start",onClick:function(){function V(){return p(!v)}return V}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function V(){return m("Message",{target:h})}return V}(),content:"Reply"})],4),children:(0,a.filter)(function(V){return V.target===h})(i).map(function(V,y){return(0,e.createComponentVNode)(2,o.Box,{color:V.sent?"#4d9121":"#cd7a0d",style:{"word-break":"normal"},children:[V.sent?"You:":"Them:"," ",(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:V.message})]},y)})})),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{mb:.5,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Messenger Functions",children:(0,e.createComponentVNode)(2,o.Button.Confirm,{content:"Delete Conversations",confirmContent:"Are you sure?",icon:"trash",confirmIcon:"trash",onClick:function(){function V(){return m("Clear",{option:"Convo"})}return V}()})})})}),N]})}return k}(),S=r.MessengerList=function(){function k(g,u){var c=(0,t.useBackend)(u),m=c.act,l=g.data,d=l.convopdas,s=l.pdas,i=l.charges,h=l.silent,C=l.toff,v=l.ringtone_list,p=l.ringtone,N=(0,t.useLocalState)(u,"searchTerm",""),V=N[0],y=N[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{mb:5,children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Messenger Functions",children:[(0,e.createComponentVNode)(2,o.Button,{selected:!h,icon:h?"volume-mute":"volume-up",onClick:function(){function B(){return m("Toggle Ringer")}return B}(),children:["Ringer: ",h?"Off":"On"]}),(0,e.createComponentVNode)(2,o.Button,{color:C?"bad":"green",icon:"power-off",onClick:function(){function B(){return m("Toggle Messenger")}return B}(),children:["Messenger: ",C?"Off":"On"]}),(0,e.createComponentVNode)(2,o.Button,{icon:"trash",color:"bad",onClick:function(){function B(){return m("Clear",{option:"All"})}return B}(),children:"Delete All Conversations"}),(0,e.createComponentVNode)(2,o.Button,{icon:"bell",onClick:function(){function B(){return m("Ringtone")}return B}(),children:"Set Custom Ringtone"}),(0,e.createComponentVNode)(2,o.Dropdown,{selected:p,width:"100px",options:Object.keys(v),onSelected:function(){function B(L){return m("Available_Ringtones",{selected_ringtone:L})}return B}()})]})}),!C&&(0,e.createComponentVNode)(2,o.Box,{children:[!!i&&(0,e.createComponentVNode)(2,o.Box,{mt:.5,mb:1,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cartridge Special Function",children:[i," charges left."]})})}),!d.length&&!s.length&&(0,e.createComponentVNode)(2,o.Box,{children:"No current conversations"})||(0,e.createComponentVNode)(2,o.Box,{children:["Search:"," ",(0,e.createComponentVNode)(2,o.Input,{mt:.5,value:V,onInput:function(){function B(L,w){y(w)}return B}()})]})]})||(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Messenger Offline."})]}),(0,e.createComponentVNode)(2,I,{title:"Current Conversations",data:l,pdas:d,msgAct:"Select Conversation",searchTerm:V}),(0,e.createComponentVNode)(2,I,{title:"Other PDAs",pdas:s,msgAct:"Message",data:l,searchTerm:V})]})}return k}(),I=function(g,u){var c=(0,t.useBackend)(u),m=c.act,l=g.data,d=g.pdas,s=g.title,i=g.msgAct,h=g.searchTerm,C=l.charges,v=l.plugins;return!d||!d.length?(0,e.createComponentVNode)(2,o.Section,{title:s,children:"No PDAs found."}):(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:s,children:d.filter(function(p){return p.Name.toLowerCase().includes(h.toLowerCase())}).map(function(p){return(0,e.createComponentVNode)(2,o.Stack,{m:.5,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"arrow-circle-down",content:p.Name,onClick:function(){function N(){return m(i,{target:p.uid})}return N}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!C&&v.map(function(N){return(0,e.createComponentVNode)(2,o.Button,{icon:N.icon,content:N.name,onClick:function(){function V(){return m("Messenger Plugin",{plugin:N.uid,target:p.uid})}return V}()},N.uid)})})]},p.uid)})})}},90382:function(A,r,n){"use strict";r.__esModule=!0,r.pda_minesweeper=r.MineSweeperLeaderboard=r.MineSweeperGame=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_minesweeper=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=(0,a.useLocalState)(g,"window","Game"),d=l[0],s=l[1],i={Game:"Leaderboard",Leaderboard:"Game"};return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:d==="Game"?(0,e.createComponentVNode)(2,f):(0,e.createComponentVNode)(2,b)}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,fontSize:2,lineHeight:1.75,icon:d==="Game"?"book":"gamepad",onClick:function(){function h(){return s(i[d])}return h}(),children:i[d]})})]})}return I}(),f=r.MineSweeperGame=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.matrix,d=m.flags,s=m.bombs,i={1:"blue",2:"green",3:"red",4:"darkblue",5:"brown",6:"lightblue",7:"black",8:"white"},h=function(){function C(v,p,N){c("Square",{X:v,Y:p,mode:N})}return C}();return(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:Object.keys(l).map(function(C){return(0,e.createComponentVNode)(2,t.Box,{children:Object.keys(l[C]).map(function(v){return(0,e.createComponentVNode)(2,t.Button,{m:.25,height:2,width:2,className:l[C][v].open?"Minesweeper__open":"Minesweeper__closed",bold:!0,color:"transparent",icon:l[C][v].open?l[C][v].bomb?"bomb":"":l[C][v].flag?"flag":"",textColor:l[C][v].open?l[C][v].bomb?"black":i[l[C][v].around]:l[C][v].flag?"red":"gray",onClick:function(){function p(N){return h(C,v,"bomb")}return p}(),onContextMenu:function(){function p(N){event.preventDefault(),h(C,v,"flag")}return p}(),children:l[C][v].open&&!l[C][v].bomb&&l[C][v].around?l[C][v].around:" "},v)})},C)})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,className:"Minesweeper__infobox",children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,textAlign:"left",pt:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{pl:2,fontSize:2,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"bomb",color:"gray"})," : ",s]}),(0,e.createComponentVNode)(2,t.Stack.Divider),(0,e.createComponentVNode)(2,t.Stack.Item,{pl:2,fontSize:2,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"flag",color:"red"})," : ",d]})]})})]})}return I}(),b=r.MineSweeperLeaderboard=function(){function I(k,g){var u=(0,a.useBackend)(g),c=u.act,m=u.data,l=m.leaderboard,d=(0,a.useLocalState)(g,"sortId","time"),s=d[0],i=d[1],h=(0,a.useLocalState)(g,"sortOrder",!1),C=h[0],v=h[1];return(0,e.createComponentVNode)(2,t.Table,{className:"Minesweeper__list",children:[(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,S,{id:"name",children:"Nick"}),(0,e.createComponentVNode)(2,S,{id:"time",children:"Time"})]}),l&&l.sort(function(p,N){var V=C?1:-1;return p[s].localeCompare(N[s])*V}).map(function(p,N){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.time})]},N)})]})}return I}(),S=function(k,g){var u=(0,a.useLocalState)(g,"sortId","time"),c=u[0],m=u[1],l=(0,a.useLocalState)(g,"sortOrder",!1),d=l[0],s=l[1],i=k.id,h=k.children;return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"transparent",onClick:function(){function C(){c===i?s(!d):(m(i),s(!0))}return C}(),children:[h,c===i&&(0,e.createComponentVNode)(2,t.Icon,{name:d?"sort-up":"sort-down",ml:"0.25rem;"})]})})}},24635:function(A,r,n){"use strict";r.__esModule=!0,r.pda_mule=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_mule=function(){function S(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.mulebot,l=m.active;return(0,e.createComponentVNode)(2,t.Box,{children:l?(0,e.createComponentVNode)(2,b):(0,e.createComponentVNode)(2,f)})}return S}(),f=function(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.mulebot,l=m.bots;return l.map(function(d){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:d.Name,icon:"cog",onClick:function(){function s(){return u("control",{bot:d.uid})}return s}()})},d.Name)})},b=function(I,k){var g=(0,a.useBackend)(k),u=g.act,c=g.data,m=c.mulebot,l=m.botstatus,d=m.active,s=l.mode,i=l.loca,h=l.load,C=l.powr,v=l.dest,p=l.home,N=l.retn,V=l.pick,y;switch(s){case 0:y="Ready";break;case 1:y="Loading/Unloading";break;case 2:case 12:y="Navigating to delivery location";break;case 3:y="Navigating to Home";break;case 4:y="Waiting for clear path";break;case 5:case 6:y="Calculating navigation path";break;case 7:y="Unable to locate destination";break;default:y=s;break}return(0,e.createComponentVNode)(2,t.Section,{title:d,children:[s===-1&&(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,children:"Waiting for response..."}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:i}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:y}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:[C,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Home",children:p}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Destination",children:(0,e.createComponentVNode)(2,t.Button,{content:v?v+" (Set)":"None (Set)",onClick:function(){function B(){return u("target")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Load",children:(0,e.createComponentVNode)(2,t.Button,{content:h?h+" (Unload)":"None",disabled:!h,onClick:function(){function B(){return u("unload")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto Pickup",children:(0,e.createComponentVNode)(2,t.Button,{content:V?"Yes":"No",selected:V,onClick:function(){function B(){return u("set_pickup_type",{autopick:V?0:1})}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto Return",children:(0,e.createComponentVNode)(2,t.Button,{content:N?"Yes":"No",selected:N,onClick:function(){function B(){return u("set_auto_return",{autoret:N?0:1})}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Stop",icon:"stop",onClick:function(){function B(){return u("stop")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Proceed",icon:"play",onClick:function(){function B(){return u("start")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Return Home",icon:"home",onClick:function(){function B(){return u("home")}return B}()})]})]})]})}},23734:function(A,r,n){"use strict";r.__esModule=!0,r.pda_nanobank=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=r.pda_nanobank=function(){function l(d,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=C.logged_in,p=C.owner_name,N=C.money;return v?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Name",children:p}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Balance",children:["$",N]})]})}),(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,S)]})],4):(0,e.createComponentVNode)(2,u)}return l}(),b=function(d,s){var i=(0,t.useBackend)(s),h=i.data,C=h.is_premium,v=(0,t.useLocalState)(s,"tabIndex",1),p=v[0],N=v[1];return(0,e.createComponentVNode)(2,o.Tabs,{mt:2,children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:p===1,onClick:function(){function V(){return N(1)}return V}(),children:[(0,e.createComponentVNode)(2,o.Icon,{mr:1,name:"list"}),"Transfers"]}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:p===2,onClick:function(){function V(){return N(2)}return V}(),children:[(0,e.createComponentVNode)(2,o.Icon,{mr:1,name:"list"}),"Account Actions"]}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:p===3,onClick:function(){function V(){return N(3)}return V}(),children:[(0,e.createComponentVNode)(2,o.Icon,{mr:1,name:"list"}),"Transaction History"]}),!!C&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:p===4,onClick:function(){function V(){return N(4)}return V}(),children:[(0,e.createComponentVNode)(2,o.Icon,{mr:1,name:"list"}),"Supply Orders"]})]})},S=function(d,s){var i=(0,t.useLocalState)(s,"tabIndex",1),h=i[0],C=(0,t.useBackend)(s),v=C.data,p=v.db_status;if(!p)return(0,e.createComponentVNode)(2,o.Box,{children:"Account Database Connection Severed"});switch(h){case 1:return(0,e.createComponentVNode)(2,I);case 2:return(0,e.createComponentVNode)(2,k);case 3:return(0,e.createComponentVNode)(2,g);case 4:return(0,e.createComponentVNode)(2,m);default:return"You are somehow on a tab that doesn't exist! Please let a coder know."}},I=function(d,s){var i,h=(0,t.useBackend)(s),C=h.act,v=h.data,p=v.requests,N=v.available_accounts,V=v.money,y=(0,t.useLocalState)(s,"selectedAccount"),B=y[0],L=y[1],w=(0,t.useLocalState)(s,"transferAmount"),x=w[0],T=w[1],M=(0,t.useLocalState)(s,"searchText",""),O=M[0],D=M[1],E=[];return N.map(function(P){return E[P.name]=P.UID}),(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account",children:[(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by account name",onInput:function(){function P(R,j){return D(j)}return P}()}),(0,e.createComponentVNode)(2,o.Dropdown,{mt:.6,width:"190px",options:N.filter((0,a.createSearch)(O,function(P){return P.name})).map(function(P){return P.name}),selected:(i=N.filter(function(P){return P.UID===B})[0])==null?void 0:i.name,onSelected:function(){function P(R){return L(E[R])}return P}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Amount",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Up to 5000",onInput:function(){function P(R,j){return T(j)}return P}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,o.Button.Confirm,{bold:!0,icon:"paper-plane",width:"auto",disabled:V0&&i.map(function(C){return(0,e.createComponentVNode)(2,t.Box,{children:["#",C.Number,' - "',C.Name,'" for "',C.OrderedBy,'"']},C)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Approved Orders",children:s>0&&d.map(function(C){return(0,e.createComponentVNode)(2,t.Box,{children:["#",C.Number,' - "',C.Name,'" for "',C.ApprovedBy,'"']},C)})})]})}return f}()},17617:function(A,r,n){"use strict";r.__esModule=!0,r.Layout=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(24826),f=["className","theme","children"],b=["className","scrollable","children"];/** + */var b=r.goonstation_PTL=function(){function g(d,c){var m=(0,a.useBackend)(c),l=m.data,u=l.total_earnings,s=l.total_energy,i=l.name,h=i===void 0?"Power Transmission Laser":i;return(0,e.createComponentVNode)(2,f.Window,{title:"Power Transmission Laser",width:"310",height:"485",children:(0,e.createComponentVNode)(2,f.Window.Content,{children:[(0,e.createComponentVNode)(2,S),(0,e.createComponentVNode)(2,I),(0,e.createComponentVNode)(2,k),(0,e.createComponentVNode)(2,t.NoticeBox,{success:!0,children:["Earned Credits : ",u?(0,o.formatMoney)(u):0]}),(0,e.createComponentVNode)(2,t.NoticeBox,{success:!0,children:["Energy Sold : ",s?(0,o.formatSiUnit)(s,0,"J"):"0 J"]})]})})}return g}(),S=function(d,c){var m=(0,a.useBackend)(c),l=m.data,u=l.max_capacity,s=l.held_power,i=l.input_total,h=l.max_grid_load;return(0,e.createComponentVNode)(2,t.Section,{title:"Status",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Reserve energy",children:s?(0,o.formatSiUnit)(s,0,"J"):"0 J"})}),(0,e.createComponentVNode)(2,t.ProgressBar,{mt:"0.5em",mb:"0.5em",ranges:{good:[.8,1/0],average:[.5,.8],bad:[-1/0,.5]},value:s/u}),(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Grid Saturation"})}),(0,e.createComponentVNode)(2,t.ProgressBar,{mt:"0.5em",ranges:{good:[.8,1/0],average:[.5,.8],bad:[-1/0,.5]},value:Math.min(i,u-s)/h})]})},I=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.input_total,i=u.accepting_power,h=u.sucking_power,C=u.input_number,v=u.power_format;return(0,e.createComponentVNode)(2,t.Section,{title:"Input Controls",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input Circuit",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",color:i?"green":"red",onClick:function(){function p(){return l("toggle_input")}return p}(),children:i?"Enabled":"Disabled"}),children:(0,e.createComponentVNode)(2,t.Box,{color:h&&"good"||i&&"average"||"bad",children:h&&"Online"||i&&"Idle"||"Offline"})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input Level",children:s?(0,o.formatPower)(s):"0 W"})]}),(0,e.createComponentVNode)(2,t.Box,{mt:"0.5em",children:[(0,e.createComponentVNode)(2,t.NumberInput,{mr:"0.5em",animated:!0,size:1.25,inline:!0,step:1,stepPixelSize:2,minValue:0,maxValue:999,value:C,onChange:function(){function p(N,V){return l("set_input",{set_input:V})}return p}()}),(0,e.createComponentVNode)(2,t.Button,{selected:v===1,onClick:function(){function p(){return l("inputW")}return p}(),children:"W"}),(0,e.createComponentVNode)(2,t.Button,{selected:v===Math.pow(10,3),onClick:function(){function p(){return l("inputKW")}return p}(),children:"KW"}),(0,e.createComponentVNode)(2,t.Button,{selected:v===Math.pow(10,6),onClick:function(){function p(){return l("inputMW")}return p}(),children:"MW"}),(0,e.createComponentVNode)(2,t.Button,{selected:v===Math.pow(10,9),onClick:function(){function p(){return l("inputGW")}return p}(),children:"GW"})]})]})},k=function(d,c){var m=(0,a.useBackend)(c),l=m.act,u=m.data,s=u.output_total,i=u.firing,h=u.accepting_power,C=u.output_number,v=u.output_multiplier,p=u.target,N=u.held_power;return(0,e.createComponentVNode)(2,t.Section,{title:"Output Controls",children:[(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Laser Circuit",buttons:(0,e.createComponentVNode)(2,t.Stack,{Horizontal:!0,children:[(0,e.createComponentVNode)(2,t.Button,{icon:"crosshairs",color:p===""?"green":"red",onClick:function(){function V(){return l("target")}return V}(),children:p}),(0,e.createComponentVNode)(2,t.Button,{icon:"power-off",color:i?"green":"red",disabled:!i&&Nu,onClick:function(){function y(){return k("purchaseSoftware",{key:V.key})}return y}()},V.key)}),c.filter(function(V){return!N[V.key]}).length===0&&"No software available!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Installed Software",children:[m.filter(function(V){return V.key!=="mainmenu"}).map(function(V){return(0,e.createComponentVNode)(2,t.Button,{content:V.name,icon:V.icon,onClick:function(){function y(){return k("startSoftware",{software_key:V.key})}return y}()},V.key)}),m.length===0&&"No software installed!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Installed Toggles",children:[l.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{content:V.name,icon:V.icon,selected:V.active,onClick:function(){function y(){return k("setToggle",{toggle_key:V.key})}return y}()},V.key)}),l.length===0&&"No toggles installed!"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Emotion",children:s.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{content:V.name,selected:V.id===i,onClick:function(){function y(){return k("setEmotion",{emotion:V.id})}return y}()},V.id)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Speaking State",children:h.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{content:V.name,selected:V.name===C,onClick:function(){function y(){return k("setSpeechStyle",{speech_state:V.name})}return y}()},V.id)})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Select Chassis Type",children:v.map(function(V){return(0,e.createComponentVNode)(2,t.Button,{content:V.name,selected:V.icon===p,onClick:function(){function y(){return k("setChassis",{chassis_to_change:V.icon})}return y}()},V.id)})})]})})}return f}()},2983:function(A,r,n){"use strict";r.__esModule=!0,r.pai_manifest=void 0;var e=n(89005),a=n(72253),t=n(41874),o=r.pai_manifest=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data;return(0,e.createComponentVNode)(2,t.CrewManifest,{data:g.app_data})}return f}()},40758:function(A,r,n){"use strict";r.__esModule=!0,r.pai_medrecords=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pai_medrecords=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:k.app_data,recordType:"MED"})}return f}()},98599:function(A,r,n){"use strict";r.__esModule=!0,r.pai_messenger=void 0;var e=n(89005),a=n(72253),t=n(77595),o=r.pai_messenger=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,d=g.app_data.active_convo;return d?(0,e.createComponentVNode)(2,t.ActiveConversation,{data:g.app_data}):(0,e.createComponentVNode)(2,t.MessengerList,{data:g.app_data})}return f}()},50775:function(A,r,n){"use strict";r.__esModule=!0,r.pai_radio=void 0;var e=n(89005),a=n(72253),t=n(44879),o=n(36036),f=r.pai_radio=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.app_data,m=c.minFrequency,l=c.maxFrequency,u=c.frequency,s=c.broadcasting;return(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Frequency",children:[(0,e.createComponentVNode)(2,o.NumberInput,{animate:!0,step:.2,stepPixelSize:6,minValue:m/10,maxValue:l/10,value:u/10,format:function(){function i(h){return(0,t.toFixed)(h,1)}return i}(),onChange:function(){function i(h,C){return g("freq",{freq:C})}return i}()}),(0,e.createComponentVNode)(2,o.Button,{tooltip:"Reset",icon:"undo",onClick:function(){function i(){return g("freq",{freq:"145.9"})}return i}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Broadcast Nearby Speech",children:(0,e.createComponentVNode)(2,o.Button,{onClick:function(){function i(){return g("toggleBroadcast")}return i}(),selected:s,content:s?"Enabled":"Disabled"})})]})}return b}()},48623:function(A,r,n){"use strict";r.__esModule=!0,r.pai_secrecords=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pai_secrecords=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:k.app_data,recordType:"SEC"})}return f}()},47297:function(A,r,n){"use strict";r.__esModule=!0,r.pai_signaler=void 0;var e=n(89005),a=n(72253),t=n(13545),o=r.pai_signaler=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data;return(0,e.createComponentVNode)(2,t.Signaler,{data:g.app_data})}return f}()},78532:function(A,r,n){"use strict";r.__esModule=!0,r.pda_atmos_scan=void 0;var e=n(89005),a=n(72253),t=n(26991),o=r.pda_atmos_scan=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data;return(0,e.createComponentVNode)(2,t.AtmosScan,{data:k})}return f}()},2395:function(A,r,n){"use strict";r.__esModule=!0,r.pda_games=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(1331),f=r.pda_games=function(){function b(S,I){var k=(0,a.useBackend)(I),g=k.act,d=k.data,c=d.games,m=function(){function l(u){switch(u){case"Minesweeper":return(0,e.createComponentVNode)(2,o.IconStack,{children:[(0,e.createComponentVNode)(2,o.Icon,{ml:"0",mt:"10px",name:"flag",size:"6",color:"gray",rotation:30}),(0,e.createComponentVNode)(2,o.Icon,{ml:"9px",mt:"23px",name:"bomb",size:"3",color:"black"})]});default:return(0,e.createComponentVNode)(2,o.Icon,{ml:"16px",mt:"10px",name:"gamepad",size:"6"})}}return l}();return(0,e.createComponentVNode)(2,t.Box,{children:c.map(function(l){return(0,e.createComponentVNode)(2,t.Button,{width:"33%",textAlign:"center",translucent:!0,onClick:function(){function u(){return g("play",{id:l.id})}return u}(),children:[m(l.name),(0,e.createComponentVNode)(2,t.Box,{children:l.name})]},l.name)})})}return b}()},40253:function(A,r,n){"use strict";r.__esModule=!0,r.pda_janitor=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_janitor=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data,d=g.janitor,c=d.user_loc,m=d.mops,l=d.buckets,u=d.cleanbots,s=d.carts,i=d.janicarts;return(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Location",children:[c.x,",",c.y]}),m&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mop Locations",children:m.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:[h.x,",",h.y," (",h.dir,") - ",h.status]},h)})}),l&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Mop Bucket Locations",children:l.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:[h.x,",",h.y," (",h.dir,") - [",h.volume,"/",h.max_volume,"]"]},h)})}),u&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Cleanbot Locations",children:u.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:[h.x,",",h.y," (",h.dir,") - ",h.status]},h)})}),s&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Janitorial Cart Locations",children:s.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:[h.x,",",h.y," (",h.dir,") - [",h.volume,"/",h.max_volume,"]"]},h)})}),i&&(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Janicart Locations",children:i.map(function(h){return(0,e.createComponentVNode)(2,t.Box,{children:[h.x,",",h.y," (",h.direction_from_user,")"]},h)})})]})}return f}()},58293:function(A,r,n){"use strict";r.__esModule=!0,r.pda_main_menu=void 0;var e=n(89005),a=n(44879),t=n(72253),o=n(36036),f=r.pda_main_menu=function(){function b(S,I){var k=(0,t.useBackend)(I),g=k.act,d=k.data,c=d.owner,m=d.ownjob,l=d.idInserted,u=d.categories,s=d.pai,i=d.notifying;return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Owner",color:"average",children:[c,", ",m]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"ID",children:(0,e.createComponentVNode)(2,o.Button,{icon:"sync",content:"Update PDA Info",disabled:!l,onClick:function(){function h(){return g("UpdateInfo")}return h}()})})]})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:(0,e.createComponentVNode)(2,o.Section,{title:"Functions",children:(0,e.createComponentVNode)(2,o.LabeledList,{children:u.map(function(h){var C=d.apps[h];return!C||!C.length?null:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:h,children:C.map(function(v){return(0,e.createComponentVNode)(2,o.Button,{icon:v.uid in i?v.notify_icon:v.icon,iconSpin:v.uid in i,color:v.uid in i?"red":"transparent",content:v.name,onClick:function(){function p(){return g("StartProgram",{program:v.uid})}return p}()},v.uid)})},h)})})})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!s&&(0,e.createComponentVNode)(2,o.Section,{title:"pAI",children:[(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"cog",content:"Configuration",onClick:function(){function h(){return g("pai",{option:1})}return h}()}),(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"eject",content:"Eject pAI",onClick:function(){function h(){return g("pai",{option:2})}return h}()})]})})]})}return b}()},58059:function(A,r,n){"use strict";r.__esModule=!0,r.pda_manifest=void 0;var e=n(89005),a=n(72253),t=n(41874),o=r.pda_manifest=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.act,g=I.data;return(0,e.createComponentVNode)(2,t.CrewManifest)}return f}()},18147:function(A,r,n){"use strict";r.__esModule=!0,r.pda_medical=void 0;var e=n(89005),a=n(72253),t=n(41984),o=r.pda_medical=function(){function f(b,S){var I=(0,a.useBackend)(S),k=I.data;return(0,e.createComponentVNode)(2,t.SimpleRecords,{data:k,recordType:"MED"})}return f}()},77595:function(A,r,n){"use strict";r.__esModule=!0,r.pda_messenger=r.MessengerList=r.ActiveConversation=void 0;var e=n(89005),a=n(88510),t=n(72253),o=n(36036),f=r.pda_messenger=function(){function k(g,d){var c=(0,t.useBackend)(d),m=c.act,l=c.data,u=l.active_convo;return u?(0,e.createComponentVNode)(2,b,{data:l}):(0,e.createComponentVNode)(2,S,{data:l})}return k}(),b=r.ActiveConversation=function(){function k(g,d){var c=(0,t.useBackend)(d),m=c.act,l=g.data,u=l.convo_name,s=l.convo_job,i=l.messages,h=l.active_convo,C=(0,t.useLocalState)(d,"clipboardMode",!1),v=C[0],p=C[1],N=(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Conversation with "+u+" ("+s+")",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"eye",selected:v,tooltip:"Enter Clipboard Mode",tooltipPosition:"bottom-start",onClick:function(){function V(){return p(!v)}return V}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function V(){return m("Message",{target:h})}return V}(),content:"Reply"})],4),children:(0,a.filter)(function(V){return V.target===h})(i).map(function(V,y){return(0,e.createComponentVNode)(2,o.Box,{textAlign:V.sent?"right":"left",position:"relative",mb:1,children:[(0,e.createComponentVNode)(2,o.Icon,{fontSize:2.5,color:V.sent?"#4d9121":"#cd7a0d",position:"absolute",left:V.sent?null:"0px",right:V.sent?"0px":null,bottom:"-4px",style:{"z-index":"0",transform:V.sent?"scale(-1, 1)":null},name:"comment"}),(0,e.createComponentVNode)(2,o.Box,{inline:!0,backgroundColor:V.sent?"#4d9121":"#cd7a0d",p:1,maxWidth:"100%",position:"relative",textAlign:V.sent?"left":"right",style:{"z-index":"1","border-radius":"10px","word-break":"normal"},children:[V.sent?"You:":"Them:"," ",V.message]})]},y)})});return v&&(N=(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:"Conversation with "+u+" ("+s+")",buttons:(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Button,{icon:"eye",selected:v,tooltip:"Exit Clipboard Mode",tooltipPosition:"bottom-start",onClick:function(){function V(){return p(!v)}return V}()}),(0,e.createComponentVNode)(2,o.Button,{icon:"comment",onClick:function(){function V(){return m("Message",{target:h})}return V}(),content:"Reply"})],4),children:(0,a.filter)(function(V){return V.target===h})(i).map(function(V,y){return(0,e.createComponentVNode)(2,o.Box,{color:V.sent?"#4d9121":"#cd7a0d",style:{"word-break":"normal"},children:[V.sent?"You:":"Them:"," ",(0,e.createComponentVNode)(2,o.Box,{inline:!0,children:V.message})]},y)})})),(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{mb:.5,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Messenger Functions",children:(0,e.createComponentVNode)(2,o.Button.Confirm,{content:"Delete Conversations",confirmContent:"Are you sure?",icon:"trash",confirmIcon:"trash",onClick:function(){function V(){return m("Clear",{option:"Convo"})}return V}()})})})}),N]})}return k}(),S=r.MessengerList=function(){function k(g,d){var c=(0,t.useBackend)(d),m=c.act,l=g.data,u=l.convopdas,s=l.pdas,i=l.charges,h=l.silent,C=l.toff,v=l.ringtone_list,p=l.ringtone,N=(0,t.useLocalState)(d,"searchTerm",""),V=N[0],y=N[1];return(0,e.createComponentVNode)(2,o.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{mb:5,children:[(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Messenger Functions",children:[(0,e.createComponentVNode)(2,o.Button,{selected:!h,icon:h?"volume-mute":"volume-up",onClick:function(){function B(){return m("Toggle Ringer")}return B}(),children:["Ringer: ",h?"Off":"On"]}),(0,e.createComponentVNode)(2,o.Button,{color:C?"bad":"green",icon:"power-off",onClick:function(){function B(){return m("Toggle Messenger")}return B}(),children:["Messenger: ",C?"Off":"On"]}),(0,e.createComponentVNode)(2,o.Button,{icon:"trash",color:"bad",onClick:function(){function B(){return m("Clear",{option:"All"})}return B}(),children:"Delete All Conversations"}),(0,e.createComponentVNode)(2,o.Button,{icon:"bell",onClick:function(){function B(){return m("Ringtone")}return B}(),children:"Set Custom Ringtone"}),(0,e.createComponentVNode)(2,o.Dropdown,{selected:p,width:"100px",options:Object.keys(v),onSelected:function(){function B(L){return m("Available_Ringtones",{selected_ringtone:L})}return B}()})]})}),!C&&(0,e.createComponentVNode)(2,o.Box,{children:[!!i&&(0,e.createComponentVNode)(2,o.Box,{mt:.5,mb:1,children:(0,e.createComponentVNode)(2,o.LabeledList,{children:(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Cartridge Special Function",children:[i," charges left."]})})}),!u.length&&!s.length&&(0,e.createComponentVNode)(2,o.Box,{children:"No current conversations"})||(0,e.createComponentVNode)(2,o.Box,{children:["Search:"," ",(0,e.createComponentVNode)(2,o.Input,{mt:.5,value:V,onInput:function(){function B(L,w){y(w)}return B}()})]})]})||(0,e.createComponentVNode)(2,o.Box,{color:"bad",children:"Messenger Offline."})]}),(0,e.createComponentVNode)(2,I,{title:"Current Conversations",data:l,pdas:u,msgAct:"Select Conversation",searchTerm:V}),(0,e.createComponentVNode)(2,I,{title:"Other PDAs",pdas:s,msgAct:"Message",data:l,searchTerm:V})]})}return k}(),I=function(g,d){var c=(0,t.useBackend)(d),m=c.act,l=g.data,u=g.pdas,s=g.title,i=g.msgAct,h=g.searchTerm,C=l.charges,v=l.plugins;return!u||!u.length?(0,e.createComponentVNode)(2,o.Section,{title:s,children:"No PDAs found."}):(0,e.createComponentVNode)(2,o.Section,{fill:!0,scrollable:!0,title:s,children:u.filter(function(p){return p.Name.toLowerCase().includes(h.toLowerCase())}).map(function(p){return(0,e.createComponentVNode)(2,o.Stack,{m:.5,children:[(0,e.createComponentVNode)(2,o.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,o.Button,{fluid:!0,icon:"arrow-circle-down",content:p.Name,onClick:function(){function N(){return m(i,{target:p.uid})}return N}()})}),(0,e.createComponentVNode)(2,o.Stack.Item,{children:!!C&&v.map(function(N){return(0,e.createComponentVNode)(2,o.Button,{icon:N.icon,content:N.name,onClick:function(){function V(){return m("Messenger Plugin",{plugin:N.uid,target:p.uid})}return V}()},N.uid)})})]},p.uid)})})}},90382:function(A,r,n){"use strict";r.__esModule=!0,r.pda_minesweeper=r.MineSweeperLeaderboard=r.MineSweeperGame=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_minesweeper=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=(0,a.useLocalState)(g,"window","Game"),u=l[0],s=l[1],i={Game:"Leaderboard",Leaderboard:"Game"};return(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,textAlign:"center",children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:u==="Game"?(0,e.createComponentVNode)(2,f):(0,e.createComponentVNode)(2,b)}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:!0,fontSize:2,lineHeight:1.75,icon:u==="Game"?"book":"gamepad",onClick:function(){function h(){return s(i[u])}return h}(),children:i[u]})})]})}return I}(),f=r.MineSweeperGame=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.matrix,u=m.flags,s=m.bombs,i={1:"blue",2:"green",3:"red",4:"darkblue",5:"brown",6:"lightblue",7:"black",8:"white"},h=function(){function C(v,p,N){c("Square",{X:v,Y:p,mode:N})}return C}();return(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:Object.keys(l).map(function(C){return(0,e.createComponentVNode)(2,t.Box,{children:Object.keys(l[C]).map(function(v){return(0,e.createComponentVNode)(2,t.Button,{m:.25,height:2,width:2,className:l[C][v].open?"Minesweeper__open":"Minesweeper__closed",bold:!0,color:"transparent",icon:l[C][v].open?l[C][v].bomb?"bomb":"":l[C][v].flag?"flag":"",textColor:l[C][v].open?l[C][v].bomb?"black":i[l[C][v].around]:l[C][v].flag?"red":"gray",onClick:function(){function p(N){return h(C,v,"bomb")}return p}(),onContextMenu:function(){function p(N){event.preventDefault(),h(C,v,"flag")}return p}(),children:l[C][v].open&&!l[C][v].bomb&&l[C][v].around?l[C][v].around:" "},v)})},C)})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,className:"Minesweeper__infobox",children:(0,e.createComponentVNode)(2,t.Stack,{vertical:!0,textAlign:"left",pt:1,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{pl:2,fontSize:2,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"bomb",color:"gray"})," : ",s]}),(0,e.createComponentVNode)(2,t.Stack.Divider),(0,e.createComponentVNode)(2,t.Stack.Item,{pl:2,fontSize:2,children:[(0,e.createComponentVNode)(2,t.Icon,{name:"flag",color:"red"})," : ",u]})]})})]})}return I}(),b=r.MineSweeperLeaderboard=function(){function I(k,g){var d=(0,a.useBackend)(g),c=d.act,m=d.data,l=m.leaderboard,u=(0,a.useLocalState)(g,"sortId","time"),s=u[0],i=u[1],h=(0,a.useLocalState)(g,"sortOrder",!1),C=h[0],v=h[1];return(0,e.createComponentVNode)(2,t.Table,{className:"Minesweeper__list",children:[(0,e.createComponentVNode)(2,t.Table.Row,{bold:!0,children:[(0,e.createComponentVNode)(2,S,{id:"name",children:"Nick"}),(0,e.createComponentVNode)(2,S,{id:"time",children:"Time"})]}),l&&l.sort(function(p,N){var V=C?1:-1;return p[s].localeCompare(N[s])*V}).map(function(p,N){return(0,e.createComponentVNode)(2,t.Table.Row,{children:[(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.name}),(0,e.createComponentVNode)(2,t.Table.Cell,{children:p.time})]},N)})]})}return I}(),S=function(k,g){var d=(0,a.useLocalState)(g,"sortId","time"),c=d[0],m=d[1],l=(0,a.useLocalState)(g,"sortOrder",!1),u=l[0],s=l[1],i=k.id,h=k.children;return(0,e.createComponentVNode)(2,t.Table.Cell,{children:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,color:"transparent",onClick:function(){function C(){c===i?s(!u):(m(i),s(!0))}return C}(),children:[h,c===i&&(0,e.createComponentVNode)(2,t.Icon,{name:u?"sort-up":"sort-down",ml:"0.25rem;"})]})})}},24635:function(A,r,n){"use strict";r.__esModule=!0,r.pda_mule=void 0;var e=n(89005),a=n(72253),t=n(36036),o=r.pda_mule=function(){function S(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.mulebot,l=m.active;return(0,e.createComponentVNode)(2,t.Box,{children:l?(0,e.createComponentVNode)(2,b):(0,e.createComponentVNode)(2,f)})}return S}(),f=function(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.mulebot,l=m.bots;return l.map(function(u){return(0,e.createComponentVNode)(2,t.Box,{children:(0,e.createComponentVNode)(2,t.Button,{content:u.Name,icon:"cog",onClick:function(){function s(){return d("control",{bot:u.uid})}return s}()})},u.Name)})},b=function(I,k){var g=(0,a.useBackend)(k),d=g.act,c=g.data,m=c.mulebot,l=m.botstatus,u=m.active,s=l.mode,i=l.loca,h=l.load,C=l.powr,v=l.dest,p=l.home,N=l.retn,V=l.pick,y;switch(s){case 0:y="Ready";break;case 1:y="Loading/Unloading";break;case 2:case 12:y="Navigating to delivery location";break;case 3:y="Navigating to Home";break;case 4:y="Waiting for clear path";break;case 5:case 6:y="Calculating navigation path";break;case 7:y="Unable to locate destination";break;default:y=s;break}return(0,e.createComponentVNode)(2,t.Section,{title:u,children:[s===-1&&(0,e.createComponentVNode)(2,t.Box,{color:"red",bold:!0,children:"Waiting for response..."}),(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Location",children:i}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Status",children:y}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Power",children:[C,"%"]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Home",children:p}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Destination",children:(0,e.createComponentVNode)(2,t.Button,{content:v?v+" (Set)":"None (Set)",onClick:function(){function B(){return d("target")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Current Load",children:(0,e.createComponentVNode)(2,t.Button,{content:h?h+" (Unload)":"None",disabled:!h,onClick:function(){function B(){return d("unload")}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto Pickup",children:(0,e.createComponentVNode)(2,t.Button,{content:V?"Yes":"No",selected:V,onClick:function(){function B(){return d("set_pickup_type",{autopick:V?0:1})}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Auto Return",children:(0,e.createComponentVNode)(2,t.Button,{content:N?"Yes":"No",selected:N,onClick:function(){function B(){return d("set_auto_return",{autoret:N?0:1})}return B}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Controls",children:[(0,e.createComponentVNode)(2,t.Button,{content:"Stop",icon:"stop",onClick:function(){function B(){return d("stop")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Proceed",icon:"play",onClick:function(){function B(){return d("start")}return B}()}),(0,e.createComponentVNode)(2,t.Button,{content:"Return Home",icon:"home",onClick:function(){function B(){return d("home")}return B}()})]})]})]})}},23734:function(A,r,n){"use strict";r.__esModule=!0,r.pda_nanobank=void 0;var e=n(89005),a=n(25328),t=n(72253),o=n(36036),f=r.pda_nanobank=function(){function l(u,s){var i=(0,t.useBackend)(s),h=i.act,C=i.data,v=C.logged_in,p=C.owner_name,N=C.money;return v?(0,e.createFragment)([(0,e.createComponentVNode)(2,o.Box,{children:(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Name",children:p}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account Balance",children:["$",N]})]})}),(0,e.createComponentVNode)(2,o.Box,{children:[(0,e.createComponentVNode)(2,b),(0,e.createComponentVNode)(2,S)]})],4):(0,e.createComponentVNode)(2,d)}return l}(),b=function(u,s){var i=(0,t.useBackend)(s),h=i.data,C=h.is_premium,v=(0,t.useLocalState)(s,"tabIndex",1),p=v[0],N=v[1];return(0,e.createComponentVNode)(2,o.Tabs,{mt:2,children:[(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:p===1,onClick:function(){function V(){return N(1)}return V}(),children:[(0,e.createComponentVNode)(2,o.Icon,{mr:1,name:"list"}),"Transfers"]}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:p===2,onClick:function(){function V(){return N(2)}return V}(),children:[(0,e.createComponentVNode)(2,o.Icon,{mr:1,name:"list"}),"Account Actions"]}),(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:p===3,onClick:function(){function V(){return N(3)}return V}(),children:[(0,e.createComponentVNode)(2,o.Icon,{mr:1,name:"list"}),"Transaction History"]}),!!C&&(0,e.createComponentVNode)(2,o.Tabs.Tab,{selected:p===4,onClick:function(){function V(){return N(4)}return V}(),children:[(0,e.createComponentVNode)(2,o.Icon,{mr:1,name:"list"}),"Supply Orders"]})]})},S=function(u,s){var i=(0,t.useLocalState)(s,"tabIndex",1),h=i[0],C=(0,t.useBackend)(s),v=C.data,p=v.db_status;if(!p)return(0,e.createComponentVNode)(2,o.Box,{children:"Account Database Connection Severed"});switch(h){case 1:return(0,e.createComponentVNode)(2,I);case 2:return(0,e.createComponentVNode)(2,k);case 3:return(0,e.createComponentVNode)(2,g);case 4:return(0,e.createComponentVNode)(2,m);default:return"You are somehow on a tab that doesn't exist! Please let a coder know."}},I=function(u,s){var i,h=(0,t.useBackend)(s),C=h.act,v=h.data,p=v.requests,N=v.available_accounts,V=v.money,y=(0,t.useLocalState)(s,"selectedAccount"),B=y[0],L=y[1],w=(0,t.useLocalState)(s,"transferAmount"),x=w[0],T=w[1],M=(0,t.useLocalState)(s,"searchText",""),O=M[0],D=M[1],E=[];return N.map(function(P){return E[P.name]=P.UID}),(0,e.createFragment)([(0,e.createComponentVNode)(2,o.LabeledList,{children:[(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Account",children:[(0,e.createComponentVNode)(2,o.Input,{placeholder:"Search by account name",onInput:function(){function P(R,j){return D(j)}return P}()}),(0,e.createComponentVNode)(2,o.Dropdown,{mt:.6,width:"190px",options:N.filter((0,a.createSearch)(O,function(P){return P.name})).map(function(P){return P.name}),selected:(i=N.filter(function(P){return P.UID===B})[0])==null?void 0:i.name,onSelected:function(){function P(R){return L(E[R])}return P}()})]}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Amount",children:(0,e.createComponentVNode)(2,o.Input,{placeholder:"Up to 5000",onInput:function(){function P(R,j){return T(j)}return P}()})}),(0,e.createComponentVNode)(2,o.LabeledList.Item,{label:"Actions",children:[(0,e.createComponentVNode)(2,o.Button.Confirm,{bold:!0,icon:"paper-plane",width:"auto",disabled:V0&&i.map(function(C){return(0,e.createComponentVNode)(2,t.Box,{children:["#",C.Number,' - "',C.Name,'" for "',C.OrderedBy,'"']},C)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Approved Orders",children:s>0&&u.map(function(C){return(0,e.createComponentVNode)(2,t.Box,{children:["#",C.Number,' - "',C.Name,'" for "',C.ApprovedBy,'"']},C)})})]})}return f}()},17617:function(A,r,n){"use strict";r.__esModule=!0,r.Layout=void 0;var e=n(89005),a=n(35840),t=n(55937),o=n(24826),f=["className","theme","children"],b=["className","scrollable","children"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function S(g,u){if(g==null)return{};var c={};for(var m in g)if({}.hasOwnProperty.call(g,m)){if(u.includes(m))continue;c[m]=g[m]}return c}var I=r.Layout=function(){function g(u){var c=u.className,m=u.theme,l=m===void 0?"nanotrasen":m,d=u.children,s=S(u,f);return document.documentElement.className="theme-"+l,(0,e.createVNode)(1,"div","theme-"+l,(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Layout",c].concat((0,t.computeBoxClassName)(s))),d,0,Object.assign({},(0,t.computeBoxProps)(s)))),2)}return g}(),k=function(u){var c=u.className,m=u.scrollable,l=u.children,d=S(u,b);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Layout__content",m&&"Layout__content--scrollable",c,(0,t.computeBoxClassName)(d)]),l,0,Object.assign({},(0,t.computeBoxProps)(d))))};k.defaultHooks={onComponentDidMount:function(){function g(u){return(0,o.addScrollableNode)(u)}return g}(),onComponentWillUnmount:function(){function g(u){return(0,o.removeScrollableNode)(u)}return g}()},I.Content=k},96945:function(A,r,n){"use strict";r.__esModule=!0,r.Pane=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(99851),b=n(17617),S=["theme","children","className"],I=["className","fitted","children"];/** + */function S(g,d){if(g==null)return{};var c={};for(var m in g)if({}.hasOwnProperty.call(g,m)){if(d.includes(m))continue;c[m]=g[m]}return c}var I=r.Layout=function(){function g(d){var c=d.className,m=d.theme,l=m===void 0?"nanotrasen":m,u=d.children,s=S(d,f);return document.documentElement.className="theme-"+l,(0,e.createVNode)(1,"div","theme-"+l,(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Layout",c].concat((0,t.computeBoxClassName)(s))),u,0,Object.assign({},(0,t.computeBoxProps)(s)))),2)}return g}(),k=function(d){var c=d.className,m=d.scrollable,l=d.children,u=S(d,b);return(0,e.normalizeProps)((0,e.createVNode)(1,"div",(0,a.classes)(["Layout__content",m&&"Layout__content--scrollable",c,(0,t.computeBoxClassName)(u)]),l,0,Object.assign({},(0,t.computeBoxProps)(u))))};k.defaultHooks={onComponentDidMount:function(){function g(d){return(0,o.addScrollableNode)(d)}return g}(),onComponentWillUnmount:function(){function g(d){return(0,o.removeScrollableNode)(d)}return g}()},I.Content=k},96945:function(A,r,n){"use strict";r.__esModule=!0,r.Pane=void 0;var e=n(89005),a=n(35840),t=n(72253),o=n(36036),f=n(99851),b=n(17617),S=["theme","children","className"],I=["className","fitted","children"];/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */function k(c,m){if(c==null)return{};var l={};for(var d in c)if({}.hasOwnProperty.call(c,d)){if(m.includes(d))continue;l[d]=c[d]}return l}var g=r.Pane=function(){function c(m,l){var d=m.theme,s=m.children,i=m.className,h=k(m,S),C=(0,t.useBackend)(l),v=C.suspended,p=(0,f.useDebug)(l),N=p.debugLayout;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,b.Layout,Object.assign({className:(0,a.classes)(["Window",i]),theme:d},h,{children:(0,e.createComponentVNode)(2,o.Box,{fillPositionedParent:!0,className:N&&"debug-layout",children:!v&&s})})))}return c}(),u=function(m){var l=m.className,d=m.fitted,s=m.children,i=k(m,I);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,b.Layout.Content,Object.assign({className:(0,a.classes)(["Window__content",l])},i,{children:d&&s||(0,e.createVNode)(1,"div","Window__contentPadding",s,0)})))};g.Content=u},34827:function(A,r,n){"use strict";r.__esModule=!0,r.Window=void 0;var e=n(89005),a=n(35840),t=n(85307),o=n(25328),f=n(72253),b=n(36036),S=n(76910),I=n(99851),k=n(77384),g=n(35421),u=n(9394),c=n(17617),m=["className","fitted","children"];function l(V,y){if(V==null)return{};var B={};for(var L in V)if({}.hasOwnProperty.call(V,L)){if(y.includes(L))continue;B[L]=V[L]}return B}function d(V,y){V.prototype=Object.create(y.prototype),V.prototype.constructor=V,s(V,y)}function s(V,y){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(B,L){return B.__proto__=L,B},s(V,y)}/** + */function k(c,m){if(c==null)return{};var l={};for(var u in c)if({}.hasOwnProperty.call(c,u)){if(m.includes(u))continue;l[u]=c[u]}return l}var g=r.Pane=function(){function c(m,l){var u=m.theme,s=m.children,i=m.className,h=k(m,S),C=(0,t.useBackend)(l),v=C.suspended,p=(0,f.useDebug)(l),N=p.debugLayout;return(0,e.normalizeProps)((0,e.createComponentVNode)(2,b.Layout,Object.assign({className:(0,a.classes)(["Window",i]),theme:u},h,{children:(0,e.createComponentVNode)(2,o.Box,{fillPositionedParent:!0,className:N&&"debug-layout",children:!v&&s})})))}return c}(),d=function(m){var l=m.className,u=m.fitted,s=m.children,i=k(m,I);return(0,e.normalizeProps)((0,e.createComponentVNode)(2,b.Layout.Content,Object.assign({className:(0,a.classes)(["Window__content",l])},i,{children:u&&s||(0,e.createVNode)(1,"div","Window__contentPadding",s,0)})))};g.Content=d},34827:function(A,r,n){"use strict";r.__esModule=!0,r.Window=void 0;var e=n(89005),a=n(35840),t=n(85307),o=n(25328),f=n(72253),b=n(36036),S=n(76910),I=n(99851),k=n(77384),g=n(35421),d=n(9394),c=n(17617),m=["className","fitted","children"];function l(V,y){if(V==null)return{};var B={};for(var L in V)if({}.hasOwnProperty.call(V,L)){if(y.includes(L))continue;B[L]=V[L]}return B}function u(V,y){V.prototype=Object.create(y.prototype),V.prototype.constructor=V,s(V,y)}function s(V,y){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(B,L){return B.__proto__=L,B},s(V,y)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var i=(0,u.createLogger)("Window"),h=[400,600],C=r.Window=function(V){function y(){return V.apply(this,arguments)||this}d(y,V);var B=y.prototype;return B.componentDidMount=function(){function L(){var w=(0,f.useBackend)(this.context),x=w.suspended;x||(i.log("mounting"),this.updateGeometry())}return L}(),B.componentDidUpdate=function(){function L(w){var x=this.props.width!==w.width||this.props.height!==w.height;x&&this.updateGeometry()}return L}(),B.updateGeometry=function(){function L(){var w,x=(0,f.useBackend)(this.context),T=x.config,M=Object.assign({size:h},T.window);this.props.width&&this.props.height&&(M.size=[this.props.width,this.props.height]),(w=T.window)!=null&&w.key&&(0,g.setWindowKey)(T.window.key),(0,g.recallWindowGeometry)(M)}return L}(),B.render=function(){function L(){var w,x=this.props,T=x.theme,M=x.title,O=x.children,D=(0,f.useBackend)(this.context),E=D.config,P=D.suspended,R=(0,I.useDebug)(this.context),j=R.debugLayout,F=(0,t.useDispatch)(this.context),W=(w=E.window)==null?void 0:w.fancy,z=E.user&&(E.user.observer?E.status2?m-2:0),d=2;d=o){var s=[c].concat(l).map(function(i){return typeof i=="string"?i:i instanceof Error?i.stack||String(i):JSON.stringify(i)}).filter(function(i){return i}).join(" ")+"\nUser Agent: "+navigator.userAgent;Byond.sendMessage({type:"log",message:s})}},I=r.createLogger=function(){function g(u){return{debug:function(){function c(){for(var m=arguments.length,l=new Array(m),d=0;d2?m-2:0),u=2;u=o){var s=[c].concat(l).map(function(i){return typeof i=="string"?i:i instanceof Error?i.stack||String(i):JSON.stringify(i)}).filter(function(i){return i}).join(" ")+"\nUser Agent: "+navigator.userAgent;Byond.sendMessage({type:"log",message:s})}},I=r.createLogger=function(){function g(d){return{debug:function(){function c(){for(var m=arguments.length,l=new Array(m),u=0;u0;){var p=C.shift(),N=p(h);try{v=b(N)}catch(y){if(y.code!=="MODULE_NOT_FOUND")throw y}}if(!v)return S("notFound",h);var V=v[h];return V||S("missingExport",h)}return u}()},72178:function(A,r,n){"use strict";r.__esModule=!0,r.configureStore=r.StoreProvider=void 0;var e=n(64795),a=n(85307),t=n(89005),o=n(79140),f=n(72253),b=n(99851),S=n(9394);function I(d,s){d.prototype=Object.create(s.prototype),d.prototype.constructor=d,k(d,s)}function k(d,s){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,h){return i.__proto__=h,i},k(d,s)}/** + */var b=n(32054),S=function(c,m){return function(){return(0,e.createComponentVNode)(2,f.Window,{children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0,children:[c==="notFound"&&(0,e.createVNode)(1,"div",null,[(0,e.createTextVNode)("Interface "),(0,e.createVNode)(1,"b",null,m,0),(0,e.createTextVNode)(" was not found.")],4),c==="missingExport"&&(0,e.createVNode)(1,"div",null,[(0,e.createTextVNode)("Interface "),(0,e.createVNode)(1,"b",null,m,0),(0,e.createTextVNode)(" is missing an export.")],4)]})})}},I=function(){return(0,e.createComponentVNode)(2,f.Window,{children:(0,e.createComponentVNode)(2,f.Window.Content,{scrollable:!0})})},k=function(){return(0,e.createComponentVNode)(2,f.Window,{height:130,title:"Loading",width:150,children:(0,e.createComponentVNode)(2,f.Window.Content,{children:(0,e.createComponentVNode)(2,t.Stack,{align:"center",fill:!0,justify:"center",vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{children:(0,e.createComponentVNode)(2,t.Icon,{color:"blue",name:"toolbox",spin:!0,size:4})}),(0,e.createComponentVNode)(2,t.Stack.Item,{children:"Please wait..."})]})})})},g=r.getRoutedComponent=function(){function d(c){var m=c.getState(),l=(0,a.selectBackend)(m),u=l.suspended,s=l.config;if(u)return I;if(s.refreshing)return k;if(0)var i;for(var h=s==null?void 0:s.interface,C=[function(y){return"./"+y+".tsx"},function(y){return"./"+y+".js"},function(y){return"./"+y+"/index.tsx"},function(y){return"./"+y+"/index.js"}],v;!v&&C.length>0;){var p=C.shift(),N=p(h);try{v=b(N)}catch(y){if(y.code!=="MODULE_NOT_FOUND")throw y}}if(!v)return S("notFound",h);var V=v[h];return V||S("missingExport",h)}return d}()},72178:function(A,r,n){"use strict";r.__esModule=!0,r.configureStore=r.StoreProvider=void 0;var e=n(64795),a=n(85307),t=n(89005),o=n(79140),f=n(72253),b=n(99851),S=n(9394);function I(u,s){u.prototype=Object.create(s.prototype),u.prototype.constructor=u,k(u,s)}function k(u,s){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,h){return i.__proto__=h,i},k(u,s)}/** * @file * @copyright 2020 Aleksej Komarov * @license MIT -*/var g=(0,S.createLogger)("store"),u=r.configureStore=function(){function d(s){var i,h;s===void 0&&(s={});var C=s,v=C.sideEffects,p=v===void 0?!0:v,N=(0,e.flow)([(0,a.combineReducers)({debug:b.debugReducer,backend:f.backendReducer}),s.reducer]),V=p?[].concat(((i=s.middleware)==null?void 0:i.pre)||[],[o.assetMiddleware,f.backendMiddleware],((h=s.middleware)==null?void 0:h.post)||[]):[],y=a.applyMiddleware.apply(void 0,V),B=(0,a.createStore)(N,y);return window.__store__=B,window.__augmentStack__=m(B),B}return d}(),c=function(s){return function(i){return function(h){var C=h.type,v=h.payload;return C==="update"||C==="backend/update"?g.debug("action",{type:C}):g.debug("action",h),i(h)}}},m=function(s){return function(i,h){var C,v;h?typeof h=="object"&&!h.stack&&(h.stack=i):(h=new Error(i.split("\n")[0]),h.stack=i),g.log("FatalError:",h);var p=s.getState(),N=p==null||(C=p.backend)==null?void 0:C.config,V=i;return V+="\nUser Agent: "+navigator.userAgent,V+="\nState: "+JSON.stringify({ckey:N==null||(v=N.client)==null?void 0:v.ckey,interface:N==null?void 0:N.interface,window:N==null?void 0:N.window}),V}},l=r.StoreProvider=function(d){function s(){return d.apply(this,arguments)||this}I(s,d);var i=s.prototype;return i.getChildContext=function(){function h(){var C=this.props.store;return{store:C}}return h}(),i.render=function(){function h(){return this.props.children}return h}(),s}(t.Component)},51364:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** +*/var g=(0,S.createLogger)("store"),d=r.configureStore=function(){function u(s){var i,h;s===void 0&&(s={});var C=s,v=C.sideEffects,p=v===void 0?!0:v,N=(0,e.flow)([(0,a.combineReducers)({debug:b.debugReducer,backend:f.backendReducer}),s.reducer]),V=p?[].concat(((i=s.middleware)==null?void 0:i.pre)||[],[o.assetMiddleware,f.backendMiddleware],((h=s.middleware)==null?void 0:h.post)||[]):[],y=a.applyMiddleware.apply(void 0,V),B=(0,a.createStore)(N,y);return window.__store__=B,window.__augmentStack__=m(B),B}return u}(),c=function(s){return function(i){return function(h){var C=h.type,v=h.payload;return C==="update"||C==="backend/update"?g.debug("action",{type:C}):g.debug("action",h),i(h)}}},m=function(s){return function(i,h){var C,v;h?typeof h=="object"&&!h.stack&&(h.stack=i):(h=new Error(i.split("\n")[0]),h.stack=i),g.log("FatalError:",h);var p=s.getState(),N=p==null||(C=p.backend)==null?void 0:C.config,V=i;return V+="\nUser Agent: "+navigator.userAgent,V+="\nState: "+JSON.stringify({ckey:N==null||(v=N.client)==null?void 0:v.ckey,interface:N==null?void 0:N.interface,window:N==null?void 0:N.window}),V}},l=r.StoreProvider=function(u){function s(){return u.apply(this,arguments)||this}I(s,u);var i=s.prototype;return i.getChildContext=function(){function h(){var C=this.props.store;return{store:C}}return h}(),i.render=function(){function h(){return this.props.children}return h}(),s}(t.Component)},51364:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT @@ -295,11 +295,11 @@ * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Button",render:function(){function I(){return(0,e.createComponentVNode)(2,S)}return I}()},f=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","gold"],b=["good","average","bad","black","white"],S=function(k,g){var u=(0,a.useLocalState)(g,"translucent",!1),c=u[0],m=u[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Box,{mb:1,children:[(0,e.createComponentVNode)(2,t.Button,{content:"Simple"}),(0,e.createComponentVNode)(2,t.Button,{selected:!0,content:"Selected"}),(0,e.createComponentVNode)(2,t.Button,{altSelected:!0,content:"Alt Selected"}),(0,e.createComponentVNode)(2,t.Button,{disabled:!0,content:"Disabled"}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",content:"Transparent"}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",content:"Icon"}),(0,e.createComponentVNode)(2,t.Button,{icon:"power-off"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Fluid"}),(0,e.createComponentVNode)(2,t.Button,{my:1,lineHeight:2,minWidth:15,textAlign:"center",content:"With Box props"})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Color States",buttons:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:c,onClick:function(){function l(){return m(!c)}return l}(),content:"Translucent"}),children:b.map(function(l){return(0,e.createComponentVNode)(2,t.Button,{translucent:c,color:l,content:l},l)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Available Colors",children:f.map(function(l){return(0,e.createComponentVNode)(2,t.Button,{translucent:c,color:l,content:l},l)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Text Colors",children:f.map(function(l){return(0,e.createComponentVNode)(2,t.Box,{inline:!0,mx:"7px",color:l,children:l},l)})})],4)}},51956:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(9394);/** + */var o=r.meta={title:"Button",render:function(){function I(){return(0,e.createComponentVNode)(2,S)}return I}()},f=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","gold"],b=["good","average","bad","black","white"],S=function(k,g){var d=(0,a.useLocalState)(g,"translucent",!1),c=d[0],m=d[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.Box,{mb:1,children:[(0,e.createComponentVNode)(2,t.Button,{content:"Simple"}),(0,e.createComponentVNode)(2,t.Button,{selected:!0,content:"Selected"}),(0,e.createComponentVNode)(2,t.Button,{altSelected:!0,content:"Alt Selected"}),(0,e.createComponentVNode)(2,t.Button,{disabled:!0,content:"Disabled"}),(0,e.createComponentVNode)(2,t.Button,{color:"transparent",content:"Transparent"}),(0,e.createComponentVNode)(2,t.Button,{icon:"cog",content:"Icon"}),(0,e.createComponentVNode)(2,t.Button,{icon:"power-off"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,content:"Fluid"}),(0,e.createComponentVNode)(2,t.Button,{my:1,lineHeight:2,minWidth:15,textAlign:"center",content:"With Box props"})]})}),(0,e.createComponentVNode)(2,t.Section,{title:"Color States",buttons:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:c,onClick:function(){function l(){return m(!c)}return l}(),content:"Translucent"}),children:b.map(function(l){return(0,e.createComponentVNode)(2,t.Button,{translucent:c,color:l,content:l},l)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Available Colors",children:f.map(function(l){return(0,e.createComponentVNode)(2,t.Button,{translucent:c,color:l,content:l},l)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Text Colors",children:f.map(function(l){return(0,e.createComponentVNode)(2,t.Box,{inline:!0,mx:"7px",color:l,children:l},l)})})],4)}},51956:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036),o=n(9394);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var f=r.meta={title:"ByondUi",render:function(){function S(){return(0,e.createComponentVNode)(2,b)}return S}()},b=function(I,k){var g=(0,a.useLocalState)(k,"byondUiEvalCode","Byond.winset('"+Byond.windowId+"', {\n 'is-visible': true,\n})"),u=g[0],c=g[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Button",children:(0,e.createComponentVNode)(2,t.ByondUi,{params:{type:"button",text:"Button"}})}),(0,e.createComponentVNode)(2,t.Section,{title:"Make BYOND calls",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",onClick:function(){function m(){return setTimeout(function(){try{var l=new Function("return ("+u+")")();l&&l.then?(o.logger.log("Promise"),l.then(o.logger.log)):o.logger.log(l)}catch(d){o.logger.log(d)}})}return m}(),children:"Evaluate"}),children:(0,e.createComponentVNode)(2,t.Box,{as:"textarea",width:"100%",height:"10em",onChange:function(){function m(l){return c(l.target.value)}return m}(),children:u})})],4)}},17466:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036),t=n(37168);/** + */var f=r.meta={title:"ByondUi",render:function(){function S(){return(0,e.createComponentVNode)(2,b)}return S}()},b=function(I,k){var g=(0,a.useLocalState)(k,"byondUiEvalCode","Byond.winset('"+Byond.windowId+"', {\n 'is-visible': true,\n})"),d=g[0],c=g[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{title:"Button",children:(0,e.createComponentVNode)(2,t.ByondUi,{params:{type:"button",text:"Button"}})}),(0,e.createComponentVNode)(2,t.Section,{title:"Make BYOND calls",buttons:(0,e.createComponentVNode)(2,t.Button,{icon:"chevron-right",onClick:function(){function m(){return setTimeout(function(){try{var l=new Function("return ("+d+")")();l&&l.then?(o.logger.log("Promise"),l.then(o.logger.log)):o.logger.log(l)}catch(u){o.logger.log(u)}})}return m}(),children:"Evaluate"}),children:(0,e.createComponentVNode)(2,t.Box,{as:"textarea",width:"100%",height:"10em",onChange:function(){function m(l){return c(l.target.value)}return m}(),children:d})})],4)}},17466:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036),t=n(37168);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT @@ -307,19 +307,19 @@ * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Flex & Sections",render:function(){function b(){return(0,e.createComponentVNode)(2,f)}return b}()},f=function(S,I){var k=(0,a.useLocalState)(I,"fs_grow",1),g=k[0],u=k[1],c=(0,a.useLocalState)(I,"fs_direction","column"),m=c[0],l=c[1],d=(0,a.useLocalState)(I,"fs_fill",!0),s=d[0],i=d[1],h=(0,a.useLocalState)(I,"fs_title",!0),C=h[0],v=h[1];return(0,e.createComponentVNode)(2,t.Flex,{height:"100%",direction:"column",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mb:1,children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function p(){return l(m==="column"?"row":"column")}return p}(),children:'Flex direction="'+m+'"'}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function p(){return u(+!g)}return p}(),children:"Flex.Item grow={"+g+"}"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function p(){return i(!s)}return p}(),children:"Section fill={"+String(s)+"}"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,selected:C,onClick:function(){function p(){return v(!C)}return p}(),children:"Section title"})]})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",direction:m,children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mr:m==="row"&&1,mb:m==="column"&&1,grow:g,children:(0,e.createComponentVNode)(2,t.Section,{title:C&&"Section 1",fill:s,children:"Content"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:g,children:(0,e.createComponentVNode)(2,t.Section,{title:C&&"Section 2",fill:s,children:"Content"})})]})})]})}},48779:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** + */var o=r.meta={title:"Flex & Sections",render:function(){function b(){return(0,e.createComponentVNode)(2,f)}return b}()},f=function(S,I){var k=(0,a.useLocalState)(I,"fs_grow",1),g=k[0],d=k[1],c=(0,a.useLocalState)(I,"fs_direction","column"),m=c[0],l=c[1],u=(0,a.useLocalState)(I,"fs_fill",!0),s=u[0],i=u[1],h=(0,a.useLocalState)(I,"fs_title",!0),C=h[0],v=h[1];return(0,e.createComponentVNode)(2,t.Flex,{height:"100%",direction:"column",children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mb:1,children:(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function p(){return l(m==="column"?"row":"column")}return p}(),children:'Flex direction="'+m+'"'}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function p(){return d(+!g)}return p}(),children:"Flex.Item grow={"+g+"}"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,onClick:function(){function p(){return i(!s)}return p}(),children:"Section fill={"+String(s)+"}"}),(0,e.createComponentVNode)(2,t.Button,{fluid:!0,selected:C,onClick:function(){function p(){return v(!C)}return p}(),children:"Section title"})]})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:1,children:(0,e.createComponentVNode)(2,t.Flex,{height:"100%",direction:m,children:[(0,e.createComponentVNode)(2,t.Flex.Item,{mr:m==="row"&&1,mb:m==="column"&&1,grow:g,children:(0,e.createComponentVNode)(2,t.Section,{title:C&&"Section 1",fill:s,children:"Content"})}),(0,e.createComponentVNode)(2,t.Flex.Item,{grow:g,children:(0,e.createComponentVNode)(2,t.Section,{title:C&&"Section 2",fill:s,children:"Content"})})]})})]})}},48779:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** * @file * @copyright 2024 Aylong (https://github.com/AyIong) * @license MIT - */var o=r.meta={title:"ImageButton",render:function(){function I(){return(0,e.createComponentVNode)(2,S)}return I}()},f=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","gold"],b=["good","average","bad","black","white"],S=function(k,g){var u=(0,a.useLocalState)(g,"fluid1",!0),c=u[0],m=u[1],l=(0,a.useLocalState)(g,"fluid2",!1),d=l[0],s=l[1],i=(0,a.useLocalState)(g,"fluid3",!1),h=i[0],C=i[1],v=(0,a.useLocalState)(g,"disabled",!1),p=v[0],N=v[1],V=(0,a.useLocalState)(g,"selected",!1),y=V[0],B=V[1],L=(0,a.useLocalState)(g,"addImage",!1),w=L[0],x=L[1],T=(0,a.useLocalState)(g,"base64",""),M=T[0],O=T[1],D=(0,a.useLocalState)(g,"title","Image Button"),E=D[0],P=D[1],R=(0,a.useLocalState)(g,"content","You can put anything in there"),j=R[0],F=R[1],W=(0,a.useLocalState)(g,"imageSize",64),z=W[0],K=W[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:w?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"base64",children:(0,e.createComponentVNode)(2,t.Input,{value:M,onInput:function(){function G(J,Q){return O(Q)}return G}()})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,t.Input,{value:E,onInput:function(){function G(J,Q){return P(Q)}return G}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Content",children:(0,e.createComponentVNode)(2,t.Input,{value:j,onInput:function(){function G(J,Q){return F(Q)}return G}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Image Size",children:(0,e.createComponentVNode)(2,t.Slider,{width:10,value:z,minValue:0,maxValue:256,step:1,onChange:function(){function G(J,Q){return K(Q)}return G}()})})],4)})}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"50%",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:c,onClick:function(){function G(){return m(!c)}return G}(),children:"Fluid"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:p,onClick:function(){function G(){return N(!p)}return G}(),children:"Disabled"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:y,onClick:function(){function G(){return B(!y)}return G}(),children:"Selected"})})]})})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:1,children:(0,e.createComponentVNode)(2,t.ImageButton,{m:!c&&0,fluid:c,base64:M,imageSize:z,title:E,tooltip:!c&&j,disabled:p,selected:y,buttonsAlt:c,buttons:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:c,compact:!c,color:!c&&"transparent",selected:w,onClick:function(){function G(){return x(!w)}return G}(),children:"Add Image"}),children:j})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Color States",buttons:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:d,onClick:function(){function G(){return s(!d)}return G}(),children:"Fluid"}),children:b.map(function(G){return(0,e.createComponentVNode)(2,t.ImageButton,{fluid:d,color:G,imageSize:d?24:48,children:G},G)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Available Colors",buttons:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:h,onClick:function(){function G(){return C(!h)}return G}(),children:"Fluid"}),children:f.map(function(G){return(0,e.createComponentVNode)(2,t.ImageButton,{fluid:h,color:G,imageSize:h?24:48,children:G},G)})})],4)}},21394:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** + */var o=r.meta={title:"ImageButton",render:function(){function I(){return(0,e.createComponentVNode)(2,S)}return I}()},f=["red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","gold"],b=["good","average","bad","black","white"],S=function(k,g){var d=(0,a.useLocalState)(g,"fluid1",!0),c=d[0],m=d[1],l=(0,a.useLocalState)(g,"fluid2",!1),u=l[0],s=l[1],i=(0,a.useLocalState)(g,"fluid3",!1),h=i[0],C=i[1],v=(0,a.useLocalState)(g,"disabled",!1),p=v[0],N=v[1],V=(0,a.useLocalState)(g,"selected",!1),y=V[0],B=V[1],L=(0,a.useLocalState)(g,"addImage",!1),w=L[0],x=L[1],T=(0,a.useLocalState)(g,"base64",""),M=T[0],O=T[1],D=(0,a.useLocalState)(g,"title","Image Button"),E=D[0],P=D[1],R=(0,a.useLocalState)(g,"content","You can put anything in there"),j=R[0],F=R[1],W=(0,a.useLocalState)(g,"imageSize",64),z=W[0],K=W[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Stack,{children:[(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"50%",children:(0,e.createComponentVNode)(2,t.LabeledList,{children:w?(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"base64",children:(0,e.createComponentVNode)(2,t.Input,{value:M,onInput:function(){function G(J,Q){return O(Q)}return G}()})}):(0,e.createFragment)([(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Title",children:(0,e.createComponentVNode)(2,t.Input,{value:E,onInput:function(){function G(J,Q){return P(Q)}return G}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Content",children:(0,e.createComponentVNode)(2,t.Input,{value:j,onInput:function(){function G(J,Q){return F(Q)}return G}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Image Size",children:(0,e.createComponentVNode)(2,t.Slider,{width:10,value:z,minValue:0,maxValue:256,step:1,onChange:function(){function G(J,Q){return K(Q)}return G}()})})],4)})}),(0,e.createComponentVNode)(2,t.Stack.Item,{basis:"50%",children:(0,e.createComponentVNode)(2,t.Stack,{fill:!0,vertical:!0,children:[(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:c,onClick:function(){function G(){return m(!c)}return G}(),children:"Fluid"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:p,onClick:function(){function G(){return N(!p)}return G}(),children:"Disabled"})}),(0,e.createComponentVNode)(2,t.Stack.Item,{grow:!0,children:(0,e.createComponentVNode)(2,t.Button.Checkbox,{fluid:!0,checked:y,onClick:function(){function G(){return B(!y)}return G}(),children:"Selected"})})]})})]}),(0,e.createComponentVNode)(2,t.Stack.Item,{mt:1,children:(0,e.createComponentVNode)(2,t.ImageButton,{m:!c&&0,fluid:c,base64:M,imageSize:z,title:E,tooltip:!c&&j,disabled:p,selected:y,buttonsAlt:c,buttons:(0,e.createComponentVNode)(2,t.Button,{fluid:!0,translucent:c,compact:!c,color:!c&&"transparent",selected:w,onClick:function(){function G(){return x(!w)}return G}(),children:"Add Image"}),children:j})})]}),(0,e.createComponentVNode)(2,t.Section,{title:"Color States",buttons:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:u,onClick:function(){function G(){return s(!u)}return G}(),children:"Fluid"}),children:b.map(function(G){return(0,e.createComponentVNode)(2,t.ImageButton,{fluid:u,color:G,imageSize:u?24:48,children:G},G)})}),(0,e.createComponentVNode)(2,t.Section,{title:"Available Colors",buttons:(0,e.createComponentVNode)(2,t.Button.Checkbox,{checked:h,onClick:function(){function G(){return C(!h)}return G}(),children:"Fluid"}),children:f.map(function(G){return(0,e.createComponentVNode)(2,t.ImageButton,{fluid:h,color:G,imageSize:h?24:48,children:G},G)})})],4)}},21394:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Input",render:function(){function b(){return(0,e.createComponentVNode)(2,f)}return b}()},f=function(S,I){var k=(0,a.useLocalState)(I,"number",0),g=k[0],u=k[1],c=(0,a.useLocalState)(I,"text","Sample text"),m=c[0],l=c[1];return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onChange)",children:(0,e.createComponentVNode)(2,t.Input,{value:m,onChange:function(){function d(s,i){return l(i)}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onInput)",children:(0,e.createComponentVNode)(2,t.Input,{value:m,onInput:function(){function d(s,i){return l(i)}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onChange)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:g,minValue:-100,maxValue:100,onChange:function(){function d(s,i){return u(i)}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onDrag)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:g,minValue:-100,maxValue:100,onDrag:function(){function d(s,i){return u(i)}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Slider (onDrag)",children:(0,e.createComponentVNode)(2,t.Slider,{step:1,stepPixelSize:5,value:g,minValue:-100,maxValue:100,onDrag:function(){function d(s,i){return u(i)}return d}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Knob (onDrag)",children:[(0,e.createComponentVNode)(2,t.Knob,{inline:!0,size:1,step:1,stepPixelSize:2,value:g,minValue:-100,maxValue:100,onDrag:function(){function d(s,i){return u(i)}return d}()}),(0,e.createComponentVNode)(2,t.Knob,{ml:1,inline:!0,bipolar:!0,size:1,step:1,stepPixelSize:2,value:g,minValue:-100,maxValue:100,onDrag:function(){function d(s,i){return u(i)}return d}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rotating Icon",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",children:(0,e.createComponentVNode)(2,t.DraggableControl,{value:g,minValue:-100,maxValue:100,dragMatrix:[0,-1],step:1,stepPixelSize:5,onDrag:function(){function d(s,i){return u(i)}return d}(),children:function(){function d(s){return(0,e.createComponentVNode)(2,t.Box,{onMouseDown:s.handleDragStart,children:[(0,e.createComponentVNode)(2,t.Icon,{size:4,color:"yellow",name:"times",rotation:s.displayValue*4}),s.inputElement]})}return d}()})})})]})})}},43932:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036),t=r.meta={title:"Popper",render:function(){function f(){return(0,e.createComponentVNode)(2,o)}return f}()},o=function(){return(0,e.createFragment)([(0,e.createComponentVNode)(2,a.Popper,{popperContent:(0,e.createComponentVNode)(2,a.Box,{style:{background:"white",border:"2px solid blue"},children:"Loogatme!"}),options:{placement:"bottom"},children:(0,e.createComponentVNode)(2,a.Box,{style:{border:"5px solid white",height:"300px",width:"200px"}})}),(0,e.createComponentVNode)(2,a.Popper,{popperContent:(0,e.createComponentVNode)(2,a.Box,{style:{background:"white",border:"2px solid blue"},children:"I am on the right!"}),options:{placement:"right"},children:(0,e.createComponentVNode)(2,a.Box,{style:{border:"5px solid white",height:"500px",width:"100px"}})})],4)}},33270:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** + */var o=r.meta={title:"Input",render:function(){function b(){return(0,e.createComponentVNode)(2,f)}return b}()},f=function(S,I){var k=(0,a.useLocalState)(I,"number",0),g=k[0],d=k[1],c=(0,a.useLocalState)(I,"text","Sample text"),m=c[0],l=c[1];return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:[(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onChange)",children:(0,e.createComponentVNode)(2,t.Input,{value:m,onChange:function(){function u(s,i){return l(i)}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Input (onInput)",children:(0,e.createComponentVNode)(2,t.Input,{value:m,onInput:function(){function u(s,i){return l(i)}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onChange)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:g,minValue:-100,maxValue:100,onChange:function(){function u(s,i){return d(i)}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"NumberInput (onDrag)",children:(0,e.createComponentVNode)(2,t.NumberInput,{animated:!0,width:"40px",step:1,stepPixelSize:5,value:g,minValue:-100,maxValue:100,onDrag:function(){function u(s,i){return d(i)}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Slider (onDrag)",children:(0,e.createComponentVNode)(2,t.Slider,{step:1,stepPixelSize:5,value:g,minValue:-100,maxValue:100,onDrag:function(){function u(s,i){return d(i)}return u}()})}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Knob (onDrag)",children:[(0,e.createComponentVNode)(2,t.Knob,{inline:!0,size:1,step:1,stepPixelSize:2,value:g,minValue:-100,maxValue:100,onDrag:function(){function u(s,i){return d(i)}return u}()}),(0,e.createComponentVNode)(2,t.Knob,{ml:1,inline:!0,bipolar:!0,size:1,step:1,stepPixelSize:2,value:g,minValue:-100,maxValue:100,onDrag:function(){function u(s,i){return d(i)}return u}()})]}),(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Rotating Icon",children:(0,e.createComponentVNode)(2,t.Box,{inline:!0,position:"relative",children:(0,e.createComponentVNode)(2,t.DraggableControl,{value:g,minValue:-100,maxValue:100,dragMatrix:[0,-1],step:1,stepPixelSize:5,onDrag:function(){function u(s,i){return d(i)}return u}(),children:function(){function u(s){return(0,e.createComponentVNode)(2,t.Box,{onMouseDown:s.handleDragStart,children:[(0,e.createComponentVNode)(2,t.Icon,{size:4,color:"yellow",name:"times",rotation:s.displayValue*4}),s.inputElement]})}return u}()})})})]})})}},43932:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036),t=r.meta={title:"Popper",render:function(){function f(){return(0,e.createComponentVNode)(2,o)}return f}()},o=function(){return(0,e.createFragment)([(0,e.createComponentVNode)(2,a.Popper,{popperContent:(0,e.createComponentVNode)(2,a.Box,{style:{background:"white",border:"2px solid blue"},children:"Loogatme!"}),options:{placement:"bottom"},children:(0,e.createComponentVNode)(2,a.Box,{style:{border:"5px solid white",height:"300px",width:"200px"}})}),(0,e.createComponentVNode)(2,a.Popper,{popperContent:(0,e.createComponentVNode)(2,a.Box,{style:{background:"white",border:"2px solid blue"},children:"I am on the right!"}),options:{placement:"right"},children:(0,e.createComponentVNode)(2,a.Box,{style:{border:"5px solid white",height:"500px",width:"100px"}})})],4)}},33270:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"ProgressBar",render:function(){function b(){return(0,e.createComponentVNode)(2,f)}return b}()},f=function(S,I){var k=(0,a.useLocalState)(I,"progress",.5),g=k[0],u=k[1];return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[.5,1/0],bad:[-1/0,.1],average:[0,.5]},minValue:-1,maxValue:1,value:g,children:["Value: ",Number(g).toFixed(1)]}),(0,e.createComponentVNode)(2,t.Box,{mt:1,children:[(0,e.createComponentVNode)(2,t.Button,{content:"-0.1",onClick:function(){function c(){return u(g-.1)}return c}()}),(0,e.createComponentVNode)(2,t.Button,{content:"+0.1",onClick:function(){function c(){return u(g+.1)}return c}()})]})]})}},77766:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** + */var o=r.meta={title:"ProgressBar",render:function(){function b(){return(0,e.createComponentVNode)(2,f)}return b}()},f=function(S,I){var k=(0,a.useLocalState)(I,"progress",.5),g=k[0],d=k[1];return(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.ProgressBar,{ranges:{good:[.5,1/0],bad:[-1/0,.1],average:[0,.5]},minValue:-1,maxValue:1,value:g,children:["Value: ",Number(g).toFixed(1)]}),(0,e.createComponentVNode)(2,t.Box,{mt:1,children:[(0,e.createComponentVNode)(2,t.Button,{content:"-0.1",onClick:function(){function c(){return d(g-.1)}return c}()}),(0,e.createComponentVNode)(2,t.Button,{content:"+0.1",onClick:function(){function c(){return d(g+.1)}return c}()})]})]})}},77766:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT @@ -331,11 +331,11 @@ * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Tabs",render:function(){function S(){return(0,e.createComponentVNode)(2,b)}return S}()},f=["Tab #1","Tab #2","Tab #3","Tab #4"],b=function(I,k){var g=(0,a.useLocalState)(k,"tabIndex",0),u=g[0],c=g[1],m=(0,a.useLocalState)(k,"tabProps",{}),l=m[0],d=m[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"vertical",checked:l.vertical,onClick:function(){function s(){return d(Object.assign({},l,{vertical:!l.vertical}))}return s}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"leftSlot",checked:l.leftSlot,onClick:function(){function s(){return d(Object.assign({},l,{leftSlot:!l.leftSlot}))}return s}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"rightSlot",checked:l.rightSlot,onClick:function(){function s(){return d(Object.assign({},l,{rightSlot:!l.rightSlot}))}return s}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"icon",checked:l.icon,onClick:function(){function s(){return d(Object.assign({},l,{icon:!l.icon}))}return s}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"fluid",checked:l.fluid,onClick:function(){function s(){return d(Object.assign({},l,{fluid:!l.fluid}))}return s}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"left aligned",checked:l.leftAligned,onClick:function(){function s(){return d(Object.assign({},l,{leftAligned:!l.leftAligned}))}return s}()})]}),(0,e.createComponentVNode)(2,t.Section,{fitted:!0,children:(0,e.createComponentVNode)(2,t.Tabs,{vertical:l.vertical,fluid:l.fluid,textAlign:l.leftAligned&&"left",children:f.map(function(s,i){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:i===u,icon:l.icon&&"info-circle",leftSlot:l.leftSlot&&(0,e.createComponentVNode)(2,t.Button,{circular:!0,compact:!0,color:"transparent",icon:"times"}),rightSlot:l.rightSlot&&(0,e.createComponentVNode)(2,t.Button,{circular:!0,compact:!0,color:"transparent",icon:"times"}),onClick:function(){function h(){return c(i)}return h}(),children:s},i)})})})],4)}},53276:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** + */var o=r.meta={title:"Tabs",render:function(){function S(){return(0,e.createComponentVNode)(2,b)}return S}()},f=["Tab #1","Tab #2","Tab #3","Tab #4"],b=function(I,k){var g=(0,a.useLocalState)(k,"tabIndex",0),d=g[0],c=g[1],m=(0,a.useLocalState)(k,"tabProps",{}),l=m[0],u=m[1];return(0,e.createFragment)([(0,e.createComponentVNode)(2,t.Section,{children:[(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"vertical",checked:l.vertical,onClick:function(){function s(){return u(Object.assign({},l,{vertical:!l.vertical}))}return s}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"leftSlot",checked:l.leftSlot,onClick:function(){function s(){return u(Object.assign({},l,{leftSlot:!l.leftSlot}))}return s}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"rightSlot",checked:l.rightSlot,onClick:function(){function s(){return u(Object.assign({},l,{rightSlot:!l.rightSlot}))}return s}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"icon",checked:l.icon,onClick:function(){function s(){return u(Object.assign({},l,{icon:!l.icon}))}return s}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"fluid",checked:l.fluid,onClick:function(){function s(){return u(Object.assign({},l,{fluid:!l.fluid}))}return s}()}),(0,e.createComponentVNode)(2,t.Button.Checkbox,{inline:!0,content:"left aligned",checked:l.leftAligned,onClick:function(){function s(){return u(Object.assign({},l,{leftAligned:!l.leftAligned}))}return s}()})]}),(0,e.createComponentVNode)(2,t.Section,{fitted:!0,children:(0,e.createComponentVNode)(2,t.Tabs,{vertical:l.vertical,fluid:l.fluid,textAlign:l.leftAligned&&"left",children:f.map(function(s,i){return(0,e.createComponentVNode)(2,t.Tabs.Tab,{selected:i===d,icon:l.icon&&"info-circle",leftSlot:l.leftSlot&&(0,e.createComponentVNode)(2,t.Button,{circular:!0,compact:!0,color:"transparent",icon:"times"}),rightSlot:l.rightSlot&&(0,e.createComponentVNode)(2,t.Button,{circular:!0,compact:!0,color:"transparent",icon:"times"}),onClick:function(){function h(){return c(i)}return h}(),children:s},i)})})})],4)}},53276:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(72253),t=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var o=r.meta={title:"Themes",render:function(){function b(){return(0,e.createComponentVNode)(2,f)}return b}()},f=function(S,I){var k=(0,a.useLocalState)(I,"kitchenSinkTheme"),g=k[0],u=k[1];return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Use theme",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"theme_name",value:g,onInput:function(){function c(m,l){return u(l)}return c}()})})})})}},28717:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** + */var o=r.meta={title:"Themes",render:function(){function b(){return(0,e.createComponentVNode)(2,f)}return b}()},f=function(S,I){var k=(0,a.useLocalState)(I,"kitchenSinkTheme"),g=k[0],d=k[1];return(0,e.createComponentVNode)(2,t.Section,{children:(0,e.createComponentVNode)(2,t.LabeledList,{children:(0,e.createComponentVNode)(2,t.LabeledList.Item,{label:"Use theme",children:(0,e.createComponentVNode)(2,t.Input,{placeholder:"theme_name",value:g,onInput:function(){function c(m,l){return d(l)}return c}()})})})})}},28717:function(A,r,n){"use strict";r.__esModule=!0,r.meta=void 0;var e=n(89005),a=n(36036);/** * @file * @copyright 2021 Aleksej Komarov * @license MIT @@ -343,12 +343,12 @@ * @file * @copyright 2021 Aleksej Komarov * @license MIT - */var t=r.BoxWithSampleText=function(){function o(f){return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({},f,{children:[(0,e.createComponentVNode)(2,a.Box,{italic:!0,children:"Jackdaws love my big sphinx of quartz."}),(0,e.createComponentVNode)(2,a.Box,{mt:1,bold:!0,children:"The wide electrification of the southern provinces will give a powerful impetus to the growth of agriculture."})]})))}return o}()},67160:function(){},23542:function(){},30386:function(){},98996:function(){},50578:function(){},4444:function(){},77870:function(){},23632:function(){},56492:function(){},39108:function(){},11714:function(){},73492:function(){},49641:function(){},17570:function(){},61858:function(){},32882:function(){},70752:function(A,r,n){var e={"./pai_atmosphere.js":80818,"./pai_bioscan.js":23903,"./pai_directives.js":64988,"./pai_doorjack.js":13813,"./pai_main_menu.js":66025,"./pai_manifest.js":2983,"./pai_medrecords.js":40758,"./pai_messenger.js":98599,"./pai_radio.js":50775,"./pai_secrecords.js":48623,"./pai_signaler.js":47297};function a(o){var f=t(o);return n(f)}function t(o){if(!n.o(e,o)){var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,A.exports=a,a.id=70752},59395:function(A,r,n){var e={"./pda_atmos_scan.js":78532,"./pda_games.js":2395,"./pda_janitor.js":40253,"./pda_main_menu.js":58293,"./pda_manifest.js":58059,"./pda_medical.js":18147,"./pda_messenger.js":77595,"./pda_minesweeper.js":90382,"./pda_mule.js":24635,"./pda_nanobank.js":23734,"./pda_notes.js":97085,"./pda_power.js":57513,"./pda_secbot.js":99808,"./pda_security.js":77168,"./pda_signaler.js":21773,"./pda_status_display.js":81857,"./pda_supplyrecords.js":70287};function a(o){var f=t(o);return n(f)}function t(o){if(!n.o(e,o)){var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,A.exports=a,a.id=59395},32054:function(A,r,n){var e={"./AICard":1090,"./AICard.js":1090,"./AIFixer":39454,"./AIFixer.js":39454,"./APC":88422,"./APC.js":88422,"./ATM":99660,"./ATM.js":99660,"./AccountsUplinkTerminal":86423,"./AccountsUplinkTerminal.js":86423,"./AdminAntagMenu":23001,"./AdminAntagMenu.js":23001,"./AgentCard":39683,"./AgentCard.tsx":39683,"./AiAirlock":56793,"./AiAirlock.js":56793,"./AirAlarm":72475,"./AirAlarm.js":72475,"./AirlockAccessController":12333,"./AirlockAccessController.js":12333,"./AirlockElectronics":28736,"./AirlockElectronics.js":28736,"./AlertModal":47365,"./AlertModal.tsx":47365,"./AppearanceChanger":71824,"./AppearanceChanger.js":71824,"./AtmosAlertConsole":72285,"./AtmosAlertConsole.js":72285,"./AtmosControl":65805,"./AtmosControl.js":65805,"./AtmosFilter":87816,"./AtmosFilter.js":87816,"./AtmosGraphMonitor":57258,"./AtmosGraphMonitor.tsx":57258,"./AtmosMixer":52977,"./AtmosMixer.js":52977,"./AtmosPump":11748,"./AtmosPump.js":11748,"./AtmosTankControl":69321,"./AtmosTankControl.js":69321,"./AugmentMenu":92444,"./AugmentMenu.js":92444,"./Autolathe":59179,"./Autolathe.js":59179,"./Autolathe220":29943,"./Autolathe220.tsx":29943,"./BioChipPad":5147,"./BioChipPad.js":5147,"./Biogenerator":64273,"./Biogenerator.js":64273,"./BloomEdit":47823,"./BloomEdit.js":47823,"./BlueSpaceArtilleryControl":18621,"./BlueSpaceArtilleryControl.js":18621,"./BluespaceTap":27629,"./BluespaceTap.js":27629,"./BodyScanner":33758,"./BodyScanner.js":33758,"./BookBinder":67963,"./BookBinder.js":67963,"./BotCall":61925,"./BotCall.js":61925,"./BotClean":20464,"./BotClean.js":20464,"./BotFloor":69479,"./BotFloor.js":69479,"./BotHonk":59887,"./BotHonk.js":59887,"./BotMed":80063,"./BotMed.js":80063,"./BotSecurity":74439,"./BotSecurity.js":74439,"./BrigCells":10833,"./BrigCells.js":10833,"./BrigTimer":45761,"./BrigTimer.js":45761,"./CameraConsole":26300,"./CameraConsole.js":26300,"./CameraConsole220":39222,"./CameraConsole220.js":39222,"./Canister":52927,"./Canister.js":52927,"./CardComputer":51793,"./CardComputer.js":51793,"./CargoConsole":64083,"./CargoConsole.js":64083,"./Chameleon":36232,"./Chameleon.tsx":36232,"./ChangelogView":87331,"./ChangelogView.js":87331,"./CheckboxListInputModal":91360,"./CheckboxListInputModal.tsx":91360,"./ChemDispenser":36108,"./ChemDispenser.js":36108,"./ChemHeater":13146,"./ChemHeater.js":13146,"./ChemMaster":56541,"./ChemMaster.tsx":56541,"./CloningConsole":37173,"./CloningConsole.js":37173,"./CloningPod":98723,"./CloningPod.js":98723,"./CoinMint":18259,"./CoinMint.tsx":18259,"./ColorPickerModal":93858,"./ColorPickerModal.tsx":93858,"./ColourMatrixTester":8444,"./ColourMatrixTester.js":8444,"./CommunicationsComputer":63818,"./CommunicationsComputer.js":63818,"./CompostBin":20562,"./CompostBin.js":20562,"./Contractor":21813,"./Contractor.js":21813,"./ConveyorSwitch":54151,"./ConveyorSwitch.js":54151,"./CrewMonitor":73169,"./CrewMonitor.js":73169,"./Cryo":63987,"./Cryo.js":63987,"./CryopodConsole":86099,"./CryopodConsole.js":86099,"./DNAModifier":12692,"./DNAModifier.js":12692,"./DecalPainter":76430,"./DecalPainter.js":76430,"./DestinationTagger":41074,"./DestinationTagger.js":41074,"./DisposalBin":46500,"./DisposalBin.js":46500,"./DnaVault":33233,"./DnaVault.js":33233,"./DroneConsole":33681,"./DroneConsole.js":33681,"./EFTPOS":17263,"./EFTPOS.js":17263,"./ERTManager":76382,"./ERTManager.js":76382,"./EconomyManager":90217,"./EconomyManager.js":90217,"./Electropack":82565,"./Electropack.js":82565,"./Emojipedia":11243,"./Emojipedia.tsx":11243,"./EmotePanel":69784,"./EmotePanel.js":69784,"./EvolutionMenu":36730,"./EvolutionMenu.js":36730,"./ExosuitFabricator":17370,"./ExosuitFabricator.js":17370,"./ExperimentConsole":59128,"./ExperimentConsole.js":59128,"./ExternalAirlockController":97086,"./ExternalAirlockController.js":97086,"./FaxMachine":96142,"./FaxMachine.js":96142,"./FilingCabinet":74123,"./FilingCabinet.js":74123,"./FloorPainter":83767,"./FloorPainter.js":83767,"./GPS":53424,"./GPS.js":53424,"./GeneModder":89124,"./GeneModder.js":89124,"./GenericCrewManifest":73053,"./GenericCrewManifest.js":73053,"./GhostHudPanel":42914,"./GhostHudPanel.js":42914,"./GlandDispenser":25825,"./GlandDispenser.js":25825,"./GravityGen":10270,"./GravityGen.js":10270,"./GuestPass":48657,"./GuestPass.js":48657,"./HandheldChemDispenser":67834,"./HandheldChemDispenser.js":67834,"./HealthSensor":46098,"./HealthSensor.js":46098,"./Holodeck":36771,"./Holodeck.js":36771,"./Instrument":25471,"./Instrument.js":25471,"./Jukebox":52736,"./Jukebox.tsx":52736,"./KeyComboModal":13618,"./KeyComboModal.tsx":13618,"./KeycardAuth":35655,"./KeycardAuth.js":35655,"./KitchenMachine":62955,"./KitchenMachine.js":62955,"./LawManager":9525,"./LawManager.js":9525,"./LibraryComputer":85066,"./LibraryComputer.js":85066,"./LibraryManager":9516,"./LibraryManager.js":9516,"./ListInputModal":90447,"./ListInputModal.tsx":90447,"./Loadout":26826,"./Loadout.tsx":26826,"./MODsuit":77613,"./MODsuit.js":77613,"./MagnetController":78624,"./MagnetController.js":78624,"./MechBayConsole":72106,"./MechBayConsole.js":72106,"./MechaControlConsole":7466,"./MechaControlConsole.js":7466,"./MedicalRecords":79625,"./MedicalRecords.js":79625,"./MerchVendor":54989,"./MerchVendor.js":54989,"./MiningVendor":87684,"./MiningVendor.js":87684,"./ModpacksList":61468,"./ModpacksList.js":61468,"./NTRecruiter":59783,"./NTRecruiter.js":59783,"./Newscaster":64713,"./Newscaster.js":64713,"./Noticeboard":48286,"./Noticeboard.tsx":48286,"./NuclearBomb":41166,"./NuclearBomb.js":41166,"./NumberInputModal":52416,"./NumberInputModal.tsx":52416,"./OperatingComputer":1218,"./OperatingComputer.js":1218,"./Orbit":46892,"./Orbit.js":46892,"./OreRedemption":15421,"./OreRedemption.js":15421,"./PAI":52754,"./PAI.js":52754,"./PDA":85175,"./PDA.js":85175,"./Pacman":68654,"./Pacman.js":68654,"./PanDEMIC":1701,"./PanDEMIC.tsx":1701,"./ParticleAccelerator":67921,"./ParticleAccelerator.js":67921,"./PdaPainter":71432,"./PdaPainter.js":71432,"./PersonalCrafting":33388,"./PersonalCrafting.js":33388,"./Photocopier":56150,"./Photocopier.js":56150,"./Photocopier220":8340,"./Photocopier220.js":8340,"./PoolController":84676,"./PoolController.js":84676,"./PortablePump":57003,"./PortablePump.js":57003,"./PortableScrubber":70069,"./PortableScrubber.js":70069,"./PortableTurret":59955,"./PortableTurret.js":59955,"./PowerMonitor":61631,"./PowerMonitor.js":61631,"./PrisonerImplantManager":50992,"./PrisonerImplantManager.js":50992,"./PrisonerShuttleConsole":53952,"./PrisonerShuttleConsole.js":53952,"./PrizeCounter":97852,"./PrizeCounter.tsx":97852,"./RCD":94813,"./RCD.js":94813,"./RPD":18738,"./RPD.js":18738,"./Radio":80299,"./Radio.js":80299,"./RankedListInputModal":14846,"./RankedListInputModal.tsx":14846,"./ReagentGrinder":48125,"./ReagentGrinder.js":48125,"./ReagentsEditor":58262,"./ReagentsEditor.tsx":58262,"./RemoteSignaler":30207,"./RemoteSignaler.js":30207,"./RequestConsole":25472,"./RequestConsole.js":25472,"./RndBackupConsole":9861,"./RndBackupConsole.js":9861,"./RndConsole":12644,"./RndConsole/":12644,"./RndConsole/AnalyzerMenu":68303,"./RndConsole/AnalyzerMenu.js":68303,"./RndConsole/DataDiskMenu":37556,"./RndConsole/DataDiskMenu.js":37556,"./RndConsole/LatheCategory":16830,"./RndConsole/LatheCategory.js":16830,"./RndConsole/LatheChemicalStorage":70497,"./RndConsole/LatheChemicalStorage.js":70497,"./RndConsole/LatheMainMenu":70864,"./RndConsole/LatheMainMenu.js":70864,"./RndConsole/LatheMaterialStorage":42878,"./RndConsole/LatheMaterialStorage.js":42878,"./RndConsole/LatheMaterials":52662,"./RndConsole/LatheMaterials.js":52662,"./RndConsole/LatheMenu":9681,"./RndConsole/LatheMenu.js":9681,"./RndConsole/LatheSearch":68198,"./RndConsole/LatheSearch.js":68198,"./RndConsole/LinkMenu":81421,"./RndConsole/LinkMenu.js":81421,"./RndConsole/SettingsMenu":6256,"./RndConsole/SettingsMenu.js":6256,"./RndConsole/index":12644,"./RndConsole/index.js":12644,"./RndNetController":29205,"./RndNetController.js":29205,"./RndServer":63315,"./RndServer.js":63315,"./RobotSelfDiagnosis":26109,"./RobotSelfDiagnosis.js":26109,"./RoboticsControlConsole":97997,"./RoboticsControlConsole.js":97997,"./Safe":54431,"./Safe.js":54431,"./SatelliteControl":29740,"./SatelliteControl.js":29740,"./SecureStorage":44162,"./SecureStorage.js":44162,"./SecurityRecords":6272,"./SecurityRecords.js":6272,"./SeedExtractor":5099,"./SeedExtractor.js":5099,"./Shop":17474,"./Shop.js":17474,"./ShuttleConsole":2916,"./ShuttleConsole.js":2916,"./ShuttleManipulator":39401,"./ShuttleManipulator.js":39401,"./SingularityMonitor":86013,"./SingularityMonitor.js":86013,"./Sleeper":88284,"./Sleeper.js":88284,"./SlotMachine":21597,"./SlotMachine.js":21597,"./Smartfridge":46348,"./Smartfridge.js":46348,"./Smes":86162,"./Smes.js":86162,"./SolarControl":63584,"./SolarControl.js":63584,"./SpawnersMenu":38096,"./SpawnersMenu.js":38096,"./SpecMenu":30586,"./SpecMenu.js":30586,"./StackCraft":95152,"./StackCraft.js":95152,"./StationAlertConsole":38307,"./StationAlertConsole.js":38307,"./StationTraitsPanel":96091,"./StationTraitsPanel.tsx":96091,"./StripMenu":39409,"./StripMenu.tsx":39409,"./SuitStorage":69514,"./SuitStorage.js":69514,"./SupermatterMonitor":15022,"./SupermatterMonitor.js":15022,"./SyndicateComputerSimple":46029,"./SyndicateComputerSimple.js":46029,"./TEG":36372,"./TEG.js":36372,"./TTSSeedsExplorer":23190,"./TTSSeedsExplorer.tsx":23190,"./TachyonArray":56441,"./TachyonArray.js":56441,"./Tank":1754,"./Tank.js":1754,"./TankDispenser":7579,"./TankDispenser.js":7579,"./TcommsCore":16136,"./TcommsCore.js":16136,"./TcommsRelay":88046,"./TcommsRelay.js":88046,"./Teleporter":20802,"./Teleporter.js":20802,"./TelescienceConsole":48517,"./TelescienceConsole.js":48517,"./TempGun":21800,"./TempGun.js":21800,"./TextInputModal":24410,"./TextInputModal.tsx":24410,"./ThermoMachine":25036,"./ThermoMachine.js":25036,"./TransferValve":20035,"./TransferValve.js":20035,"./TurbineComputer":78166,"./TurbineComputer.js":78166,"./Uplink":52847,"./Uplink.js":52847,"./Vending":12261,"./Vending.js":12261,"./VolumeMixer":68971,"./VolumeMixer.js":68971,"./VotePanel":2510,"./VotePanel.js":2510,"./Wires":30138,"./Wires.js":30138,"./WizardApprenticeContract":21400,"./WizardApprenticeContract.js":21400,"./common/AccessList":49148,"./common/AccessList.js":49148,"./common/AtmosScan":26991,"./common/AtmosScan.js":26991,"./common/BeakerContents":85870,"./common/BeakerContents.js":85870,"./common/BotStatus":92963,"./common/BotStatus.js":92963,"./common/ComplexModal":3939,"./common/ComplexModal.js":3939,"./common/CrewManifest":41874,"./common/CrewManifest.js":41874,"./common/InputButtons":19203,"./common/InputButtons.tsx":19203,"./common/InterfaceLockNoticeBox":195,"./common/InterfaceLockNoticeBox.js":195,"./common/Loader":51057,"./common/Loader.tsx":51057,"./common/LoginInfo":321,"./common/LoginInfo.js":321,"./common/LoginScreen":5485,"./common/LoginScreen.js":5485,"./common/Operating":62411,"./common/Operating.js":62411,"./common/Signaler":13545,"./common/Signaler.js":13545,"./common/SimpleRecords":41984,"./common/SimpleRecords.js":41984,"./common/TemporaryNotice":22091,"./common/TemporaryNotice.js":22091,"./goonstation_PTL":95213,"./goonstation_PTL/":95213,"./goonstation_PTL/index":95213,"./goonstation_PTL/index.js":95213,"./pai/pai_atmosphere":80818,"./pai/pai_atmosphere.js":80818,"./pai/pai_bioscan":23903,"./pai/pai_bioscan.js":23903,"./pai/pai_directives":64988,"./pai/pai_directives.js":64988,"./pai/pai_doorjack":13813,"./pai/pai_doorjack.js":13813,"./pai/pai_main_menu":66025,"./pai/pai_main_menu.js":66025,"./pai/pai_manifest":2983,"./pai/pai_manifest.js":2983,"./pai/pai_medrecords":40758,"./pai/pai_medrecords.js":40758,"./pai/pai_messenger":98599,"./pai/pai_messenger.js":98599,"./pai/pai_radio":50775,"./pai/pai_radio.js":50775,"./pai/pai_secrecords":48623,"./pai/pai_secrecords.js":48623,"./pai/pai_signaler":47297,"./pai/pai_signaler.js":47297,"./pda/pda_atmos_scan":78532,"./pda/pda_atmos_scan.js":78532,"./pda/pda_games":2395,"./pda/pda_games.js":2395,"./pda/pda_janitor":40253,"./pda/pda_janitor.js":40253,"./pda/pda_main_menu":58293,"./pda/pda_main_menu.js":58293,"./pda/pda_manifest":58059,"./pda/pda_manifest.js":58059,"./pda/pda_medical":18147,"./pda/pda_medical.js":18147,"./pda/pda_messenger":77595,"./pda/pda_messenger.js":77595,"./pda/pda_minesweeper":90382,"./pda/pda_minesweeper.js":90382,"./pda/pda_mule":24635,"./pda/pda_mule.js":24635,"./pda/pda_nanobank":23734,"./pda/pda_nanobank.js":23734,"./pda/pda_notes":97085,"./pda/pda_notes.js":97085,"./pda/pda_power":57513,"./pda/pda_power.js":57513,"./pda/pda_secbot":99808,"./pda/pda_secbot.js":99808,"./pda/pda_security":77168,"./pda/pda_security.js":77168,"./pda/pda_signaler":21773,"./pda/pda_signaler.js":21773,"./pda/pda_status_display":81857,"./pda/pda_status_display.js":81857,"./pda/pda_supplyrecords":70287,"./pda/pda_supplyrecords.js":70287};function a(o){var f=t(o);return n(f)}function t(o){if(!n.o(e,o)){var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,A.exports=a,a.id=32054},4085:function(A,r,n){var e={"./Blink.stories.js":51364,"./BlockQuote.stories.js":32453,"./Box.stories.js":83531,"./Button.stories.js":74198,"./ByondUi.stories.js":51956,"./Collapsible.stories.js":17466,"./Flex.stories.js":89241,"./ImageButton.stories.js":48779,"./Input.stories.js":21394,"./Popper.stories.js":43932,"./ProgressBar.stories.js":33270,"./Stack.stories.js":77766,"./Storage.stories.js":30187,"./Tabs.stories.js":46554,"./Themes.stories.js":53276,"./Tooltip.stories.js":28717};function a(o){var f=t(o);return n(f)}function t(o){if(!n.o(e,o)){var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,A.exports=a,a.id=4085},10320:function(A,r,n){"use strict";var e=n(55747),a=n(89393),t=TypeError;A.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not a function")}},32606:function(A,r,n){"use strict";var e=n(1031),a=n(89393),t=TypeError;A.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not a constructor")}},35908:function(A,r,n){"use strict";var e=n(45015),a=String,t=TypeError;A.exports=function(o){if(e(o))return o;throw new t("Can't set "+a(o)+" as a prototype")}},80575:function(A,r,n){"use strict";var e=n(24697),a=n(80674),t=n(74595).f,o=e("unscopables"),f=Array.prototype;f[o]===void 0&&t(f,o,{configurable:!0,value:a(null)}),A.exports=function(b){f[o][b]=!0}},35483:function(A,r,n){"use strict";var e=n(50233).charAt;A.exports=function(a,t,o){return t+(o?e(a,t).length:1)}},60077:function(A,r,n){"use strict";var e=n(21287),a=TypeError;A.exports=function(t,o){if(e(o,t))return t;throw new a("Incorrect invocation")}},30365:function(A,r,n){"use strict";var e=n(77568),a=String,t=TypeError;A.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not an object")}},70377:function(A){"use strict";A.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},3782:function(A,r,n){"use strict";var e=n(40033);A.exports=e(function(){if(typeof ArrayBuffer=="function"){var a=new ArrayBuffer(8);Object.isExtensible(a)&&Object.defineProperty(a,"a",{value:8})}})},4246:function(A,r,n){"use strict";var e=n(70377),a=n(58310),t=n(74685),o=n(55747),f=n(77568),b=n(45299),S=n(2281),I=n(89393),k=n(37909),g=n(55938),u=n(73936),c=n(21287),m=n(36917),l=n(76649),d=n(24697),s=n(16738),i=n(5419),h=i.enforce,C=i.get,v=t.Int8Array,p=v&&v.prototype,N=t.Uint8ClampedArray,V=N&&N.prototype,y=v&&m(v),B=p&&m(p),L=Object.prototype,w=t.TypeError,x=d("toStringTag"),T=s("TYPED_ARRAY_TAG"),M="TypedArrayConstructor",O=e&&!!l&&S(t.opera)!=="Opera",D=!1,E,P,R,j={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},F={BigInt64Array:8,BigUint64Array:8},W=function(){function ie(pe){if(!f(pe))return!1;var te=S(pe);return te==="DataView"||b(j,te)||b(F,te)}return ie}(),z=function ie(pe){var te=m(pe);if(f(te)){var q=C(te);return q&&b(q,M)?q[M]:ie(te)}},K=function(pe){if(!f(pe))return!1;var te=S(pe);return b(j,te)||b(F,te)},G=function(pe){if(K(pe))return pe;throw new w("Target is not a typed array")},J=function(pe){if(o(pe)&&(!l||c(y,pe)))return pe;throw new w(I(pe)+" is not a typed array constructor")},Q=function(pe,te,q,ne){if(a){if(q)for(var le in j){var ee=t[le];if(ee&&b(ee.prototype,pe))try{delete ee.prototype[pe]}catch(re){try{ee.prototype[pe]=te}catch(oe){}}}(!B[pe]||q)&&g(B,pe,q?te:O&&p[pe]||te,ne)}},ue=function(pe,te,q){var ne,le;if(a){if(l){if(q){for(ne in j)if(le=t[ne],le&&b(le,pe))try{delete le[pe]}catch(ee){}}if(!y[pe]||q)try{return g(y,pe,q?te:O&&y[pe]||te)}catch(ee){}else return}for(ne in j)le=t[ne],le&&(!le[pe]||q)&&g(le,pe,te)}};for(E in j)P=t[E],R=P&&P.prototype,R?h(R)[M]=P:O=!1;for(E in F)P=t[E],R=P&&P.prototype,R&&(h(R)[M]=P);if((!O||!o(y)||y===Function.prototype)&&(y=function(){function ie(){throw new w("Incorrect invocation")}return ie}(),O))for(E in j)t[E]&&l(t[E],y);if((!O||!B||B===L)&&(B=y.prototype,O))for(E in j)t[E]&&l(t[E].prototype,B);if(O&&m(V)!==B&&l(V,B),a&&!b(B,x)){D=!0,u(B,x,{configurable:!0,get:function(){function ie(){return f(this)?this[T]:void 0}return ie}()});for(E in j)t[E]&&k(t[E],T,E)}A.exports={NATIVE_ARRAY_BUFFER_VIEWS:O,TYPED_ARRAY_TAG:D&&T,aTypedArray:G,aTypedArrayConstructor:J,exportTypedArrayMethod:Q,exportTypedArrayStaticMethod:ue,getTypedArrayConstructor:z,isView:W,isTypedArray:K,TypedArray:y,TypedArrayPrototype:B}},37336:function(A,r,n){"use strict";var e=n(74685),a=n(67250),t=n(58310),o=n(70377),f=n(70520),b=n(37909),S=n(73936),I=n(30145),k=n(40033),g=n(60077),u=n(61365),c=n(10188),m=n(43806),l=n(95867),d=n(91784),s=n(36917),i=n(76649),h=n(88471),C=n(54602),v=n(5781),p=n(5774),N=n(84925),V=n(5419),y=f.PROPER,B=f.CONFIGURABLE,L="ArrayBuffer",w="DataView",x="prototype",T="Wrong length",M="Wrong index",O=V.getterFor(L),D=V.getterFor(w),E=V.set,P=e[L],R=P,j=R&&R[x],F=e[w],W=F&&F[x],z=Object.prototype,K=e.Array,G=e.RangeError,J=a(h),Q=a([].reverse),ue=d.pack,ie=d.unpack,pe=function(Ve){return[Ve&255]},te=function(Ve){return[Ve&255,Ve>>8&255]},q=function(Ve){return[Ve&255,Ve>>8&255,Ve>>16&255,Ve>>24&255]},ne=function(Ve){return Ve[3]<<24|Ve[2]<<16|Ve[1]<<8|Ve[0]},le=function(Ve){return ue(l(Ve),23,4)},ee=function(Ve){return ue(Ve,52,8)},re=function(Ve,Be,be){S(Ve[x],Be,{configurable:!0,get:function(){function Le(){return be(this)[Be]}return Le}()})},oe=function(Ve,Be,be,Le){var we=D(Ve),xe=m(be),Re=!!Le;if(xe+Be>we.byteLength)throw new G(M);var He=we.bytes,ye=xe+we.byteOffset,de=C(He,ye,ye+Be);return Re?de:Q(de)},fe=function(Ve,Be,be,Le,we,xe){var Re=D(Ve),He=m(be),ye=Le(+we),de=!!xe;if(He+Be>Re.byteLength)throw new G(M);for(var Ce=Re.bytes,ke=He+Re.byteOffset,ge=0;gewe)throw new G("Wrong offset");if(be=be===void 0?we-xe:c(be),xe+be>we)throw new G(T);E(this,{type:w,buffer:Ve,byteLength:be,byteOffset:xe,bytes:Le.bytes}),t||(this.buffer=Ve,this.byteLength=be,this.byteOffset=xe)}return he}(),W=F[x],t&&(re(R,"byteLength",O),re(F,"buffer",D),re(F,"byteLength",D),re(F,"byteOffset",D)),I(W,{getInt8:function(){function he(Ve){return oe(this,1,Ve)[0]<<24>>24}return he}(),getUint8:function(){function he(Ve){return oe(this,1,Ve)[0]}return he}(),getInt16:function(){function he(Ve){var Be=oe(this,2,Ve,arguments.length>1?arguments[1]:!1);return(Be[1]<<8|Be[0])<<16>>16}return he}(),getUint16:function(){function he(Ve){var Be=oe(this,2,Ve,arguments.length>1?arguments[1]:!1);return Be[1]<<8|Be[0]}return he}(),getInt32:function(){function he(Ve){return ne(oe(this,4,Ve,arguments.length>1?arguments[1]:!1))}return he}(),getUint32:function(){function he(Ve){return ne(oe(this,4,Ve,arguments.length>1?arguments[1]:!1))>>>0}return he}(),getFloat32:function(){function he(Ve){return ie(oe(this,4,Ve,arguments.length>1?arguments[1]:!1),23)}return he}(),getFloat64:function(){function he(Ve){return ie(oe(this,8,Ve,arguments.length>1?arguments[1]:!1),52)}return he}(),setInt8:function(){function he(Ve,Be){fe(this,1,Ve,pe,Be)}return he}(),setUint8:function(){function he(Ve,Be){fe(this,1,Ve,pe,Be)}return he}(),setInt16:function(){function he(Ve,Be){fe(this,2,Ve,te,Be,arguments.length>2?arguments[2]:!1)}return he}(),setUint16:function(){function he(Ve,Be){fe(this,2,Ve,te,Be,arguments.length>2?arguments[2]:!1)}return he}(),setInt32:function(){function he(Ve,Be){fe(this,4,Ve,q,Be,arguments.length>2?arguments[2]:!1)}return he}(),setUint32:function(){function he(Ve,Be){fe(this,4,Ve,q,Be,arguments.length>2?arguments[2]:!1)}return he}(),setFloat32:function(){function he(Ve,Be){fe(this,4,Ve,le,Be,arguments.length>2?arguments[2]:!1)}return he}(),setFloat64:function(){function he(Ve,Be){fe(this,8,Ve,ee,Be,arguments.length>2?arguments[2]:!1)}return he}()});else{var me=y&&P.name!==L;!k(function(){P(1)})||!k(function(){new P(-1)})||k(function(){return new P,new P(1.5),new P(NaN),P.length!==1||me&&!B})?(R=function(){function he(Ve){return g(this,j),v(new P(m(Ve)),this,R)}return he}(),R[x]=j,j.constructor=R,p(R,P)):me&&B&&b(P,"name",L),i&&s(W)!==z&&i(W,z);var Y=new F(new R(2)),ve=a(W.setInt8);Y.setInt8(0,2147483648),Y.setInt8(1,2147483649),(Y.getInt8(0)||!Y.getInt8(1))&&I(W,{setInt8:function(){function he(Ve,Be){ve(this,Ve,Be<<24>>24)}return he}(),setUint8:function(){function he(Ve,Be){ve(this,Ve,Be<<24>>24)}return he}()},{unsafe:!0})}N(R,L),N(F,w),A.exports={ArrayBuffer:R,DataView:F}},71447:function(A,r,n){"use strict";var e=n(46771),a=n(13912),t=n(24760),o=n(95108),f=Math.min;A.exports=[].copyWithin||function(){function b(S,I){var k=e(this),g=t(k),u=a(S,g),c=a(I,g),m=arguments.length>2?arguments[2]:void 0,l=f((m===void 0?g:a(m,g))-c,g-u),d=1;for(c0;)c in k?k[u]=k[c]:o(k,u),u+=d,c+=d;return k}return b}()},88471:function(A,r,n){"use strict";var e=n(46771),a=n(13912),t=n(24760);A.exports=function(){function o(f){for(var b=e(this),S=t(b),I=arguments.length,k=a(I>1?arguments[1]:void 0,S),g=I>2?arguments[2]:void 0,u=g===void 0?S:a(g,S);u>k;)b[k++]=f;return b}return o}()},35601:function(A,r,n){"use strict";var e=n(22603).forEach,a=n(55528),t=a("forEach");A.exports=t?[].forEach:function(){function o(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}return o}()},78008:function(A,r,n){"use strict";var e=n(24760);A.exports=function(a,t,o){for(var f=0,b=arguments.length>2?o:e(t),S=new a(b);b>f;)S[f]=t[f++];return S}},73174:function(A,r,n){"use strict";var e=n(75754),a=n(91495),t=n(46771),o=n(40125),f=n(76571),b=n(1031),S=n(24760),I=n(60102),k=n(77455),g=n(59201),u=Array;A.exports=function(){function c(m){var l=t(m),d=b(this),s=arguments.length,i=s>1?arguments[1]:void 0,h=i!==void 0;h&&(i=e(i,s>2?arguments[2]:void 0));var C=g(l),v=0,p,N,V,y,B,L;if(C&&!(this===u&&f(C)))for(N=d?new this:[],y=k(l,C),B=y.next;!(V=a(B,y)).done;v++)L=h?o(y,i,[V.value,v],!0):V.value,I(N,v,L);else for(p=S(l),N=d?new this(p):u(p);p>v;v++)L=h?i(l[v],v):l[v],I(N,v,L);return N.length=v,N}return c}()},14211:function(A,r,n){"use strict";var e=n(57591),a=n(13912),t=n(24760),o=function(b){return function(S,I,k){var g=e(S),u=t(g);if(u===0)return!b&&-1;var c=a(k,u),m;if(b&&I!==I){for(;u>c;)if(m=g[c++],m!==m)return!0}else for(;u>c;c++)if((b||c in g)&&g[c]===I)return b||c||0;return!b&&-1}};A.exports={includes:o(!0),indexOf:o(!1)}},22603:function(A,r,n){"use strict";var e=n(75754),a=n(67250),t=n(37457),o=n(46771),f=n(24760),b=n(57823),S=a([].push),I=function(g){var u=g===1,c=g===2,m=g===3,l=g===4,d=g===6,s=g===7,i=g===5||d;return function(h,C,v,p){for(var N=o(h),V=t(N),y=f(V),B=e(C,v),L=0,w=p||b,x=u?w(h,y):c||s?w(h,0):void 0,T,M;y>L;L++)if((i||L in V)&&(T=V[L],M=B(T,L,N),g))if(u)x[L]=M;else if(M)switch(g){case 3:return!0;case 5:return T;case 6:return L;case 2:S(x,T)}else switch(g){case 4:return!1;case 7:S(x,T)}return d?-1:m||l?l:x}};A.exports={forEach:I(0),map:I(1),filter:I(2),some:I(3),every:I(4),find:I(5),findIndex:I(6),filterReject:I(7)}},1325:function(A,r,n){"use strict";var e=n(61267),a=n(57591),t=n(61365),o=n(24760),f=n(55528),b=Math.min,S=[].lastIndexOf,I=!!S&&1/[1].lastIndexOf(1,-0)<0,k=f("lastIndexOf"),g=I||!k;A.exports=g?function(){function u(c){if(I)return e(S,this,arguments)||0;var m=a(this),l=o(m);if(l===0)return-1;var d=l-1;for(arguments.length>1&&(d=b(d,t(arguments[1]))),d<0&&(d=l+d);d>=0;d--)if(d in m&&m[d]===c)return d||0;return-1}return u}():S},44091:function(A,r,n){"use strict";var e=n(40033),a=n(24697),t=n(5026),o=a("species");A.exports=function(f){return t>=51||!e(function(){var b=[],S=b.constructor={};return S[o]=function(){return{foo:1}},b[f](Boolean).foo!==1})}},55528:function(A,r,n){"use strict";var e=n(40033);A.exports=function(a,t){var o=[][a];return!!o&&e(function(){o.call(null,t||function(){return 1},1)})}},56844:function(A,r,n){"use strict";var e=n(10320),a=n(46771),t=n(37457),o=n(24760),f=TypeError,b="Reduce of empty array with no initial value",S=function(k){return function(g,u,c,m){var l=a(g),d=t(l),s=o(l);if(e(u),s===0&&c<2)throw new f(b);var i=k?s-1:0,h=k?-1:1;if(c<2)for(;;){if(i in d){m=d[i],i+=h;break}if(i+=h,k?i<0:s<=i)throw new f(b)}for(;k?i>=0:s>i;i+=h)i in d&&(m=u(m,d[i],i,l));return m}};A.exports={left:S(!1),right:S(!0)}},13345:function(A,r,n){"use strict";var e=n(58310),a=n(37386),t=TypeError,o=Object.getOwnPropertyDescriptor,f=e&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(b){return b instanceof TypeError}}();A.exports=f?function(b,S){if(a(b)&&!o(b,"length").writable)throw new t("Cannot set read only .length");return b.length=S}:function(b,S){return b.length=S}},54602:function(A,r,n){"use strict";var e=n(67250);A.exports=e([].slice)},90274:function(A,r,n){"use strict";var e=n(54602),a=Math.floor,t=function o(f,b){var S=f.length;if(S<8)for(var I=1,k,g;I0;)f[g]=f[--g];g!==I++&&(f[g]=k)}else for(var u=a(S/2),c=o(e(f,0,u),b),m=o(e(f,u),b),l=c.length,d=m.length,s=0,i=0;s1?arguments[1]:void 0),M;M=M?M.next:x.first;)for(T(M.value,M.key,this);M&&M.removed;)M=M.previous}return L}(),has:function(){function L(w){return!!B(this,w)}return L}()}),t(N,C?{get:function(){function L(w){var x=B(this,w);return x&&x.value}return L}(),set:function(){function L(w,x){return y(this,w===0?0:w,x)}return L}()}:{add:function(){function L(w){return y(this,w=w===0?0:w,w)}return L}()}),u&&a(N,"size",{configurable:!0,get:function(){function L(){return V(this).size}return L}()}),p}return s}(),setStrong:function(){function s(i,h,C){var v=h+" Iterator",p=d(h),N=d(v);I(i,h,function(V,y){l(this,{type:v,target:V,state:p(V),kind:y,last:void 0})},function(){for(var V=N(this),y=V.kind,B=V.last;B&&B.removed;)B=B.previous;return!V.target||!(V.last=B=B?B.next:V.state.first)?(V.target=void 0,k(void 0,!0)):k(y==="keys"?B.key:y==="values"?B.value:[B.key,B.value],!1)},C?"entries":"values",!C,!0),g(h)}return s}()}},39895:function(A,r,n){"use strict";var e=n(67250),a=n(30145),t=n(81969).getWeakData,o=n(60077),f=n(30365),b=n(42871),S=n(77568),I=n(49450),k=n(22603),g=n(45299),u=n(5419),c=u.set,m=u.getterFor,l=k.find,d=k.findIndex,s=e([].splice),i=0,h=function(N){return N.frozen||(N.frozen=new C)},C=function(){this.entries=[]},v=function(N,V){return l(N.entries,function(y){return y[0]===V})};C.prototype={get:function(){function p(N){var V=v(this,N);if(V)return V[1]}return p}(),has:function(){function p(N){return!!v(this,N)}return p}(),set:function(){function p(N,V){var y=v(this,N);y?y[1]=V:this.entries.push([N,V])}return p}(),delete:function(){function p(N){var V=d(this.entries,function(y){return y[0]===N});return~V&&s(this.entries,V,1),!!~V}return p}()},A.exports={getConstructor:function(){function p(N,V,y,B){var L=N(function(M,O){o(M,w),c(M,{type:V,id:i++,frozen:void 0}),b(O)||I(O,M[B],{that:M,AS_ENTRIES:y})}),w=L.prototype,x=m(V),T=function(){function M(O,D,E){var P=x(O),R=t(f(D),!0);return R===!0?h(P).set(D,E):R[P.id]=E,O}return M}();return a(w,{delete:function(){function M(O){var D=x(this);if(!S(O))return!1;var E=t(O);return E===!0?h(D).delete(O):E&&g(E,D.id)&&delete E[D.id]}return M}(),has:function(){function M(O){var D=x(this);if(!S(O))return!1;var E=t(O);return E===!0?h(D).has(O):E&&g(E,D.id)}return M}()}),a(w,y?{get:function(){function M(O){var D=x(this);if(S(O)){var E=t(O);return E===!0?h(D).get(O):E?E[D.id]:void 0}}return M}(),set:function(){function M(O,D){return T(this,O,D)}return M}()}:{add:function(){function M(O){return T(this,O,!0)}return M}()}),L}return p}()}},45150:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(67250),o=n(41314),f=n(55938),b=n(81969),S=n(49450),I=n(60077),k=n(55747),g=n(42871),u=n(77568),c=n(40033),m=n(92490),l=n(84925),d=n(5781);A.exports=function(s,i,h){var C=s.indexOf("Map")!==-1,v=s.indexOf("Weak")!==-1,p=C?"set":"add",N=a[s],V=N&&N.prototype,y=N,B={},L=function(P){var R=t(V[P]);f(V,P,P==="add"?function(){function j(F){return R(this,F===0?0:F),this}return j}():P==="delete"?function(j){return v&&!u(j)?!1:R(this,j===0?0:j)}:P==="get"?function(){function j(F){return v&&!u(F)?void 0:R(this,F===0?0:F)}return j}():P==="has"?function(){function j(F){return v&&!u(F)?!1:R(this,F===0?0:F)}return j}():function(){function j(F,W){return R(this,F===0?0:F,W),this}return j}())},w=o(s,!k(N)||!(v||V.forEach&&!c(function(){new N().entries().next()})));if(w)y=h.getConstructor(i,s,C,p),b.enable();else if(o(s,!0)){var x=new y,T=x[p](v?{}:-0,1)!==x,M=c(function(){x.has(1)}),O=m(function(E){new N(E)}),D=!v&&c(function(){for(var E=new N,P=5;P--;)E[p](P,P);return!E.has(-0)});O||(y=i(function(E,P){I(E,V);var R=d(new N,E,y);return g(P)||S(P,R[p],{that:R,AS_ENTRIES:C}),R}),y.prototype=V,V.constructor=y),(M||D)&&(L("delete"),L("has"),C&&L("get")),(D||T)&&L(p),v&&V.clear&&delete V.clear}return B[s]=y,e({global:!0,constructor:!0,forced:y!==N},B),l(y,s),v||h.setStrong(y,s,C),y}},5774:function(A,r,n){"use strict";var e=n(45299),a=n(97921),t=n(27193),o=n(74595);A.exports=function(f,b,S){for(var I=a(b),k=o.f,g=t.f,u=0;u"+g+""}},5959:function(A){"use strict";A.exports=function(r,n){return{value:r,done:n}}},37909:function(A,r,n){"use strict";var e=n(58310),a=n(74595),t=n(87458);A.exports=e?function(o,f,b){return a.f(o,f,t(1,b))}:function(o,f,b){return o[f]=b,o}},87458:function(A){"use strict";A.exports=function(r,n){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:n}}},60102:function(A,r,n){"use strict";var e=n(58310),a=n(74595),t=n(87458);A.exports=function(o,f,b){e?a.f(o,f,t(0,b)):o[f]=b}},67206:function(A,r,n){"use strict";var e=n(67250),a=n(40033),t=n(24051).start,o=RangeError,f=isFinite,b=Math.abs,S=Date.prototype,I=S.toISOString,k=e(S.getTime),g=e(S.getUTCDate),u=e(S.getUTCFullYear),c=e(S.getUTCHours),m=e(S.getUTCMilliseconds),l=e(S.getUTCMinutes),d=e(S.getUTCMonth),s=e(S.getUTCSeconds);A.exports=a(function(){return I.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!a(function(){I.call(new Date(NaN))})?function(){function i(){if(!f(k(this)))throw new o("Invalid time value");var h=this,C=u(h),v=m(h),p=C<0?"-":C>9999?"+":"";return p+t(b(C),p?6:4,0)+"-"+t(d(h)+1,2,0)+"-"+t(g(h),2,0)+"T"+t(c(h),2,0)+":"+t(l(h),2,0)+":"+t(s(h),2,0)+"."+t(v,3,0)+"Z"}return i}():I},10886:function(A,r,n){"use strict";var e=n(30365),a=n(13396),t=TypeError;A.exports=function(o){if(e(this),o==="string"||o==="default")o="string";else if(o!=="number")throw new t("Incorrect hint");return a(this,o)}},73936:function(A,r,n){"use strict";var e=n(20001),a=n(74595);A.exports=function(t,o,f){return f.get&&e(f.get,o,{getter:!0}),f.set&&e(f.set,o,{setter:!0}),a.f(t,o,f)}},55938:function(A,r,n){"use strict";var e=n(55747),a=n(74595),t=n(20001),o=n(18231);A.exports=function(f,b,S,I){I||(I={});var k=I.enumerable,g=I.name!==void 0?I.name:b;if(e(S)&&t(S,g,I),I.global)k?f[b]=S:o(b,S);else{try{I.unsafe?f[b]&&(k=!0):delete f[b]}catch(u){}k?f[b]=S:a.f(f,b,{value:S,enumerable:!1,configurable:!I.nonConfigurable,writable:!I.nonWritable})}return f}},30145:function(A,r,n){"use strict";var e=n(55938);A.exports=function(a,t,o){for(var f in t)e(a,f,t[f],o);return a}},18231:function(A,r,n){"use strict";var e=n(74685),a=Object.defineProperty;A.exports=function(t,o){try{a(e,t,{value:o,configurable:!0,writable:!0})}catch(f){e[t]=o}return o}},95108:function(A,r,n){"use strict";var e=n(89393),a=TypeError;A.exports=function(t,o){if(!delete t[o])throw new a("Cannot delete property "+e(o)+" of "+e(t))}},58310:function(A,r,n){"use strict";var e=n(40033);A.exports=!e(function(){return Object.defineProperty({},1,{get:function(){function a(){return 7}return a}()})[1]!==7})},12689:function(A,r,n){"use strict";var e=n(74685),a=n(77568),t=e.document,o=a(t)&&a(t.createElement);A.exports=function(f){return o?t.createElement(f):{}}},21291:function(A){"use strict";var r=TypeError,n=9007199254740991;A.exports=function(e){if(e>n)throw r("Maximum allowed index exceeded");return e}},652:function(A,r,n){"use strict";var e=n(63318),a=e.match(/firefox\/(\d+)/i);A.exports=!!a&&+a[1]},8180:function(A,r,n){"use strict";var e=n(73730),a=n(81702);A.exports=!e&&!a&&typeof window=="object"&&typeof document=="object"},49197:function(A){"use strict";A.exports=typeof Bun=="function"&&Bun&&typeof Bun.version=="string"},73730:function(A){"use strict";A.exports=typeof Deno=="object"&&Deno&&typeof Deno.version=="object"},19228:function(A,r,n){"use strict";var e=n(63318);A.exports=/MSIE|Trident/.test(e)},51802:function(A,r,n){"use strict";var e=n(63318);A.exports=/ipad|iphone|ipod/i.test(e)&&typeof Pebble!="undefined"},83433:function(A,r,n){"use strict";var e=n(63318);A.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(e)},81702:function(A,r,n){"use strict";var e=n(74685),a=n(7462);A.exports=a(e.process)==="process"},63383:function(A,r,n){"use strict";var e=n(63318);A.exports=/web0s(?!.*chrome)/i.test(e)},63318:function(A){"use strict";A.exports=typeof navigator!="undefined"&&String(navigator.userAgent)||""},5026:function(A,r,n){"use strict";var e=n(74685),a=n(63318),t=e.process,o=e.Deno,f=t&&t.versions||o&&o.version,b=f&&f.v8,S,I;b&&(S=b.split("."),I=S[0]>0&&S[0]<4?1:+(S[0]+S[1])),!I&&a&&(S=a.match(/Edge\/(\d+)/),(!S||S[1]>=74)&&(S=a.match(/Chrome\/(\d+)/),S&&(I=+S[1]))),A.exports=I},9342:function(A,r,n){"use strict";var e=n(63318),a=e.match(/AppleWebKit\/(\d+)\./);A.exports=!!a&&+a[1]},89453:function(A){"use strict";A.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},63964:function(A,r,n){"use strict";var e=n(74685),a=n(27193).f,t=n(37909),o=n(55938),f=n(18231),b=n(5774),S=n(41314);A.exports=function(I,k){var g=I.target,u=I.global,c=I.stat,m,l,d,s,i,h;if(u?l=e:c?l=e[g]||f(g,{}):l=e[g]&&e[g].prototype,l)for(d in k){if(i=k[d],I.dontCallGetSet?(h=a(l,d),s=h&&h.value):s=l[d],m=S(u?d:g+(c?".":"#")+d,I.forced),!m&&s!==void 0){if(typeof i==typeof s)continue;b(i,s)}(I.sham||s&&s.sham)&&t(i,"sham",!0),o(l,d,i,I)}}},40033:function(A){"use strict";A.exports=function(r){try{return!!r()}catch(n){return!0}}},79942:function(A,r,n){"use strict";n(79669);var e=n(91495),a=n(55938),t=n(14489),o=n(40033),f=n(24697),b=n(37909),S=f("species"),I=RegExp.prototype;A.exports=function(k,g,u,c){var m=f(k),l=!o(function(){var h={};return h[m]=function(){return 7},""[k](h)!==7}),d=l&&!o(function(){var h=!1,C=/a/;return k==="split"&&(C={},C.constructor={},C.constructor[S]=function(){return C},C.flags="",C[m]=/./[m]),C.exec=function(){return h=!0,null},C[m](""),!h});if(!l||!d||u){var s=/./[m],i=g(m,""[k],function(h,C,v,p,N){var V=C.exec;return V===t||V===I.exec?l&&!N?{done:!0,value:e(s,C,v,p)}:{done:!0,value:e(h,v,C,p)}:{done:!1}});a(String.prototype,k,i[0]),a(I,m,i[1])}c&&b(I[m],"sham",!0)}},65561:function(A,r,n){"use strict";var e=n(37386),a=n(24760),t=n(21291),o=n(75754),f=function b(S,I,k,g,u,c,m,l){for(var d=u,s=0,i=m?o(m,l):!1,h,C;s0&&e(h)?(C=a(h),d=b(S,I,h,C,d,c-1)-1):(t(d+1),S[d]=h),d++),s++;return d};A.exports=f},50730:function(A,r,n){"use strict";var e=n(40033);A.exports=!e(function(){return Object.isExtensible(Object.preventExtensions({}))})},61267:function(A,r,n){"use strict";var e=n(55050),a=Function.prototype,t=a.apply,o=a.call;A.exports=typeof Reflect=="object"&&Reflect.apply||(e?o.bind(t):function(){return o.apply(t,arguments)})},75754:function(A,r,n){"use strict";var e=n(71138),a=n(10320),t=n(55050),o=e(e.bind);A.exports=function(f,b){return a(f),b===void 0?f:t?o(f,b):function(){return f.apply(b,arguments)}}},55050:function(A,r,n){"use strict";var e=n(40033);A.exports=!e(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})},66284:function(A,r,n){"use strict";var e=n(67250),a=n(10320),t=n(77568),o=n(45299),f=n(54602),b=n(55050),S=Function,I=e([].concat),k=e([].join),g={},u=function(m,l,d){if(!o(g,l)){for(var s=[],i=0;i]*>)/g,I=/\$([$&'`]|\d{1,2})/g;A.exports=function(k,g,u,c,m,l){var d=u+k.length,s=c.length,i=I;return m!==void 0&&(m=a(m),i=S),f(l,i,function(h,C){var v;switch(o(C,0)){case"$":return"$";case"&":return k;case"`":return b(g,0,u);case"'":return b(g,d);case"<":v=m[b(C,1,-1)];break;default:var p=+C;if(p===0)return h;if(p>s){var N=t(p/10);return N===0?h:N<=s?c[N-1]===void 0?o(C,1):c[N-1]+o(C,1):h}v=c[p-1]}return v===void 0?"":v})}},74685:function(A,r,n){"use strict";var e=function(t){return t&&t.Math===Math&&t};A.exports=e(typeof globalThis=="object"&&globalThis)||e(typeof window=="object"&&window)||e(typeof self=="object"&&self)||e(typeof n.g=="object"&&n.g)||e(!1)||function(){return this}()||Function("return this")()},45299:function(A,r,n){"use strict";var e=n(67250),a=n(46771),t=e({}.hasOwnProperty);A.exports=Object.hasOwn||function(){function o(f,b){return t(a(f),b)}return o}()},79195:function(A){"use strict";A.exports={}},72259:function(A){"use strict";A.exports=function(r,n){try{arguments.length}catch(e){}}},5315:function(A,r,n){"use strict";var e=n(4009);A.exports=e("document","documentElement")},36223:function(A,r,n){"use strict";var e=n(58310),a=n(40033),t=n(12689);A.exports=!e&&!a(function(){return Object.defineProperty(t("div"),"a",{get:function(){function o(){return 7}return o}()}).a!==7})},91784:function(A){"use strict";var r=Array,n=Math.abs,e=Math.pow,a=Math.floor,t=Math.log,o=Math.LN2,f=function(I,k,g){var u=r(g),c=g*8-k-1,m=(1<>1,d=k===23?e(2,-24)-e(2,-77):0,s=I<0||I===0&&1/I<0?1:0,i=0,h,C,v;for(I=n(I),I!==I||I===1/0?(C=I!==I?1:0,h=m):(h=a(t(I)/o),v=e(2,-h),I*v<1&&(h--,v*=2),h+l>=1?I+=d/v:I+=d*e(2,1-l),I*v>=2&&(h++,v/=2),h+l>=m?(C=0,h=m):h+l>=1?(C=(I*v-1)*e(2,k),h+=l):(C=I*e(2,l-1)*e(2,k),h=0));k>=8;)u[i++]=C&255,C/=256,k-=8;for(h=h<0;)u[i++]=h&255,h/=256,c-=8;return u[--i]|=s*128,u},b=function(I,k){var g=I.length,u=g*8-k-1,c=(1<>1,l=u-7,d=g-1,s=I[d--],i=s&127,h;for(s>>=7;l>0;)i=i*256+I[d--],l-=8;for(h=i&(1<<-l)-1,i>>=-l,l+=k;l>0;)h=h*256+I[d--],l-=8;if(i===0)i=1-m;else{if(i===c)return h?NaN:s?-1/0:1/0;h+=e(2,k),i-=m}return(s?-1:1)*h*e(2,i-k)};A.exports={pack:f,unpack:b}},37457:function(A,r,n){"use strict";var e=n(67250),a=n(40033),t=n(7462),o=Object,f=e("".split);A.exports=a(function(){return!o("z").propertyIsEnumerable(0)})?function(b){return t(b)==="String"?f(b,""):o(b)}:o},5781:function(A,r,n){"use strict";var e=n(55747),a=n(77568),t=n(76649);A.exports=function(o,f,b){var S,I;return t&&e(S=f.constructor)&&S!==b&&a(I=S.prototype)&&I!==b.prototype&&t(o,I),o}},40492:function(A,r,n){"use strict";var e=n(67250),a=n(55747),t=n(40095),o=e(Function.toString);a(t.inspectSource)||(t.inspectSource=function(f){return o(f)}),A.exports=t.inspectSource},81969:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(79195),o=n(77568),f=n(45299),b=n(74595).f,S=n(37310),I=n(81644),k=n(81834),g=n(16738),u=n(50730),c=!1,m=g("meta"),l=0,d=function(N){b(N,m,{value:{objectID:"O"+l++,weakData:{}}})},s=function(N,V){if(!o(N))return typeof N=="symbol"?N:(typeof N=="string"?"S":"P")+N;if(!f(N,m)){if(!k(N))return"F";if(!V)return"E";d(N)}return N[m].objectID},i=function(N,V){if(!f(N,m)){if(!k(N))return!0;if(!V)return!1;d(N)}return N[m].weakData},h=function(N){return u&&c&&k(N)&&!f(N,m)&&d(N),N},C=function(){v.enable=function(){},c=!0;var N=S.f,V=a([].splice),y={};y[m]=1,N(y).length&&(S.f=function(B){for(var L=N(B),w=0,x=L.length;wB;B++)if(w=O(l[B]),w&&S(m,w))return w;return new c(!1)}V=I(l,y)}for(x=C?l.next:V.next;!(T=a(x,V)).done;){try{w=O(T.value)}catch(D){g(V,"throw",D)}if(typeof w=="object"&&w&&S(m,w))return w}return new c(!1)}},28649:function(A,r,n){"use strict";var e=n(91495),a=n(30365),t=n(78060);A.exports=function(o,f,b){var S,I;a(o);try{if(S=t(o,"return"),!S){if(f==="throw")throw b;return b}S=e(S,o)}catch(k){I=!0,S=k}if(f==="throw")throw b;if(I)throw S;return a(S),b}},5656:function(A,r,n){"use strict";var e=n(67635).IteratorPrototype,a=n(80674),t=n(87458),o=n(84925),f=n(83967),b=function(){return this};A.exports=function(S,I,k,g){var u=I+" Iterator";return S.prototype=a(e,{next:t(+!g,k)}),o(S,u,!1,!0),f[u]=b,S}},65574:function(A,r,n){"use strict";var e=n(63964),a=n(91495),t=n(4493),o=n(70520),f=n(55747),b=n(5656),S=n(36917),I=n(76649),k=n(84925),g=n(37909),u=n(55938),c=n(24697),m=n(83967),l=n(67635),d=o.PROPER,s=o.CONFIGURABLE,i=l.IteratorPrototype,h=l.BUGGY_SAFARI_ITERATORS,C=c("iterator"),v="keys",p="values",N="entries",V=function(){return this};A.exports=function(y,B,L,w,x,T,M){b(L,B,w);var O=function(J){if(J===x&&j)return j;if(!h&&J&&J in P)return P[J];switch(J){case v:return function(){function Q(){return new L(this,J)}return Q}();case p:return function(){function Q(){return new L(this,J)}return Q}();case N:return function(){function Q(){return new L(this,J)}return Q}()}return function(){return new L(this)}},D=B+" Iterator",E=!1,P=y.prototype,R=P[C]||P["@@iterator"]||x&&P[x],j=!h&&R||O(x),F=B==="Array"&&P.entries||R,W,z,K;if(F&&(W=S(F.call(new y)),W!==Object.prototype&&W.next&&(!t&&S(W)!==i&&(I?I(W,i):f(W[C])||u(W,C,V)),k(W,D,!0,!0),t&&(m[D]=V))),d&&x===p&&R&&R.name!==p&&(!t&&s?g(P,"name",p):(E=!0,j=function(){function G(){return a(R,this)}return G}())),x)if(z={values:O(p),keys:T?j:O(v),entries:O(N)},M)for(K in z)(h||E||!(K in P))&&u(P,K,z[K]);else e({target:B,proto:!0,forced:h||E},z);return(!t||M)&&P[C]!==j&&u(P,C,j,{name:x}),m[B]=j,z}},67635:function(A,r,n){"use strict";var e=n(40033),a=n(55747),t=n(77568),o=n(80674),f=n(36917),b=n(55938),S=n(24697),I=n(4493),k=S("iterator"),g=!1,u,c,m;[].keys&&(m=[].keys(),"next"in m?(c=f(f(m)),c!==Object.prototype&&(u=c)):g=!0);var l=!t(u)||e(function(){var d={};return u[k].call(d)!==d});l?u={}:I&&(u=o(u)),a(u[k])||b(u,k,function(){return this}),A.exports={IteratorPrototype:u,BUGGY_SAFARI_ITERATORS:g}},83967:function(A){"use strict";A.exports={}},24760:function(A,r,n){"use strict";var e=n(10188);A.exports=function(a){return e(a.length)}},20001:function(A,r,n){"use strict";var e=n(67250),a=n(40033),t=n(55747),o=n(45299),f=n(58310),b=n(70520).CONFIGURABLE,S=n(40492),I=n(5419),k=I.enforce,g=I.get,u=String,c=Object.defineProperty,m=e("".slice),l=e("".replace),d=e([].join),s=f&&!a(function(){return c(function(){},"length",{value:8}).length!==8}),i=String(String).split("String"),h=A.exports=function(C,v,p){m(u(v),0,7)==="Symbol("&&(v="["+l(u(v),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),p&&p.getter&&(v="get "+v),p&&p.setter&&(v="set "+v),(!o(C,"name")||b&&C.name!==v)&&(f?c(C,"name",{value:v,configurable:!0}):C.name=v),s&&p&&o(p,"arity")&&C.length!==p.arity&&c(C,"length",{value:p.arity});try{p&&o(p,"constructor")&&p.constructor?f&&c(C,"prototype",{writable:!1}):C.prototype&&(C.prototype=void 0)}catch(V){}var N=k(C);return o(N,"source")||(N.source=d(i,typeof v=="string"?v:"")),C};Function.prototype.toString=h(function(){function C(){return t(this)&&g(this).source||S(this)}return C}(),"toString")},82040:function(A){"use strict";var r=Math.expm1,n=Math.exp;A.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||r(-2e-17)!==-2e-17?function(){function e(a){var t=+a;return t===0?t:t>-1e-6&&t<1e-6?t+t*t/2:n(t)-1}return e}():r},14950:function(A,r,n){"use strict";var e=n(22172),a=Math.abs,t=2220446049250313e-31,o=1/t,f=function(S){return S+o-o};A.exports=function(b,S,I,k){var g=+b,u=a(g),c=e(g);if(uI||l!==l?c*(1/0):c*l}},95867:function(A,r,n){"use strict";var e=n(14950),a=11920928955078125e-23,t=34028234663852886e22,o=11754943508222875e-54;A.exports=Math.fround||function(){function f(b){return e(b,a,t,o)}return f}()},75002:function(A){"use strict";var r=Math.log,n=Math.LOG10E;A.exports=Math.log10||function(){function e(a){return r(a)*n}return e}()},90874:function(A){"use strict";var r=Math.log;A.exports=Math.log1p||function(){function n(e){var a=+e;return a>-1e-8&&a<1e-8?a-a*a/2:r(1+a)}return n}()},22172:function(A){"use strict";A.exports=Math.sign||function(){function r(n){var e=+n;return e===0||e!==e?e:e<0?-1:1}return r}()},21119:function(A){"use strict";var r=Math.ceil,n=Math.floor;A.exports=Math.trunc||function(){function e(a){var t=+a;return(t>0?n:r)(t)}return e}()},37713:function(A,r,n){"use strict";var e=n(74685),a=n(44915),t=n(75754),o=n(60375).set,f=n(9547),b=n(83433),S=n(51802),I=n(63383),k=n(81702),g=e.MutationObserver||e.WebKitMutationObserver,u=e.document,c=e.process,m=e.Promise,l=a("queueMicrotask"),d,s,i,h,C;if(!l){var v=new f,p=function(){var V,y;for(k&&(V=c.domain)&&V.exit();y=v.get();)try{y()}catch(B){throw v.head&&d(),B}V&&V.enter()};!b&&!k&&!I&&g&&u?(s=!0,i=u.createTextNode(""),new g(p).observe(i,{characterData:!0}),d=function(){i.data=s=!s}):!S&&m&&m.resolve?(h=m.resolve(void 0),h.constructor=m,C=t(h.then,h),d=function(){C(p)}):k?d=function(){c.nextTick(p)}:(o=t(o,e),d=function(){o(p)}),l=function(V){v.head||d(),v.add(V)}}A.exports=l},81837:function(A,r,n){"use strict";var e=n(10320),a=TypeError,t=function(f){var b,S;this.promise=new f(function(I,k){if(b!==void 0||S!==void 0)throw new a("Bad Promise constructor");b=I,S=k}),this.resolve=e(b),this.reject=e(S)};A.exports.f=function(o){return new t(o)}},86213:function(A,r,n){"use strict";var e=n(72586),a=TypeError;A.exports=function(t){if(e(t))throw new a("The method doesn't accept regular expressions");return t}},3294:function(A,r,n){"use strict";var e=n(74685),a=e.isFinite;A.exports=Number.isFinite||function(){function t(o){return typeof o=="number"&&a(o)}return t}()},28506:function(A,r,n){"use strict";var e=n(74685),a=n(40033),t=n(67250),o=n(12605),f=n(92648).trim,b=n(4198),S=t("".charAt),I=e.parseFloat,k=e.Symbol,g=k&&k.iterator,u=1/I(b+"-0")!==-1/0||g&&!a(function(){I(Object(g))});A.exports=u?function(){function c(m){var l=f(o(m)),d=I(l);return d===0&&S(l,0)==="-"?-0:d}return c}():I},13693:function(A,r,n){"use strict";var e=n(74685),a=n(40033),t=n(67250),o=n(12605),f=n(92648).trim,b=n(4198),S=e.parseInt,I=e.Symbol,k=I&&I.iterator,g=/^[+-]?0x/i,u=t(g.exec),c=S(b+"08")!==8||S(b+"0x16")!==22||k&&!a(function(){S(Object(k))});A.exports=c?function(){function m(l,d){var s=f(o(l));return S(s,d>>>0||(u(g,s)?16:10))}return m}():S},41143:function(A,r,n){"use strict";var e=n(58310),a=n(67250),t=n(91495),o=n(40033),f=n(18450),b=n(89235),S=n(12867),I=n(46771),k=n(37457),g=Object.assign,u=Object.defineProperty,c=a([].concat);A.exports=!g||o(function(){if(e&&g({b:1},g(u({},"a",{enumerable:!0,get:function(){function i(){u(this,"b",{value:3,enumerable:!1})}return i}()}),{b:2})).b!==1)return!0;var m={},l={},d=Symbol("assign detection"),s="abcdefghijklmnopqrst";return m[d]=7,s.split("").forEach(function(i){l[i]=i}),g({},m)[d]!==7||f(g({},l)).join("")!==s})?function(){function m(l,d){for(var s=I(l),i=arguments.length,h=1,C=b.f,v=S.f;i>h;)for(var p=k(arguments[h++]),N=C?c(f(p),C(p)):f(p),V=N.length,y=0,B;V>y;)B=N[y++],(!e||t(v,p,B))&&(s[B]=p[B]);return s}return m}():g},80674:function(A,r,n){"use strict";var e=n(30365),a=n(24239),t=n(89453),o=n(79195),f=n(5315),b=n(12689),S=n(19417),I=">",k="<",g="prototype",u="script",c=S("IE_PROTO"),m=function(){},l=function(v){return k+u+I+v+k+"/"+u+I},d=function(v){v.write(l("")),v.close();var p=v.parentWindow.Object;return v=null,p},s=function(){var v=b("iframe"),p="java"+u+":",N;return v.style.display="none",f.appendChild(v),v.src=String(p),N=v.contentWindow.document,N.open(),N.write(l("document.F=Object")),N.close(),N.F},i,h=function(){try{i=new ActiveXObject("htmlfile")}catch(p){}h=typeof document!="undefined"?document.domain&&i?d(i):s():d(i);for(var v=t.length;v--;)delete h[g][t[v]];return h()};o[c]=!0,A.exports=Object.create||function(){function C(v,p){var N;return v!==null?(m[g]=e(v),N=new m,m[g]=null,N[c]=v):N=h(),p===void 0?N:a.f(N,p)}return C}()},24239:function(A,r,n){"use strict";var e=n(58310),a=n(80944),t=n(74595),o=n(30365),f=n(57591),b=n(18450);r.f=e&&!a?Object.defineProperties:function(){function S(I,k){o(I);for(var g=f(k),u=b(k),c=u.length,m=0,l;c>m;)t.f(I,l=u[m++],g[l]);return I}return S}()},74595:function(A,r,n){"use strict";var e=n(58310),a=n(36223),t=n(80944),o=n(30365),f=n(767),b=TypeError,S=Object.defineProperty,I=Object.getOwnPropertyDescriptor,k="enumerable",g="configurable",u="writable";r.f=e?t?function(){function c(m,l,d){if(o(m),l=f(l),o(d),typeof m=="function"&&l==="prototype"&&"value"in d&&u in d&&!d[u]){var s=I(m,l);s&&s[u]&&(m[l]=d.value,d={configurable:g in d?d[g]:s[g],enumerable:k in d?d[k]:s[k],writable:!1})}return S(m,l,d)}return c}():S:function(){function c(m,l,d){if(o(m),l=f(l),o(d),a)try{return S(m,l,d)}catch(s){}if("get"in d||"set"in d)throw new b("Accessors not supported");return"value"in d&&(m[l]=d.value),m}return c}()},27193:function(A,r,n){"use strict";var e=n(58310),a=n(91495),t=n(12867),o=n(87458),f=n(57591),b=n(767),S=n(45299),I=n(36223),k=Object.getOwnPropertyDescriptor;r.f=e?k:function(){function g(u,c){if(u=f(u),c=b(c),I)try{return k(u,c)}catch(m){}if(S(u,c))return o(!a(t.f,u,c),u[c])}return g}()},81644:function(A,r,n){"use strict";var e=n(7462),a=n(57591),t=n(37310).f,o=n(54602),f=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],b=function(I){try{return t(I)}catch(k){return o(f)}};A.exports.f=function(){function S(I){return f&&e(I)==="Window"?b(I):t(a(I))}return S}()},37310:function(A,r,n){"use strict";var e=n(53726),a=n(89453),t=a.concat("length","prototype");r.f=Object.getOwnPropertyNames||function(){function o(f){return e(f,t)}return o}()},89235:function(A,r){"use strict";r.f=Object.getOwnPropertySymbols},36917:function(A,r,n){"use strict";var e=n(45299),a=n(55747),t=n(46771),o=n(19417),f=n(9225),b=o("IE_PROTO"),S=Object,I=S.prototype;A.exports=f?S.getPrototypeOf:function(k){var g=t(k);if(e(g,b))return g[b];var u=g.constructor;return a(u)&&g instanceof u?u.prototype:g instanceof S?I:null}},81834:function(A,r,n){"use strict";var e=n(40033),a=n(77568),t=n(7462),o=n(3782),f=Object.isExtensible,b=e(function(){f(1)});A.exports=b||o?function(){function S(I){return!a(I)||o&&t(I)==="ArrayBuffer"?!1:f?f(I):!0}return S}():f},21287:function(A,r,n){"use strict";var e=n(67250);A.exports=e({}.isPrototypeOf)},53726:function(A,r,n){"use strict";var e=n(67250),a=n(45299),t=n(57591),o=n(14211).indexOf,f=n(79195),b=e([].push);A.exports=function(S,I){var k=t(S),g=0,u=[],c;for(c in k)!a(f,c)&&a(k,c)&&b(u,c);for(;I.length>g;)a(k,c=I[g++])&&(~o(u,c)||b(u,c));return u}},18450:function(A,r,n){"use strict";var e=n(53726),a=n(89453);A.exports=Object.keys||function(){function t(o){return e(o,a)}return t}()},12867:function(A,r){"use strict";var n={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,a=e&&!n.call({1:2},1);r.f=a?function(){function t(o){var f=e(this,o);return!!f&&f.enumerable}return t}():n},57377:function(A,r,n){"use strict";var e=n(4493),a=n(74685),t=n(40033),o=n(9342);A.exports=e||!t(function(){if(!(o&&o<535)){var f=Math.random();__defineSetter__.call(null,f,function(){}),delete a[f]}})},76649:function(A,r,n){"use strict";var e=n(38656),a=n(77568),t=n(16952),o=n(35908);A.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var f=!1,b={},S;try{S=e(Object.prototype,"__proto__","set"),S(b,[]),f=b instanceof Array}catch(I){}return function(){function I(k,g){return t(k),o(g),a(k)&&(f?S(k,g):k.__proto__=g),k}return I}()}():void 0)},70915:function(A,r,n){"use strict";var e=n(58310),a=n(40033),t=n(67250),o=n(36917),f=n(18450),b=n(57591),S=n(12867).f,I=t(S),k=t([].push),g=e&&a(function(){var c=Object.create(null);return c[2]=2,!I(c,2)}),u=function(m){return function(l){for(var d=b(l),s=f(d),i=g&&o(d)===null,h=s.length,C=0,v=[],p;h>C;)p=s[C++],(!e||(i?p in d:I(d,p)))&&k(v,m?[p,d[p]]:d[p]);return v}};A.exports={entries:u(!0),values:u(!1)}},2509:function(A,r,n){"use strict";var e=n(2650),a=n(2281);A.exports=e?{}.toString:function(){function t(){return"[object "+a(this)+"]"}return t}()},13396:function(A,r,n){"use strict";var e=n(91495),a=n(55747),t=n(77568),o=TypeError;A.exports=function(f,b){var S,I;if(b==="string"&&a(S=f.toString)&&!t(I=e(S,f))||a(S=f.valueOf)&&!t(I=e(S,f))||b!=="string"&&a(S=f.toString)&&!t(I=e(S,f)))return I;throw new o("Can't convert object to primitive value")}},97921:function(A,r,n){"use strict";var e=n(4009),a=n(67250),t=n(37310),o=n(89235),f=n(30365),b=a([].concat);A.exports=e("Reflect","ownKeys")||function(){function S(I){var k=t.f(f(I)),g=o.f;return g?b(k,g(I)):k}return S}()},61765:function(A,r,n){"use strict";var e=n(74685);A.exports=e},10729:function(A){"use strict";A.exports=function(r){try{return{error:!1,value:r()}}catch(n){return{error:!0,value:n}}}},74854:function(A,r,n){"use strict";var e=n(74685),a=n(67512),t=n(55747),o=n(41314),f=n(40492),b=n(24697),S=n(8180),I=n(73730),k=n(4493),g=n(5026),u=a&&a.prototype,c=b("species"),m=!1,l=t(e.PromiseRejectionEvent),d=o("Promise",function(){var s=f(a),i=s!==String(a);if(!i&&g===66||k&&!(u.catch&&u.finally))return!0;if(!g||g<51||!/native code/.test(s)){var h=new a(function(p){p(1)}),C=function(N){N(function(){},function(){})},v=h.constructor={};if(v[c]=C,m=h.then(function(){})instanceof C,!m)return!0}return!i&&(S||I)&&!l});A.exports={CONSTRUCTOR:d,REJECTION_EVENT:l,SUBCLASSING:m}},67512:function(A,r,n){"use strict";var e=n(74685);A.exports=e.Promise},66628:function(A,r,n){"use strict";var e=n(30365),a=n(77568),t=n(81837);A.exports=function(o,f){if(e(o),a(f)&&f.constructor===o)return f;var b=t.f(o),S=b.resolve;return S(f),b.promise}},48199:function(A,r,n){"use strict";var e=n(67512),a=n(92490),t=n(74854).CONSTRUCTOR;A.exports=t||!a(function(o){e.all(o).then(void 0,function(){})})},34550:function(A,r,n){"use strict";var e=n(74595).f;A.exports=function(a,t,o){o in a||e(a,o,{configurable:!0,get:function(){function f(){return t[o]}return f}(),set:function(){function f(b){t[o]=b}return f}()})}},9547:function(A){"use strict";var r=function(){this.head=null,this.tail=null};r.prototype={add:function(){function n(e){var a={item:e,next:null},t=this.tail;t?t.next=a:this.head=a,this.tail=a}return n}(),get:function(){function n(){var e=this.head;if(e){var a=this.head=e.next;return a===null&&(this.tail=null),e.item}}return n}()},A.exports=r},28340:function(A,r,n){"use strict";var e=n(91495),a=n(30365),t=n(55747),o=n(7462),f=n(14489),b=TypeError;A.exports=function(S,I){var k=S.exec;if(t(k)){var g=e(k,S,I);return g!==null&&a(g),g}if(o(S)==="RegExp")return e(f,S,I);throw new b("RegExp#exec called on incompatible receiver")}},14489:function(A,r,n){"use strict";var e=n(91495),a=n(67250),t=n(12605),o=n(70901),f=n(62115),b=n(16639),S=n(80674),I=n(5419).get,k=n(39173),g=n(35688),u=b("native-string-replace",String.prototype.replace),c=RegExp.prototype.exec,m=c,l=a("".charAt),d=a("".indexOf),s=a("".replace),i=a("".slice),h=function(){var N=/a/,V=/b*/g;return e(c,N,"a"),e(c,V,"a"),N.lastIndex!==0||V.lastIndex!==0}(),C=f.BROKEN_CARET,v=/()??/.exec("")[1]!==void 0,p=h||v||C||k||g;p&&(m=function(){function N(V){var y=this,B=I(y),L=t(V),w=B.raw,x,T,M,O,D,E,P;if(w)return w.lastIndex=y.lastIndex,x=e(m,w,L),y.lastIndex=w.lastIndex,x;var R=B.groups,j=C&&y.sticky,F=e(o,y),W=y.source,z=0,K=L;if(j&&(F=s(F,"y",""),d(F,"g")===-1&&(F+="g"),K=i(L,y.lastIndex),y.lastIndex>0&&(!y.multiline||y.multiline&&l(L,y.lastIndex-1)!=="\n")&&(W="(?: "+W+")",K=" "+K,z++),T=new RegExp("^(?:"+W+")",F)),v&&(T=new RegExp("^"+W+"$(?!\\s)",F)),h&&(M=y.lastIndex),O=e(c,j?T:y,K),j?O?(O.input=i(O.input,z),O[0]=i(O[0],z),O.index=y.lastIndex,y.lastIndex+=O[0].length):y.lastIndex=0:h&&O&&(y.lastIndex=y.global?O.index+O[0].length:M),v&&O&&O.length>1&&e(u,O[0],T,function(){for(D=1;Db)","g");return o.exec("b").groups.a!=="b"||"b".replace(o,"$c")!=="bc"})},16952:function(A,r,n){"use strict";var e=n(42871),a=TypeError;A.exports=function(t){if(e(t))throw new a("Can't call method on "+t);return t}},44915:function(A,r,n){"use strict";var e=n(74685),a=n(58310),t=Object.getOwnPropertyDescriptor;A.exports=function(o){if(!a)return e[o];var f=t(e,o);return f&&f.value}},5700:function(A){"use strict";A.exports=Object.is||function(){function r(n,e){return n===e?n!==0||1/n===1/e:n!==n&&e!==e}return r}()},78362:function(A,r,n){"use strict";var e=n(74685),a=n(61267),t=n(55747),o=n(49197),f=n(63318),b=n(54602),S=n(24986),I=e.Function,k=/MSIE .\./.test(f)||o&&function(){var g=e.Bun.version.split(".");return g.length<3||g[0]==="0"&&(g[1]<3||g[1]==="3"&&g[2]==="0")}();A.exports=function(g,u){var c=u?2:1;return k?function(m,l){var d=S(arguments.length,1)>c,s=t(m)?m:I(m),i=d?b(arguments,c):[],h=d?function(){a(s,this,i)}:s;return u?g(h,l):g(h)}:g}},58491:function(A,r,n){"use strict";var e=n(4009),a=n(73936),t=n(24697),o=n(58310),f=t("species");A.exports=function(b){var S=e(b);o&&S&&!S[f]&&a(S,f,{configurable:!0,get:function(){function I(){return this}return I}()})}},84925:function(A,r,n){"use strict";var e=n(74595).f,a=n(45299),t=n(24697),o=t("toStringTag");A.exports=function(f,b,S){f&&!S&&(f=f.prototype),f&&!a(f,o)&&e(f,o,{configurable:!0,value:b})}},19417:function(A,r,n){"use strict";var e=n(16639),a=n(16738),t=e("keys");A.exports=function(o){return t[o]||(t[o]=a(o))}},40095:function(A,r,n){"use strict";var e=n(4493),a=n(74685),t=n(18231),o="__core-js_shared__",f=A.exports=a[o]||t(o,{});(f.versions||(f.versions=[])).push({version:"3.37.1",mode:e?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE",source:"https://github.com/zloirock/core-js"})},16639:function(A,r,n){"use strict";var e=n(40095);A.exports=function(a,t){return e[a]||(e[a]=t||{})}},28987:function(A,r,n){"use strict";var e=n(30365),a=n(32606),t=n(42871),o=n(24697),f=o("species");A.exports=function(b,S){var I=e(b).constructor,k;return I===void 0||t(k=e(I)[f])?S:a(k)}},88539:function(A,r,n){"use strict";var e=n(40033);A.exports=function(a){return e(function(){var t=""[a]('"');return t!==t.toLowerCase()||t.split('"').length>3})}},50233:function(A,r,n){"use strict";var e=n(67250),a=n(61365),t=n(12605),o=n(16952),f=e("".charAt),b=e("".charCodeAt),S=e("".slice),I=function(g){return function(u,c){var m=t(o(u)),l=a(c),d=m.length,s,i;return l<0||l>=d?g?"":void 0:(s=b(m,l),s<55296||s>56319||l+1===d||(i=b(m,l+1))<56320||i>57343?g?f(m,l):s:g?S(m,l,l+2):(s-55296<<10)+(i-56320)+65536)}};A.exports={codeAt:I(!1),charAt:I(!0)}},34125:function(A,r,n){"use strict";var e=n(63318);A.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(e)},24051:function(A,r,n){"use strict";var e=n(67250),a=n(10188),t=n(12605),o=n(62443),f=n(16952),b=e(o),S=e("".slice),I=Math.ceil,k=function(u){return function(c,m,l){var d=t(f(c)),s=a(m),i=d.length,h=l===void 0?" ":t(l),C,v;return s<=i||h===""?d:(C=s-i,v=b(h,I(C/h.length)),v.length>C&&(v=S(v,0,C)),u?d+v:v+d)}};A.exports={start:k(!1),end:k(!0)}},62443:function(A,r,n){"use strict";var e=n(61365),a=n(12605),t=n(16952),o=RangeError;A.exports=function(){function f(b){var S=a(t(this)),I="",k=e(b);if(k<0||k===1/0)throw new o("Wrong number of repetitions");for(;k>0;(k>>>=1)&&(S+=S))k&1&&(I+=S);return I}return f}()},43476:function(A,r,n){"use strict";var e=n(92648).end,a=n(90012);A.exports=a("trimEnd")?function(){function t(){return e(this)}return t}():"".trimEnd},90012:function(A,r,n){"use strict";var e=n(70520).PROPER,a=n(40033),t=n(4198),o="\u200B\x85\u180E";A.exports=function(f){return a(function(){return!!t[f]()||o[f]()!==o||e&&t[f].name!==f})}},43885:function(A,r,n){"use strict";var e=n(92648).start,a=n(90012);A.exports=a("trimStart")?function(){function t(){return e(this)}return t}():"".trimStart},92648:function(A,r,n){"use strict";var e=n(67250),a=n(16952),t=n(12605),o=n(4198),f=e("".replace),b=RegExp("^["+o+"]+"),S=RegExp("(^|[^"+o+"])["+o+"]+$"),I=function(g){return function(u){var c=t(a(u));return g&1&&(c=f(c,b,"")),g&2&&(c=f(c,S,"$1")),c}};A.exports={start:I(1),end:I(2),trim:I(3)}},52357:function(A,r,n){"use strict";var e=n(5026),a=n(40033),t=n(74685),o=t.String;A.exports=!!Object.getOwnPropertySymbols&&!a(function(){var f=Symbol("symbol detection");return!o(f)||!(Object(f)instanceof Symbol)||!Symbol.sham&&e&&e<41})},52360:function(A,r,n){"use strict";var e=n(91495),a=n(4009),t=n(24697),o=n(55938);A.exports=function(){var f=a("Symbol"),b=f&&f.prototype,S=b&&b.valueOf,I=t("toPrimitive");b&&!b[I]&&o(b,I,function(k){return e(S,this)},{arity:1})}},66570:function(A,r,n){"use strict";var e=n(52357);A.exports=e&&!!Symbol.for&&!!Symbol.keyFor},60375:function(A,r,n){"use strict";var e=n(74685),a=n(61267),t=n(75754),o=n(55747),f=n(45299),b=n(40033),S=n(5315),I=n(54602),k=n(12689),g=n(24986),u=n(83433),c=n(81702),m=e.setImmediate,l=e.clearImmediate,d=e.process,s=e.Dispatch,i=e.Function,h=e.MessageChannel,C=e.String,v=0,p={},N="onreadystatechange",V,y,B,L;b(function(){V=e.location});var w=function(D){if(f(p,D)){var E=p[D];delete p[D],E()}},x=function(D){return function(){w(D)}},T=function(D){w(D.data)},M=function(D){e.postMessage(C(D),V.protocol+"//"+V.host)};(!m||!l)&&(m=function(){function O(D){g(arguments.length,1);var E=o(D)?D:i(D),P=I(arguments,1);return p[++v]=function(){a(E,void 0,P)},y(v),v}return O}(),l=function(){function O(D){delete p[D]}return O}(),c?y=function(D){d.nextTick(x(D))}:s&&s.now?y=function(D){s.now(x(D))}:h&&!u?(B=new h,L=B.port2,B.port1.onmessage=T,y=t(L.postMessage,L)):e.addEventListener&&o(e.postMessage)&&!e.importScripts&&V&&V.protocol!=="file:"&&!b(M)?(y=M,e.addEventListener("message",T,!1)):N in k("script")?y=function(D){S.appendChild(k("script"))[N]=function(){S.removeChild(this),w(D)}}:y=function(D){setTimeout(x(D),0)}),A.exports={set:m,clear:l}},46438:function(A,r,n){"use strict";var e=n(67250);A.exports=e(1 .valueOf)},13912:function(A,r,n){"use strict";var e=n(61365),a=Math.max,t=Math.min;A.exports=function(o,f){var b=e(o);return b<0?a(b+f,0):t(b,f)}},61484:function(A,r,n){"use strict";var e=n(24843),a=TypeError;A.exports=function(t){var o=e(t,"number");if(typeof o=="number")throw new a("Can't convert number to bigint");return BigInt(o)}},43806:function(A,r,n){"use strict";var e=n(61365),a=n(10188),t=RangeError;A.exports=function(o){if(o===void 0)return 0;var f=e(o),b=a(f);if(f!==b)throw new t("Wrong length or index");return b}},57591:function(A,r,n){"use strict";var e=n(37457),a=n(16952);A.exports=function(t){return e(a(t))}},61365:function(A,r,n){"use strict";var e=n(21119);A.exports=function(a){var t=+a;return t!==t||t===0?0:e(t)}},10188:function(A,r,n){"use strict";var e=n(61365),a=Math.min;A.exports=function(t){var o=e(t);return o>0?a(o,9007199254740991):0}},46771:function(A,r,n){"use strict";var e=n(16952),a=Object;A.exports=function(t){return a(e(t))}},56043:function(A,r,n){"use strict";var e=n(16140),a=RangeError;A.exports=function(t,o){var f=e(t);if(f%o)throw new a("Wrong offset");return f}},16140:function(A,r,n){"use strict";var e=n(61365),a=RangeError;A.exports=function(t){var o=e(t);if(o<0)throw new a("The argument can't be less than 0");return o}},24843:function(A,r,n){"use strict";var e=n(91495),a=n(77568),t=n(71399),o=n(78060),f=n(13396),b=n(24697),S=TypeError,I=b("toPrimitive");A.exports=function(k,g){if(!a(k)||t(k))return k;var u=o(k,I),c;if(u){if(g===void 0&&(g="default"),c=e(u,k,g),!a(c)||t(c))return c;throw new S("Can't convert object to primitive value")}return g===void 0&&(g="number"),f(k,g)}},767:function(A,r,n){"use strict";var e=n(24843),a=n(71399);A.exports=function(t){var o=e(t,"string");return a(o)?o:o+""}},2650:function(A,r,n){"use strict";var e=n(24697),a=e("toStringTag"),t={};t[a]="z",A.exports=String(t)==="[object z]"},12605:function(A,r,n){"use strict";var e=n(2281),a=String;A.exports=function(t){if(e(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return a(t)}},15409:function(A){"use strict";var r=Math.round;A.exports=function(n){var e=r(n);return e<0?0:e>255?255:e&255}},89393:function(A){"use strict";var r=String;A.exports=function(n){try{return r(n)}catch(e){return"Object"}}},80185:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(91495),o=n(58310),f=n(86563),b=n(4246),S=n(37336),I=n(60077),k=n(87458),g=n(37909),u=n(5841),c=n(10188),m=n(43806),l=n(56043),d=n(15409),s=n(767),i=n(45299),h=n(2281),C=n(77568),v=n(71399),p=n(80674),N=n(21287),V=n(76649),y=n(37310).f,B=n(3805),L=n(22603).forEach,w=n(58491),x=n(73936),T=n(74595),M=n(27193),O=n(78008),D=n(5419),E=n(5781),P=D.get,R=D.set,j=D.enforce,F=T.f,W=M.f,z=a.RangeError,K=S.ArrayBuffer,G=K.prototype,J=S.DataView,Q=b.NATIVE_ARRAY_BUFFER_VIEWS,ue=b.TYPED_ARRAY_TAG,ie=b.TypedArray,pe=b.TypedArrayPrototype,te=b.isTypedArray,q="BYTES_PER_ELEMENT",ne="Wrong length",le=function(Y,ve){x(Y,ve,{configurable:!0,get:function(){function he(){return P(this)[ve]}return he}()})},ee=function(Y){var ve;return N(G,Y)||(ve=h(Y))==="ArrayBuffer"||ve==="SharedArrayBuffer"},re=function(Y,ve){return te(Y)&&!v(ve)&&ve in Y&&u(+ve)&&ve>=0},oe=function(){function me(Y,ve){return ve=s(ve),re(Y,ve)?k(2,Y[ve]):W(Y,ve)}return me}(),fe=function(){function me(Y,ve,he){return ve=s(ve),re(Y,ve)&&C(he)&&i(he,"value")&&!i(he,"get")&&!i(he,"set")&&!he.configurable&&(!i(he,"writable")||he.writable)&&(!i(he,"enumerable")||he.enumerable)?(Y[ve]=he.value,Y):F(Y,ve,he)}return me}();o?(Q||(M.f=oe,T.f=fe,le(pe,"buffer"),le(pe,"byteOffset"),le(pe,"byteLength"),le(pe,"length")),e({target:"Object",stat:!0,forced:!Q},{getOwnPropertyDescriptor:oe,defineProperty:fe}),A.exports=function(me,Y,ve){var he=me.match(/\d+/)[0]/8,Ve=me+(ve?"Clamped":"")+"Array",Be="get"+me,be="set"+me,Le=a[Ve],we=Le,xe=we&&we.prototype,Re={},He=function(ge,Se){var Pe=P(ge);return Pe.view[Be](Se*he+Pe.byteOffset,!0)},ye=function(ge,Se,Pe){var je=P(ge);je.view[be](Se*he+je.byteOffset,ve?d(Pe):Pe,!0)},de=function(ge,Se){F(ge,Se,{get:function(){function Pe(){return He(this,Se)}return Pe}(),set:function(){function Pe(je){return ye(this,Se,je)}return Pe}(),enumerable:!0})};Q?f&&(we=Y(function(ke,ge,Se,Pe){return I(ke,xe),E(function(){return C(ge)?ee(ge)?Pe!==void 0?new Le(ge,l(Se,he),Pe):Se!==void 0?new Le(ge,l(Se,he)):new Le(ge):te(ge)?O(we,ge):t(B,we,ge):new Le(m(ge))}(),ke,we)}),V&&V(we,ie),L(y(Le),function(ke){ke in we||g(we,ke,Le[ke])}),we.prototype=xe):(we=Y(function(ke,ge,Se,Pe){I(ke,xe);var je=0,_e=0,ze,We,Ue;if(!C(ge))Ue=m(ge),We=Ue*he,ze=new K(We);else if(ee(ge)){ze=ge,_e=l(Se,he);var Xe=ge.byteLength;if(Pe===void 0){if(Xe%he)throw new z(ne);if(We=Xe-_e,We<0)throw new z(ne)}else if(We=c(Pe)*he,We+_e>Xe)throw new z(ne);Ue=We/he}else return te(ge)?O(we,ge):t(B,we,ge);for(R(ke,{buffer:ze,byteOffset:_e,byteLength:We,length:Ue,view:new J(ze)});je1?arguments[1]:void 0,h=i!==void 0,C=S(d),v,p,N,V,y,B,L,w;if(C&&!I(C))for(L=b(d,C),w=L.next,d=[];!(B=a(w,L)).done;)d.push(B.value);for(h&&s>2&&(i=e(i,arguments[2])),p=f(d),N=new(g(l))(p),V=k(N),v=0;p>v;v++)y=h?i(d[v],v):d[v],N[v]=V?u(y):+y;return N}return c}()},31082:function(A,r,n){"use strict";var e=n(4246),a=n(28987),t=e.aTypedArrayConstructor,o=e.getTypedArrayConstructor;A.exports=function(f){return t(a(f,o(f)))}},16738:function(A,r,n){"use strict";var e=n(67250),a=0,t=Math.random(),o=e(1 .toString);A.exports=function(f){return"Symbol("+(f===void 0?"":f)+")_"+o(++a+t,36)}},1062:function(A,r,n){"use strict";var e=n(52357);A.exports=e&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},80944:function(A,r,n){"use strict";var e=n(58310),a=n(40033);A.exports=e&&a(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},24986:function(A){"use strict";var r=TypeError;A.exports=function(n,e){if(n=51||!a(function(){var i=[];return i[m]=!1,i.concat()[0]!==i}),d=function(h){if(!o(h))return!1;var C=h[m];return C!==void 0?!!C:t(h)},s=!l||!g("concat");e({target:"Array",proto:!0,arity:1,forced:s},{concat:function(){function i(h){var C=f(this),v=k(C,0),p=0,N,V,y,B,L;for(N=-1,y=arguments.length;N1?arguments[1]:void 0)}return f}()})},68933:function(A,r,n){"use strict";var e=n(63964),a=n(88471),t=n(80575);e({target:"Array",proto:!0},{fill:a}),t("fill")},47830:function(A,r,n){"use strict";var e=n(63964),a=n(22603).filter,t=n(44091),o=t("filter");e({target:"Array",proto:!0,forced:!o},{filter:function(){function f(b){return a(this,b,arguments.length>1?arguments[1]:void 0)}return f}()})},64094:function(A,r,n){"use strict";var e=n(63964),a=n(22603).findIndex,t=n(80575),o="findIndex",f=!0;o in[]&&Array(1)[o](function(){f=!1}),e({target:"Array",proto:!0,forced:f},{findIndex:function(){function b(S){return a(this,S,arguments.length>1?arguments[1]:void 0)}return b}()}),t(o)},13455:function(A,r,n){"use strict";var e=n(63964),a=n(22603).find,t=n(80575),o="find",f=!0;o in[]&&Array(1)[o](function(){f=!1}),e({target:"Array",proto:!0,forced:f},{find:function(){function b(S){return a(this,S,arguments.length>1?arguments[1]:void 0)}return b}()}),t(o)},32384:function(A,r,n){"use strict";var e=n(63964),a=n(65561),t=n(10320),o=n(46771),f=n(24760),b=n(57823);e({target:"Array",proto:!0},{flatMap:function(){function S(I){var k=o(this),g=f(k),u;return t(I),u=b(k,0),u.length=a(u,k,k,g,0,1,I,arguments.length>1?arguments[1]:void 0),u}return S}()})},61915:function(A,r,n){"use strict";var e=n(63964),a=n(65561),t=n(46771),o=n(24760),f=n(61365),b=n(57823);e({target:"Array",proto:!0},{flat:function(){function S(){var I=arguments.length?arguments[0]:void 0,k=t(this),g=o(k),u=b(k,0);return u.length=a(u,k,k,g,0,I===void 0?1:f(I)),u}return S}()})},25579:function(A,r,n){"use strict";var e=n(63964),a=n(35601);e({target:"Array",proto:!0,forced:[].forEach!==a},{forEach:a})},63532:function(A,r,n){"use strict";var e=n(63964),a=n(73174),t=n(92490),o=!t(function(f){Array.from(f)});e({target:"Array",stat:!0,forced:o},{from:a})},33425:function(A,r,n){"use strict";var e=n(63964),a=n(14211).includes,t=n(40033),o=n(80575),f=t(function(){return!Array(1).includes()});e({target:"Array",proto:!0,forced:f},{includes:function(){function b(S){return a(this,S,arguments.length>1?arguments[1]:void 0)}return b}()}),o("includes")},43894:function(A,r,n){"use strict";var e=n(63964),a=n(71138),t=n(14211).indexOf,o=n(55528),f=a([].indexOf),b=!!f&&1/f([1],1,-0)<0,S=b||!o("indexOf");e({target:"Array",proto:!0,forced:S},{indexOf:function(){function I(k){var g=arguments.length>1?arguments[1]:void 0;return b?f(this,k,g)||0:t(this,k,g)}return I}()})},99636:function(A,r,n){"use strict";var e=n(63964),a=n(37386);e({target:"Array",stat:!0},{isArray:a})},34570:function(A,r,n){"use strict";var e=n(57591),a=n(80575),t=n(83967),o=n(5419),f=n(74595).f,b=n(65574),S=n(5959),I=n(4493),k=n(58310),g="Array Iterator",u=o.set,c=o.getterFor(g);A.exports=b(Array,"Array",function(l,d){u(this,{type:g,target:e(l),index:0,kind:d})},function(){var l=c(this),d=l.target,s=l.index++;if(!d||s>=d.length)return l.target=void 0,S(void 0,!0);switch(l.kind){case"keys":return S(s,!1);case"values":return S(d[s],!1)}return S([s,d[s]],!1)},"values");var m=t.Arguments=t.Array;if(a("keys"),a("values"),a("entries"),!I&&k&&m.name!=="values")try{f(m,"name",{value:"values"})}catch(l){}},94432:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(37457),o=n(57591),f=n(55528),b=a([].join),S=t!==Object,I=S||!f("join",",");e({target:"Array",proto:!0,forced:I},{join:function(){function k(g){return b(o(this),g===void 0?",":g)}return k}()})},24683:function(A,r,n){"use strict";var e=n(63964),a=n(1325);e({target:"Array",proto:!0,forced:a!==[].lastIndexOf},{lastIndexOf:a})},69984:function(A,r,n){"use strict";var e=n(63964),a=n(22603).map,t=n(44091),o=t("map");e({target:"Array",proto:!0,forced:!o},{map:function(){function f(b){return a(this,b,arguments.length>1?arguments[1]:void 0)}return f}()})},32089:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(1031),o=n(60102),f=Array,b=a(function(){function S(){}return!(f.of.call(S)instanceof S)});e({target:"Array",stat:!0,forced:b},{of:function(){function S(){for(var I=0,k=arguments.length,g=new(t(this)?this:f)(k);k>I;)o(g,I,arguments[I++]);return g.length=k,g}return S}()})},29645:function(A,r,n){"use strict";var e=n(63964),a=n(56844).right,t=n(55528),o=n(5026),f=n(81702),b=!f&&o>79&&o<83,S=b||!t("reduceRight");e({target:"Array",proto:!0,forced:S},{reduceRight:function(){function I(k){return a(this,k,arguments.length,arguments.length>1?arguments[1]:void 0)}return I}()})},60206:function(A,r,n){"use strict";var e=n(63964),a=n(56844).left,t=n(55528),o=n(5026),f=n(81702),b=!f&&o>79&&o<83,S=b||!t("reduce");e({target:"Array",proto:!0,forced:S},{reduce:function(){function I(k){var g=arguments.length;return a(this,k,g,g>1?arguments[1]:void 0)}return I}()})},4788:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(37386),o=a([].reverse),f=[1,2];e({target:"Array",proto:!0,forced:String(f)===String(f.reverse())},{reverse:function(){function b(){return t(this)&&(this.length=this.length),o(this)}return b}()})},58672:function(A,r,n){"use strict";var e=n(63964),a=n(37386),t=n(1031),o=n(77568),f=n(13912),b=n(24760),S=n(57591),I=n(60102),k=n(24697),g=n(44091),u=n(54602),c=g("slice"),m=k("species"),l=Array,d=Math.max;e({target:"Array",proto:!0,forced:!c},{slice:function(){function s(i,h){var C=S(this),v=b(C),p=f(i,v),N=f(h===void 0?v:h,v),V,y,B;if(a(C)&&(V=C.constructor,t(V)&&(V===l||a(V.prototype))?V=void 0:o(V)&&(V=V[m],V===null&&(V=void 0)),V===l||V===void 0))return u(C,p,N);for(y=new(V===void 0?l:V)(d(N-p,0)),B=0;p1?arguments[1]:void 0)}return f}()})},48968:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(10320),o=n(46771),f=n(24760),b=n(95108),S=n(12605),I=n(40033),k=n(90274),g=n(55528),u=n(652),c=n(19228),m=n(5026),l=n(9342),d=[],s=a(d.sort),i=a(d.push),h=I(function(){d.sort(void 0)}),C=I(function(){d.sort(null)}),v=g("sort"),p=!I(function(){if(m)return m<70;if(!(u&&u>3)){if(c)return!0;if(l)return l<603;var y="",B,L,w,x;for(B=65;B<76;B++){switch(L=String.fromCharCode(B),B){case 66:case 69:case 70:case 72:w=3;break;case 68:case 71:w=4;break;default:w=2}for(x=0;x<47;x++)d.push({k:L+x,v:w})}for(d.sort(function(T,M){return M.v-T.v}),x=0;xS(w)?1:-1}};e({target:"Array",proto:!0,forced:N},{sort:function(){function y(B){B!==void 0&&t(B);var L=o(this);if(p)return B===void 0?s(L):s(L,B);var w=[],x=f(L),T,M;for(M=0;MC-V+N;B--)g(h,B-1)}else if(N>V)for(B=C-V;B>v;B--)L=B+V-1,w=B+N-1,L in h?h[w]=h[L]:g(h,w);for(B=0;B9490626562425156e-8?o(g)+b:a(g-1+f(g-1)*f(g+1))}return I}()})},59660:function(A,r,n){"use strict";var e=n(63964),a=Math.asinh,t=Math.log,o=Math.sqrt;function f(S){var I=+S;return!isFinite(I)||I===0?I:I<0?-f(-I):t(I+o(I*I+1))}var b=!(a&&1/a(0)>0);e({target:"Math",stat:!0,forced:b},{asinh:f})},15383:function(A,r,n){"use strict";var e=n(63964),a=Math.atanh,t=Math.log,o=!(a&&1/a(-0)<0);e({target:"Math",stat:!0,forced:o},{atanh:function(){function f(b){var S=+b;return S===0?S:t((1+S)/(1-S))/2}return f}()})},92866:function(A,r,n){"use strict";var e=n(63964),a=n(22172),t=Math.abs,o=Math.pow;e({target:"Math",stat:!0},{cbrt:function(){function f(b){var S=+b;return a(S)*o(t(S),.3333333333333333)}return f}()})},86107:function(A,r,n){"use strict";var e=n(63964),a=Math.floor,t=Math.log,o=Math.LOG2E;e({target:"Math",stat:!0},{clz32:function(){function f(b){var S=b>>>0;return S?31-a(t(S+.5)*o):32}return f}()})},29248:function(A,r,n){"use strict";var e=n(63964),a=n(82040),t=Math.cosh,o=Math.abs,f=Math.E,b=!t||t(710)===1/0;e({target:"Math",stat:!0,forced:b},{cosh:function(){function S(I){var k=a(o(I)-1)+1;return(k+1/(k*f*f))*(f/2)}return S}()})},52540:function(A,r,n){"use strict";var e=n(63964),a=n(82040);e({target:"Math",stat:!0,forced:a!==Math.expm1},{expm1:a})},79007:function(A,r,n){"use strict";var e=n(63964),a=n(95867);e({target:"Math",stat:!0},{fround:a})},77199:function(A,r,n){"use strict";var e=n(63964),a=Math.hypot,t=Math.abs,o=Math.sqrt,f=!!a&&a(1/0,NaN)!==1/0;e({target:"Math",stat:!0,arity:2,forced:f},{hypot:function(){function b(S,I){for(var k=0,g=0,u=arguments.length,c=0,m,l;g0?(l=m/c,k+=l*l):k+=m;return c===1/0?1/0:c*o(k)}return b}()})},6522:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=Math.imul,o=a(function(){return t(4294967295,5)!==-5||t.length!==2});e({target:"Math",stat:!0,forced:o},{imul:function(){function f(b,S){var I=65535,k=+b,g=+S,u=I&k,c=I&g;return 0|u*c+((I&k>>>16)*c+u*(I&g>>>16)<<16>>>0)}return f}()})},95542:function(A,r,n){"use strict";var e=n(63964),a=n(75002);e({target:"Math",stat:!0},{log10:a})},2966:function(A,r,n){"use strict";var e=n(63964),a=n(90874);e({target:"Math",stat:!0},{log1p:a})},20997:function(A,r,n){"use strict";var e=n(63964),a=Math.log,t=Math.LN2;e({target:"Math",stat:!0},{log2:function(){function o(f){return a(f)/t}return o}()})},57400:function(A,r,n){"use strict";var e=n(63964),a=n(22172);e({target:"Math",stat:!0},{sign:a})},45571:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(82040),o=Math.abs,f=Math.exp,b=Math.E,S=a(function(){return Math.sinh(-2e-17)!==-2e-17});e({target:"Math",stat:!0,forced:S},{sinh:function(){function I(k){var g=+k;return o(g)<1?(t(g)-t(-g))/2:(f(g-1)-f(-g-1))*(b/2)}return I}()})},54800:function(A,r,n){"use strict";var e=n(63964),a=n(82040),t=Math.exp;e({target:"Math",stat:!0},{tanh:function(){function o(f){var b=+f,S=a(b),I=a(-b);return S===1/0?1:I===1/0?-1:(S-I)/(t(b)+t(-b))}return o}()})},15709:function(A,r,n){"use strict";var e=n(84925);e(Math,"Math",!0)},76059:function(A,r,n){"use strict";var e=n(63964),a=n(21119);e({target:"Math",stat:!0},{trunc:a})},96614:function(A,r,n){"use strict";var e=n(63964),a=n(4493),t=n(58310),o=n(74685),f=n(61765),b=n(67250),S=n(41314),I=n(45299),k=n(5781),g=n(21287),u=n(71399),c=n(24843),m=n(40033),l=n(37310).f,d=n(27193).f,s=n(74595).f,i=n(46438),h=n(92648).trim,C="Number",v=o[C],p=f[C],N=v.prototype,V=o.TypeError,y=b("".slice),B=b("".charCodeAt),L=function(E){var P=c(E,"number");return typeof P=="bigint"?P:w(P)},w=function(E){var P=c(E,"number"),R,j,F,W,z,K,G,J;if(u(P))throw new V("Cannot convert a Symbol value to a number");if(typeof P=="string"&&P.length>2){if(P=h(P),R=B(P,0),R===43||R===45){if(j=B(P,2),j===88||j===120)return NaN}else if(R===48){switch(B(P,1)){case 66:case 98:F=2,W=49;break;case 79:case 111:F=8,W=55;break;default:return+P}for(z=y(P,2),K=z.length,G=0;GW)return NaN;return parseInt(z,F)}}return+P},x=S(C,!v(" 0o1")||!v("0b1")||v("+0x1")),T=function(E){return g(N,E)&&m(function(){i(E)})},M=function(){function D(E){var P=arguments.length<1?0:v(L(E));return T(this)?k(Object(P),this,M):P}return D}();M.prototype=N,x&&!a&&(N.constructor=M),e({global:!0,constructor:!0,wrap:!0,forced:x},{Number:M});var O=function(E,P){for(var R=t?l(P):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),j=0,F;R.length>j;j++)I(P,F=R[j])&&!I(E,F)&&s(E,F,d(P,F))};a&&p&&O(f[C],p),(x||a)&&O(f[C],v)},324:function(A,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},90426:function(A,r,n){"use strict";var e=n(63964),a=n(3294);e({target:"Number",stat:!0},{isFinite:a})},95443:function(A,r,n){"use strict";var e=n(63964),a=n(5841);e({target:"Number",stat:!0},{isInteger:a})},87968:function(A,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0},{isNaN:function(){function a(t){return t!==t}return a}()})},55007:function(A,r,n){"use strict";var e=n(63964),a=n(5841),t=Math.abs;e({target:"Number",stat:!0},{isSafeInteger:function(){function o(f){return a(f)&&t(f)<=9007199254740991}return o}()})},55323:function(A,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},13521:function(A,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},5006:function(A,r,n){"use strict";var e=n(63964),a=n(28506);e({target:"Number",stat:!0,forced:Number.parseFloat!==a},{parseFloat:a})},99009:function(A,r,n){"use strict";var e=n(63964),a=n(13693);e({target:"Number",stat:!0,forced:Number.parseInt!==a},{parseInt:a})},85770:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(61365),o=n(46438),f=n(62443),b=n(40033),S=RangeError,I=String,k=Math.floor,g=a(f),u=a("".slice),c=a(1 .toFixed),m=function C(v,p,N){return p===0?N:p%2===1?C(v,p-1,N*v):C(v*v,p/2,N)},l=function(v){for(var p=0,N=v;N>=4096;)p+=12,N/=4096;for(;N>=2;)p+=1,N/=2;return p},d=function(v,p,N){for(var V=-1,y=N;++V<6;)y+=p*v[V],v[V]=y%1e7,y=k(y/1e7)},s=function(v,p){for(var N=6,V=0;--N>=0;)V+=v[N],v[N]=k(V/p),V=V%p*1e7},i=function(v){for(var p=6,N="";--p>=0;)if(N!==""||p===0||v[p]!==0){var V=I(v[p]);N=N===""?V:N+g("0",7-V.length)+V}return N},h=b(function(){return c(8e-5,3)!=="0.000"||c(.9,0)!=="1"||c(1.255,2)!=="1.25"||c(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!b(function(){c({})});e({target:"Number",proto:!0,forced:h},{toFixed:function(){function C(v){var p=o(this),N=t(v),V=[0,0,0,0,0,0],y="",B="0",L,w,x,T;if(N<0||N>20)throw new S("Incorrect fraction digits");if(p!==p)return"NaN";if(p<=-1e21||p>=1e21)return I(p);if(p<0&&(y="-",p=-p),p>1e-21)if(L=l(p*m(2,69,1))-69,w=L<0?p*m(2,-L,1):p/m(2,L,1),w*=4503599627370496,L=52-L,L>0){for(d(V,0,w),x=N;x>=7;)d(V,1e7,0),x-=7;for(d(V,m(10,x,1),0),x=L-1;x>=23;)s(V,8388608),x-=23;s(V,1<0?(T=B.length,B=y+(T<=N?"0."+g("0",N-T)+B:u(B,0,T-N)+"."+u(B,T-N))):B=y+B,B}return C}()})},23532:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(40033),o=n(46438),f=a(1 .toPrecision),b=t(function(){return f(1,void 0)!=="1"})||!t(function(){f({})});e({target:"Number",proto:!0,forced:b},{toPrecision:function(){function S(I){return I===void 0?f(o(this)):f(o(this),I)}return S}()})},87119:function(A,r,n){"use strict";var e=n(63964),a=n(41143);e({target:"Object",stat:!0,arity:2,forced:Object.assign!==a},{assign:a})},78618:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(80674);e({target:"Object",stat:!0,sham:!a},{create:t})},27129:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(10320),f=n(46771),b=n(74595);a&&e({target:"Object",proto:!0,forced:t},{__defineGetter__:function(){function S(I,k){b.f(f(this),I,{get:o(k),enumerable:!0,configurable:!0})}return S}()})},31943:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(24239).f;e({target:"Object",stat:!0,forced:Object.defineProperties!==t,sham:!a},{defineProperties:t})},3579:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(74595).f;e({target:"Object",stat:!0,forced:Object.defineProperty!==t,sham:!a},{defineProperty:t})},97397:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(10320),f=n(46771),b=n(74595);a&&e({target:"Object",proto:!0,forced:t},{__defineSetter__:function(){function S(I,k){b.f(f(this),I,{set:o(k),enumerable:!0,configurable:!0})}return S}()})},85028:function(A,r,n){"use strict";var e=n(63964),a=n(70915).entries;e({target:"Object",stat:!0},{entries:function(){function t(o){return a(o)}return t}()})},8225:function(A,r,n){"use strict";var e=n(63964),a=n(50730),t=n(40033),o=n(77568),f=n(81969).onFreeze,b=Object.freeze,S=t(function(){b(1)});e({target:"Object",stat:!0,forced:S,sham:!a},{freeze:function(){function I(k){return b&&o(k)?b(f(k)):k}return I}()})},43331:function(A,r,n){"use strict";var e=n(63964),a=n(49450),t=n(60102);e({target:"Object",stat:!0},{fromEntries:function(){function o(f){var b={};return a(f,function(S,I){t(b,S,I)},{AS_ENTRIES:!0}),b}return o}()})},62289:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(57591),o=n(27193).f,f=n(58310),b=!f||a(function(){o(1)});e({target:"Object",stat:!0,forced:b,sham:!f},{getOwnPropertyDescriptor:function(){function S(I,k){return o(t(I),k)}return S}()})},56196:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(97921),o=n(57591),f=n(27193),b=n(60102);e({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(){function S(I){for(var k=o(I),g=f.f,u=t(k),c={},m=0,l,d;u.length>m;)d=g(k,l=u[m++]),d!==void 0&&b(c,l,d);return c}return S}()})},2950:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(81644).f,o=a(function(){return!Object.getOwnPropertyNames(1)});e({target:"Object",stat:!0,forced:o},{getOwnPropertyNames:t})},28603:function(A,r,n){"use strict";var e=n(63964),a=n(52357),t=n(40033),o=n(89235),f=n(46771),b=!a||t(function(){o.f(1)});e({target:"Object",stat:!0,forced:b},{getOwnPropertySymbols:function(){function S(I){var k=o.f;return k?k(f(I)):[]}return S}()})},44205:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(46771),o=n(36917),f=n(9225),b=a(function(){o(1)});e({target:"Object",stat:!0,forced:b,sham:!f},{getPrototypeOf:function(){function S(I){return o(t(I))}return S}()})},83186:function(A,r,n){"use strict";var e=n(63964),a=n(81834);e({target:"Object",stat:!0,forced:Object.isExtensible!==a},{isExtensible:a})},76065:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(77568),o=n(7462),f=n(3782),b=Object.isFrozen,S=f||a(function(){b(1)});e({target:"Object",stat:!0,forced:S},{isFrozen:function(){function I(k){return!t(k)||f&&o(k)==="ArrayBuffer"?!0:b?b(k):!1}return I}()})},13411:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(77568),o=n(7462),f=n(3782),b=Object.isSealed,S=f||a(function(){b(1)});e({target:"Object",stat:!0,forced:S},{isSealed:function(){function I(k){return!t(k)||f&&o(k)==="ArrayBuffer"?!0:b?b(k):!1}return I}()})},76882:function(A,r,n){"use strict";var e=n(63964),a=n(5700);e({target:"Object",stat:!0},{is:a})},26634:function(A,r,n){"use strict";var e=n(63964),a=n(46771),t=n(18450),o=n(40033),f=o(function(){t(1)});e({target:"Object",stat:!0,forced:f},{keys:function(){function b(S){return t(a(S))}return b}()})},53118:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(46771),f=n(767),b=n(36917),S=n(27193).f;a&&e({target:"Object",proto:!0,forced:t},{__lookupGetter__:function(){function I(k){var g=o(this),u=f(k),c;do if(c=S(g,u))return c.get;while(g=b(g))}return I}()})},42514:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(46771),f=n(767),b=n(36917),S=n(27193).f;a&&e({target:"Object",proto:!0,forced:t},{__lookupSetter__:function(){function I(k){var g=o(this),u=f(k),c;do if(c=S(g,u))return c.set;while(g=b(g))}return I}()})},84353:function(A,r,n){"use strict";var e=n(63964),a=n(77568),t=n(81969).onFreeze,o=n(50730),f=n(40033),b=Object.preventExtensions,S=f(function(){b(1)});e({target:"Object",stat:!0,forced:S,sham:!o},{preventExtensions:function(){function I(k){return b&&a(k)?b(t(k)):k}return I}()})},62987:function(A,r,n){"use strict";var e=n(63964),a=n(77568),t=n(81969).onFreeze,o=n(50730),f=n(40033),b=Object.seal,S=f(function(){b(1)});e({target:"Object",stat:!0,forced:S,sham:!o},{seal:function(){function I(k){return b&&a(k)?b(t(k)):k}return I}()})},48993:function(A,r,n){"use strict";var e=n(63964),a=n(76649);e({target:"Object",stat:!0},{setPrototypeOf:a})},52917:function(A,r,n){"use strict";var e=n(2650),a=n(55938),t=n(2509);e||a(Object.prototype,"toString",t,{unsafe:!0})},4972:function(A,r,n){"use strict";var e=n(63964),a=n(70915).values;e({target:"Object",stat:!0},{values:function(){function t(o){return a(o)}return t}()})},28913:function(A,r,n){"use strict";var e=n(63964),a=n(28506);e({global:!0,forced:parseFloat!==a},{parseFloat:a})},36382:function(A,r,n){"use strict";var e=n(63964),a=n(13693);e({global:!0,forced:parseInt!==a},{parseInt:a})},48865:function(A,r,n){"use strict";var e=n(63964),a=n(91495),t=n(10320),o=n(81837),f=n(10729),b=n(49450),S=n(48199);e({target:"Promise",stat:!0,forced:S},{all:function(){function I(k){var g=this,u=o.f(g),c=u.resolve,m=u.reject,l=f(function(){var d=t(g.resolve),s=[],i=0,h=1;b(k,function(C){var v=i++,p=!1;h++,a(d,g,C).then(function(N){p||(p=!0,s[v]=N,--h||c(s))},m)}),--h||c(s)});return l.error&&m(l.value),u.promise}return I}()})},70641:function(A,r,n){"use strict";var e=n(63964),a=n(4493),t=n(74854).CONSTRUCTOR,o=n(67512),f=n(4009),b=n(55747),S=n(55938),I=o&&o.prototype;if(e({target:"Promise",proto:!0,forced:t,real:!0},{catch:function(){function g(u){return this.then(void 0,u)}return g}()}),!a&&b(o)){var k=f("Promise").prototype.catch;I.catch!==k&&S(I,"catch",k,{unsafe:!0})}},75946:function(A,r,n){"use strict";var e=n(63964),a=n(4493),t=n(81702),o=n(74685),f=n(91495),b=n(55938),S=n(76649),I=n(84925),k=n(58491),g=n(10320),u=n(55747),c=n(77568),m=n(60077),l=n(28987),d=n(60375).set,s=n(37713),i=n(72259),h=n(10729),C=n(9547),v=n(5419),p=n(67512),N=n(74854),V=n(81837),y="Promise",B=N.CONSTRUCTOR,L=N.REJECTION_EVENT,w=N.SUBCLASSING,x=v.getterFor(y),T=v.set,M=p&&p.prototype,O=p,D=M,E=o.TypeError,P=o.document,R=o.process,j=V.f,F=j,W=!!(P&&P.createEvent&&o.dispatchEvent),z="unhandledrejection",K="rejectionhandled",G=0,J=1,Q=2,ue=1,ie=2,pe,te,q,ne,le=function(be){var Le;return c(be)&&u(Le=be.then)?Le:!1},ee=function(be,Le){var we=Le.value,xe=Le.state===J,Re=xe?be.ok:be.fail,He=be.resolve,ye=be.reject,de=be.domain,Ce,ke,ge;try{Re?(xe||(Le.rejection===ie&&Y(Le),Le.rejection=ue),Re===!0?Ce=we:(de&&de.enter(),Ce=Re(we),de&&(de.exit(),ge=!0)),Ce===be.promise?ye(new E("Promise-chain cycle")):(ke=le(Ce))?f(ke,Ce,He,ye):He(Ce)):ye(we)}catch(Se){de&&!ge&&de.exit(),ye(Se)}},re=function(be,Le){be.notified||(be.notified=!0,s(function(){for(var we=be.reactions,xe;xe=we.get();)ee(xe,be);be.notified=!1,Le&&!be.rejection&&fe(be)}))},oe=function(be,Le,we){var xe,Re;W?(xe=P.createEvent("Event"),xe.promise=Le,xe.reason=we,xe.initEvent(be,!1,!0),o.dispatchEvent(xe)):xe={promise:Le,reason:we},!L&&(Re=o["on"+be])?Re(xe):be===z&&i("Unhandled promise rejection",we)},fe=function(be){f(d,o,function(){var Le=be.facade,we=be.value,xe=me(be),Re;if(xe&&(Re=h(function(){t?R.emit("unhandledRejection",we,Le):oe(z,Le,we)}),be.rejection=t||me(be)?ie:ue,Re.error))throw Re.value})},me=function(be){return be.rejection!==ue&&!be.parent},Y=function(be){f(d,o,function(){var Le=be.facade;t?R.emit("rejectionHandled",Le):oe(K,Le,be.value)})},ve=function(be,Le,we){return function(xe){be(Le,xe,we)}},he=function(be,Le,we){be.done||(be.done=!0,we&&(be=we),be.value=Le,be.state=Q,re(be,!0))},Ve=function Be(be,Le,we){if(!be.done){be.done=!0,we&&(be=we);try{if(be.facade===Le)throw new E("Promise can't be resolved itself");var xe=le(Le);xe?s(function(){var Re={done:!1};try{f(xe,Le,ve(Be,Re,be),ve(he,Re,be))}catch(He){he(Re,He,be)}}):(be.value=Le,be.state=J,re(be,!1))}catch(Re){he({done:!1},Re,be)}}};if(B&&(O=function(){function Be(be){m(this,D),g(be),f(pe,this);var Le=x(this);try{be(ve(Ve,Le),ve(he,Le))}catch(we){he(Le,we)}}return Be}(),D=O.prototype,pe=function(){function Be(be){T(this,{type:y,done:!1,notified:!1,parent:!1,reactions:new C,rejection:!1,state:G,value:void 0})}return Be}(),pe.prototype=b(D,"then",function(){function Be(be,Le){var we=x(this),xe=j(l(this,O));return we.parent=!0,xe.ok=u(be)?be:!0,xe.fail=u(Le)&&Le,xe.domain=t?R.domain:void 0,we.state===G?we.reactions.add(xe):s(function(){ee(xe,we)}),xe.promise}return Be}()),te=function(){var be=new pe,Le=x(be);this.promise=be,this.resolve=ve(Ve,Le),this.reject=ve(he,Le)},V.f=j=function(be){return be===O||be===q?new te(be):F(be)},!a&&u(p)&&M!==Object.prototype)){ne=M.then,w||b(M,"then",function(){function Be(be,Le){var we=this;return new O(function(xe,Re){f(ne,we,xe,Re)}).then(be,Le)}return Be}(),{unsafe:!0});try{delete M.constructor}catch(Be){}S&&S(M,D)}e({global:!0,constructor:!0,wrap:!0,forced:B},{Promise:O}),I(O,y,!1,!0),k(y)},69861:function(A,r,n){"use strict";var e=n(63964),a=n(4493),t=n(67512),o=n(40033),f=n(4009),b=n(55747),S=n(28987),I=n(66628),k=n(55938),g=t&&t.prototype,u=!!t&&o(function(){g.finally.call({then:function(){function m(){}return m}()},function(){})});if(e({target:"Promise",proto:!0,real:!0,forced:u},{finally:function(){function m(l){var d=S(this,f("Promise")),s=b(l);return this.then(s?function(i){return I(d,l()).then(function(){return i})}:l,s?function(i){return I(d,l()).then(function(){throw i})}:l)}return m}()}),!a&&b(t)){var c=f("Promise").prototype.finally;g.finally!==c&&k(g,"finally",c,{unsafe:!0})}},53092:function(A,r,n){"use strict";n(75946),n(48865),n(70641),n(16937),n(41719),n(59321)},16937:function(A,r,n){"use strict";var e=n(63964),a=n(91495),t=n(10320),o=n(81837),f=n(10729),b=n(49450),S=n(48199);e({target:"Promise",stat:!0,forced:S},{race:function(){function I(k){var g=this,u=o.f(g),c=u.reject,m=f(function(){var l=t(g.resolve);b(k,function(d){a(l,g,d).then(u.resolve,c)})});return m.error&&c(m.value),u.promise}return I}()})},41719:function(A,r,n){"use strict";var e=n(63964),a=n(81837),t=n(74854).CONSTRUCTOR;e({target:"Promise",stat:!0,forced:t},{reject:function(){function o(f){var b=a.f(this),S=b.reject;return S(f),b.promise}return o}()})},59321:function(A,r,n){"use strict";var e=n(63964),a=n(4009),t=n(4493),o=n(67512),f=n(74854).CONSTRUCTOR,b=n(66628),S=a("Promise"),I=t&&!f;e({target:"Promise",stat:!0,forced:t||f},{resolve:function(){function k(g){return b(I&&this===S?o:this,g)}return k}()})},29674:function(A,r,n){"use strict";var e=n(63964),a=n(61267),t=n(10320),o=n(30365),f=n(40033),b=!f(function(){Reflect.apply(function(){})});e({target:"Reflect",stat:!0,forced:b},{apply:function(){function S(I,k,g){return a(t(I),k,o(g))}return S}()})},81543:function(A,r,n){"use strict";var e=n(63964),a=n(4009),t=n(61267),o=n(66284),f=n(32606),b=n(30365),S=n(77568),I=n(80674),k=n(40033),g=a("Reflect","construct"),u=Object.prototype,c=[].push,m=k(function(){function s(){}return!(g(function(){},[],s)instanceof s)}),l=!k(function(){g(function(){})}),d=m||l;e({target:"Reflect",stat:!0,forced:d,sham:d},{construct:function(){function s(i,h){f(i),b(h);var C=arguments.length<3?i:f(arguments[2]);if(l&&!m)return g(i,h,C);if(i===C){switch(h.length){case 0:return new i;case 1:return new i(h[0]);case 2:return new i(h[0],h[1]);case 3:return new i(h[0],h[1],h[2]);case 4:return new i(h[0],h[1],h[2],h[3])}var v=[null];return t(c,v,h),new(t(o,i,v))}var p=C.prototype,N=I(S(p)?p:u),V=t(i,N,h);return S(V)?V:N}return s}()})},9373:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(30365),o=n(767),f=n(74595),b=n(40033),S=b(function(){Reflect.defineProperty(f.f({},1,{value:1}),1,{value:2})});e({target:"Reflect",stat:!0,forced:S,sham:!a},{defineProperty:function(){function I(k,g,u){t(k);var c=o(g);t(u);try{return f.f(k,c,u),!0}catch(m){return!1}}return I}()})},45093:function(A,r,n){"use strict";var e=n(63964),a=n(30365),t=n(27193).f;e({target:"Reflect",stat:!0},{deleteProperty:function(){function o(f,b){var S=t(a(f),b);return S&&!S.configurable?!1:delete f[b]}return o}()})},5815:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(30365),o=n(27193);e({target:"Reflect",stat:!0,sham:!a},{getOwnPropertyDescriptor:function(){function f(b,S){return o.f(t(b),S)}return f}()})},88527:function(A,r,n){"use strict";var e=n(63964),a=n(30365),t=n(36917),o=n(9225);e({target:"Reflect",stat:!0,sham:!o},{getPrototypeOf:function(){function f(b){return t(a(b))}return f}()})},63074:function(A,r,n){"use strict";var e=n(63964),a=n(91495),t=n(77568),o=n(30365),f=n(98373),b=n(27193),S=n(36917);function I(k,g){var u=arguments.length<3?k:arguments[2],c,m;if(o(k)===u)return k[g];if(c=b.f(k,g),c)return f(c)?c.value:c.get===void 0?void 0:a(c.get,u);if(t(m=S(k)))return I(m,g,u)}e({target:"Reflect",stat:!0},{get:I})},66390:function(A,r,n){"use strict";var e=n(63964);e({target:"Reflect",stat:!0},{has:function(){function a(t,o){return o in t}return a}()})},7784:function(A,r,n){"use strict";var e=n(63964),a=n(30365),t=n(81834);e({target:"Reflect",stat:!0},{isExtensible:function(){function o(f){return a(f),t(f)}return o}()})},50551:function(A,r,n){"use strict";var e=n(63964),a=n(97921);e({target:"Reflect",stat:!0},{ownKeys:a})},76483:function(A,r,n){"use strict";var e=n(63964),a=n(4009),t=n(30365),o=n(50730);e({target:"Reflect",stat:!0,sham:!o},{preventExtensions:function(){function f(b){t(b);try{var S=a("Object","preventExtensions");return S&&S(b),!0}catch(I){return!1}}return f}()})},63915:function(A,r,n){"use strict";var e=n(63964),a=n(30365),t=n(35908),o=n(76649);o&&e({target:"Reflect",stat:!0},{setPrototypeOf:function(){function f(b,S){a(b),t(S);try{return o(b,S),!0}catch(I){return!1}}return f}()})},92046:function(A,r,n){"use strict";var e=n(63964),a=n(91495),t=n(30365),o=n(77568),f=n(98373),b=n(40033),S=n(74595),I=n(27193),k=n(36917),g=n(87458);function u(m,l,d){var s=arguments.length<4?m:arguments[3],i=I.f(t(m),l),h,C,v;if(!i){if(o(C=k(m)))return u(C,l,d,s);i=g(0)}if(f(i)){if(i.writable===!1||!o(s))return!1;if(h=I.f(s,l)){if(h.get||h.set||h.writable===!1)return!1;h.value=d,S.f(s,l,h)}else S.f(s,l,g(0,d))}else{if(v=i.set,v===void 0)return!1;a(v,s,d)}return!0}var c=b(function(){var m=function(){},l=S.f(new m,"a",{configurable:!0});return Reflect.set(m.prototype,"a",1,l)!==!1});e({target:"Reflect",stat:!0,forced:c},{set:u})},51454:function(A,r,n){"use strict";var e=n(58310),a=n(74685),t=n(67250),o=n(41314),f=n(5781),b=n(37909),S=n(80674),I=n(37310).f,k=n(21287),g=n(72586),u=n(12605),c=n(73392),m=n(62115),l=n(34550),d=n(55938),s=n(40033),i=n(45299),h=n(5419).enforce,C=n(58491),v=n(24697),p=n(39173),N=n(35688),V=v("match"),y=a.RegExp,B=y.prototype,L=a.SyntaxError,w=t(B.exec),x=t("".charAt),T=t("".replace),M=t("".indexOf),O=t("".slice),D=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,E=/a/g,P=/a/g,R=new y(E)!==E,j=m.MISSED_STICKY,F=m.UNSUPPORTED_Y,W=e&&(!R||j||p||N||s(function(){return P[V]=!1,y(E)!==E||y(P)===P||String(y(E,"i"))!=="/a/i"})),z=function(ie){for(var pe=ie.length,te=0,q="",ne=!1,le;te<=pe;te++){if(le=x(ie,te),le==="\\"){q+=le+x(ie,++te);continue}!ne&&le==="."?q+="[\\s\\S]":(le==="["?ne=!0:le==="]"&&(ne=!1),q+=le)}return q},K=function(ie){for(var pe=ie.length,te=0,q="",ne=[],le=S(null),ee=!1,re=!1,oe=0,fe="",me;te<=pe;te++){if(me=x(ie,te),me==="\\")me+=x(ie,++te);else if(me==="]")ee=!1;else if(!ee)switch(!0){case me==="[":ee=!0;break;case me==="(":w(D,O(ie,te+1))&&(te+=2,re=!0),q+=me,oe++;continue;case(me===">"&&re):if(fe===""||i(le,fe))throw new L("Invalid capture group name");le[fe]=!0,ne[ne.length]=[fe,oe],re=!1,fe="";continue}re?fe+=me:q+=me}return[q,ne]};if(o("RegExp",W)){for(var G=function(){function ue(ie,pe){var te=k(B,this),q=g(ie),ne=pe===void 0,le=[],ee=ie,re,oe,fe,me,Y,ve;if(!te&&q&&ne&&ie.constructor===G)return ie;if((q||k(B,ie))&&(ie=ie.source,ne&&(pe=c(ee))),ie=ie===void 0?"":u(ie),pe=pe===void 0?"":u(pe),ee=ie,p&&"dotAll"in E&&(oe=!!pe&&M(pe,"s")>-1,oe&&(pe=T(pe,/s/g,""))),re=pe,j&&"sticky"in E&&(fe=!!pe&&M(pe,"y")>-1,fe&&F&&(pe=T(pe,/y/g,""))),N&&(me=K(ie),ie=me[0],le=me[1]),Y=f(y(ie,pe),te?this:B,G),(oe||fe||le.length)&&(ve=h(Y),oe&&(ve.dotAll=!0,ve.raw=G(z(ie),re)),fe&&(ve.sticky=!0),le.length&&(ve.groups=le)),ie!==ee)try{b(Y,"source",ee===""?"(?:)":ee)}catch(he){}return Y}return ue}(),J=I(y),Q=0;J.length>Q;)l(G,y,J[Q++]);B.constructor=G,G.prototype=B,d(a,"RegExp",G,{constructor:!0})}C("RegExp")},79669:function(A,r,n){"use strict";var e=n(63964),a=n(14489);e({target:"RegExp",proto:!0,forced:/./.exec!==a},{exec:a})},23057:function(A,r,n){"use strict";var e=n(74685),a=n(58310),t=n(73936),o=n(70901),f=n(40033),b=e.RegExp,S=b.prototype,I=a&&f(function(){var k=!0;try{b(".","d")}catch(i){k=!1}var g={},u="",c=k?"dgimsy":"gimsy",m=function(h,C){Object.defineProperty(g,h,{get:function(){function v(){return u+=C,!0}return v}()})},l={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};k&&(l.hasIndices="d");for(var d in l)m(d,l[d]);var s=Object.getOwnPropertyDescriptor(S,"flags").get.call(g);return s!==c||u!==c});I&&t(S,"flags",{configurable:!0,get:o})},57983:function(A,r,n){"use strict";var e=n(70520).PROPER,a=n(55938),t=n(30365),o=n(12605),f=n(40033),b=n(73392),S="toString",I=RegExp.prototype,k=I[S],g=f(function(){return k.call({source:"a",flags:"b"})!=="/a/b"}),u=e&&k.name!==S;(g||u)&&a(I,S,function(){function c(){var m=t(this),l=o(m.source),d=o(b(m));return"/"+l+"/"+d}return c}(),{unsafe:!0})},1963:function(A,r,n){"use strict";var e=n(45150),a=n(41028);e("Set",function(t){return function(){function o(){return t(this,arguments.length?arguments[0]:void 0)}return o}()},a)},17953:function(A,r,n){"use strict";n(1963)},95309:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("anchor")},{anchor:function(){function o(f){return a(this,"a","name",f)}return o}()})},82256:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("big")},{big:function(){function o(){return a(this,"big","","")}return o}()})},49484:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("blink")},{blink:function(){function o(){return a(this,"blink","","")}return o}()})},38931:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("bold")},{bold:function(){function o(){return a(this,"b","","")}return o}()})},30442:function(A,r,n){"use strict";var e=n(63964),a=n(50233).codeAt;e({target:"String",proto:!0},{codePointAt:function(){function t(o){return a(this,o)}return t}()})},6403:function(A,r,n){"use strict";var e=n(63964),a=n(71138),t=n(27193).f,o=n(10188),f=n(12605),b=n(86213),S=n(16952),I=n(45490),k=n(4493),g=a("".slice),u=Math.min,c=I("endsWith"),m=!k&&!c&&!!function(){var l=t(String.prototype,"endsWith");return l&&!l.writable}();e({target:"String",proto:!0,forced:!m&&!c},{endsWith:function(){function l(d){var s=f(S(this));b(d);var i=arguments.length>1?arguments[1]:void 0,h=s.length,C=i===void 0?h:u(o(i),h),v=f(d);return g(s,C-v.length,C)===v}return l}()})},39308:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fixed")},{fixed:function(){function o(){return a(this,"tt","","")}return o}()})},91550:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fontcolor")},{fontcolor:function(){function o(f){return a(this,"font","color",f)}return o}()})},75008:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fontsize")},{fontsize:function(){function o(f){return a(this,"font","size",f)}return o}()})},9867:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(13912),o=RangeError,f=String.fromCharCode,b=String.fromCodePoint,S=a([].join),I=!!b&&b.length!==1;e({target:"String",stat:!0,arity:1,forced:I},{fromCodePoint:function(){function k(g){for(var u=[],c=arguments.length,m=0,l;c>m;){if(l=+arguments[m++],t(l,1114111)!==l)throw new o(l+" is not a valid code point");u[m]=l<65536?f(l):f(((l-=65536)>>10)+55296,l%1024+56320)}return S(u,"")}return k}()})},43673:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(86213),o=n(16952),f=n(12605),b=n(45490),S=a("".indexOf);e({target:"String",proto:!0,forced:!b("includes")},{includes:function(){function I(k){return!!~S(f(o(this)),f(t(k)),arguments.length>1?arguments[1]:void 0)}return I}()})},56027:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("italics")},{italics:function(){function o(){return a(this,"i","","")}return o}()})},12354:function(A,r,n){"use strict";var e=n(50233).charAt,a=n(12605),t=n(5419),o=n(65574),f=n(5959),b="String Iterator",S=t.set,I=t.getterFor(b);o(String,"String",function(k){S(this,{type:b,string:a(k),index:0})},function(){function k(){var g=I(this),u=g.string,c=g.index,m;return c>=u.length?f(void 0,!0):(m=e(u,c),g.index+=m.length,f(m,!1))}return k}())},50340:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("link")},{link:function(){function o(f){return a(this,"a","href",f)}return o}()})},22515:function(A,r,n){"use strict";var e=n(91495),a=n(79942),t=n(30365),o=n(42871),f=n(10188),b=n(12605),S=n(16952),I=n(78060),k=n(35483),g=n(28340);a("match",function(u,c,m){return[function(){function l(d){var s=S(this),i=o(d)?void 0:I(d,u);return i?e(i,d,s):new RegExp(d)[u](b(s))}return l}(),function(l){var d=t(this),s=b(l),i=m(c,d,s);if(i.done)return i.value;if(!d.global)return g(d,s);var h=d.unicode;d.lastIndex=0;for(var C=[],v=0,p;(p=g(d,s))!==null;){var N=b(p[0]);C[v]=N,N===""&&(d.lastIndex=k(s,f(d.lastIndex),h)),v++}return v===0?null:C}]})},5143:function(A,r,n){"use strict";var e=n(63964),a=n(24051).end,t=n(34125);e({target:"String",proto:!0,forced:t},{padEnd:function(){function o(f){return a(this,f,arguments.length>1?arguments[1]:void 0)}return o}()})},93514:function(A,r,n){"use strict";var e=n(63964),a=n(24051).start,t=n(34125);e({target:"String",proto:!0,forced:t},{padStart:function(){function o(f){return a(this,f,arguments.length>1?arguments[1]:void 0)}return o}()})},5416:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(57591),o=n(46771),f=n(12605),b=n(24760),S=a([].push),I=a([].join);e({target:"String",stat:!0},{raw:function(){function k(g){var u=t(o(g).raw),c=b(u);if(!c)return"";for(var m=arguments.length,l=[],d=0;;){if(S(l,f(u[d++])),d===c)return I(l,"");d")!=="7"});o("replace",function(T,M,O){var D=w?"$":"$0";return[function(){function E(P,R){var j=c(this),F=I(P)?void 0:l(P,h);return F?a(F,P,j,R):a(M,u(j),P,R)}return E}(),function(E,P){var R=b(this),j=u(E);if(typeof P=="string"&&V(P,D)===-1&&V(P,"$<")===-1){var F=O(M,R,j,P);if(F.done)return F.value}var W=S(P);W||(P=u(P));var z=R.global,K;z&&(K=R.unicode,R.lastIndex=0);for(var G=[],J;J=s(R,j),!(J===null||(N(G,J),!z));){var Q=u(J[0]);Q===""&&(R.lastIndex=m(j,g(R.lastIndex),K))}for(var ue="",ie=0,pe=0;pe=ie&&(ue+=y(j,ie,q)+le,ie=q+te.length)}return ue+y(j,ie)}]},!x||!L||w)},63272:function(A,r,n){"use strict";var e=n(91495),a=n(79942),t=n(30365),o=n(42871),f=n(16952),b=n(5700),S=n(12605),I=n(78060),k=n(28340);a("search",function(g,u,c){return[function(){function m(l){var d=f(this),s=o(l)?void 0:I(l,g);return s?e(s,l,d):new RegExp(l)[g](S(d))}return m}(),function(m){var l=t(this),d=S(m),s=c(u,l,d);if(s.done)return s.value;var i=l.lastIndex;b(i,0)||(l.lastIndex=0);var h=k(l,d);return b(l.lastIndex,i)||(l.lastIndex=i),h===null?-1:h.index}]})},34325:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("small")},{small:function(){function o(){return a(this,"small","","")}return o}()})},39930:function(A,r,n){"use strict";var e=n(91495),a=n(67250),t=n(79942),o=n(30365),f=n(42871),b=n(16952),S=n(28987),I=n(35483),k=n(10188),g=n(12605),u=n(78060),c=n(28340),m=n(62115),l=n(40033),d=m.UNSUPPORTED_Y,s=4294967295,i=Math.min,h=a([].push),C=a("".slice),v=!l(function(){var N=/(?:)/,V=N.exec;N.exec=function(){return V.apply(this,arguments)};var y="ab".split(N);return y.length!==2||y[0]!=="a"||y[1]!=="b"}),p="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;t("split",function(N,V,y){var B="0".split(void 0,0).length?function(L,w){return L===void 0&&w===0?[]:e(V,this,L,w)}:V;return[function(){function L(w,x){var T=b(this),M=f(w)?void 0:u(w,N);return M?e(M,w,T,x):e(B,g(T),w,x)}return L}(),function(L,w){var x=o(this),T=g(L);if(!p){var M=y(B,x,T,w,B!==V);if(M.done)return M.value}var O=S(x,RegExp),D=x.unicode,E=(x.ignoreCase?"i":"")+(x.multiline?"m":"")+(x.unicode?"u":"")+(d?"g":"y"),P=new O(d?"^(?:"+x.source+")":x,E),R=w===void 0?s:w>>>0;if(R===0)return[];if(T.length===0)return c(P,T)===null?[T]:[];for(var j=0,F=0,W=[];F1?arguments[1]:void 0,s.length)),h=f(d);return g(s,i,i+h.length)===h}return l}()})},74498:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("strike")},{strike:function(){function o(){return a(this,"strike","","")}return o}()})},15812:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("sub")},{sub:function(){function o(){return a(this,"sub","","")}return o}()})},57726:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("sup")},{sup:function(){function o(){return a(this,"sup","","")}return o}()})},70604:function(A,r,n){"use strict";n(99159);var e=n(63964),a=n(43476);e({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==a},{trimEnd:a})},85404:function(A,r,n){"use strict";var e=n(63964),a=n(43885);e({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==a},{trimLeft:a})},99159:function(A,r,n){"use strict";var e=n(63964),a=n(43476);e({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==a},{trimRight:a})},34965:function(A,r,n){"use strict";n(85404);var e=n(63964),a=n(43885);e({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==a},{trimStart:a})},8448:function(A,r,n){"use strict";var e=n(63964),a=n(92648).trim,t=n(90012);e({target:"String",proto:!0,forced:t("trim")},{trim:function(){function o(){return a(this)}return o}()})},79250:function(A,r,n){"use strict";var e=n(85889);e("asyncIterator")},49899:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(91495),o=n(67250),f=n(4493),b=n(58310),S=n(52357),I=n(40033),k=n(45299),g=n(21287),u=n(30365),c=n(57591),m=n(767),l=n(12605),d=n(87458),s=n(80674),i=n(18450),h=n(37310),C=n(81644),v=n(89235),p=n(27193),N=n(74595),V=n(24239),y=n(12867),B=n(55938),L=n(73936),w=n(16639),x=n(19417),T=n(79195),M=n(16738),O=n(24697),D=n(55557),E=n(85889),P=n(52360),R=n(84925),j=n(5419),F=n(22603).forEach,W=x("hidden"),z="Symbol",K="prototype",G=j.set,J=j.getterFor(z),Q=Object[K],ue=a.Symbol,ie=ue&&ue[K],pe=a.RangeError,te=a.TypeError,q=a.QObject,ne=p.f,le=N.f,ee=C.f,re=y.f,oe=o([].push),fe=w("symbols"),me=w("op-symbols"),Y=w("wks"),ve=!q||!q[K]||!q[K].findChild,he=function(Ce,ke,ge){var Se=ne(Q,ke);Se&&delete Q[ke],le(Ce,ke,ge),Se&&Ce!==Q&&le(Q,ke,Se)},Ve=b&&I(function(){return s(le({},"a",{get:function(){function de(){return le(this,"a",{value:7}).a}return de}()})).a!==7})?he:le,Be=function(Ce,ke){var ge=fe[Ce]=s(ie);return G(ge,{type:z,tag:Ce,description:ke}),b||(ge.description=ke),ge},be=function(){function de(Ce,ke,ge){Ce===Q&&be(me,ke,ge),u(Ce);var Se=m(ke);return u(ge),k(fe,Se)?(ge.enumerable?(k(Ce,W)&&Ce[W][Se]&&(Ce[W][Se]=!1),ge=s(ge,{enumerable:d(0,!1)})):(k(Ce,W)||le(Ce,W,d(1,s(null))),Ce[W][Se]=!0),Ve(Ce,Se,ge)):le(Ce,Se,ge)}return de}(),Le=function(){function de(Ce,ke){u(Ce);var ge=c(ke),Se=i(ge).concat(ye(ge));return F(Se,function(Pe){(!b||t(xe,ge,Pe))&&be(Ce,Pe,ge[Pe])}),Ce}return de}(),we=function(){function de(Ce,ke){return ke===void 0?s(Ce):Le(s(Ce),ke)}return de}(),xe=function(){function de(Ce){var ke=m(Ce),ge=t(re,this,ke);return this===Q&&k(fe,ke)&&!k(me,ke)?!1:ge||!k(this,ke)||!k(fe,ke)||k(this,W)&&this[W][ke]?ge:!0}return de}(),Re=function(){function de(Ce,ke){var ge=c(Ce),Se=m(ke);if(!(ge===Q&&k(fe,Se)&&!k(me,Se))){var Pe=ne(ge,Se);return Pe&&k(fe,Se)&&!(k(ge,W)&&ge[W][Se])&&(Pe.enumerable=!0),Pe}}return de}(),He=function(){function de(Ce){var ke=ee(c(Ce)),ge=[];return F(ke,function(Se){!k(fe,Se)&&!k(T,Se)&&oe(ge,Se)}),ge}return de}(),ye=function(Ce){var ke=Ce===Q,ge=ee(ke?me:c(Ce)),Se=[];return F(ge,function(Pe){k(fe,Pe)&&(!ke||k(Q,Pe))&&oe(Se,fe[Pe])}),Se};S||(ue=function(){function de(){if(g(ie,this))throw new te("Symbol is not a constructor");var Ce=!arguments.length||arguments[0]===void 0?void 0:l(arguments[0]),ke=M(Ce),ge=function(){function Se(Pe){var je=this===void 0?a:this;je===Q&&t(Se,me,Pe),k(je,W)&&k(je[W],ke)&&(je[W][ke]=!1);var _e=d(1,Pe);try{Ve(je,ke,_e)}catch(ze){if(!(ze instanceof pe))throw ze;he(je,ke,_e)}}return Se}();return b&&ve&&Ve(Q,ke,{configurable:!0,set:ge}),Be(ke,Ce)}return de}(),ie=ue[K],B(ie,"toString",function(){function de(){return J(this).tag}return de}()),B(ue,"withoutSetter",function(de){return Be(M(de),de)}),y.f=xe,N.f=be,V.f=Le,p.f=Re,h.f=C.f=He,v.f=ye,D.f=function(de){return Be(O(de),de)},b&&(L(ie,"description",{configurable:!0,get:function(){function de(){return J(this).description}return de}()}),f||B(Q,"propertyIsEnumerable",xe,{unsafe:!0}))),e({global:!0,constructor:!0,wrap:!0,forced:!S,sham:!S},{Symbol:ue}),F(i(Y),function(de){E(de)}),e({target:z,stat:!0,forced:!S},{useSetter:function(){function de(){ve=!0}return de}(),useSimple:function(){function de(){ve=!1}return de}()}),e({target:"Object",stat:!0,forced:!S,sham:!b},{create:we,defineProperty:be,defineProperties:Le,getOwnPropertyDescriptor:Re}),e({target:"Object",stat:!0,forced:!S},{getOwnPropertyNames:He}),P(),R(ue,z),T[W]=!0},10933:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(74685),o=n(67250),f=n(45299),b=n(55747),S=n(21287),I=n(12605),k=n(73936),g=n(5774),u=t.Symbol,c=u&&u.prototype;if(a&&b(u)&&(!("description"in c)||u().description!==void 0)){var m={},l=function(){function p(){var N=arguments.length<1||arguments[0]===void 0?void 0:I(arguments[0]),V=S(c,this)?new u(N):N===void 0?u():u(N);return N===""&&(m[V]=!0),V}return p}();g(l,u),l.prototype=c,c.constructor=l;var d=String(u("description detection"))==="Symbol(description detection)",s=o(c.valueOf),i=o(c.toString),h=/^Symbol\((.*)\)[^)]+$/,C=o("".replace),v=o("".slice);k(c,"description",{configurable:!0,get:function(){function p(){var N=s(this);if(f(m,N))return"";var V=i(N),y=d?v(V,7,-1):C(V,h,"$1");return y===""?void 0:y}return p}()}),e({global:!0,constructor:!0,forced:!0},{Symbol:l})}},30828:function(A,r,n){"use strict";var e=n(63964),a=n(4009),t=n(45299),o=n(12605),f=n(16639),b=n(66570),S=f("string-to-symbol-registry"),I=f("symbol-to-string-registry");e({target:"Symbol",stat:!0,forced:!b},{for:function(){function k(g){var u=o(g);if(t(S,u))return S[u];var c=a("Symbol")(u);return S[u]=c,I[c]=u,c}return k}()})},53795:function(A,r,n){"use strict";var e=n(85889);e("hasInstance")},87806:function(A,r,n){"use strict";var e=n(85889);e("isConcatSpreadable")},64677:function(A,r,n){"use strict";var e=n(85889);e("iterator")},33313:function(A,r,n){"use strict";n(49899),n(30828),n(6862),n(53008),n(28603)},6862:function(A,r,n){"use strict";var e=n(63964),a=n(45299),t=n(71399),o=n(89393),f=n(16639),b=n(66570),S=f("symbol-to-string-registry");e({target:"Symbol",stat:!0,forced:!b},{keyFor:function(){function I(k){if(!t(k))throw new TypeError(o(k)+" is not a symbol");if(a(S,k))return S[k]}return I}()})},48058:function(A,r,n){"use strict";var e=n(85889);e("match")},51583:function(A,r,n){"use strict";var e=n(85889);e("replace")},82403:function(A,r,n){"use strict";var e=n(85889);e("search")},34265:function(A,r,n){"use strict";var e=n(85889);e("species")},3295:function(A,r,n){"use strict";var e=n(85889);e("split")},1078:function(A,r,n){"use strict";var e=n(85889),a=n(52360);e("toPrimitive"),a()},63207:function(A,r,n){"use strict";var e=n(4009),a=n(85889),t=n(84925);a("toStringTag"),t(e("Symbol"),"Symbol")},80520:function(A,r,n){"use strict";var e=n(85889);e("unscopables")},99872:function(A,r,n){"use strict";var e=n(67250),a=n(4246),t=n(71447),o=e(t),f=a.aTypedArray,b=a.exportTypedArrayMethod;b("copyWithin",function(){function S(I,k){return o(f(this),I,k,arguments.length>2?arguments[2]:void 0)}return S}())},73364:function(A,r,n){"use strict";var e=n(4246),a=n(22603).every,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("every",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},58166:function(A,r,n){"use strict";var e=n(4246),a=n(88471),t=n(61484),o=n(2281),f=n(91495),b=n(67250),S=n(40033),I=e.aTypedArray,k=e.exportTypedArrayMethod,g=b("".slice),u=S(function(){var c=0;return new Int8Array(2).fill({valueOf:function(){function m(){return c++}return m}()}),c!==1});k("fill",function(){function c(m){var l=arguments.length;I(this);var d=g(o(this),0,3)==="Big"?t(m):+m;return f(a,this,d,l>1?arguments[1]:void 0,l>2?arguments[2]:void 0)}return c}(),u)},23793:function(A,r,n){"use strict";var e=n(4246),a=n(22603).filter,t=n(45399),o=e.aTypedArray,f=e.exportTypedArrayMethod;f("filter",function(){function b(S){var I=a(o(this),S,arguments.length>1?arguments[1]:void 0);return t(this,I)}return b}())},13917:function(A,r,n){"use strict";var e=n(4246),a=n(22603).findIndex,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("findIndex",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},43820:function(A,r,n){"use strict";var e=n(4246),a=n(22603).find,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("find",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},80756:function(A,r,n){"use strict";var e=n(80185);e("Float32",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},70567:function(A,r,n){"use strict";var e=n(80185);e("Float64",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},19852:function(A,r,n){"use strict";var e=n(4246),a=n(22603).forEach,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("forEach",function(){function f(b){a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},40379:function(A,r,n){"use strict";var e=n(86563),a=n(4246).exportTypedArrayStaticMethod,t=n(3805);a("from",t,e)},92770:function(A,r,n){"use strict";var e=n(4246),a=n(14211).includes,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("includes",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},81069:function(A,r,n){"use strict";var e=n(4246),a=n(14211).indexOf,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("indexOf",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},60037:function(A,r,n){"use strict";var e=n(80185);e("Int16",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},44195:function(A,r,n){"use strict";var e=n(80185);e("Int32",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},66756:function(A,r,n){"use strict";var e=n(80185);e("Int8",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},63689:function(A,r,n){"use strict";var e=n(74685),a=n(40033),t=n(67250),o=n(4246),f=n(34570),b=n(24697),S=b("iterator"),I=e.Uint8Array,k=t(f.values),g=t(f.keys),u=t(f.entries),c=o.aTypedArray,m=o.exportTypedArrayMethod,l=I&&I.prototype,d=!a(function(){l[S].call([1])}),s=!!l&&l.values&&l[S]===l.values&&l.values.name==="values",i=function(){function h(){return k(c(this))}return h}();m("entries",function(){function h(){return u(c(this))}return h}(),d),m("keys",function(){function h(){return g(c(this))}return h}(),d),m("values",i,d||!s,{name:"values"}),m(S,i,d||!s,{name:"values"})},5659:function(A,r,n){"use strict";var e=n(4246),a=n(67250),t=e.aTypedArray,o=e.exportTypedArrayMethod,f=a([].join);o("join",function(){function b(S){return f(t(this),S)}return b}())},25014:function(A,r,n){"use strict";var e=n(4246),a=n(61267),t=n(1325),o=e.aTypedArray,f=e.exportTypedArrayMethod;f("lastIndexOf",function(){function b(S){var I=arguments.length;return a(t,o(this),I>1?[S,arguments[1]]:[S])}return b}())},32189:function(A,r,n){"use strict";var e=n(4246),a=n(22603).map,t=n(31082),o=e.aTypedArray,f=e.exportTypedArrayMethod;f("map",function(){function b(S){return a(o(this),S,arguments.length>1?arguments[1]:void 0,function(I,k){return new(t(I))(k)})}return b}())},23030:function(A,r,n){"use strict";var e=n(4246),a=n(86563),t=e.aTypedArrayConstructor,o=e.exportTypedArrayStaticMethod;o("of",function(){function f(){for(var b=0,S=arguments.length,I=new(t(this))(S);S>b;)I[b]=arguments[b++];return I}return f}(),a)},49110:function(A,r,n){"use strict";var e=n(4246),a=n(56844).right,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("reduceRight",function(){function f(b){var S=arguments.length;return a(t(this),b,S,S>1?arguments[1]:void 0)}return f}())},24309:function(A,r,n){"use strict";var e=n(4246),a=n(56844).left,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("reduce",function(){function f(b){var S=arguments.length;return a(t(this),b,S,S>1?arguments[1]:void 0)}return f}())},56445:function(A,r,n){"use strict";var e=n(4246),a=e.aTypedArray,t=e.exportTypedArrayMethod,o=Math.floor;t("reverse",function(){function f(){for(var b=this,S=a(b).length,I=o(S/2),k=0,g;k1?arguments[1]:void 0,1),C=b(i);if(l)return a(u,this,C,h);var v=this.length,p=o(C),N=0;if(p+h>v)throw new I("Wrong length");for(;Nm;)d[m]=u[m++];return d}return I}(),S)},88739:function(A,r,n){"use strict";var e=n(4246),a=n(22603).some,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("some",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},60415:function(A,r,n){"use strict";var e=n(74685),a=n(71138),t=n(40033),o=n(10320),f=n(90274),b=n(4246),S=n(652),I=n(19228),k=n(5026),g=n(9342),u=b.aTypedArray,c=b.exportTypedArrayMethod,m=e.Uint16Array,l=m&&a(m.prototype.sort),d=!!l&&!(t(function(){l(new m(2),null)})&&t(function(){l(new m(2),{})})),s=!!l&&!t(function(){if(k)return k<74;if(S)return S<67;if(I)return!0;if(g)return g<602;var h=new m(516),C=Array(516),v,p;for(v=0;v<516;v++)p=v%4,h[v]=515-v,C[v]=v-2*p+3;for(l(h,function(N,V){return(N/4|0)-(V/4|0)}),v=0;v<516;v++)if(h[v]!==C[v])return!0}),i=function(C){return function(v,p){return C!==void 0?+C(v,p)||0:p!==p?-1:v!==v?1:v===0&&p===0?1/v>0&&1/p<0?1:-1:v>p}};c("sort",function(){function h(C){return C!==void 0&&o(C),s?l(this,C):f(u(this),i(C))}return h}(),!s||d)},72532:function(A,r,n){"use strict";var e=n(4246),a=n(10188),t=n(13912),o=n(31082),f=e.aTypedArray,b=e.exportTypedArrayMethod;b("subarray",function(){function S(I,k){var g=f(this),u=g.length,c=t(I,u),m=o(g);return new m(g.buffer,g.byteOffset+c*g.BYTES_PER_ELEMENT,a((k===void 0?u:t(k,u))-c))}return S}())},62207:function(A,r,n){"use strict";var e=n(74685),a=n(61267),t=n(4246),o=n(40033),f=n(54602),b=e.Int8Array,S=t.aTypedArray,I=t.exportTypedArrayMethod,k=[].toLocaleString,g=!!b&&o(function(){k.call(new b(1))}),u=o(function(){return[1,2].toLocaleString()!==new b([1,2]).toLocaleString()})||!o(function(){b.prototype.toLocaleString.call([1,2])});I("toLocaleString",function(){function c(){return a(k,g?f(S(this)):S(this),f(arguments))}return c}(),u)},906:function(A,r,n){"use strict";var e=n(4246).exportTypedArrayMethod,a=n(40033),t=n(74685),o=n(67250),f=t.Uint8Array,b=f&&f.prototype||{},S=[].toString,I=o([].join);a(function(){S.call({})})&&(S=function(){function g(){return I(this)}return g}());var k=b.toString!==S;e("toString",S,k)},78824:function(A,r,n){"use strict";var e=n(80185);e("Uint16",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},72846:function(A,r,n){"use strict";var e=n(80185);e("Uint32",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},24575:function(A,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},71968:function(A,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()},!0)},80040:function(A,r,n){"use strict";var e=n(50730),a=n(74685),t=n(67250),o=n(30145),f=n(81969),b=n(45150),S=n(39895),I=n(77568),k=n(5419).enforce,g=n(40033),u=n(21820),c=Object,m=Array.isArray,l=c.isExtensible,d=c.isFrozen,s=c.isSealed,i=c.freeze,h=c.seal,C=!a.ActiveXObject&&"ActiveXObject"in a,v,p=function(M){return function(){function O(){return M(this,arguments.length?arguments[0]:void 0)}return O}()},N=b("WeakMap",p,S),V=N.prototype,y=t(V.set),B=function(){return e&&g(function(){var M=i([]);return y(new N,M,1),!d(M)})};if(u)if(C){v=S.getConstructor(p,"WeakMap",!0),f.enable();var L=t(V.delete),w=t(V.has),x=t(V.get);o(V,{delete:function(){function T(M){if(I(M)&&!l(M)){var O=k(this);return O.frozen||(O.frozen=new v),L(this,M)||O.frozen.delete(M)}return L(this,M)}return T}(),has:function(){function T(M){if(I(M)&&!l(M)){var O=k(this);return O.frozen||(O.frozen=new v),w(this,M)||O.frozen.has(M)}return w(this,M)}return T}(),get:function(){function T(M){if(I(M)&&!l(M)){var O=k(this);return O.frozen||(O.frozen=new v),w(this,M)?x(this,M):O.frozen.get(M)}return x(this,M)}return T}(),set:function(){function T(M,O){if(I(M)&&!l(M)){var D=k(this);D.frozen||(D.frozen=new v),w(this,M)?y(this,M,O):D.frozen.set(M,O)}else y(this,M,O);return this}return T}()})}else B()&&o(V,{set:function(){function T(M,O){var D;return m(M)&&(d(M)?D=i:s(M)&&(D=h)),y(this,M,O),D&&D(M),this}return T}()})},90846:function(A,r,n){"use strict";n(80040)},67042:function(A,r,n){"use strict";var e=n(45150),a=n(39895);e("WeakSet",function(t){return function(){function o(){return t(this,arguments.length?arguments[0]:void 0)}return o}()},a)},40348:function(A,r,n){"use strict";n(67042)},5606:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(60375).clear;e({global:!0,bind:!0,enumerable:!0,forced:a.clearImmediate!==t},{clearImmediate:t})},83006:function(A,r,n){"use strict";n(5606),n(27807)},25764:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(37713),o=n(10320),f=n(24986),b=n(40033),S=n(58310),I=b(function(){return S&&Object.getOwnPropertyDescriptor(a,"queueMicrotask").value.length!==1});e({global:!0,enumerable:!0,dontCallGetSet:!0,forced:I},{queueMicrotask:function(){function k(g){f(arguments.length,1),t(o(g))}return k}()})},27807:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(60375).set,o=n(78362),f=a.setImmediate?o(t,!1):t;e({global:!0,bind:!0,enumerable:!0,forced:a.setImmediate!==f},{setImmediate:f})},45569:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(78362),o=t(a.setInterval,!0);e({global:!0,bind:!0,forced:a.setInterval!==o},{setInterval:o})},5213:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(78362),o=t(a.setTimeout,!0);e({global:!0,bind:!0,forced:a.setTimeout!==o},{setTimeout:o})},69401:function(A,r,n){"use strict";n(45569),n(5213)},7435:function(A){"use strict";/** + */var t=r.BoxWithSampleText=function(){function o(f){return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({},f,{children:[(0,e.createComponentVNode)(2,a.Box,{italic:!0,children:"Jackdaws love my big sphinx of quartz."}),(0,e.createComponentVNode)(2,a.Box,{mt:1,bold:!0,children:"The wide electrification of the southern provinces will give a powerful impetus to the growth of agriculture."})]})))}return o}()},67160:function(){},23542:function(){},30386:function(){},98996:function(){},50578:function(){},4444:function(){},77870:function(){},23632:function(){},56492:function(){},39108:function(){},11714:function(){},73492:function(){},49641:function(){},17570:function(){},61858:function(){},32882:function(){},70752:function(A,r,n){var e={"./pai_atmosphere.js":80818,"./pai_bioscan.js":23903,"./pai_directives.js":64988,"./pai_doorjack.js":13813,"./pai_main_menu.js":66025,"./pai_manifest.js":2983,"./pai_medrecords.js":40758,"./pai_messenger.js":98599,"./pai_radio.js":50775,"./pai_secrecords.js":48623,"./pai_signaler.js":47297};function a(o){var f=t(o);return n(f)}function t(o){if(!n.o(e,o)){var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,A.exports=a,a.id=70752},59395:function(A,r,n){var e={"./pda_atmos_scan.js":78532,"./pda_games.js":2395,"./pda_janitor.js":40253,"./pda_main_menu.js":58293,"./pda_manifest.js":58059,"./pda_medical.js":18147,"./pda_messenger.js":77595,"./pda_minesweeper.js":90382,"./pda_mule.js":24635,"./pda_nanobank.js":23734,"./pda_notes.js":97085,"./pda_power.js":57513,"./pda_secbot.js":99808,"./pda_security.js":77168,"./pda_signaler.js":21773,"./pda_status_display.js":81857,"./pda_supplyrecords.js":70287};function a(o){var f=t(o);return n(f)}function t(o){if(!n.o(e,o)){var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,A.exports=a,a.id=59395},32054:function(A,r,n){var e={"./AICard":1090,"./AICard.js":1090,"./AIFixer":39454,"./AIFixer.js":39454,"./APC":88422,"./APC.js":88422,"./ATM":99660,"./ATM.js":99660,"./AccountsUplinkTerminal":86423,"./AccountsUplinkTerminal.js":86423,"./AdminAntagMenu":23001,"./AdminAntagMenu.js":23001,"./AgentCard":39683,"./AgentCard.tsx":39683,"./AiAirlock":56793,"./AiAirlock.js":56793,"./AirAlarm":72475,"./AirAlarm.js":72475,"./AirlockAccessController":12333,"./AirlockAccessController.js":12333,"./AirlockElectronics":28736,"./AirlockElectronics.js":28736,"./AlertModal":47365,"./AlertModal.tsx":47365,"./AppearanceChanger":71824,"./AppearanceChanger.js":71824,"./AtmosAlertConsole":72285,"./AtmosAlertConsole.js":72285,"./AtmosControl":65805,"./AtmosControl.js":65805,"./AtmosFilter":87816,"./AtmosFilter.js":87816,"./AtmosGraphMonitor":57258,"./AtmosGraphMonitor.tsx":57258,"./AtmosMixer":52977,"./AtmosMixer.js":52977,"./AtmosPump":11748,"./AtmosPump.js":11748,"./AtmosTankControl":69321,"./AtmosTankControl.js":69321,"./AugmentMenu":92444,"./AugmentMenu.js":92444,"./Autolathe":59179,"./Autolathe.js":59179,"./Autolathe220":29943,"./Autolathe220.tsx":29943,"./BioChipPad":5147,"./BioChipPad.js":5147,"./Biogenerator":64273,"./Biogenerator.js":64273,"./BloomEdit":47823,"./BloomEdit.js":47823,"./BlueSpaceArtilleryControl":18621,"./BlueSpaceArtilleryControl.js":18621,"./BluespaceTap":27629,"./BluespaceTap.js":27629,"./BodyScanner":33758,"./BodyScanner.js":33758,"./BookBinder":67963,"./BookBinder.js":67963,"./BotCall":61925,"./BotCall.js":61925,"./BotClean":20464,"./BotClean.js":20464,"./BotFloor":69479,"./BotFloor.js":69479,"./BotHonk":59887,"./BotHonk.js":59887,"./BotMed":80063,"./BotMed.js":80063,"./BotSecurity":74439,"./BotSecurity.js":74439,"./BrigCells":10833,"./BrigCells.js":10833,"./BrigTimer":45761,"./BrigTimer.js":45761,"./CameraConsole":26300,"./CameraConsole.js":26300,"./CameraConsole220":39222,"./CameraConsole220.js":39222,"./Canister":52927,"./Canister.js":52927,"./CardComputer":51793,"./CardComputer.js":51793,"./CargoConsole":64083,"./CargoConsole.js":64083,"./Chameleon":36232,"./Chameleon.tsx":36232,"./ChangelogView":87331,"./ChangelogView.js":87331,"./CheckboxListInputModal":91360,"./CheckboxListInputModal.tsx":91360,"./ChemDispenser":36108,"./ChemDispenser.js":36108,"./ChemHeater":13146,"./ChemHeater.js":13146,"./ChemMaster":56541,"./ChemMaster.tsx":56541,"./CloningConsole":37173,"./CloningConsole.js":37173,"./CloningPod":98723,"./CloningPod.js":98723,"./CoinMint":18259,"./CoinMint.tsx":18259,"./ColorPickerModal":93858,"./ColorPickerModal.tsx":93858,"./ColourMatrixTester":8444,"./ColourMatrixTester.js":8444,"./CommunicationsComputer":63818,"./CommunicationsComputer.js":63818,"./CompostBin":20562,"./CompostBin.js":20562,"./Contractor":21813,"./Contractor.js":21813,"./ConveyorSwitch":54151,"./ConveyorSwitch.js":54151,"./CrewMonitor":73169,"./CrewMonitor.js":73169,"./Cryo":63987,"./Cryo.js":63987,"./CryopodConsole":86099,"./CryopodConsole.js":86099,"./DNAModifier":12692,"./DNAModifier.js":12692,"./DecalPainter":76430,"./DecalPainter.js":76430,"./DestinationTagger":41074,"./DestinationTagger.js":41074,"./DisposalBin":46500,"./DisposalBin.js":46500,"./DnaVault":33233,"./DnaVault.js":33233,"./DroneConsole":33681,"./DroneConsole.js":33681,"./EFTPOS":17263,"./EFTPOS.js":17263,"./ERTManager":76382,"./ERTManager.js":76382,"./EconomyManager":90217,"./EconomyManager.js":90217,"./Electropack":82565,"./Electropack.js":82565,"./Emojipedia":11243,"./Emojipedia.tsx":11243,"./EmotePanel":69784,"./EmotePanel.js":69784,"./EvolutionMenu":36730,"./EvolutionMenu.js":36730,"./ExosuitFabricator":17370,"./ExosuitFabricator.js":17370,"./ExperimentConsole":59128,"./ExperimentConsole.js":59128,"./ExternalAirlockController":97086,"./ExternalAirlockController.js":97086,"./FaxMachine":96142,"./FaxMachine.js":96142,"./FilingCabinet":74123,"./FilingCabinet.js":74123,"./FloorPainter":83767,"./FloorPainter.js":83767,"./GPS":53424,"./GPS.js":53424,"./GeneModder":89124,"./GeneModder.js":89124,"./GenericCrewManifest":73053,"./GenericCrewManifest.js":73053,"./GhostHudPanel":42914,"./GhostHudPanel.js":42914,"./GlandDispenser":25825,"./GlandDispenser.js":25825,"./GravityGen":10270,"./GravityGen.js":10270,"./GuestPass":48657,"./GuestPass.js":48657,"./HandheldChemDispenser":67834,"./HandheldChemDispenser.js":67834,"./HealthSensor":46098,"./HealthSensor.js":46098,"./Holodeck":36771,"./Holodeck.js":36771,"./Instrument":25471,"./Instrument.js":25471,"./Jukebox":52736,"./Jukebox.tsx":52736,"./KeyComboModal":13618,"./KeyComboModal.tsx":13618,"./KeycardAuth":35655,"./KeycardAuth.js":35655,"./KitchenMachine":62955,"./KitchenMachine.js":62955,"./LawManager":9525,"./LawManager.js":9525,"./LibraryComputer":85066,"./LibraryComputer.js":85066,"./LibraryManager":9516,"./LibraryManager.js":9516,"./ListInputModal":90447,"./ListInputModal.tsx":90447,"./Loadout":26826,"./Loadout.tsx":26826,"./MODsuit":77613,"./MODsuit.js":77613,"./MagnetController":78624,"./MagnetController.js":78624,"./MechBayConsole":72106,"./MechBayConsole.js":72106,"./MechaControlConsole":7466,"./MechaControlConsole.js":7466,"./MedicalRecords":79625,"./MedicalRecords.js":79625,"./MerchVendor":54989,"./MerchVendor.js":54989,"./MiningVendor":87684,"./MiningVendor.js":87684,"./ModpacksList":61468,"./ModpacksList.js":61468,"./NTRecruiter":59783,"./NTRecruiter.js":59783,"./Newscaster":64713,"./Newscaster.js":64713,"./Noticeboard":48286,"./Noticeboard.tsx":48286,"./NuclearBomb":41166,"./NuclearBomb.js":41166,"./NumberInputModal":52416,"./NumberInputModal.tsx":52416,"./OperatingComputer":1218,"./OperatingComputer.js":1218,"./Orbit":46892,"./Orbit.js":46892,"./OreRedemption":15421,"./OreRedemption.js":15421,"./PAI":52754,"./PAI.js":52754,"./PDA":85175,"./PDA.js":85175,"./Pacman":68654,"./Pacman.js":68654,"./PanDEMIC":1701,"./PanDEMIC.tsx":1701,"./ParticleAccelerator":67921,"./ParticleAccelerator.js":67921,"./PdaPainter":71432,"./PdaPainter.js":71432,"./PersonalCrafting":33388,"./PersonalCrafting.js":33388,"./Photocopier":56150,"./Photocopier.js":56150,"./Photocopier220":8340,"./Photocopier220.js":8340,"./PoolController":84676,"./PoolController.js":84676,"./PortablePump":57003,"./PortablePump.js":57003,"./PortableScrubber":70069,"./PortableScrubber.js":70069,"./PortableTurret":59955,"./PortableTurret.js":59955,"./PowerMonitor":61631,"./PowerMonitor.js":61631,"./PrisonerImplantManager":50992,"./PrisonerImplantManager.js":50992,"./PrisonerShuttleConsole":53952,"./PrisonerShuttleConsole.js":53952,"./PrizeCounter":97852,"./PrizeCounter.tsx":97852,"./RCD":94813,"./RCD.js":94813,"./RPD":18738,"./RPD.js":18738,"./Radio":80299,"./Radio.js":80299,"./RankedListInputModal":14846,"./RankedListInputModal.tsx":14846,"./ReagentGrinder":48125,"./ReagentGrinder.js":48125,"./ReagentsEditor":58262,"./ReagentsEditor.tsx":58262,"./RemoteSignaler":30207,"./RemoteSignaler.js":30207,"./RequestConsole":25472,"./RequestConsole.js":25472,"./RndBackupConsole":9861,"./RndBackupConsole.js":9861,"./RndConsole":12644,"./RndConsole/":12644,"./RndConsole/AnalyzerMenu":68303,"./RndConsole/AnalyzerMenu.js":68303,"./RndConsole/DataDiskMenu":37556,"./RndConsole/DataDiskMenu.js":37556,"./RndConsole/LatheCategory":16830,"./RndConsole/LatheCategory.js":16830,"./RndConsole/LatheChemicalStorage":70497,"./RndConsole/LatheChemicalStorage.js":70497,"./RndConsole/LatheMainMenu":70864,"./RndConsole/LatheMainMenu.js":70864,"./RndConsole/LatheMaterialStorage":42878,"./RndConsole/LatheMaterialStorage.js":42878,"./RndConsole/LatheMaterials":52662,"./RndConsole/LatheMaterials.js":52662,"./RndConsole/LatheMenu":9681,"./RndConsole/LatheMenu.js":9681,"./RndConsole/LatheSearch":68198,"./RndConsole/LatheSearch.js":68198,"./RndConsole/LinkMenu":81421,"./RndConsole/LinkMenu.js":81421,"./RndConsole/SettingsMenu":6256,"./RndConsole/SettingsMenu.js":6256,"./RndConsole/index":12644,"./RndConsole/index.js":12644,"./RndNetController":29205,"./RndNetController.js":29205,"./RndServer":63315,"./RndServer.js":63315,"./RobotSelfDiagnosis":26109,"./RobotSelfDiagnosis.js":26109,"./RoboticsControlConsole":97997,"./RoboticsControlConsole.js":97997,"./Safe":54431,"./Safe.js":54431,"./SatelliteControl":29740,"./SatelliteControl.js":29740,"./SecureStorage":44162,"./SecureStorage.js":44162,"./SecurityRecords":6272,"./SecurityRecords.js":6272,"./SeedExtractor":5099,"./SeedExtractor.js":5099,"./Shop":17474,"./Shop.js":17474,"./ShuttleConsole":2916,"./ShuttleConsole.js":2916,"./ShuttleManipulator":39401,"./ShuttleManipulator.js":39401,"./SingularityMonitor":86013,"./SingularityMonitor.js":86013,"./Sleeper":88284,"./Sleeper.js":88284,"./SlotMachine":21597,"./SlotMachine.js":21597,"./Smartfridge":46348,"./Smartfridge.js":46348,"./Smes":86162,"./Smes.js":86162,"./SolarControl":63584,"./SolarControl.js":63584,"./SpawnersMenu":38096,"./SpawnersMenu.js":38096,"./SpecMenu":30586,"./SpecMenu.js":30586,"./StackCraft":95152,"./StackCraft.js":95152,"./StationAlertConsole":38307,"./StationAlertConsole.js":38307,"./StationTraitsPanel":96091,"./StationTraitsPanel.tsx":96091,"./StripMenu":39409,"./StripMenu.tsx":39409,"./SuitStorage":69514,"./SuitStorage.js":69514,"./SupermatterMonitor":15022,"./SupermatterMonitor.js":15022,"./SyndicateComputerSimple":46029,"./SyndicateComputerSimple.js":46029,"./TEG":36372,"./TEG.js":36372,"./TTSSeedsExplorer":23190,"./TTSSeedsExplorer.tsx":23190,"./TachyonArray":56441,"./TachyonArray.js":56441,"./Tank":1754,"./Tank.js":1754,"./TankDispenser":7579,"./TankDispenser.js":7579,"./TcommsCore":16136,"./TcommsCore.js":16136,"./TcommsRelay":88046,"./TcommsRelay.js":88046,"./Teleporter":20802,"./Teleporter.js":20802,"./TelescienceConsole":48517,"./TelescienceConsole.js":48517,"./TempGun":21800,"./TempGun.js":21800,"./TextInputModal":24410,"./TextInputModal.tsx":24410,"./ThermoMachine":25036,"./ThermoMachine.js":25036,"./TransferValve":20035,"./TransferValve.js":20035,"./TurbineComputer":78166,"./TurbineComputer.js":78166,"./Uplink":52847,"./Uplink.js":52847,"./Vending":12261,"./Vending.js":12261,"./VolumeMixer":68971,"./VolumeMixer.js":68971,"./VotePanel":2510,"./VotePanel.js":2510,"./Wires":30138,"./Wires.js":30138,"./WizardApprenticeContract":21400,"./WizardApprenticeContract.js":21400,"./common/AccessList":49148,"./common/AccessList.js":49148,"./common/AtmosScan":26991,"./common/AtmosScan.js":26991,"./common/BeakerContents":85870,"./common/BeakerContents.js":85870,"./common/BotStatus":92963,"./common/BotStatus.js":92963,"./common/ComplexModal":3939,"./common/ComplexModal.js":3939,"./common/CrewManifest":41874,"./common/CrewManifest.js":41874,"./common/InputButtons":19203,"./common/InputButtons.tsx":19203,"./common/InterfaceLockNoticeBox":195,"./common/InterfaceLockNoticeBox.js":195,"./common/Loader":51057,"./common/Loader.tsx":51057,"./common/LoginInfo":321,"./common/LoginInfo.js":321,"./common/LoginScreen":5485,"./common/LoginScreen.js":5485,"./common/Operating":62411,"./common/Operating.js":62411,"./common/Signaler":13545,"./common/Signaler.js":13545,"./common/SimpleRecords":41984,"./common/SimpleRecords.js":41984,"./common/TemporaryNotice":22091,"./common/TemporaryNotice.js":22091,"./goonstation_PTL":95213,"./goonstation_PTL/":95213,"./goonstation_PTL/index":95213,"./goonstation_PTL/index.js":95213,"./pai/pai_atmosphere":80818,"./pai/pai_atmosphere.js":80818,"./pai/pai_bioscan":23903,"./pai/pai_bioscan.js":23903,"./pai/pai_directives":64988,"./pai/pai_directives.js":64988,"./pai/pai_doorjack":13813,"./pai/pai_doorjack.js":13813,"./pai/pai_main_menu":66025,"./pai/pai_main_menu.js":66025,"./pai/pai_manifest":2983,"./pai/pai_manifest.js":2983,"./pai/pai_medrecords":40758,"./pai/pai_medrecords.js":40758,"./pai/pai_messenger":98599,"./pai/pai_messenger.js":98599,"./pai/pai_radio":50775,"./pai/pai_radio.js":50775,"./pai/pai_secrecords":48623,"./pai/pai_secrecords.js":48623,"./pai/pai_signaler":47297,"./pai/pai_signaler.js":47297,"./pda/pda_atmos_scan":78532,"./pda/pda_atmos_scan.js":78532,"./pda/pda_games":2395,"./pda/pda_games.js":2395,"./pda/pda_janitor":40253,"./pda/pda_janitor.js":40253,"./pda/pda_main_menu":58293,"./pda/pda_main_menu.js":58293,"./pda/pda_manifest":58059,"./pda/pda_manifest.js":58059,"./pda/pda_medical":18147,"./pda/pda_medical.js":18147,"./pda/pda_messenger":77595,"./pda/pda_messenger.js":77595,"./pda/pda_minesweeper":90382,"./pda/pda_minesweeper.js":90382,"./pda/pda_mule":24635,"./pda/pda_mule.js":24635,"./pda/pda_nanobank":23734,"./pda/pda_nanobank.js":23734,"./pda/pda_notes":97085,"./pda/pda_notes.js":97085,"./pda/pda_power":57513,"./pda/pda_power.js":57513,"./pda/pda_secbot":99808,"./pda/pda_secbot.js":99808,"./pda/pda_security":77168,"./pda/pda_security.js":77168,"./pda/pda_signaler":21773,"./pda/pda_signaler.js":21773,"./pda/pda_status_display":81857,"./pda/pda_status_display.js":81857,"./pda/pda_supplyrecords":70287,"./pda/pda_supplyrecords.js":70287};function a(o){var f=t(o);return n(f)}function t(o){if(!n.o(e,o)){var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,A.exports=a,a.id=32054},4085:function(A,r,n){var e={"./Blink.stories.js":51364,"./BlockQuote.stories.js":32453,"./Box.stories.js":83531,"./Button.stories.js":74198,"./ByondUi.stories.js":51956,"./Collapsible.stories.js":17466,"./Flex.stories.js":89241,"./ImageButton.stories.js":48779,"./Input.stories.js":21394,"./Popper.stories.js":43932,"./ProgressBar.stories.js":33270,"./Stack.stories.js":77766,"./Storage.stories.js":30187,"./Tabs.stories.js":46554,"./Themes.stories.js":53276,"./Tooltip.stories.js":28717};function a(o){var f=t(o);return n(f)}function t(o){if(!n.o(e,o)){var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,A.exports=a,a.id=4085},10320:function(A,r,n){"use strict";var e=n(55747),a=n(89393),t=TypeError;A.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not a function")}},32606:function(A,r,n){"use strict";var e=n(1031),a=n(89393),t=TypeError;A.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not a constructor")}},35908:function(A,r,n){"use strict";var e=n(45015),a=String,t=TypeError;A.exports=function(o){if(e(o))return o;throw new t("Can't set "+a(o)+" as a prototype")}},80575:function(A,r,n){"use strict";var e=n(24697),a=n(80674),t=n(74595).f,o=e("unscopables"),f=Array.prototype;f[o]===void 0&&t(f,o,{configurable:!0,value:a(null)}),A.exports=function(b){f[o][b]=!0}},35483:function(A,r,n){"use strict";var e=n(50233).charAt;A.exports=function(a,t,o){return t+(o?e(a,t).length:1)}},60077:function(A,r,n){"use strict";var e=n(21287),a=TypeError;A.exports=function(t,o){if(e(o,t))return t;throw new a("Incorrect invocation")}},30365:function(A,r,n){"use strict";var e=n(77568),a=String,t=TypeError;A.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not an object")}},70377:function(A){"use strict";A.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},3782:function(A,r,n){"use strict";var e=n(40033);A.exports=e(function(){if(typeof ArrayBuffer=="function"){var a=new ArrayBuffer(8);Object.isExtensible(a)&&Object.defineProperty(a,"a",{value:8})}})},4246:function(A,r,n){"use strict";var e=n(70377),a=n(58310),t=n(74685),o=n(55747),f=n(77568),b=n(45299),S=n(2281),I=n(89393),k=n(37909),g=n(55938),d=n(73936),c=n(21287),m=n(36917),l=n(76649),u=n(24697),s=n(16738),i=n(5419),h=i.enforce,C=i.get,v=t.Int8Array,p=v&&v.prototype,N=t.Uint8ClampedArray,V=N&&N.prototype,y=v&&m(v),B=p&&m(p),L=Object.prototype,w=t.TypeError,x=u("toStringTag"),T=s("TYPED_ARRAY_TAG"),M="TypedArrayConstructor",O=e&&!!l&&S(t.opera)!=="Opera",D=!1,E,P,R,j={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},F={BigInt64Array:8,BigUint64Array:8},W=function(){function ie(pe){if(!f(pe))return!1;var te=S(pe);return te==="DataView"||b(j,te)||b(F,te)}return ie}(),z=function ie(pe){var te=m(pe);if(f(te)){var q=C(te);return q&&b(q,M)?q[M]:ie(te)}},K=function(pe){if(!f(pe))return!1;var te=S(pe);return b(j,te)||b(F,te)},G=function(pe){if(K(pe))return pe;throw new w("Target is not a typed array")},J=function(pe){if(o(pe)&&(!l||c(y,pe)))return pe;throw new w(I(pe)+" is not a typed array constructor")},Q=function(pe,te,q,ne){if(a){if(q)for(var le in j){var ee=t[le];if(ee&&b(ee.prototype,pe))try{delete ee.prototype[pe]}catch(re){try{ee.prototype[pe]=te}catch(oe){}}}(!B[pe]||q)&&g(B,pe,q?te:O&&p[pe]||te,ne)}},ue=function(pe,te,q){var ne,le;if(a){if(l){if(q){for(ne in j)if(le=t[ne],le&&b(le,pe))try{delete le[pe]}catch(ee){}}if(!y[pe]||q)try{return g(y,pe,q?te:O&&y[pe]||te)}catch(ee){}else return}for(ne in j)le=t[ne],le&&(!le[pe]||q)&&g(le,pe,te)}};for(E in j)P=t[E],R=P&&P.prototype,R?h(R)[M]=P:O=!1;for(E in F)P=t[E],R=P&&P.prototype,R&&(h(R)[M]=P);if((!O||!o(y)||y===Function.prototype)&&(y=function(){function ie(){throw new w("Incorrect invocation")}return ie}(),O))for(E in j)t[E]&&l(t[E],y);if((!O||!B||B===L)&&(B=y.prototype,O))for(E in j)t[E]&&l(t[E].prototype,B);if(O&&m(V)!==B&&l(V,B),a&&!b(B,x)){D=!0,d(B,x,{configurable:!0,get:function(){function ie(){return f(this)?this[T]:void 0}return ie}()});for(E in j)t[E]&&k(t[E],T,E)}A.exports={NATIVE_ARRAY_BUFFER_VIEWS:O,TYPED_ARRAY_TAG:D&&T,aTypedArray:G,aTypedArrayConstructor:J,exportTypedArrayMethod:Q,exportTypedArrayStaticMethod:ue,getTypedArrayConstructor:z,isView:W,isTypedArray:K,TypedArray:y,TypedArrayPrototype:B}},37336:function(A,r,n){"use strict";var e=n(74685),a=n(67250),t=n(58310),o=n(70377),f=n(70520),b=n(37909),S=n(73936),I=n(30145),k=n(40033),g=n(60077),d=n(61365),c=n(10188),m=n(43806),l=n(95867),u=n(91784),s=n(36917),i=n(76649),h=n(88471),C=n(54602),v=n(5781),p=n(5774),N=n(84925),V=n(5419),y=f.PROPER,B=f.CONFIGURABLE,L="ArrayBuffer",w="DataView",x="prototype",T="Wrong length",M="Wrong index",O=V.getterFor(L),D=V.getterFor(w),E=V.set,P=e[L],R=P,j=R&&R[x],F=e[w],W=F&&F[x],z=Object.prototype,K=e.Array,G=e.RangeError,J=a(h),Q=a([].reverse),ue=u.pack,ie=u.unpack,pe=function(Ve){return[Ve&255]},te=function(Ve){return[Ve&255,Ve>>8&255]},q=function(Ve){return[Ve&255,Ve>>8&255,Ve>>16&255,Ve>>24&255]},ne=function(Ve){return Ve[3]<<24|Ve[2]<<16|Ve[1]<<8|Ve[0]},le=function(Ve){return ue(l(Ve),23,4)},ee=function(Ve){return ue(Ve,52,8)},re=function(Ve,Be,be){S(Ve[x],Be,{configurable:!0,get:function(){function Le(){return be(this)[Be]}return Le}()})},oe=function(Ve,Be,be,Le){var we=D(Ve),xe=m(be),Re=!!Le;if(xe+Be>we.byteLength)throw new G(M);var He=we.bytes,ye=xe+we.byteOffset,de=C(He,ye,ye+Be);return Re?de:Q(de)},fe=function(Ve,Be,be,Le,we,xe){var Re=D(Ve),He=m(be),ye=Le(+we),de=!!xe;if(He+Be>Re.byteLength)throw new G(M);for(var Ce=Re.bytes,ke=He+Re.byteOffset,ge=0;gewe)throw new G("Wrong offset");if(be=be===void 0?we-xe:c(be),xe+be>we)throw new G(T);E(this,{type:w,buffer:Ve,byteLength:be,byteOffset:xe,bytes:Le.bytes}),t||(this.buffer=Ve,this.byteLength=be,this.byteOffset=xe)}return he}(),W=F[x],t&&(re(R,"byteLength",O),re(F,"buffer",D),re(F,"byteLength",D),re(F,"byteOffset",D)),I(W,{getInt8:function(){function he(Ve){return oe(this,1,Ve)[0]<<24>>24}return he}(),getUint8:function(){function he(Ve){return oe(this,1,Ve)[0]}return he}(),getInt16:function(){function he(Ve){var Be=oe(this,2,Ve,arguments.length>1?arguments[1]:!1);return(Be[1]<<8|Be[0])<<16>>16}return he}(),getUint16:function(){function he(Ve){var Be=oe(this,2,Ve,arguments.length>1?arguments[1]:!1);return Be[1]<<8|Be[0]}return he}(),getInt32:function(){function he(Ve){return ne(oe(this,4,Ve,arguments.length>1?arguments[1]:!1))}return he}(),getUint32:function(){function he(Ve){return ne(oe(this,4,Ve,arguments.length>1?arguments[1]:!1))>>>0}return he}(),getFloat32:function(){function he(Ve){return ie(oe(this,4,Ve,arguments.length>1?arguments[1]:!1),23)}return he}(),getFloat64:function(){function he(Ve){return ie(oe(this,8,Ve,arguments.length>1?arguments[1]:!1),52)}return he}(),setInt8:function(){function he(Ve,Be){fe(this,1,Ve,pe,Be)}return he}(),setUint8:function(){function he(Ve,Be){fe(this,1,Ve,pe,Be)}return he}(),setInt16:function(){function he(Ve,Be){fe(this,2,Ve,te,Be,arguments.length>2?arguments[2]:!1)}return he}(),setUint16:function(){function he(Ve,Be){fe(this,2,Ve,te,Be,arguments.length>2?arguments[2]:!1)}return he}(),setInt32:function(){function he(Ve,Be){fe(this,4,Ve,q,Be,arguments.length>2?arguments[2]:!1)}return he}(),setUint32:function(){function he(Ve,Be){fe(this,4,Ve,q,Be,arguments.length>2?arguments[2]:!1)}return he}(),setFloat32:function(){function he(Ve,Be){fe(this,4,Ve,le,Be,arguments.length>2?arguments[2]:!1)}return he}(),setFloat64:function(){function he(Ve,Be){fe(this,8,Ve,ee,Be,arguments.length>2?arguments[2]:!1)}return he}()});else{var me=y&&P.name!==L;!k(function(){P(1)})||!k(function(){new P(-1)})||k(function(){return new P,new P(1.5),new P(NaN),P.length!==1||me&&!B})?(R=function(){function he(Ve){return g(this,j),v(new P(m(Ve)),this,R)}return he}(),R[x]=j,j.constructor=R,p(R,P)):me&&B&&b(P,"name",L),i&&s(W)!==z&&i(W,z);var Y=new F(new R(2)),ve=a(W.setInt8);Y.setInt8(0,2147483648),Y.setInt8(1,2147483649),(Y.getInt8(0)||!Y.getInt8(1))&&I(W,{setInt8:function(){function he(Ve,Be){ve(this,Ve,Be<<24>>24)}return he}(),setUint8:function(){function he(Ve,Be){ve(this,Ve,Be<<24>>24)}return he}()},{unsafe:!0})}N(R,L),N(F,w),A.exports={ArrayBuffer:R,DataView:F}},71447:function(A,r,n){"use strict";var e=n(46771),a=n(13912),t=n(24760),o=n(95108),f=Math.min;A.exports=[].copyWithin||function(){function b(S,I){var k=e(this),g=t(k),d=a(S,g),c=a(I,g),m=arguments.length>2?arguments[2]:void 0,l=f((m===void 0?g:a(m,g))-c,g-d),u=1;for(c0;)c in k?k[d]=k[c]:o(k,d),d+=u,c+=u;return k}return b}()},88471:function(A,r,n){"use strict";var e=n(46771),a=n(13912),t=n(24760);A.exports=function(){function o(f){for(var b=e(this),S=t(b),I=arguments.length,k=a(I>1?arguments[1]:void 0,S),g=I>2?arguments[2]:void 0,d=g===void 0?S:a(g,S);d>k;)b[k++]=f;return b}return o}()},35601:function(A,r,n){"use strict";var e=n(22603).forEach,a=n(55528),t=a("forEach");A.exports=t?[].forEach:function(){function o(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}return o}()},78008:function(A,r,n){"use strict";var e=n(24760);A.exports=function(a,t,o){for(var f=0,b=arguments.length>2?o:e(t),S=new a(b);b>f;)S[f]=t[f++];return S}},73174:function(A,r,n){"use strict";var e=n(75754),a=n(91495),t=n(46771),o=n(40125),f=n(76571),b=n(1031),S=n(24760),I=n(60102),k=n(77455),g=n(59201),d=Array;A.exports=function(){function c(m){var l=t(m),u=b(this),s=arguments.length,i=s>1?arguments[1]:void 0,h=i!==void 0;h&&(i=e(i,s>2?arguments[2]:void 0));var C=g(l),v=0,p,N,V,y,B,L;if(C&&!(this===d&&f(C)))for(N=u?new this:[],y=k(l,C),B=y.next;!(V=a(B,y)).done;v++)L=h?o(y,i,[V.value,v],!0):V.value,I(N,v,L);else for(p=S(l),N=u?new this(p):d(p);p>v;v++)L=h?i(l[v],v):l[v],I(N,v,L);return N.length=v,N}return c}()},14211:function(A,r,n){"use strict";var e=n(57591),a=n(13912),t=n(24760),o=function(b){return function(S,I,k){var g=e(S),d=t(g);if(d===0)return!b&&-1;var c=a(k,d),m;if(b&&I!==I){for(;d>c;)if(m=g[c++],m!==m)return!0}else for(;d>c;c++)if((b||c in g)&&g[c]===I)return b||c||0;return!b&&-1}};A.exports={includes:o(!0),indexOf:o(!1)}},22603:function(A,r,n){"use strict";var e=n(75754),a=n(67250),t=n(37457),o=n(46771),f=n(24760),b=n(57823),S=a([].push),I=function(g){var d=g===1,c=g===2,m=g===3,l=g===4,u=g===6,s=g===7,i=g===5||u;return function(h,C,v,p){for(var N=o(h),V=t(N),y=f(V),B=e(C,v),L=0,w=p||b,x=d?w(h,y):c||s?w(h,0):void 0,T,M;y>L;L++)if((i||L in V)&&(T=V[L],M=B(T,L,N),g))if(d)x[L]=M;else if(M)switch(g){case 3:return!0;case 5:return T;case 6:return L;case 2:S(x,T)}else switch(g){case 4:return!1;case 7:S(x,T)}return u?-1:m||l?l:x}};A.exports={forEach:I(0),map:I(1),filter:I(2),some:I(3),every:I(4),find:I(5),findIndex:I(6),filterReject:I(7)}},1325:function(A,r,n){"use strict";var e=n(61267),a=n(57591),t=n(61365),o=n(24760),f=n(55528),b=Math.min,S=[].lastIndexOf,I=!!S&&1/[1].lastIndexOf(1,-0)<0,k=f("lastIndexOf"),g=I||!k;A.exports=g?function(){function d(c){if(I)return e(S,this,arguments)||0;var m=a(this),l=o(m);if(l===0)return-1;var u=l-1;for(arguments.length>1&&(u=b(u,t(arguments[1]))),u<0&&(u=l+u);u>=0;u--)if(u in m&&m[u]===c)return u||0;return-1}return d}():S},44091:function(A,r,n){"use strict";var e=n(40033),a=n(24697),t=n(5026),o=a("species");A.exports=function(f){return t>=51||!e(function(){var b=[],S=b.constructor={};return S[o]=function(){return{foo:1}},b[f](Boolean).foo!==1})}},55528:function(A,r,n){"use strict";var e=n(40033);A.exports=function(a,t){var o=[][a];return!!o&&e(function(){o.call(null,t||function(){return 1},1)})}},56844:function(A,r,n){"use strict";var e=n(10320),a=n(46771),t=n(37457),o=n(24760),f=TypeError,b="Reduce of empty array with no initial value",S=function(k){return function(g,d,c,m){var l=a(g),u=t(l),s=o(l);if(e(d),s===0&&c<2)throw new f(b);var i=k?s-1:0,h=k?-1:1;if(c<2)for(;;){if(i in u){m=u[i],i+=h;break}if(i+=h,k?i<0:s<=i)throw new f(b)}for(;k?i>=0:s>i;i+=h)i in u&&(m=d(m,u[i],i,l));return m}};A.exports={left:S(!1),right:S(!0)}},13345:function(A,r,n){"use strict";var e=n(58310),a=n(37386),t=TypeError,o=Object.getOwnPropertyDescriptor,f=e&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(b){return b instanceof TypeError}}();A.exports=f?function(b,S){if(a(b)&&!o(b,"length").writable)throw new t("Cannot set read only .length");return b.length=S}:function(b,S){return b.length=S}},54602:function(A,r,n){"use strict";var e=n(67250);A.exports=e([].slice)},90274:function(A,r,n){"use strict";var e=n(54602),a=Math.floor,t=function o(f,b){var S=f.length;if(S<8)for(var I=1,k,g;I0;)f[g]=f[--g];g!==I++&&(f[g]=k)}else for(var d=a(S/2),c=o(e(f,0,d),b),m=o(e(f,d),b),l=c.length,u=m.length,s=0,i=0;s1?arguments[1]:void 0),M;M=M?M.next:x.first;)for(T(M.value,M.key,this);M&&M.removed;)M=M.previous}return L}(),has:function(){function L(w){return!!B(this,w)}return L}()}),t(N,C?{get:function(){function L(w){var x=B(this,w);return x&&x.value}return L}(),set:function(){function L(w,x){return y(this,w===0?0:w,x)}return L}()}:{add:function(){function L(w){return y(this,w=w===0?0:w,w)}return L}()}),d&&a(N,"size",{configurable:!0,get:function(){function L(){return V(this).size}return L}()}),p}return s}(),setStrong:function(){function s(i,h,C){var v=h+" Iterator",p=u(h),N=u(v);I(i,h,function(V,y){l(this,{type:v,target:V,state:p(V),kind:y,last:void 0})},function(){for(var V=N(this),y=V.kind,B=V.last;B&&B.removed;)B=B.previous;return!V.target||!(V.last=B=B?B.next:V.state.first)?(V.target=void 0,k(void 0,!0)):k(y==="keys"?B.key:y==="values"?B.value:[B.key,B.value],!1)},C?"entries":"values",!C,!0),g(h)}return s}()}},39895:function(A,r,n){"use strict";var e=n(67250),a=n(30145),t=n(81969).getWeakData,o=n(60077),f=n(30365),b=n(42871),S=n(77568),I=n(49450),k=n(22603),g=n(45299),d=n(5419),c=d.set,m=d.getterFor,l=k.find,u=k.findIndex,s=e([].splice),i=0,h=function(N){return N.frozen||(N.frozen=new C)},C=function(){this.entries=[]},v=function(N,V){return l(N.entries,function(y){return y[0]===V})};C.prototype={get:function(){function p(N){var V=v(this,N);if(V)return V[1]}return p}(),has:function(){function p(N){return!!v(this,N)}return p}(),set:function(){function p(N,V){var y=v(this,N);y?y[1]=V:this.entries.push([N,V])}return p}(),delete:function(){function p(N){var V=u(this.entries,function(y){return y[0]===N});return~V&&s(this.entries,V,1),!!~V}return p}()},A.exports={getConstructor:function(){function p(N,V,y,B){var L=N(function(M,O){o(M,w),c(M,{type:V,id:i++,frozen:void 0}),b(O)||I(O,M[B],{that:M,AS_ENTRIES:y})}),w=L.prototype,x=m(V),T=function(){function M(O,D,E){var P=x(O),R=t(f(D),!0);return R===!0?h(P).set(D,E):R[P.id]=E,O}return M}();return a(w,{delete:function(){function M(O){var D=x(this);if(!S(O))return!1;var E=t(O);return E===!0?h(D).delete(O):E&&g(E,D.id)&&delete E[D.id]}return M}(),has:function(){function M(O){var D=x(this);if(!S(O))return!1;var E=t(O);return E===!0?h(D).has(O):E&&g(E,D.id)}return M}()}),a(w,y?{get:function(){function M(O){var D=x(this);if(S(O)){var E=t(O);return E===!0?h(D).get(O):E?E[D.id]:void 0}}return M}(),set:function(){function M(O,D){return T(this,O,D)}return M}()}:{add:function(){function M(O){return T(this,O,!0)}return M}()}),L}return p}()}},45150:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(67250),o=n(41314),f=n(55938),b=n(81969),S=n(49450),I=n(60077),k=n(55747),g=n(42871),d=n(77568),c=n(40033),m=n(92490),l=n(84925),u=n(5781);A.exports=function(s,i,h){var C=s.indexOf("Map")!==-1,v=s.indexOf("Weak")!==-1,p=C?"set":"add",N=a[s],V=N&&N.prototype,y=N,B={},L=function(P){var R=t(V[P]);f(V,P,P==="add"?function(){function j(F){return R(this,F===0?0:F),this}return j}():P==="delete"?function(j){return v&&!d(j)?!1:R(this,j===0?0:j)}:P==="get"?function(){function j(F){return v&&!d(F)?void 0:R(this,F===0?0:F)}return j}():P==="has"?function(){function j(F){return v&&!d(F)?!1:R(this,F===0?0:F)}return j}():function(){function j(F,W){return R(this,F===0?0:F,W),this}return j}())},w=o(s,!k(N)||!(v||V.forEach&&!c(function(){new N().entries().next()})));if(w)y=h.getConstructor(i,s,C,p),b.enable();else if(o(s,!0)){var x=new y,T=x[p](v?{}:-0,1)!==x,M=c(function(){x.has(1)}),O=m(function(E){new N(E)}),D=!v&&c(function(){for(var E=new N,P=5;P--;)E[p](P,P);return!E.has(-0)});O||(y=i(function(E,P){I(E,V);var R=u(new N,E,y);return g(P)||S(P,R[p],{that:R,AS_ENTRIES:C}),R}),y.prototype=V,V.constructor=y),(M||D)&&(L("delete"),L("has"),C&&L("get")),(D||T)&&L(p),v&&V.clear&&delete V.clear}return B[s]=y,e({global:!0,constructor:!0,forced:y!==N},B),l(y,s),v||h.setStrong(y,s,C),y}},5774:function(A,r,n){"use strict";var e=n(45299),a=n(97921),t=n(27193),o=n(74595);A.exports=function(f,b,S){for(var I=a(b),k=o.f,g=t.f,d=0;d"+g+""}},5959:function(A){"use strict";A.exports=function(r,n){return{value:r,done:n}}},37909:function(A,r,n){"use strict";var e=n(58310),a=n(74595),t=n(87458);A.exports=e?function(o,f,b){return a.f(o,f,t(1,b))}:function(o,f,b){return o[f]=b,o}},87458:function(A){"use strict";A.exports=function(r,n){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:n}}},60102:function(A,r,n){"use strict";var e=n(58310),a=n(74595),t=n(87458);A.exports=function(o,f,b){e?a.f(o,f,t(0,b)):o[f]=b}},67206:function(A,r,n){"use strict";var e=n(67250),a=n(40033),t=n(24051).start,o=RangeError,f=isFinite,b=Math.abs,S=Date.prototype,I=S.toISOString,k=e(S.getTime),g=e(S.getUTCDate),d=e(S.getUTCFullYear),c=e(S.getUTCHours),m=e(S.getUTCMilliseconds),l=e(S.getUTCMinutes),u=e(S.getUTCMonth),s=e(S.getUTCSeconds);A.exports=a(function(){return I.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!a(function(){I.call(new Date(NaN))})?function(){function i(){if(!f(k(this)))throw new o("Invalid time value");var h=this,C=d(h),v=m(h),p=C<0?"-":C>9999?"+":"";return p+t(b(C),p?6:4,0)+"-"+t(u(h)+1,2,0)+"-"+t(g(h),2,0)+"T"+t(c(h),2,0)+":"+t(l(h),2,0)+":"+t(s(h),2,0)+"."+t(v,3,0)+"Z"}return i}():I},10886:function(A,r,n){"use strict";var e=n(30365),a=n(13396),t=TypeError;A.exports=function(o){if(e(this),o==="string"||o==="default")o="string";else if(o!=="number")throw new t("Incorrect hint");return a(this,o)}},73936:function(A,r,n){"use strict";var e=n(20001),a=n(74595);A.exports=function(t,o,f){return f.get&&e(f.get,o,{getter:!0}),f.set&&e(f.set,o,{setter:!0}),a.f(t,o,f)}},55938:function(A,r,n){"use strict";var e=n(55747),a=n(74595),t=n(20001),o=n(18231);A.exports=function(f,b,S,I){I||(I={});var k=I.enumerable,g=I.name!==void 0?I.name:b;if(e(S)&&t(S,g,I),I.global)k?f[b]=S:o(b,S);else{try{I.unsafe?f[b]&&(k=!0):delete f[b]}catch(d){}k?f[b]=S:a.f(f,b,{value:S,enumerable:!1,configurable:!I.nonConfigurable,writable:!I.nonWritable})}return f}},30145:function(A,r,n){"use strict";var e=n(55938);A.exports=function(a,t,o){for(var f in t)e(a,f,t[f],o);return a}},18231:function(A,r,n){"use strict";var e=n(74685),a=Object.defineProperty;A.exports=function(t,o){try{a(e,t,{value:o,configurable:!0,writable:!0})}catch(f){e[t]=o}return o}},95108:function(A,r,n){"use strict";var e=n(89393),a=TypeError;A.exports=function(t,o){if(!delete t[o])throw new a("Cannot delete property "+e(o)+" of "+e(t))}},58310:function(A,r,n){"use strict";var e=n(40033);A.exports=!e(function(){return Object.defineProperty({},1,{get:function(){function a(){return 7}return a}()})[1]!==7})},12689:function(A,r,n){"use strict";var e=n(74685),a=n(77568),t=e.document,o=a(t)&&a(t.createElement);A.exports=function(f){return o?t.createElement(f):{}}},21291:function(A){"use strict";var r=TypeError,n=9007199254740991;A.exports=function(e){if(e>n)throw r("Maximum allowed index exceeded");return e}},652:function(A,r,n){"use strict";var e=n(63318),a=e.match(/firefox\/(\d+)/i);A.exports=!!a&&+a[1]},8180:function(A,r,n){"use strict";var e=n(73730),a=n(81702);A.exports=!e&&!a&&typeof window=="object"&&typeof document=="object"},49197:function(A){"use strict";A.exports=typeof Bun=="function"&&Bun&&typeof Bun.version=="string"},73730:function(A){"use strict";A.exports=typeof Deno=="object"&&Deno&&typeof Deno.version=="object"},19228:function(A,r,n){"use strict";var e=n(63318);A.exports=/MSIE|Trident/.test(e)},51802:function(A,r,n){"use strict";var e=n(63318);A.exports=/ipad|iphone|ipod/i.test(e)&&typeof Pebble!="undefined"},83433:function(A,r,n){"use strict";var e=n(63318);A.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(e)},81702:function(A,r,n){"use strict";var e=n(74685),a=n(7462);A.exports=a(e.process)==="process"},63383:function(A,r,n){"use strict";var e=n(63318);A.exports=/web0s(?!.*chrome)/i.test(e)},63318:function(A){"use strict";A.exports=typeof navigator!="undefined"&&String(navigator.userAgent)||""},5026:function(A,r,n){"use strict";var e=n(74685),a=n(63318),t=e.process,o=e.Deno,f=t&&t.versions||o&&o.version,b=f&&f.v8,S,I;b&&(S=b.split("."),I=S[0]>0&&S[0]<4?1:+(S[0]+S[1])),!I&&a&&(S=a.match(/Edge\/(\d+)/),(!S||S[1]>=74)&&(S=a.match(/Chrome\/(\d+)/),S&&(I=+S[1]))),A.exports=I},9342:function(A,r,n){"use strict";var e=n(63318),a=e.match(/AppleWebKit\/(\d+)\./);A.exports=!!a&&+a[1]},89453:function(A){"use strict";A.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},63964:function(A,r,n){"use strict";var e=n(74685),a=n(27193).f,t=n(37909),o=n(55938),f=n(18231),b=n(5774),S=n(41314);A.exports=function(I,k){var g=I.target,d=I.global,c=I.stat,m,l,u,s,i,h;if(d?l=e:c?l=e[g]||f(g,{}):l=e[g]&&e[g].prototype,l)for(u in k){if(i=k[u],I.dontCallGetSet?(h=a(l,u),s=h&&h.value):s=l[u],m=S(d?u:g+(c?".":"#")+u,I.forced),!m&&s!==void 0){if(typeof i==typeof s)continue;b(i,s)}(I.sham||s&&s.sham)&&t(i,"sham",!0),o(l,u,i,I)}}},40033:function(A){"use strict";A.exports=function(r){try{return!!r()}catch(n){return!0}}},79942:function(A,r,n){"use strict";n(79669);var e=n(91495),a=n(55938),t=n(14489),o=n(40033),f=n(24697),b=n(37909),S=f("species"),I=RegExp.prototype;A.exports=function(k,g,d,c){var m=f(k),l=!o(function(){var h={};return h[m]=function(){return 7},""[k](h)!==7}),u=l&&!o(function(){var h=!1,C=/a/;return k==="split"&&(C={},C.constructor={},C.constructor[S]=function(){return C},C.flags="",C[m]=/./[m]),C.exec=function(){return h=!0,null},C[m](""),!h});if(!l||!u||d){var s=/./[m],i=g(m,""[k],function(h,C,v,p,N){var V=C.exec;return V===t||V===I.exec?l&&!N?{done:!0,value:e(s,C,v,p)}:{done:!0,value:e(h,v,C,p)}:{done:!1}});a(String.prototype,k,i[0]),a(I,m,i[1])}c&&b(I[m],"sham",!0)}},65561:function(A,r,n){"use strict";var e=n(37386),a=n(24760),t=n(21291),o=n(75754),f=function b(S,I,k,g,d,c,m,l){for(var u=d,s=0,i=m?o(m,l):!1,h,C;s0&&e(h)?(C=a(h),u=b(S,I,h,C,u,c-1)-1):(t(u+1),S[u]=h),u++),s++;return u};A.exports=f},50730:function(A,r,n){"use strict";var e=n(40033);A.exports=!e(function(){return Object.isExtensible(Object.preventExtensions({}))})},61267:function(A,r,n){"use strict";var e=n(55050),a=Function.prototype,t=a.apply,o=a.call;A.exports=typeof Reflect=="object"&&Reflect.apply||(e?o.bind(t):function(){return o.apply(t,arguments)})},75754:function(A,r,n){"use strict";var e=n(71138),a=n(10320),t=n(55050),o=e(e.bind);A.exports=function(f,b){return a(f),b===void 0?f:t?o(f,b):function(){return f.apply(b,arguments)}}},55050:function(A,r,n){"use strict";var e=n(40033);A.exports=!e(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})},66284:function(A,r,n){"use strict";var e=n(67250),a=n(10320),t=n(77568),o=n(45299),f=n(54602),b=n(55050),S=Function,I=e([].concat),k=e([].join),g={},d=function(m,l,u){if(!o(g,l)){for(var s=[],i=0;i]*>)/g,I=/\$([$&'`]|\d{1,2})/g;A.exports=function(k,g,d,c,m,l){var u=d+k.length,s=c.length,i=I;return m!==void 0&&(m=a(m),i=S),f(l,i,function(h,C){var v;switch(o(C,0)){case"$":return"$";case"&":return k;case"`":return b(g,0,d);case"'":return b(g,u);case"<":v=m[b(C,1,-1)];break;default:var p=+C;if(p===0)return h;if(p>s){var N=t(p/10);return N===0?h:N<=s?c[N-1]===void 0?o(C,1):c[N-1]+o(C,1):h}v=c[p-1]}return v===void 0?"":v})}},74685:function(A,r,n){"use strict";var e=function(t){return t&&t.Math===Math&&t};A.exports=e(typeof globalThis=="object"&&globalThis)||e(typeof window=="object"&&window)||e(typeof self=="object"&&self)||e(typeof n.g=="object"&&n.g)||e(!1)||function(){return this}()||Function("return this")()},45299:function(A,r,n){"use strict";var e=n(67250),a=n(46771),t=e({}.hasOwnProperty);A.exports=Object.hasOwn||function(){function o(f,b){return t(a(f),b)}return o}()},79195:function(A){"use strict";A.exports={}},72259:function(A){"use strict";A.exports=function(r,n){try{arguments.length}catch(e){}}},5315:function(A,r,n){"use strict";var e=n(4009);A.exports=e("document","documentElement")},36223:function(A,r,n){"use strict";var e=n(58310),a=n(40033),t=n(12689);A.exports=!e&&!a(function(){return Object.defineProperty(t("div"),"a",{get:function(){function o(){return 7}return o}()}).a!==7})},91784:function(A){"use strict";var r=Array,n=Math.abs,e=Math.pow,a=Math.floor,t=Math.log,o=Math.LN2,f=function(I,k,g){var d=r(g),c=g*8-k-1,m=(1<>1,u=k===23?e(2,-24)-e(2,-77):0,s=I<0||I===0&&1/I<0?1:0,i=0,h,C,v;for(I=n(I),I!==I||I===1/0?(C=I!==I?1:0,h=m):(h=a(t(I)/o),v=e(2,-h),I*v<1&&(h--,v*=2),h+l>=1?I+=u/v:I+=u*e(2,1-l),I*v>=2&&(h++,v/=2),h+l>=m?(C=0,h=m):h+l>=1?(C=(I*v-1)*e(2,k),h+=l):(C=I*e(2,l-1)*e(2,k),h=0));k>=8;)d[i++]=C&255,C/=256,k-=8;for(h=h<0;)d[i++]=h&255,h/=256,c-=8;return d[--i]|=s*128,d},b=function(I,k){var g=I.length,d=g*8-k-1,c=(1<>1,l=d-7,u=g-1,s=I[u--],i=s&127,h;for(s>>=7;l>0;)i=i*256+I[u--],l-=8;for(h=i&(1<<-l)-1,i>>=-l,l+=k;l>0;)h=h*256+I[u--],l-=8;if(i===0)i=1-m;else{if(i===c)return h?NaN:s?-1/0:1/0;h+=e(2,k),i-=m}return(s?-1:1)*h*e(2,i-k)};A.exports={pack:f,unpack:b}},37457:function(A,r,n){"use strict";var e=n(67250),a=n(40033),t=n(7462),o=Object,f=e("".split);A.exports=a(function(){return!o("z").propertyIsEnumerable(0)})?function(b){return t(b)==="String"?f(b,""):o(b)}:o},5781:function(A,r,n){"use strict";var e=n(55747),a=n(77568),t=n(76649);A.exports=function(o,f,b){var S,I;return t&&e(S=f.constructor)&&S!==b&&a(I=S.prototype)&&I!==b.prototype&&t(o,I),o}},40492:function(A,r,n){"use strict";var e=n(67250),a=n(55747),t=n(40095),o=e(Function.toString);a(t.inspectSource)||(t.inspectSource=function(f){return o(f)}),A.exports=t.inspectSource},81969:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(79195),o=n(77568),f=n(45299),b=n(74595).f,S=n(37310),I=n(81644),k=n(81834),g=n(16738),d=n(50730),c=!1,m=g("meta"),l=0,u=function(N){b(N,m,{value:{objectID:"O"+l++,weakData:{}}})},s=function(N,V){if(!o(N))return typeof N=="symbol"?N:(typeof N=="string"?"S":"P")+N;if(!f(N,m)){if(!k(N))return"F";if(!V)return"E";u(N)}return N[m].objectID},i=function(N,V){if(!f(N,m)){if(!k(N))return!0;if(!V)return!1;u(N)}return N[m].weakData},h=function(N){return d&&c&&k(N)&&!f(N,m)&&u(N),N},C=function(){v.enable=function(){},c=!0;var N=S.f,V=a([].splice),y={};y[m]=1,N(y).length&&(S.f=function(B){for(var L=N(B),w=0,x=L.length;wB;B++)if(w=O(l[B]),w&&S(m,w))return w;return new c(!1)}V=I(l,y)}for(x=C?l.next:V.next;!(T=a(x,V)).done;){try{w=O(T.value)}catch(D){g(V,"throw",D)}if(typeof w=="object"&&w&&S(m,w))return w}return new c(!1)}},28649:function(A,r,n){"use strict";var e=n(91495),a=n(30365),t=n(78060);A.exports=function(o,f,b){var S,I;a(o);try{if(S=t(o,"return"),!S){if(f==="throw")throw b;return b}S=e(S,o)}catch(k){I=!0,S=k}if(f==="throw")throw b;if(I)throw S;return a(S),b}},5656:function(A,r,n){"use strict";var e=n(67635).IteratorPrototype,a=n(80674),t=n(87458),o=n(84925),f=n(83967),b=function(){return this};A.exports=function(S,I,k,g){var d=I+" Iterator";return S.prototype=a(e,{next:t(+!g,k)}),o(S,d,!1,!0),f[d]=b,S}},65574:function(A,r,n){"use strict";var e=n(63964),a=n(91495),t=n(4493),o=n(70520),f=n(55747),b=n(5656),S=n(36917),I=n(76649),k=n(84925),g=n(37909),d=n(55938),c=n(24697),m=n(83967),l=n(67635),u=o.PROPER,s=o.CONFIGURABLE,i=l.IteratorPrototype,h=l.BUGGY_SAFARI_ITERATORS,C=c("iterator"),v="keys",p="values",N="entries",V=function(){return this};A.exports=function(y,B,L,w,x,T,M){b(L,B,w);var O=function(J){if(J===x&&j)return j;if(!h&&J&&J in P)return P[J];switch(J){case v:return function(){function Q(){return new L(this,J)}return Q}();case p:return function(){function Q(){return new L(this,J)}return Q}();case N:return function(){function Q(){return new L(this,J)}return Q}()}return function(){return new L(this)}},D=B+" Iterator",E=!1,P=y.prototype,R=P[C]||P["@@iterator"]||x&&P[x],j=!h&&R||O(x),F=B==="Array"&&P.entries||R,W,z,K;if(F&&(W=S(F.call(new y)),W!==Object.prototype&&W.next&&(!t&&S(W)!==i&&(I?I(W,i):f(W[C])||d(W,C,V)),k(W,D,!0,!0),t&&(m[D]=V))),u&&x===p&&R&&R.name!==p&&(!t&&s?g(P,"name",p):(E=!0,j=function(){function G(){return a(R,this)}return G}())),x)if(z={values:O(p),keys:T?j:O(v),entries:O(N)},M)for(K in z)(h||E||!(K in P))&&d(P,K,z[K]);else e({target:B,proto:!0,forced:h||E},z);return(!t||M)&&P[C]!==j&&d(P,C,j,{name:x}),m[B]=j,z}},67635:function(A,r,n){"use strict";var e=n(40033),a=n(55747),t=n(77568),o=n(80674),f=n(36917),b=n(55938),S=n(24697),I=n(4493),k=S("iterator"),g=!1,d,c,m;[].keys&&(m=[].keys(),"next"in m?(c=f(f(m)),c!==Object.prototype&&(d=c)):g=!0);var l=!t(d)||e(function(){var u={};return d[k].call(u)!==u});l?d={}:I&&(d=o(d)),a(d[k])||b(d,k,function(){return this}),A.exports={IteratorPrototype:d,BUGGY_SAFARI_ITERATORS:g}},83967:function(A){"use strict";A.exports={}},24760:function(A,r,n){"use strict";var e=n(10188);A.exports=function(a){return e(a.length)}},20001:function(A,r,n){"use strict";var e=n(67250),a=n(40033),t=n(55747),o=n(45299),f=n(58310),b=n(70520).CONFIGURABLE,S=n(40492),I=n(5419),k=I.enforce,g=I.get,d=String,c=Object.defineProperty,m=e("".slice),l=e("".replace),u=e([].join),s=f&&!a(function(){return c(function(){},"length",{value:8}).length!==8}),i=String(String).split("String"),h=A.exports=function(C,v,p){m(d(v),0,7)==="Symbol("&&(v="["+l(d(v),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),p&&p.getter&&(v="get "+v),p&&p.setter&&(v="set "+v),(!o(C,"name")||b&&C.name!==v)&&(f?c(C,"name",{value:v,configurable:!0}):C.name=v),s&&p&&o(p,"arity")&&C.length!==p.arity&&c(C,"length",{value:p.arity});try{p&&o(p,"constructor")&&p.constructor?f&&c(C,"prototype",{writable:!1}):C.prototype&&(C.prototype=void 0)}catch(V){}var N=k(C);return o(N,"source")||(N.source=u(i,typeof v=="string"?v:"")),C};Function.prototype.toString=h(function(){function C(){return t(this)&&g(this).source||S(this)}return C}(),"toString")},82040:function(A){"use strict";var r=Math.expm1,n=Math.exp;A.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||r(-2e-17)!==-2e-17?function(){function e(a){var t=+a;return t===0?t:t>-1e-6&&t<1e-6?t+t*t/2:n(t)-1}return e}():r},14950:function(A,r,n){"use strict";var e=n(22172),a=Math.abs,t=2220446049250313e-31,o=1/t,f=function(S){return S+o-o};A.exports=function(b,S,I,k){var g=+b,d=a(g),c=e(g);if(dI||l!==l?c*(1/0):c*l}},95867:function(A,r,n){"use strict";var e=n(14950),a=11920928955078125e-23,t=34028234663852886e22,o=11754943508222875e-54;A.exports=Math.fround||function(){function f(b){return e(b,a,t,o)}return f}()},75002:function(A){"use strict";var r=Math.log,n=Math.LOG10E;A.exports=Math.log10||function(){function e(a){return r(a)*n}return e}()},90874:function(A){"use strict";var r=Math.log;A.exports=Math.log1p||function(){function n(e){var a=+e;return a>-1e-8&&a<1e-8?a-a*a/2:r(1+a)}return n}()},22172:function(A){"use strict";A.exports=Math.sign||function(){function r(n){var e=+n;return e===0||e!==e?e:e<0?-1:1}return r}()},21119:function(A){"use strict";var r=Math.ceil,n=Math.floor;A.exports=Math.trunc||function(){function e(a){var t=+a;return(t>0?n:r)(t)}return e}()},37713:function(A,r,n){"use strict";var e=n(74685),a=n(44915),t=n(75754),o=n(60375).set,f=n(9547),b=n(83433),S=n(51802),I=n(63383),k=n(81702),g=e.MutationObserver||e.WebKitMutationObserver,d=e.document,c=e.process,m=e.Promise,l=a("queueMicrotask"),u,s,i,h,C;if(!l){var v=new f,p=function(){var V,y;for(k&&(V=c.domain)&&V.exit();y=v.get();)try{y()}catch(B){throw v.head&&u(),B}V&&V.enter()};!b&&!k&&!I&&g&&d?(s=!0,i=d.createTextNode(""),new g(p).observe(i,{characterData:!0}),u=function(){i.data=s=!s}):!S&&m&&m.resolve?(h=m.resolve(void 0),h.constructor=m,C=t(h.then,h),u=function(){C(p)}):k?u=function(){c.nextTick(p)}:(o=t(o,e),u=function(){o(p)}),l=function(V){v.head||u(),v.add(V)}}A.exports=l},81837:function(A,r,n){"use strict";var e=n(10320),a=TypeError,t=function(f){var b,S;this.promise=new f(function(I,k){if(b!==void 0||S!==void 0)throw new a("Bad Promise constructor");b=I,S=k}),this.resolve=e(b),this.reject=e(S)};A.exports.f=function(o){return new t(o)}},86213:function(A,r,n){"use strict";var e=n(72586),a=TypeError;A.exports=function(t){if(e(t))throw new a("The method doesn't accept regular expressions");return t}},3294:function(A,r,n){"use strict";var e=n(74685),a=e.isFinite;A.exports=Number.isFinite||function(){function t(o){return typeof o=="number"&&a(o)}return t}()},28506:function(A,r,n){"use strict";var e=n(74685),a=n(40033),t=n(67250),o=n(12605),f=n(92648).trim,b=n(4198),S=t("".charAt),I=e.parseFloat,k=e.Symbol,g=k&&k.iterator,d=1/I(b+"-0")!==-1/0||g&&!a(function(){I(Object(g))});A.exports=d?function(){function c(m){var l=f(o(m)),u=I(l);return u===0&&S(l,0)==="-"?-0:u}return c}():I},13693:function(A,r,n){"use strict";var e=n(74685),a=n(40033),t=n(67250),o=n(12605),f=n(92648).trim,b=n(4198),S=e.parseInt,I=e.Symbol,k=I&&I.iterator,g=/^[+-]?0x/i,d=t(g.exec),c=S(b+"08")!==8||S(b+"0x16")!==22||k&&!a(function(){S(Object(k))});A.exports=c?function(){function m(l,u){var s=f(o(l));return S(s,u>>>0||(d(g,s)?16:10))}return m}():S},41143:function(A,r,n){"use strict";var e=n(58310),a=n(67250),t=n(91495),o=n(40033),f=n(18450),b=n(89235),S=n(12867),I=n(46771),k=n(37457),g=Object.assign,d=Object.defineProperty,c=a([].concat);A.exports=!g||o(function(){if(e&&g({b:1},g(d({},"a",{enumerable:!0,get:function(){function i(){d(this,"b",{value:3,enumerable:!1})}return i}()}),{b:2})).b!==1)return!0;var m={},l={},u=Symbol("assign detection"),s="abcdefghijklmnopqrst";return m[u]=7,s.split("").forEach(function(i){l[i]=i}),g({},m)[u]!==7||f(g({},l)).join("")!==s})?function(){function m(l,u){for(var s=I(l),i=arguments.length,h=1,C=b.f,v=S.f;i>h;)for(var p=k(arguments[h++]),N=C?c(f(p),C(p)):f(p),V=N.length,y=0,B;V>y;)B=N[y++],(!e||t(v,p,B))&&(s[B]=p[B]);return s}return m}():g},80674:function(A,r,n){"use strict";var e=n(30365),a=n(24239),t=n(89453),o=n(79195),f=n(5315),b=n(12689),S=n(19417),I=">",k="<",g="prototype",d="script",c=S("IE_PROTO"),m=function(){},l=function(v){return k+d+I+v+k+"/"+d+I},u=function(v){v.write(l("")),v.close();var p=v.parentWindow.Object;return v=null,p},s=function(){var v=b("iframe"),p="java"+d+":",N;return v.style.display="none",f.appendChild(v),v.src=String(p),N=v.contentWindow.document,N.open(),N.write(l("document.F=Object")),N.close(),N.F},i,h=function(){try{i=new ActiveXObject("htmlfile")}catch(p){}h=typeof document!="undefined"?document.domain&&i?u(i):s():u(i);for(var v=t.length;v--;)delete h[g][t[v]];return h()};o[c]=!0,A.exports=Object.create||function(){function C(v,p){var N;return v!==null?(m[g]=e(v),N=new m,m[g]=null,N[c]=v):N=h(),p===void 0?N:a.f(N,p)}return C}()},24239:function(A,r,n){"use strict";var e=n(58310),a=n(80944),t=n(74595),o=n(30365),f=n(57591),b=n(18450);r.f=e&&!a?Object.defineProperties:function(){function S(I,k){o(I);for(var g=f(k),d=b(k),c=d.length,m=0,l;c>m;)t.f(I,l=d[m++],g[l]);return I}return S}()},74595:function(A,r,n){"use strict";var e=n(58310),a=n(36223),t=n(80944),o=n(30365),f=n(767),b=TypeError,S=Object.defineProperty,I=Object.getOwnPropertyDescriptor,k="enumerable",g="configurable",d="writable";r.f=e?t?function(){function c(m,l,u){if(o(m),l=f(l),o(u),typeof m=="function"&&l==="prototype"&&"value"in u&&d in u&&!u[d]){var s=I(m,l);s&&s[d]&&(m[l]=u.value,u={configurable:g in u?u[g]:s[g],enumerable:k in u?u[k]:s[k],writable:!1})}return S(m,l,u)}return c}():S:function(){function c(m,l,u){if(o(m),l=f(l),o(u),a)try{return S(m,l,u)}catch(s){}if("get"in u||"set"in u)throw new b("Accessors not supported");return"value"in u&&(m[l]=u.value),m}return c}()},27193:function(A,r,n){"use strict";var e=n(58310),a=n(91495),t=n(12867),o=n(87458),f=n(57591),b=n(767),S=n(45299),I=n(36223),k=Object.getOwnPropertyDescriptor;r.f=e?k:function(){function g(d,c){if(d=f(d),c=b(c),I)try{return k(d,c)}catch(m){}if(S(d,c))return o(!a(t.f,d,c),d[c])}return g}()},81644:function(A,r,n){"use strict";var e=n(7462),a=n(57591),t=n(37310).f,o=n(54602),f=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],b=function(I){try{return t(I)}catch(k){return o(f)}};A.exports.f=function(){function S(I){return f&&e(I)==="Window"?b(I):t(a(I))}return S}()},37310:function(A,r,n){"use strict";var e=n(53726),a=n(89453),t=a.concat("length","prototype");r.f=Object.getOwnPropertyNames||function(){function o(f){return e(f,t)}return o}()},89235:function(A,r){"use strict";r.f=Object.getOwnPropertySymbols},36917:function(A,r,n){"use strict";var e=n(45299),a=n(55747),t=n(46771),o=n(19417),f=n(9225),b=o("IE_PROTO"),S=Object,I=S.prototype;A.exports=f?S.getPrototypeOf:function(k){var g=t(k);if(e(g,b))return g[b];var d=g.constructor;return a(d)&&g instanceof d?d.prototype:g instanceof S?I:null}},81834:function(A,r,n){"use strict";var e=n(40033),a=n(77568),t=n(7462),o=n(3782),f=Object.isExtensible,b=e(function(){f(1)});A.exports=b||o?function(){function S(I){return!a(I)||o&&t(I)==="ArrayBuffer"?!1:f?f(I):!0}return S}():f},21287:function(A,r,n){"use strict";var e=n(67250);A.exports=e({}.isPrototypeOf)},53726:function(A,r,n){"use strict";var e=n(67250),a=n(45299),t=n(57591),o=n(14211).indexOf,f=n(79195),b=e([].push);A.exports=function(S,I){var k=t(S),g=0,d=[],c;for(c in k)!a(f,c)&&a(k,c)&&b(d,c);for(;I.length>g;)a(k,c=I[g++])&&(~o(d,c)||b(d,c));return d}},18450:function(A,r,n){"use strict";var e=n(53726),a=n(89453);A.exports=Object.keys||function(){function t(o){return e(o,a)}return t}()},12867:function(A,r){"use strict";var n={}.propertyIsEnumerable,e=Object.getOwnPropertyDescriptor,a=e&&!n.call({1:2},1);r.f=a?function(){function t(o){var f=e(this,o);return!!f&&f.enumerable}return t}():n},57377:function(A,r,n){"use strict";var e=n(4493),a=n(74685),t=n(40033),o=n(9342);A.exports=e||!t(function(){if(!(o&&o<535)){var f=Math.random();__defineSetter__.call(null,f,function(){}),delete a[f]}})},76649:function(A,r,n){"use strict";var e=n(38656),a=n(77568),t=n(16952),o=n(35908);A.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var f=!1,b={},S;try{S=e(Object.prototype,"__proto__","set"),S(b,[]),f=b instanceof Array}catch(I){}return function(){function I(k,g){return t(k),o(g),a(k)&&(f?S(k,g):k.__proto__=g),k}return I}()}():void 0)},70915:function(A,r,n){"use strict";var e=n(58310),a=n(40033),t=n(67250),o=n(36917),f=n(18450),b=n(57591),S=n(12867).f,I=t(S),k=t([].push),g=e&&a(function(){var c=Object.create(null);return c[2]=2,!I(c,2)}),d=function(m){return function(l){for(var u=b(l),s=f(u),i=g&&o(u)===null,h=s.length,C=0,v=[],p;h>C;)p=s[C++],(!e||(i?p in u:I(u,p)))&&k(v,m?[p,u[p]]:u[p]);return v}};A.exports={entries:d(!0),values:d(!1)}},2509:function(A,r,n){"use strict";var e=n(2650),a=n(2281);A.exports=e?{}.toString:function(){function t(){return"[object "+a(this)+"]"}return t}()},13396:function(A,r,n){"use strict";var e=n(91495),a=n(55747),t=n(77568),o=TypeError;A.exports=function(f,b){var S,I;if(b==="string"&&a(S=f.toString)&&!t(I=e(S,f))||a(S=f.valueOf)&&!t(I=e(S,f))||b!=="string"&&a(S=f.toString)&&!t(I=e(S,f)))return I;throw new o("Can't convert object to primitive value")}},97921:function(A,r,n){"use strict";var e=n(4009),a=n(67250),t=n(37310),o=n(89235),f=n(30365),b=a([].concat);A.exports=e("Reflect","ownKeys")||function(){function S(I){var k=t.f(f(I)),g=o.f;return g?b(k,g(I)):k}return S}()},61765:function(A,r,n){"use strict";var e=n(74685);A.exports=e},10729:function(A){"use strict";A.exports=function(r){try{return{error:!1,value:r()}}catch(n){return{error:!0,value:n}}}},74854:function(A,r,n){"use strict";var e=n(74685),a=n(67512),t=n(55747),o=n(41314),f=n(40492),b=n(24697),S=n(8180),I=n(73730),k=n(4493),g=n(5026),d=a&&a.prototype,c=b("species"),m=!1,l=t(e.PromiseRejectionEvent),u=o("Promise",function(){var s=f(a),i=s!==String(a);if(!i&&g===66||k&&!(d.catch&&d.finally))return!0;if(!g||g<51||!/native code/.test(s)){var h=new a(function(p){p(1)}),C=function(N){N(function(){},function(){})},v=h.constructor={};if(v[c]=C,m=h.then(function(){})instanceof C,!m)return!0}return!i&&(S||I)&&!l});A.exports={CONSTRUCTOR:u,REJECTION_EVENT:l,SUBCLASSING:m}},67512:function(A,r,n){"use strict";var e=n(74685);A.exports=e.Promise},66628:function(A,r,n){"use strict";var e=n(30365),a=n(77568),t=n(81837);A.exports=function(o,f){if(e(o),a(f)&&f.constructor===o)return f;var b=t.f(o),S=b.resolve;return S(f),b.promise}},48199:function(A,r,n){"use strict";var e=n(67512),a=n(92490),t=n(74854).CONSTRUCTOR;A.exports=t||!a(function(o){e.all(o).then(void 0,function(){})})},34550:function(A,r,n){"use strict";var e=n(74595).f;A.exports=function(a,t,o){o in a||e(a,o,{configurable:!0,get:function(){function f(){return t[o]}return f}(),set:function(){function f(b){t[o]=b}return f}()})}},9547:function(A){"use strict";var r=function(){this.head=null,this.tail=null};r.prototype={add:function(){function n(e){var a={item:e,next:null},t=this.tail;t?t.next=a:this.head=a,this.tail=a}return n}(),get:function(){function n(){var e=this.head;if(e){var a=this.head=e.next;return a===null&&(this.tail=null),e.item}}return n}()},A.exports=r},28340:function(A,r,n){"use strict";var e=n(91495),a=n(30365),t=n(55747),o=n(7462),f=n(14489),b=TypeError;A.exports=function(S,I){var k=S.exec;if(t(k)){var g=e(k,S,I);return g!==null&&a(g),g}if(o(S)==="RegExp")return e(f,S,I);throw new b("RegExp#exec called on incompatible receiver")}},14489:function(A,r,n){"use strict";var e=n(91495),a=n(67250),t=n(12605),o=n(70901),f=n(62115),b=n(16639),S=n(80674),I=n(5419).get,k=n(39173),g=n(35688),d=b("native-string-replace",String.prototype.replace),c=RegExp.prototype.exec,m=c,l=a("".charAt),u=a("".indexOf),s=a("".replace),i=a("".slice),h=function(){var N=/a/,V=/b*/g;return e(c,N,"a"),e(c,V,"a"),N.lastIndex!==0||V.lastIndex!==0}(),C=f.BROKEN_CARET,v=/()??/.exec("")[1]!==void 0,p=h||v||C||k||g;p&&(m=function(){function N(V){var y=this,B=I(y),L=t(V),w=B.raw,x,T,M,O,D,E,P;if(w)return w.lastIndex=y.lastIndex,x=e(m,w,L),y.lastIndex=w.lastIndex,x;var R=B.groups,j=C&&y.sticky,F=e(o,y),W=y.source,z=0,K=L;if(j&&(F=s(F,"y",""),u(F,"g")===-1&&(F+="g"),K=i(L,y.lastIndex),y.lastIndex>0&&(!y.multiline||y.multiline&&l(L,y.lastIndex-1)!=="\n")&&(W="(?: "+W+")",K=" "+K,z++),T=new RegExp("^(?:"+W+")",F)),v&&(T=new RegExp("^"+W+"$(?!\\s)",F)),h&&(M=y.lastIndex),O=e(c,j?T:y,K),j?O?(O.input=i(O.input,z),O[0]=i(O[0],z),O.index=y.lastIndex,y.lastIndex+=O[0].length):y.lastIndex=0:h&&O&&(y.lastIndex=y.global?O.index+O[0].length:M),v&&O&&O.length>1&&e(d,O[0],T,function(){for(D=1;Db)","g");return o.exec("b").groups.a!=="b"||"b".replace(o,"$c")!=="bc"})},16952:function(A,r,n){"use strict";var e=n(42871),a=TypeError;A.exports=function(t){if(e(t))throw new a("Can't call method on "+t);return t}},44915:function(A,r,n){"use strict";var e=n(74685),a=n(58310),t=Object.getOwnPropertyDescriptor;A.exports=function(o){if(!a)return e[o];var f=t(e,o);return f&&f.value}},5700:function(A){"use strict";A.exports=Object.is||function(){function r(n,e){return n===e?n!==0||1/n===1/e:n!==n&&e!==e}return r}()},78362:function(A,r,n){"use strict";var e=n(74685),a=n(61267),t=n(55747),o=n(49197),f=n(63318),b=n(54602),S=n(24986),I=e.Function,k=/MSIE .\./.test(f)||o&&function(){var g=e.Bun.version.split(".");return g.length<3||g[0]==="0"&&(g[1]<3||g[1]==="3"&&g[2]==="0")}();A.exports=function(g,d){var c=d?2:1;return k?function(m,l){var u=S(arguments.length,1)>c,s=t(m)?m:I(m),i=u?b(arguments,c):[],h=u?function(){a(s,this,i)}:s;return d?g(h,l):g(h)}:g}},58491:function(A,r,n){"use strict";var e=n(4009),a=n(73936),t=n(24697),o=n(58310),f=t("species");A.exports=function(b){var S=e(b);o&&S&&!S[f]&&a(S,f,{configurable:!0,get:function(){function I(){return this}return I}()})}},84925:function(A,r,n){"use strict";var e=n(74595).f,a=n(45299),t=n(24697),o=t("toStringTag");A.exports=function(f,b,S){f&&!S&&(f=f.prototype),f&&!a(f,o)&&e(f,o,{configurable:!0,value:b})}},19417:function(A,r,n){"use strict";var e=n(16639),a=n(16738),t=e("keys");A.exports=function(o){return t[o]||(t[o]=a(o))}},40095:function(A,r,n){"use strict";var e=n(4493),a=n(74685),t=n(18231),o="__core-js_shared__",f=A.exports=a[o]||t(o,{});(f.versions||(f.versions=[])).push({version:"3.37.1",mode:e?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE",source:"https://github.com/zloirock/core-js"})},16639:function(A,r,n){"use strict";var e=n(40095);A.exports=function(a,t){return e[a]||(e[a]=t||{})}},28987:function(A,r,n){"use strict";var e=n(30365),a=n(32606),t=n(42871),o=n(24697),f=o("species");A.exports=function(b,S){var I=e(b).constructor,k;return I===void 0||t(k=e(I)[f])?S:a(k)}},88539:function(A,r,n){"use strict";var e=n(40033);A.exports=function(a){return e(function(){var t=""[a]('"');return t!==t.toLowerCase()||t.split('"').length>3})}},50233:function(A,r,n){"use strict";var e=n(67250),a=n(61365),t=n(12605),o=n(16952),f=e("".charAt),b=e("".charCodeAt),S=e("".slice),I=function(g){return function(d,c){var m=t(o(d)),l=a(c),u=m.length,s,i;return l<0||l>=u?g?"":void 0:(s=b(m,l),s<55296||s>56319||l+1===u||(i=b(m,l+1))<56320||i>57343?g?f(m,l):s:g?S(m,l,l+2):(s-55296<<10)+(i-56320)+65536)}};A.exports={codeAt:I(!1),charAt:I(!0)}},34125:function(A,r,n){"use strict";var e=n(63318);A.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(e)},24051:function(A,r,n){"use strict";var e=n(67250),a=n(10188),t=n(12605),o=n(62443),f=n(16952),b=e(o),S=e("".slice),I=Math.ceil,k=function(d){return function(c,m,l){var u=t(f(c)),s=a(m),i=u.length,h=l===void 0?" ":t(l),C,v;return s<=i||h===""?u:(C=s-i,v=b(h,I(C/h.length)),v.length>C&&(v=S(v,0,C)),d?u+v:v+u)}};A.exports={start:k(!1),end:k(!0)}},62443:function(A,r,n){"use strict";var e=n(61365),a=n(12605),t=n(16952),o=RangeError;A.exports=function(){function f(b){var S=a(t(this)),I="",k=e(b);if(k<0||k===1/0)throw new o("Wrong number of repetitions");for(;k>0;(k>>>=1)&&(S+=S))k&1&&(I+=S);return I}return f}()},43476:function(A,r,n){"use strict";var e=n(92648).end,a=n(90012);A.exports=a("trimEnd")?function(){function t(){return e(this)}return t}():"".trimEnd},90012:function(A,r,n){"use strict";var e=n(70520).PROPER,a=n(40033),t=n(4198),o="\u200B\x85\u180E";A.exports=function(f){return a(function(){return!!t[f]()||o[f]()!==o||e&&t[f].name!==f})}},43885:function(A,r,n){"use strict";var e=n(92648).start,a=n(90012);A.exports=a("trimStart")?function(){function t(){return e(this)}return t}():"".trimStart},92648:function(A,r,n){"use strict";var e=n(67250),a=n(16952),t=n(12605),o=n(4198),f=e("".replace),b=RegExp("^["+o+"]+"),S=RegExp("(^|[^"+o+"])["+o+"]+$"),I=function(g){return function(d){var c=t(a(d));return g&1&&(c=f(c,b,"")),g&2&&(c=f(c,S,"$1")),c}};A.exports={start:I(1),end:I(2),trim:I(3)}},52357:function(A,r,n){"use strict";var e=n(5026),a=n(40033),t=n(74685),o=t.String;A.exports=!!Object.getOwnPropertySymbols&&!a(function(){var f=Symbol("symbol detection");return!o(f)||!(Object(f)instanceof Symbol)||!Symbol.sham&&e&&e<41})},52360:function(A,r,n){"use strict";var e=n(91495),a=n(4009),t=n(24697),o=n(55938);A.exports=function(){var f=a("Symbol"),b=f&&f.prototype,S=b&&b.valueOf,I=t("toPrimitive");b&&!b[I]&&o(b,I,function(k){return e(S,this)},{arity:1})}},66570:function(A,r,n){"use strict";var e=n(52357);A.exports=e&&!!Symbol.for&&!!Symbol.keyFor},60375:function(A,r,n){"use strict";var e=n(74685),a=n(61267),t=n(75754),o=n(55747),f=n(45299),b=n(40033),S=n(5315),I=n(54602),k=n(12689),g=n(24986),d=n(83433),c=n(81702),m=e.setImmediate,l=e.clearImmediate,u=e.process,s=e.Dispatch,i=e.Function,h=e.MessageChannel,C=e.String,v=0,p={},N="onreadystatechange",V,y,B,L;b(function(){V=e.location});var w=function(D){if(f(p,D)){var E=p[D];delete p[D],E()}},x=function(D){return function(){w(D)}},T=function(D){w(D.data)},M=function(D){e.postMessage(C(D),V.protocol+"//"+V.host)};(!m||!l)&&(m=function(){function O(D){g(arguments.length,1);var E=o(D)?D:i(D),P=I(arguments,1);return p[++v]=function(){a(E,void 0,P)},y(v),v}return O}(),l=function(){function O(D){delete p[D]}return O}(),c?y=function(D){u.nextTick(x(D))}:s&&s.now?y=function(D){s.now(x(D))}:h&&!d?(B=new h,L=B.port2,B.port1.onmessage=T,y=t(L.postMessage,L)):e.addEventListener&&o(e.postMessage)&&!e.importScripts&&V&&V.protocol!=="file:"&&!b(M)?(y=M,e.addEventListener("message",T,!1)):N in k("script")?y=function(D){S.appendChild(k("script"))[N]=function(){S.removeChild(this),w(D)}}:y=function(D){setTimeout(x(D),0)}),A.exports={set:m,clear:l}},46438:function(A,r,n){"use strict";var e=n(67250);A.exports=e(1 .valueOf)},13912:function(A,r,n){"use strict";var e=n(61365),a=Math.max,t=Math.min;A.exports=function(o,f){var b=e(o);return b<0?a(b+f,0):t(b,f)}},61484:function(A,r,n){"use strict";var e=n(24843),a=TypeError;A.exports=function(t){var o=e(t,"number");if(typeof o=="number")throw new a("Can't convert number to bigint");return BigInt(o)}},43806:function(A,r,n){"use strict";var e=n(61365),a=n(10188),t=RangeError;A.exports=function(o){if(o===void 0)return 0;var f=e(o),b=a(f);if(f!==b)throw new t("Wrong length or index");return b}},57591:function(A,r,n){"use strict";var e=n(37457),a=n(16952);A.exports=function(t){return e(a(t))}},61365:function(A,r,n){"use strict";var e=n(21119);A.exports=function(a){var t=+a;return t!==t||t===0?0:e(t)}},10188:function(A,r,n){"use strict";var e=n(61365),a=Math.min;A.exports=function(t){var o=e(t);return o>0?a(o,9007199254740991):0}},46771:function(A,r,n){"use strict";var e=n(16952),a=Object;A.exports=function(t){return a(e(t))}},56043:function(A,r,n){"use strict";var e=n(16140),a=RangeError;A.exports=function(t,o){var f=e(t);if(f%o)throw new a("Wrong offset");return f}},16140:function(A,r,n){"use strict";var e=n(61365),a=RangeError;A.exports=function(t){var o=e(t);if(o<0)throw new a("The argument can't be less than 0");return o}},24843:function(A,r,n){"use strict";var e=n(91495),a=n(77568),t=n(71399),o=n(78060),f=n(13396),b=n(24697),S=TypeError,I=b("toPrimitive");A.exports=function(k,g){if(!a(k)||t(k))return k;var d=o(k,I),c;if(d){if(g===void 0&&(g="default"),c=e(d,k,g),!a(c)||t(c))return c;throw new S("Can't convert object to primitive value")}return g===void 0&&(g="number"),f(k,g)}},767:function(A,r,n){"use strict";var e=n(24843),a=n(71399);A.exports=function(t){var o=e(t,"string");return a(o)?o:o+""}},2650:function(A,r,n){"use strict";var e=n(24697),a=e("toStringTag"),t={};t[a]="z",A.exports=String(t)==="[object z]"},12605:function(A,r,n){"use strict";var e=n(2281),a=String;A.exports=function(t){if(e(t)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return a(t)}},15409:function(A){"use strict";var r=Math.round;A.exports=function(n){var e=r(n);return e<0?0:e>255?255:e&255}},89393:function(A){"use strict";var r=String;A.exports=function(n){try{return r(n)}catch(e){return"Object"}}},80185:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(91495),o=n(58310),f=n(86563),b=n(4246),S=n(37336),I=n(60077),k=n(87458),g=n(37909),d=n(5841),c=n(10188),m=n(43806),l=n(56043),u=n(15409),s=n(767),i=n(45299),h=n(2281),C=n(77568),v=n(71399),p=n(80674),N=n(21287),V=n(76649),y=n(37310).f,B=n(3805),L=n(22603).forEach,w=n(58491),x=n(73936),T=n(74595),M=n(27193),O=n(78008),D=n(5419),E=n(5781),P=D.get,R=D.set,j=D.enforce,F=T.f,W=M.f,z=a.RangeError,K=S.ArrayBuffer,G=K.prototype,J=S.DataView,Q=b.NATIVE_ARRAY_BUFFER_VIEWS,ue=b.TYPED_ARRAY_TAG,ie=b.TypedArray,pe=b.TypedArrayPrototype,te=b.isTypedArray,q="BYTES_PER_ELEMENT",ne="Wrong length",le=function(Y,ve){x(Y,ve,{configurable:!0,get:function(){function he(){return P(this)[ve]}return he}()})},ee=function(Y){var ve;return N(G,Y)||(ve=h(Y))==="ArrayBuffer"||ve==="SharedArrayBuffer"},re=function(Y,ve){return te(Y)&&!v(ve)&&ve in Y&&d(+ve)&&ve>=0},oe=function(){function me(Y,ve){return ve=s(ve),re(Y,ve)?k(2,Y[ve]):W(Y,ve)}return me}(),fe=function(){function me(Y,ve,he){return ve=s(ve),re(Y,ve)&&C(he)&&i(he,"value")&&!i(he,"get")&&!i(he,"set")&&!he.configurable&&(!i(he,"writable")||he.writable)&&(!i(he,"enumerable")||he.enumerable)?(Y[ve]=he.value,Y):F(Y,ve,he)}return me}();o?(Q||(M.f=oe,T.f=fe,le(pe,"buffer"),le(pe,"byteOffset"),le(pe,"byteLength"),le(pe,"length")),e({target:"Object",stat:!0,forced:!Q},{getOwnPropertyDescriptor:oe,defineProperty:fe}),A.exports=function(me,Y,ve){var he=me.match(/\d+/)[0]/8,Ve=me+(ve?"Clamped":"")+"Array",Be="get"+me,be="set"+me,Le=a[Ve],we=Le,xe=we&&we.prototype,Re={},He=function(ge,Se){var Pe=P(ge);return Pe.view[Be](Se*he+Pe.byteOffset,!0)},ye=function(ge,Se,Pe){var je=P(ge);je.view[be](Se*he+je.byteOffset,ve?u(Pe):Pe,!0)},de=function(ge,Se){F(ge,Se,{get:function(){function Pe(){return He(this,Se)}return Pe}(),set:function(){function Pe(je){return ye(this,Se,je)}return Pe}(),enumerable:!0})};Q?f&&(we=Y(function(ke,ge,Se,Pe){return I(ke,xe),E(function(){return C(ge)?ee(ge)?Pe!==void 0?new Le(ge,l(Se,he),Pe):Se!==void 0?new Le(ge,l(Se,he)):new Le(ge):te(ge)?O(we,ge):t(B,we,ge):new Le(m(ge))}(),ke,we)}),V&&V(we,ie),L(y(Le),function(ke){ke in we||g(we,ke,Le[ke])}),we.prototype=xe):(we=Y(function(ke,ge,Se,Pe){I(ke,xe);var je=0,_e=0,ze,We,Ue;if(!C(ge))Ue=m(ge),We=Ue*he,ze=new K(We);else if(ee(ge)){ze=ge,_e=l(Se,he);var Xe=ge.byteLength;if(Pe===void 0){if(Xe%he)throw new z(ne);if(We=Xe-_e,We<0)throw new z(ne)}else if(We=c(Pe)*he,We+_e>Xe)throw new z(ne);Ue=We/he}else return te(ge)?O(we,ge):t(B,we,ge);for(R(ke,{buffer:ze,byteOffset:_e,byteLength:We,length:Ue,view:new J(ze)});je1?arguments[1]:void 0,h=i!==void 0,C=S(u),v,p,N,V,y,B,L,w;if(C&&!I(C))for(L=b(u,C),w=L.next,u=[];!(B=a(w,L)).done;)u.push(B.value);for(h&&s>2&&(i=e(i,arguments[2])),p=f(u),N=new(g(l))(p),V=k(N),v=0;p>v;v++)y=h?i(u[v],v):u[v],N[v]=V?d(y):+y;return N}return c}()},31082:function(A,r,n){"use strict";var e=n(4246),a=n(28987),t=e.aTypedArrayConstructor,o=e.getTypedArrayConstructor;A.exports=function(f){return t(a(f,o(f)))}},16738:function(A,r,n){"use strict";var e=n(67250),a=0,t=Math.random(),o=e(1 .toString);A.exports=function(f){return"Symbol("+(f===void 0?"":f)+")_"+o(++a+t,36)}},1062:function(A,r,n){"use strict";var e=n(52357);A.exports=e&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},80944:function(A,r,n){"use strict";var e=n(58310),a=n(40033);A.exports=e&&a(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},24986:function(A){"use strict";var r=TypeError;A.exports=function(n,e){if(n=51||!a(function(){var i=[];return i[m]=!1,i.concat()[0]!==i}),u=function(h){if(!o(h))return!1;var C=h[m];return C!==void 0?!!C:t(h)},s=!l||!g("concat");e({target:"Array",proto:!0,arity:1,forced:s},{concat:function(){function i(h){var C=f(this),v=k(C,0),p=0,N,V,y,B,L;for(N=-1,y=arguments.length;N1?arguments[1]:void 0)}return f}()})},68933:function(A,r,n){"use strict";var e=n(63964),a=n(88471),t=n(80575);e({target:"Array",proto:!0},{fill:a}),t("fill")},47830:function(A,r,n){"use strict";var e=n(63964),a=n(22603).filter,t=n(44091),o=t("filter");e({target:"Array",proto:!0,forced:!o},{filter:function(){function f(b){return a(this,b,arguments.length>1?arguments[1]:void 0)}return f}()})},64094:function(A,r,n){"use strict";var e=n(63964),a=n(22603).findIndex,t=n(80575),o="findIndex",f=!0;o in[]&&Array(1)[o](function(){f=!1}),e({target:"Array",proto:!0,forced:f},{findIndex:function(){function b(S){return a(this,S,arguments.length>1?arguments[1]:void 0)}return b}()}),t(o)},13455:function(A,r,n){"use strict";var e=n(63964),a=n(22603).find,t=n(80575),o="find",f=!0;o in[]&&Array(1)[o](function(){f=!1}),e({target:"Array",proto:!0,forced:f},{find:function(){function b(S){return a(this,S,arguments.length>1?arguments[1]:void 0)}return b}()}),t(o)},32384:function(A,r,n){"use strict";var e=n(63964),a=n(65561),t=n(10320),o=n(46771),f=n(24760),b=n(57823);e({target:"Array",proto:!0},{flatMap:function(){function S(I){var k=o(this),g=f(k),d;return t(I),d=b(k,0),d.length=a(d,k,k,g,0,1,I,arguments.length>1?arguments[1]:void 0),d}return S}()})},61915:function(A,r,n){"use strict";var e=n(63964),a=n(65561),t=n(46771),o=n(24760),f=n(61365),b=n(57823);e({target:"Array",proto:!0},{flat:function(){function S(){var I=arguments.length?arguments[0]:void 0,k=t(this),g=o(k),d=b(k,0);return d.length=a(d,k,k,g,0,I===void 0?1:f(I)),d}return S}()})},25579:function(A,r,n){"use strict";var e=n(63964),a=n(35601);e({target:"Array",proto:!0,forced:[].forEach!==a},{forEach:a})},63532:function(A,r,n){"use strict";var e=n(63964),a=n(73174),t=n(92490),o=!t(function(f){Array.from(f)});e({target:"Array",stat:!0,forced:o},{from:a})},33425:function(A,r,n){"use strict";var e=n(63964),a=n(14211).includes,t=n(40033),o=n(80575),f=t(function(){return!Array(1).includes()});e({target:"Array",proto:!0,forced:f},{includes:function(){function b(S){return a(this,S,arguments.length>1?arguments[1]:void 0)}return b}()}),o("includes")},43894:function(A,r,n){"use strict";var e=n(63964),a=n(71138),t=n(14211).indexOf,o=n(55528),f=a([].indexOf),b=!!f&&1/f([1],1,-0)<0,S=b||!o("indexOf");e({target:"Array",proto:!0,forced:S},{indexOf:function(){function I(k){var g=arguments.length>1?arguments[1]:void 0;return b?f(this,k,g)||0:t(this,k,g)}return I}()})},99636:function(A,r,n){"use strict";var e=n(63964),a=n(37386);e({target:"Array",stat:!0},{isArray:a})},34570:function(A,r,n){"use strict";var e=n(57591),a=n(80575),t=n(83967),o=n(5419),f=n(74595).f,b=n(65574),S=n(5959),I=n(4493),k=n(58310),g="Array Iterator",d=o.set,c=o.getterFor(g);A.exports=b(Array,"Array",function(l,u){d(this,{type:g,target:e(l),index:0,kind:u})},function(){var l=c(this),u=l.target,s=l.index++;if(!u||s>=u.length)return l.target=void 0,S(void 0,!0);switch(l.kind){case"keys":return S(s,!1);case"values":return S(u[s],!1)}return S([s,u[s]],!1)},"values");var m=t.Arguments=t.Array;if(a("keys"),a("values"),a("entries"),!I&&k&&m.name!=="values")try{f(m,"name",{value:"values"})}catch(l){}},94432:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(37457),o=n(57591),f=n(55528),b=a([].join),S=t!==Object,I=S||!f("join",",");e({target:"Array",proto:!0,forced:I},{join:function(){function k(g){return b(o(this),g===void 0?",":g)}return k}()})},24683:function(A,r,n){"use strict";var e=n(63964),a=n(1325);e({target:"Array",proto:!0,forced:a!==[].lastIndexOf},{lastIndexOf:a})},69984:function(A,r,n){"use strict";var e=n(63964),a=n(22603).map,t=n(44091),o=t("map");e({target:"Array",proto:!0,forced:!o},{map:function(){function f(b){return a(this,b,arguments.length>1?arguments[1]:void 0)}return f}()})},32089:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(1031),o=n(60102),f=Array,b=a(function(){function S(){}return!(f.of.call(S)instanceof S)});e({target:"Array",stat:!0,forced:b},{of:function(){function S(){for(var I=0,k=arguments.length,g=new(t(this)?this:f)(k);k>I;)o(g,I,arguments[I++]);return g.length=k,g}return S}()})},29645:function(A,r,n){"use strict";var e=n(63964),a=n(56844).right,t=n(55528),o=n(5026),f=n(81702),b=!f&&o>79&&o<83,S=b||!t("reduceRight");e({target:"Array",proto:!0,forced:S},{reduceRight:function(){function I(k){return a(this,k,arguments.length,arguments.length>1?arguments[1]:void 0)}return I}()})},60206:function(A,r,n){"use strict";var e=n(63964),a=n(56844).left,t=n(55528),o=n(5026),f=n(81702),b=!f&&o>79&&o<83,S=b||!t("reduce");e({target:"Array",proto:!0,forced:S},{reduce:function(){function I(k){var g=arguments.length;return a(this,k,g,g>1?arguments[1]:void 0)}return I}()})},4788:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(37386),o=a([].reverse),f=[1,2];e({target:"Array",proto:!0,forced:String(f)===String(f.reverse())},{reverse:function(){function b(){return t(this)&&(this.length=this.length),o(this)}return b}()})},58672:function(A,r,n){"use strict";var e=n(63964),a=n(37386),t=n(1031),o=n(77568),f=n(13912),b=n(24760),S=n(57591),I=n(60102),k=n(24697),g=n(44091),d=n(54602),c=g("slice"),m=k("species"),l=Array,u=Math.max;e({target:"Array",proto:!0,forced:!c},{slice:function(){function s(i,h){var C=S(this),v=b(C),p=f(i,v),N=f(h===void 0?v:h,v),V,y,B;if(a(C)&&(V=C.constructor,t(V)&&(V===l||a(V.prototype))?V=void 0:o(V)&&(V=V[m],V===null&&(V=void 0)),V===l||V===void 0))return d(C,p,N);for(y=new(V===void 0?l:V)(u(N-p,0)),B=0;p1?arguments[1]:void 0)}return f}()})},48968:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(10320),o=n(46771),f=n(24760),b=n(95108),S=n(12605),I=n(40033),k=n(90274),g=n(55528),d=n(652),c=n(19228),m=n(5026),l=n(9342),u=[],s=a(u.sort),i=a(u.push),h=I(function(){u.sort(void 0)}),C=I(function(){u.sort(null)}),v=g("sort"),p=!I(function(){if(m)return m<70;if(!(d&&d>3)){if(c)return!0;if(l)return l<603;var y="",B,L,w,x;for(B=65;B<76;B++){switch(L=String.fromCharCode(B),B){case 66:case 69:case 70:case 72:w=3;break;case 68:case 71:w=4;break;default:w=2}for(x=0;x<47;x++)u.push({k:L+x,v:w})}for(u.sort(function(T,M){return M.v-T.v}),x=0;xS(w)?1:-1}};e({target:"Array",proto:!0,forced:N},{sort:function(){function y(B){B!==void 0&&t(B);var L=o(this);if(p)return B===void 0?s(L):s(L,B);var w=[],x=f(L),T,M;for(M=0;MC-V+N;B--)g(h,B-1)}else if(N>V)for(B=C-V;B>v;B--)L=B+V-1,w=B+N-1,L in h?h[w]=h[L]:g(h,w);for(B=0;B9490626562425156e-8?o(g)+b:a(g-1+f(g-1)*f(g+1))}return I}()})},59660:function(A,r,n){"use strict";var e=n(63964),a=Math.asinh,t=Math.log,o=Math.sqrt;function f(S){var I=+S;return!isFinite(I)||I===0?I:I<0?-f(-I):t(I+o(I*I+1))}var b=!(a&&1/a(0)>0);e({target:"Math",stat:!0,forced:b},{asinh:f})},15383:function(A,r,n){"use strict";var e=n(63964),a=Math.atanh,t=Math.log,o=!(a&&1/a(-0)<0);e({target:"Math",stat:!0,forced:o},{atanh:function(){function f(b){var S=+b;return S===0?S:t((1+S)/(1-S))/2}return f}()})},92866:function(A,r,n){"use strict";var e=n(63964),a=n(22172),t=Math.abs,o=Math.pow;e({target:"Math",stat:!0},{cbrt:function(){function f(b){var S=+b;return a(S)*o(t(S),.3333333333333333)}return f}()})},86107:function(A,r,n){"use strict";var e=n(63964),a=Math.floor,t=Math.log,o=Math.LOG2E;e({target:"Math",stat:!0},{clz32:function(){function f(b){var S=b>>>0;return S?31-a(t(S+.5)*o):32}return f}()})},29248:function(A,r,n){"use strict";var e=n(63964),a=n(82040),t=Math.cosh,o=Math.abs,f=Math.E,b=!t||t(710)===1/0;e({target:"Math",stat:!0,forced:b},{cosh:function(){function S(I){var k=a(o(I)-1)+1;return(k+1/(k*f*f))*(f/2)}return S}()})},52540:function(A,r,n){"use strict";var e=n(63964),a=n(82040);e({target:"Math",stat:!0,forced:a!==Math.expm1},{expm1:a})},79007:function(A,r,n){"use strict";var e=n(63964),a=n(95867);e({target:"Math",stat:!0},{fround:a})},77199:function(A,r,n){"use strict";var e=n(63964),a=Math.hypot,t=Math.abs,o=Math.sqrt,f=!!a&&a(1/0,NaN)!==1/0;e({target:"Math",stat:!0,arity:2,forced:f},{hypot:function(){function b(S,I){for(var k=0,g=0,d=arguments.length,c=0,m,l;g0?(l=m/c,k+=l*l):k+=m;return c===1/0?1/0:c*o(k)}return b}()})},6522:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=Math.imul,o=a(function(){return t(4294967295,5)!==-5||t.length!==2});e({target:"Math",stat:!0,forced:o},{imul:function(){function f(b,S){var I=65535,k=+b,g=+S,d=I&k,c=I&g;return 0|d*c+((I&k>>>16)*c+d*(I&g>>>16)<<16>>>0)}return f}()})},95542:function(A,r,n){"use strict";var e=n(63964),a=n(75002);e({target:"Math",stat:!0},{log10:a})},2966:function(A,r,n){"use strict";var e=n(63964),a=n(90874);e({target:"Math",stat:!0},{log1p:a})},20997:function(A,r,n){"use strict";var e=n(63964),a=Math.log,t=Math.LN2;e({target:"Math",stat:!0},{log2:function(){function o(f){return a(f)/t}return o}()})},57400:function(A,r,n){"use strict";var e=n(63964),a=n(22172);e({target:"Math",stat:!0},{sign:a})},45571:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(82040),o=Math.abs,f=Math.exp,b=Math.E,S=a(function(){return Math.sinh(-2e-17)!==-2e-17});e({target:"Math",stat:!0,forced:S},{sinh:function(){function I(k){var g=+k;return o(g)<1?(t(g)-t(-g))/2:(f(g-1)-f(-g-1))*(b/2)}return I}()})},54800:function(A,r,n){"use strict";var e=n(63964),a=n(82040),t=Math.exp;e({target:"Math",stat:!0},{tanh:function(){function o(f){var b=+f,S=a(b),I=a(-b);return S===1/0?1:I===1/0?-1:(S-I)/(t(b)+t(-b))}return o}()})},15709:function(A,r,n){"use strict";var e=n(84925);e(Math,"Math",!0)},76059:function(A,r,n){"use strict";var e=n(63964),a=n(21119);e({target:"Math",stat:!0},{trunc:a})},96614:function(A,r,n){"use strict";var e=n(63964),a=n(4493),t=n(58310),o=n(74685),f=n(61765),b=n(67250),S=n(41314),I=n(45299),k=n(5781),g=n(21287),d=n(71399),c=n(24843),m=n(40033),l=n(37310).f,u=n(27193).f,s=n(74595).f,i=n(46438),h=n(92648).trim,C="Number",v=o[C],p=f[C],N=v.prototype,V=o.TypeError,y=b("".slice),B=b("".charCodeAt),L=function(E){var P=c(E,"number");return typeof P=="bigint"?P:w(P)},w=function(E){var P=c(E,"number"),R,j,F,W,z,K,G,J;if(d(P))throw new V("Cannot convert a Symbol value to a number");if(typeof P=="string"&&P.length>2){if(P=h(P),R=B(P,0),R===43||R===45){if(j=B(P,2),j===88||j===120)return NaN}else if(R===48){switch(B(P,1)){case 66:case 98:F=2,W=49;break;case 79:case 111:F=8,W=55;break;default:return+P}for(z=y(P,2),K=z.length,G=0;GW)return NaN;return parseInt(z,F)}}return+P},x=S(C,!v(" 0o1")||!v("0b1")||v("+0x1")),T=function(E){return g(N,E)&&m(function(){i(E)})},M=function(){function D(E){var P=arguments.length<1?0:v(L(E));return T(this)?k(Object(P),this,M):P}return D}();M.prototype=N,x&&!a&&(N.constructor=M),e({global:!0,constructor:!0,wrap:!0,forced:x},{Number:M});var O=function(E,P){for(var R=t?l(P):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),j=0,F;R.length>j;j++)I(P,F=R[j])&&!I(E,F)&&s(E,F,u(P,F))};a&&p&&O(f[C],p),(x||a)&&O(f[C],v)},324:function(A,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},90426:function(A,r,n){"use strict";var e=n(63964),a=n(3294);e({target:"Number",stat:!0},{isFinite:a})},95443:function(A,r,n){"use strict";var e=n(63964),a=n(5841);e({target:"Number",stat:!0},{isInteger:a})},87968:function(A,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0},{isNaN:function(){function a(t){return t!==t}return a}()})},55007:function(A,r,n){"use strict";var e=n(63964),a=n(5841),t=Math.abs;e({target:"Number",stat:!0},{isSafeInteger:function(){function o(f){return a(f)&&t(f)<=9007199254740991}return o}()})},55323:function(A,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},13521:function(A,r,n){"use strict";var e=n(63964);e({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},5006:function(A,r,n){"use strict";var e=n(63964),a=n(28506);e({target:"Number",stat:!0,forced:Number.parseFloat!==a},{parseFloat:a})},99009:function(A,r,n){"use strict";var e=n(63964),a=n(13693);e({target:"Number",stat:!0,forced:Number.parseInt!==a},{parseInt:a})},85770:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(61365),o=n(46438),f=n(62443),b=n(40033),S=RangeError,I=String,k=Math.floor,g=a(f),d=a("".slice),c=a(1 .toFixed),m=function C(v,p,N){return p===0?N:p%2===1?C(v,p-1,N*v):C(v*v,p/2,N)},l=function(v){for(var p=0,N=v;N>=4096;)p+=12,N/=4096;for(;N>=2;)p+=1,N/=2;return p},u=function(v,p,N){for(var V=-1,y=N;++V<6;)y+=p*v[V],v[V]=y%1e7,y=k(y/1e7)},s=function(v,p){for(var N=6,V=0;--N>=0;)V+=v[N],v[N]=k(V/p),V=V%p*1e7},i=function(v){for(var p=6,N="";--p>=0;)if(N!==""||p===0||v[p]!==0){var V=I(v[p]);N=N===""?V:N+g("0",7-V.length)+V}return N},h=b(function(){return c(8e-5,3)!=="0.000"||c(.9,0)!=="1"||c(1.255,2)!=="1.25"||c(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!b(function(){c({})});e({target:"Number",proto:!0,forced:h},{toFixed:function(){function C(v){var p=o(this),N=t(v),V=[0,0,0,0,0,0],y="",B="0",L,w,x,T;if(N<0||N>20)throw new S("Incorrect fraction digits");if(p!==p)return"NaN";if(p<=-1e21||p>=1e21)return I(p);if(p<0&&(y="-",p=-p),p>1e-21)if(L=l(p*m(2,69,1))-69,w=L<0?p*m(2,-L,1):p/m(2,L,1),w*=4503599627370496,L=52-L,L>0){for(u(V,0,w),x=N;x>=7;)u(V,1e7,0),x-=7;for(u(V,m(10,x,1),0),x=L-1;x>=23;)s(V,8388608),x-=23;s(V,1<0?(T=B.length,B=y+(T<=N?"0."+g("0",N-T)+B:d(B,0,T-N)+"."+d(B,T-N))):B=y+B,B}return C}()})},23532:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(40033),o=n(46438),f=a(1 .toPrecision),b=t(function(){return f(1,void 0)!=="1"})||!t(function(){f({})});e({target:"Number",proto:!0,forced:b},{toPrecision:function(){function S(I){return I===void 0?f(o(this)):f(o(this),I)}return S}()})},87119:function(A,r,n){"use strict";var e=n(63964),a=n(41143);e({target:"Object",stat:!0,arity:2,forced:Object.assign!==a},{assign:a})},78618:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(80674);e({target:"Object",stat:!0,sham:!a},{create:t})},27129:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(10320),f=n(46771),b=n(74595);a&&e({target:"Object",proto:!0,forced:t},{__defineGetter__:function(){function S(I,k){b.f(f(this),I,{get:o(k),enumerable:!0,configurable:!0})}return S}()})},31943:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(24239).f;e({target:"Object",stat:!0,forced:Object.defineProperties!==t,sham:!a},{defineProperties:t})},3579:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(74595).f;e({target:"Object",stat:!0,forced:Object.defineProperty!==t,sham:!a},{defineProperty:t})},97397:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(10320),f=n(46771),b=n(74595);a&&e({target:"Object",proto:!0,forced:t},{__defineSetter__:function(){function S(I,k){b.f(f(this),I,{set:o(k),enumerable:!0,configurable:!0})}return S}()})},85028:function(A,r,n){"use strict";var e=n(63964),a=n(70915).entries;e({target:"Object",stat:!0},{entries:function(){function t(o){return a(o)}return t}()})},8225:function(A,r,n){"use strict";var e=n(63964),a=n(50730),t=n(40033),o=n(77568),f=n(81969).onFreeze,b=Object.freeze,S=t(function(){b(1)});e({target:"Object",stat:!0,forced:S,sham:!a},{freeze:function(){function I(k){return b&&o(k)?b(f(k)):k}return I}()})},43331:function(A,r,n){"use strict";var e=n(63964),a=n(49450),t=n(60102);e({target:"Object",stat:!0},{fromEntries:function(){function o(f){var b={};return a(f,function(S,I){t(b,S,I)},{AS_ENTRIES:!0}),b}return o}()})},62289:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(57591),o=n(27193).f,f=n(58310),b=!f||a(function(){o(1)});e({target:"Object",stat:!0,forced:b,sham:!f},{getOwnPropertyDescriptor:function(){function S(I,k){return o(t(I),k)}return S}()})},56196:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(97921),o=n(57591),f=n(27193),b=n(60102);e({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(){function S(I){for(var k=o(I),g=f.f,d=t(k),c={},m=0,l,u;d.length>m;)u=g(k,l=d[m++]),u!==void 0&&b(c,l,u);return c}return S}()})},2950:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(81644).f,o=a(function(){return!Object.getOwnPropertyNames(1)});e({target:"Object",stat:!0,forced:o},{getOwnPropertyNames:t})},28603:function(A,r,n){"use strict";var e=n(63964),a=n(52357),t=n(40033),o=n(89235),f=n(46771),b=!a||t(function(){o.f(1)});e({target:"Object",stat:!0,forced:b},{getOwnPropertySymbols:function(){function S(I){var k=o.f;return k?k(f(I)):[]}return S}()})},44205:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(46771),o=n(36917),f=n(9225),b=a(function(){o(1)});e({target:"Object",stat:!0,forced:b,sham:!f},{getPrototypeOf:function(){function S(I){return o(t(I))}return S}()})},83186:function(A,r,n){"use strict";var e=n(63964),a=n(81834);e({target:"Object",stat:!0,forced:Object.isExtensible!==a},{isExtensible:a})},76065:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(77568),o=n(7462),f=n(3782),b=Object.isFrozen,S=f||a(function(){b(1)});e({target:"Object",stat:!0,forced:S},{isFrozen:function(){function I(k){return!t(k)||f&&o(k)==="ArrayBuffer"?!0:b?b(k):!1}return I}()})},13411:function(A,r,n){"use strict";var e=n(63964),a=n(40033),t=n(77568),o=n(7462),f=n(3782),b=Object.isSealed,S=f||a(function(){b(1)});e({target:"Object",stat:!0,forced:S},{isSealed:function(){function I(k){return!t(k)||f&&o(k)==="ArrayBuffer"?!0:b?b(k):!1}return I}()})},76882:function(A,r,n){"use strict";var e=n(63964),a=n(5700);e({target:"Object",stat:!0},{is:a})},26634:function(A,r,n){"use strict";var e=n(63964),a=n(46771),t=n(18450),o=n(40033),f=o(function(){t(1)});e({target:"Object",stat:!0,forced:f},{keys:function(){function b(S){return t(a(S))}return b}()})},53118:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(46771),f=n(767),b=n(36917),S=n(27193).f;a&&e({target:"Object",proto:!0,forced:t},{__lookupGetter__:function(){function I(k){var g=o(this),d=f(k),c;do if(c=S(g,d))return c.get;while(g=b(g))}return I}()})},42514:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(57377),o=n(46771),f=n(767),b=n(36917),S=n(27193).f;a&&e({target:"Object",proto:!0,forced:t},{__lookupSetter__:function(){function I(k){var g=o(this),d=f(k),c;do if(c=S(g,d))return c.set;while(g=b(g))}return I}()})},84353:function(A,r,n){"use strict";var e=n(63964),a=n(77568),t=n(81969).onFreeze,o=n(50730),f=n(40033),b=Object.preventExtensions,S=f(function(){b(1)});e({target:"Object",stat:!0,forced:S,sham:!o},{preventExtensions:function(){function I(k){return b&&a(k)?b(t(k)):k}return I}()})},62987:function(A,r,n){"use strict";var e=n(63964),a=n(77568),t=n(81969).onFreeze,o=n(50730),f=n(40033),b=Object.seal,S=f(function(){b(1)});e({target:"Object",stat:!0,forced:S,sham:!o},{seal:function(){function I(k){return b&&a(k)?b(t(k)):k}return I}()})},48993:function(A,r,n){"use strict";var e=n(63964),a=n(76649);e({target:"Object",stat:!0},{setPrototypeOf:a})},52917:function(A,r,n){"use strict";var e=n(2650),a=n(55938),t=n(2509);e||a(Object.prototype,"toString",t,{unsafe:!0})},4972:function(A,r,n){"use strict";var e=n(63964),a=n(70915).values;e({target:"Object",stat:!0},{values:function(){function t(o){return a(o)}return t}()})},28913:function(A,r,n){"use strict";var e=n(63964),a=n(28506);e({global:!0,forced:parseFloat!==a},{parseFloat:a})},36382:function(A,r,n){"use strict";var e=n(63964),a=n(13693);e({global:!0,forced:parseInt!==a},{parseInt:a})},48865:function(A,r,n){"use strict";var e=n(63964),a=n(91495),t=n(10320),o=n(81837),f=n(10729),b=n(49450),S=n(48199);e({target:"Promise",stat:!0,forced:S},{all:function(){function I(k){var g=this,d=o.f(g),c=d.resolve,m=d.reject,l=f(function(){var u=t(g.resolve),s=[],i=0,h=1;b(k,function(C){var v=i++,p=!1;h++,a(u,g,C).then(function(N){p||(p=!0,s[v]=N,--h||c(s))},m)}),--h||c(s)});return l.error&&m(l.value),d.promise}return I}()})},70641:function(A,r,n){"use strict";var e=n(63964),a=n(4493),t=n(74854).CONSTRUCTOR,o=n(67512),f=n(4009),b=n(55747),S=n(55938),I=o&&o.prototype;if(e({target:"Promise",proto:!0,forced:t,real:!0},{catch:function(){function g(d){return this.then(void 0,d)}return g}()}),!a&&b(o)){var k=f("Promise").prototype.catch;I.catch!==k&&S(I,"catch",k,{unsafe:!0})}},75946:function(A,r,n){"use strict";var e=n(63964),a=n(4493),t=n(81702),o=n(74685),f=n(91495),b=n(55938),S=n(76649),I=n(84925),k=n(58491),g=n(10320),d=n(55747),c=n(77568),m=n(60077),l=n(28987),u=n(60375).set,s=n(37713),i=n(72259),h=n(10729),C=n(9547),v=n(5419),p=n(67512),N=n(74854),V=n(81837),y="Promise",B=N.CONSTRUCTOR,L=N.REJECTION_EVENT,w=N.SUBCLASSING,x=v.getterFor(y),T=v.set,M=p&&p.prototype,O=p,D=M,E=o.TypeError,P=o.document,R=o.process,j=V.f,F=j,W=!!(P&&P.createEvent&&o.dispatchEvent),z="unhandledrejection",K="rejectionhandled",G=0,J=1,Q=2,ue=1,ie=2,pe,te,q,ne,le=function(be){var Le;return c(be)&&d(Le=be.then)?Le:!1},ee=function(be,Le){var we=Le.value,xe=Le.state===J,Re=xe?be.ok:be.fail,He=be.resolve,ye=be.reject,de=be.domain,Ce,ke,ge;try{Re?(xe||(Le.rejection===ie&&Y(Le),Le.rejection=ue),Re===!0?Ce=we:(de&&de.enter(),Ce=Re(we),de&&(de.exit(),ge=!0)),Ce===be.promise?ye(new E("Promise-chain cycle")):(ke=le(Ce))?f(ke,Ce,He,ye):He(Ce)):ye(we)}catch(Se){de&&!ge&&de.exit(),ye(Se)}},re=function(be,Le){be.notified||(be.notified=!0,s(function(){for(var we=be.reactions,xe;xe=we.get();)ee(xe,be);be.notified=!1,Le&&!be.rejection&&fe(be)}))},oe=function(be,Le,we){var xe,Re;W?(xe=P.createEvent("Event"),xe.promise=Le,xe.reason=we,xe.initEvent(be,!1,!0),o.dispatchEvent(xe)):xe={promise:Le,reason:we},!L&&(Re=o["on"+be])?Re(xe):be===z&&i("Unhandled promise rejection",we)},fe=function(be){f(u,o,function(){var Le=be.facade,we=be.value,xe=me(be),Re;if(xe&&(Re=h(function(){t?R.emit("unhandledRejection",we,Le):oe(z,Le,we)}),be.rejection=t||me(be)?ie:ue,Re.error))throw Re.value})},me=function(be){return be.rejection!==ue&&!be.parent},Y=function(be){f(u,o,function(){var Le=be.facade;t?R.emit("rejectionHandled",Le):oe(K,Le,be.value)})},ve=function(be,Le,we){return function(xe){be(Le,xe,we)}},he=function(be,Le,we){be.done||(be.done=!0,we&&(be=we),be.value=Le,be.state=Q,re(be,!0))},Ve=function Be(be,Le,we){if(!be.done){be.done=!0,we&&(be=we);try{if(be.facade===Le)throw new E("Promise can't be resolved itself");var xe=le(Le);xe?s(function(){var Re={done:!1};try{f(xe,Le,ve(Be,Re,be),ve(he,Re,be))}catch(He){he(Re,He,be)}}):(be.value=Le,be.state=J,re(be,!1))}catch(Re){he({done:!1},Re,be)}}};if(B&&(O=function(){function Be(be){m(this,D),g(be),f(pe,this);var Le=x(this);try{be(ve(Ve,Le),ve(he,Le))}catch(we){he(Le,we)}}return Be}(),D=O.prototype,pe=function(){function Be(be){T(this,{type:y,done:!1,notified:!1,parent:!1,reactions:new C,rejection:!1,state:G,value:void 0})}return Be}(),pe.prototype=b(D,"then",function(){function Be(be,Le){var we=x(this),xe=j(l(this,O));return we.parent=!0,xe.ok=d(be)?be:!0,xe.fail=d(Le)&&Le,xe.domain=t?R.domain:void 0,we.state===G?we.reactions.add(xe):s(function(){ee(xe,we)}),xe.promise}return Be}()),te=function(){var be=new pe,Le=x(be);this.promise=be,this.resolve=ve(Ve,Le),this.reject=ve(he,Le)},V.f=j=function(be){return be===O||be===q?new te(be):F(be)},!a&&d(p)&&M!==Object.prototype)){ne=M.then,w||b(M,"then",function(){function Be(be,Le){var we=this;return new O(function(xe,Re){f(ne,we,xe,Re)}).then(be,Le)}return Be}(),{unsafe:!0});try{delete M.constructor}catch(Be){}S&&S(M,D)}e({global:!0,constructor:!0,wrap:!0,forced:B},{Promise:O}),I(O,y,!1,!0),k(y)},69861:function(A,r,n){"use strict";var e=n(63964),a=n(4493),t=n(67512),o=n(40033),f=n(4009),b=n(55747),S=n(28987),I=n(66628),k=n(55938),g=t&&t.prototype,d=!!t&&o(function(){g.finally.call({then:function(){function m(){}return m}()},function(){})});if(e({target:"Promise",proto:!0,real:!0,forced:d},{finally:function(){function m(l){var u=S(this,f("Promise")),s=b(l);return this.then(s?function(i){return I(u,l()).then(function(){return i})}:l,s?function(i){return I(u,l()).then(function(){throw i})}:l)}return m}()}),!a&&b(t)){var c=f("Promise").prototype.finally;g.finally!==c&&k(g,"finally",c,{unsafe:!0})}},53092:function(A,r,n){"use strict";n(75946),n(48865),n(70641),n(16937),n(41719),n(59321)},16937:function(A,r,n){"use strict";var e=n(63964),a=n(91495),t=n(10320),o=n(81837),f=n(10729),b=n(49450),S=n(48199);e({target:"Promise",stat:!0,forced:S},{race:function(){function I(k){var g=this,d=o.f(g),c=d.reject,m=f(function(){var l=t(g.resolve);b(k,function(u){a(l,g,u).then(d.resolve,c)})});return m.error&&c(m.value),d.promise}return I}()})},41719:function(A,r,n){"use strict";var e=n(63964),a=n(81837),t=n(74854).CONSTRUCTOR;e({target:"Promise",stat:!0,forced:t},{reject:function(){function o(f){var b=a.f(this),S=b.reject;return S(f),b.promise}return o}()})},59321:function(A,r,n){"use strict";var e=n(63964),a=n(4009),t=n(4493),o=n(67512),f=n(74854).CONSTRUCTOR,b=n(66628),S=a("Promise"),I=t&&!f;e({target:"Promise",stat:!0,forced:t||f},{resolve:function(){function k(g){return b(I&&this===S?o:this,g)}return k}()})},29674:function(A,r,n){"use strict";var e=n(63964),a=n(61267),t=n(10320),o=n(30365),f=n(40033),b=!f(function(){Reflect.apply(function(){})});e({target:"Reflect",stat:!0,forced:b},{apply:function(){function S(I,k,g){return a(t(I),k,o(g))}return S}()})},81543:function(A,r,n){"use strict";var e=n(63964),a=n(4009),t=n(61267),o=n(66284),f=n(32606),b=n(30365),S=n(77568),I=n(80674),k=n(40033),g=a("Reflect","construct"),d=Object.prototype,c=[].push,m=k(function(){function s(){}return!(g(function(){},[],s)instanceof s)}),l=!k(function(){g(function(){})}),u=m||l;e({target:"Reflect",stat:!0,forced:u,sham:u},{construct:function(){function s(i,h){f(i),b(h);var C=arguments.length<3?i:f(arguments[2]);if(l&&!m)return g(i,h,C);if(i===C){switch(h.length){case 0:return new i;case 1:return new i(h[0]);case 2:return new i(h[0],h[1]);case 3:return new i(h[0],h[1],h[2]);case 4:return new i(h[0],h[1],h[2],h[3])}var v=[null];return t(c,v,h),new(t(o,i,v))}var p=C.prototype,N=I(S(p)?p:d),V=t(i,N,h);return S(V)?V:N}return s}()})},9373:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(30365),o=n(767),f=n(74595),b=n(40033),S=b(function(){Reflect.defineProperty(f.f({},1,{value:1}),1,{value:2})});e({target:"Reflect",stat:!0,forced:S,sham:!a},{defineProperty:function(){function I(k,g,d){t(k);var c=o(g);t(d);try{return f.f(k,c,d),!0}catch(m){return!1}}return I}()})},45093:function(A,r,n){"use strict";var e=n(63964),a=n(30365),t=n(27193).f;e({target:"Reflect",stat:!0},{deleteProperty:function(){function o(f,b){var S=t(a(f),b);return S&&!S.configurable?!1:delete f[b]}return o}()})},5815:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(30365),o=n(27193);e({target:"Reflect",stat:!0,sham:!a},{getOwnPropertyDescriptor:function(){function f(b,S){return o.f(t(b),S)}return f}()})},88527:function(A,r,n){"use strict";var e=n(63964),a=n(30365),t=n(36917),o=n(9225);e({target:"Reflect",stat:!0,sham:!o},{getPrototypeOf:function(){function f(b){return t(a(b))}return f}()})},63074:function(A,r,n){"use strict";var e=n(63964),a=n(91495),t=n(77568),o=n(30365),f=n(98373),b=n(27193),S=n(36917);function I(k,g){var d=arguments.length<3?k:arguments[2],c,m;if(o(k)===d)return k[g];if(c=b.f(k,g),c)return f(c)?c.value:c.get===void 0?void 0:a(c.get,d);if(t(m=S(k)))return I(m,g,d)}e({target:"Reflect",stat:!0},{get:I})},66390:function(A,r,n){"use strict";var e=n(63964);e({target:"Reflect",stat:!0},{has:function(){function a(t,o){return o in t}return a}()})},7784:function(A,r,n){"use strict";var e=n(63964),a=n(30365),t=n(81834);e({target:"Reflect",stat:!0},{isExtensible:function(){function o(f){return a(f),t(f)}return o}()})},50551:function(A,r,n){"use strict";var e=n(63964),a=n(97921);e({target:"Reflect",stat:!0},{ownKeys:a})},76483:function(A,r,n){"use strict";var e=n(63964),a=n(4009),t=n(30365),o=n(50730);e({target:"Reflect",stat:!0,sham:!o},{preventExtensions:function(){function f(b){t(b);try{var S=a("Object","preventExtensions");return S&&S(b),!0}catch(I){return!1}}return f}()})},63915:function(A,r,n){"use strict";var e=n(63964),a=n(30365),t=n(35908),o=n(76649);o&&e({target:"Reflect",stat:!0},{setPrototypeOf:function(){function f(b,S){a(b),t(S);try{return o(b,S),!0}catch(I){return!1}}return f}()})},92046:function(A,r,n){"use strict";var e=n(63964),a=n(91495),t=n(30365),o=n(77568),f=n(98373),b=n(40033),S=n(74595),I=n(27193),k=n(36917),g=n(87458);function d(m,l,u){var s=arguments.length<4?m:arguments[3],i=I.f(t(m),l),h,C,v;if(!i){if(o(C=k(m)))return d(C,l,u,s);i=g(0)}if(f(i)){if(i.writable===!1||!o(s))return!1;if(h=I.f(s,l)){if(h.get||h.set||h.writable===!1)return!1;h.value=u,S.f(s,l,h)}else S.f(s,l,g(0,u))}else{if(v=i.set,v===void 0)return!1;a(v,s,u)}return!0}var c=b(function(){var m=function(){},l=S.f(new m,"a",{configurable:!0});return Reflect.set(m.prototype,"a",1,l)!==!1});e({target:"Reflect",stat:!0,forced:c},{set:d})},51454:function(A,r,n){"use strict";var e=n(58310),a=n(74685),t=n(67250),o=n(41314),f=n(5781),b=n(37909),S=n(80674),I=n(37310).f,k=n(21287),g=n(72586),d=n(12605),c=n(73392),m=n(62115),l=n(34550),u=n(55938),s=n(40033),i=n(45299),h=n(5419).enforce,C=n(58491),v=n(24697),p=n(39173),N=n(35688),V=v("match"),y=a.RegExp,B=y.prototype,L=a.SyntaxError,w=t(B.exec),x=t("".charAt),T=t("".replace),M=t("".indexOf),O=t("".slice),D=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,E=/a/g,P=/a/g,R=new y(E)!==E,j=m.MISSED_STICKY,F=m.UNSUPPORTED_Y,W=e&&(!R||j||p||N||s(function(){return P[V]=!1,y(E)!==E||y(P)===P||String(y(E,"i"))!=="/a/i"})),z=function(ie){for(var pe=ie.length,te=0,q="",ne=!1,le;te<=pe;te++){if(le=x(ie,te),le==="\\"){q+=le+x(ie,++te);continue}!ne&&le==="."?q+="[\\s\\S]":(le==="["?ne=!0:le==="]"&&(ne=!1),q+=le)}return q},K=function(ie){for(var pe=ie.length,te=0,q="",ne=[],le=S(null),ee=!1,re=!1,oe=0,fe="",me;te<=pe;te++){if(me=x(ie,te),me==="\\")me+=x(ie,++te);else if(me==="]")ee=!1;else if(!ee)switch(!0){case me==="[":ee=!0;break;case me==="(":w(D,O(ie,te+1))&&(te+=2,re=!0),q+=me,oe++;continue;case(me===">"&&re):if(fe===""||i(le,fe))throw new L("Invalid capture group name");le[fe]=!0,ne[ne.length]=[fe,oe],re=!1,fe="";continue}re?fe+=me:q+=me}return[q,ne]};if(o("RegExp",W)){for(var G=function(){function ue(ie,pe){var te=k(B,this),q=g(ie),ne=pe===void 0,le=[],ee=ie,re,oe,fe,me,Y,ve;if(!te&&q&&ne&&ie.constructor===G)return ie;if((q||k(B,ie))&&(ie=ie.source,ne&&(pe=c(ee))),ie=ie===void 0?"":d(ie),pe=pe===void 0?"":d(pe),ee=ie,p&&"dotAll"in E&&(oe=!!pe&&M(pe,"s")>-1,oe&&(pe=T(pe,/s/g,""))),re=pe,j&&"sticky"in E&&(fe=!!pe&&M(pe,"y")>-1,fe&&F&&(pe=T(pe,/y/g,""))),N&&(me=K(ie),ie=me[0],le=me[1]),Y=f(y(ie,pe),te?this:B,G),(oe||fe||le.length)&&(ve=h(Y),oe&&(ve.dotAll=!0,ve.raw=G(z(ie),re)),fe&&(ve.sticky=!0),le.length&&(ve.groups=le)),ie!==ee)try{b(Y,"source",ee===""?"(?:)":ee)}catch(he){}return Y}return ue}(),J=I(y),Q=0;J.length>Q;)l(G,y,J[Q++]);B.constructor=G,G.prototype=B,u(a,"RegExp",G,{constructor:!0})}C("RegExp")},79669:function(A,r,n){"use strict";var e=n(63964),a=n(14489);e({target:"RegExp",proto:!0,forced:/./.exec!==a},{exec:a})},23057:function(A,r,n){"use strict";var e=n(74685),a=n(58310),t=n(73936),o=n(70901),f=n(40033),b=e.RegExp,S=b.prototype,I=a&&f(function(){var k=!0;try{b(".","d")}catch(i){k=!1}var g={},d="",c=k?"dgimsy":"gimsy",m=function(h,C){Object.defineProperty(g,h,{get:function(){function v(){return d+=C,!0}return v}()})},l={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};k&&(l.hasIndices="d");for(var u in l)m(u,l[u]);var s=Object.getOwnPropertyDescriptor(S,"flags").get.call(g);return s!==c||d!==c});I&&t(S,"flags",{configurable:!0,get:o})},57983:function(A,r,n){"use strict";var e=n(70520).PROPER,a=n(55938),t=n(30365),o=n(12605),f=n(40033),b=n(73392),S="toString",I=RegExp.prototype,k=I[S],g=f(function(){return k.call({source:"a",flags:"b"})!=="/a/b"}),d=e&&k.name!==S;(g||d)&&a(I,S,function(){function c(){var m=t(this),l=o(m.source),u=o(b(m));return"/"+l+"/"+u}return c}(),{unsafe:!0})},1963:function(A,r,n){"use strict";var e=n(45150),a=n(41028);e("Set",function(t){return function(){function o(){return t(this,arguments.length?arguments[0]:void 0)}return o}()},a)},17953:function(A,r,n){"use strict";n(1963)},95309:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("anchor")},{anchor:function(){function o(f){return a(this,"a","name",f)}return o}()})},82256:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("big")},{big:function(){function o(){return a(this,"big","","")}return o}()})},49484:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("blink")},{blink:function(){function o(){return a(this,"blink","","")}return o}()})},38931:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("bold")},{bold:function(){function o(){return a(this,"b","","")}return o}()})},30442:function(A,r,n){"use strict";var e=n(63964),a=n(50233).codeAt;e({target:"String",proto:!0},{codePointAt:function(){function t(o){return a(this,o)}return t}()})},6403:function(A,r,n){"use strict";var e=n(63964),a=n(71138),t=n(27193).f,o=n(10188),f=n(12605),b=n(86213),S=n(16952),I=n(45490),k=n(4493),g=a("".slice),d=Math.min,c=I("endsWith"),m=!k&&!c&&!!function(){var l=t(String.prototype,"endsWith");return l&&!l.writable}();e({target:"String",proto:!0,forced:!m&&!c},{endsWith:function(){function l(u){var s=f(S(this));b(u);var i=arguments.length>1?arguments[1]:void 0,h=s.length,C=i===void 0?h:d(o(i),h),v=f(u);return g(s,C-v.length,C)===v}return l}()})},39308:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fixed")},{fixed:function(){function o(){return a(this,"tt","","")}return o}()})},91550:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fontcolor")},{fontcolor:function(){function o(f){return a(this,"font","color",f)}return o}()})},75008:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("fontsize")},{fontsize:function(){function o(f){return a(this,"font","size",f)}return o}()})},9867:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(13912),o=RangeError,f=String.fromCharCode,b=String.fromCodePoint,S=a([].join),I=!!b&&b.length!==1;e({target:"String",stat:!0,arity:1,forced:I},{fromCodePoint:function(){function k(g){for(var d=[],c=arguments.length,m=0,l;c>m;){if(l=+arguments[m++],t(l,1114111)!==l)throw new o(l+" is not a valid code point");d[m]=l<65536?f(l):f(((l-=65536)>>10)+55296,l%1024+56320)}return S(d,"")}return k}()})},43673:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(86213),o=n(16952),f=n(12605),b=n(45490),S=a("".indexOf);e({target:"String",proto:!0,forced:!b("includes")},{includes:function(){function I(k){return!!~S(f(o(this)),f(t(k)),arguments.length>1?arguments[1]:void 0)}return I}()})},56027:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("italics")},{italics:function(){function o(){return a(this,"i","","")}return o}()})},12354:function(A,r,n){"use strict";var e=n(50233).charAt,a=n(12605),t=n(5419),o=n(65574),f=n(5959),b="String Iterator",S=t.set,I=t.getterFor(b);o(String,"String",function(k){S(this,{type:b,string:a(k),index:0})},function(){function k(){var g=I(this),d=g.string,c=g.index,m;return c>=d.length?f(void 0,!0):(m=e(d,c),g.index+=m.length,f(m,!1))}return k}())},50340:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("link")},{link:function(){function o(f){return a(this,"a","href",f)}return o}()})},22515:function(A,r,n){"use strict";var e=n(91495),a=n(79942),t=n(30365),o=n(42871),f=n(10188),b=n(12605),S=n(16952),I=n(78060),k=n(35483),g=n(28340);a("match",function(d,c,m){return[function(){function l(u){var s=S(this),i=o(u)?void 0:I(u,d);return i?e(i,u,s):new RegExp(u)[d](b(s))}return l}(),function(l){var u=t(this),s=b(l),i=m(c,u,s);if(i.done)return i.value;if(!u.global)return g(u,s);var h=u.unicode;u.lastIndex=0;for(var C=[],v=0,p;(p=g(u,s))!==null;){var N=b(p[0]);C[v]=N,N===""&&(u.lastIndex=k(s,f(u.lastIndex),h)),v++}return v===0?null:C}]})},5143:function(A,r,n){"use strict";var e=n(63964),a=n(24051).end,t=n(34125);e({target:"String",proto:!0,forced:t},{padEnd:function(){function o(f){return a(this,f,arguments.length>1?arguments[1]:void 0)}return o}()})},93514:function(A,r,n){"use strict";var e=n(63964),a=n(24051).start,t=n(34125);e({target:"String",proto:!0,forced:t},{padStart:function(){function o(f){return a(this,f,arguments.length>1?arguments[1]:void 0)}return o}()})},5416:function(A,r,n){"use strict";var e=n(63964),a=n(67250),t=n(57591),o=n(46771),f=n(12605),b=n(24760),S=a([].push),I=a([].join);e({target:"String",stat:!0},{raw:function(){function k(g){var d=t(o(g).raw),c=b(d);if(!c)return"";for(var m=arguments.length,l=[],u=0;;){if(S(l,f(d[u++])),u===c)return I(l,"");u")!=="7"});o("replace",function(T,M,O){var D=w?"$":"$0";return[function(){function E(P,R){var j=c(this),F=I(P)?void 0:l(P,h);return F?a(F,P,j,R):a(M,d(j),P,R)}return E}(),function(E,P){var R=b(this),j=d(E);if(typeof P=="string"&&V(P,D)===-1&&V(P,"$<")===-1){var F=O(M,R,j,P);if(F.done)return F.value}var W=S(P);W||(P=d(P));var z=R.global,K;z&&(K=R.unicode,R.lastIndex=0);for(var G=[],J;J=s(R,j),!(J===null||(N(G,J),!z));){var Q=d(J[0]);Q===""&&(R.lastIndex=m(j,g(R.lastIndex),K))}for(var ue="",ie=0,pe=0;pe=ie&&(ue+=y(j,ie,q)+le,ie=q+te.length)}return ue+y(j,ie)}]},!x||!L||w)},63272:function(A,r,n){"use strict";var e=n(91495),a=n(79942),t=n(30365),o=n(42871),f=n(16952),b=n(5700),S=n(12605),I=n(78060),k=n(28340);a("search",function(g,d,c){return[function(){function m(l){var u=f(this),s=o(l)?void 0:I(l,g);return s?e(s,l,u):new RegExp(l)[g](S(u))}return m}(),function(m){var l=t(this),u=S(m),s=c(d,l,u);if(s.done)return s.value;var i=l.lastIndex;b(i,0)||(l.lastIndex=0);var h=k(l,u);return b(l.lastIndex,i)||(l.lastIndex=i),h===null?-1:h.index}]})},34325:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("small")},{small:function(){function o(){return a(this,"small","","")}return o}()})},39930:function(A,r,n){"use strict";var e=n(91495),a=n(67250),t=n(79942),o=n(30365),f=n(42871),b=n(16952),S=n(28987),I=n(35483),k=n(10188),g=n(12605),d=n(78060),c=n(28340),m=n(62115),l=n(40033),u=m.UNSUPPORTED_Y,s=4294967295,i=Math.min,h=a([].push),C=a("".slice),v=!l(function(){var N=/(?:)/,V=N.exec;N.exec=function(){return V.apply(this,arguments)};var y="ab".split(N);return y.length!==2||y[0]!=="a"||y[1]!=="b"}),p="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;t("split",function(N,V,y){var B="0".split(void 0,0).length?function(L,w){return L===void 0&&w===0?[]:e(V,this,L,w)}:V;return[function(){function L(w,x){var T=b(this),M=f(w)?void 0:d(w,N);return M?e(M,w,T,x):e(B,g(T),w,x)}return L}(),function(L,w){var x=o(this),T=g(L);if(!p){var M=y(B,x,T,w,B!==V);if(M.done)return M.value}var O=S(x,RegExp),D=x.unicode,E=(x.ignoreCase?"i":"")+(x.multiline?"m":"")+(x.unicode?"u":"")+(u?"g":"y"),P=new O(u?"^(?:"+x.source+")":x,E),R=w===void 0?s:w>>>0;if(R===0)return[];if(T.length===0)return c(P,T)===null?[T]:[];for(var j=0,F=0,W=[];F1?arguments[1]:void 0,s.length)),h=f(u);return g(s,i,i+h.length)===h}return l}()})},74498:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("strike")},{strike:function(){function o(){return a(this,"strike","","")}return o}()})},15812:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("sub")},{sub:function(){function o(){return a(this,"sub","","")}return o}()})},57726:function(A,r,n){"use strict";var e=n(63964),a=n(72506),t=n(88539);e({target:"String",proto:!0,forced:t("sup")},{sup:function(){function o(){return a(this,"sup","","")}return o}()})},70604:function(A,r,n){"use strict";n(99159);var e=n(63964),a=n(43476);e({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==a},{trimEnd:a})},85404:function(A,r,n){"use strict";var e=n(63964),a=n(43885);e({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==a},{trimLeft:a})},99159:function(A,r,n){"use strict";var e=n(63964),a=n(43476);e({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==a},{trimRight:a})},34965:function(A,r,n){"use strict";n(85404);var e=n(63964),a=n(43885);e({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==a},{trimStart:a})},8448:function(A,r,n){"use strict";var e=n(63964),a=n(92648).trim,t=n(90012);e({target:"String",proto:!0,forced:t("trim")},{trim:function(){function o(){return a(this)}return o}()})},79250:function(A,r,n){"use strict";var e=n(85889);e("asyncIterator")},49899:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(91495),o=n(67250),f=n(4493),b=n(58310),S=n(52357),I=n(40033),k=n(45299),g=n(21287),d=n(30365),c=n(57591),m=n(767),l=n(12605),u=n(87458),s=n(80674),i=n(18450),h=n(37310),C=n(81644),v=n(89235),p=n(27193),N=n(74595),V=n(24239),y=n(12867),B=n(55938),L=n(73936),w=n(16639),x=n(19417),T=n(79195),M=n(16738),O=n(24697),D=n(55557),E=n(85889),P=n(52360),R=n(84925),j=n(5419),F=n(22603).forEach,W=x("hidden"),z="Symbol",K="prototype",G=j.set,J=j.getterFor(z),Q=Object[K],ue=a.Symbol,ie=ue&&ue[K],pe=a.RangeError,te=a.TypeError,q=a.QObject,ne=p.f,le=N.f,ee=C.f,re=y.f,oe=o([].push),fe=w("symbols"),me=w("op-symbols"),Y=w("wks"),ve=!q||!q[K]||!q[K].findChild,he=function(Ce,ke,ge){var Se=ne(Q,ke);Se&&delete Q[ke],le(Ce,ke,ge),Se&&Ce!==Q&&le(Q,ke,Se)},Ve=b&&I(function(){return s(le({},"a",{get:function(){function de(){return le(this,"a",{value:7}).a}return de}()})).a!==7})?he:le,Be=function(Ce,ke){var ge=fe[Ce]=s(ie);return G(ge,{type:z,tag:Ce,description:ke}),b||(ge.description=ke),ge},be=function(){function de(Ce,ke,ge){Ce===Q&&be(me,ke,ge),d(Ce);var Se=m(ke);return d(ge),k(fe,Se)?(ge.enumerable?(k(Ce,W)&&Ce[W][Se]&&(Ce[W][Se]=!1),ge=s(ge,{enumerable:u(0,!1)})):(k(Ce,W)||le(Ce,W,u(1,s(null))),Ce[W][Se]=!0),Ve(Ce,Se,ge)):le(Ce,Se,ge)}return de}(),Le=function(){function de(Ce,ke){d(Ce);var ge=c(ke),Se=i(ge).concat(ye(ge));return F(Se,function(Pe){(!b||t(xe,ge,Pe))&&be(Ce,Pe,ge[Pe])}),Ce}return de}(),we=function(){function de(Ce,ke){return ke===void 0?s(Ce):Le(s(Ce),ke)}return de}(),xe=function(){function de(Ce){var ke=m(Ce),ge=t(re,this,ke);return this===Q&&k(fe,ke)&&!k(me,ke)?!1:ge||!k(this,ke)||!k(fe,ke)||k(this,W)&&this[W][ke]?ge:!0}return de}(),Re=function(){function de(Ce,ke){var ge=c(Ce),Se=m(ke);if(!(ge===Q&&k(fe,Se)&&!k(me,Se))){var Pe=ne(ge,Se);return Pe&&k(fe,Se)&&!(k(ge,W)&&ge[W][Se])&&(Pe.enumerable=!0),Pe}}return de}(),He=function(){function de(Ce){var ke=ee(c(Ce)),ge=[];return F(ke,function(Se){!k(fe,Se)&&!k(T,Se)&&oe(ge,Se)}),ge}return de}(),ye=function(Ce){var ke=Ce===Q,ge=ee(ke?me:c(Ce)),Se=[];return F(ge,function(Pe){k(fe,Pe)&&(!ke||k(Q,Pe))&&oe(Se,fe[Pe])}),Se};S||(ue=function(){function de(){if(g(ie,this))throw new te("Symbol is not a constructor");var Ce=!arguments.length||arguments[0]===void 0?void 0:l(arguments[0]),ke=M(Ce),ge=function(){function Se(Pe){var je=this===void 0?a:this;je===Q&&t(Se,me,Pe),k(je,W)&&k(je[W],ke)&&(je[W][ke]=!1);var _e=u(1,Pe);try{Ve(je,ke,_e)}catch(ze){if(!(ze instanceof pe))throw ze;he(je,ke,_e)}}return Se}();return b&&ve&&Ve(Q,ke,{configurable:!0,set:ge}),Be(ke,Ce)}return de}(),ie=ue[K],B(ie,"toString",function(){function de(){return J(this).tag}return de}()),B(ue,"withoutSetter",function(de){return Be(M(de),de)}),y.f=xe,N.f=be,V.f=Le,p.f=Re,h.f=C.f=He,v.f=ye,D.f=function(de){return Be(O(de),de)},b&&(L(ie,"description",{configurable:!0,get:function(){function de(){return J(this).description}return de}()}),f||B(Q,"propertyIsEnumerable",xe,{unsafe:!0}))),e({global:!0,constructor:!0,wrap:!0,forced:!S,sham:!S},{Symbol:ue}),F(i(Y),function(de){E(de)}),e({target:z,stat:!0,forced:!S},{useSetter:function(){function de(){ve=!0}return de}(),useSimple:function(){function de(){ve=!1}return de}()}),e({target:"Object",stat:!0,forced:!S,sham:!b},{create:we,defineProperty:be,defineProperties:Le,getOwnPropertyDescriptor:Re}),e({target:"Object",stat:!0,forced:!S},{getOwnPropertyNames:He}),P(),R(ue,z),T[W]=!0},10933:function(A,r,n){"use strict";var e=n(63964),a=n(58310),t=n(74685),o=n(67250),f=n(45299),b=n(55747),S=n(21287),I=n(12605),k=n(73936),g=n(5774),d=t.Symbol,c=d&&d.prototype;if(a&&b(d)&&(!("description"in c)||d().description!==void 0)){var m={},l=function(){function p(){var N=arguments.length<1||arguments[0]===void 0?void 0:I(arguments[0]),V=S(c,this)?new d(N):N===void 0?d():d(N);return N===""&&(m[V]=!0),V}return p}();g(l,d),l.prototype=c,c.constructor=l;var u=String(d("description detection"))==="Symbol(description detection)",s=o(c.valueOf),i=o(c.toString),h=/^Symbol\((.*)\)[^)]+$/,C=o("".replace),v=o("".slice);k(c,"description",{configurable:!0,get:function(){function p(){var N=s(this);if(f(m,N))return"";var V=i(N),y=u?v(V,7,-1):C(V,h,"$1");return y===""?void 0:y}return p}()}),e({global:!0,constructor:!0,forced:!0},{Symbol:l})}},30828:function(A,r,n){"use strict";var e=n(63964),a=n(4009),t=n(45299),o=n(12605),f=n(16639),b=n(66570),S=f("string-to-symbol-registry"),I=f("symbol-to-string-registry");e({target:"Symbol",stat:!0,forced:!b},{for:function(){function k(g){var d=o(g);if(t(S,d))return S[d];var c=a("Symbol")(d);return S[d]=c,I[c]=d,c}return k}()})},53795:function(A,r,n){"use strict";var e=n(85889);e("hasInstance")},87806:function(A,r,n){"use strict";var e=n(85889);e("isConcatSpreadable")},64677:function(A,r,n){"use strict";var e=n(85889);e("iterator")},33313:function(A,r,n){"use strict";n(49899),n(30828),n(6862),n(53008),n(28603)},6862:function(A,r,n){"use strict";var e=n(63964),a=n(45299),t=n(71399),o=n(89393),f=n(16639),b=n(66570),S=f("symbol-to-string-registry");e({target:"Symbol",stat:!0,forced:!b},{keyFor:function(){function I(k){if(!t(k))throw new TypeError(o(k)+" is not a symbol");if(a(S,k))return S[k]}return I}()})},48058:function(A,r,n){"use strict";var e=n(85889);e("match")},51583:function(A,r,n){"use strict";var e=n(85889);e("replace")},82403:function(A,r,n){"use strict";var e=n(85889);e("search")},34265:function(A,r,n){"use strict";var e=n(85889);e("species")},3295:function(A,r,n){"use strict";var e=n(85889);e("split")},1078:function(A,r,n){"use strict";var e=n(85889),a=n(52360);e("toPrimitive"),a()},63207:function(A,r,n){"use strict";var e=n(4009),a=n(85889),t=n(84925);a("toStringTag"),t(e("Symbol"),"Symbol")},80520:function(A,r,n){"use strict";var e=n(85889);e("unscopables")},99872:function(A,r,n){"use strict";var e=n(67250),a=n(4246),t=n(71447),o=e(t),f=a.aTypedArray,b=a.exportTypedArrayMethod;b("copyWithin",function(){function S(I,k){return o(f(this),I,k,arguments.length>2?arguments[2]:void 0)}return S}())},73364:function(A,r,n){"use strict";var e=n(4246),a=n(22603).every,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("every",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},58166:function(A,r,n){"use strict";var e=n(4246),a=n(88471),t=n(61484),o=n(2281),f=n(91495),b=n(67250),S=n(40033),I=e.aTypedArray,k=e.exportTypedArrayMethod,g=b("".slice),d=S(function(){var c=0;return new Int8Array(2).fill({valueOf:function(){function m(){return c++}return m}()}),c!==1});k("fill",function(){function c(m){var l=arguments.length;I(this);var u=g(o(this),0,3)==="Big"?t(m):+m;return f(a,this,u,l>1?arguments[1]:void 0,l>2?arguments[2]:void 0)}return c}(),d)},23793:function(A,r,n){"use strict";var e=n(4246),a=n(22603).filter,t=n(45399),o=e.aTypedArray,f=e.exportTypedArrayMethod;f("filter",function(){function b(S){var I=a(o(this),S,arguments.length>1?arguments[1]:void 0);return t(this,I)}return b}())},13917:function(A,r,n){"use strict";var e=n(4246),a=n(22603).findIndex,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("findIndex",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},43820:function(A,r,n){"use strict";var e=n(4246),a=n(22603).find,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("find",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},80756:function(A,r,n){"use strict";var e=n(80185);e("Float32",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},70567:function(A,r,n){"use strict";var e=n(80185);e("Float64",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},19852:function(A,r,n){"use strict";var e=n(4246),a=n(22603).forEach,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("forEach",function(){function f(b){a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},40379:function(A,r,n){"use strict";var e=n(86563),a=n(4246).exportTypedArrayStaticMethod,t=n(3805);a("from",t,e)},92770:function(A,r,n){"use strict";var e=n(4246),a=n(14211).includes,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("includes",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},81069:function(A,r,n){"use strict";var e=n(4246),a=n(14211).indexOf,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("indexOf",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},60037:function(A,r,n){"use strict";var e=n(80185);e("Int16",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},44195:function(A,r,n){"use strict";var e=n(80185);e("Int32",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},66756:function(A,r,n){"use strict";var e=n(80185);e("Int8",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},63689:function(A,r,n){"use strict";var e=n(74685),a=n(40033),t=n(67250),o=n(4246),f=n(34570),b=n(24697),S=b("iterator"),I=e.Uint8Array,k=t(f.values),g=t(f.keys),d=t(f.entries),c=o.aTypedArray,m=o.exportTypedArrayMethod,l=I&&I.prototype,u=!a(function(){l[S].call([1])}),s=!!l&&l.values&&l[S]===l.values&&l.values.name==="values",i=function(){function h(){return k(c(this))}return h}();m("entries",function(){function h(){return d(c(this))}return h}(),u),m("keys",function(){function h(){return g(c(this))}return h}(),u),m("values",i,u||!s,{name:"values"}),m(S,i,u||!s,{name:"values"})},5659:function(A,r,n){"use strict";var e=n(4246),a=n(67250),t=e.aTypedArray,o=e.exportTypedArrayMethod,f=a([].join);o("join",function(){function b(S){return f(t(this),S)}return b}())},25014:function(A,r,n){"use strict";var e=n(4246),a=n(61267),t=n(1325),o=e.aTypedArray,f=e.exportTypedArrayMethod;f("lastIndexOf",function(){function b(S){var I=arguments.length;return a(t,o(this),I>1?[S,arguments[1]]:[S])}return b}())},32189:function(A,r,n){"use strict";var e=n(4246),a=n(22603).map,t=n(31082),o=e.aTypedArray,f=e.exportTypedArrayMethod;f("map",function(){function b(S){return a(o(this),S,arguments.length>1?arguments[1]:void 0,function(I,k){return new(t(I))(k)})}return b}())},23030:function(A,r,n){"use strict";var e=n(4246),a=n(86563),t=e.aTypedArrayConstructor,o=e.exportTypedArrayStaticMethod;o("of",function(){function f(){for(var b=0,S=arguments.length,I=new(t(this))(S);S>b;)I[b]=arguments[b++];return I}return f}(),a)},49110:function(A,r,n){"use strict";var e=n(4246),a=n(56844).right,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("reduceRight",function(){function f(b){var S=arguments.length;return a(t(this),b,S,S>1?arguments[1]:void 0)}return f}())},24309:function(A,r,n){"use strict";var e=n(4246),a=n(56844).left,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("reduce",function(){function f(b){var S=arguments.length;return a(t(this),b,S,S>1?arguments[1]:void 0)}return f}())},56445:function(A,r,n){"use strict";var e=n(4246),a=e.aTypedArray,t=e.exportTypedArrayMethod,o=Math.floor;t("reverse",function(){function f(){for(var b=this,S=a(b).length,I=o(S/2),k=0,g;k1?arguments[1]:void 0,1),C=b(i);if(l)return a(d,this,C,h);var v=this.length,p=o(C),N=0;if(p+h>v)throw new I("Wrong length");for(;Nm;)u[m]=d[m++];return u}return I}(),S)},88739:function(A,r,n){"use strict";var e=n(4246),a=n(22603).some,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("some",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},60415:function(A,r,n){"use strict";var e=n(74685),a=n(71138),t=n(40033),o=n(10320),f=n(90274),b=n(4246),S=n(652),I=n(19228),k=n(5026),g=n(9342),d=b.aTypedArray,c=b.exportTypedArrayMethod,m=e.Uint16Array,l=m&&a(m.prototype.sort),u=!!l&&!(t(function(){l(new m(2),null)})&&t(function(){l(new m(2),{})})),s=!!l&&!t(function(){if(k)return k<74;if(S)return S<67;if(I)return!0;if(g)return g<602;var h=new m(516),C=Array(516),v,p;for(v=0;v<516;v++)p=v%4,h[v]=515-v,C[v]=v-2*p+3;for(l(h,function(N,V){return(N/4|0)-(V/4|0)}),v=0;v<516;v++)if(h[v]!==C[v])return!0}),i=function(C){return function(v,p){return C!==void 0?+C(v,p)||0:p!==p?-1:v!==v?1:v===0&&p===0?1/v>0&&1/p<0?1:-1:v>p}};c("sort",function(){function h(C){return C!==void 0&&o(C),s?l(this,C):f(d(this),i(C))}return h}(),!s||u)},72532:function(A,r,n){"use strict";var e=n(4246),a=n(10188),t=n(13912),o=n(31082),f=e.aTypedArray,b=e.exportTypedArrayMethod;b("subarray",function(){function S(I,k){var g=f(this),d=g.length,c=t(I,d),m=o(g);return new m(g.buffer,g.byteOffset+c*g.BYTES_PER_ELEMENT,a((k===void 0?d:t(k,d))-c))}return S}())},62207:function(A,r,n){"use strict";var e=n(74685),a=n(61267),t=n(4246),o=n(40033),f=n(54602),b=e.Int8Array,S=t.aTypedArray,I=t.exportTypedArrayMethod,k=[].toLocaleString,g=!!b&&o(function(){k.call(new b(1))}),d=o(function(){return[1,2].toLocaleString()!==new b([1,2]).toLocaleString()})||!o(function(){b.prototype.toLocaleString.call([1,2])});I("toLocaleString",function(){function c(){return a(k,g?f(S(this)):S(this),f(arguments))}return c}(),d)},906:function(A,r,n){"use strict";var e=n(4246).exportTypedArrayMethod,a=n(40033),t=n(74685),o=n(67250),f=t.Uint8Array,b=f&&f.prototype||{},S=[].toString,I=o([].join);a(function(){S.call({})})&&(S=function(){function g(){return I(this)}return g}());var k=b.toString!==S;e("toString",S,k)},78824:function(A,r,n){"use strict";var e=n(80185);e("Uint16",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},72846:function(A,r,n){"use strict";var e=n(80185);e("Uint32",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},24575:function(A,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},71968:function(A,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()},!0)},80040:function(A,r,n){"use strict";var e=n(50730),a=n(74685),t=n(67250),o=n(30145),f=n(81969),b=n(45150),S=n(39895),I=n(77568),k=n(5419).enforce,g=n(40033),d=n(21820),c=Object,m=Array.isArray,l=c.isExtensible,u=c.isFrozen,s=c.isSealed,i=c.freeze,h=c.seal,C=!a.ActiveXObject&&"ActiveXObject"in a,v,p=function(M){return function(){function O(){return M(this,arguments.length?arguments[0]:void 0)}return O}()},N=b("WeakMap",p,S),V=N.prototype,y=t(V.set),B=function(){return e&&g(function(){var M=i([]);return y(new N,M,1),!u(M)})};if(d)if(C){v=S.getConstructor(p,"WeakMap",!0),f.enable();var L=t(V.delete),w=t(V.has),x=t(V.get);o(V,{delete:function(){function T(M){if(I(M)&&!l(M)){var O=k(this);return O.frozen||(O.frozen=new v),L(this,M)||O.frozen.delete(M)}return L(this,M)}return T}(),has:function(){function T(M){if(I(M)&&!l(M)){var O=k(this);return O.frozen||(O.frozen=new v),w(this,M)||O.frozen.has(M)}return w(this,M)}return T}(),get:function(){function T(M){if(I(M)&&!l(M)){var O=k(this);return O.frozen||(O.frozen=new v),w(this,M)?x(this,M):O.frozen.get(M)}return x(this,M)}return T}(),set:function(){function T(M,O){if(I(M)&&!l(M)){var D=k(this);D.frozen||(D.frozen=new v),w(this,M)?y(this,M,O):D.frozen.set(M,O)}else y(this,M,O);return this}return T}()})}else B()&&o(V,{set:function(){function T(M,O){var D;return m(M)&&(u(M)?D=i:s(M)&&(D=h)),y(this,M,O),D&&D(M),this}return T}()})},90846:function(A,r,n){"use strict";n(80040)},67042:function(A,r,n){"use strict";var e=n(45150),a=n(39895);e("WeakSet",function(t){return function(){function o(){return t(this,arguments.length?arguments[0]:void 0)}return o}()},a)},40348:function(A,r,n){"use strict";n(67042)},5606:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(60375).clear;e({global:!0,bind:!0,enumerable:!0,forced:a.clearImmediate!==t},{clearImmediate:t})},83006:function(A,r,n){"use strict";n(5606),n(27807)},25764:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(37713),o=n(10320),f=n(24986),b=n(40033),S=n(58310),I=b(function(){return S&&Object.getOwnPropertyDescriptor(a,"queueMicrotask").value.length!==1});e({global:!0,enumerable:!0,dontCallGetSet:!0,forced:I},{queueMicrotask:function(){function k(g){f(arguments.length,1),t(o(g))}return k}()})},27807:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(60375).set,o=n(78362),f=a.setImmediate?o(t,!1):t;e({global:!0,bind:!0,enumerable:!0,forced:a.setImmediate!==f},{setImmediate:f})},45569:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(78362),o=t(a.setInterval,!0);e({global:!0,bind:!0,forced:a.setInterval!==o},{setInterval:o})},5213:function(A,r,n){"use strict";var e=n(63964),a=n(74685),t=n(78362),o=t(a.setTimeout,!0);e({global:!0,bind:!0,forced:a.setTimeout!==o},{setTimeout:o})},69401:function(A,r,n){"use strict";n(45569),n(5213)},7435:function(A){"use strict";/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */var r,n=[],e=[],a=function(){if(0)var k;window.onunload=function(){return r&&r.close()}},t=function(k){return e.push(k)},o=function(k){var g=[],u=function(d){return typeof d=="number"&&!Number.isFinite(d)?{__number__:String(d)}:typeof d=="undefined"?{__undefined__:!0}:d},c=function(d,s){if(typeof s=="object"){if(s===null)return s;if(g.includes(s))return"[circular ref]";g.push(s);var i=s instanceof Error||s.code&&s.message&&s.message.includes("Error");return i?{__error__:!0,string:String(s),stack:s.stack}:Array.isArray(s)?s.map(u):s}return u(s)},m=JSON.stringify(k,c);return g=null,m},f=function(k){if(0)var g,u,c},b=function(k,g){if(0)var u,c,m},S=function(){};A.exports={subscribe:t,sendMessage:f,sendLogEntry:b,setupHotReloading:S}}},kt={};function X(A){var r=kt[A];if(r!==void 0)return r.exports;var n=kt[A]={exports:{}};return Jt[A](n,n.exports,X),n.exports}(function(){X.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(A){if(typeof window=="object")return window}}()})(),function(){X.o=function(A,r){return Object.prototype.hasOwnProperty.call(A,r)}}();var Rn={};(function(){"use strict";X(33313),X(10933),X(79250),X(53795),X(87806),X(64677),X(48058),X(51583),X(82403),X(34265),X(3295),X(1078),X(63207),X(80520),X(39600),X(93237),X(32057),X(68933),X(47830),X(13455),X(64094),X(61915),X(32384),X(25579),X(63532),X(33425),X(43894),X(99636),X(34570),X(94432),X(24683),X(69984),X(32089),X(60206),X(29645),X(4788),X(58672),X(19356),X(48968),X(49852),X(2712),X(864),X(54243),X(75621),X(26267),X(50095),X(33451),X(74587),X(25082),X(47421),X(32122),X(6306),X(90216),X(84663),X(92332),X(98329),X(9631),X(47091),X(59660),X(15383),X(92866),X(86107),X(29248),X(52540),X(79007),X(77199),X(6522),X(95542),X(2966),X(20997),X(57400),X(45571),X(54800),X(15709),X(76059),X(96614),X(324),X(90426),X(95443),X(87968),X(55007),X(55323),X(13521),X(5006),X(99009),X(85770),X(23532),X(87119),X(78618),X(27129),X(31943),X(3579),X(97397),X(85028),X(8225),X(43331),X(62289),X(56196),X(2950),X(44205),X(76882),X(83186),X(76065),X(13411),X(26634),X(53118),X(42514),X(84353),X(62987),X(48993),X(52917),X(4972),X(28913),X(36382),X(53092),X(69861),X(29674),X(81543),X(9373),X(45093),X(63074),X(5815),X(88527),X(66390),X(7784),X(50551),X(76483),X(92046),X(63915),X(51454),X(79669),X(23057),X(57983),X(17953),X(30442),X(6403),X(9867),X(43673),X(12354),X(22515),X(5143),X(93514),X(5416),X(11619),X(44590),X(63272),X(39930),X(4038),X(8448),X(70604),X(34965),X(95309),X(82256),X(49484),X(38931),X(39308),X(91550),X(75008),X(56027),X(50340),X(34325),X(74498),X(15812),X(57726),X(80756),X(70567),X(66756),X(60037),X(44195),X(24575),X(71968),X(78824),X(72846),X(99872),X(73364),X(58166),X(23793),X(43820),X(13917),X(19852),X(40379),X(92770),X(81069),X(63689),X(5659),X(25014),X(32189),X(23030),X(24309),X(49110),X(56445),X(30939),X(48321),X(88739),X(60415),X(72532),X(62207),X(906),X(90846),X(40348),X(83006),X(25764),X(69401),X(95012),X(30236)})(),function(){"use strict";var A=X(89005);X(67160),X(23542),X(30386),X(98996),X(50578),X(4444),X(77870),X(39108),X(11714),X(73492),X(49641),X(17570),X(61858),X(32882),X(23632),X(56492);var r=X(85822),n=X(7435),e=X(56518),a=X(26427),t=X(18498),o=X(49060),f=X(72178),b=X(24826),S;/** + */var r,n=[],e=[],a=function(){if(0)var k;window.onunload=function(){return r&&r.close()}},t=function(k){return e.push(k)},o=function(k){var g=[],d=function(u){return typeof u=="number"&&!Number.isFinite(u)?{__number__:String(u)}:typeof u=="undefined"?{__undefined__:!0}:u},c=function(u,s){if(typeof s=="object"){if(s===null)return s;if(g.includes(s))return"[circular ref]";g.push(s);var i=s instanceof Error||s.code&&s.message&&s.message.includes("Error");return i?{__error__:!0,string:String(s),stack:s.stack}:Array.isArray(s)?s.map(d):s}return d(s)},m=JSON.stringify(k,c);return g=null,m},f=function(k){if(0)var g,d,c},b=function(k,g){if(0)var d,c,m},S=function(){};A.exports={subscribe:t,sendMessage:f,sendLogEntry:b,setupHotReloading:S}}},kt={};function X(A){var r=kt[A];if(r!==void 0)return r.exports;var n=kt[A]={exports:{}};return Jt[A](n,n.exports,X),n.exports}(function(){X.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(A){if(typeof window=="object")return window}}()})(),function(){X.o=function(A,r){return Object.prototype.hasOwnProperty.call(A,r)}}();var Rn={};(function(){"use strict";X(33313),X(10933),X(79250),X(53795),X(87806),X(64677),X(48058),X(51583),X(82403),X(34265),X(3295),X(1078),X(63207),X(80520),X(39600),X(93237),X(32057),X(68933),X(47830),X(13455),X(64094),X(61915),X(32384),X(25579),X(63532),X(33425),X(43894),X(99636),X(34570),X(94432),X(24683),X(69984),X(32089),X(60206),X(29645),X(4788),X(58672),X(19356),X(48968),X(49852),X(2712),X(864),X(54243),X(75621),X(26267),X(50095),X(33451),X(74587),X(25082),X(47421),X(32122),X(6306),X(90216),X(84663),X(92332),X(98329),X(9631),X(47091),X(59660),X(15383),X(92866),X(86107),X(29248),X(52540),X(79007),X(77199),X(6522),X(95542),X(2966),X(20997),X(57400),X(45571),X(54800),X(15709),X(76059),X(96614),X(324),X(90426),X(95443),X(87968),X(55007),X(55323),X(13521),X(5006),X(99009),X(85770),X(23532),X(87119),X(78618),X(27129),X(31943),X(3579),X(97397),X(85028),X(8225),X(43331),X(62289),X(56196),X(2950),X(44205),X(76882),X(83186),X(76065),X(13411),X(26634),X(53118),X(42514),X(84353),X(62987),X(48993),X(52917),X(4972),X(28913),X(36382),X(53092),X(69861),X(29674),X(81543),X(9373),X(45093),X(63074),X(5815),X(88527),X(66390),X(7784),X(50551),X(76483),X(92046),X(63915),X(51454),X(79669),X(23057),X(57983),X(17953),X(30442),X(6403),X(9867),X(43673),X(12354),X(22515),X(5143),X(93514),X(5416),X(11619),X(44590),X(63272),X(39930),X(4038),X(8448),X(70604),X(34965),X(95309),X(82256),X(49484),X(38931),X(39308),X(91550),X(75008),X(56027),X(50340),X(34325),X(74498),X(15812),X(57726),X(80756),X(70567),X(66756),X(60037),X(44195),X(24575),X(71968),X(78824),X(72846),X(99872),X(73364),X(58166),X(23793),X(43820),X(13917),X(19852),X(40379),X(92770),X(81069),X(63689),X(5659),X(25014),X(32189),X(23030),X(24309),X(49110),X(56445),X(30939),X(48321),X(88739),X(60415),X(72532),X(62207),X(906),X(90846),X(40348),X(83006),X(25764),X(69401),X(95012),X(30236)})(),function(){"use strict";var A=X(89005);X(67160),X(23542),X(30386),X(98996),X(50578),X(4444),X(77870),X(39108),X(11714),X(73492),X(49641),X(17570),X(61858),X(32882),X(23632),X(56492);var r=X(85822),n=X(7435),e=X(56518),a=X(26427),t=X(18498),o=X(49060),f=X(72178),b=X(24826),S;/** * @file * @copyright 2020 Aleksej Komarov * @license MIT - */r.perf.mark("inception",(S=window.performance)==null||(S=S.timing)==null?void 0:S.navigationStart),r.perf.mark("init");var I=(0,f.configureStore)(),k=(0,o.createRenderer)(function(){(0,a.loadIconRefMap)();var u=X(71253),c=u.getRoutedComponent,m=c(I);return(0,A.createComponentVNode)(2,f.StoreProvider,{store:I,children:(0,A.createComponentVNode)(2,m)})}),g=function u(){if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",u);return}(0,b.setupGlobalEvents)(),(0,e.setupHotKeys)(),(0,t.captureExternalLinks)(),I.subscribe(k),Byond.subscribe(function(c,m){return I.dispatch({type:c,payload:m})})};g()}()})();})(); + */r.perf.mark("inception",(S=window.performance)==null||(S=S.timing)==null?void 0:S.navigationStart),r.perf.mark("init");var I=(0,f.configureStore)(),k=(0,o.createRenderer)(function(){(0,a.loadIconRefMap)();var d=X(71253),c=d.getRoutedComponent,m=c(I);return(0,A.createComponentVNode)(2,f.StoreProvider,{store:I,children:(0,A.createComponentVNode)(2,m)})}),g=function d(){if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",d);return}(0,b.setupGlobalEvents)(),(0,e.setupHotKeys)(),(0,t.captureExternalLinks)(),I.subscribe(k),Byond.subscribe(function(c,m){return I.dispatch({type:c,payload:m})})};g()}()})();})(); diff --git a/tools/UpdatePaths/Scripts/27682_legacy_random_spawners.txt b/tools/UpdatePaths/Scripts/27682_legacy_random_spawners.txt new file mode 100644 index 000000000000..5130792700bf --- /dev/null +++ b/tools/UpdatePaths/Scripts/27682_legacy_random_spawners.txt @@ -0,0 +1,9 @@ +/obj/random/toolbox : /obj/effect/spawner/random/engineering/toolbox +/obj/random/tool : /obj/effect/spawner/random/engineering/tools +/obj/random/technology_scanner : @DELETE +/obj/random/tech_supply : @DELETE +/obj/random/bomb_supply : @DELETE +/obj/random/powercell : /obj/item/stock_parts/cell, /obj/item/stock_parts/cell/high, /obj/item/stock_parts/cell/super, /obj/item/stock_parts/cell/hyper +/obj/random/plushie : /obj/effect/spawner/random/plushies +/obj/random/mech : /obj/effect/spawner/random/toy/mech_figure +/obj/random/carp_plushie : /obj/effect/spawner/random/toy/carp_plushie diff --git a/tools/ci/check_grep2.py b/tools/ci/check_grep2.py index e20a8de822e9..2ed127bae2b9 100644 --- a/tools/ci/check_grep2.py +++ b/tools/ci/check_grep2.py @@ -139,12 +139,12 @@ def check_tgui_ui_new_argument(idx, line): FOR_ALL_NOT_DATUMS = re.compile(r"for\s*\(\s*var\/((?:atom|area|turf|obj|mob)(?:\/\w+))\)") def check_datum_loops(idx, line): if FOR_ALL_DATUMS.search(line) or FOR_ALL_NOT_DATUMS.search(line): - return Failure( + return [( idx + 1, # yes this will concatenate the strings, don't look too hard "Found a for loop without explicit contents. If you're trying to loop over everything in the world, first double check that you truly need to, and if so specify \'in world\'.\n" "If you're trying to check bare datums, please ensure that your value is only cast to /datum, and please make sure you use \'as anything\', or use a global list instead." - ) + )] HREF_OLD_STYLE = re.compile(r"href[\s='\"\\]*\?") def check_href_styles(idx, line): diff --git a/tools/ci/librustlibs_ci.so b/tools/ci/librustlibs_ci.so index ee3ce616b913..7d5d2e334b38 100644 Binary files a/tools/ci/librustlibs_ci.so and b/tools/ci/librustlibs_ci.so differ diff --git a/tools/pr_sql/27474/neckconvert.py b/tools/pr_sql/27474/neckconvert.py new file mode 100644 index 000000000000..5815a9276975 --- /dev/null +++ b/tools/pr_sql/27474/neckconvert.py @@ -0,0 +1,46 @@ +import mysql.connector, argparse, json + +parser = argparse.ArgumentParser() +parser.add_argument("address", help="MySQL server address (use localhost for the current computer)") +parser.add_argument("username", help="MySQL login username") +parser.add_argument("password", help="MySQL login password") +parser.add_argument("database", help="Database name") + +args = parser.parse_args() +db = mysql.connector.connect(host=args.address, user=args.username, passwd=args.password, db=args.database) +cursor = db.cursor() +print("Connected to {}".format(args.database)) + +paths_to_nuke = ["/datum/gear/accessory/scarf", "/datum/gear/accessory/scarf/red", "/datum/gear/accessory/scarf/green", "/datum/gear/accessory/scarf/darkblue", "/datum/gear/accessory/scarf/purple", "/datum/gear/accessory/scarf/yellow", "/datum/gear/accessory/scarf/orange", "/datum/gear/accessory/scarf/lightblue", "/datum/gear/accessory/scarf/white", "/datum/gear/accessory/scarf/black", "/datum/gear/accessory/scarf/zebra", "/datum/gear/accessory/scarf/christmas", "/datum/gear/accessory/scarf/stripedred", "/datum/gear/accessory/scarf/stripedgreen", "/datum/gear/accessory/scarf/stripedblue", "/datum/gear/accessory/tieblue", "/datum/gear/accessory/tiered", "/datum/gear/accessory/tieblack", "/datum/gear/accessory/tiehorrible", "/datum/gear/accessory/stethoscope", "/datum/gear/accessory/locket/silver", "/datum/gear/accessory/locket", "/datum/gear/accessory/necklace/long", "/datum/gear/accessory/necklace", "/datum/gear/suit/mantle", "/datum/gear/suit/old_scarf", "/datum/gear/suit/regal_shawl", "/datum/gear/suit/mantle/job", "/datum/gear/suit/mantle/job/captain", "/datum/gear/suit/mantle/job/ce", "/datum/gear/suit/mantle/job/cmo", "/datum/gear/suit/mantle/job/hos", "/datum/gear/suit/mantle/job/hop", "/datum/gear/suit/mantle/job/rd"] + +print("Loading data...") +load_qry = "SELECT id, gear FROM characters" +cur.execute(load_qry) +res = cur.fetchall() + +to_replace = [] + +for row in res: + row_id = row[0] + loadout = json.loads(row[1]) + + edited = False + for entry in paths_to_nuke: + if entry in loadout: + loadout.remove(entry) + edited = True + + if edited: + to_replace.append([row_id, loadout]) + +print("Loaded {} rows to update".format(len(to_replace))) + +update_qry = "UPDATE characters SET gear=%s WHERE id=%s" +for entry in to_replace: + cur.execute(update_qry, entry) + +print("Updates complete") +cursor.close() +print("Saving...") +db.commit() +print("Done!")