diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/.fxap b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/.fxap
new file mode 100644
index 000000000..1fbc9d8b1
Binary files /dev/null and b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/.fxap differ
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/fxmanifest.lua b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/fxmanifest.lua
new file mode 100644
index 000000000..2b8575840
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/fxmanifest.lua
@@ -0,0 +1,18 @@
+fx_version 'bodacious'
+game 'gta5'
+this_is_a_map 'yes'
+lua54 'yes'
+
+escrow_ignore {
+ 'script/*.lua',
+}
+
+client_script "script/client.lua"
+server_script "script/server.lua"
+
+dependency '/assetpacks'
+
+author "Rudzik"
+description "Calm Coffee"
+version "1.0"
+dependency '/assetpacks'
\ No newline at end of file
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/script/client.lua b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/script/client.lua
new file mode 100644
index 000000000..703526378
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/script/client.lua
@@ -0,0 +1,84 @@
+local xmas1 = false
+local normal1 = false
+local xmas2 = false
+local normal2 = false
+
+local interior_coords1 = vector3(-1232.25, -1180.17, 7.66)
+local interior_coords2 = vector3(1886.32, 3911.78, 36.844)
+
+local function getInteriorWithRetries(coords, maxAttempts, delay)
+ local attempts = 0
+ local interior = GetInteriorAtCoords(coords.x, coords.y, coords.z)
+ while interior == 0 and attempts < maxAttempts do
+ Citizen.Wait(delay)
+ interior = GetInteriorAtCoords(coords.x, coords.y, coords.z)
+ attempts = attempts + 1
+ end
+ return interior
+end
+
+Citizen.CreateThread(function()
+ local maxAttempts = 10
+ local delay = 100
+
+ local interior1 = getInteriorWithRetries(interior_coords1, maxAttempts, delay)
+ local interior2 = getInteriorWithRetries(interior_coords2, maxAttempts, delay)
+
+ if interior1 ~= 0 then
+ DisableInteriorProp(interior1, "xmas")
+ EnableInteriorProp(interior1, "normal")
+ RefreshInterior(interior1)
+ end
+
+ if interior2 ~= 0 then
+ DisableInteriorProp(interior2, "xmas")
+ EnableInteriorProp(interior2, "normal")
+ RefreshInterior(interior2)
+ end
+end)
+
+local function toggleInterior(eventName, coords, prop)
+ RegisterNetEvent(eventName, function()
+ local interior = GetInteriorAtCoords(coords.x, coords.y, coords.z)
+ if interior == 0 then return end
+
+ if prop == "xmas" then
+ xmas1 = not xmas1
+ EnableInteriorProp(interior, "xmas")
+ DisableInteriorProp(interior, "normal")
+ elseif prop == "normal" then
+ normal1 = not normal1
+ EnableInteriorProp(interior, "normal")
+ DisableInteriorProp(interior, "xmas")
+ end
+ RefreshInterior(interior)
+ end)
+end
+
+if GetInteriorAtCoords(interior_coords1.x, interior_coords1.y, interior_coords1.z) ~= 0 then
+ toggleInterior("rdzk:xmas1", interior_coords1, "xmas")
+ toggleInterior("rdzk:normal1", interior_coords1, "normal")
+end
+
+if GetInteriorAtCoords(interior_coords2.x, interior_coords2.y, interior_coords2.z) ~= 0 then
+ toggleInterior("rdzk:xmas2", interior_coords2, "xmas")
+ toggleInterior("rdzk:normal2", interior_coords2, "normal")
+end
+
+--[[
+RegisterCommand("rdzk_ipl_xmas1", function()
+ TriggerServerEvent("rdzk:xmas1")
+end, false)
+
+RegisterCommand("rdzk_ipl_normal1", function()
+ TriggerServerEvent("rdzk:normal1")
+end, false)
+
+RegisterCommand("rdzk_ipl_xmas2", function()
+ TriggerServerEvent("rdzk:xmas2")
+end, false)
+
+RegisterCommand("rdzk_ipl_normal2", function()
+ TriggerServerEvent("rdzk:normal2")
+end, false)
+]]
\ No newline at end of file
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/script/server.lua b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/script/server.lua
new file mode 100644
index 000000000..2bbbe30c2
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/script/server.lua
@@ -0,0 +1,15 @@
+RegisterNetEvent("rdzk:xmas1", function()
+ TriggerClientEvent("rdzk:xmas1", -1)
+end)
+
+RegisterNetEvent("rdzk:normal1", function()
+ TriggerClientEvent("rdzk:normal1", -1)
+end)
+
+RegisterNetEvent("rdzk:xmas2", function()
+ TriggerClientEvent("rdzk:xmas2", -1)
+end)
+
+RegisterNetEvent("rdzk:normal2", function()
+ TriggerClientEvent("rdzk:normal2", -1)
+end)
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/apa_mp_h_lampbulb_single.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/apa_mp_h_lampbulb_single.ydr
new file mode 100644
index 000000000..db83a0e12
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/apa_mp_h_lampbulb_single.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1b34fcbdc85fb0447dd641f6d2676e76ec6022becc42e4dacd1554d8eead9550
+size 33849
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/bkr_prop_fakeid_pen_01a_29.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/bkr_prop_fakeid_pen_01a_29.ydr
new file mode 100644
index 000000000..9e9273725
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/bkr_prop_fakeid_pen_01a_29.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c75db002751f606a0bec609ed092cd3dd730444c6f1d05c5d6e086c2c949f0cc
+size 6360
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/h4_int_04_chair_chesterfield_01a_single.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/h4_int_04_chair_chesterfield_01a_single.ydr
new file mode 100644
index 000000000..0f594175e
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/h4_int_04_chair_chesterfield_01a_single.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3e0fb36bf8dc6770c0265d8d448370d3a699875fcf9a3ec2f028e8ebd36a3a09
+size 159564
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/h4_int_05_table_lamp_004_29.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/h4_int_05_table_lamp_004_29.ydr
new file mode 100644
index 000000000..da23d4e7e
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/h4_int_05_table_lamp_004_29.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b874f279d6f20773538e1b1d190f9389b947c68a9b794432b25fce5f121cbd3b
+size 369556
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/p_single_rose_s_29.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/p_single_rose_s_29.ydr
new file mode 100644
index 000000000..9daa094f2
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/p_single_rose_s_29.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:538ceffd1b4cdb4cad3d273b42f6f38ca1aa7662cf116ce392143b17f2fea203
+size 196512
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/prop_v_5_bclock_v2.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/prop_v_5_bclock_v2.ydr
new file mode 100644
index 000000000..37ef268d1
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/prop_v_5_bclock_v2.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2947949c25df5d07177183ef030e0c0fc3e7b337f64c05355ffd4f88c0d864d8
+size 511113
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_calm_coffee_f_door.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_calm_coffee_f_door.ydr
new file mode 100644
index 000000000..9859153d4
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_calm_coffee_f_door.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fea5655be3cf17cfd6c6c0adb7441f472aa514a827ccb6ab0bb4ee6e9f644bc0
+size 207739
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_calm_coffee_f_door_ipl.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_calm_coffee_f_door_ipl.ydr
new file mode 100644
index 000000000..384d48cf6
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_calm_coffee_f_door_ipl.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ce6ecb9db74946b1a793ed336f53e3d57944d8b9f1bf7825556d8d12ae62eccf
+size 299579
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee.ybn b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee.ybn
new file mode 100644
index 000000000..48d301951
Binary files /dev/null and b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee.ybn differ
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee.ytyp b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee.ytyp
new file mode 100644
index 000000000..1b6ae433b
Binary files /dev/null and b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee.ytyp differ
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail1.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail1.ydr
new file mode 100644
index 000000000..72666541a
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail1.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:76e2e656cbf36cd07dbc95de8d904cf8e69c0ac6984a89b8adada60214138ff1
+size 317194
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail2.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail2.ydr
new file mode 100644
index 000000000..00543b6dc
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail2.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6741bed67a47fca9d5056849d5241f46d49a16aa4d019517e29a2d989656844b
+size 518336
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail3.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail3.ydr
new file mode 100644
index 000000000..08d39ed88
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail3.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:da031b1887c72f65ae09e202928a598197d6743a5666de302fa97e8daf1c1677
+size 575559
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail4.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail4.ydr
new file mode 100644
index 000000000..fde82cc11
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_detail4.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b50571fbf30d46925944c4805de940a09b80be4b8cc2a8fa0f9c9a1baa19dcc9
+size 925380
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_rugs.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_rugs.ydr
new file mode 100644
index 000000000..4a50af563
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_rugs.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0341b49e37b22af53437035e0db2ccdecc4db3f2baecf307adebd612a6fc58a7
+size 14541
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_shell.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_shell.ydr
new file mode 100644
index 000000000..7a8742992
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_shell.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:24b48fc4a78a115d7cf1edf00d12ae85c2fdbae77d3ff0ab21cccc60d6d3e3d6
+size 77283
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_txd.ytd b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_txd.ytd
new file mode 100644
index 000000000..20c9d0589
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_txd.ytd
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7353fb4434ba354fe8e3884e931594615208654e2fe12384e6756a38b554bf9e
+size 2817402
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_windows.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_windows.ydr
new file mode 100644
index 000000000..98b08d24f
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_calm_coffee_windows.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cf45e7cd2995a0f16a7c0cd2eb294baf8e3b3773177c357ca2cd0fcc754402bd
+size 7519
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_coffee_hanger.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_coffee_hanger.ydr
new file mode 100644
index 000000000..dd2a7140c
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_coffee_hanger.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:529e8433face74d49f7800a0a201e21cd4a6ef4e22212768f0d657ab4cd679af
+size 292894
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_s_table2.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_s_table2.ydr
new file mode 100644
index 000000000..78621e8f7
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_s_table2.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:288f183cc8ea89d0a3ce81181a3cd87fbb9bfe94a559137242ee5c8984c0d048
+size 240676
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_s_table3.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_s_table3.ydr
new file mode 100644
index 000000000..7693f1c6f
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/rdzk_r_s_table3.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b67e49c6c457645463bb63b5f58017c73557dd103b360ca1f8e9872bb3922a33
+size 132189
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_38_barb_plant003_29.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_38_barb_plant003_29.ydr
new file mode 100644
index 000000000..5d52fd097
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_38_barb_plant003_29.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f0204967c08d12db2a2d5a107a304c4c1d3c9030e4d789e81253261daa9ac451
+size 111143
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_club_vu_lamp_2x.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_club_vu_lamp_2x.ydr
new file mode 100644
index 000000000..a91c9fb4e
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_club_vu_lamp_2x.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e0f9b55b22e8ba8ee3e89361f6a562f28ff8ed7e17ea4b442e30944e63003635
+size 25408
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_ilev_m_sofacushion_29.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_ilev_m_sofacushion_29.ydr
new file mode 100644
index 000000000..b245dcb33
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_ilev_m_sofacushion_29.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e29ec2e413f141b2a7541618bb17afb41f98660a1da86871c90914c8815f060e
+size 61075
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_ilev_mr_rasberryclean_29.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_ilev_mr_rasberryclean_29.ydr
new file mode 100644
index 000000000..72111871e
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_ilev_mr_rasberryclean_29.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f4a57717a9f29601fe0a7e69739ff7fd72379600343bd2b12fe4f2d3a633bf9b
+size 157420
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_fa_plant01_29.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_fa_plant01_29.ydr
new file mode 100644
index 000000000..0964c2061
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_fa_plant01_29.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8684104fb8b605e136240e981997f04ca6cadecfee6bdbe088cdc6552f95302c
+size 9413
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_fashmagopen_29.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_fashmagopen_29.ydr
new file mode 100644
index 000000000..e2c550c33
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_fashmagopen_29.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e12534aa48bcef626dace4daa720e857baa1ce567de2e45b2a8b3ebf7b865eb9
+size 42424
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_j_radio_29.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_j_radio_29.ydr
new file mode 100644
index 000000000..a7c3a2b0b
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_j_radio_29.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c2a1f742d56eb2e7d574ed134717645d5f834e68a7deb17799db60a2d494b82e
+size 49512
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_tt_mug01_29.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_tt_mug01_29.ydr
new file mode 100644
index 000000000..e01106249
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/v_res_tt_mug01_29.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d3e59722d187b1ca203f5d849053323b45ef3050f025d1a883be2580661d3cac
+size 9812
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_blue.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_blue.ydr
new file mode 100644
index 000000000..e614e20a2
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_blue.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:159540ad86087c66b4bf8642b8e1b4c7a053b2c5ba2eaf27d9e29b623cb4ec69
+size 13201
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_cables.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_cables.ydr
new file mode 100644
index 000000000..2f5cea394
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_cables.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2b8e7beb02ae9222be1e19a13799fa30228cdc9862063b36df6fa95d1460fe90
+size 11347
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_orange.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_orange.ydr
new file mode 100644
index 000000000..a3c5da41b
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_orange.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c430dcd428813c56de214c60cc2d78f64e37b3ada139b105a8be3fea17349e75
+size 14974
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_pink.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_pink.ydr
new file mode 100644
index 000000000..1bd484978
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_pink.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9b54dc4f99de342e7f39f207ed4c054f70cb11aacdb90ff74fc060d00724e836
+size 14514
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_red.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_red.ydr
new file mode 100644
index 000000000..a02c09d7d
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_red.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3f2efbae13d0bfe248b12445f4a54a467611b72dbe09a96ba32a8481372fb71a
+size 14370
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_yel.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_yel.ydr
new file mode 100644
index 000000000..5838956f4
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Interior Main [DONT DELETE]/xmas_calm_coffee_yel.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fb901e89b730f1242ae4c020b18bdb1cbadeb2280abee3d498ef4050ba19149e
+size 13101
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/hei_vb_18_strm_0.ymap b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/hei_vb_18_strm_0.ymap
new file mode 100644
index 000000000..4f4d89292
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/hei_vb_18_strm_0.ymap
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:56cd6b005d30d7ae1a075c9af6ddaf948c9d7e1ae06d6d6163e84359c52d234a
+size 6369
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/hei_vb_rd_strm_2.ymap b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/hei_vb_rd_strm_2.ymap
new file mode 100644
index 000000000..41bdee379
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/hei_vb_rd_strm_2.ymap
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4efbc3f4c8550f9e005d1b9974868b90fd38b73f3552fb5d2b6230d5cdf75d67
+size 13011
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/hi@vb_18_0.ybn b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/hi@vb_18_0.ybn
new file mode 100644
index 000000000..a95dea75d
Binary files /dev/null and b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/hi@vb_18_0.ybn differ
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/rdzk_r_calm_coffee_milo_.ymap b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/rdzk_r_calm_coffee_milo_.ymap
new file mode 100644
index 000000000..2867ba41e
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/rdzk_r_calm_coffee_milo_.ymap
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:aa43a27d707f173519fca7cde829577e6d432f4f2e1e09d29e5009226d8de356
+size 1175
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_0.ybn b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_0.ybn
new file mode 100644
index 000000000..ee231e6e9
Binary files /dev/null and b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_0.ybn differ
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_bld1+hidr.ytd b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_bld1+hidr.ytd
new file mode 100644
index 000000000..2f3039f3b
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_bld1+hidr.ytd
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c2ee8f0a707d2c2fb0347ee7db84a9d9c9aa13183f5a02bbbbc46a46ab024f63
+size 1972931
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_bld1.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_bld1.ydr
new file mode 100644
index 000000000..283fbe923
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_bld1.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b6454e0c1c8a86c4faaf0d0bd37751bb96bc7337f43ba10c460ded9b9ac40aa
+size 6305968
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_ground.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_ground.ydr
new file mode 100644
index 000000000..bbd3b1fcf
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_ground.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8759458e6567ee29646171ad015fedda4ff05200adf7fd7bb1bbc590d3ed446f
+size 478032
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_slod1_children.ydd b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_slod1_children.ydd
new file mode 100644
index 000000000..b92e95b2c
Binary files /dev/null and b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_slod1_children.ydd differ
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_vb_emissive_vb_18b.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_vb_emissive_vb_18b.ydr
new file mode 100644
index 000000000..37d8ee160
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_18_vb_emissive_vb_18b.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9784854f7e5ef104ee70dff631b57415a3369827e4883772caaa5961ef0585b0
+size 30654
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_lod_18_19_20_21_children.ydd b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_lod_18_19_20_21_children.ydd
new file mode 100644
index 000000000..0596a93b5
Binary files /dev/null and b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_lod_18_19_20_21_children.ydd differ
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_occl_01.ymap b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_occl_01.ymap
new file mode 100644
index 000000000..d130d6b06
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_occl_01.ymap
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:aed0bf0e01af8e40a3ccc77b4c5e1ddd94d63a3c07de02debc2b2e0e8210e643
+size 14291
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_rd_road_r2h.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_rd_road_r2h.ydr
new file mode 100644
index 000000000..dc65130cf
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/vb_rd_road_r2h.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2d78d26a16de035dd3d5be9f5d633d172c58de331eb14d5b61b1f6e49090660e
+size 145549
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/venice_metadata_010_strm.ytyp b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/venice_metadata_010_strm.ytyp
new file mode 100644
index 000000000..5cf0e6bd5
Binary files /dev/null and b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Los Santos Location Sandy [DELETE IF U DONT WANT INTERIOR IN LOS SANTOS]/venice_metadata_010_strm.ytyp differ
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Sandy Shores Location [DELETE IF U DONT WANT INTERIOR IN SANDY]/rdzk_cs_calmcoffee_lod_ymap.ymap b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Sandy Shores Location [DELETE IF U DONT WANT INTERIOR IN SANDY]/rdzk_cs_calmcoffee_lod_ymap.ymap
new file mode 100644
index 000000000..1ec2daf22
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Sandy Shores Location [DELETE IF U DONT WANT INTERIOR IN SANDY]/rdzk_cs_calmcoffee_lod_ymap.ymap
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:29d4d97b6bbc573333b00c7a11fc436ffd4e1dd6c5b90babab34f3c93cec012e
+size 1168
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Sandy Shores Location [DELETE IF U DONT WANT INTERIOR IN SANDY]/rdzk_cs_calmcoffee_ymap.ymap b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Sandy Shores Location [DELETE IF U DONT WANT INTERIOR IN SANDY]/rdzk_cs_calmcoffee_ymap.ymap
new file mode 100644
index 000000000..095e3fa39
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Sandy Shores Location [DELETE IF U DONT WANT INTERIOR IN SANDY]/rdzk_cs_calmcoffee_ymap.ymap
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3974cd4caf76f15d0525f2f51f2530fa934ae0d631521759556f8f64cdc0adae
+size 1169
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Sandy Shores Location [DELETE IF U DONT WANT INTERIOR IN SANDY]/rdzk_r_calm_coffee_lod.ydr b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Sandy Shores Location [DELETE IF U DONT WANT INTERIOR IN SANDY]/rdzk_r_calm_coffee_lod.ydr
new file mode 100644
index 000000000..4e80621fa
--- /dev/null
+++ b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/Sandy Shores Location [DELETE IF U DONT WANT INTERIOR IN SANDY]/rdzk_r_calm_coffee_lod.ydr
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c1c14eee4dbb993204873e4f9269601773f29fab3875a18b63062fb3532a5a7e
+size 87196
diff --git a/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/_manifest.ymf b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/_manifest.ymf
new file mode 100644
index 000000000..37b7e1f4e
Binary files /dev/null and b/resources/[EGRP-Map-Addons]/rdzk_r_calm_coffee/stream/_manifest.ymf differ
diff --git a/resources/[ERS]/night_ers_k9/.fxap b/resources/[ERS]/night_ers_k9/.fxap
deleted file mode 100644
index 7262b1378..000000000
Binary files a/resources/[ERS]/night_ers_k9/.fxap and /dev/null differ
diff --git a/resources/[ERS]/night_ers_k9/client/client.lua b/resources/[ERS]/night_ers_k9/client/client.lua
deleted file mode 100644
index f3c11ffbf..000000000
Binary files a/resources/[ERS]/night_ers_k9/client/client.lua and /dev/null differ
diff --git a/resources/[ERS]/night_ers_k9/client/client_k9handler.lua b/resources/[ERS]/night_ers_k9/client/client_k9handler.lua
deleted file mode 100644
index 6044f7c0d..000000000
Binary files a/resources/[ERS]/night_ers_k9/client/client_k9handler.lua and /dev/null differ
diff --git a/resources/[ERS]/night_ers_k9/config/config.lua b/resources/[ERS]/night_ers_k9/config/config.lua
deleted file mode 100644
index 1be561112..000000000
--- a/resources/[ERS]/night_ers_k9/config/config.lua
+++ /dev/null
@@ -1,322 +0,0 @@
-Config = {
-
- ConfigVersion = "1.0.0",
-
- --====================== DEVELOPER SETTINGS ======================--
-
- Debug = false, -- Enable or disable debug.
- EventPrefix = "night_ers_k9", -- Leave this be.
-
- --====================== PERMISSIONS FOR SHIFT ACCESS (on/off shift) ======================--
-
- EveryoneHasPermission = true,
-
- Enable_Night_DiscordApi_Permissions = false, -- server/s_functions.lua
- Enable_Ace_Permissions = false, -- server/s_functions.lua
- Enable_ESX_Permissions = {
- Check_By_Job = false, -- server/s_functions.lua
- Check_By_Permissions = false, -- server/s_functions.lua
- },
- Enable_QBCore_Permissions = {
- Check_By_Job = false, -- server/s_functions.lua
- Check_By_Permissions = false, -- server/s_functions.lua
- },
-
- -- The role or group that has permission to work with a K9 dog.
- K9HandlerPermissionRoles = {
- "Manager",
- "Administrator",
- "police",
- },
-
- --====================== GENERAL SETTINGS ======================--
-
- AddChatSuggestions = true, -- Adds chat suggestions to the script commands.
- DistanceToKeepFromPlayer = 1.0, -- The distance the K9 dog will keep from their handler.
- ChanceToSurrenderToDogs = 50, -- Applies a 50% chance to make the NPC target surrender when being attacked by a K9 dog.
- AllowRevivingInjuredK9 = true, -- Allows the dog handler to revive their own injured K9 dog.
- AllowK9InFrontSeat = false, -- Allows the K9 dog to be in the front passenger seat of a vehicle.
- AllowCarryK9 = true, -- Allows the dog handler to carry the dog.
- AllowK9ToKillNPCs = false, -- Allows the K9 dog to kill NPCs, setting it false will replicate the attack, but not damage the NPC. They will still be able to kill players.
- AllowK9ToAttackPlayers = true, -- Allows the K9 dog to attack players, if set to false the dog will decline attacks on players.
-
- --====================== K9 DOG HANDLER VEHICLES ======================--
-
- K9Vehicles = {
- -- Base game vehicle example
- {hash = `policet`, spawnOffset = vector3(0.0 --[[Right/-Left]], -4.0 --[[Front/-Rear]], 0.5 --[[Up/-Down]]), dogModelName = "a_c_shepherd"},
-
- -- Custom vehicle example
- {hash = `23gmc2visor`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `22silv2visor`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `22silv2`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `23gmc2`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `202346gmc`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `chp20tahoek9`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `chp15tahoek9`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `chp19tahoek9`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `lasd15k9b`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `lasd20k9`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `fs25f150`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `lasd23k9t`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `lasd05cvpi`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = `lasd05cvp6`, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- {hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5), dogModelName = "a_c_shepherd"},
- -- {hash = `police`, spawnOffset = vector3(0.0, -3.0, 0.5), dogModelName = "a_c_husky"},
- -- {hash = `police2`, spawnOffset = vector3(0.0, -3.0, 0.5), dogModelName = "a_c_husky"},
- -- {hash = `police3`, spawnOffset = vector3(0.0, -3.0, 0.5), dogModelName = "a_c_husky"},
- },
-
- --====================== CONTROLS, COMMANDS, KEYMAPPING ======================--
- -- https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/keyboard/
-
- Controls = {
- -- Hint: These can be changed by individual players. So each client has control over which keys these use for what commands.
- SpawnOrDeleteK9 = {
- input = "keyboard",
- command = "k9spawnordelete",
- label = "Spawn or Delete K9 Dog",
- chatsuggestion = "Spawns or deletes a K9 Dog when near a suitable dog handler vehicle.",
- keymapping = "NUMPAD0", -- NUMPAD0
- },
- K9Follow = {
- input = "keyboard",
- command = "k9follow",
- label = "K9 Follow",
- chatsuggestion = "Orders your own K9 Dog to follow you.",
- keymapping = "NUMPAD1", -- NUMPAD1
- },
- K9Idle = {
- input = "keyboard",
- command = "k9idle",
- label = "K9 Idle",
- chatsuggestion = "Orders your own K9 Dog to idle at it's current position.",
- keymapping = "NUMPAD2", -- NUMPAD1
- },
- K9Alert = {
- input = "keyboard",
- command = "k9alert",
- label = "K9 Alert",
- chatsuggestion = "Orders your own K9 Dog to alert by barking.",
- keymapping = "NUMPAD3", -- NUMPAD3
- },
- K9Pet = {
- input = "keyboard",
- command = "k9pet",
- label = "K9 Pet",
- chatsuggestion = "Attempt to pet your own nearby K9 Dog.",
- keymapping = "NUMPAD4", -- NUMPAD4
- },
- K9Carry = {
- input = "keyboard",
- command = "k9carry",
- label = "K9 Carry",
- chatsuggestion = "Carry your own K9 Dog.",
- keymapping = "NUMPAD5", -- NUMPAD5
- },
- K9ReleaseLastTarget = { -- This releases the last target manually (assigned via K9 attack/search/taunt), so they get cleaned up by the GTA engine when it finds it suitable.
- input = "keyboard",
- command = "k9release",
- label = "K9 Release",
- chatsuggestion = "Release the last target the K9 Dog was interacting with.",
- keymapping = "NUMPAD6", -- NUMPAD6
- },
-
- -- Actions: Attack, Search (ped/veh), Taunt.
- K9SelectActionMode = {
- input = "keyboard",
- command = "k9selectactionmode",
- label = "K9 Select Action Mode",
- chatsuggestion = "Selects the action mode for the K9 Dog on the highlighted target (Attack, Search, Taunt).",
- keymapping = "LMENU", -- Left ALT
- }
- },
-
- --====================== HOTKEYS ======================--
- -- https://docs.fivem.net/docs/game-references/controls/
-
- -- Hint: These can not be changed by individual players, only via this config file.
- HotKeys = {
- K9Revive = {
- inputKeyId = 38, -- E
- inputKeyName = "~INPUT_CONTEXT~",
- inputKeyLabel = "E"
- },
- K9Attack = {
- inputKeyId = 38, -- E
- inputKeyName = "~INPUT_CONTEXT~",
- inputKeyLabel = "E"
- },
- K9Search = {
- inputKeyId = 74, -- H
- inputKeyName = "~INPUT_VEH_HEADLIGHT~",
- inputKeyLabel = "H"
- },
- K9Taunt = {
- inputKeyId = 182, -- L
- inputKeyName = "~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~",
- inputKeyLabel = "L"
- },
- Cancel = {
- inputKeyId = 202, -- ESC/BACKSPACE
- inputKeyName = "~INPUT_FRONTEND_RRIGHT~",
- inputKeyLabel = "BACKSPACE"
- },
- },
-
- --====================== K9 Dog Settings ======================--
-
- K9BlipData = {
- Enabled = true,
- BlipName = "Canine (K9)",
- BlipSpriteID = 898,
- BlipDisplay = 2,
- BlipCone = true,
- BlipScale = 0.5,
- BlipColourID = 10,
- },
-
- --====================== K9 Dog Target Marker Settings ======================--
-
- MarkerHeight = 2.0,
- TargetMarkerData = {
- MarkerId = 21,
- dirX = 0, dirY = 0, dirZ = 0,
- rotX = 0, rotY = 180.0, rotZ = 0,
- scaleX = 1.0, scaleY = 1.0, scaleZ = 1.0,
- red = 255, green = 0, blue = 0, alpha = 125,
- bobUpAndDown = false, faceCamera = true,
- p19 = 0, rotate = false,
- textureDict = 0, textureName = 0,
- drawOnEnts = 0
- },
-
- --====================== LOCALES / LANGUAGE ======================--
-
- Messages = {
- Usage = "Usage",
- Spawn = "Spawn",
- K9Dog = "K9 Dog",
-
- SpawnK9Dog = "Take out K9 dog from the vehicle",
- DeleteK9Dog = "Put K9 dog in the vehicle",
- K9Spawned = "Successfully summoned K9 dog.",
- K9Deleted = "Successfully dismissed K9 dog.",
- K9Injured = "Your K9 dog is injured. You have 10 seconds to revive them.",
- K9PassedAway = "Your K9 dog has passed away. Please summon a new one.",
- AlreadyHaveK9 = "You already have a K9 dog assigned to you...",
- AssignedK9 = "Successfully assigned K9 dog to you.",
- K9TooFarAway = "Your K9 dog is too far away from you. They have been tasked to return to you.",
-
- ToSendTheDogToAttack = "K9 Attack",
- ToSearchTarget = "K9 Search",
- ToSendDogToTaunt = "K9 Taunt",
- ToCancel = "Cancel",
- ToReviveK9 = "Revive K9",
- K9Revived = "Successfully revived your K9 dog.",
-
- OrderedToIdle = "You've ordered the K9 dog to idle.",
- AlreadyIdling = "Your K9 dog is already idling...",
- OrderedToFollow = "You've ordered the K9 dog to follow you.",
- AlreadyFollowing = "Your K9 dog is already following you...",
- EnteredAttackMode = "You've entered attack mode. Press E to attack a highlighted target.",
- OrderToAttackTarget = "You've ordered the K9 dog to attack a target.",
- OrderedToSearch = "You've ordered the K9 dog to search the target.",
- OrderedToTaunt = "You've ordered the K9 dog to taunt the target.",
- OrderedToAlert = "You've ordered the K9 dog to alert by barking.",
- YouArePettingTheDog = "You are petting the K9 dog.",
- YouPickedUpTheK9 = "You picked up the K9 dog.",
- YouReleasedTheK9 = "You released the K9 dog.",
-
- DogIsTooFarAway = "The K9 dog is too far away for this action...",
- SuspectIsFleeing = "The suspect is fleeing from the K9 dog...",
- ReleasedTarget = "The last target the K9 dog was interacting with has been released...",
- NoValidTargetToRelease = "There is no valid target to release...",
- CouldNotReleaseTarget = "Could not release the last target, they seem to have other tasks...",
- DogHasFoundNothing = "The K9 dog has not been triggered during the search, it is now returning to you...",
- DogIsAlertingAfterSearching = "The K9 dog is triggered by something...",
- VehicleDataTimeout = "A timeout occured on retrieving vehicle data in night_ers. Please try again.",
- PedDataTimeout = "A timeout occured on retrieving ped data in night_ers. Please try again.",
- EnteredSelectActionMode = "You've entered select K9 action mode.",
- CannotSpawnK9WhilstNotOnShift = "You cannot spawn a K9 dog whilst not on shift for ERS...",
- VehicleIsNotEmpty = "The vehicle is not empty... The dog can not search it.",
- VehicleNotAllowedToBeSearched = "This vehicle can not be searched by the K9 dog...",
- CanceledK9ActionMode = "Canceled K9 Action mode.",
- DismissedK9DogTooFarAway = "Dismissed your K9 dog. They went too far away from you...",
- CannotSpawnOrDeleteK9WhilstInVehicle = "You cannot spawn or delete a K9 dog whilst in a vehicle...",
- YouHaveNoK9 = "You have no K9 dog...",
- K9NotFound = "K9 dog not found...",
- NoVehicleFound = "No suitable vehicle found to spawn a K9 dog...",
- NoPermission = "You do not have the required permission to spawn a K9 dog...",
- InvalidLocationIndex = "Invalid location index. Please provide a number...",
- PickupCooldownActive = "K9 dog summon cooldown active. Please wait before summoning a K9 dog again.",
-
- --========= NUI TRANSLATIONS =========--
-
- K9ControlsTitlePed = "K9 Dog Controls (NPC)",
- K9ControlsTitleVehicle = "K9 Dog Controls (Vehicle)",
- AvailableHotkeysAndControls = "Available hotkeys and controls",
- K9ControlsSubtitle = "Aim at the target and press the hotkey to perform the action.",
- K9Attack = "Attack",
- K9Search = "Search",
- K9Taunt = "Taunt",
- Cancel = "Cancel",
- },
-}
\ No newline at end of file
diff --git a/resources/[ERS]/night_ers_k9/server/server.lua b/resources/[ERS]/night_ers_k9/server/server.lua
deleted file mode 100644
index c7aadbca8..000000000
Binary files a/resources/[ERS]/night_ers_k9/server/server.lua and /dev/null differ
diff --git a/resources/cd_doorlock/.fxap b/resources/cd_doorlock/.fxap
index d0e103a88..6025e037c 100644
Binary files a/resources/cd_doorlock/.fxap and b/resources/cd_doorlock/.fxap differ
diff --git a/resources/cd_doorlock/JSON files/door_data.json b/resources/cd_doorlock/JSON files/door_data.json
deleted file mode 100644
index 0637a088a..000000000
--- a/resources/cd_doorlock/JSON files/door_data.json
+++ /dev/null
@@ -1 +0,0 @@
-[]
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Benefactor.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Benefactor.json
new file mode 100644
index 000000000..5c0eb469b
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Benefactor.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Benefactor.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Benefactor","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1H41-PUK9-8TIW-6R33","door_data":[{"door_coords":{"z":72.13196563720703,"y":64.48243713378906,"x":-69.09178924560547},"model_hash":-1869234749,"unique_id":"6t8tx5eme4w4Yt__-5asI"},{"door_coords":{"z":72.13197326660156,"y":64.04198455810547,"x":-68.32891845703125},"model_hash":925993716,"unique_id":"K0eTocodNHnmJmDUJPSGm"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Benefactor","door_type":"single","door_sound":"door_metal.ogg","door_name":"To Workshop","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"8S9Q-KT3Z-77EN-GVRR","door_data":[{"door_coords":{"z":71.74049377441406,"y":74.6467514038086,"x":-61.64764022827148},"model_hash":-1025911912,"unique_id":"pzJo_0doBdKkKjuPtRrMr"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Benefactor","door_type":"single","door_sound":"door_metal.ogg","door_name":"Rear Workshop","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BOGE-UI91-98SV-KCY5","door_data":[{"door_coords":{"z":71.7492446899414,"y":76.86322784423828,"x":-63.74546813964844},"model_hash":-1655830399,"unique_id":"HpJlacpIynMpnH9vpGzU5"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Benefactor","door_type":"garage","door_sound":"door_metal.ogg","door_name":"Garage Workshop","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HQTD-OEBA-6CN0-3HDM","door_data":[{"door_coords":{"z":73.95752716064453,"y":79.48332977294922,"x":-61.41496276855469},"model_hash":-1797916783,"unique_id":"luxDaxQJAMuyMMiMDmcMh"}]},{"state":true,"items":[],"door_unlock_sound":"","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Benefactor","door_type":"garage","door_sound":"","door_name":"Garage","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JZ59-RV3G-6GZH-XRGX","door_data":[{"door_coords":{"z":73.66536712646485,"y":77.8570327758789,"x":-78.74205780029297},"model_hash":1630015542,"unique_id":"kgVJvCXQo7pdJMjXvAYh1"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Benefactor","door_type":"single","door_sound":"door_metal.ogg","door_name":"Side","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"X9T4-LILS-G3W5-ETRV","door_data":[{"door_coords":{"z":71.73969268798828,"y":80.22891235351563,"x":-73.15399932861328},"model_hash":-801051034,"unique_id":"Df82LFxhflr4qT0I0QsMZ"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Black_Wood_Saloon.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Black_Wood_Saloon.json
new file mode 100644
index 000000000..bae660572
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Black_Wood_Saloon.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Black_Wood_Saloon.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Black Wood Saloon","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3HQ3-JTNY-G7G1-CMRS","door_data":[{"door_coords":{"z":31.67786598205566,"y":6257.29296875,"x":-300.6761779785156},"model_hash":262671971,"unique_id":"UponrxZNNkBRIMpJb9E0F"},{"door_coords":{"z":31.67787170410156,"y":6256.54248046875,"x":-301.47161865234377},"model_hash":1504256620,"unique_id":"c1QWwg5AI5MVTDBnVgntY"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Black Wood Saloon","door_type":"single","door_sound":"door_regular.ogg","door_name":"Storage","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"60C3-TU9U-7BDJ-3IE0","door_data":[{"door_coords":{"z":31.67900466918945,"y":6267.78759765625,"x":-309.9091491699219},"model_hash":-2023754432,"unique_id":"bXQ7T8R0UgkEew53-BCOM"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Black Wood Saloon","door_type":"single","door_sound":"door_regular.ogg","door_name":"Rear Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BDW5-H26N-6YUD-5BOB","door_data":[{"door_coords":{"z":31.68037223815918,"y":6271.7607421875,"x":-309.3990478515625},"model_hash":-1627599682,"unique_id":"5Ro1mjqk-wx-877I43cEs"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Black Wood Saloon","door_type":"single","door_sound":"door_regular.ogg","door_name":"Lockers","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UXY8-M0HD-SG2Z-S5X5","door_data":[{"door_coords":{"z":31.67906188964843,"y":6271.7890625,"x":-299.0464782714844},"model_hash":-2023754432,"unique_id":"tzoDYhxA89y8PpToefZRM"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Blaine_Country_Fire_Dept.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Blaine_Country_Fire_Dept.json
new file mode 100644
index 000000000..6530242d7
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Blaine_Country_Fire_Dept.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Blaine_Country_Fire_Dept.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":5,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 5","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0TU8-NIG6-2QQ0-SBF6","door_data":[{"door_coords":{"z":41.51913833618164,"y":4239.0859375,"x":2528.04296875},"model_hash":154266033,"unique_id":"-BF4U48EvVcbWCvFHxESd"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"single","door_sound":"door_regular.ogg","door_name":"Dorms 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3693-W6U9-RFKB-PLTV","door_data":[{"door_coords":{"z":40.56466674804687,"y":4207.1787109375,"x":2505.294189453125},"model_hash":-1788996306,"unique_id":"BJDAzJBKDypI2KVpCHeUL"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":5,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 8","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"4SUG-H4YV-9ZLI-R1ES","door_data":[{"door_coords":{"z":41.41054916381836,"y":4225.8056640625,"x":2524.591552734375},"model_hash":154266033,"unique_id":"MU2KnYoeRtBxNY7rgbML4"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"single","door_sound":"door_regular.ogg","door_name":"Dorms","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6V1N-FM3D-B8TU-0XZG","door_data":[{"door_coords":{"z":40.5646858215332,"y":4201.3193359375,"x":2516.316162109375},"model_hash":-1666145321,"unique_id":"cXBxnKH-8aD16GqMnJTcM"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"single","door_sound":"door_regular.ogg","door_name":"Administration","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"70EI-KH5N-0JW7-SNML","door_data":[{"door_coords":{"z":40.5646858215332,"y":4206.31298828125,"x":2528.50634765625},"model_hash":-1788996306,"unique_id":"MO7z4c9upua62iQpYqDsT"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"single","door_sound":"door_regular.ogg","door_name":"Captains Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"92E9-COEJ-UHI2-V67H","door_data":[{"door_coords":{"z":40.5646858215332,"y":4211.63525390625,"x":2533.76611328125},"model_hash":-1788996306,"unique_id":"YFdV4jVFWtlT1OAJsiBfi"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"single","door_sound":"door_regular.ogg","door_name":"Meeting Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"95ST-G4FA-R5M5-DGM0","door_data":[{"door_coords":{"z":40.5646858215332,"y":4208.732421875,"x":2523.131591796875},"model_hash":-1666145321,"unique_id":"myi30MKDR8WrzXFw7eLgF"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"single","door_sound":"door_regular.ogg","door_name":"Briefing Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"9QM2-SX4E-MOAY-AM1F","door_data":[{"door_coords":{"z":40.5646858215332,"y":4204.3271484375,"x":2520.595458984375},"model_hash":-1666145321,"unique_id":"UAz_2wfRxLOdiYWJ4iK3B"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":5,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 7","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"AL22-LW17-SY3F-U7RV","door_data":[{"door_coords":{"z":41.41054916381836,"y":4229.97265625,"x":2525.66650390625},"model_hash":154266033,"unique_id":"wqU-IA_pTaIHiVRzhjyjt"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"single","door_sound":"door_regular.ogg","door_name":"Garage Single Side B","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BC6N-VCLS-KQEI-BH3A","door_data":[{"door_coords":{"z":40.5644416809082,"y":4249.11572265625,"x":2506.068603515625},"model_hash":534751799,"unique_id":"_W5WGrBBsaMx4duGaCGM6"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":5,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BL2V-Y2NO-E53Z-X34K","door_data":[{"door_coords":{"z":43.32437896728515,"y":4235.669921875,"x":2503.56689453125},"model_hash":154266033,"unique_id":"UvaxxK4503kCkYF3Wem-Q"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":5,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 6","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FOWW-11W3-U1B9-SR3R","door_data":[{"door_coords":{"z":41.41054916381836,"y":4234.14306640625,"x":2526.742431640625},"model_hash":154266033,"unique_id":"vG8Vlq8Ier9a1r2YOprT6"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"single","door_sound":"door_regular.ogg","door_name":"Reception","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"G0PH-08GX-C3VC-E58A","door_data":[{"door_coords":{"z":40.5646858215332,"y":4218.82861328125,"x":2524.33984375},"model_hash":-1666145321,"unique_id":"3-2cAmdO-p7GJFR-Sn1oK"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":5,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"I1U2-1LEH-4NXY-N5NE","door_data":[{"door_coords":{"z":43.32445526123047,"y":4239.84033203125,"x":2504.64306640625},"model_hash":154266033,"unique_id":"nGvu9DzFfhyAfKpEORtxc"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"single","door_sound":"door_regular.ogg","door_name":"Showers","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"PFL8-WVGC-21B9-HUCP","door_data":[{"door_coords":{"z":40.5646858215332,"y":4203.17041015625,"x":2502.51806640625},"model_hash":-1010568711,"unique_id":"8xbeEDvSIxCdS4-UhJxR6"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"double","door_sound":"door_regular.ogg","door_name":"Garage","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Q16K-EKDN-E5JB-2KVR","door_data":[{"door_coords":{"z":40.63712310791015,"y":4224.353515625,"x":2516.31787109375},"model_hash":2088952700,"unique_id":"iPAJLjF2OzQOmtpXMsj5I"},{"door_coords":{"z":40.63712310791015,"y":4224.09326171875,"x":2517.350341796875},"model_hash":2088952700,"unique_id":"DNPmSE048Liopxjxd-DGi"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":5,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"T3BL-XKC4-Y73P-BMT5","door_data":[{"door_coords":{"z":41.58139038085937,"y":4231.77734375,"x":2501.42724609375},"model_hash":154266033,"unique_id":"_3DXEl70TDuvnhb_ri7is"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"double","door_sound":"door_regular.ogg","door_name":"Lockers","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XY61-WVWD-2738-MZL2","door_data":[{"door_coords":{"z":40.63339233398437,"y":4221.3154296875,"x":2507.19482421875},"model_hash":-1609094496,"unique_id":"3AyjjZnz5nQiaaeu6ixDB"},{"door_coords":{"z":40.63339233398437,"y":4222.28857421875,"x":2507.44091796875},"model_hash":-1609094496,"unique_id":"f_dWA6IgzJBzO238avQ3M"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":5,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Z8SR-Y8EA-BGP0-BDE0","door_data":[{"door_coords":{"z":42.5262336730957,"y":4245.025390625,"x":2505.004150390625},"model_hash":154266033,"unique_id":"Y8NHvboKDcVvMPkfGSSD1"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Blaine County Fire Dept","door_type":"single","door_sound":"door_regular.ogg","door_name":"Garage Single Side A","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZKBT-UT66-YJXT-1FYB","door_data":[{"door_coords":{"z":40.5644416809082,"y":4243.212890625,"x":2528.948486328125},"model_hash":534751799,"unique_id":"Nbld1VKt_Os3FnFy05enE"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Boxing_Gym.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Boxing_Gym.json
new file mode 100644
index 000000000..ed753e46b
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Boxing_Gym.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Boxing_Gym.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Boxing Gym","door_type":"single","door_sound":"door_metal.ogg","door_name":"Main Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0YKR-8DDU-AHZL-G39F","door_data":[{"door_coords":{"z":29.65988731384277,"y":-1290.0123291015626,"x":-45.96222305297851},"model_hash":452874391,"unique_id":"XnrAJD3qpKFZs7lFzGTBz"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Boxing Gym","door_type":"garage","door_sound":"door_metal.ogg","door_name":"Garage Door 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"2SK0-O2OP-LHR8-0M1T","door_data":[{"door_coords":{"z":31.44961738586425,"y":-1275.0540771484376,"x":-46.87737274169922},"model_hash":1769773471,"unique_id":"0Qo5Th1DEm6njkAJs8y_X"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Boxing Gym","door_type":"garage","door_sound":"door_metal.ogg","door_name":"Garage Door 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"AM0Y-EWXI-MMAY-3443","door_data":[{"door_coords":{"z":30.4071979522705,"y":-1280.0552978515626,"x":-45.98862075805664},"model_hash":1769773471,"unique_id":"SV433K1CbE6Q2BmK-gbDw"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Boxing Gym","door_type":"single","door_sound":"door_metal.ogg","door_name":"Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"T37K-5G3J-7IBH-89TE","door_data":[{"door_coords":{"z":34.10851287841797,"y":-1289.576416015625,"x":-57.38458251953125},"model_hash":-952356348,"unique_id":"HTZ39Uz7oe-qOQ7dxgYnm"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Burger_Shot_Mirror_Park.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Burger_Shot_Mirror_Park.json
new file mode 100644
index 000000000..a74ec5df2
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Burger_Shot_Mirror_Park.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"5ECE-EGQU-VLN5-WBBD","door_name":"Staff Room","door_data":[{"unique_id":"BcOQdppvX5m-wwDQdRuMI","model_hash":-545320023,"door_coords":{"z":69.3506088256836,"y":-345.1082153320313,"x":1242.7569580078126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Mirror Park","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"G9N5-KN6G-34N5-HW95","door_name":"Rear Entrance","door_data":[{"unique_id":"8kTtyXUJ_5-zLwjgacIqy","model_hash":-1635579193,"door_coords":{"z":69.35758972167969,"y":-343.92962646484377,"x":1244.5897216796876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Mirror Park","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"I09U-C5DW-7YS5-ZU71","door_name":"Side Entrance","door_data":[{"unique_id":"tzDiPBDHQSrvbcuyjkta6","model_hash":802875437,"door_coords":{"z":69.40045928955078,"y":-355.6028137207031,"x":1235.068603515625}},{"unique_id":"taRJ6HSp_fthXSZmgMrAw","model_hash":1238047757,"door_coords":{"z":69.35104370117188,"y":-354.36199951171877,"x":1235.401123046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Mirror Park","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"IL84-ZUF4-965F-4EOD","door_name":"Kitchen","door_data":[{"unique_id":"RpMu-1KbWN_9Jz1K5BSRS","model_hash":1938022713,"door_coords":{"z":69.35623931884766,"y":-350.0573425292969,"x":1244.4298095703126}},{"unique_id":"06T5N2C6ZbCF9XDdjrlV7","model_hash":1938022713,"door_coords":{"z":69.35627746582031,"y":-349.10321044921877,"x":1244.864013671875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Mirror Park","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"V0DF-4C9D-CMAI-JMIQ","door_name":"Main Entrance","door_data":[{"unique_id":"T4CmmktqJkTalOek18YlN","model_hash":1238047757,"door_coords":{"z":69.35369110107422,"y":-366.0949096679688,"x":1241.1314697265626}},{"unique_id":"XXP5eE9PRn0U5lURVy29F","model_hash":802875437,"door_coords":{"z":69.4035415649414,"y":-366.4274597167969,"x":1242.372314453125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Mirror Park","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"ZKOZ-L18R-AGQS-QM4N","door_name":"Office","door_data":[{"unique_id":"TwFiBQbJd2wYOBHP22D-m","model_hash":-545320023,"door_coords":{"z":69.3515853881836,"y":-345.4783630371094,"x":1245.771728515625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Mirror Park","door_sound":"door_metal.ogg"}],"name":"[GN_Studios]_Burger_Shot_Mirror_Park.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Burger_Shot_Sandy.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Burger_Shot_Sandy.json
new file mode 100644
index 000000000..3ef62dc81
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Burger_Shot_Sandy.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6BE6-F2SR-DWYD-PZRY","door_name":"Main Entrance","door_data":[{"unique_id":"AdXzYf6UmcjoIZegOTEvD","model_hash":1238047757,"door_coords":{"z":34.57280349731445,"y":3747.72021484375,"x":1578.4718017578126}},{"unique_id":"XKFk3XtHhpjw5ZoWxru8f","model_hash":802875437,"door_coords":{"z":34.62214279174805,"y":3746.681884765625,"x":1579.2281494140626}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Sandy","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"73RU-LXIT-4E8Y-XMXQ","door_name":"Side Entrance","door_data":[{"unique_id":"pU1D1kWShqki4LKAoKCrq","model_hash":802875437,"door_coords":{"z":34.62777709960937,"y":3759.6923828125,"x":1580.3458251953126}},{"unique_id":"3YQSNPwa9J0WGgWYmKFT-","model_hash":1238047757,"door_coords":{"z":34.57908248901367,"y":3760.448974609375,"x":1581.3841552734376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Sandy","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"CTJY-980A-UVX8-RRZP","door_name":"Kitchen","door_data":[{"unique_id":"brKWUaJaW7bvxsXMPqU_K","model_hash":1938022713,"door_coords":{"z":34.58552932739258,"y":3758.596435546875,"x":1592.0498046875}},{"unique_id":"7OZ8xFUAIEugn7OhXLF2k","model_hash":1938022713,"door_coords":{"z":34.58492660522461,"y":3758.0693359375,"x":1591.160888671875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Sandy","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"D8MG-EOYI-R2YG-IY19","door_name":"Office","door_data":[{"unique_id":"M6cV0KDXEf00d28xFkGyo","model_hash":-545320023,"door_coords":{"z":34.58294296264648,"y":3760.816162109375,"x":1595.0565185546876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Sandy","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"EYUB-SAPP-UJQC-85Q7","door_name":"Rear Entrance","door_data":[{"unique_id":"hx1pu0FxMyqoJyGjOR3GZ","model_hash":-1635579193,"door_coords":{"z":34.59025192260742,"y":3762.793701171875,"x":1595.0877685546876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Sandy","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"O7VI-0RLX-UPZ6-WZWP","door_name":"Staff Room","door_data":[{"unique_id":"jm_nGFdGVgtF0Y26L97vD","model_hash":-545320023,"door_coords":{"z":34.58291625976562,"y":3762.84130859375,"x":1593.1318359375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Burger Shot Sandy","door_sound":"door_metal.ogg"}],"name":"[GN_Studios]_Burger_Shot_Sandy.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Burger_Shot_Vinewood.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Burger_Shot_Vinewood.json
new file mode 100644
index 000000000..581a14ddc
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Burger_Shot_Vinewood.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Burger_Shot_Vinewood.json","data":[{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Burger Shot Vinewood","door_type":"single","door_sound":"door_metal.ogg","door_name":"Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ARN7-78NR-K5Y4-3IOD","door_data":[{"door_coords":{"z":14.12365436553955,"y":-895.8421020507813,"x":-1181.879638671875},"model_hash":-626684119,"unique_id":"xtlnoNoKyZzKrE0KYHnWs"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Burger Shot Vinewood","door_type":"double","door_sound":"door_metal.ogg","door_name":"Side Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BK5B-VGMF-DEXC-RXFI","door_data":[{"door_coords":{"z":14.12160301208496,"y":-883.9588012695313,"x":-1197.2742919921876},"model_hash":386432549,"unique_id":"E3DDJkMzC3aHBO1eR5Lxz"},{"door_coords":{"z":14.12160301208496,"y":-884.681884765625,"x":-1198.3385009765626},"model_hash":-806752263,"unique_id":"e6C3iDUe5KV1ViHhX0irC"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Burger Shot Vinewood","door_type":"double","door_sound":"door_metal.ogg","door_name":"Kitchen","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GY21-BJ5M-NIDS-2Q36","door_data":[{"door_coords":{"z":14.12363243103027,"y":-896.9346923828125,"x":-1202.925537109375},"model_hash":1980817304,"unique_id":"1NcoTVjdrlO7kyhGuyPeB"},{"door_coords":{"z":14.12363624572753,"y":-897.51416015625,"x":-1203.7530517578126},"model_hash":1980817304,"unique_id":"OYqIYu44z9NFawb7OVdrX"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Burger Shot Vinewood","door_type":"single","door_sound":"door_metal.ogg","door_name":"Main Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HDSB-ZKUM-YKKG-S0UL","door_data":[{"door_coords":{"z":14.12159156799316,"y":-885.1097412109375,"x":-1183.655517578125},"model_hash":386432549,"unique_id":"eLKi9SERqz9q3ehfwMy1a"},{"door_coords":{"z":14.12160301208496,"y":-884.0460205078125,"x":-1184.3812255859376},"model_hash":-806752263,"unique_id":"6NX1lXcOl0-eECd2TGdlM"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Burger Shot Vinewood","door_type":"single","door_sound":"door_metal.ogg","door_name":"Staff Area","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"I8FU-1039-IGYZ-P1S7","door_data":[{"door_coords":{"z":14.12363529205322,"y":-901.693115234375,"x":-1194.2532958984376},"model_hash":1462909834,"unique_id":"l_2wWx3BYgzxQERUdR-SI"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Burger Shot Vinewood","door_type":"single","door_sound":"door_metal.ogg","door_name":"Staff Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"IB7H-SZOO-MWJ3-PIPJ","door_data":[{"door_coords":{"z":13.94748878479003,"y":-891.962890625,"x":-1178.9210205078126},"model_hash":-1635579193,"unique_id":"UzaO3JP3NugM4lrVgdW5g"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Burger Shot Vinewood","door_type":"single","door_sound":"door_metal.ogg","door_name":"Locker Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"L2C0-828C-V53K-F3WC","door_data":[{"door_coords":{"z":14.12364864349365,"y":-897.45654296875,"x":-1184.78955078125},"model_hash":1289778077,"unique_id":"CnKTGkjMkKCyyfONLPH0m"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Central_LS_Medical.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Central_LS_Medical.json
new file mode 100644
index 000000000..34753fbf4
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Central_LS_Medical.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Central_LS_Medical.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"double","door_sound":"door_metal.ogg","door_name":"Recovery Room Front","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3CWR-0HMN-AEIW-4492","door_data":[{"door_coords":{"z":32.65180206298828,"y":-1404.4791259765626,"x":361.5645751953125},"model_hash":1884112547,"unique_id":"G9CK7eEb6dGvHTgAY7fmI"},{"door_coords":{"z":32.65180206298828,"y":-1403.4827880859376,"x":362.39935302734377},"model_hash":1884112547,"unique_id":"_64se9RuZwoPyUlNVhdBO"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"single","door_sound":"door_metal.ogg","door_name":"Meeting Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6HPQ-HI7U-ZG12-5AK5","door_data":[{"door_coords":{"z":36.66934204101562,"y":-1421.0018310546876,"x":381.6221618652344},"model_hash":2115166766,"unique_id":"fCh2rXi3mgJOMl-bDQecS"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"double","door_sound":"door_metal.ogg","door_name":"Helipad","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"8RIC-K9TH-M7V5-PCNI","door_data":[{"door_coords":{"z":46.61684799194336,"y":-1431.28662109375,"x":335.2640380859375},"model_hash":1816647734,"unique_id":"WhktQX8mB2gB5pJ0kvjiy"},{"door_coords":{"z":46.61684799194336,"y":-1431.9407958984376,"x":336.044921875},"model_hash":1190759826,"unique_id":"BzWrB4GC9leDshQy4sund"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"double","door_sound":"door_metal.ogg","door_name":"Ward A Right","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"C0EX-B9X0-1N9F-7ITU","door_data":[{"door_coords":{"z":32.65180206298828,"y":-1404.789794921875,"x":351.50970458984377},"model_hash":1884112547,"unique_id":"4mWg0QlLI-kunyIAhvXFL"},{"door_coords":{"z":32.65180969238281,"y":-1403.794677734375,"x":352.3459777832031},"model_hash":1884112547,"unique_id":"4KQNqXFy4e7zT93Se9vhw"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"single","door_sound":"door_metal.ogg","door_name":"Directors Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"CGYT-8IY4-A02M-MPJT","door_data":[{"door_coords":{"z":36.66934204101562,"y":-1417.22998046875,"x":384.6931762695313},"model_hash":2115166766,"unique_id":"2sg4GxNPSgSrpBNW8IFP4"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"double","door_sound":"door_metal.ogg","door_name":"Ward A Upstairs Right","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DJQ3-NNW4-ZINR-0Y5F","door_data":[{"door_coords":{"z":36.66293334960937,"y":-1403.791015625,"x":352.3503112792969},"model_hash":1884112547,"unique_id":"V_S1D2NLOUEAptSxmVMlq"},{"door_coords":{"z":36.66293334960937,"y":-1404.78662109375,"x":351.51483154296877},"model_hash":1884112547,"unique_id":"w-U8LsW6_34fbELgWC129"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"single","door_sound":"door_metal.ogg","door_name":"Reception","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EFN5-ASP3-9R1E-CAGJ","door_data":[{"door_coords":{"z":32.6582145690918,"y":-1398.388916015625,"x":360.7142333984375},"model_hash":2115166766,"unique_id":"VRzOwP480eN6J5tvAH7_Y"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"double","door_sound":"door_metal.ogg","door_name":"Recovery Room Rear","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FFIX-06RU-L3QG-HOCW","door_data":[{"door_coords":{"z":32.65180206298828,"y":-1413.0452880859376,"x":371.7734375},"model_hash":1884112547,"unique_id":"wsqP62K3Tc4M23AX2LK-I"},{"door_coords":{"z":32.65180206298828,"y":-1412.0494384765626,"x":372.6089172363281},"model_hash":1884112547,"unique_id":"7pwc87FGuj57iMxl4oCke"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"single","door_sound":"door_metal.ogg","door_name":"Upstairs Office 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FLE7-MJ5Q-9MQ0-CY31","door_data":[{"door_coords":{"z":36.66934204101562,"y":-1401.2119140625,"x":365.5232238769531},"model_hash":2115166766,"unique_id":"AvupFSXQzs2nb3CUbrk5k"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KC5U-6YJS-I83O-Q7O1","door_data":[{"door_coords":{"z":32.60076522827148,"y":-1398.81298828125,"x":344.5076599121094},"model_hash":1816647734,"unique_id":"pbcH18mwb8lXzaqejXWY_"},{"door_coords":{"z":32.60076522827148,"y":-1399.59375,"x":343.8526000976563},"model_hash":1190759826,"unique_id":"mJwm1jc8U25O_jYVFc1k-"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"double","door_sound":"door_metal.ogg","door_name":"Ward A Upstairs Left","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LYUC-OY76-6WB1-HSXK","door_data":[{"door_coords":{"z":36.66293334960937,"y":-1393.53076171875,"x":360.9595642089844},"model_hash":1884112547,"unique_id":"MsgNBSd2fSFsJVPs3tr6m"},{"door_coords":{"z":36.66293334960937,"y":-1394.526611328125,"x":360.1240539550781},"model_hash":1884112547,"unique_id":"ZTRZn8EBfYPWvYu0H2V0e"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"double","door_sound":"door_metal.ogg","door_name":"Upstairs Staff Area","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"MM6L-VOQY-X7JW-DKMD","door_data":[{"door_coords":{"z":36.66293334960937,"y":-1413.333984375,"x":377.4911804199219},"model_hash":1884112547,"unique_id":"iX7VmmFdq9qCF2Otto02o"},{"door_coords":{"z":36.66296005249023,"y":-1414.17919921875,"x":376.2815551757813},"model_hash":1884112547,"unique_id":"mIgvAOh7sdAn5oSnvJL8Q"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"single","door_sound":"door_metal.ogg","door_name":"Staff Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"NS1I-GVA6-L4Y6-SRNF","door_data":[{"door_coords":{"z":32.6582145690918,"y":-1410.1866455078126,"x":355.4248962402344},"model_hash":2115166766,"unique_id":"nM1LMI9Y_1JfbKKucFMoR"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"single","door_sound":"door_metal.ogg","door_name":"Upstairs Office 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RYRQ-CE29-L2P8-JNMT","door_data":[{"door_coords":{"z":36.66934204101562,"y":-1400.9022216796876,"x":352.6985778808594},"model_hash":2115166766,"unique_id":"cW9vBF77oeaeaIcJ2QYlh"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Central LS Medical","door_type":"double","door_sound":"door_metal.ogg","door_name":"Ward A Left","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VNMJ-ELEO-JSML-N3MS","door_data":[{"door_coords":{"z":32.65180206298828,"y":-1393.5367431640626,"x":360.9556579589844},"model_hash":1884112547,"unique_id":"QhhKxQ-a13J33H398HaZX"},{"door_coords":{"z":32.65182113647461,"y":-1394.53271484375,"x":360.12030029296877},"model_hash":1884112547,"unique_id":"FSYbv1bdUR4onM4zxyJQ8"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Cluckin'_Bell_Rockford_Plaza.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Cluckin'_Bell_Rockford_Plaza.json
new file mode 100644
index 000000000..6248b6194
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Cluckin'_Bell_Rockford_Plaza.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"EU5L-QEHW-7N0B-JVR8","door_name":"Office","door_data":[{"unique_id":"_Ng9I1Gkg87E_n0nBOsTb","model_hash":-904112337,"door_coords":{"z":43.73944854736328,"y":-273.0325622558594,"x":-161.10935974121098}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Cluckin' Bell Rockford Plaza","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"GBRW-Z80A-PKKC-1GD6","door_name":"Staff Room","door_data":[{"unique_id":"8uubI15rMeQXRws90xOnP","model_hash":-904112337,"door_coords":{"z":43.73944854736328,"y":-268.9626159667969,"x":-159.8570098876953}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Cluckin' Bell Rockford Plaza","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"M3V6-9ASX-2T8P-L0FN","door_name":"Staff Area","door_data":[{"unique_id":"s5gr7sUkTU06HEb5VYlJM","model_hash":-1989537415,"door_coords":{"z":43.73962020874023,"y":-264.5071411132813,"x":-156.64865112304688}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Cluckin' Bell Rockford Plaza","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"W0UX-WEDU-ANMF-5O3I","door_name":"Main Entrance","door_data":[{"unique_id":"p2ExfiJmhSMuhD7hArUyJ","model_hash":-727029076,"door_coords":{"z":43.81116485595703,"y":-257.80535888671877,"x":-138.7270965576172}},{"unique_id":"BQqXkCLVQQrTNGI1c2vrT","model_hash":2044212473,"door_coords":{"z":43.81116485595703,"y":-256.781494140625,"x":-139.32351684570313}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Cluckin' Bell Rockford Plaza","door_sound":"door_metal.ogg"}],"name":"[GN_Studios]_Cluckin'_Bell_Rockford_Plaza.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Cypress_Flats_Small_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Cypress_Flats_Small_Warehouse.json
new file mode 100644
index 000000000..816bcf839
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Cypress_Flats_Small_Warehouse.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"garage","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"DBBL-SC1Q-FWOB-YZ1T","door_name":"Main Entrance","door_data":[{"unique_id":"iWeC8ZrFGkNjtq5PFKLVZ","model_hash":-73517283,"door_coords":{"z":33.08990859985351,"y":-1698.0947265625,"x":949.384521484375}}],"distance":10,"keep_open":false,"lockpickable":false,"location_group":"Cypress Flats Small Warehouse","door_sound":"door_metal.ogg"},{"door_type":"garage","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"H4C4-DXFJ-M18C-FYV2","door_name":"Inside Garage Door","door_data":[{"unique_id":"AecsNpzmFu14GhXc6NNyW","model_hash":1937843977,"door_coords":{"z":32.73656463623047,"y":-1695.86767578125,"x":938.8665771484376}}],"distance":5,"keep_open":false,"lockpickable":false,"location_group":"Cypress Flats Small Warehouse","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"WX2R-1PWK-NRIK-LGSQ","door_name":"Office","door_data":[{"unique_id":"UO4UHa0vMIVNJnw7dKXm1","model_hash":97276813,"door_coords":{"z":31.43152999877929,"y":-1691.13818359375,"x":943.1342163085938}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Cypress Flats Small Warehouse","door_sound":"door_metal.ogg"}],"name":"[GN_Studios]_Cypress_Flats_Small_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Davis_Large_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Davis_Large_Warehouse.json
new file mode 100644
index 000000000..68ff0e2e2
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Davis_Large_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":2,"unique_id":"67B3-W2O4-ETF6-35XB","location_group":"Davis Large Warehouse","door_name":"Right Doors","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":-91.50173950195313,"z":15.39242649078369,"y":-1769.8880615234376},"unique_id":"mWc54y3Vp2XWW-pCWvnvW","model_hash":1591748701},{"door_coords":{"x":-92.47836303710938,"z":15.392427444458,"y":-1769.0125732421876},"unique_id":"RY7_l0y5CDn2CV6CesCdu","model_hash":8891428}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"double","secret":false},{"distance":2,"unique_id":"H3EX-TSFT-20UN-DFV9","location_group":"Davis Large Warehouse","door_name":"Left Doors","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":-103.20614624023438,"z":15.39242649078369,"y":-1760.0928955078126},"unique_id":"scZMRZCEid4BkMNqhnC0h","model_hash":1591748701},{"door_coords":{"x":-104.27369689941406,"z":15.392427444458,"y":-1759.320068359375},"unique_id":"f7Z1ncDhScRsf28_-mZji","model_hash":8891428}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"double","secret":false},{"distance":2,"unique_id":"OMT8-CD3X-BGFL-UC38","location_group":"Davis Large Warehouse","door_name":"Office","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":-91.5001983642578,"z":14.302583694458,"y":-1784.607666015625},"unique_id":"81YSY9J4cDJ9bi90mLYGX","model_hash":97276813}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"single","secret":false},{"distance":10,"unique_id":"T3SA-Q6IB-U5VM-XEKA","location_group":"Davis Large Warehouse","door_name":"Main Entrance","door_sound":"","door_data":[{"door_coords":{"x":-74.02828216552735,"z":29.94480514526367,"y":-1819.6436767578128},"unique_id":"LbpNogI5y0qdM3Yb_XNSS","model_hash":-73517283}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false}],"imported":false,"name":"[GN_Studios]_Davis_Large_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Davis_Lawyer.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Davis_Lawyer.json
new file mode 100644
index 000000000..ef42ecadd
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Davis_Lawyer.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Davis_Lawyer.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Davis Lawyer","door_type":"single","door_sound":"door_regular.ogg","door_name":"Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6TAD-WQQ8-NDI5-MRY9","door_data":[{"door_coords":{"z":29.44236946105957,"y":-1511.859619140625,"x":213.65478515625},"model_hash":-483123760,"unique_id":"tMdF_CbpFNCZOCqGR413X"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Davis Lawyer","door_type":"single","door_sound":"door_regular.ogg","door_name":"Reception","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OCYA-BS1B-WGQ1-UCEB","door_data":[{"door_coords":{"z":29.44169616699218,"y":-1512.8115234375,"x":220.03665161132813},"model_hash":-324915028,"unique_id":"xSvA3PlLJO-iclUPNb-90"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Davis Lawyer","door_type":"single","door_sound":"door_regular.ogg","door_name":"Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YVZV-P5ZW-1RJH-RYMV","door_data":[{"door_coords":{"z":29.44146537780761,"y":-1517.8154296875,"x":216.19859313964845},"model_hash":903765365,"unique_id":"q_tML-fomPxQgomGHxHV-"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Del_Perro_Small_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Del_Perro_Small_Warehouse.json
new file mode 100644
index 000000000..504458cf6
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Del_Perro_Small_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":5,"unique_id":"9MCR-71KK-F6YD-82AD","location_group":"Del Perro Small Warehouse","door_name":"Inside Garage Door","door_sound":"","door_data":[{"door_coords":{"x":-1224.369384765625,"z":24.31771469116211,"y":-729.7779541015625},"unique_id":"ZXQ3FL5JCi9DAeULRfFfX","model_hash":1937843977}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false},{"distance":10,"unique_id":"NAZ9-0WST-N8VT-J9L0","location_group":"Del Perro Small Warehouse","door_name":"Main Entrance","door_sound":"","door_data":[{"door_coords":{"x":-1215.1600341796876,"z":24.67168998718261,"y":-724.23486328125},"unique_id":"nNic_Kn3CKC3X-Ee-RlBo","model_hash":-73517283}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false},{"distance":2,"unique_id":"UB43-M7TJ-5M5X-GVNH","location_group":"Del Perro Small Warehouse","door_name":"Office","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":-1224.4739990234376,"z":23.01267623901367,"y":-723.4093627929688},"unique_id":"8pSDjOhtiEDQUvDLuNySa","model_hash":97276813}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"single","secret":false}],"imported":false,"name":"[GN_Studios]_Del_Perro_Small_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_El_Burro_Heights_Large_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_El_Burro_Heights_Large_Warehouse.json
new file mode 100644
index 000000000..b6d556ec4
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_El_Burro_Heights_Large_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":2,"unique_id":"E9QD-NIE8-DVLH-0J8W","location_group":"El Burro Heights Large Warehouse","door_name":"Office","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":1734.2213134765626,"z":100.00835418701172,"y":-1522.26806640625},"unique_id":"uvSDgBnCEYiipkU8nqP32","model_hash":97276813}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"single","secret":false},{"distance":10,"unique_id":"H32R-VWUR-KEJY-69AD","location_group":"El Burro Heights Large Warehouse","door_name":"Main Entrance","door_sound":"","door_data":[],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false},{"distance":2,"unique_id":"OH4A-JGZG-B7VO-HDPZ","location_group":"El Burro Heights Large Warehouse","door_name":"Left Doors","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":1753.270751953125,"z":101.09819793701172,"y":-1501.2900390625},"unique_id":"Flj9p4XTiCVde7aoppqOk","model_hash":8891428},{"door_coords":{"x":1752.912109375,"z":101.09819793701172,"y":-1502.5537109375},"unique_id":"Ms-_7RS327j4ElgbWo6WW","model_hash":1591748701}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"double","secret":false},{"distance":2,"unique_id":"TN86-2X8W-44JQ-HHSV","location_group":"El Burro Heights Large Warehouse","door_name":"Right Doors","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":1748.367431640625,"z":101.09819793701172,"y":-1515.74755859375},"unique_id":"jAQB5sa5DzeYVU3-J6zTH","model_hash":8891428},{"door_coords":{"x":1747.9443359375,"z":101.09819793701172,"y":-1516.9847412109376},"unique_id":"GciRnxzIchyT-YUjUHcQy","model_hash":1591748701}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"double","secret":false}],"imported":false,"name":"[GN_Studios]_El_Burro_Heights_Large_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_El_Burro_Heights_Small_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_El_Burro_Heights_Small_Warehouse.json
new file mode 100644
index 000000000..92386ab18
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_El_Burro_Heights_Small_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":2,"unique_id":"0F7R-4A43-LR17-VTHJ","location_group":"El Burro Heights Small Warehouse","door_name":"Office","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":852.1124877929688,"z":31.68847274780273,"y":-2374.613525390625},"unique_id":"bPjjFWS62v2MQ57uEQROP","model_hash":97276813}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"single","secret":false},{"distance":5,"unique_id":"BVLO-F6B7-D9IE-8FHW","location_group":"El Burro Heights Small Warehouse","door_name":"Inside Garage Door","door_sound":"","door_data":[{"door_coords":{"x":856.8421020507813,"z":32.99352264404297,"y":-2378.8759765625},"unique_id":"6IonXRB3N33AtNWGRHU4V","model_hash":1937843977}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false},{"distance":10,"unique_id":"QXZX-6Q5R-SJAL-TQYH","location_group":"El Burro Heights Small Warehouse","door_name":"Main Entrance","door_sound":"","door_data":[{"door_coords":{"x":859.0692749023438,"z":33.34672546386719,"y":-2368.362548828125},"unique_id":"l6pf47e3i3gTjnyv9_SEc","model_hash":-73517283}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false}],"imported":false,"name":"[GN_Studios]_El_Burro_Heights_Small_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Elysian_Island_2_Small_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Elysian_Island_2_Small_Warehouse.json
new file mode 100644
index 000000000..f60b6ee9a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Elysian_Island_2_Small_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":2,"unique_id":"0WW3-THFI-39TS-CVDL","location_group":"Elysian Island 2 Small Warehouse","door_name":"Office","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":-331.90350341796877,"z":7.35151243209838,"y":-2450.2646484375},"unique_id":"Za8pevl-tzzwLDkYjrfbz","model_hash":97276813}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"single","secret":false},{"distance":10,"unique_id":"BXY7-0A7O-H8G9-CL67","location_group":"Elysian Island 2 Small Warehouse","door_name":"Main Entrance","door_sound":"","door_data":[{"door_coords":{"x":-333.0347595214844,"z":9.00935649871826,"y":-2440.97998046875},"unique_id":"pzv6nxpyMwYturm0jBvsO","model_hash":-73517283}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false},{"distance":5,"unique_id":"WRZ1-PX5T-8K4F-IFBR","location_group":"Elysian Island 2 Small Warehouse","door_name":"Inside Garage Door","door_sound":"","door_data":[{"door_coords":{"x":-325.6946105957031,"z":8.65655136108398,"y":-2448.83935546875},"unique_id":"QrJe3D1OTtSBriPSB_F60","model_hash":1937843977}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false}],"imported":false,"name":"[GN_Studios]_Elysian_Island_2_Small_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Elysian_Island_Small_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Elysian_Island_Small_Warehouse.json
new file mode 100644
index 000000000..df599a922
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Elysian_Island_Small_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":2,"unique_id":"AU2P-0RKN-ZB4X-I1A7","location_group":"Elysian Island Small Warehouse","door_name":"Office","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":-120.96835327148438,"z":7.44426155090332,"y":-2498.15869140625},"unique_id":"wGviFVAwkcuZYLL78b-OY","model_hash":97276813}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"single","secret":false},{"distance":10,"unique_id":"PAQO-KED9-63EL-C9UD","location_group":"Elysian Island Small Warehouse","door_name":"Main Enterance","door_sound":"","door_data":[{"door_coords":{"x":-111.82225036621094,"z":9.10450077056884,"y":-2496.2294921875},"unique_id":"WpocYwSPJ56gySSDI0QZt","model_hash":-73517283}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false},{"distance":5,"unique_id":"VK39-MCUT-W3CM-JWVO","location_group":"Elysian Island Small Warehouse","door_name":"inside Garage Door","door_sound":"","door_data":[{"door_coords":{"x":-119.00611877441406,"z":8.74930000305175,"y":-2504.218994140625},"unique_id":"qnD4-X7mQv6sgUf0XLmBd","model_hash":1937843977}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false}],"imported":false,"name":"[GN_Studios]_Elysian_Island_Small_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Fight_Club.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Fight_Club.json
new file mode 100644
index 000000000..7cbbbb046
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Fight_Club.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Fight_Club.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Fight Club","door_type":"single","door_sound":"door_regular.ogg","door_name":"Ring Door 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"8THR-8YMZ-INJZ-MSJJ","door_data":[{"door_coords":{"z":23.44137954711914,"y":-767.354248046875,"x":484.5760498046875},"model_hash":-634024547,"unique_id":"aCKT14YXOpmyNlcur2FHJ"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Fight Club","door_type":"single","door_sound":"door_regular.ogg","door_name":"Reception","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RX9J-WXEL-QTNT-X6EA","door_data":[{"door_coords":{"z":27.7592716217041,"y":-779.3239135742188,"x":468.9818115234375},"model_hash":-634024547,"unique_id":"nvgfuI6aYe7m3NoJRO6m4"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Fight Club","door_type":"single","door_sound":"door_regular.ogg","door_name":"Ring Door 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"SY4Q-LV7U-SPW4-SUAH","door_data":[{"door_coords":{"z":23.44139099121093,"y":-775.0467529296875,"x":473.2323303222656},"model_hash":-634024547,"unique_id":"Dpanf3xLykFFS6tfkBpvG"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Fight Club","door_type":"single","door_sound":"door_regular.ogg","door_name":"Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"U5TX-FYMM-I95O-OC7D","door_data":[{"door_coords":{"z":27.78530311584472,"y":-775.8765258789063,"x":465.6907653808594},"model_hash":-1815392278,"unique_id":"USAuyYCVVKj9wcGUQnNNe"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Fight Club","door_type":"garage","door_sound":"door_regular.ogg","door_name":"Garage Door","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"W1LF-L08Z-VA7U-Z71L","door_data":[{"door_coords":{"z":27.71196556091308,"y":-758.8642578125,"x":490.2891845703125},"model_hash":-761514326,"unique_id":"lKr3ohm5oeQCl_3pWTzx3"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Fight Club","door_type":"double","door_sound":"door_regular.ogg","door_name":"Main","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XK00-ZZQO-ZTIT-HQ1V","door_data":[{"door_coords":{"z":27.7851505279541,"y":-773.5028686523438,"x":466.80072021484377},"model_hash":1206642952,"unique_id":"5X2v4ZDIeOCxQOH4EJ8Eg"},{"door_coords":{"z":27.7851505279541,"y":-773.5057983398438,"x":468.09808349609377},"model_hash":1206642952,"unique_id":"BU4OHs2F2t05tijTfJUtG"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Grapeseed_Sheriff.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Grapeseed_Sheriff.json
new file mode 100644
index 000000000..34c5d8ed1
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Grapeseed_Sheriff.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Grapeseed_Sheriff.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"double","door_sound":"door_regular.ogg","door_name":"Lockers","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"16GR-Y40V-AS8B-8ZYM","door_data":[{"door_coords":{"z":42.83065795898437,"y":4856.87255859375,"x":1637.9482421875},"model_hash":1550806913,"unique_id":"J54mhP7WHgy1g-K_PBAF_"},{"door_coords":{"z":42.83065795898437,"y":4857.00390625,"x":1638.9398193359376},"model_hash":1550806913,"unique_id":"mEHUwk7iOyNM5a3-FYEvY"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"double","door_sound":"door_regular.ogg","door_name":"Cells","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5VNN-3E6P-2JPS-5K97","door_data":[{"door_coords":{"z":42.83065795898437,"y":4840.7578125,"x":1653.5927734375},"model_hash":-1537901520,"unique_id":"KyshiqW3NfjXm6GU2GM65"},{"door_coords":{"z":42.83068084716797,"y":4840.88916015625,"x":1654.5794677734376},"model_hash":-1537901520,"unique_id":"pVP0MfakqY5YYn8t1Nsk-"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Armory","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6CN8-6TX4-Z63J-KAOI","door_data":[{"door_coords":{"z":42.92848587036133,"y":4849.98681640625,"x":1643.4444580078126},"model_hash":-1545176250,"unique_id":"E1xH1JNqOkg-Gx7RVxlby"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Cells 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"9C7E-FAT3-0EDK-D6U4","door_data":[{"door_coords":{"z":42.76330184936523,"y":4833.5107421875,"x":1655.2760009765626},"model_hash":-1479724809,"unique_id":"abXgsxu3vaS1a6hcyKhCH"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"double","door_sound":"door_regular.ogg","door_name":"Staff Rooms","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BWOS-3OPC-G4YC-OFL1","door_data":[{"door_coords":{"z":42.83056259155273,"y":4856.57861328125,"x":1645.7657470703126},"model_hash":-1537901520,"unique_id":"khAvlDyxEaRyslwAWzNXp"},{"door_coords":{"z":42.83056259155273,"y":4855.59375,"x":1645.908203125},"model_hash":-1537901520,"unique_id":"R8zhFpa35EWS_A-hALVzr"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"double","door_sound":"door_regular.ogg","door_name":"Outside To Cells","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"CRUO-QAAD-D69B-FJT4","door_data":[{"door_coords":{"z":42.93527221679687,"y":4838.1767578125,"x":1642.4686279296876},"model_hash":-579824190,"unique_id":"ydoRBxVhHcq6_UtMGvGo7"},{"door_coords":{"z":42.93517684936523,"y":4836.7744140625,"x":1642.642333984375},"model_hash":-1391728855,"unique_id":"CSKxy61_98rXcS7iWyArj"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Parking Single Gate","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"D1H2-X2KA-RHE7-923L","door_data":[{"door_coords":{"z":42.64200973510742,"y":4830.27001953125,"x":1658.6185302734376},"model_hash":-1156020871,"unique_id":"t-C1ryZn17K8LR1ckImE6"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Cell 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DO7Z-AF2Q-5476-AHTB","door_data":[{"door_coords":{"z":42.76330184936523,"y":4832.1962890625,"x":1645.3583984375},"model_hash":-1479724809,"unique_id":"xQzuWBElLYbRCowpyyRRB"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":8,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Parking Gate","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GHX6-GZ2T-5ZTT-IFH8","door_data":[{"door_coords":{"z":42.64201736450195,"y":4823.54736328125,"x":1660.3902587890626},"model_hash":560903600,"unique_id":"4lWiEffZgZuYis-FgJwZo"},{"door_coords":{"z":42.64200973510742,"y":4827.20751953125,"x":1659.9188232421876},"model_hash":560903600,"unique_id":"zkSZtVd0I8do-W_AHVm0w"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Storage Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"IXI7-61R8-BBXN-JVYV","door_data":[{"door_coords":{"z":42.76305770874023,"y":4864.01708984375,"x":1649.5133056640626},"model_hash":-1897770678,"unique_id":"esZqu0Ulbf3i8H2VlFffe"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Sheriffs Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JPUW-C205-4WGR-65VJ","door_data":[{"door_coords":{"z":42.76305770874023,"y":4841.13134765625,"x":1646.12158203125},"model_hash":1922403949,"unique_id":"QPvgeBUbyNrJk2cCunlhx"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Parking","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"MEBW-MDAI-TTXM-NK54","door_data":[{"door_coords":{"z":42.93517684936523,"y":4849.712890625,"x":1634.9603271484376},"model_hash":1856398216,"unique_id":"Nn_Rkuvi5_tUzxIDEfaUq"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"T1BW-3F5Z-6A5X-CSFE","door_data":[{"door_coords":{"z":42.81896591186523,"y":4858.1416015625,"x":1653.6260986328126},"model_hash":-1813822304,"unique_id":"VEpNUP2b3x8Op_Rbw8Dm0"},{"door_coords":{"z":42.81896591186523,"y":4859.53564453125,"x":1653.43896484375},"model_hash":63780736,"unique_id":"_eDJStqyCh3BwCIOhVOvv"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Cell 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"T5ZY-X6UE-3QOQ-9QX0","door_data":[{"door_coords":{"z":42.76330184936523,"y":4832.63671875,"x":1648.680419921875},"model_hash":-1479724809,"unique_id":"z1Q-bVPg1PQxZo7fNUd7f"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Cells 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TVG8-ODSP-AXCR-BXWG","door_data":[{"door_coords":{"z":42.76330184936523,"y":4836.2138671875,"x":1646.6966552734376},"model_hash":-1479724809,"unique_id":"hCEwTyl7Ian5LocRx83It"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"double","door_sound":"door_regular.ogg","door_name":"Offices","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YB2N-BQQ5-J1YW-KB4M","door_data":[{"door_coords":{"z":42.83065795898437,"y":4855.1826171875,"x":1652.68505859375},"model_hash":-1537901520,"unique_id":"PRSZbPP13PKimWOyYy29S"},{"door_coords":{"z":42.83068466186523,"y":4855.0693359375,"x":1651.69580078125},"model_hash":-1537901520,"unique_id":"6NfP4KyO4-r8QD-1wFLHW"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Grapeseed Sheriff","door_type":"single","door_sound":"door_regular.ogg","door_name":"Cells 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YQ5O-WFLZ-SLGF-PS78","door_data":[{"door_coords":{"z":42.76330184936523,"y":4833.07373046875,"x":1651.9781494140626},"model_hash":-1479724809,"unique_id":"R1kKQNbLqPbGpk5F1HT5i"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_La_Mesa_Large_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_La_Mesa_Large_Warehouse.json
new file mode 100644
index 000000000..a2fe6e12d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_La_Mesa_Large_Warehouse.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"GWQ3-3UE9-W70R-S9BF","door_name":"Office","door_data":[{"unique_id":"STZGcgdE7bAt7fXZjqcpK","model_hash":97276813,"door_coords":{"z":18.45374488830566,"y":-1572.090576171875,"x":965.2233276367188}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"La Mesa Large Warehouse","door_sound":"door_metal.ogg"},{"door_type":"garage","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"QN15-4WG5-T3LQ-RM8E","door_name":"Main Entrance","door_data":[{"unique_id":"oKxfwpDTx16XkBRbe0TS2","model_hash":-73517283,"door_coords":{"z":34.0973014831543,"y":-1556.482177734375,"x":929.3233032226564}}],"distance":10,"keep_open":false,"lockpickable":false,"location_group":"La Mesa Large Warehouse","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"R0BV-B7Z7-TBG8-JCE5","door_name":"Right Door","door_data":[{"unique_id":"RnlsJm2x2FkAZI4dPXdtD","model_hash":1591748701,"door_coords":{"z":19.54358673095703,"y":-1583.30029296875,"x":974.684814453125}},{"unique_id":"M3SJJgFcRFmEwbOrqq0Q-","model_hash":8891428,"door_coords":{"z":19.54358673095703,"y":-1583.3865966796876,"x":975.9952392578124}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"La Mesa Large Warehouse","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"YN3P-7DKY-I1SS-34GQ","door_name":"Left Door","door_data":[{"unique_id":"yGGCZUXASzDaK6b9fuK2M","model_hash":8891428,"door_coords":{"z":19.54358673095703,"y":-1583.345703125,"x":991.2560424804688}},{"unique_id":"S-6xhtY3KdBGipEmh_iD9","model_hash":1591748701,"door_coords":{"z":19.54358673095703,"y":-1583.345703125,"x":989.948486328125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"La Mesa Large Warehouse","door_sound":"door_metal.ogg"}],"name":"[GN_Studios]_La_Mesa_Large_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_La_Mesa_Small_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_La_Mesa_Small_Warehouse.json
new file mode 100644
index 000000000..05f9b3a1c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_La_Mesa_Small_Warehouse.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"garage","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"68GR-GRM1-6HJI-RJGI","door_name":"Main Entrance","door_data":[{"unique_id":"p0BwklFF9NCf6vovrPAtK","model_hash":-73517283,"door_coords":{"z":29.28658866882324,"y":-1291.0623779296876,"x":735.8630981445313}}],"distance":10,"keep_open":false,"lockpickable":false,"location_group":"La Mesa Small Warehouse","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"FS1D-DVUU-DEM4-9KPY","door_name":"Inside Garage Door","door_data":[{"unique_id":"nZBZRLDlgLZdCLG-K7oZ7","model_hash":1937843977,"door_coords":{"z":28.92989921569824,"y":-1292.3648681640626,"x":746.5325317382813}}],"distance":5,"keep_open":false,"lockpickable":false,"location_group":"La Mesa Small Warehouse","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"HXC4-LLI0-9U7Z-FH6E","door_name":"Office","door_data":[{"unique_id":"eA6dLbZcJNyKAlxCdPa1i","model_hash":97276813,"door_coords":{"z":27.62684822082519,"y":-1297.43505859375,"x":742.81884765625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"La Mesa Small Warehouse","door_sound":"door_metal.ogg"}],"name":"[GN_Studios]_La_Mesa_Small_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_La_Puerta_Small_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_La_Puerta_Small_Warehouse.json
new file mode 100644
index 000000000..6d9710c7c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_La_Puerta_Small_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":2,"unique_id":"GTAY-COUN-FO10-T2ER","location_group":"La Puerta Small Warehouse","door_name":"Office","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":-620.5601196289063,"z":25.29319763183593,"y":-1779.0672607421876},"unique_id":"xpLHIGLNjP5-ZMWau9qMO","model_hash":97276813}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"single","secret":false},{"distance":5,"unique_id":"JAD3-CG7H-B7A5-NKWE","location_group":"La Puerta Small Warehouse","door_name":"Inside Garage Door","door_sound":"","door_data":[{"door_coords":{"x":-620.3319091796875,"z":26.59823417663574,"y":-1772.7037353515626},"unique_id":"7dbDbkWiwcmyKILwJ9NU3","model_hash":1937843977}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false},{"distance":10,"unique_id":"LU2I-L30W-FI5U-D99K","location_group":"La Puerta Small Warehouse","door_name":"Main Entrance","door_sound":"","door_data":[{"door_coords":{"x":-629.81591796875,"z":26.95287704467773,"y":-1777.75341796875},"unique_id":"g120LWW2ibGESwXLYLAwB","model_hash":-73517283}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false}],"imported":false,"name":"[GN_Studios]_La_Puerta_Small_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Los_Santos_Superlab.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Los_Santos_Superlab.json
new file mode 100644
index 000000000..36d16ab3c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Los_Santos_Superlab.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Los_Santos_Superlab.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Los Santos Superlab","door_type":"single","door_sound":"door_metal.ogg","door_name":"Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"27JK-P5CC-M8Q3-XDJY","door_data":[{"door_coords":{"z":17.93423271179199,"y":-2384.85693359375,"x":1049.81689453125},"model_hash":97276813,"unique_id":"kaOAPJTcauXjze5Eo3YwG"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Los Santos Superlab","door_type":"double","door_sound":"door_metal.ogg","door_name":"Lab Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3J2F-WE9C-3GMV-KB66","door_data":[{"door_coords":{"z":19.02407455444336,"y":-2371.4912109375,"x":1026.17578125},"model_hash":1591748701,"unique_id":"jCzHR_DCJopkIBE-_evxs"},{"door_coords":{"z":19.02407455444336,"y":-2371.3779296875,"x":1024.8731689453126},"model_hash":8891428,"unique_id":"cmS6LkyZV-eplcBS4UiLB"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Los Santos Superlab","door_type":"double","door_sound":"door_metal.ogg","door_name":"Lab Entrance 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6156-4FVD-HJIG-UDQB","door_data":[{"door_coords":{"z":19.02407455444336,"y":-2372.8193359375,"x":1041.380126953125},"model_hash":1591748701,"unique_id":"mLc5OFAlFsWyEovRi1QxQ"},{"door_coords":{"z":19.02407455444336,"y":-2372.70703125,"x":1040.077392578125},"model_hash":8891428,"unique_id":"qLhxWteVT00vU6VkzUUYv"}]},{"state":true,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Los Santos Superlab","door_type":"garage","door_sound":"","door_name":"Main Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QVK0-K9CZ-Y5BB-V1N0","door_data":[{"door_coords":{"z":33.53536224365234,"y":-2403.540283203125,"x":1084.2777099609376},"model_hash":-73517283,"unique_id":"gClJ1v6_pX11qVQ29Xcmq"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Lost_MC_Grapeseed.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Lost_MC_Grapeseed.json
new file mode 100644
index 000000000..b62fc663c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Lost_MC_Grapeseed.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Lost_MC_Grapeseed.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Lost MC Grapeseed","door_type":"single","door_sound":"door_regular.ogg","door_name":"Side Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"4UPD-OT5H-B6U2-ZY2D","door_data":[{"door_coords":{"z":41.23889541625976,"y":4623.7001953125,"x":1968.6614990234376},"model_hash":190770132,"unique_id":"zzagjKRCGOR1i20PRLu8F"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Lost MC Grapeseed","door_type":"single","door_sound":"door_regular.ogg","door_name":"Toilet","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BD93-HB9W-70OM-77Y1","door_data":[{"door_coords":{"z":41.42412948608398,"y":4627.06787109375,"x":1961.7711181640626},"model_hash":747286790,"unique_id":"w21vIiZYVbL0PELjc-CkS"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Lost MC Grapeseed","door_type":"gates","door_sound":"door_regular.ogg","door_name":"Warehouse Gate","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FKF9-L0NK-9XFF-T6TE","door_data":[{"door_coords":{"z":43.0499153137207,"y":4634.501953125,"x":1932.6370849609376},"model_hash":6154951,"unique_id":"z3V2Ly3ewN6SqT_gXuF_9"},{"door_coords":{"z":43.04991912841797,"y":4634.501953125,"x":1926.675537109375},"model_hash":-1551453930,"unique_id":"uUDfJpktlUA8ST4lr6f80"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Lost MC Grapeseed","door_type":"single","door_sound":"door_regular.ogg","door_name":"Safe","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GW7B-SVXE-5IBL-W5I3","door_data":[{"door_coords":{"z":41.42278671264648,"y":4632.46044921875,"x":1970.373046875},"model_hash":747286790,"unique_id":"a_Eo8yPERVSYimt7B4yVG"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Lost MC Grapeseed","door_type":"single","door_sound":"door_regular.ogg","door_name":"Toilet Exit","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"L5ZQ-A6MC-BM86-EF1T","door_data":[{"door_coords":{"z":41.23891067504883,"y":4627.50341796875,"x":1959.2269287109376},"model_hash":-1023447729,"unique_id":"w-CEIL03ldSE71ngwLnbr"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Lost MC Grapeseed","door_type":"single","door_sound":"door_regular.ogg","door_name":"Warehouse Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ORG5-I7YA-UR8X-2J60","door_data":[{"door_coords":{"z":40.71343612670898,"y":4632.169921875,"x":1934.16064453125},"model_hash":282482595,"unique_id":"Jb1OZ-kIgIgOGw9YW9oYS"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Lost MC Grapeseed","door_type":"single","door_sound":"door_regular.ogg","door_name":"Warehouse Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"PZUI-FO5Q-CM2W-N703","door_data":[{"door_coords":{"z":43.66899108886719,"y":4614.55224609375,"x":1928.2933349609376},"model_hash":1413187371,"unique_id":"giwXhsid_YaO180fKJPv7"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Lost MC Grapeseed","door_type":"single","door_sound":"door_regular.ogg","door_name":"Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"S4KL-Y720-6XD0-OI9A","door_data":[{"door_coords":{"z":41.42415237426758,"y":4633.736328125,"x":1967.2879638671876},"model_hash":1413743677,"unique_id":"zo7m_vDpTVpT-ubWTtSXd"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Marlowe_Vineyard.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Marlowe_Vineyard.json
new file mode 100644
index 000000000..e935b9d30
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Marlowe_Vineyard.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Marlowe_Vineyard.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"double","door_sound":"door_regular.ogg","door_name":"Rear Entrance 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"41GD-ISDW-AX8X-XVLR","door_data":[{"door_coords":{"z":141.3162841796875,"y":2074.744384765625,"x":-1893.3106689453128},"model_hash":-889651514,"unique_id":"LWC_AGCGPO9tZftFFJQbd"},{"door_coords":{"z":141.31631469726566,"y":2075.531982421875,"x":-1894.25927734375},"model_hash":1700020285,"unique_id":"lWRQVAJNycpfOp75xSSRp"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"single","door_sound":"door_regular.ogg","door_name":"Outbuilding Right","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"F0DR-6NTV-806J-Y56P","door_data":[{"door_coords":{"z":140.98660278320313,"y":2059.28564453125,"x":-1928.9134521484376},"model_hash":1815716966,"unique_id":"HxEyvw3k7Av-onnHGbsID"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"double","door_sound":"door_regular.ogg","door_name":"Rear Entrance 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FADR-JPNX-1DH9-X83V","door_data":[{"door_coords":{"z":141.31629943847657,"y":2069.390869140625,"x":-1873.893798828125},"model_hash":-889651514,"unique_id":"e3LO2TI9ltfq6DVga2Yll"},{"door_coords":{"z":141.31629943847657,"y":2069.794677734375,"x":-1875.0582275390626},"model_hash":1700020285,"unique_id":"wEG2hx4uiPrzOr7zQVWua"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"double","door_sound":"door_regular.ogg","door_name":"Left Side Entrance 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HEZG-OEZV-NZD9-UT7X","door_data":[{"door_coords":{"z":140.87088012695313,"y":2082.489501953125,"x":-1908.2015380859376},"model_hash":-1069282247,"unique_id":"N00hP8PDmTAWFJcUMbAP9"},{"door_coords":{"z":140.87045288085938,"y":2081.660888671875,"x":-1909.1817626953128},"model_hash":1320052052,"unique_id":"EVQjGXvVVYeQ9tkfzUzps"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"double","door_sound":"door_regular.ogg","door_name":"Main Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LXPJ-M20R-6NZX-U1B2","door_data":[{"door_coords":{"z":141.30601501464845,"y":2051.145263671875,"x":-1886.9112548828128},"model_hash":-889651514,"unique_id":"P0k5lNAL2CC7vsZQNmaQZ"},{"door_coords":{"z":141.30604553222657,"y":2050.722412109375,"x":-1885.754638671875},"model_hash":1700020285,"unique_id":"hbOJFtKMAA-i-tFjiAZL9"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"double","door_sound":"door_regular.ogg","door_name":"Rear Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QBGN-EAXM-AYLI-BP92","door_data":[{"door_coords":{"z":141.3206329345703,"y":2073.60986328125,"x":-1885.52880859375},"model_hash":-889651514,"unique_id":"pn8NABIhxxZpdrPRFsmj5"},{"door_coords":{"z":141.32066345214845,"y":2074.03271484375,"x":-1886.685302734375},"model_hash":1700020285,"unique_id":"vVFjYXZxzpILNE2rhD74G"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"single","door_sound":"door_regular.ogg","door_name":"Locker Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QE3W-856E-MKVC-AWLH","door_data":[{"door_coords":{"z":141.22377014160157,"y":2061.119873046875,"x":-1872.5224609375},"model_hash":1815716966,"unique_id":"ZrSwEUEzc9wpU6aLKs_n5"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"double","door_sound":"door_regular.ogg","door_name":"Main Entrance 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TYTY-8GZC-UP86-TS3C","door_data":[{"door_coords":{"z":141.30615234375,"y":2052.117431640625,"x":-1889.615234375},"model_hash":-889651514,"unique_id":"fPKSlndookLHomxMwLv2o"},{"door_coords":{"z":141.30618286132813,"y":2051.69921875,"x":-1888.45703125},"model_hash":1700020285,"unique_id":"tXtfDdPbyaT0XZwSOgqeR"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"double","door_sound":"door_regular.ogg","door_name":"Right Side Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UVC9-GEEN-WYNX-XA6Q","door_data":[{"door_coords":{"z":141.29461669921876,"y":2054.2001953125,"x":-1861.11474609375},"model_hash":-889651514,"unique_id":"-y5dgPx45SXoHArAI-_-k"},{"door_coords":{"z":141.29464721679688,"y":2054.2001953125,"x":-1859.8824462890626},"model_hash":1700020285,"unique_id":"4nSuuu6kunCAJJsxcbSCq"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"single","door_sound":"door_regular.ogg","door_name":"Outbuilding Left","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VG1D-LFKE-2JO0-KTR6","door_data":[{"door_coords":{"z":140.98670959472657,"y":2039.8909912109376,"x":-1933.54736328125},"model_hash":1815716966,"unique_id":"D3YzThTsEPJAPamdAPkK5"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"single","door_sound":"door_regular.ogg","door_name":"Outbuilding Rear","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"W97A-6ZP6-ISLQ-CN9Z","door_data":[{"door_coords":{"z":140.99661254882813,"y":2051.058349609375,"x":-1936.4437255859376},"model_hash":1815716966,"unique_id":"e_3e8jwTT55ynbYCcSOC1"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Marlowe Vineyard","door_type":"double","door_sound":"door_regular.ogg","door_name":"Left Side Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YSC2-WZA2-DAAP-XW5W","door_data":[{"door_coords":{"z":140.8715362548828,"y":2073.10888671875,"x":-1909.106201171875},"model_hash":-1069282247,"unique_id":"pzYex8f7nyGCWSTAhUErM"},{"door_coords":{"z":140.87155151367188,"y":2072.31689453125,"x":-1908.16064453125},"model_hash":1320052052,"unique_id":"wJdlMxrR3t9FI7W7Ra9Tl"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Maze_Bank_West.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Maze_Bank_West.json
new file mode 100644
index 000000000..4486208b6
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Maze_Bank_West.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Maze_Bank_West.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"single","door_sound":"door_regular.ogg","door_name":"Office 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"12XM-Q1HL-94J6-FD4O","door_data":[{"door_coords":{"z":33.32735824584961,"y":-496.2633972167969,"x":-1344.930908203125},"model_hash":1647181300,"unique_id":"xFoSESp8pZLL5ubxVV_IE"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"single","door_sound":"door_regular.ogg","door_name":"Deposit Boxes","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5H6B-UYQ8-2VA3-QYVP","door_data":[{"door_coords":{"z":33.32702255249023,"y":-483.1878051757813,"x":-1356.6993408203126},"model_hash":-88942360,"unique_id":"pjOYHmTkMqmVf-fEdl5L4"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5S2J-E7MM-N3YU-E4WJ","door_data":[{"door_coords":{"z":33.57974243164062,"y":-498.6387939453125,"x":-1379.161376953125},"model_hash":-694856837,"unique_id":"PW-KwmAGTqnt-uz6iLuCf"},{"door_coords":{"z":33.57974243164062,"y":-498.8063659667969,"x":-1380.237548828125},"model_hash":263865804,"unique_id":"k_6pvLrMuVbsCJkN6xlGG"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"single","door_sound":"door_regular.ogg","door_name":"Parking - Inside","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"9VZ8-08FS-VK7T-MPYR","door_data":[{"door_coords":{"z":33.32369613647461,"y":-473.066650390625,"x":-1359.9638671875},"model_hash":-88942360,"unique_id":"TaTeccBtts2g8S10w1v2J"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"double","door_sound":"door_regular.ogg","door_name":"Boss Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DHQO-I4I3-7V3H-EE22","door_data":[{"door_coords":{"z":72.19741821289063,"y":-478.3017883300781,"x":-1387.5611572265626},"model_hash":220394186,"unique_id":"oM4vSaXwf85fKX456oOI8"},{"door_coords":{"z":72.19741821289063,"y":-479.1184692382813,"x":-1387.4462890625},"model_hash":220394186,"unique_id":"nGgikpIZyBa4YHKMdadwY"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"single","door_sound":"door_regular.ogg","door_name":"Office 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"F1HQ-LL8E-Z6TP-C1M1","door_data":[{"door_coords":{"z":33.32735824584961,"y":-494.0780944824219,"x":-1354.17431640625},"model_hash":1647181300,"unique_id":"RiiyifobbimTQ5cUBreDS"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KL1C-9ZGB-N5NW-B2VI","door_data":[{"door_coords":{"z":33.57974243164062,"y":-499.2698364257813,"x":-1383.2135009765626},"model_hash":263865804,"unique_id":"dFW55Tb_fg5dURfDILZmS"},{"door_coords":{"z":33.57974243164062,"y":-499.1015930175781,"x":-1382.133056640625},"model_hash":-694856837,"unique_id":"okGM87ZvoQKBoNsoOCYad"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"M4OY-8UCN-ON98-PKNI","door_data":[{"door_coords":{"z":33.57974243164062,"y":-502.3626403808594,"x":-1370.3065185546876},"model_hash":263865804,"unique_id":"Wbmtqc8gCMdZbQpv6SUKK"},{"door_coords":{"z":33.57974243164062,"y":-503.2563171386719,"x":-1369.685791015625},"model_hash":-694856837,"unique_id":"jdSNarmwf-7esnxv65DOh"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"single","door_sound":"door_regular.ogg","door_name":"Office 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OQSD-L078-1FPY-VHZ6","door_data":[{"door_coords":{"z":33.32735824584961,"y":-492.7234497070313,"x":-1345.4808349609376},"model_hash":1647181300,"unique_id":"tiVPdClBdwH126yg-CGVU"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"double","door_sound":"door_regular.ogg","door_name":"Parking","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QHCH-F5TJ-O2N9-PWNU","door_data":[{"door_coords":{"z":31.15921592712402,"y":-472.1736450195313,"x":-1366.379150390625},"model_hash":-1748578663,"unique_id":"OHp7GxdUB-Ysi7VSyCs_K"},{"door_coords":{"z":31.15922355651855,"y":-473.2003479003906,"x":-1366.2213134765626},"model_hash":-1748578663,"unique_id":"25aZxtyGCBV8oTo0FDjoL"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"single","door_sound":"door_regular.ogg","door_name":"Office 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"R5X8-MHF1-TGXJ-RPLC","door_data":[{"door_coords":{"z":33.32735824584961,"y":-497.6155090332031,"x":-1353.6080322265626},"model_hash":1647181300,"unique_id":"wq3SNru2TGww6jVbzPvd_"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"single","door_sound":"door_regular.ogg","door_name":"Office 5","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VHZR-EMDK-VBPM-XT36","door_data":[{"door_coords":{"z":33.32735824584961,"y":-495.2395935058594,"x":-1338.352294921875},"model_hash":1647181300,"unique_id":"igeLa1HTMJOZfx4c1SqLC"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"double","door_sound":"door_regular.ogg","door_name":"Meeting Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XN6S-TVD8-XDGR-7F72","door_data":[{"door_coords":{"z":38.63449096679687,"y":-492.6045227050781,"x":-1358.621826171875},"model_hash":-88942360,"unique_id":"EpTCLpKa2ebPXvOkAn-OF"},{"door_coords":{"z":38.63447952270508,"y":-493.8876953125,"x":-1358.4195556640626},"model_hash":-88942360,"unique_id":"CpnZaMRJPN6iqQTfHa1ZW"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Maze Bank West","door_type":"single","door_sound":"door_regular.ogg","door_name":"Deposit Boxes Vault","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XQ8W-VLK4-4J45-1GB0","door_data":[{"door_coords":{"z":33.42592620849609,"y":-478.326416015625,"x":-1352.886962890625},"model_hash":-2050208642,"unique_id":"qmWigbjY6IuCvIgSsh6bN"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Mount_Zonah_Medical.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Mount_Zonah_Medical.json
new file mode 100644
index 000000000..6eea4c2f7
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Mount_Zonah_Medical.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Mount_Zonah_Medical.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"93MH-08QD-21Q8-FBXJ","door_data":[{"door_coords":{"z":34.69208145141601,"y":-357.6650085449219,"x":-444.7688598632813},"model_hash":1624860328,"unique_id":"ptu6mKerSyDKUCnIVoP1m"},{"door_coords":{"z":34.69147872924805,"y":-357.8529357910156,"x":-443.3639831542969},"model_hash":1624860328,"unique_id":"T_piRjL156xEx9dpIRgE_"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"R7M0-4PBP-1IH3-S7PH","door_data":[{"door_coords":{"z":34.69501113891601,"y":-348.7411193847656,"x":-448.0709228515625},"model_hash":1624860328,"unique_id":"B8_R8rq_eBzcNVk4-6thS"},{"door_coords":{"z":34.69501113891601,"y":-347.4550476074219,"x":-447.9015502929688},"model_hash":1624860328,"unique_id":"4uq9v89JpOo82qjwAYH5S"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"H5GC-KDY3-Z5WX-7BBU","door_data":[{"door_coords":{"z":34.69501113891601,"y":-341.6492309570313,"x":-447.1320495605469},"model_hash":1624860328,"unique_id":"mnNRaYcnJR2KJa9Zsn1t3"},{"door_coords":{"z":34.69365692138672,"y":-339.1202087402344,"x":-446.7947082519531},"model_hash":1624860328,"unique_id":"96MRVxyAQV0RGq0b7iY86"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UG7H-P913-I96M-RJSM","door_data":[{"door_coords":{"z":34.69391632080078,"y":-334.943603515625,"x":-446.23736572265627},"model_hash":1624860328,"unique_id":"k1-BYxxmGePzmWPPTSqBM"},{"door_coords":{"z":34.693359375,"y":-333.2473754882813,"x":-446.01123046875},"model_hash":1624860328,"unique_id":"VD0-DXYuuz8uH941GHWaD"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Reception","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"U7WU-5NA4-HKOJ-NFNS","door_data":[{"door_coords":{"z":35.07022094726562,"y":-322.3937683105469,"x":-440.3900146484375},"model_hash":493136920,"unique_id":"WBzB5xLeuVs9TbavbBzxM"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Emergency Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JI54-3OJF-Y2JK-NHIB","door_data":[{"door_coords":{"z":35.07029342651367,"y":-320.4012145996094,"x":-444.82379150390627},"model_hash":665455406,"unique_id":"9ty2Y6QUfZ4QG9rHwTSgs"},{"door_coords":{"z":35.07029342651367,"y":-319.912841796875,"x":-443.614990234375},"model_hash":665455406,"unique_id":"VUc34c3UdM4SIwdDrYwsS"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Cloakroom","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"E7LK-KZUC-DH4C-WZ5P","door_data":[{"door_coords":{"z":35.069580078125,"y":-316.4529724121094,"x":-442.8304748535156},"model_hash":493136920,"unique_id":"vVOcfhxLIo7RSv36--bE0"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Room 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1OXM-FACU-INKT-D6I6","door_data":[{"door_coords":{"z":35.06970977783203,"y":-316.6352844238281,"x":-448.40240478515627},"model_hash":493136920,"unique_id":"iOHb6YluvXcykECF4GM94"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Room 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6CJ1-H97Z-YQSK-5HBS","door_data":[{"door_coords":{"z":35.06970977783203,"y":-314.0313720703125,"x":-449.4683532714844},"model_hash":493136920,"unique_id":"C_YlHdNTa0IifyppnU9Vu"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Closet","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"J0PU-F1YR-F46Q-6MTF","door_data":[{"door_coords":{"z":35.06970977783203,"y":-308.4631652832031,"x":-451.7180480957031},"model_hash":493136920,"unique_id":"ZZtDAQLa0teWVMKiuWFvL"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Room 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"9ZMM-OA1G-NGPD-44GI","door_data":[{"door_coords":{"z":35.06970977783203,"y":-305.4602355957031,"x":-452.9485778808594},"model_hash":493136920,"unique_id":"snNl_8XzBKcPBCovYvps4"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Room 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"57QK-Q8Y9-R3LS-33FT","door_data":[{"door_coords":{"z":35.06970977783203,"y":-299.9487915039063,"x":-455.208740234375},"model_hash":493136920,"unique_id":"u_Q6a-6ao83-wATYbV061"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Room 5","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"PRLT-L0BB-YS7A-EFH3","door_data":[{"door_coords":{"z":35.06970977783203,"y":-294.7055358886719,"x":-457.3654174804688},"model_hash":493136920,"unique_id":"VyaY_B-KaRUVjkG_2ir0T"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"MRI","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RIHD-EVB2-3MYM-6TMB","door_data":[{"door_coords":{"z":35.06883239746094,"y":-292.1882629394531,"x":-452.80377197265627},"model_hash":493136920,"unique_id":"UACQUkGtIXcQN8X2zwmBj"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Diagnostics","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZKFW-K4RS-38FL-AMA0","door_data":[{"door_coords":{"z":35.0740966796875,"y":-300.4409484863281,"x":-449.4137573242188},"model_hash":493136920,"unique_id":"p3Bt8SNOAy7QTOb_svPsu"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"XRAY","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"R82I-Y9DM-8KQ7-5SI1","door_data":[{"door_coords":{"z":35.0740966796875,"y":-306.10174560546877,"x":-447.0983581542969},"model_hash":493136920,"unique_id":"u6saC3cZozx8hKlZbN2S3"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Mount Zonah Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Rest Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"H23T-VZG9-1VJ3-Q1BY","door_data":[{"door_coords":{"z":35.07292556762695,"y":-289.0234375,"x":-457.6148376464844},"model_hash":665455406,"unique_id":"qXD7ZrlabLXB5XvkGWmgx"},{"door_coords":{"z":35.07292556762695,"y":-288.5388488769531,"x":-456.4154052734375},"model_hash":665455406,"unique_id":"S-uF_TDpzgVecIfvX2b1e"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Murrieta_Heights_Large_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Murrieta_Heights_Large_Warehouse.json
new file mode 100644
index 000000000..16237a03f
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Murrieta_Heights_Large_Warehouse.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"3UFE-MSWV-UUR2-91VR","door_name":"Left Doors","door_data":[{"unique_id":"qrx8Jy4r9mWBtTwe1Zw6Y","model_hash":1591748701,"door_coords":{"z":14.97679805755615,"y":-924.4451293945313,"x":782.8518676757813}},{"unique_id":"e5OOwWmv3oxIh53RG0q7t","model_hash":8891428,"door_coords":{"z":14.97679805755615,"y":-924.4451293945313,"x":781.5443115234375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Murrieta Heights Large Warehouse","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"7JP1-QFWP-RV9L-JNRQ","door_name":"Right Doors","door_data":[{"unique_id":"fcHRV1gwbfquUxHsxbAGN","model_hash":8891428,"door_coords":{"z":14.97679805755615,"y":-924.4451293945313,"x":796.806396484375}},{"unique_id":"I2yCtI0v7twzEcjOITlyv","model_hash":1591748701,"door_coords":{"z":14.97679805755615,"y":-924.4451293945313,"x":798.1139526367188}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Murrieta Heights Large Warehouse","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"AE4K-N9XF-6CV8-KUEU","door_name":"Office","door_data":[{"unique_id":"qFy9nHvH0rN-3nuoAd42N","model_hash":97276813,"door_coords":{"z":13.88695526123046,"y":-935.7002563476564,"x":807.5770263671875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Murrieta Heights Large Warehouse","door_sound":"door_metal.ogg"},{"door_type":"garage","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"JYU1-RO4Z-7910-BZW1","door_name":"Main Entrance","door_data":[{"unique_id":"IE3i8R_15_3EEmOWw0c_u","model_hash":-73517283,"door_coords":{"z":29.52814292907715,"y":-951.3085327148438,"x":843.4856567382813}}],"distance":10,"keep_open":false,"lockpickable":false,"location_group":"Murrieta Heights Large Warehouse","door_sound":"door_metal.ogg"}],"name":"[GN_Studios]_Murrieta_Heights_Large_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Clinic.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Clinic.json
new file mode 100644
index 000000000..9d9105a8f
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Clinic.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Paleto_Clinic.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Toilet","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1BZH-GOVJ-3WIG-8SXB","door_data":[{"door_coords":{"z":32.60519027709961,"y":6321.54248046875,"x":-243.1621551513672},"model_hash":1273228324,"unique_id":"0VT1CbyWAnD-s4F-w61Hu"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Patient 5","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"8EAL-WB81-AQHR-3EX1","door_data":[{"door_coords":{"z":32.59365463256836,"y":6318.603515625,"x":-258.520263671875},"model_hash":548373120,"unique_id":"3cjGHJtD6sJHY-dnBaBBx"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Observation 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DESA-WX7U-894M-179C","door_data":[{"door_coords":{"z":32.60519027709961,"y":6326.48583984375,"x":-252.15541076660157},"model_hash":1273228324,"unique_id":"POOlU5PemdUKIC2X0ExYG"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Patient 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"F2FO-2JQQ-GRLB-HKSO","door_data":[{"door_coords":{"z":32.59096527099609,"y":6313.08203125,"x":-253.8769683837891},"model_hash":548373120,"unique_id":"xwq8DeuSfDMKknNwZlZ-h"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Patient 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"I8UO-V3Z0-MKSB-C3GL","door_data":[{"door_coords":{"z":32.5932388305664,"y":6320.26806640625,"x":-246.67892456054688},"model_hash":548373120,"unique_id":"VEHoyfri_HbZb72N-A_mB"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Lockers","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ICZJ-9RME-EG0R-FL8G","door_data":[{"door_coords":{"z":32.60519027709961,"y":6320.93798828125,"x":-260.9403381347656},"model_hash":1273228324,"unique_id":"3l7QhXNxtlXDkETKBaon9"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Reception","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KBGM-4WBM-XWNJ-MFFT","door_data":[{"door_coords":{"z":32.60519027709961,"y":6320.3427734375,"x":-251.66600036621098},"model_hash":1273228324,"unique_id":"-7_iqCQpe3yl44yDEhfju"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Patient 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LSHG-Y64O-TWSG-MIP1","door_data":[{"door_coords":{"z":32.59317398071289,"y":6309.59130859375,"x":-257.3713073730469},"model_hash":548373120,"unique_id":"DHy2XmwTTYdjRGCl9k41y"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LX36-JLME-HYUD-MHKF","door_data":[{"door_coords":{"z":32.55376815795898,"y":6332.53759765625,"x":-249.21580505371098},"model_hash":1803356323,"unique_id":"OrIWzVv3oX6Rm9WJdbtc_"},{"door_coords":{"z":32.5526123046875,"y":6333.87255859375,"x":-247.87896728515626},"model_hash":-1311304442,"unique_id":"8k6aQGpNmCCXYlFEa6jly"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"double","door_sound":"door_regular.ogg","door_name":"Surgery","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"NY5K-TJD3-AX4K-S5Z0","door_data":[{"door_coords":{"z":32.59365463256836,"y":6316.42529296875,"x":-261.6043395996094},"model_hash":210723210,"unique_id":"wM12cChDaUIaoA9snyAnJ"},{"door_coords":{"z":32.59365463256836,"y":6315.70703125,"x":-260.8873596191406},"model_hash":1411215525,"unique_id":"RDqHUK4fqC5fhZ-cU5_l5"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"O8YR-NSQL-FRGP-O8OY","door_data":[{"door_coords":{"z":32.55352020263672,"y":6324.7626953125,"x":-244.0544586181641},"model_hash":1803356323,"unique_id":"zJqnqULzNYjZvsLhyoe88"},{"door_coords":{"z":32.55340194702148,"y":6325.4833984375,"x":-244.7794189453125},"model_hash":-1311304442,"unique_id":"VasVvvLvy_XeVzH6BUCna"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Patient 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YKMF-V9QR-A3AO-QXP4","door_data":[{"door_coords":{"z":32.59365463256836,"y":6316.92138671875,"x":-250.0291748046875},"model_hash":548373120,"unique_id":"XzxiLZkuQWrYtzBl2PdQl"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Observation 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YWHP-PS5T-L24P-D8BB","door_data":[{"door_coords":{"z":32.60519027709961,"y":6330.10986328125,"x":-255.77227783203129},"model_hash":1273228324,"unique_id":"ToZjt7JvrBlXstlxPe9ez"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Clinic","door_type":"double","door_sound":"door_regular.ogg","door_name":"Rear Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZYD0-6GD8-JRL2-ON5C","door_data":[{"door_coords":{"z":32.55398559570312,"y":6317.28955078125,"x":-269.2767333984375},"model_hash":-1311304442,"unique_id":"A6S7pQsZOQcaKYfQTkP39"},{"door_coords":{"z":32.55398559570312,"y":6318.01025390625,"x":-269.99603271484377},"model_hash":1803356323,"unique_id":"Mp_QbYtXLMBHZTvJWiIXG"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Large_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Large_Warehouse.json
new file mode 100644
index 000000000..b84571755
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Large_Warehouse.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"garage","door_unlock_sound":"","camera":false,"items":[],"default_state":true,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6DNC-DCNU-DEM0-I07O","door_name":"Main Entrance","door_data":[{"unique_id":"atmblmNtqFWPW1DVGpHbS","model_hash":-73517283,"door_coords":{"z":34.42983245849609,"y":6462.47802734375,"x":43.05584335327148}}],"distance":10,"keep_open":false,"lockpickable":false,"location_group":"Warehouse Paleto Large","door_sound":""},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"7PRG-ELWI-ARRP-XNB9","door_name":"Office","door_data":[{"unique_id":"hAULBdiuz793ZLaK5swja","model_hash":97276813,"door_coords":{"z":18.78761100769043,"y":6498.90283203125,"x":28.70403099060058}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Warehouse Paleto Large","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"AWUV-UXDF-KFXS-ELMZ","door_name":"Right Door","door_data":[{"unique_id":"w84AymFO65IRHK1qSo8UI","model_hash":8891428,"door_coords":{"z":19.87745285034179,"y":6514.47802734375,"x":29.04633903503418}},{"unique_id":"WwlAGJIOoxPnNsmyhwHJW","model_hash":1591748701,"door_coords":{"z":19.87747955322265,"y":6513.7421875,"x":30.40239143371582}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Warehouse Paleto Large","door_sound":"door_metal.ogg"},{"door_type":"double","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"LO8S-J6XD-VQXS-4PD4","door_name":"Left Door","door_data":[{"unique_id":"Lv74ge7Tw769AFU9-WN6J","model_hash":8891428,"door_coords":{"z":19.87745285034179,"y":6525.27001953125,"x":18.2544002532959}},{"unique_id":"D0m8Oyho-gDKoYsJbbekh","model_hash":1591748701,"door_coords":{"z":19.87745285034179,"y":6524.34521484375,"x":19.17898559570312}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Warehouse Paleto Large","door_sound":"door_metal.ogg"}],"name":"[GN_Studios]_Paleto_Large_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Sheriff's_Department.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Sheriff's_Department.json
new file mode 100644
index 000000000..ec817a8d4
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Sheriff's_Department.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Paleto_Sheriff's_Department.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Sheriff Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"175Q-5SEJ-4SQ5-VZVS","door_data":[{"door_coords":{"z":32.24617004394531,"y":5998.69921875,"x":-437.7121887207031},"model_hash":1922403949,"unique_id":"7VH8tmW0E-v7v4kVhaHvf"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Left Wing","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"52F2-32EC-JF06-GQYX","door_data":[{"door_coords":{"z":32.31377410888672,"y":6002.9462890625,"x":-431.55419921875},"model_hash":-1537901520,"unique_id":"5_X7Akq5RhJgwSwUqnfse"},{"door_coords":{"z":32.31380081176758,"y":6003.65625,"x":-430.8568420410156},"model_hash":-1537901520,"unique_id":"AsIsIdRQlSZtf7vqJfzVN"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Storage","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6E2S-5DA4-S1F4-QMOC","door_data":[{"door_coords":{"z":32.24617385864258,"y":6018.9111328125,"x":-448.9563903808594},"model_hash":-1897770678,"unique_id":"GzSRQ2z-ThyA8gglvSrP7"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"73A5-7G8R-NR8J-RONJ","door_data":[{"door_coords":{"z":32.24641418457031,"y":5998.21630859375,"x":-425.8108215332031},"model_hash":-1479724809,"unique_id":"FsPzy8LUNvskrp4Cc0Pti"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Rear Entrance To Cells","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"8WKY-1DHY-AQ9Z-TH2F","door_data":[{"door_coords":{"z":32.41828918457031,"y":5994.12744140625,"x":-438.8201293945313},"model_hash":-579824190,"unique_id":"tSTL_93IiPx-uWmSWYrJD"},{"door_coords":{"z":32.41828918457031,"y":5993.13134765625,"x":-437.8185424804688},"model_hash":-1391728855,"unique_id":"BXL-0CCxW54RoKd-FCzp0"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Armory","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"98UR-SIHX-20DF-JOAP","door_data":[{"door_coords":{"z":32.41160202026367,"y":6004.10205078125,"x":-445.2225341796875},"model_hash":-1545176250,"unique_id":"EoBM0tGaJrUW0nF2lGGOz"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JFRC-QGWP-43UK-GGYU","door_data":[{"door_coords":{"z":32.24641418457031,"y":5993.51171875,"x":-430.5153503417969},"model_hash":-1479724809,"unique_id":"ulXS20Wh2ixKf2ewsswgj"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Main Wing","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"MM2M-FXQB-4904-88OM","door_data":[{"door_coords":{"z":32.31377410888672,"y":6013.1748046875,"x":-441.7846984863281},"model_hash":-1537901520,"unique_id":"_PihrfrpzB6geiMYYLqJ7"},{"door_coords":{"z":32.31374740600586,"y":6013.837890625,"x":-441.0376892089844},"model_hash":-1537901520,"unique_id":"sHOmJkL1UijdIrI_0wC1m"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"NTRU-BEQF-35RT-IVWQ","door_data":[{"door_coords":{"z":32.24641418457031,"y":5995.86376953125,"x":-428.1630859375},"model_hash":-1479724809,"unique_id":"fgwXx5ayCT-HCtxoiIivV"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"gates","door_sound":"door_metal.ogg","door_name":"Gate","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"O7YH-YQ8B-EUEJ-TI4E","door_data":[{"door_coords":{"z":31.71163940429687,"y":6031.83984375,"x":-459.0867309570313},"model_hash":1286535678,"unique_id":"Cmfmdx4G1wbP4_UfSrXBp"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"To Cells","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QORA-EERH-DJRD-2H7B","door_data":[{"door_coords":{"z":32.24641418457031,"y":5995.14501953125,"x":-434.2655029296875},"model_hash":-1479724809,"unique_id":"WChfeFLltfgvVXugM5aJB"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QXSY-M2XM-K4LM-IY75","door_data":[{"door_coords":{"z":32.24641418457031,"y":5991.14208984375,"x":-432.8848876953125},"model_hash":-1479724809,"unique_id":"--MdYe8WuSh9E2o8pXpUI"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UV77-1YR5-0L36-C926","door_data":[{"door_coords":{"z":32.30207824707031,"y":6016.767578125,"x":-442.09765625},"model_hash":-1813822304,"unique_id":"LB7tcimPZcCkg9_xjPw5K"},{"door_coords":{"z":32.30195999145508,"y":6017.7607421875,"x":-443.0932312011719},"model_hash":63780736,"unique_id":"Yey1LHXA-lOFcu44fu9Vl"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Locker Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VD2R-D12R-4EMV-QF4M","door_data":[{"door_coords":{"z":32.31384658813476,"y":6006.22607421875,"x":-453.7724609375},"model_hash":1550806913,"unique_id":"zxNSlE1OoGu-3efzciwsl"},{"door_coords":{"z":32.31377410888672,"y":6006.92236328125,"x":-453.05419921875},"model_hash":1550806913,"unique_id":"eF-Baj9bGJU9i5CthOYAy"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Rear Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"WUYF-BI42-2TUX-36Q7","door_data":[{"door_coords":{"z":32.41828536987305,"y":5998.80908203125,"x":-451.8932800292969},"model_hash":1856398216,"unique_id":"DD8QYCoACn2RH_d7fLi74"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Paleto Sheriff's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Rear Wing","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Z2KC-WHWY-HI8J-NZP1","door_data":[{"door_coords":{"z":32.31377410888672,"y":6010.04443359375,"x":-446.6824340820313},"model_hash":-1537901520,"unique_id":"5j-6kxFsWh6roYkYdwIxa"},{"door_coords":{"z":32.31385803222656,"y":6010.74755859375,"x":-447.3868103027344},"model_hash":-1537901520,"unique_id":"B3ocyEGhjMISP2i1ypq5g"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Small_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Small_Warehouse.json
new file mode 100644
index 000000000..d2728c639
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Paleto_Small_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":5,"unique_id":"KN83-9RGO-3QS6-45S3","location_group":"Paleto Small Warehouse","door_name":"Inside Garage Door","door_sound":"","door_data":[],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false}],"imported":false,"name":"[GN_Studios]_Paleto_Small_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Pillbox_Medical.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Pillbox_Medical.json
new file mode 100644
index 000000000..37dbb94ff
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Pillbox_Medical.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Pillbox_Medical.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Ward A1 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"01VC-8780-2IC7-ZSEV","door_data":[{"door_coords":{"z":47.42340087890625,"y":-586.3251342773438,"x":308.8600769042969},"model_hash":1884112547,"unique_id":"T6wMLm-4_ykNBZfdY3eCE"},{"door_coords":{"z":47.42340087890625,"y":-587.5465698242188,"x":308.41552734375},"model_hash":1884112547,"unique_id":"9184wdfI2-1n-yCQ9I8BQ"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Ward C","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1MLL-M6PF-XNU6-M87C","door_data":[{"door_coords":{"z":43.41226959228515,"y":-583.6632080078125,"x":336.8518676757813},"model_hash":1884112547,"unique_id":"t5cJqWmx4qicqWy3_rDcI"},{"door_coords":{"z":43.41225814819336,"y":-584.9257202148438,"x":336.4979248046875},"model_hash":1884112547,"unique_id":"nUeUAn4PbXGnqZEghL3J6"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"XRAY","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"2NHM-YEPH-51ZD-99OL","door_data":[{"door_coords":{"z":43.41868209838867,"y":-584.0122680664063,"x":342.5891723632813},"model_hash":2115166766,"unique_id":"AWWRuownHBufkJot0FAHY"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Recovery Room 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"7CLB-SS6I-QPKS-J7D4","door_data":[{"door_coords":{"z":43.41226959228515,"y":-587.156982421875,"x":330.7215270996094},"model_hash":1884112547,"unique_id":"VOQg3XtxYQNTt1N6Lwa50"},{"door_coords":{"z":43.41226959228515,"y":-588.3786010742188,"x":330.2775573730469},"model_hash":1884112547,"unique_id":"ePCT0R-mUE0bg5rh5pgoq"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Room 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"7MT6-Y1OH-FH1Z-0YOP","door_data":[{"door_coords":{"z":47.4298095703125,"y":-576.4317016601563,"x":325.5916748046875},"model_hash":2115166766,"unique_id":"u5GNKDea5d4exBHgK30pg"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Ward B2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"7TXN-06W8-6WH7-3XXD","door_data":[{"door_coords":{"z":47.42340469360351,"y":-586.6926879882813,"x":335.7447509765625},"model_hash":1884112547,"unique_id":"7MJhoR8TnwllLvu0MqmFI"},{"door_coords":{"z":47.42340087890625,"y":-587.9160766601563,"x":335.305419921875},"model_hash":1884112547,"unique_id":"gldrYqE2TG29JTnz1k1v6"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Ward A E1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"9DDP-Z40X-R06R-3AUR","door_data":[{"door_coords":{"z":43.41226959228515,"y":-586.3305053710938,"x":308.8580322265625},"model_hash":1884112547,"unique_id":"V7GpG54jJgbTVFcVZVKT8"},{"door_coords":{"z":43.41226959228515,"y":-587.5518798828125,"x":308.4134521484375},"model_hash":1884112547,"unique_id":"ZDRve7JoBshX5EmP7vn8v"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Room 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"AHLG-WDOP-IBUI-VS4W","door_data":[{"door_coords":{"z":47.4298095703125,"y":-596.3812866210938,"x":327.8969421386719},"model_hash":2115166766,"unique_id":"oKk74zDqHMDKIlMOnyhLE"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Room 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BWTS-GP3A-DW5G-OGYR","door_data":[{"door_coords":{"z":47.4298095703125,"y":-594.321533203125,"x":322.2405395507813},"model_hash":2115166766,"unique_id":"MLI3XtJ9XYPzVggXUrItT"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Lab","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EY14-AAVY-3DS2-O47W","door_data":[{"door_coords":{"z":43.41225433349609,"y":-574.8773803710938,"x":340.8314514160156},"model_hash":1884112547,"unique_id":"QjtTlZheKOV4Bae16POLS"},{"door_coords":{"z":43.41226196289062,"y":-573.6575317382813,"x":341.2804260253906},"model_hash":1884112547,"unique_id":"byynIIY39cjb7WjABFkqA"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Double Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GT9Z-9IJR-J3IY-N36R","door_data":[{"door_coords":{"z":47.4298095703125,"y":-579.3722534179688,"x":333.6634521484375},"model_hash":2115166766,"unique_id":"3kcEhow0hyXLy868sY4WU"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Office 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GU8W-RRNU-DYXH-WK7B","door_data":[{"door_coords":{"z":47.4298095703125,"y":-583.4913940429688,"x":308.1991271972656},"model_hash":2115166766,"unique_id":"kIFNvNC6Y53hoG4q-oZOa"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"MRI","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GWCQ-J2HO-SJK2-MFKO","door_data":[{"door_coords":{"z":43.41868209838867,"y":-588.3024291992188,"x":341.0276489257813},"model_hash":2115166766,"unique_id":"PmI7MXSCrLwwzrfudN8Co"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Office 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GWD8-3S5E-X3JH-KGBX","door_data":[{"door_coords":{"z":47.4298095703125,"y":-592.2314453125,"x":342.271484375},"model_hash":2115166766,"unique_id":"7tmJ0MGldgOWer--ogRs2"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Lockers","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HC6C-VML6-9EL4-COG4","door_data":[{"door_coords":{"z":43.41868209838867,"y":-595.2913208007813,"x":311.46209716796877},"model_hash":2115166766,"unique_id":"3xwwXeOAgcz5bzpQGxvep"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Diagnostic 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"IOJC-CCEK-RD7Y-4B46","door_data":[{"door_coords":{"z":43.41868209838867,"y":-594.5548095703125,"x":322.8793029785156},"model_hash":2115166766,"unique_id":"5-HOiYcX_zrwR1hZX0-fr"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Diagnostic 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JNGP-XA6N-QO6D-MDJB","door_data":[{"door_coords":{"z":43.41868209838867,"y":-596.3896484375,"x":327.9203186035156},"model_hash":2115166766,"unique_id":"t_zYslvuvsXYftoaIhdw1"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Recovery Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OF62-ANFG-A7I3-2VNK","door_data":[{"door_coords":{"z":43.41226959228515,"y":-582.598876953125,"x":318.1985168457031},"model_hash":1884112547,"unique_id":"wA0vQrBbqv-aP42Mq9JhZ"},{"door_coords":{"z":43.41226959228515,"y":-583.8202514648438,"x":317.7539672851563},"model_hash":1884112547,"unique_id":"O1_2_xhh0qAeMm88_SY9U"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Ward A E2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"PE8B-2UJV-690Y-VFVT","door_data":[{"door_coords":{"z":43.41226959228515,"y":-573.745849609375,"x":313.4385375976563},"model_hash":1884112547,"unique_id":"jtPmkxfd9vw7CStKAp9Vb"},{"door_coords":{"z":43.41226959228515,"y":-574.96728515625,"x":312.9939880371094},"model_hash":1884112547,"unique_id":"G_jJZhJ22HZkMq1dVxyvI"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Surgery 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"R73X-4WH3-DECI-6DLB","door_data":[{"door_coords":{"z":43.41226959228515,"y":-574.9060668945313,"x":332.6627502441406},"model_hash":2115166766,"unique_id":"vNAoG4BzYAKA6tWPydC7q"},{"door_coords":{"z":43.41226959228515,"y":-576.1275024414063,"x":332.21820068359377},"model_hash":2115166766,"unique_id":"pfw6U8NCfmsKA3bnHNDgj"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Surgery 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"SA1G-UO14-JVT9-0H38","door_data":[{"door_coords":{"z":43.41226959228515,"y":-574.5674438476563,"x":327.93212890625},"model_hash":2115166766,"unique_id":"7b7H5TfA8TTnrftNq06iM"},{"door_coords":{"z":43.41226959228515,"y":-573.3460083007813,"x":328.3766784667969},"model_hash":2115166766,"unique_id":"zFewUfi5D8j4IljwDOFjH"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Reception","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"T0XU-TBN3-58X2-5MGG","door_data":[{"door_coords":{"z":43.41868209838867,"y":-578.3883666992188,"x":314.8724365234375},"model_hash":2115166766,"unique_id":"WEoCGVe7T3Goxvp-bC6L4"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Psy Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UG7T-9EGD-F30K-TYC6","door_data":[{"door_coords":{"z":47.4298095703125,"y":-567.7979125976563,"x":314.22137451171877},"model_hash":2115166766,"unique_id":"DyOFLEEq2U9kvaath9b85"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Rest room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UMBO-YFBO-QTO4-NZ1C","door_data":[{"door_coords":{"z":43.41868209838867,"y":-591.2971801757813,"x":313.931884765625},"model_hash":2115166766,"unique_id":"0NvH-RxxF-bHm3u-jHfJ8"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Directors Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"USCM-9ZBE-ZTVC-KHVK","door_data":[{"door_coords":{"z":47.4298095703125,"y":-587.8992919921875,"x":343.8461608886719},"model_hash":2115166766,"unique_id":"ecCAgxgGI_qGohZbqYi3W"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Ward A1 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UXYG-E3N1-BVEH-MR5V","door_data":[{"door_coords":{"z":47.42338562011719,"y":-573.7396240234375,"x":313.44183349609377},"model_hash":1884112547,"unique_id":"XJZev0GDEiCM0ixMUE7uS"},{"door_coords":{"z":47.42340087890625,"y":-574.959716796875,"x":312.9936828613281},"model_hash":1884112547,"unique_id":"mRvVhPiBnywxBRWI7e_dL"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Psy Office Waiting Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"V4YT-M5IP-G4R9-0R5K","door_data":[{"door_coords":{"z":47.42340087890625,"y":-569.55908203125,"x":309.0478515625},"model_hash":1884112547,"unique_id":"QlE1PmV9z7NLmYB9ntfOL"},{"door_coords":{"z":47.42340087890625,"y":-570.003662109375,"x":310.26922607421877},"model_hash":1884112547,"unique_id":"Kf5ARy_lwPriA18QK3taP"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VVOY-GDAM-ME55-1KKW","door_data":[{"door_coords":{"z":43.36123275756836,"y":-584.3297729492188,"x":299.7878723144531},"model_hash":1816647734,"unique_id":"3wIWXE41LpMmJXGZnsQ17"},{"door_coords":{"z":43.36123275756836,"y":-585.287353515625,"x":299.4393310546875},"model_hash":1190759826,"unique_id":"EDYFp-eCv4-3xL67c4bQR"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"double","door_sound":"door_regular.ogg","door_name":"Ward D","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"W0A1-809V-MMN3-MKLY","door_data":[{"door_coords":{"z":43.41226959228515,"y":-594.701904296875,"x":332.8340454101563},"model_hash":1884112547,"unique_id":"tFvfxuOjeB3WcTGG5SZhE"},{"door_coords":{"z":43.41226959228515,"y":-593.48046875,"x":333.2786254882813},"model_hash":1884112547,"unique_id":"6Q6OEUQE_OtPzUd7bUU1H"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Room 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"X9RP-06RB-YFPG-K4QM","door_data":[{"door_coords":{"z":47.4298095703125,"y":-592.3159790039063,"x":316.657470703125},"model_hash":2115166766,"unique_id":"ilvpP0BtCmtgOs9SVLrkw"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Pillbox Medical","door_type":"single","door_sound":"door_regular.ogg","door_name":"Diagnostic 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Z0ZT-ETGV-7L8F-FXXH","door_data":[{"door_coords":{"z":43.41868209838867,"y":-592.7193603515625,"x":317.8365173339844},"model_hash":2115166766,"unique_id":"zflRAY8C6ACCvYLx_Jy44"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Power_Station_Large_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Power_Station_Large_Warehouse.json
new file mode 100644
index 000000000..a4ab7bbf6
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Power_Station_Large_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":2,"unique_id":"0V9E-3ZT9-FOMF-XSH4","location_group":"Power Station Large Warehouse","door_name":"Right Doors","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":2764.052734375,"z":13.00134563446045,"y":1431.431396484375},"unique_id":"VZJN-1F4EByZT7872y4U6","model_hash":8891428},{"door_coords":{"x":2764.37890625,"z":13.00134563446045,"y":1432.6978759765626},"unique_id":"JsMaBJG3Mj1dl0IawEdaO","model_hash":1591748701}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"double","secret":false},{"distance":10,"unique_id":"BSPF-8KWZ-SW8L-SX2D","location_group":"Power Station Large Warehouse","door_name":"Main Entrance","door_sound":"","door_data":[{"door_coords":{"x":2802.406982421875,"z":25.84756278991699,"y":1470.77880859375},"unique_id":"0T4vxdHj22voptPWqlsZo","model_hash":-73517283}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false},{"distance":2,"unique_id":"JW31-GLKR-J69D-JIUA","location_group":"Power Station Large Warehouse","door_name":"Office","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":2777.7119140625,"z":11.91150283813476,"y":1438.9219970703126},"unique_id":"W8BhUW1I_2l_t8fUO7Gky","model_hash":97276813}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"single","secret":false},{"distance":2,"unique_id":"OITZ-A1AS-14FN-8QQO","location_group":"Power Station Large Warehouse","door_name":"Left Doors","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":2760.102783203125,"z":13.00134563446045,"y":1416.6893310546876},"unique_id":"tqu6EleVFGF3Dvn_tsudj","model_hash":8891428},{"door_coords":{"x":2760.441162109375,"z":13.00134563446045,"y":1417.952392578125},"unique_id":"nGJ8Z8C7GgU1I9SNHrtPw","model_hash":1591748701}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"double","secret":false}],"imported":false,"name":"[GN_Studios]_Power_Station_Large_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sanders_Motorcycles.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sanders_Motorcycles.json
new file mode 100644
index 000000000..636e37fe5
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sanders_Motorcycles.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Sanders_Motorcycles.json","data":[{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Sanders Motorsycles","door_type":"garage","door_sound":"door_metal.ogg","door_name":"Main Garage Door","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"19JT-VCY5-026L-LY7H","door_data":[{"door_coords":{"z":29.56242942810058,"y":-1162.8369140625,"x":304.3847961425781},"model_hash":-231258968,"unique_id":"bNnw7uTiQbQLKmoNqIyHh"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Sanders Motorsycles","door_type":"single","door_sound":"door_metal.ogg","door_name":"Locker Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1F3P-HNJ8-5H3N-LZMW","door_data":[{"door_coords":{"z":29.44324684143066,"y":-1166.167236328125,"x":284.2900390625},"model_hash":-551608542,"unique_id":"BvipAEm3K-ZIGg53huL3y"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Sanders Motorsycles","door_type":"single","door_sound":"door_metal.ogg","door_name":"Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3ONI-UUC1-PNTI-0OVH","door_data":[{"door_coords":{"z":29.44471549987793,"y":-1163.023681640625,"x":293.1265563964844},"model_hash":-551608542,"unique_id":"FLxQtVKOOxZ4wyfb1DjZV"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Sanders Motorsycles","door_type":"single","door_sound":"door_metal.ogg","door_name":"Workshop 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BJDP-KA9H-DFIY-PBFW","door_data":[{"door_coords":{"z":29.4443130493164,"y":-1162.9556884765626,"x":285.8316650390625},"model_hash":-551608542,"unique_id":"vDJYaESy2TMHXBPMILJJE"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Sanders Motorsycles","door_type":"single","door_sound":"door_metal.ogg","door_name":"Workshop 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HVCZ-TLQE-EYSY-S7G8","door_data":[{"door_coords":{"z":29.43852996826172,"y":-1156.7896728515626,"x":281.3066101074219},"model_hash":1438783233,"unique_id":"WwqLYFPj-MgKvUkYfC7_f"},{"door_coords":{"z":29.43853187561035,"y":-1156.786376953125,"x":280.0081176757813},"model_hash":1438783233,"unique_id":"0Vvz0a8300iwEtKTzmNpX"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sanders Motorsycles","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LPYI-44SH-QR8V-RU9S","door_data":[{"door_coords":{"z":29.53732109069824,"y":-1149.1431884765626,"x":287.3584289550781},"model_hash":-1369718945,"unique_id":"nv66xY1MrbIicyXZGKye5"},{"door_coords":{"z":29.53732109069824,"y":-1149.1431884765626,"x":286.35980224609377},"model_hash":-756152193,"unique_id":"U0BYwFpW6Ynlu0YGv9yYE"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sanders Motorsycles","door_type":"double","door_sound":"door_metal.ogg","door_name":"Right Side Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"MMST-NWNC-7ZNB-OBVP","door_data":[{"door_coords":{"z":29.53857612609863,"y":-1155.8499755859376,"x":269.3621826171875},"model_hash":-756152193,"unique_id":"sYXylowSNTSaPmb0t0S1B"},{"door_coords":{"z":29.53857612609863,"y":-1154.849853515625,"x":269.3621826171875},"model_hash":-1369718945,"unique_id":"38MayzDbPbdW_c-CA_uvO"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Sanders Motorsycles","door_type":"single","door_sound":"door_metal.ogg","door_name":"Staff Room 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QA0X-6QAH-7M6I-LUF1","door_data":[{"door_coords":{"z":29.44398307800293,"y":-1166.0906982421876,"x":289.3650512695313},"model_hash":-551608542,"unique_id":"LnTzyvGuITVndh4OtGWGN"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Sanders Motorsycles","door_type":"single","door_sound":"door_metal.ogg","door_name":"Staff Room 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TLI4-TPP0-46SF-V4S8","door_data":[{"door_coords":{"z":29.44472122192382,"y":-1170.019287109375,"x":293.054443359375},"model_hash":-551608542,"unique_id":"Jl-l2le2OineT3QT3XjeQ"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Sanders Motorsycles","door_type":"garage","door_sound":"door_metal.ogg","door_name":"Workshop Garage Door","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZVWW-J5HI-YE2F-3STB","door_data":[{"door_coords":{"z":29.93164443969726,"y":-1159.7064208984376,"x":269.2914123535156},"model_hash":-101247761,"unique_id":"PX36vcC8nJCXb7jXw47LK"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Clinic.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Clinic.json
new file mode 100644
index 000000000..1e7103c88
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Clinic.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Sandy_Clinic.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Reception","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0562-5TJD-RBFF-8GTD","door_data":[{"door_coords":{"z":35.49288940429687,"y":3651.7041015625,"x":1669.58642578125},"model_hash":1273228324,"unique_id":"zamwFjX9lu1jyDm4hD1PR"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Patient 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"204Z-AJ7F-24I7-51YE","door_data":[{"door_coords":{"z":35.47783279418945,"y":3645.344970703125,"x":1665.7275390625},"model_hash":548373120,"unique_id":"OlNKgm9mDmjMKt_0O5Xfd"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"61XG-H6L0-WP3X-E52I","door_data":[{"door_coords":{"z":35.43864822387695,"y":3663.36474609375,"x":1675.9840087890626},"model_hash":-1311304442,"unique_id":"ZfHTugDnQgYO-eBTYLJpa"},{"door_coords":{"z":35.43864822387695,"y":3662.854248046875,"x":1675.0986328125},"model_hash":1803356323,"unique_id":"2rafB2-v74Y1vyzUqH2Vb"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"67ND-G5EG-B76U-AU0K","door_data":[{"door_coords":{"z":35.43816375732422,"y":3654.895751953125,"x":1677.566162109375},"model_hash":-1311304442,"unique_id":"YAiUIlVGIQRJp6Ipo327V"},{"door_coords":{"z":35.43816375732422,"y":3654.01171875,"x":1678.0792236328126},"model_hash":1803356323,"unique_id":"Z8OWOslMRDQmT5bdYcF52"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Storage","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"82WD-7WNF-DJXA-0HIN","door_data":[{"door_coords":{"z":35.49288940429687,"y":3659.256103515625,"x":1658.1319580078126},"model_hash":1273228324,"unique_id":"rYvC06RNvCdTj9Zi6Roak"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"double","door_sound":"door_regular.ogg","door_name":"Rear Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"837C-P1JS-XZDA-1J46","door_data":[{"door_coords":{"z":35.43816375732422,"y":3653.296875,"x":1651.7857666015626},"model_hash":-1311304442,"unique_id":"e-38dY7dzI01S3KCBwg6Z"},{"door_coords":{"z":35.43816375732422,"y":3654.183349609375,"x":1651.27685546875},"model_hash":1803356323,"unique_id":"CzztDn-UhHVM37a2dqzhG"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Diagnosis 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"B5OV-V5F6-XSXE-UM4D","door_data":[{"door_coords":{"z":35.49288940429687,"y":3657.765380859375,"x":1670.6973876953126},"model_hash":1273228324,"unique_id":"eLx-evAga8ysjI0SRPy4w"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"double","door_sound":"door_regular.ogg","door_name":"Surgery","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EUH7-XHFL-2TKY-B9L1","door_data":[{"door_coords":{"z":35.47783660888672,"y":3649.6044921875,"x":1659.4827880859376},"model_hash":1411215525,"unique_id":"ZfDC3IwGTTLeJOJP_KDib"},{"door_coords":{"z":35.47783660888672,"y":3650.487060546875,"x":1658.97412109375},"model_hash":210723210,"unique_id":"nckCyM7SX3cEY8lgFrbhN"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":8,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HX78-SMA4-AHCJ-N2O8","door_data":[{"door_coords":{"z":38.252197265625,"y":3671.767333984375,"x":1661.5064697265626},"model_hash":734304936,"unique_id":"lzrkAZC0OB2rwbk5FepAL"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Patient 5","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LQ3D-ZOVN-6JX3-HCWZ","door_data":[{"door_coords":{"z":35.47974395751953,"y":3651.7919921875,"x":1662.5172119140626},"model_hash":548373120,"unique_id":"Fjn7T3wk76g9gC8PpNgWe"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Lockers","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"PKXS-2LLG-IKVN-EP0P","door_data":[{"door_coords":{"z":35.49288940429687,"y":3654.672119140625,"x":1660.7786865234376},"model_hash":1273228324,"unique_id":"u-znLBJQtPncfHZfSwGSL"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Diagnosis 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Q2WK-ZE92-E0QN-GCZC","door_data":[{"door_coords":{"z":35.49290466308594,"y":3662.199951171875,"x":1668.139404296875},"model_hash":1273228324,"unique_id":"1aLOWD2n5RhadqzrVoROA"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Parking Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Q98I-2H14-SR0B-LOL6","door_data":[{"door_coords":{"z":35.4928970336914,"y":3660.48974609375,"x":1652.4385986328126},"model_hash":-1498975473,"unique_id":"fbQyOr8qBOIapQ6ugjVlq"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Patient 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TKXU-MESK-RGGC-K4P6","door_data":[{"door_coords":{"z":35.47783279418945,"y":3647.8916015625,"x":1670.13427734375},"model_hash":548373120,"unique_id":"WKNBCkqw06VOlJDedyZvR"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"double","door_sound":"door_regular.ogg","door_name":"Parking","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VOBV-8AR1-2ZB5-7M80","door_data":[{"door_coords":{"z":35.49092864990234,"y":3659.866455078125,"x":1655.9237060546876},"model_hash":270965283,"unique_id":"ldeZqsB0m77-1IkRptt0z"},{"door_coords":{"z":35.49093246459961,"y":3659.215576171875,"x":1654.786865234375},"model_hash":270965283,"unique_id":"yREgsP5CqgpCVkWSD88PG"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":8,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Y08T-E51Y-7J8E-5DIH","door_data":[{"door_coords":{"z":36.64814758300781,"y":3675.858642578125,"x":1660.431640625},"model_hash":734304936,"unique_id":"zyanZHIKOGv_XrBSrb7n7"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":8,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"garage","door_sound":"door_switch.ogg","door_name":"Garage 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YPE8-WG28-DRMM-N1WH","door_data":[{"door_coords":{"z":36.63920974731445,"y":3668.792724609375,"x":1664.5103759765626},"model_hash":734304936,"unique_id":"HOML9v5Xedf4uTvEq5ekB"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Patient 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YSA2-ANPN-770Z-1GO5","door_data":[{"door_coords":{"z":35.48094177246094,"y":3642.83056640625,"x":1661.36962890625},"model_hash":548373120,"unique_id":"QLrl83LTl-jm4AaTFJOEs"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Clinic","door_type":"single","door_sound":"door_regular.ogg","door_name":"Patient 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZQDQ-GLJL-74C8-8FVY","door_data":[{"door_coords":{"z":35.47783279418945,"y":3650.52587890625,"x":1674.6942138671876},"model_hash":548373120,"unique_id":"0x2R75Ts4T5z0DBo9rQ5k"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Fleeca.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Fleeca.json
new file mode 100644
index 000000000..0564475b0
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Fleeca.json
@@ -0,0 +1 @@
+{"name":"[GN_Studios]_Sandy_Fleeca.json","imported":false,"data":[{"keep_open":false,"door_type":"single","default_state":true,"door_data":[{"model_hash":-1184592117,"door_coords":{"y":3633.474365234375,"x":1732.72021484375,"z":35.73540496826172},"unique_id":"URqA-ZfGCihVjwGKpyfvY"}],"door_unlock_sound":"door_metal.ogg","location_group":"Sandy Fleeca","items":[],"state":true,"door_name":"Tellers","camera":false,"unique_id":"208V-7CWX-LY5I-46L3","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_metal.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":true,"door_data":[{"model_hash":1309269072,"door_coords":{"y":3627.6767578125,"x":1727.665771484375,"z":35.7817153930664},"unique_id":"WilqV0QaVV_sBSo-V7oMH"}],"door_unlock_sound":"door_metal.ogg","location_group":"Sandy Fleeca","items":[],"state":true,"door_name":"Inside Vault","camera":false,"unique_id":"B3QV-GJRQ-XA85-X316","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_metal.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"double","default_state":false,"door_data":[{"model_hash":-353187150,"door_coords":{"y":3638.03466796875,"x":1735.7412109375,"z":35.81352996826172},"unique_id":"N3hOBltb44DwRuF7lSw07"},{"model_hash":-1666470363,"door_coords":{"y":3639.156005859375,"x":1735.0899658203126,"z":35.81353378295898},"unique_id":"yJPlapsup1Nch3u7EHO5A"}],"door_unlock_sound":"door_metal.ogg","location_group":"Sandy Fleeca","items":[],"state":false,"door_name":"Main Entrance","camera":false,"unique_id":"GKU5-BS9W-BYKH-ZB5A","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_metal.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":true,"door_data":[{"model_hash":-1185205679,"door_coords":{"y":3630.833740234375,"x":1726.841064453125,"z":35.6222038269043},"unique_id":"E6PLT6lVfp0R-e2WPzBBg"}],"door_unlock_sound":"door_switch.ogg","location_group":"Sandy Fleeca","items":[],"state":true,"door_name":"Vault Door","camera":false,"unique_id":"Q6JB-L6S4-ZSIV-OCBJ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_switch.ogg","distance":2,"lockpickable":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Motel.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Motel.json
new file mode 100644
index 000000000..5809a1c4d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Motel.json
@@ -0,0 +1 @@
+{"name":"[GN_Studios]_Sandy_Motel.json","imported":false,"data":[{"keep_open":false,"door_type":"double","default_state":false,"door_data":[{"model_hash":-1148826190,"door_coords":{"y":3573.707763671875,"x":1497.470947265625,"z":35.68069458007812},"unique_id":"OWLqY8vG5fPOt0jXztRTP"},{"model_hash":868499217,"door_coords":{"y":3574.277099609375,"x":1498.4576416015626,"z":35.68069458007812},"unique_id":"y6ODK2Xglm3MP8jLUsAEu"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"Entrance","camera":false,"unique_id":"0ZTH-TFHY-5XJE-OT3B","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3569.449462890625,"x":1613.2528076171876,"z":35.48500061035156},"unique_id":"EyYIYpSOOB_1Msn6X2ozr"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"120-1","camera":false,"unique_id":"18SA-5NEI-CL6P-KYS5","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3615.148193359375,"x":1586.8682861328126,"z":35.48622894287109},"unique_id":"aqLcAQpGxqOmGCKhzQeFj"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"112-1","camera":false,"unique_id":"28KB-QBUT-WVHP-DG9R","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3580.914306640625,"x":1512.3310546875,"z":38.78789520263672},"unique_id":"lsl183IPcDM7wqXXx_7qg"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"202-1","camera":false,"unique_id":"2CUJ-V2S3-C5LH-LOFV","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3569.412841796875,"x":1613.2735595703126,"z":38.78865814208984},"unique_id":"ZfYprHcoKcpOujYECS4Pk"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"220-1","camera":false,"unique_id":"2MHS-4VOT-12M1-R4GQ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3573.15478515625,"x":1522.021484375,"z":35.53425598144531},"unique_id":"HngamDnVIGewXm1eFm7dG"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"103","camera":false,"unique_id":"2OYZ-0UVO-A1F8-1ZNH","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3586.146728515625,"x":1544.534912109375,"z":35.53425598144531},"unique_id":"XsDBQ28tt9ADRWtAnKXte"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"106","camera":false,"unique_id":"2ZTW-2C4F-XDVM-3UIE","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3618.716552734375,"x":1584.814208984375,"z":38.78865814208984},"unique_id":"ja-xf1IDilDlvS7TGHIwi"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"211-1","camera":false,"unique_id":"3TDA-LE1C-5MZ2-U1TF","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3594.509033203125,"x":1598.79052734375,"z":35.48622894287109},"unique_id":"WGaZnvcauDHZsdhthBzFa"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"115-1","camera":false,"unique_id":"4ZUB-3UA9-GWZL-Y069","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3600.474853515625,"x":1546.2117919921876,"z":35.48622894287109},"unique_id":"DgyTL16m6JIAnTj72Ml_R"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"108-1","camera":false,"unique_id":"5H9M-2RWR-P5JK-ONU1","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3591.73291015625,"x":1554.1912841796876,"z":35.53425598144531},"unique_id":"Cw4YrFRinGmARrOOHCUro"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"108","camera":false,"unique_id":"5VP7-Q68O-O4K7-IHOQ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3597.5029296875,"x":1583.6961669921876,"z":35.53425598144531},"unique_id":"DnZRt3lPU0SLuOacNO9jc"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"114","camera":false,"unique_id":"82CM-ZNLI-X3RV-XUGG","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3581.55322265625,"x":1536.5679931640626,"z":35.53425598144531},"unique_id":"axEjaWV2uYmE_eYaZlg4n"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"105","camera":false,"unique_id":"8CNL-7DAG-74LU-EXHW","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3607.325927734375,"x":1558.0782470703126,"z":38.78865814208984},"unique_id":"VR81PzsrEbmDHi6xQHpB-"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"210-1","camera":false,"unique_id":"8EHC-1GXL-524N-3IZM","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3577.748291015625,"x":1529.9884033203126,"z":35.53425598144531},"unique_id":"7K67ng6RxEsvo3mKRxGIM"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"104","camera":false,"unique_id":"8I6P-WPUI-D6PC-RAKC","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3582.95654296875,"x":1592.0946044921876,"z":38.83668518066406},"unique_id":"6RaPFhlsMDWYdn4IAJNy5"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"216","camera":false,"unique_id":"8M0P-OYRM-YCVY-I9EF","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3577.748291015625,"x":1529.9884033203126,"z":38.83668518066406},"unique_id":"myTYAoqlcBFV7HFTwiNxD"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"204","camera":false,"unique_id":"8NWJ-SZ7L-1RR8-1XR9","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3605.487060546875,"x":1592.4461669921876,"z":38.78865814208984},"unique_id":"qly3J7OCZMSRQy3wCQ5R1"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"214-1","camera":false,"unique_id":"8R4T-HLTV-B5Y5-STGL","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3587.131103515625,"x":1546.2291259765626,"z":35.53425598144531},"unique_id":"GdRtK7lx-BB0cCGOBtq68"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"107","camera":false,"unique_id":"8XIJ-VTX4-ZWX2-WV2Y","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3593.982177734375,"x":1558.0955810546876,"z":38.83668518066406},"unique_id":"bQ6koUcwmz2B9_5t7oULO"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"209","camera":false,"unique_id":"9HZN-R1OH-B8C6-B8U2","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3561.4287109375,"x":1604.5235595703126,"z":38.83668518066406},"unique_id":"peii9Oe3vg9HpFwALUXY0"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"220","camera":false,"unique_id":"9LE2-373B-G3WJ-E84X","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3573.29541015625,"x":1597.6724853515626,"z":38.83668518066406},"unique_id":"38iar1ZstPXTaOz2kzDKs"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"218","camera":false,"unique_id":"9RP3-4E4S-GWAM-SRTA","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3594.89453125,"x":1536.5498046875,"z":38.78771591186523},"unique_id":"M-SfwQtxoIFuiAKVO8qc2"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"206-1","camera":false,"unique_id":"9TYN-ISPU-HW0B-IWRW","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3578.86669921875,"x":1508.774658203125,"z":38.78865814208984},"unique_id":"W3eLy7wNjOP148xlLy_tU"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"201-1","camera":false,"unique_id":"9U0R-WCX8-1GET-V9DP","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3600.474853515625,"x":1546.2117919921876,"z":38.78865814208984},"unique_id":"CGCuJFOkvFc1MVLXJCioA"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"208-1","camera":false,"unique_id":"A3UX-GTHF-EK67-5GLC","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3605.46923828125,"x":1579.1016845703126,"z":35.53423690795898},"unique_id":"PqzyntY4VaG26BUVA7xyr"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"113","camera":false,"unique_id":"A4TK-3RFP-4HNP-X1AQ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3586.49853515625,"x":1522.004150390625,"z":38.78865814208984},"unique_id":"potRqOU2asYN6p8kVHAwi"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"204-1","camera":false,"unique_id":"AIYK-TWWI-XQK3-7EYZ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3615.131591796875,"x":1573.5257568359376,"z":35.53425598144531},"unique_id":"pC8hd4lM-aByF41nuPbkX"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"111","camera":false,"unique_id":"AN6O-DZEN-6TBF-YOK5","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3593.982177734375,"x":1558.0955810546876,"z":35.53425598144531},"unique_id":"aVveL8jch257y9bgKdcPK"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"109","camera":false,"unique_id":"BFBE-C5LI-C55U-SE9B","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3591.724609375,"x":1554.196044921875,"z":38.83668518066406},"unique_id":"_RxVoO2lEo0hV1PI_dmP7"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"208","camera":false,"unique_id":"D4XG-VTDL-H4DG-W9KJ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3581.55322265625,"x":1536.5679931640626,"z":38.83668518066406},"unique_id":"dnOWfxcoFZEuPfUxib21V"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"205","camera":false,"unique_id":"DB66-3SFW-9L5O-EXHU","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3590.92431640625,"x":1587.5028076171876,"z":38.83665466308594},"unique_id":"jm0yESTPIDEVV8K9oaLgL"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"215","camera":false,"unique_id":"DLR6-TL3L-AOGM-RPR6","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3609.055419921875,"x":1590.39208984375,"z":35.48622894287109},"unique_id":"cjjwzPaRVtg7Y9RpiYiPa"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"113-1","camera":false,"unique_id":"DSO9-I3AM-N392-AGJW","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3567.576416015625,"x":1512.360595703125,"z":35.53425598144531},"unique_id":"de9HZphAOyq8CacCNeiYS"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"101","camera":false,"unique_id":"E015-4UPI-MEXT-YYMZ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3590.940673828125,"x":1600.8446044921876,"z":35.48622894287109},"unique_id":"ooFyVUWGEQBeymuhrJOdq"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"116-1","camera":false,"unique_id":"E127-KA1G-I2K2-KQUN","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1148826190,"door_coords":{"y":3574.16015625,"x":1503.0203857421876,"z":35.68069458007812},"unique_id":"tXo5NCe5x-Dq8nS1nNDX-"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"Side Entrance","camera":false,"unique_id":"E65I-MRR9-GGVQ-J4PY","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3592.843017578125,"x":1532.9822998046876,"z":35.48622894287109},"unique_id":"LmcZ6priCuNrf-9MzAw2A"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"105-1","camera":false,"unique_id":"F7KS-DJKC-K07O-6J1G","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3584.847900390625,"x":1604.368408203125,"z":35.48622894287109},"unique_id":"_RSqlDPTeaDBSBKetKRex"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"117-1","camera":false,"unique_id":"FGRZ-B13K-B2RJ-HWZQ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3582.95654296875,"x":1592.0946044921876,"z":35.53425598144531},"unique_id":"HbaBNgxQ8XMzXsGIJUdyh"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"116","camera":false,"unique_id":"GA1U-S8GO-IXG5-7XJ5","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3590.940673828125,"x":1600.8446044921876,"z":38.78865814208984},"unique_id":"D3ogJCWPmzmLwXC-yvNXU"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"216-1","camera":false,"unique_id":"HG1N-43ZT-MY56-22DR","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3584.444580078125,"x":1518.435791015625,"z":35.48622894287109},"unique_id":"3_SVaxwOCO1aPq68ED2k_"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"103-1","camera":false,"unique_id":"I1NW-7SKW-OC7G-8Q63","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3584.847900390625,"x":1604.368408203125,"z":38.78865814208984},"unique_id":"pk70gfypEvCWTNw8arz8n"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"217-1","camera":false,"unique_id":"I1YG-B8XF-I597-6P0B","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3586.146728515625,"x":1544.534912109375,"z":38.83668518066406},"unique_id":"CJ_fcw6MIT0wsDsbYjYtw"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"206","camera":false,"unique_id":"I75M-YKV8-A3YZ-JIZ2","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3572.17041015625,"x":1520.3272705078126,"z":35.53425598144531},"unique_id":"KIBLU5-L3OaO_AqTur_NR"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"102","camera":false,"unique_id":"IMUD-PBW1-9XOU-2LMK","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3573.29541015625,"x":1597.6724853515626,"z":35.53425598144531},"unique_id":"5gl1mzKYI7wQA8EKcyCr_"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"118","camera":false,"unique_id":"JMQH-81OX-5P7N-W398","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3598.4208984375,"x":1542.6434326171876,"z":35.48622894287109},"unique_id":"LkA2vjLkqwq2WmXatSJcj"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"107-1","camera":false,"unique_id":"JY7Z-B89G-3XSA-7Z1N","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3598.57568359375,"x":1566.0625,"z":38.83668518066406},"unique_id":"xZxZSkOQGPnOrGewY3wHH"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"210","camera":false,"unique_id":"KOG8-6LY0-XOX1-4NA4","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"double","default_state":false,"door_data":[{"model_hash":-1859912284,"door_coords":{"y":3569.715576171875,"x":1503.8138427734376,"z":35.34831619262695},"unique_id":"MFU2UMtA4uTS56bIKT96P"},{"model_hash":-1209382104,"door_coords":{"y":3569.40283203125,"x":1503.272216796875,"z":35.34833145141601},"unique_id":"2YcKiZbG6X6ir_Fa0B5B9"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"Archives","camera":false,"unique_id":"KV7N-CFZU-VZUU-CFLG","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3618.705078125,"x":1584.8204345703126,"z":35.48494720458984},"unique_id":"WYvH6FzetBS2zFypAyR7r"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"111-1","camera":false,"unique_id":"LB5I-WYYI-8GP9-KDKJ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3569.395751953125,"x":1599.9300537109376,"z":35.53425598144531},"unique_id":"ZIlcahIT1Gys19vxiyvLi"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"119","camera":false,"unique_id":"LH5X-O9OR-7R36-FG1X","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3572.17041015625,"x":1520.3272705078126,"z":38.83668518066406},"unique_id":"blL1fFRpCZM4IBeGFjXHl"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"202","camera":false,"unique_id":"LK2B-MXD4-OT5K-JXUO","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3572.9794921875,"x":1611.220703125,"z":38.78711318969726},"unique_id":"6EqEZy8y2LIBmwREJ8yGQ"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"219-1","camera":false,"unique_id":"M5LT-ORUU-TFTM-DRGC","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3580.920654296875,"x":1512.343017578125,"z":35.48622894287109},"unique_id":"CNcADDxO3bqRVoKobOpv8"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"102-1","camera":false,"unique_id":"M844-4JYW-OR0N-DLNX","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3581.279541015625,"x":1606.4224853515626,"z":38.78865814208984},"unique_id":"tQhZWbuqtJZWqQvBNp-Bg"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"218-1","camera":false,"unique_id":"MKJB-OV81-4WTF-1NQA","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3581.262451171875,"x":1593.0789794921876,"z":35.53425598144531},"unique_id":"Ldvl70XzWaf-r7_uTGnMx"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"117","camera":false,"unique_id":"MQLR-AGSX-VE33-FF15","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3594.509033203125,"x":1598.79052734375,"z":38.78865814208984},"unique_id":"hMUFCc9ZzYZ7nWvsL0BIB"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"215-1","camera":false,"unique_id":"NDW8-0DNA-1F74-3UA1","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3598.4208984375,"x":1542.6434326171876,"z":38.78865814208984},"unique_id":"8Kjg-0NXGw4e1RT1_0awN"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"207-1","camera":false,"unique_id":"NDXM-1TVW-ZLLN-VO6X","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3615.131103515625,"x":1573.5247802734376,"z":38.83668518066406},"unique_id":"B6DEWY3ZKS4hHKhV_WSdW"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"211","camera":false,"unique_id":"NHNF-V0HZ-C0KX-7LQN","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3569.395751953125,"x":1599.9300537109376,"z":38.83668518066406},"unique_id":"EG_iecMDyErKcbAPhSDws"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"219","camera":false,"unique_id":"NQ5B-6167-T1B6-MUJM","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3598.57568359375,"x":1566.0625,"z":35.53425598144531},"unique_id":"M6d-Lmt4p9PkqXwNEySIi"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"110","camera":false,"unique_id":"OVU1-GKCT-EW85-V4P7","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3578.86474609375,"x":1508.7779541015626,"z":35.48271179199219},"unique_id":"lF7djuKJeOlu1XMQLfhW1"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"101-1","camera":false,"unique_id":"OZFA-4VXR-7WC4-863F","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3607.325927734375,"x":1558.0782470703126,"z":35.48622894287109},"unique_id":"wjOLIEAEodLxU4kXMORL2"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"110-1","camera":false,"unique_id":"PES6-BN50-VWU3-BLJB","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3609.055419921875,"x":1590.39208984375,"z":38.78865814208984},"unique_id":"jnenWBpHrp4I6tXjwvrHg"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"213-1","camera":false,"unique_id":"PQPO-VL9H-NA0V-7C7D","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3592.843017578125,"x":1532.9822998046876,"z":38.78865814208984},"unique_id":"MD_YSWE3yg5r-bNCbFJuj"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"205-1","camera":false,"unique_id":"PRE9-0E7M-RFLC-RVQ2","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3573.15478515625,"x":1522.021484375,"z":38.83668518066406},"unique_id":"XbAA2mz70CzZUb3Bp0i6x"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"203","camera":false,"unique_id":"R1VS-4QPP-VOQS-4IKJ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3607.1640625,"x":1578.1182861328126,"z":38.83668518066406},"unique_id":"SmQSV8vfxiP1oDi8MQIlq"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"212","camera":false,"unique_id":"RC4C-SCE5-ZY2G-54MC","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3605.487060546875,"x":1592.4461669921876,"z":35.48622894287109},"unique_id":"DU6Gg-cFn1FCOWf9BvB2d"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"114-1","camera":false,"unique_id":"RIFE-RQ0P-PBOF-AVVZ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3594.89697265625,"x":1536.5506591796876,"z":35.48622894287109},"unique_id":"6lWxSYz0-VkMsvvkmbXl3"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"106-1","camera":false,"unique_id":"SOC7-N3RO-XXX4-62K2","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3587.131103515625,"x":1546.2291259765626,"z":38.83668518066406},"unique_id":"opRMJXkAjUo2qddgiNHlu"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"207","camera":false,"unique_id":"TOI0-U3TU-9CAS-3H0D","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3605.27197265625,"x":1554.5098876953126,"z":38.78865814208984},"unique_id":"KqQluGcQfsxlRSL85ANnc"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"209-1","camera":false,"unique_id":"U0N6-SPK2-W9OR-2V5U","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3605.27197265625,"x":1554.5098876953126,"z":35.48622894287109},"unique_id":"uGcA6CCXD-cdwW2LlRgDF"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"109-1","camera":false,"unique_id":"UDHN-3S47-2O2Q-UDN0","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3615.148193359375,"x":1586.8682861328126,"z":38.78865814208984},"unique_id":"n047HBnN0JrbEeVdgM1pp"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"212-1","camera":false,"unique_id":"UUIT-VJAF-DWQQ-2Y6Q","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3581.279541015625,"x":1606.4224853515626,"z":35.48622894287109},"unique_id":"sBBcaIucs4-UQUIB6vGhm"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"118-1","camera":false,"unique_id":"VJWX-U3FA-APO6-1S8O","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3567.576904296875,"x":1512.3603515625,"z":38.83668518066406},"unique_id":"tIPRwatSvwJyqRf8x2Rbi"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"201","camera":false,"unique_id":"VMSG-OJF4-ZKV2-2W87","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1621472722,"door_coords":{"y":3586.49853515625,"x":1522.004150390625,"z":35.48622894287109},"unique_id":"qF7t-k6uqHgBagCYKt_Cz"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"104-1","camera":false,"unique_id":"VSIE-LE9R-BTYK-V09Q","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3605.469970703125,"x":1579.1026611328126,"z":38.83668518066406},"unique_id":"UgRWQuVDwHIp8EJzKGU39"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"213","camera":false,"unique_id":"WETY-QEU7-UHC4-JNNV","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3590.923583984375,"x":1587.5010986328126,"z":35.53425598144531},"unique_id":"gmagEqLcxPdcf6U6uqxEz"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"115","camera":false,"unique_id":"WOVR-GHJB-7F0P-NNKH","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3584.444580078125,"x":1518.435791015625,"z":38.78865814208984},"unique_id":"sXNS9XqnKtFZGhn5n8dSK"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"203-1","camera":false,"unique_id":"X4NE-ADXZ-QCZ5-KYE3","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1316229487,"door_coords":{"y":3572.981201171875,"x":1611.219482421875,"z":35.48622894287109},"unique_id":"63e4kge9xOsbROaQ0a38r"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"119-1","camera":false,"unique_id":"YF21-VV4G-3IOG-OONK","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3561.4287109375,"x":1604.5235595703126,"z":35.53425598144531},"unique_id":"jBD5xfCHf4zT8eZKtZOXy"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"120","camera":false,"unique_id":"YRCT-O4ZI-L11G-N55R","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3607.164306640625,"x":1578.1185302734376,"z":35.53425598144531},"unique_id":"BFZ1npZDnHCSIlFH2Z83k"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"112","camera":false,"unique_id":"Z8VR-L8AL-RCPI-13GD","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":1058201992,"door_coords":{"y":3581.2626953125,"x":1593.079833984375,"z":38.83668518066406},"unique_id":"caqWXhcPYXtD556AkI6d1"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"217","camera":false,"unique_id":"ZSG0-4MOM-Y1CZ-Y9K7","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":282920221,"door_coords":{"y":3597.5029296875,"x":1583.6961669921876,"z":38.83668518066406},"unique_id":"-LaRpY96bFlueRjrF-I_O"}],"door_unlock_sound":"door_click.ogg","location_group":"Sandy Motel","items":[],"state":false,"door_name":"214","camera":false,"unique_id":"ZZX0-P8RB-NLL5-ZGJU","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Sheriff's_Department.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Sheriff's_Department.json
new file mode 100644
index 000000000..60dd1f74f
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Sheriff's_Department.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Sandy_Sheriff's_Department.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Offices 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"03GY-KFCO-9L4X-99MN","door_data":[{"door_coords":{"z":39.34738159179687,"y":3671.771484375,"x":1827.1497802734376},"model_hash":-1550418369,"unique_id":"O60ZUnPkp1OuXqbgyHHVg"},{"door_coords":{"z":39.34736251831055,"y":3670.914794921875,"x":1827.6566162109376},"model_hash":-1550418369,"unique_id":"7XVkzejbyQ4sgSEbmM0Mf"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Briefing Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"08F1-67HK-DS2P-USP5","door_data":[{"door_coords":{"z":34.8619155883789,"y":3692.484130859375,"x":1820.860107421875},"model_hash":-1121275541,"unique_id":"MVFOKZkf-nh60KZtQrkcn"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Parking","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1DOH-RAJQ-3UJL-6BFU","door_data":[{"door_coords":{"z":34.87535858154297,"y":3691.515380859375,"x":1836.74267578125},"model_hash":-565696197,"unique_id":"3LXeI8VYKOgTinGFPVM4y"},{"door_coords":{"z":34.87535858154297,"y":3690.987060546875,"x":1835.8802490234376},"model_hash":1665053474,"unique_id":"mk1pVVmvw8bCqA0hN_Gj0"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Conference Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1JH6-FR56-CPJQ-1D7S","door_data":[{"door_coords":{"z":34.92951583862305,"y":3686.153564453125,"x":1818.5772705078128},"model_hash":-2050014543,"unique_id":"ZgiiY01mtgzlhh5b5n5vD"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Observation 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"30H5-V820-AG08-PZQN","door_data":[{"door_coords":{"z":30.46493530273437,"y":3667.510009765625,"x":1809.1268310546876},"model_hash":-622203671,"unique_id":"F9SbW_M7BbRIKWfEog_k6"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"ID Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"41K8-9BCH-LH2S-Q0O8","door_data":[{"door_coords":{"z":30.46493530273437,"y":3674.685546875,"x":1821.447998046875},"model_hash":-622203671,"unique_id":"IjXEBl4GYLbIY2oSSA6it"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 10","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5N14-ORFM-R6ZD-DILL","door_data":[{"door_coords":{"z":29.80550003051757,"y":3681.63623046875,"x":1802.9495849609376},"model_hash":1291451476,"unique_id":"Lmhzc167ExmykdGPt3Uuk"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Impound Processing","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5VGJ-NMPP-H3EL-5IDU","door_data":[{"door_coords":{"z":34.88258361816406,"y":3698.850341796875,"x":1830.1661376953128},"model_hash":1091615029,"unique_id":"e1noEU4xLGXPTf08B5bdO"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"724O-2540-5Z6R-VIP6","door_data":[{"door_coords":{"z":34.95266342163086,"y":3670.2392578125,"x":1814.7486572265626},"model_hash":-108776732,"unique_id":"rulUr7FEfVGQUK668snKs"},{"door_coords":{"z":34.95266342163086,"y":3671.521484375,"x":1813.997314453125},"model_hash":868788012,"unique_id":"BbHEF4-TZBpr77FeMsGtL"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":8,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"gates","door_sound":"door_switch.ogg","door_name":"Parking Gate","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"7VBB-0IW2-2XEN-PEH0","door_data":[{"door_coords":{"z":34.26849746704101,"y":3678.04052734375,"x":1867.8896484375},"model_hash":1286535678,"unique_id":"RzFdLZv17IlZwffcP-1xA"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Processing Entrance 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"88WF-Y2E4-FNM7-6WUK","door_data":[{"door_coords":{"z":34.87536239624023,"y":3703.043212890625,"x":1832.1488037109376},"model_hash":-565696197,"unique_id":"BagdjX2s2B_i0oEUWnFuH"},{"door_coords":{"z":34.87536239624023,"y":3702.169921875,"x":1832.65771484375},"model_hash":1665053474,"unique_id":"QcZwqxLgTlSQsoN5tdcxG"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Training Room 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"8IAP-APM7-58OG-WBGP","door_data":[{"door_coords":{"z":34.92951202392578,"y":3662.049072265625,"x":1824.3607177734376},"model_hash":-1550418369,"unique_id":"i0Rny82f-j1ZKNSBT7dNj"},{"door_coords":{"z":34.92951202392578,"y":3661.54833984375,"x":1823.500732421875},"model_hash":-1550418369,"unique_id":"KBcBLXTCsuAHm9j-UctkN"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Processing Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"8L7H-2E5Y-S8UC-OKH0","door_data":[{"door_coords":{"z":34.87536239624023,"y":3703.4482421875,"x":1829.6533203125},"model_hash":1665053474,"unique_id":"1GifFIsG1vWwmBui2nDKt"},{"door_coords":{"z":34.87536239624023,"y":3702.939697265625,"x":1828.7799072265626},"model_hash":-565696197,"unique_id":"YxDaSNNUe2tN-1-_PRB2I"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Staff Rooms","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"98DT-B073-LQGO-XWAH","door_data":[{"door_coords":{"z":34.92951202392578,"y":3670.986328125,"x":1829.05078125},"model_hash":-1550418369,"unique_id":"rg68cS6rmG0OgQfD73F_3"},{"door_coords":{"z":34.92951202392578,"y":3670.12646484375,"x":1829.5516357421876},"model_hash":-1550418369,"unique_id":"-E79Kb7PpW5mpd-W775VO"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cells 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"9KCL-SXH5-AKBA-H8CB","door_data":[{"door_coords":{"z":29.80550003051757,"y":3683.263427734375,"x":1812.2076416015626},"model_hash":1291451476,"unique_id":"lGAhZ9Bvu0pt0cmNXeFJT"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Impound Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"9TDQ-W69K-5MQ4-3OFD","door_data":[{"door_coords":{"z":34.92951202392578,"y":3700.59716796875,"x":1827.884033203125},"model_hash":-1550418369,"unique_id":"4Ig6fQeP-qx_LX_ULKN9a"},{"door_coords":{"z":34.92951202392578,"y":3699.737548828125,"x":1828.3848876953128},"model_hash":-1550418369,"unique_id":"XYgAO7TCvS6I2aoLTnvGa"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Meeting Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"A1C8-SNS5-XUB1-UOMF","door_data":[{"door_coords":{"z":39.27973556518555,"y":3668.78662109375,"x":1827.50830078125},"model_hash":-1121275541,"unique_id":"MkHf3RRJvvUPiiW1Awi5S"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Toilet M","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"B09M-0X7O-AIRQ-RJ4X","door_data":[{"door_coords":{"z":34.86193084716797,"y":3665.374267578125,"x":1823.7449951171876},"model_hash":1166056099,"unique_id":"cWgX4p682Vn6_I9muYc3o"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Gym","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"CKIE-NNIR-33GO-N9XK","door_data":[{"door_coords":{"z":34.92951583862305,"y":3673.6025390625,"x":1838.1312255859376},"model_hash":-2050014543,"unique_id":"QU2d8Nc1oRZE6u4RYIS02"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 6","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"CVAY-6X3K-M4TP-F7SY","door_data":[{"door_coords":{"z":29.80550003051757,"y":3686.072021484375,"x":1806.104248046875},"model_hash":1291451476,"unique_id":"W63fwt74-uQ1Yy2JGnsgh"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Mugshot 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"D6Q4-AFMM-CX2S-UX6X","door_data":[{"door_coords":{"z":29.80525588989257,"y":3690.244140625,"x":1826.5},"model_hash":-622203671,"unique_id":"2KtWuyScffriQRe_VK4w3"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 8","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DCRS-VVUQ-DB30-R2VU","door_data":[{"door_coords":{"z":29.80550003051757,"y":3684.37255859375,"x":1803.1865234375},"model_hash":1291451476,"unique_id":"R_83lLtY6et5GV4FcNfj-"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cells 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ESMM-6F3B-BSH9-8DKZ","door_data":[{"door_coords":{"z":29.80550003051757,"y":3692.353515625,"x":1820.6845703125},"model_hash":1291451476,"unique_id":"iP2FUdScD2lWzKo3rd2LH"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FRWF-TSHA-AAJC-62RB","door_data":[{"door_coords":{"z":29.80550003051757,"y":3692.869873046875,"x":1817.775146484375},"model_hash":1291451476,"unique_id":"dDuCjLrJWwQmh0EIQ4Bc-"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Gym 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FSNL-MMZ6-I82F-JUYV","door_data":[{"door_coords":{"z":34.8619155883789,"y":3667.986328125,"x":1831.423583984375},"model_hash":-1121275541,"unique_id":"NpUKII7IJpceavXAVao0r"}]},{"state":false,"items":[],"door_unlock_sound":"door_switch.ogg","camera":false,"default_state":false,"distance":8,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"gates","door_sound":"door_switch.ogg","door_name":"Impound Gate","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GLNK-AZRC-PKOD-18GD","door_data":[{"door_coords":{"z":33.83152770996094,"y":3711.371337890625,"x":1842.021484375},"model_hash":-1483471451,"unique_id":"vSKR4VqVfrSm9-nbbS-r0"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Large Cell","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"H3AQ-20DW-C56W-UTKS","door_data":[{"door_coords":{"z":29.80550003051757,"y":3686.96240234375,"x":1823.817138671875},"model_hash":1291451476,"unique_id":"ifVYJ5509Yh5DW6we5-EF"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Basement Armory","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HLAH-53DY-ICJS-S7FA","door_data":[{"door_coords":{"z":30.46493530273437,"y":3668.59814453125,"x":1818.19873046875},"model_hash":-622203671,"unique_id":"PrYp4vhJ-Uk1gBZiPYR8E"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Lockers","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JA4X-GFYM-ZXWD-POGB","door_data":[{"door_coords":{"z":34.8619155883789,"y":3680.4755859375,"x":1831.446533203125},"model_hash":-1121275541,"unique_id":"pdBMeLSM7867Z7ALQYZZz"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cells","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JI4H-0NU6-5MUB-0E1H","door_data":[{"door_coords":{"z":29.80550003051757,"y":3684.971435546875,"x":1827.471923828125},"model_hash":1291451476,"unique_id":"OscKGRoWKMR7ughU2ckV4"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"K6VU-ZK6I-49DV-2OEW","door_data":[{"door_coords":{"z":29.80550003051757,"y":3689.470947265625,"x":1811.939697265625},"model_hash":1291451476,"unique_id":"jSYVUIFUwJvwOAmTPRl99"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Offices","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KPNB-MW30-0YUY-8AXO","door_data":[{"door_coords":{"z":34.92950820922851,"y":3683.64013671875,"x":1821.940673828125},"model_hash":1492570183,"unique_id":"R2tZiSU4JsiuFKW-ojqVt"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Interrogation 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KQ9Q-2BBU-CH6D-NL2G","door_data":[{"door_coords":{"z":30.46493530273437,"y":3675.202392578125,"x":1810.4217529296876},"model_hash":-622203671,"unique_id":"D_GMQQpf96bgA3znkNMgL"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Evidence","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LW38-D4GJ-7DBS-RNGU","door_data":[{"door_coords":{"z":30.53204727172851,"y":3666.03173828125,"x":1826.15576171875},"model_hash":-546449684,"unique_id":"vBsBm1fKN9q4qiOkoucCz"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Basement Offices 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"N4Q1-MJAT-JBC9-PTUF","door_data":[{"door_coords":{"z":30.53204536437988,"y":3674.871826171875,"x":1828.9713134765626},"model_hash":-2050014543,"unique_id":"PfJ3bQMT0-Qrv9fVLkqSc"},{"door_coords":{"z":30.53204536437988,"y":3674.36767578125,"x":1828.1072998046876},"model_hash":-2050014543,"unique_id":"rEE4RZwWWyveiGz5dpgza"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ONBD-3RO2-ZXX3-ZRC4","door_data":[{"door_coords":{"z":29.80550003051757,"y":3687.731689453125,"x":1816.6142578125},"model_hash":1291451476,"unique_id":"q3ShuQFcr5D7cmMS8uG_F"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"PXMO-INBH-VVWM-WNLR","door_data":[{"door_coords":{"z":29.80550003051757,"y":3691.17041015625,"x":1814.857421875},"model_hash":1291451476,"unique_id":"rOvxKsEQR-6YeMlFWtoyg"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Briefing Room 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QEWO-Z8MA-3YTN-FPEG","door_data":[{"door_coords":{"z":34.92951202392578,"y":3698.419677734375,"x":1824.9573974609376},"model_hash":-1550418369,"unique_id":"SxeK8_95N-eXZyVSlObdT"},{"door_coords":{"z":34.92951202392578,"y":3697.559814453125,"x":1825.458251953125},"model_hash":-1550418369,"unique_id":"679o_5UzUzqaMvv9O9Pd2"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Patrol","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RCMU-0DQ0-CWWI-O5CR","door_data":[{"door_coords":{"z":34.86191177368164,"y":3694.922607421875,"x":1826.9951171875},"model_hash":1091615029,"unique_id":"IzmqBjeG7VMeGfElUqZzP"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Dispatch","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RKS8-GXXB-WA4A-TLCW","door_data":[{"door_coords":{"z":39.27973556518555,"y":3683.296142578125,"x":1818.6220703125},"model_hash":-1121275541,"unique_id":"pLQ5EUxSr-FowudmX4ZYM"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 7","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"S2AH-HGFP-GI0E-RNFN","door_data":[{"door_coords":{"z":29.80550003051757,"y":3683.07421875,"x":1808.6181640625},"model_hash":1291451476,"unique_id":"sV-TdhBVA65cM0YyUcp3B"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Observation 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"SHVV-44HM-FH0I-QVCK","door_data":[{"door_coords":{"z":30.46493530273437,"y":3671.30126953125,"x":1815.6358642578128},"model_hash":-622203671,"unique_id":"i-JIrm-aG4aRrPV0_0H5F"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Basement Offices 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"T0JR-X03R-HX4J-NCWR","door_data":[{"door_coords":{"z":30.53204536437988,"y":3673.781982421875,"x":1833.103515625},"model_hash":-2050014543,"unique_id":"kqmlq9IsMnRYxFSVBhn_r"},{"door_coords":{"z":30.53204727172851,"y":3672.91796875,"x":1833.60791015625},"model_hash":-2050014543,"unique_id":"u7vxp7BfybI8tVQoi-8gk"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Offices 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TTI5-249L-2HY2-Z8NE","door_data":[{"door_coords":{"z":39.34733581542969,"y":3682.954345703125,"x":1820.646240234375},"model_hash":-1550418369,"unique_id":"y6wcrjRyxaZyEsJjB7uQo"},{"door_coords":{"z":39.34733581542969,"y":3682.094482421875,"x":1821.1470947265626},"model_hash":-1550418369,"unique_id":"Z5F_6jr9BZsUosWZC2H9p"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 5","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TUCD-1QC5-QI2P-2B7D","door_data":[{"door_coords":{"z":29.80550003051757,"y":3687.771484375,"x":1809.02197265625},"model_hash":1291451476,"unique_id":"AJPkwjxcNSFhiHr_8EXlh"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Interrogation 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TZRV-JOJG-TQ3T-8RLR","door_data":[{"door_coords":{"z":30.46493530273437,"y":3671.410888671875,"x":1803.9127197265626},"model_hash":-622203671,"unique_id":"qRBiwnSm82q4MU4_K-JdW"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Cell 9","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UEY1-N3NW-PSAH-XE56","door_data":[{"door_coords":{"z":29.80550003051757,"y":3681.374755859375,"x":1805.700439453125},"model_hash":1291451476,"unique_id":"UNByzlliKnzIVDfBMVtvr"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Training Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ULQB-TCXL-28SO-BRWV","door_data":[{"door_coords":{"z":34.92951583862305,"y":3665.48388671875,"x":1830.2569580078128},"model_hash":-2050014543,"unique_id":"0l8Fi6BJ8tVyir7QpM_KW"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Offices 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"V75I-M60N-Y3Y0-GGLW","door_data":[{"door_coords":{"z":34.88258361816406,"y":3685.11328125,"x":1823.9521484375},"model_hash":1091615029,"unique_id":"I4vy6KQAVDeTnZyE0db1V"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Main Armory","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VDOC-JEDT-D2ZU-EMYQ","door_data":[{"door_coords":{"z":34.8619155883789,"y":3693.1630859375,"x":1832.21337890625},"model_hash":-1121275541,"unique_id":"xjPlptD_F5okDfhPxisi7"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Gun Range","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"X2PM-8KFF-698X-QLD3","door_data":[{"door_coords":{"z":30.53204917907715,"y":3665.176025390625,"x":1812.3299560546876},"model_hash":-1550418369,"unique_id":"tk4HEweTqPsWQ_bbdx4lR"},{"door_coords":{"z":30.53204917907715,"y":3664.67529296875,"x":1811.469970703125},"model_hash":-1550418369,"unique_id":"RG1Zcjdqw4Nc_Tq8R1Yw9"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Toilet F","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XCM7-5P56-XE62-MA25","door_data":[{"door_coords":{"z":34.8619155883789,"y":3663.547119140625,"x":1824.810302734375},"model_hash":1523041585,"unique_id":"E0FpP8tpK5oJaP1pzXtrz"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"single","door_sound":"door_metal.ogg","door_name":"Lineup","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Y3Z7-Y9LG-M4QP-HRBF","door_data":[{"door_coords":{"z":30.46493530273437,"y":3679.47216796875,"x":1816.508544921875},"model_hash":-622203671,"unique_id":"PwLrbjcPzY45OZULCsUCP"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Archives","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Y8QS-JQ31-6A8J-XSJ1","door_data":[{"door_coords":{"z":30.53204536437988,"y":3664.001953125,"x":1832.9539794921876},"model_hash":-2050014543,"unique_id":"dv57tHoapQWmCYdCoBChB"},{"door_coords":{"z":30.53204536437988,"y":3663.497802734375,"x":1832.0899658203128},"model_hash":-2050014543,"unique_id":"K0niwbtqxpYc8VC5cSPZ0"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Sandy Sherrif's Department","door_type":"double","door_sound":"door_metal.ogg","door_name":"Mugshot","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YHCP-WFI2-K1XS-2X83","door_data":[{"door_coords":{"z":29.87285614013672,"y":3683.43603515625,"x":1829.88427734375},"model_hash":-1550418369,"unique_id":"Wm1FCwZeAQ9DrZvsF8qBl"},{"door_coords":{"z":29.87285614013672,"y":3684.2958984375,"x":1829.3834228515626},"model_hash":-1550418369,"unique_id":"IutqRggZhgRyO6XtCX9M_"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Sheriff.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Sheriff.json
new file mode 100644
index 000000000..a09cbb389
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Sheriff.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"items":[],"door_data":[{"door_coords":{"z":39.34738159179687,"y":3671.771484375,"x":1827.1497802734376},"model_hash":-1550418369,"unique_id":"O60ZUnPkp1OuXqbgyHHVg"},{"door_coords":{"z":39.34736251831055,"y":3670.914794921875,"x":1827.6566162109376},"model_hash":-1550418369,"unique_id":"7XVkzejbyQ4sgSEbmM0Mf"}],"state":false,"secret":false,"door_name":"Offices 3","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"03GY-KFCO-9L4X-99MN"},{"items":[],"door_data":[{"door_coords":{"z":34.8619155883789,"y":3692.484130859375,"x":1820.860107421875},"model_hash":-1121275541,"unique_id":"MVFOKZkf-nh60KZtQrkcn"}],"state":false,"secret":false,"door_name":"Briefing Room","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"08F1-67HK-DS2P-USP5"},{"items":[],"door_data":[{"door_coords":{"z":34.87535858154297,"y":3691.515380859375,"x":1836.74267578125},"model_hash":-565696197,"unique_id":"3LXeI8VYKOgTinGFPVM4y"},{"door_coords":{"z":34.87535858154297,"y":3690.987060546875,"x":1835.8802490234376},"model_hash":1665053474,"unique_id":"mk1pVVmvw8bCqA0hN_Gj0"}],"state":false,"secret":false,"door_name":"Parking","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"1DOH-RAJQ-3UJL-6BFU"},{"items":[],"door_data":[{"door_coords":{"z":34.92951583862305,"y":3686.153564453125,"x":1818.5772705078128},"model_hash":-2050014543,"unique_id":"ZgiiY01mtgzlhh5b5n5vD"}],"state":false,"secret":false,"door_name":"Conference Room","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"1JH6-FR56-CPJQ-1D7S"},{"items":[],"door_data":[{"door_coords":{"z":30.46493530273437,"y":3667.510009765625,"x":1809.1268310546876},"model_hash":-622203671,"unique_id":"F9SbW_M7BbRIKWfEog_k6"}],"state":false,"secret":false,"door_name":"Observation 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"30H5-V820-AG08-PZQN"},{"items":[],"door_data":[{"door_coords":{"z":30.46493530273437,"y":3674.685546875,"x":1821.447998046875},"model_hash":-622203671,"unique_id":"IjXEBl4GYLbIY2oSSA6it"}],"state":false,"secret":false,"door_name":"ID Room","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"41K8-9BCH-LH2S-Q0O8"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3681.63623046875,"x":1802.9495849609376},"model_hash":1291451476,"unique_id":"Lmhzc167ExmykdGPt3Uuk"}],"state":false,"secret":false,"door_name":"Cell 10","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"5N14-ORFM-R6ZD-DILL"},{"items":[],"door_data":[{"door_coords":{"z":34.88258361816406,"y":3698.850341796875,"x":1830.1661376953128},"model_hash":1091615029,"unique_id":"e1noEU4xLGXPTf08B5bdO"}],"state":false,"secret":false,"door_name":"Impound Processing","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"5VGJ-NMPP-H3EL-5IDU"},{"items":[],"door_data":[{"door_coords":{"z":34.95266342163086,"y":3670.2392578125,"x":1814.7486572265626},"model_hash":-108776732,"unique_id":"rulUr7FEfVGQUK668snKs"},{"door_coords":{"z":34.95266342163086,"y":3671.521484375,"x":1813.997314453125},"model_hash":868788012,"unique_id":"BbHEF4-TZBpr77FeMsGtL"}],"state":false,"secret":false,"door_name":"Main Entrance","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"724O-2540-5Z6R-VIP6"},{"items":[],"door_data":[{"door_coords":{"z":34.26849746704101,"y":3678.04052734375,"x":1867.8896484375},"model_hash":1286535678,"unique_id":"RzFdLZv17IlZwffcP-1xA"}],"state":false,"secret":false,"door_name":"Parking Gate","distance":8,"door_unlock_sound":"door_switch.ogg","door_type":"gates","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_switch.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"7VBB-0IW2-2XEN-PEH0"},{"items":[],"door_data":[{"door_coords":{"z":34.87536239624023,"y":3703.043212890625,"x":1832.1488037109376},"model_hash":-565696197,"unique_id":"BagdjX2s2B_i0oEUWnFuH"},{"door_coords":{"z":34.87536239624023,"y":3702.169921875,"x":1832.65771484375},"model_hash":1665053474,"unique_id":"QcZwqxLgTlSQsoN5tdcxG"}],"state":false,"secret":false,"door_name":"Processing Entrance 1","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"88WF-Y2E4-FNM7-6WUK"},{"items":[],"door_data":[{"door_coords":{"z":34.92951202392578,"y":3662.049072265625,"x":1824.3607177734376},"model_hash":-1550418369,"unique_id":"i0Rny82f-j1ZKNSBT7dNj"},{"door_coords":{"z":34.92951202392578,"y":3661.54833984375,"x":1823.500732421875},"model_hash":-1550418369,"unique_id":"KBcBLXTCsuAHm9j-UctkN"}],"state":false,"secret":false,"door_name":"Training Room 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"8IAP-APM7-58OG-WBGP"},{"items":[],"door_data":[{"door_coords":{"z":34.87536239624023,"y":3703.4482421875,"x":1829.6533203125},"model_hash":1665053474,"unique_id":"1GifFIsG1vWwmBui2nDKt"},{"door_coords":{"z":34.87536239624023,"y":3702.939697265625,"x":1828.7799072265626},"model_hash":-565696197,"unique_id":"YxDaSNNUe2tN-1-_PRB2I"}],"state":false,"secret":false,"door_name":"Processing Entrance 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"8L7H-2E5Y-S8UC-OKH0"},{"items":[],"door_data":[{"door_coords":{"z":34.92951202392578,"y":3670.986328125,"x":1829.05078125},"model_hash":-1550418369,"unique_id":"rg68cS6rmG0OgQfD73F_3"},{"door_coords":{"z":34.92951202392578,"y":3670.12646484375,"x":1829.5516357421876},"model_hash":-1550418369,"unique_id":"-E79Kb7PpW5mpd-W775VO"}],"state":false,"secret":false,"door_name":"Staff Rooms","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"98DT-B073-LQGO-XWAH"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3683.263427734375,"x":1812.2076416015626},"model_hash":1291451476,"unique_id":"lGAhZ9Bvu0pt0cmNXeFJT"}],"state":false,"secret":false,"door_name":"Cells 3","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"9KCL-SXH5-AKBA-H8CB"},{"items":[],"door_data":[{"door_coords":{"z":34.92951202392578,"y":3700.59716796875,"x":1827.884033203125},"model_hash":-1550418369,"unique_id":"4Ig6fQeP-qx_LX_ULKN9a"},{"door_coords":{"z":34.92951202392578,"y":3699.737548828125,"x":1828.3848876953128},"model_hash":-1550418369,"unique_id":"XYgAO7TCvS6I2aoLTnvGa"}],"state":false,"secret":false,"door_name":"Impound Entrance","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"9TDQ-W69K-5MQ4-3OFD"},{"items":[],"door_data":[{"door_coords":{"z":39.27973556518555,"y":3668.78662109375,"x":1827.50830078125},"model_hash":-1121275541,"unique_id":"MkHf3RRJvvUPiiW1Awi5S"}],"state":false,"secret":false,"door_name":"Meeting Room","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"A1C8-SNS5-XUB1-UOMF"},{"items":[],"door_data":[{"door_coords":{"z":34.86193084716797,"y":3665.374267578125,"x":1823.7449951171876},"model_hash":1166056099,"unique_id":"cWgX4p682Vn6_I9muYc3o"}],"state":false,"secret":false,"door_name":"Toilet M","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"B09M-0X7O-AIRQ-RJ4X"},{"items":[],"door_data":[{"door_coords":{"z":34.92951583862305,"y":3673.6025390625,"x":1838.1312255859376},"model_hash":-2050014543,"unique_id":"QU2d8Nc1oRZE6u4RYIS02"}],"state":false,"secret":false,"door_name":"Gym","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"CKIE-NNIR-33GO-N9XK"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3686.072021484375,"x":1806.104248046875},"model_hash":1291451476,"unique_id":"W63fwt74-uQ1Yy2JGnsgh"}],"state":false,"secret":false,"door_name":"Cell 6","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"CVAY-6X3K-M4TP-F7SY"},{"items":[],"door_data":[{"door_coords":{"z":29.80525588989257,"y":3690.244140625,"x":1826.5},"model_hash":-622203671,"unique_id":"2KtWuyScffriQRe_VK4w3"}],"state":false,"secret":false,"door_name":"Mugshot 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"D6Q4-AFMM-CX2S-UX6X"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3684.37255859375,"x":1803.1865234375},"model_hash":1291451476,"unique_id":"R_83lLtY6et5GV4FcNfj-"}],"state":false,"secret":false,"door_name":"Cell 8","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"DCRS-VVUQ-DB30-R2VU"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3692.353515625,"x":1820.6845703125},"model_hash":1291451476,"unique_id":"iP2FUdScD2lWzKo3rd2LH"}],"state":false,"secret":false,"door_name":"Cells 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"ESMM-6F3B-BSH9-8DKZ"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3692.869873046875,"x":1817.775146484375},"model_hash":1291451476,"unique_id":"dDuCjLrJWwQmh0EIQ4Bc-"}],"state":false,"secret":false,"door_name":"Cell 1","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"FRWF-TSHA-AAJC-62RB"},{"items":[],"door_data":[{"door_coords":{"z":34.8619155883789,"y":3667.986328125,"x":1831.423583984375},"model_hash":-1121275541,"unique_id":"NpUKII7IJpceavXAVao0r"}],"state":false,"secret":false,"door_name":"Gym 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"FSNL-MMZ6-I82F-JUYV"},{"items":[],"door_data":[{"door_coords":{"z":33.83152770996094,"y":3711.371337890625,"x":1842.021484375},"model_hash":-1483471451,"unique_id":"vSKR4VqVfrSm9-nbbS-r0"}],"state":false,"secret":false,"door_name":"Impound Gate","distance":8,"door_unlock_sound":"door_switch.ogg","door_type":"gates","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_switch.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"GLNK-AZRC-PKOD-18GD"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3686.96240234375,"x":1823.817138671875},"model_hash":1291451476,"unique_id":"ifVYJ5509Yh5DW6we5-EF"}],"state":false,"secret":false,"door_name":"Large Cell","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"H3AQ-20DW-C56W-UTKS"},{"items":[],"door_data":[{"door_coords":{"z":30.46493530273437,"y":3668.59814453125,"x":1818.19873046875},"model_hash":-622203671,"unique_id":"PrYp4vhJ-Uk1gBZiPYR8E"}],"state":false,"secret":false,"door_name":"Basement Armory","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"HLAH-53DY-ICJS-S7FA"},{"items":[],"door_data":[{"door_coords":{"z":34.8619155883789,"y":3680.4755859375,"x":1831.446533203125},"model_hash":-1121275541,"unique_id":"pdBMeLSM7867Z7ALQYZZz"}],"state":false,"secret":false,"door_name":"Lockers","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"JA4X-GFYM-ZXWD-POGB"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3684.971435546875,"x":1827.471923828125},"model_hash":1291451476,"unique_id":"OscKGRoWKMR7ughU2ckV4"}],"state":false,"secret":false,"door_name":"Cells","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"JI4H-0NU6-5MUB-0E1H"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3689.470947265625,"x":1811.939697265625},"model_hash":1291451476,"unique_id":"jSYVUIFUwJvwOAmTPRl99"}],"state":false,"secret":false,"door_name":"Cell 4","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"K6VU-ZK6I-49DV-2OEW"},{"items":[],"door_data":[{"door_coords":{"z":34.92950820922851,"y":3683.64013671875,"x":1821.940673828125},"model_hash":1492570183,"unique_id":"R2tZiSU4JsiuFKW-ojqVt"}],"state":false,"secret":false,"door_name":"Offices","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"KPNB-MW30-0YUY-8AXO"},{"items":[],"door_data":[{"door_coords":{"z":30.46493530273437,"y":3675.202392578125,"x":1810.4217529296876},"model_hash":-622203671,"unique_id":"D_GMQQpf96bgA3znkNMgL"}],"state":false,"secret":false,"door_name":"Interrogation 1","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"KQ9Q-2BBU-CH6D-NL2G"},{"items":[],"door_data":[{"door_coords":{"z":30.53204727172851,"y":3666.03173828125,"x":1826.15576171875},"model_hash":-546449684,"unique_id":"vBsBm1fKN9q4qiOkoucCz"}],"state":false,"secret":false,"door_name":"Evidence","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"LW38-D4GJ-7DBS-RNGU"},{"items":[],"door_data":[{"door_coords":{"z":30.53204536437988,"y":3674.871826171875,"x":1828.9713134765626},"model_hash":-2050014543,"unique_id":"PfJ3bQMT0-Qrv9fVLkqSc"},{"door_coords":{"z":30.53204536437988,"y":3674.36767578125,"x":1828.1072998046876},"model_hash":-2050014543,"unique_id":"rEE4RZwWWyveiGz5dpgza"}],"state":false,"secret":false,"door_name":"Basement Offices 1","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"N4Q1-MJAT-JBC9-PTUF"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3687.731689453125,"x":1816.6142578125},"model_hash":1291451476,"unique_id":"q3ShuQFcr5D7cmMS8uG_F"}],"state":false,"secret":false,"door_name":"Cell 3","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"ONBD-3RO2-ZXX3-ZRC4"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3691.17041015625,"x":1814.857421875},"model_hash":1291451476,"unique_id":"rOvxKsEQR-6YeMlFWtoyg"}],"state":false,"secret":false,"door_name":"Cell 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"PXMO-INBH-VVWM-WNLR"},{"items":[],"door_data":[{"door_coords":{"z":34.92951202392578,"y":3698.419677734375,"x":1824.9573974609376},"model_hash":-1550418369,"unique_id":"SxeK8_95N-eXZyVSlObdT"},{"door_coords":{"z":34.92951202392578,"y":3697.559814453125,"x":1825.458251953125},"model_hash":-1550418369,"unique_id":"679o_5UzUzqaMvv9O9Pd2"}],"state":false,"secret":false,"door_name":"Briefing Room 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"QEWO-Z8MA-3YTN-FPEG"},{"items":[],"door_data":[{"door_coords":{"z":34.86191177368164,"y":3694.922607421875,"x":1826.9951171875},"model_hash":1091615029,"unique_id":"IzmqBjeG7VMeGfElUqZzP"}],"state":false,"secret":false,"door_name":"Patrol","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"RCMU-0DQ0-CWWI-O5CR"},{"items":[],"door_data":[{"door_coords":{"z":39.27973556518555,"y":3683.296142578125,"x":1818.6220703125},"model_hash":-1121275541,"unique_id":"pLQ5EUxSr-FowudmX4ZYM"}],"state":false,"secret":false,"door_name":"Dispatch","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"RKS8-GXXB-WA4A-TLCW"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3683.07421875,"x":1808.6181640625},"model_hash":1291451476,"unique_id":"sV-TdhBVA65cM0YyUcp3B"}],"state":false,"secret":false,"door_name":"Cell 7","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"S2AH-HGFP-GI0E-RNFN"},{"items":[],"door_data":[{"door_coords":{"z":30.46493530273437,"y":3671.30126953125,"x":1815.6358642578128},"model_hash":-622203671,"unique_id":"i-JIrm-aG4aRrPV0_0H5F"}],"state":false,"secret":false,"door_name":"Observation 1","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"SHVV-44HM-FH0I-QVCK"},{"items":[],"door_data":[{"door_coords":{"z":30.53204536437988,"y":3673.781982421875,"x":1833.103515625},"model_hash":-2050014543,"unique_id":"kqmlq9IsMnRYxFSVBhn_r"},{"door_coords":{"z":30.53204727172851,"y":3672.91796875,"x":1833.60791015625},"model_hash":-2050014543,"unique_id":"u7vxp7BfybI8tVQoi-8gk"}],"state":false,"secret":false,"door_name":"Basement Offices 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"T0JR-X03R-HX4J-NCWR"},{"items":[],"door_data":[{"door_coords":{"z":39.34733581542969,"y":3682.954345703125,"x":1820.646240234375},"model_hash":-1550418369,"unique_id":"y6wcrjRyxaZyEsJjB7uQo"},{"door_coords":{"z":39.34733581542969,"y":3682.094482421875,"x":1821.1470947265626},"model_hash":-1550418369,"unique_id":"Z5F_6jr9BZsUosWZC2H9p"}],"state":false,"secret":false,"door_name":"Offices 4","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"TTI5-249L-2HY2-Z8NE"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3687.771484375,"x":1809.02197265625},"model_hash":1291451476,"unique_id":"AJPkwjxcNSFhiHr_8EXlh"}],"state":false,"secret":false,"door_name":"Cell 5","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"TUCD-1QC5-QI2P-2B7D"},{"items":[],"door_data":[{"door_coords":{"z":30.46493530273437,"y":3671.410888671875,"x":1803.9127197265626},"model_hash":-622203671,"unique_id":"qRBiwnSm82q4MU4_K-JdW"}],"state":false,"secret":false,"door_name":"Interrogation 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"TZRV-JOJG-TQ3T-8RLR"},{"items":[],"door_data":[{"door_coords":{"z":29.80550003051757,"y":3681.374755859375,"x":1805.700439453125},"model_hash":1291451476,"unique_id":"UNByzlliKnzIVDfBMVtvr"}],"state":false,"secret":false,"door_name":"Cell 9","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"UEY1-N3NW-PSAH-XE56"},{"items":[],"door_data":[{"door_coords":{"z":34.92951583862305,"y":3665.48388671875,"x":1830.2569580078128},"model_hash":-2050014543,"unique_id":"0l8Fi6BJ8tVyir7QpM_KW"}],"state":false,"secret":false,"door_name":"Training Room","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"ULQB-TCXL-28SO-BRWV"},{"items":[],"door_data":[{"door_coords":{"z":34.88258361816406,"y":3685.11328125,"x":1823.9521484375},"model_hash":1091615029,"unique_id":"I4vy6KQAVDeTnZyE0db1V"}],"state":false,"secret":false,"door_name":"Offices 2","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"V75I-M60N-Y3Y0-GGLW"},{"items":[],"door_data":[{"door_coords":{"z":34.8619155883789,"y":3693.1630859375,"x":1832.21337890625},"model_hash":-1121275541,"unique_id":"xjPlptD_F5okDfhPxisi7"}],"state":false,"secret":false,"door_name":"Main Armory","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"VDOC-JEDT-D2ZU-EMYQ"},{"items":[],"door_data":[{"door_coords":{"z":30.53204917907715,"y":3665.176025390625,"x":1812.3299560546876},"model_hash":-1550418369,"unique_id":"tk4HEweTqPsWQ_bbdx4lR"},{"door_coords":{"z":30.53204917907715,"y":3664.67529296875,"x":1811.469970703125},"model_hash":-1550418369,"unique_id":"RG1Zcjdqw4Nc_Tq8R1Yw9"}],"state":false,"secret":false,"door_name":"Gun Range","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"X2PM-8KFF-698X-QLD3"},{"items":[],"door_data":[{"door_coords":{"z":34.8619155883789,"y":3663.547119140625,"x":1824.810302734375},"model_hash":1523041585,"unique_id":"E0FpP8tpK5oJaP1pzXtrz"}],"state":false,"secret":false,"door_name":"Toilet F","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"XCM7-5P56-XE62-MA25"},{"items":[],"door_data":[{"door_coords":{"z":30.46493530273437,"y":3679.47216796875,"x":1816.508544921875},"model_hash":-622203671,"unique_id":"PwLrbjcPzY45OZULCsUCP"}],"state":false,"secret":false,"door_name":"Lineup","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"single","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"Y3Z7-Y9LG-M4QP-HRBF"},{"items":[],"door_data":[{"door_coords":{"z":30.53204536437988,"y":3664.001953125,"x":1832.9539794921876},"model_hash":-2050014543,"unique_id":"dv57tHoapQWmCYdCoBChB"},{"door_coords":{"z":30.53204536437988,"y":3663.497802734375,"x":1832.0899658203128},"model_hash":-2050014543,"unique_id":"K0niwbtqxpYc8VC5cSPZ0"}],"state":false,"secret":false,"door_name":"Archives","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"Y8QS-JQ31-6A8J-XSJ1"},{"items":[],"door_data":[{"door_coords":{"z":29.87285614013672,"y":3683.43603515625,"x":1829.88427734375},"model_hash":-1550418369,"unique_id":"Wm1FCwZeAQ9DrZvsF8qBl"},{"door_coords":{"z":29.87285614013672,"y":3684.2958984375,"x":1829.3834228515626},"model_hash":-1550418369,"unique_id":"IutqRggZhgRyO6XtCX9M_"}],"state":false,"secret":false,"door_name":"Mugshot","distance":2,"door_unlock_sound":"door_regular.ogg","door_type":"double","location_group":"Sandy Sherrif's Department","camera":false,"lockpickable":false,"keep_open":false,"default_state":false,"door_sound":"door_metal.ogg","perms":{"items":[],"discord":[],"ace":[],"identifier":[],"job":[{"grade":0,"name":"police"}]},"unique_id":"YHCP-WFI2-K1XS-2X83"}],"name":"[GN_Studios]_Sandy_Sheriff.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Super_Lab.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Super_Lab.json
new file mode 100644
index 000000000..1798fbe8f
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Sandy_Super_Lab.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"4VRX-4GDA-BFS0-009O","door_name":"Office","door_data":[{"unique_id":"GFmS2q9pUtBtqfRYXmSaR","model_hash":-952356348,"door_coords":{"z":36.4629898071289,"y":3608.21923828125,"x":1678.419921875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Sandy Super Lab","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"E0AN-OKZB-T6G8-94CX","door_name":"Side Entrance","door_data":[{"unique_id":"ci4OY2GG0X1uuHnmE39jn","model_hash":-1627599682,"door_coords":{"z":36.45282363891601,"y":3594.384033203125,"x":1690.0029296875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Sandy Super Lab","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"E168-M9WR-DQG0-OI6A","door_name":"Laundry Room","door_data":[{"unique_id":"bQ0ou4UQk8lrFxv3pXFvf","model_hash":-1184592117,"door_coords":{"z":36.57880783081055,"y":3606.6455078125,"x":1683.0748291015626}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Sandy Super Lab","door_sound":"door_metal.ogg"},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"H68M-22S2-90G7-PA5E","door_name":"Main Entrance","door_data":[{"unique_id":"i1UoRraSNuYx1E4v1sfJR","model_hash":-287662406,"door_coords":{"z":36.47498321533203,"y":3604.18017578125,"x":1678.6015625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Sandy Super Lab","door_sound":"door_metal.ogg"},{"door_type":"garage","door_unlock_sound":"","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"QTTB-QU4V-G0XM-APBW","door_name":"Garage Door","door_data":[{"unique_id":"dxVPInB1kCgKdwigMB1jU","model_hash":-728539053,"door_coords":{"z":38.52890396118164,"y":3598.459228515625,"x":1688.86376953125}}],"distance":10,"keep_open":false,"lockpickable":false,"location_group":"Sandy Super Lab","door_sound":""},{"door_type":"garage","door_unlock_sound":"","camera":false,"items":[],"default_state":true,"state":false,"secret":true,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"SDB7-Z4QP-M2OL-UFM5","door_name":"Secret Entrance","door_data":[{"unique_id":"35AKixTyewVs0FWWgzSbr","model_hash":-1818411510,"door_coords":{"z":36.53915023803711,"y":3609.92724609375,"x":1698.8927001953126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Sandy Super Lab","door_sound":""},{"door_type":"single","door_unlock_sound":"door_metal.ogg","camera":false,"items":[],"default_state":true,"state":true,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"U1Q1-Y1LO-RDKQ-I2PC","door_name":"Rear Entrance","door_data":[{"unique_id":"1TwYER6JNyNCkeha8BflK","model_hash":-1627599682,"door_coords":{"z":36.45278167724609,"y":3605.263427734375,"x":1704.5775146484376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Sandy Super Lab","door_sound":"door_metal.ogg"}],"name":"[GN_Studios]_Sandy_Super_Lab.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Soony_Badman_Attorney_Sandy.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Soony_Badman_Attorney_Sandy.json
new file mode 100644
index 000000000..b599fd854
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Soony_Badman_Attorney_Sandy.json
@@ -0,0 +1 @@
+{"name":"[GN_Studios]_Soony_Badman_Attorney_Sandy.json","imported":false,"data":[{"keep_open":false,"door_type":"single","default_state":true,"door_data":[{"model_hash":-883893218,"door_coords":{"y":3657.12939453125,"x":1768.371826171875,"z":35.03868103027344},"unique_id":"Lq7YfksBWejyp4_uK3vOM"}],"door_unlock_sound":"door_metal.ogg","location_group":"Soony Badman Attorney Sandy","items":[],"state":false,"door_name":"Office","camera":false,"unique_id":"1B0Z-OS9A-N53D-MYAJ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_metal.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":785657684,"door_coords":{"y":3655.9814453125,"x":1761.9794921875,"z":35.03778457641601},"unique_id":"vR6qILDmErNj80BgbLdx0"}],"door_unlock_sound":"door_metal.ogg","location_group":"Soony Badman Attorney Sandy","items":[],"state":false,"door_name":"Main Entrance","camera":false,"unique_id":"9SPP-22I5-9T5Q-YX6Z","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_metal.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":true,"door_data":[{"model_hash":1981231532,"door_coords":{"y":3651.11279296875,"x":1765.993896484375,"z":35.03801727294922},"unique_id":"q_TPgR5JL2ZCH7eiamZVK"}],"door_unlock_sound":"door_metal.ogg","location_group":"Soony Badman Attorney Sandy","items":[],"state":true,"door_name":"Reception","camera":false,"unique_id":"SJWG-6VEP-OY5G-9XH9","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_metal.ogg","distance":2,"lockpickable":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Terminal_Large_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Terminal_Large_Warehouse.json
new file mode 100644
index 000000000..c46a665ea
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Terminal_Large_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":10,"unique_id":"2W1Z-M5HK-RB7S-03AK","location_group":"Terminal Large Warehouse","door_name":"Main Entrance","door_sound":"","door_data":[{"door_coords":{"x":1204.5389404296876,"z":7.02132606506347,"y":-3110.7744140625},"unique_id":"w_sCImQ5qaL44onkzAE6m","model_hash":-73517283}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false},{"distance":2,"unique_id":"BZ7A-78IV-3A9K-YSU4","location_group":"Terminal Large Warehouse","door_name":"Right Doors","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":1177.676513671875,"z":-6.02301836013793,"y":-3158.70263671875},"unique_id":"RuNSvUFBOl2OQEp1aba-s","model_hash":8891428},{"door_coords":{"x":1177.6756591796876,"z":-6.02302455902099,"y":-3157.39501953125},"unique_id":"NGhKDpdji3LyHCD6Vcpvt","model_hash":1591748701}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"double","secret":false},{"distance":2,"unique_id":"NZL8-X1S6-WGPD-DLO1","location_group":"Terminal Large Warehouse","door_name":"Office","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":1188.9305419921876,"z":-7.11286115646362,"y":-3147.931884765625},"unique_id":"vy2iWnWZ3KJZUwf5nyYaJ","model_hash":97276813}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"single","secret":false},{"distance":2,"unique_id":"OBIW-OR5O-9107-BCQG","location_group":"Terminal Large Warehouse","door_name":"Left Doors","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":1177.6734619140626,"z":-6.0230164527893,"y":-3172.6572265625},"unique_id":"uMju3vCsTRhav35tc5rtU","model_hash":1591748701},{"door_coords":{"x":1177.6744384765626,"z":-6.02301979064941,"y":-3173.96484375},"unique_id":"YQJvda9dwJ0iaqFoZ9pZX","model_hash":8891428}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"double","secret":false}],"imported":false,"name":"[GN_Studios]_Terminal_Large_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_The_Rusty_Tap.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_The_Rusty_Tap.json
new file mode 100644
index 000000000..5303983b7
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_The_Rusty_Tap.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_The_Rusty_Tap.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"The Rusty Tap","door_type":"double","door_sound":"door_click.ogg","door_name":"Enrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"75WO-SABK-HPFP-DIWL","door_data":[{"door_coords":{"z":32.34613418579101,"y":3836.06201171875,"x":1951.974609375},"model_hash":-5479653,"unique_id":"cLubQBQdXuXoMgNzU0ftQ"},{"door_coords":{"z":32.34613418579101,"y":3835.42529296875,"x":1950.8414306640626},"model_hash":-5479653,"unique_id":"ytWjxjY953eGP8R0ZWJUC"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"The Rusty Tap","door_type":"single","door_sound":"door_regular.ogg","door_name":"Rear Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HA2R-KN7Y-HOJ2-LRRV","door_data":[{"door_coords":{"z":35.73884963989258,"y":3842.668212890625,"x":1942.014892578125},"model_hash":532621214,"unique_id":"D0A3MGZW3KaIeuN85yYA5"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Up-N-Atom_Freeway.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Up-N-Atom_Freeway.json
new file mode 100644
index 000000000..efa82162e
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Up-N-Atom_Freeway.json
@@ -0,0 +1 @@
+{"name":"[GN_Studios]_Up-N-Atom_Freeway.json","imported":false,"data":[{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-78588618,"door_coords":{"y":480.6176452636719,"x":2581.3115234375,"z":108.77520751953124},"unique_id":"pqSLonWN_MfX882eh_non"}],"door_unlock_sound":"door_click.ogg","location_group":"Up-N-Atom Freeway","items":[],"state":false,"door_name":"Storage","camera":false,"unique_id":"A7E0-0TOY-X3I7-ME7U","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"double","default_state":false,"door_data":[{"model_hash":-2089697747,"door_coords":{"y":465.0573425292969,"x":2581.199462890625,"z":108.82855224609377},"unique_id":"yKLAxzZLC5loX-eIJaXSm"},{"model_hash":-1155519083,"door_coords":{"y":465.0572204589844,"x":2582.38818359375,"z":108.82855224609377},"unique_id":"HnKv8Bxpzar4qkK2Nr6ru"}],"door_unlock_sound":"door_click.ogg","location_group":"Up-N-Atom Freeway","items":[],"state":false,"door_name":"Entrance","camera":false,"unique_id":"DT54-2GIE-02A0-ZNBJ","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-1635579193,"door_coords":{"y":489.0513000488281,"x":2582.615234375,"z":108.77703094482422},"unique_id":"5qoi-P-opsRUJaxxgwNv7"}],"door_unlock_sound":"door_click.ogg","location_group":"Up-N-Atom Freeway","items":[],"state":false,"door_name":"Rear Entrance","camera":false,"unique_id":"DYSF-67L0-QBBD-NNDN","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"double","default_state":false,"door_data":[{"model_hash":-2089697747,"door_coords":{"y":477.8251953125,"x":2575.19189453125,"z":108.82855224609377},"unique_id":"-brlCDxyNvZ7FfTZ1-mbb"},{"model_hash":-1155519083,"door_coords":{"y":476.6339721679688,"x":2575.191650390625,"z":108.82855224609377},"unique_id":"L-2ARRsi3t_-A_bJdmN0m"}],"door_unlock_sound":"door_click.ogg","location_group":"Up-N-Atom Freeway","items":[],"state":false,"door_name":"Side Entrance","camera":false,"unique_id":"N5PL-ZBVY-DELF-PD6E","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":-582689773,"door_coords":{"y":483.2895202636719,"x":2582.639892578125,"z":108.77537536621094},"unique_id":"w_Ul9WwsO7Q7QAi1FcUvn"}],"door_unlock_sound":"door_click.ogg","location_group":"Up-N-Atom Freeway","items":[],"state":false,"door_name":"Staff Rooms","camera":false,"unique_id":"OSG0-X6D5-NO74-I2SU","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":2037077902,"door_coords":{"y":487.0747375488281,"x":2583.72802734375,"z":108.78301239013672},"unique_id":"NeE_2TTfOspGHV-NnbTPr"}],"door_unlock_sound":"door_click.ogg","location_group":"Up-N-Atom Freeway","items":[],"state":false,"door_name":"Office","camera":false,"unique_id":"WQ0Z-WXJG-T6WB-BK57","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false},{"keep_open":false,"door_type":"single","default_state":false,"door_data":[{"model_hash":2037077902,"door_coords":{"y":487.0753479003906,"x":2581.56689453125,"z":108.78301239013672},"unique_id":"IZqMIcspJkBn0W9qL67et"}],"door_unlock_sound":"door_click.ogg","location_group":"Up-N-Atom Freeway","items":[],"state":false,"door_name":"Lockers","camera":false,"unique_id":"WR3D-7LIM-SXX5-6K6G","perms":{"job":[{"name":"police","grade":0}],"ace":[],"discord":[],"items":[],"identifier":[]},"secret":false,"door_sound":"door_regular.ogg","distance":2,"lockpickable":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Up-N-Atom_Grapeseed.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Up-N-Atom_Grapeseed.json
new file mode 100644
index 000000000..b4890b600
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Up-N-Atom_Grapeseed.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Up-N-Atom_Grapeseed.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Up-N-Atom","door_type":"single","door_sound":"door_regular.ogg","door_name":"Rear Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0KVB-TDJW-7E16-738D","door_data":[{"door_coords":{"z":37.47848892211914,"y":4605.47705078125,"x":1793.9283447265626},"model_hash":-1635579193,"unique_id":"DdBm9ZOyF-BuUED0GndLi"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Up-N-Atom","door_type":"single","door_sound":"door_regular.ogg","door_name":"Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"AZ91-5VTW-JIYM-8XZV","door_data":[{"door_coords":{"z":37.46987152099609,"y":4602.275390625,"x":1793.1170654296876},"model_hash":2070128572,"unique_id":"9pkGb5T1v24hYw3aY1dT7"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Up-N-Atom","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"INI7-B470-34CB-M64S","door_data":[{"door_coords":{"z":37.52574920654297,"y":4592.5927734375,"x":1801.9378662109376},"model_hash":-1521914438,"unique_id":"UGiUAJL8k0-50HZFwo31A"},{"door_coords":{"z":37.52574920654297,"y":4592.69677734375,"x":1803.1220703125},"model_hash":-1830139596,"unique_id":"kYq0oJP5GX2mxvrEulYK0"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Up-N-Atom","door_type":"single","door_sound":"door_regular.ogg","door_name":"Staff Rooms","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"R2UW-U33K-MR7Q-7F0S","door_data":[{"door_coords":{"z":37.47129440307617,"y":4602.44677734375,"x":1795.241943359375},"model_hash":330802554,"unique_id":"ygW357E2SjI3g1xTGybzn"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Up-N-Atom","door_type":"single","door_sound":"door_regular.ogg","door_name":"Freezer","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Y4UF-X7YG-PVH8-SPVK","door_data":[{"door_coords":{"z":37.46632385253906,"y":4600.2685546875,"x":1795.45751953125},"model_hash":-843140266,"unique_id":"tWmciCOqv1ndkd0J9ONC9"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Up-N-Atom_Vinewood.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Up-N-Atom_Vinewood.json
new file mode 100644
index 000000000..ad70ffd35
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Up-N-Atom_Vinewood.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Up-N-Atom_Vinewood.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Up-N-Atom Vinewood","door_type":"single","door_sound":"door_metal.ogg","door_name":"Storage","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"48G2-XJZA-OP5A-5OX8","door_data":[{"door_coords":{"z":110.35955047607422,"y":290.0730895996094,"x":86.43328857421875},"model_hash":-78588618,"unique_id":"HMyGldBFJxsKTcWpuQUKh"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Up-N-Atom Vinewood","door_type":"single","door_sound":"door_metal.ogg","door_name":"Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6FIF-VMNA-SQRC-XHNU","door_data":[{"door_coords":{"z":110.36735534667968,"y":295.0159912109375,"x":91.22066497802736},"model_hash":2037077902,"unique_id":"NWTdr20yIq7bThZlOM7c-"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Up-N-Atom Vinewood","door_type":"double","door_sound":"door_metal.ogg","door_name":"Side","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"G16O-0M5A-JVH7-RU91","door_data":[{"door_coords":{"z":110.41290283203124,"y":288.4382629394531,"x":79.2730484008789},"model_hash":-1155519083,"unique_id":"vTXacUydETjev6BbxYNDX"},{"door_coords":{"z":110.41290283203124,"y":289.5548400878906,"x":79.68846130371094},"model_hash":-2089697747,"unique_id":"l5-0bMEvLyO7GJvIvUDHB"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Up-N-Atom Vinewood","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QIPV-PUUU-DCEY-O5KO","door_data":[{"door_coords":{"z":110.41290283203124,"y":275.5021667480469,"x":80.9669418334961},"model_hash":-2089697747,"unique_id":"bzEDvluedNWPjBAQVofTc"},{"door_coords":{"z":110.41290283203124,"y":275.0955200195313,"x":82.08392333984375},"model_hash":-1155519083,"unique_id":"NbOfJUF16aFx-CPZpmxAf"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Up-N-Atom Vinewood","door_type":"single","door_sound":"door_metal.ogg","door_name":"Rear Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"WG24-2I3W-KE2C-08T8","door_data":[{"door_coords":{"z":110.36136627197266,"y":298.18408203125,"x":90.39363098144533},"model_hash":-1635579193,"unique_id":"7QClqWH_ajXg2BbpEktri"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Vespucci_PD.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Vespucci_PD.json
new file mode 100644
index 000000000..b2c94416e
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Vespucci_PD.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GN_Studios]_Vespucci_PD.json","data":[{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_regular.ogg","door_name":"Complains Office 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0SI6-JMG0-VNCC-PVRW","door_data":[{"door_coords":{"z":19.45872116088867,"y":-817.3536987304688,"x":-1069.0380859375},"model_hash":876047963,"unique_id":"qQcej1AdVl5GXVlUxywKh"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Interview 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"2LZP-V3A8-9FWV-1IA3","door_data":[{"door_coords":{"z":11.10121059417724,"y":-790.6791381835938,"x":-1041.0714111328126},"model_hash":-779643538,"unique_id":"yTm4LSbfDOaiS9i5oB03p"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"2UJD-27I7-SOG5-HYWE","door_data":[{"door_coords":{"z":11.10145378112793,"y":-794.1703491210938,"x":-1065.3218994140626},"model_hash":-1899592078,"unique_id":"MvswirETdu7356om6cfpe"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level 5 Chief Office","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"31LZ-SDGF-3ZYH-MUKQ","door_data":[{"door_coords":{"z":34.83023071289062,"y":-833.5037841796875,"x":-1105.8250732421876},"model_hash":-478009239,"unique_id":"nVFDCyiPS0zOPUS3dWVvy"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Classroom","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3Y4I-EV2V-MCQ8-MLPS","door_data":[{"door_coords":{"z":11.10121059417724,"y":-839.603271484375,"x":-1079.4691162109376},"model_hash":1506879043,"unique_id":"wV7SlbM26ydd0PgW-7Q2K"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"49H6-OY9A-2KAH-F5VH","door_data":[{"door_coords":{"z":11.10145378112793,"y":-790.0989379882813,"x":-1060.157470703125},"model_hash":-1899592078,"unique_id":"E3aEowpg57cudMnJixBc9"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"56QF-ZNE4-6P77-BAW6","door_data":[{"door_coords":{"z":11.10145378112793,"y":-796.2109375,"x":-1067.9102783203126},"model_hash":-1899592078,"unique_id":"8WyXL9WZPmxb4y4tTVe_T"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance 5","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5EB2-6ZBF-7Q12-3EZ1","door_data":[{"door_coords":{"z":19.70297622680664,"y":-844.9343872070313,"x":-1106.7716064453126},"model_hash":-400799250,"unique_id":"VQk1Rwud9qMXhrUFKM-XZ"},{"door_coords":{"z":19.70297622680664,"y":-846.0200805664063,"x":-1105.9351806640626},"model_hash":-975993523,"unique_id":"l_ZyR9iCf4eFWovaRlme4"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Interview 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5IXH-D7B7-400J-IDTB","door_data":[{"door_coords":{"z":11.10119819641113,"y":-804.53369140625,"x":-1058.63037109375},"model_hash":-779643538,"unique_id":"OJEy48iRGgB-j8K3RvgDS"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 K9","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5L8P-EBU7-Y463-MMZD","door_data":[{"door_coords":{"z":11.10121059417724,"y":-834.4352416992188,"x":-1072.9136962890626},"model_hash":1506879043,"unique_id":"AFPRKqiuZmIr5TmGYy8XR"}]},{"state":false,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_regular.ogg","door_name":"Briefing Room Back","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"610A-TJPF-WRF5-UOST","door_data":[{"door_coords":{"z":23.62760734558105,"y":-814.951904296875,"x":-1067.9105224609376},"model_hash":876047963,"unique_id":"WTCtIsCu2HM4gylbBVQCn"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Level 3 Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6IBK-PEM2-02P4-O0T8","door_data":[{"door_coords":{"z":26.98126792907715,"y":-834.7506103515625,"x":-1081.9923095703126},"model_hash":-700659261,"unique_id":"E8OGhXTtJdihbou6ssXzq"},{"door_coords":{"z":26.98122596740722,"y":-833.7137451171875,"x":-1082.7891845703126},"model_hash":1866464207,"unique_id":"5IzrnUAuqQkqdSEV8wAOa"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Lockers","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6NMJ-NSOR-0FXH-MP26","door_data":[{"door_coords":{"z":11.10121059417724,"y":-819.4467163085938,"x":-1057.8062744140626},"model_hash":1506879043,"unique_id":"wLyKiWkhWAiVhxG0DtuCm"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_regular.ogg","door_name":"Complains Office 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"73AY-E3NR-F182-V03H","door_data":[{"door_coords":{"z":19.45870971679687,"y":-810.5068969726563,"x":-1076.694580078125},"model_hash":876047963,"unique_id":"Ovc6EwjLaROg5tkxplpXx"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level 5 Fire Exit","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"7J9L-6K43-CRUO-YYKY","door_data":[{"door_coords":{"z":34.42980194091797,"y":-843.34619140625,"x":-1090.8057861328126},"model_hash":939003016,"unique_id":"pDzSO2_d9b6b5eaWGYaJg"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 13","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"8468-JMI2-20M3-6NES","door_data":[{"door_coords":{"z":11.10145378112793,"y":-796.9500732421875,"x":-1061.95068359375},"model_hash":-1899592078,"unique_id":"Ay4fyQIbedBy-1cAuwNhO"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_regular.ogg","door_name":"Level 2 Lobby","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"96JE-IK0K-K8FS-6AMF","door_data":[{"door_coords":{"z":23.24160766601562,"y":-831.0751953125,"x":-1072.2928466796876},"model_hash":1866464207,"unique_id":"jPFZUyUgeUXa7ByVsHylb"},{"door_coords":{"z":23.24161338806152,"y":-832.107666015625,"x":-1071.489990234375},"model_hash":-700659261,"unique_id":"RdhUgDvdieF8sGqMplAb9"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level 5 Server Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"9QN3-V852-5ASN-1OO1","door_data":[{"door_coords":{"z":34.83023452758789,"y":-839.2417602539063,"x":-1092.071533203125},"model_hash":-478009239,"unique_id":"Ci7mfNTqRT5EL72MkwzHv"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Interview 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"9VL6-0I8P-UNDG-44MT","door_data":[{"door_coords":{"z":11.10121059417724,"y":-795.303466796875,"x":-1046.9271240234376},"model_hash":-779643538,"unique_id":"ycH3RdxQPIPDrVee8MlH1"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Level 3 Entrance 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"A4HD-VC7S-P2ZY-LTLU","door_data":[{"door_coords":{"z":26.98124885559082,"y":-818.5936279296875,"x":-1094.7088623046876},"model_hash":-700659261,"unique_id":"_snezE41zVU2iHKJWSCiW"},{"door_coords":{"z":26.98124885559082,"y":-817.5667114257813,"x":-1095.518310546875},"model_hash":1866464207,"unique_id":"m2Ai_joxrGJ3l9eeS4yYI"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Evidence Storage 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"AM04-ZXQE-6ME7-83XM","door_data":[{"door_coords":{"z":11.10121154785156,"y":-809.105224609375,"x":-1032.3177490234376},"model_hash":-779643538,"unique_id":"mctBs4DuoFdWsRHkV8fBz"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_regular.ogg","door_name":"Briefing Room Front","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BF4B-J2IA-UFC0-USEA","door_data":[{"door_coords":{"z":23.61306762695312,"y":-821.1065673828125,"x":-1080.200439453125},"model_hash":41520023,"unique_id":"1hSl--PFLFFJC1zh0aAkt"},{"door_coords":{"z":23.61307907104492,"y":-821.9193725585938,"x":-1079.54931640625},"model_hash":1416966037,"unique_id":"lM54xdtHrjlp2VjtRpp5t"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_regular.ogg","door_name":"Complains Office 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BR0A-JWQ1-BMSM-UJZP","door_data":[{"door_coords":{"z":19.45873641967773,"y":-822.6651000976563,"x":-1069.149658203125},"model_hash":876047963,"unique_id":"z7WfHYCcz23sRkC4sLMLP"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BR42-8OZH-CSM8-9LKW","door_data":[{"door_coords":{"z":19.70297622680664,"y":-842.5361328125,"x":-1108.6195068359376},"model_hash":-400799250,"unique_id":"oQDC3CMvsQxg-Hyngx6aQ"},{"door_coords":{"z":19.70297622680664,"y":-843.621826171875,"x":-1107.783203125},"model_hash":-975993523,"unique_id":"Ch7hpPDnAxPRJNFamzlY_"}]},{"state":true,"items":[],"door_unlock_sound":"","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"garage","door_sound":"","door_name":"Level -2 Garage 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"CCP6-JZIJ-Z39Z-97SY","door_data":[{"door_coords":{"z":8.60877132415771,"y":-847.535400390625,"x":-1072.4029541015626},"model_hash":239547910,"unique_id":"2TkUywvOX6woUmmbvzUwz"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 9","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"CSET-WZUM-T949-NG2E","door_data":[{"door_coords":{"z":11.10145378112793,"y":-786.7229614257813,"x":-1048.9781494140626},"model_hash":-1899592078,"unique_id":"x9ZZVa0Nmt2J7qJOEWe4Q"}]},{"state":true,"items":[],"door_unlock_sound":"","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"gates","door_sound":"","door_name":"Rear Gate","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"D2YN-OAH7-YTG9-I5KC","door_data":[{"door_coords":{"z":6.64218664169311,"y":-879.3697509765625,"x":-1063.265869140625},"model_hash":1185512375,"unique_id":"zDzeqC4egeGAdA7eUuNlu"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cells","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DCRE-X409-VK4E-5ITM","door_data":[{"door_coords":{"z":11.10145378112793,"y":-804.7874755859375,"x":-1075.5611572265626},"model_hash":-1899592078,"unique_id":"YCXdSPGTCbMpLo4t0QwWa"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"garage","door_sound":"","door_name":"Level -1 ","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DR0A-K4CS-ZK4H-OFUP","door_data":[{"door_coords":{"z":16.27091026306152,"y":-834.9342041015625,"x":-1120.991455078125},"model_hash":-1212944997,"unique_id":"zHYFndUKPxBY5HXurAQry"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 8","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"E3XE-3IRK-ZDWH-F5EQ","door_data":[{"door_coords":{"z":11.10145378112793,"y":-783.870849609375,"x":-1049.6192626953126},"model_hash":-1899592078,"unique_id":"A7w0J3LEgCyk-MaDfsy2N"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Interview 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EBQZ-OOQD-31RS-6YPP","door_data":[{"door_coords":{"z":11.10121059417724,"y":-799.9229736328125,"x":-1052.7867431640626},"model_hash":-779643538,"unique_id":"T2wtX4wsMeQMa-81PbH-F"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level 1 Fire Exit","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EHMA-TYBM-5AWR-X8FX","door_data":[{"door_coords":{"z":19.46249198913574,"y":-844.453857421875,"x":-1088.6595458984376},"model_hash":1809703908,"unique_id":"5DStT16J02jQc5U3q6dUT"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Line Pp Back","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EYAT-6ECE-08UH-91Q2","door_data":[{"door_coords":{"z":11.10119915008545,"y":-804.0721435546875,"x":-1062.8011474609376},"model_hash":-779643538,"unique_id":"8RxVltNolXja5IkKxu0H3"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 12","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FT55-INOD-AE7W-K7JS","door_data":[{"door_coords":{"z":11.10145378112793,"y":-794.9127807617188,"x":-1059.366455078125},"model_hash":-1899592078,"unique_id":"kyhbkLSkfLOYCFu8ac81L"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Level -1 To Parking 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"G7YZ-A0T5-SARJ-IDNY","door_data":[{"door_coords":{"z":11.10122966766357,"y":-827.3129272460938,"x":-1070.8399658203126},"model_hash":-700659261,"unique_id":"oYa8BL7dnF4ZwIwDodljP"},{"door_coords":{"z":11.10123920440673,"y":-826.5043334960938,"x":-1069.8125},"model_hash":1866464207,"unique_id":"i49hAnK1UjyYJKUCe3DwU"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Reception","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GJWN-KLTV-D8S0-H3S4","door_data":[{"door_coords":{"z":11.10121059417724,"y":-811.3387451171875,"x":-1070.4842529296876},"model_hash":1506879043,"unique_id":"pfTvz1M-7AgfkH162KmtS"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Interview Observation 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"H2YW-RME1-WQDR-SEMF","door_data":[{"door_coords":{"z":11.10121059417724,"y":-798.3770141601563,"x":-1041.162841796875},"model_hash":-779643538,"unique_id":"S5yVspD6gfaZ_C0rx_e-w"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Interview Observation 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"H5KH-YUI6-QN71-EKIL","door_data":[{"door_coords":{"z":11.10121059417724,"y":-802.99658203125,"x":-1047.0224609375},"model_hash":-779643538,"unique_id":"KOrZIZz-zA-9WX2lECqpO"}]},{"state":false,"items":[],"door_unlock_sound":"","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"garage","door_sound":"","door_name":"Level -2 Garage 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"H8K4-XTC9-S9AN-Q7E1","door_data":[{"door_coords":{"z":7.44780826568603,"y":-852.126953125,"x":-1075.2364501953126},"model_hash":239547910,"unique_id":"jId4UQzEYaQMzyzqn32UY"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 6","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HKQT-UXZV-DJLA-VBJL","door_data":[{"door_coords":{"z":11.10145378112793,"y":-786.0242309570313,"x":-1054.989013671875},"model_hash":-1899592078,"unique_id":"vDnhpiyR7xrfsEuS8J_F5"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Level -1 Rear Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HTTD-U7XI-A87D-R289","door_data":[{"door_coords":{"z":11.32638931274414,"y":-830.9442749023438,"x":-1050.6832275390626},"model_hash":-400799250,"unique_id":"izh3r_grCg_J6uhTftXrK"},{"door_coords":{"z":11.32635974884033,"y":-829.9995727539063,"x":-1049.6883544921876},"model_hash":-975993523,"unique_id":"zVlRkBly9LVCZPBX70uO7"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"I59V-OLD1-G0YF-OWTB","door_data":[{"door_coords":{"z":19.70386886596679,"y":-824.8052978515625,"x":-1111.1123046875},"model_hash":-400799250,"unique_id":"Fl8ZxN_RMmMPXp8ApfyMz"},{"door_coords":{"z":19.70386886596679,"y":-825.6533813476563,"x":-1112.1888427734376},"model_hash":-975993523,"unique_id":"V9y4qpr3bAMc_x45UW7nq"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"IQQK-5FIP-T2W9-798S","door_data":[{"door_coords":{"z":19.70386695861816,"y":-809.3772583007813,"x":-1090.892333984375},"model_hash":-400799250,"unique_id":"tAXRiM-SVWQDXwVCZqoF5"},{"door_coords":{"z":19.70386886596679,"y":-810.2330322265625,"x":-1091.9627685546876},"model_hash":-975993523,"unique_id":"3wli_4VJkF2RS_En9Rw-j"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level 2 Fire Exit","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JFU4-QZP5-HD22-3D2G","door_data":[{"door_coords":{"z":23.23672676086425,"y":-844.4560546875,"x":-1088.662353515625},"model_hash":1809703908,"unique_id":"jNRcdLqYjMAmYn7d4Xfn3"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Mugshot 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JFZX-N7AZ-UI16-FSTN","door_data":[{"door_coords":{"z":11.10120582580566,"y":-801.3654174804688,"x":-1067.1292724609376},"model_hash":-779643538,"unique_id":"Ax-VDjn3mT7VxOjjBJ6VU"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_regular.ogg","door_name":"Photography Studio","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JR61-DPCG-CLUS-AS6L","door_data":[{"door_coords":{"z":19.45873069763183,"y":-835.2880249023438,"x":-1083.4569091796876},"model_hash":876047963,"unique_id":"l8E2IslYdkf4xtx9eZ9JC"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Armory","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"K0UH-TFTY-2DCP-JFCD","door_data":[{"door_coords":{"z":11.10120201110839,"y":-822.5757446289063,"x":-1040.9332275390626},"model_hash":1506879043,"unique_id":"S5NOsyqxlm3C8p7rrTlpR"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 3","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KTLQ-OH0T-PWC6-TSSU","door_data":[{"door_coords":{"z":11.10145378112793,"y":-792.1329956054688,"x":-1062.7376708984376},"model_hash":-1899592078,"unique_id":"J6Et-GAi464136l5jp6rL"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level 6 Roof","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"M356-ICZP-TF1B-9Z09","door_data":[{"door_coords":{"z":38.09565353393555,"y":-831.6611328125,"x":-1107.231201171875},"model_hash":1506879043,"unique_id":"lzbcxd9V1MdbOutN9EZUM"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Evidence Intake","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"M6TU-077P-YU06-0KO1","door_data":[{"door_coords":{"z":11.1012258529663,"y":-810.9569702148438,"x":-1049.2882080078126},"model_hash":1506879043,"unique_id":"rV0tHAmBflog40S3yk7rK"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level 4 Communication Center","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"MY3U-IUFH-LNQW-92QL","door_data":[{"door_coords":{"z":31.09916114807129,"y":-828.4437255859375,"x":-1100.6607666015626},"model_hash":1866464207,"unique_id":"c9mVuFMZjcR6CMdqYCOLi"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 10","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"N1HC-WWNG-DY1K-HRPC","door_data":[{"door_coords":{"z":11.10145378112793,"y":-788.76025390625,"x":-1051.5623779296876},"model_hash":-1899592078,"unique_id":"QHc7j2I2XUW4v5iZkE2ny"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -2 Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"N4LY-NRII-GSA1-6TX8","door_data":[{"door_coords":{"z":5.21194839477539,"y":-855.6742553710938,"x":-1079.4349365234376},"model_hash":1506879043,"unique_id":"3Yc-hP4nV3AlliZdFVkI2"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Holding Cells","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"N8UP-AL1I-9PK0-3XO6","door_data":[{"door_coords":{"z":11.10145378112793,"y":-801.0245971679688,"x":-1074.01611328125},"model_hash":-1899592078,"unique_id":"BEUdpVlDezYWQ81Fql9F3"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Fire Exit","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"N9VN-708I-9ON4-63HH","door_data":[{"door_coords":{"z":11.10122871398925,"y":-842.95263671875,"x":-1088.587890625},"model_hash":1809703908,"unique_id":"0x1XqI4-hSqDTc6Lzf9Do"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 5","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"NDEQ-BB9R-X177-SCQ4","door_data":[{"door_coords":{"z":11.10145378112793,"y":-788.0615844726563,"x":-1057.5732421875},"model_hash":-1899592078,"unique_id":"59Fkqd-9NQzzf7E12TsaX"}]},{"state":true,"items":[],"door_unlock_sound":"","camera":false,"default_state":true,"distance":10,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"gates","door_sound":"","door_name":"Bollards","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OA1V-3Q9C-DV4E-3QFI","door_data":[{"door_coords":{"z":14.01495933532714,"y":-847.1983032226563,"x":-1147.37060546875},"model_hash":110624687,"unique_id":"yWjQ0QYTe3cWTtknKRQGG"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Main Entrance 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OS1P-VPD3-8EXJ-1S8C","door_data":[{"door_coords":{"z":19.70386695861816,"y":-811.2681274414063,"x":-1093.2562255859376},"model_hash":-400799250,"unique_id":"uYVXedUszaQqzaG2OF6nn"},{"door_coords":{"z":19.70386886596679,"y":-812.1238403320313,"x":-1094.3267822265626},"model_hash":-975993523,"unique_id":"jRfRH25bkKKl6Sp_GTQ_B"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level 4 Fire Exit","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OV38-6EA3-MNZW-R8M8","door_data":[{"door_coords":{"z":31.10055160522461,"y":-843.345703125,"x":-1090.80615234375},"model_hash":939003016,"unique_id":"N-UfVHv5OwQZM2svGm0AM"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level 3 Fire Exit","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"P6LF-93AT-77EP-YMDN","door_data":[{"door_coords":{"z":26.98136711120605,"y":-842.608154296875,"x":-1089.889892578125},"model_hash":939003016,"unique_id":"nzEfI9pe2ATHB_QmiSZb3"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Line Up Front","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"P8YO-3J4T-FW1O-8EH4","door_data":[{"door_coords":{"z":11.10121726989746,"y":-812.3772583007813,"x":-1058.965576171875},"model_hash":-779643538,"unique_id":"q1mWxYkbz63UpCP7QYLIr"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Interview Observation 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"PZNH-Z4W1-EC8Y-VWPR","door_data":[{"door_coords":{"z":11.10121059417724,"y":-807.6049194335938,"x":-1052.867919921875},"model_hash":-779643538,"unique_id":"0R7ZTOAAyUEJaL343Yy4R"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 7","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QCYR-Y2F0-JWAS-4A8J","door_data":[{"door_coords":{"z":11.10145378112793,"y":-783.983642578125,"x":-1052.400634765625},"model_hash":-1899592078,"unique_id":"8AJuOeDxp6bQ5GgsHeQm7"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_regular.ogg","door_name":"Complains Office 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"R2SV-WBI4-I64R-CXKA","door_data":[{"door_coords":{"z":19.4587345123291,"y":-812.7647705078125,"x":-1071.7943115234376},"model_hash":876047963,"unique_id":"oZsJbHsEsu7reYt-md_wr"}]},{"state":true,"items":[],"door_unlock_sound":"door_regular.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_regular.ogg","door_name":"Census Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"R9UW-7BA4-HSPJ-F18Q","door_data":[{"door_coords":{"z":19.45874214172363,"y":-831.26318359375,"x":-1078.20849609375},"model_hash":876047963,"unique_id":"8fshNwbY_vsXB_Wqoagp5"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Level -1 To Parking 2","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RFIL-QTM6-1LGK-GYMM","door_data":[{"door_coords":{"z":11.1012372970581,"y":-809.3463745117188,"x":-1080.31396484375},"model_hash":-700659261,"unique_id":"P87ymk5AMsxzhxGO6lnPq"},{"door_coords":{"z":11.10125255584716,"y":-808.3215942382813,"x":-1081.1260986328126},"model_hash":1866464207,"unique_id":"O8LDUgHlGZEVPD54drIBM"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Mugshot 1","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"S7N1-HT5B-ITBK-GQX4","door_data":[{"door_coords":{"z":11.10121631622314,"y":-805.7227783203125,"x":-1073.3997802734376},"model_hash":1660523855,"unique_id":"zV9Mt9f2AkxlIzJ-YTXv0"},{"door_coords":{"z":11.10123538970947,"y":-805.1002197265625,"x":-1072.619384765625},"model_hash":-85146317,"unique_id":"Cm9_C7EZMadlB5DZ4YPzW"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level 5 To Roof","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"SLEB-SI8U-M1N6-29NI","door_data":[{"door_coords":{"z":34.42981338500976,"y":-831.3928833007813,"x":-1104.6212158203126},"model_hash":1809703908,"unique_id":"axd6NenfuXw5MEhE26JJt"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Evidence Storage","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"V86K-C04I-OFUM-MPF3","door_data":[{"door_coords":{"z":11.10121059417724,"y":-806.993408203125,"x":-1044.4832763671876},"model_hash":-779643538,"unique_id":"QVwpAZetS9Rlh-PgE15Sm"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Briefing","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"X7KC-WGDI-E5ZK-LHIN","door_data":[{"door_coords":{"z":11.10122680664062,"y":-843.8359375,"x":-1084.85009765625},"model_hash":1506879043,"unique_id":"0KXHnFq5ORSYgISQK3RRj"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"double","door_sound":"door_metal.ogg","door_name":"Level -1 Shooting Range","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XNM6-SL02-3T8C-PTMU","door_data":[{"door_coords":{"z":11.10121345520019,"y":-829.7409057617188,"x":-1038.7662353515626},"model_hash":1660523855,"unique_id":"0NZUH0g9MUD51TU4dmGhM"},{"door_coords":{"z":11.10121345520019,"y":-828.9599609375,"x":-1038.14453125},"model_hash":-85146317,"unique_id":"vqN6ekIYtBhVxaqBvuCaH"}]},{"state":false,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Shooting Range Gate","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XOD4-1777-1AUG-T7XL","door_data":[{"door_coords":{"z":10.96755123138427,"y":-828.301513671875,"x":-1034.4498291015626},"model_hash":1175735411,"unique_id":"d9PyTmXfakflGY_i9lx7z"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Cell 11","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XQG9-84BZ-V19V-NJI8","door_data":[{"door_coords":{"z":11.10145378112793,"y":-792.8754272460938,"x":-1056.7822265625},"model_hash":-1899592078,"unique_id":"k2dJa-QFgDXdh5dt8a4HO"}]},{"state":true,"items":[],"door_unlock_sound":"door_metal.ogg","camera":false,"default_state":true,"distance":2,"secret":false,"keep_open":false,"location_group":"Vespucci PD","door_type":"single","door_sound":"door_metal.ogg","door_name":"Level -1 Interview Observation 4","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Y0XL-SO20-SILQ-CJ7G","door_data":[{"door_coords":{"z":11.10121059417724,"y":-793.7575073242188,"x":-1035.30322265625},"model_hash":-779643538,"unique_id":"3t5eEoWXUbikbekT4_ber"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Vinewood_Large_Warehouse.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Vinewood_Large_Warehouse.json
new file mode 100644
index 000000000..8b6ea2811
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Vinewood_Large_Warehouse.json
@@ -0,0 +1 @@
+{"data":[{"distance":2,"unique_id":"2YAY-2W10-1N74-R7B8","location_group":"Vinewood Large Warehouse","door_name":"Office","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":40.57988739013672,"z":92.12671661376952,"y":193.5417022705078},"unique_id":"xzPecsanlC0_WrSXNsDIc","model_hash":97276813}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"single","secret":false},{"distance":2,"unique_id":"A91J-CDJJ-NEUN-LVKS","location_group":"Vinewood Large Warehouse","door_name":"Left Doors","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":19.96658706665039,"z":93.21656036376952,"y":213.02175903320313},"unique_id":"ECGoL23YatFC9PHcxyvem","model_hash":8891428},{"door_coords":{"x":21.1952953338623,"z":93.21656036376952,"y":212.57455444335936},"unique_id":"3TRF7gpKNjWE0iqhY3IBh","model_hash":1591748701}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"double","secret":false},{"distance":2,"unique_id":"H4HZ-PWM5-S4JV-5B9B","location_group":"Vinewood Large Warehouse","door_name":"Right Doors","door_sound":"door_metal.ogg","door_data":[{"door_coords":{"x":35.5369873046875,"z":93.21656036376952,"y":207.3546142578125},"unique_id":"TmCvYkGvQu-X8kHNKhE_c","model_hash":1591748701},{"door_coords":{"x":34.30827713012695,"z":93.21656036376952,"y":207.80181884765626},"unique_id":"6fKt7wxXORR0syjW9g0gN","model_hash":8891428}],"door_unlock_sound":"door_metal.ogg","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"double","secret":false},{"distance":10,"unique_id":"N5QI-QGL2-KD64-2C9Q","location_group":"Vinewood Large Warehouse","door_name":"Main Entrance","door_sound":"","door_data":[{"door_coords":{"x":70.0051498413086,"z":106.85896301269533,"y":166.22171020507813},"unique_id":"9GJrpWK9tsPAZtS4PY5do","model_hash":-73517283}],"door_unlock_sound":"","lockpickable":false,"default_state":true,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":true,"door_type":"garage","secret":false}],"imported":false,"name":"[GN_Studios]_Vinewood_Large_Warehouse.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Von_Crastenburg_Del_Perro.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Von_Crastenburg_Del_Perro.json
new file mode 100644
index 000000000..4de632573
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Von_Crastenburg_Del_Perro.json
@@ -0,0 +1 @@
+{"data":[{"distance":2,"unique_id":"0BY4-H0AG-5LSR-6ZU2","location_group":"Von Crastenburg Del Perro","door_name":"305","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1513.91357421875,"z":52.7308120727539,"y":-520.2897338867188},"unique_id":"ThDz5XPvndQbKX73tkbQf","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"0KZE-XP1L-GV9A-OMQD","location_group":"Von Crastenburg Del Perro","door_name":"501","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1536.4189453125,"z":62.26836776733398,"y":-530.23779296875},"unique_id":"DfEuNHomfZqxoZl3Wpa4O","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"23GF-9B88-W62C-YBA8","location_group":"Von Crastenburg Del Perro","door_name":"204","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1523.1240234375,"z":47.96160507202148,"y":-526.2798461914063},"unique_id":"LFNz9D-sS3IIF5-Inozd5","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"2YU6-GWD3-VBI2-28HR","location_group":"Von Crastenburg Del Perro","door_name":"502","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1532.3240966796876,"z":62.26849746704101,"y":-532.26123046875},"unique_id":"n3J8ywRatBZSnBytO23GM","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"3G48-ZHE3-7DAC-YL56","location_group":"Von Crastenburg Del Perro","door_name":"205","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1513.91357421875,"z":47.96181106567383,"y":-520.2907104492188},"unique_id":"3MyQkWzsmMcp_Oq3DterL","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"4D6R-OJ1E-UFFA-36R2","location_group":"Von Crastenburg Del Perro","door_name":"303","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1527.21875,"z":52.73047637939453,"y":-524.2553100585938},"unique_id":"oHNuIfBnZ7NpXMA0ckTol","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"5DBV-M1VS-766F-ZAUE","location_group":"Von Crastenburg Del Perro","door_name":"603","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1527.21875,"z":67.03707122802735,"y":-524.2553100585938},"unique_id":"9m8UkpKpqiLeXmoGwKP9E","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"5OJZ-KG3U-ZURS-C1WG","location_group":"Von Crastenburg Del Perro","door_name":"105","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1513.91357421875,"z":43.19321060180664,"y":-520.2907104492188},"unique_id":"Y6okZFAEgiIuVEyQwPAzY","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"5UZZ-ONEX-LALM-86H9","location_group":"Von Crastenburg Del Perro","door_name":"404","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1523.1240234375,"z":57.49970626831055,"y":-526.2788696289063},"unique_id":"Z3INORlRMn_EgHpytOgQQ","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"6OCI-HUCR-UGST-NX0K","location_group":"Von Crastenburg Del Perro","door_name":"504","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1523.1240234375,"z":62.26870346069336,"y":-526.2788696289063},"unique_id":"NDQ4e5ocfeirTA5wWkvnL","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"78P5-C8N0-GRHK-9OHU","location_group":"Von Crastenburg Del Perro","door_name":"104","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1523.1240234375,"z":43.1930046081543,"y":-526.2798461914063},"unique_id":"b90Qfl0_7wzsDskm5WGMT","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"C04K-V9YX-PIR3-P2NH","location_group":"Von Crastenburg Del Perro","door_name":"102","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1532.3240966796876,"z":43.19279861450195,"y":-532.26220703125},"unique_id":"4YQYGfJfn4LpmpB07njgp","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"DVV3-7S65-H6HS-MPFR","location_group":"Von Crastenburg Del Perro","door_name":"503","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1527.21875,"z":62.26857376098633,"y":-524.2553100585938},"unique_id":"qYDu-HYBQKLtjwfOA5wio","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"ETSA-S6JN-YNN5-Z4DY","location_group":"Von Crastenburg Del Perro","door_name":"405","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1513.91357421875,"z":57.49991226196289,"y":-520.2897338867188},"unique_id":"SSKkLUlbCw2gpXhtoPCmN","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"G67U-6NMV-KXLR-2QDU","location_group":"Von Crastenburg Del Perro","door_name":"Entrance 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1545.186767578125,"z":36.4009895324707,"y":-530.9111938476563},"unique_id":"VS-0JqefIXq5QYoBnScKW","model_hash":-1200705506},{"door_coords":{"x":-1545.9774169921876,"z":36.40097045898437,"y":-531.4258422851563},"unique_id":"jWqwoSTYWuh7-OpxTEECQ","model_hash":1961273627}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"double","secret":false},{"distance":2,"unique_id":"HTOT-Y04Q-WP8L-MPDB","location_group":"Von Crastenburg Del Perro","door_name":"103","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1527.21875,"z":43.19287490844726,"y":-524.2562866210938},"unique_id":"E3eGS11mk2imS54u_-rHv","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"HWGX-AEQ9-HJHP-IPK0","location_group":"Von Crastenburg Del Perro","door_name":"203","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1527.21875,"z":47.96147537231445,"y":-524.2562866210938},"unique_id":"uDcLjaUevczfMZoTvgiTO","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"KBVF-L9Y4-N0C4-EMWR","location_group":"Von Crastenburg Del Perro","door_name":"402","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1532.3240966796876,"z":57.4995002746582,"y":-532.26123046875},"unique_id":"9iWN5yvQT1ktTgf4m978U","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"KH35-MWD7-C6JC-RRU8","location_group":"Von Crastenburg Del Perro","door_name":"302","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1532.3240966796876,"z":52.73040008544922,"y":-532.26123046875},"unique_id":"VeBV7FKIIWFyqbQ90S68o","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"LHXU-NLJ0-VJE1-M632","location_group":"Von Crastenburg Del Perro","door_name":"101","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1536.4189453125,"z":43.19266891479492,"y":-530.23876953125},"unique_id":"sUAvF8AAUFUj6wi49JX9m","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"PC59-FI91-0OJ6-0IZN","location_group":"Von Crastenburg Del Perro","door_name":"201","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1536.4189453125,"z":47.96126937866211,"y":-530.23876953125},"unique_id":"OatWwPO28JW2W-17eSiTq","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"PI4Y-J5LH-0JSY-67DK","location_group":"Von Crastenburg Del Perro","door_name":"202","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1532.3240966796876,"z":47.96139907836914,"y":-532.26220703125},"unique_id":"43u5vJ6-3nZY9VcivQH3h","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"Q4H7-17V6-KVB2-3G0E","location_group":"Von Crastenburg Del Perro","door_name":"304","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1523.1240234375,"z":52.73060607910156,"y":-526.2788696289063},"unique_id":"ODvtTpB0n8Hfj4rgnnniC","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":10,"unique_id":"R5GQ-QXF6-TKEP-20XP","location_group":"Von Crastenburg Del Perro","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"x":-1512.430908203125,"z":37.51992034912109,"y":-516.2996215820313},"unique_id":"XpMOo8WZ4IxOcjHJcHksH","model_hash":-1656607252}],"door_unlock_sound":"door_switch.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"garage","secret":false},{"distance":2,"unique_id":"RFG1-QDWE-D3GF-LQ09","location_group":"Von Crastenburg Del Perro","door_name":"Entrance 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1543.5126953125,"z":36.40102386474609,"y":-529.8226318359375},"unique_id":"L6QKAgFrxv9kKLcgE-aRA","model_hash":-1200705506},{"door_coords":{"x":-1544.303466796875,"z":36.40100860595703,"y":-530.3372802734375},"unique_id":"VDEc5YCYW9oxfZdBvlcmL","model_hash":1961273627}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"double","secret":false},{"distance":2,"unique_id":"SFV3-7M0Q-B2S8-CX3Z","location_group":"Von Crastenburg Del Perro","door_name":"403","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1527.21875,"z":57.49957656860351,"y":-524.2553100585938},"unique_id":"MIDSYRZnTv0xNvVD4u3bY","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"SNZ5-TJ6D-M25L-6I7T","location_group":"Von Crastenburg Del Perro","door_name":"505","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1513.91357421875,"z":62.2689094543457,"y":-520.2897338867188},"unique_id":"HtQ3BNYVAtKOY57V2_izW","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"SXGM-1USR-4V2J-X0D8","location_group":"Von Crastenburg Del Perro","door_name":"601","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1536.4189453125,"z":67.03687286376953,"y":-530.23779296875},"unique_id":"TeGiUL7wtsE2zr5bAwv1I","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"U3LS-C5X2-HZGB-VH1I","location_group":"Von Crastenburg Del Perro","door_name":"604","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1523.1240234375,"z":67.03719329833985,"y":-526.2788696289063},"unique_id":"-cfLQo32of7pAbOAqc5Hj","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"WDSR-HMCU-HPC7-6KE7","location_group":"Von Crastenburg Del Perro","door_name":"605","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1513.91357421875,"z":67.03739929199219,"y":-520.2897338867188},"unique_id":"MjZFW_7KN3lf_8UUkh-OS","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"YNW0-ASSY-2R18-56Z9","location_group":"Von Crastenburg Del Perro","door_name":"301","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1536.4189453125,"z":52.73027038574219,"y":-530.23779296875},"unique_id":"_sicphG9U20GiUf_mHy09","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"ZON0-5WR8-SXBG-CW62","location_group":"Von Crastenburg Del Perro","door_name":"401","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1536.4189453125,"z":57.49937057495117,"y":-530.23779296875},"unique_id":"INR6Af3UkXb0R2gUAjo6O","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false},{"distance":2,"unique_id":"ZQSR-D4F1-JMQ8-YQTH","location_group":"Von Crastenburg Del Perro","door_name":"602","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"x":-1532.3240966796876,"z":67.03699493408203,"y":-532.26123046875},"unique_id":"7AVoofbtbJTVZ7ImWowuq","model_hash":2011001180}],"door_unlock_sound":"door_click.ogg","lockpickable":false,"default_state":false,"perms":{"identifier":[],"items":[],"ace":[],"job":[{"name":"police","grade":0}],"discord":[]},"items":[],"keep_open":false,"camera":false,"state":false,"door_type":"single","secret":false}],"imported":false,"name":"[GN_Studios]_Von_Crastenburg_Del_Perro.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Von_Crastenburg_Little_Seoul.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Von_Crastenburg_Little_Seoul.json
new file mode 100644
index 000000000..b6917d002
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Von_Crastenburg_Little_Seoul.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"0MVB-EO81-OD3L-0M3S","door_name":"504","door_data":[{"unique_id":"5urEqx1iSMpSFDxM3YPEN","model_hash":2011001180,"door_coords":{"z":41.17245864868164,"y":-1090.337646484375,"x":-650.6533813476563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"1YTJ-6JYW-6K9P-5EKP","door_name":"602","door_data":[{"unique_id":"d5ZdjAy08AUhrCbzQZqbT","model_hash":2011001180,"door_coords":{"z":45.94154739379883,"y":-1100.2738037109376,"x":-655.312255859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"2OCX-2VSM-3QZ4-TCVM","door_name":"204","door_data":[{"unique_id":"4NZCIxmMbktVJtDQAMwL8","model_hash":2011001180,"door_coords":{"z":26.86535453796386,"y":-1090.337646484375,"x":-650.6533813476563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"2TFM-XA7F-F38W-PYT0","door_name":"503","door_data":[{"unique_id":"IRL3B8J5c_ZZEkT3Gg_0J","model_hash":2011001180,"door_coords":{"z":41.17202758789062,"y":-1090.7791748046876,"x":-655.199462890625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"4Q9F-I1SU-2A8K-22FX","door_name":"604","door_data":[{"unique_id":"hkzmMDEQAH5BeyhD2prj3","model_hash":2011001180,"door_coords":{"z":45.94095611572265,"y":-1090.337646484375,"x":-650.6533813476563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"60O6-KLS3-QG5D-L7S0","door_name":"405","door_data":[{"unique_id":"PTlXlm7smhOjNVmFfEGo7","model_hash":2011001180,"door_coords":{"z":36.40286636352539,"y":-1080.390380859375,"x":-645.9893188476563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"788D-EABF-NS1P-6431","door_name":"201","door_data":[{"unique_id":"O-ObpU0ssAtsL-vsZ8-Bl","model_hash":2011001180,"door_coords":{"z":26.86551856994629,"y":-1100.71533203125,"x":-659.8583984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"7ZZR-T7ZT-P7CM-NZMD","door_name":"605","door_data":[{"unique_id":"tIjxRe2xczm-rY4XMabON","model_hash":2011001180,"door_coords":{"z":45.94036483764648,"y":-1080.390380859375,"x":-645.9893188476563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"8XJO-LKGL-6APK-KLUG","door_name":"403","door_data":[{"unique_id":"G0gAcYIHiVc-iL3NKkuaW","model_hash":2011001180,"door_coords":{"z":36.40302658081055,"y":-1090.7791748046876,"x":-655.199462890625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"98ZJ-GTFT-RRPS-WESJ","door_name":"101","door_data":[{"unique_id":"6dp5SfdU1HsJY50JTw16z","model_hash":2011001180,"door_coords":{"z":22.09692001342773,"y":-1100.71533203125,"x":-659.8594360351563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"BCLA-U9VF-TYTI-12Y0","door_name":"303","door_data":[{"unique_id":"WBnX9SocCLH_MnNm95M5s","model_hash":2011001180,"door_coords":{"z":31.63392829895019,"y":-1090.7791748046876,"x":-655.199462890625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"C54Q-N3RL-ZE1W-N9Z8","door_name":"304","door_data":[{"unique_id":"dp6eANMbpyVZs_8LfmZRd","model_hash":2011001180,"door_coords":{"z":31.63435554504394,"y":-1090.337646484375,"x":-650.6533813476563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"ELML-BSL7-RV0W-FEY5","door_name":"501","door_data":[{"unique_id":"I_pIVDQR7OvQR__2N8nDS","model_hash":2011001180,"door_coords":{"z":41.1726188659668,"y":-1100.71533203125,"x":-659.8583984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"F95G-XPPP-AQX1-DQC5","door_name":"103","door_data":[{"unique_id":"0oQkP5zjmDP9oxYlIINGw","model_hash":2011001180,"door_coords":{"z":22.09632873535156,"y":-1090.7791748046876,"x":-655.2005004882813}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"FBZN-RS0P-48IQ-T4HS","door_name":"301","door_data":[{"unique_id":"WAwtnV77RXHlCs93o0JtX","model_hash":2011001180,"door_coords":{"z":31.63451957702636,"y":-1100.71533203125,"x":-659.8583984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"GG43-U5XW-M2NN-CPT7","door_name":"404","door_data":[{"unique_id":"G4VKVbcR1fFTXGYb5yQg-","model_hash":2011001180,"door_coords":{"z":36.40345764160156,"y":-1090.337646484375,"x":-650.6533813476563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"GK9C-QY3F-EM4K-OKUY","door_name":"203","door_data":[{"unique_id":"b120txsSszRJB6fTwvhfZ","model_hash":2011001180,"door_coords":{"z":26.86492729187011,"y":-1090.7791748046876,"x":-655.199462890625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"H0BG-4DIM-QAZ7-TG53","door_name":"601","door_data":[{"unique_id":"hKZqzdX8OK6JvlLdiD4fX","model_hash":2011001180,"door_coords":{"z":45.94111633300781,"y":-1100.71533203125,"x":-659.8583984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"IKIZ-JENS-C2EZ-1KM7","door_name":"104","door_data":[{"unique_id":"5FjGJyvxNHPfhJ86xAnCU","model_hash":2011001180,"door_coords":{"z":22.09673690795898,"y":-1090.055908203125,"x":-649.8546142578125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"J7QU-YN8J-LST0-BXY4","door_name":"102","door_data":[{"unique_id":"qzvtcp1GzZGYCYwBYiDaW","model_hash":2011001180,"door_coords":{"z":22.09734725952148,"y":-1100.2738037109376,"x":-655.3132934570313}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"KWBA-0UZ1-QFNI-PZ3Z","door_name":"603","door_data":[{"unique_id":"gMKFl2KzCPkShMQkv8OZ9","model_hash":2011001180,"door_coords":{"z":45.94052505493164,"y":-1090.7791748046876,"x":-655.199462890625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"NARN-LL6W-0CSF-D0LD","door_name":"202","door_data":[{"unique_id":"eOv2y5eevAQWWl-dp9baA","model_hash":2011001180,"door_coords":{"z":26.86594581604004,"y":-1100.2738037109376,"x":-655.312255859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"O47H-SYLB-FUHL-131S","door_name":"205","door_data":[{"unique_id":"yRvd95rZODbUiDYB9qvyG","model_hash":2011001180,"door_coords":{"z":26.86476135253906,"y":-1080.390380859375,"x":-645.9893188476563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"OAYN-ZDMF-6ZT5-JPC9","door_name":"505","door_data":[{"unique_id":"Npoz_88ZzneH5sXWbBFGg","model_hash":2011001180,"door_coords":{"z":41.17186737060547,"y":-1080.390380859375,"x":-645.9893188476563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"Q9XP-B4Q9-MP9E-N4F8","door_name":"302","door_data":[{"unique_id":"pBIAwfUmXHZzJgSYUySVs","model_hash":2011001180,"door_coords":{"z":31.63494682312011,"y":-1100.2738037109376,"x":-655.312255859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"TJ7U-IQCX-FYYU-EHGE","door_name":"502","door_data":[{"unique_id":"EgxrAU9GtNnfKh7wGmxLl","model_hash":2011001180,"door_coords":{"z":41.17304992675781,"y":-1100.2738037109376,"x":-655.312255859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"WJ0I-8XW1-CPVC-LOC0","door_name":"105","door_data":[{"unique_id":"n4PTc2HFopYJwRu6qFS9-","model_hash":2011001180,"door_coords":{"z":22.0961627960205,"y":-1080.390380859375,"x":-645.9903564453125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"WJWO-BBGK-EQS4-1B2H","door_name":"401","door_data":[{"unique_id":"E8seZwG7oPqKQ04nDwHfy","model_hash":2011001180,"door_coords":{"z":36.40361785888672,"y":-1100.71533203125,"x":-659.8583984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"WKCX-1A76-RQTG-39FC","door_name":"305","door_data":[{"unique_id":"GQsHN5xAPqm84Mp6fcINQ","model_hash":2011001180,"door_coords":{"z":31.63376235961914,"y":-1080.390380859375,"x":-645.9893188476563}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"ZFJI-CQTM-S5BL-9N77","door_name":"402","door_data":[{"unique_id":"KzFeCj7Xkp5wwFvN1KDcC","model_hash":2011001180,"door_coords":{"z":36.40404891967773,"y":-1100.2738037109376,"x":-655.312255859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Little Seoul","door_sound":"door_regular.ogg"}],"name":"[GN_Studios]_Von_Crastenburg_Little_Seoul.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Von_Crastenburg_Rockford.json b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Von_Crastenburg_Rockford.json
new file mode 100644
index 000000000..b060c2903
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GN_Studios]_Von_Crastenburg_Rockford.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"097M-I368-3X5A-80D6","door_name":"219","door_data":[{"unique_id":"wGyW1e52e-XaScQg1i4N5","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-233.069564819336,"x":-1222.250732421875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"0AA0-6RS3-MGAE-R1ZH","door_name":"528","door_data":[{"unique_id":"4vzFCcZzGOExVEdBsd1L6","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-152.60263061523438,"x":-1225.46435546875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"0I6Y-0N8P-92YJ-TZ2C","door_name":"Reception","door_data":[{"unique_id":"-2eQjB4RotyYrqUeKTCHo","model_hash":-719797958,"door_coords":{"z":39.47668838500976,"y":-212.44241333007813,"x":-1205.502685546875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"1IEW-HGA0-M8Y7-PS1J","door_name":"103","door_data":[{"unique_id":"j5HzybT1qZ6O7QPgE4Zig","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-183.9052276611328,"x":-1172.4041748046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"296G-AD24-8LJN-TZBM","door_name":"730","door_data":[{"unique_id":"Y8eZO63flRq2G5kOyk6OA","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-178.15708923339845,"x":-1206.206787109375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"2E57-ZJXD-LIGH-M915","door_name":"403","door_data":[{"unique_id":"rstnu0JYflRLfAITOD60R","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-183.9052276611328,"x":-1172.4041748046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"2G70-N60S-PVSR-3BDF","door_name":"207","door_data":[{"unique_id":"rtWZRVRX9vQbLUrXNsaka","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-183.06826782226569,"x":-1151.3890380859376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"2G8J-1HX2-S1HH-WVVU","door_name":"320","door_data":[{"unique_id":"gccTdFL19kw2qV5Rss6ya","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-226.00555419921876,"x":-1218.494873046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"2P7I-M1CW-0JQ7-GXU5","door_name":"520","door_data":[{"unique_id":"kSjlBZGP7lPx9G-Ax-PGS","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-226.00555419921876,"x":-1218.494873046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"2UKC-OJ4B-2M8J-LPC8","door_name":"225","door_data":[{"unique_id":"-PY9pD6yc5b_UTb7n4F2r","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-177.7090301513672,"x":-1210.56591796875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"2UXR-ZES1-GADT-YN8C","door_name":"706","door_data":[{"unique_id":"DExSGFbDIc39FX74cDRbN","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-178.9155426025391,"x":-1148.9295654296876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"3EMF-159X-IUGH-5ZM1","door_name":"201","door_data":[{"unique_id":"kY20Mg4XfcB-maVgEy7L6","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-187.23171997070313,"x":-1188.05419921875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"3IO5-CZYJ-2ZEZ-TIMB","door_name":"614","door_data":[{"unique_id":"zZ0qGfNboDRWd4H5iu5Ur","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-209.0911407470703,"x":-1206.151611328125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"3KWR-VREW-FS3N-2QHV","door_name":"420","door_data":[{"unique_id":"ex9BL8KYXixK2I7ma0F0U","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-226.00555419921876,"x":-1218.494873046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"3TE4-20Z0-FQRU-UFT3","door_name":"208","door_data":[{"unique_id":"Sdg7_4ZLZNvK_Im2-5A3W","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-184.7261962890625,"x":-1159.2132568359376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"3VCK-U82S-IK4X-242C","door_name":"111","door_data":[{"unique_id":"aIQ6hXcUwcH0QJV3ksJs6","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-189.710189819336,"x":-1182.68994140625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"49DA-HS4K-LOA4-SSZV","door_name":"624","door_data":[{"unique_id":"DxeCfsBrXGoy2OnguZXxn","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-197.83656311035157,"x":-1203.5169677734376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"4B6C-F4U3-NQSN-LDA8","door_name":"721","door_data":[{"unique_id":"cEgp-HvzaLKNBIf8Fmrt_","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-218.9425811767578,"x":-1214.7393798828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"4KJ5-VTFA-DPNN-YHMQ","door_name":"222","door_data":[{"unique_id":"-6D_hImLzeTKXqATcPENN","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-211.8789215087891,"x":-1210.9835205078126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"4QVP-RPCX-4BSP-HGVQ","door_name":"316","door_data":[{"unique_id":"FPBOdn3fuRyMHAfg1Wevi","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-223.21641540527345,"x":-1213.6634521484376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"double","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"4ZXU-6ARN-ENQD-9YC4","door_name":"Entrance 3","door_data":[{"unique_id":"n4wFH-6Q1-A4Sl2nsGypv","model_hash":1308911070,"door_coords":{"z":39.97689819335937,"y":-173.36740112304688,"x":-1221.5355224609376}},{"unique_id":"uDzP2_X7xhGvpjYjhCoD-","model_hash":-403433025,"door_coords":{"z":39.97708129882812,"y":-172.73333740234376,"x":-1222.74658203125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"58J0-OAN3-LC9F-QJ5R","door_name":"101","door_data":[{"unique_id":"H-lXEmu9kBdHQ0bRzOec6","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-187.23171997070313,"x":-1188.05419921875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"5BCR-8V1J-4H5S-Q4MF","door_name":"125","door_data":[{"unique_id":"SbElO0AtUuhd3zuX5Vy8S","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-177.7090301513672,"x":-1210.56591796875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"5JMR-6M3G-S5ZS-RUVW","door_name":"402","door_data":[{"unique_id":"atDO-_eRVroYqI59GhUTq","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-185.56842041015626,"x":-1180.22900390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"5KOB-UXPZ-1W28-IDGR","door_name":"502","door_data":[{"unique_id":"Of1HQm3x_BGKUOB-sY8A1","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-185.56842041015626,"x":-1180.22900390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"5MPR-LINK-ZQ8P-73MF","door_name":"309","door_data":[{"unique_id":"R6G2RiiiEs9b5IDdx2HIg","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-186.38853454589845,"x":-1167.0369873046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"5S7O-66ZV-9W6H-5A80","door_name":"704","door_data":[{"unique_id":"jwMYxzIdHMXycuCSgZ3BS","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-182.24205017089845,"x":-1164.57958984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"5UHR-CXXQ-LE76-6MN1","door_name":"114","door_data":[{"unique_id":"z_kfV5HCDq4ObF-Ukt_2I","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-209.0911407470703,"x":-1206.151611328125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"5WJI-OYFB-TJUM-IALO","door_name":"310","door_data":[{"unique_id":"pRK-YyUyTRGXJTQ582bbg","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-188.0507965087891,"x":-1174.864013671875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"5YAE-N5YA-FHYA-RVQ2","door_name":"527","door_data":[{"unique_id":"H1Aa9S6Ne_jeF5g7RlBVc","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-152.1529083251953,"x":-1229.822998046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"61J9-PHMV-1IID-KXF1","door_name":"204","door_data":[{"unique_id":"LJpdAo_0HDhNvLGZz3zPc","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-182.24205017089845,"x":-1164.57958984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"61VB-G49M-M2RD-AQQ5","door_name":"217","door_data":[{"unique_id":"e6PXq8pI5X1ocBrrRpy44","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-230.279525756836,"x":-1217.4189453125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"65EE-7Q43-W2GS-6YRI","door_name":"602","door_data":[{"unique_id":"eJD1kkdlywElIuIYlNl3d","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-185.56842041015626,"x":-1180.22900390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6AR9-1MBI-I7AL-BO2L","door_name":"705","door_data":[{"unique_id":"e59VQz_u-TWntDU6MOnb2","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-180.57872009277345,"x":-1156.7542724609376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6KLG-YJV8-B6Q8-VPUZ","door_name":"713","door_data":[{"unique_id":"3BTYn58IgijB60ntwyDBX","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-202.0268096923828,"x":-1202.3956298828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6MVJ-VTD4-17U1-FU9J","door_name":"611","door_data":[{"unique_id":"BKXw1v4Ox_9u4W3Q9K4of","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-189.710189819336,"x":-1182.68994140625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6MZT-V49T-8V8V-ZAZS","door_name":"609","door_data":[{"unique_id":"Qf8qEsY-BLg6IWhdQJlIS","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-186.38853454589845,"x":-1167.0369873046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6O4N-7B7G-RO8S-AXCF","door_name":"605","door_data":[{"unique_id":"f7quEuXKpyENYA2EHUYUt","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-180.57872009277345,"x":-1156.7542724609376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6QLJ-A7U7-Q5Q7-GVMR","door_name":"521","door_data":[{"unique_id":"YMo_tiZauIPYc8k4-Xs4j","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-218.9425811767578,"x":-1214.7393798828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6RPG-ENOD-33D8-YLY2","door_name":"313","door_data":[{"unique_id":"kVmp-uIj4kLvi1hMfkM4Y","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-202.0268096923828,"x":-1202.3956298828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6S04-YKW0-WDY2-W6VL","door_name":"719","door_data":[{"unique_id":"GToZb8Cd8TdzzLLJJDYOB","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-233.069564819336,"x":-1222.250732421875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"6SWO-V10D-99W1-EPRI","door_name":"304","door_data":[{"unique_id":"vgAiKkPAJdED6G9tAQw1L","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-182.24205017089845,"x":-1164.57958984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"7821-CB03-8P6V-EDRF","door_name":"524","door_data":[{"unique_id":"y3DZFTc8UnWJe5mUDcqLy","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-197.83656311035157,"x":-1203.5169677734376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"78KL-WXE3-R7FE-1TMZ","door_name":"505","door_data":[{"unique_id":"yXCjyECWeCHMRaKywNYTf","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-180.57872009277345,"x":-1156.7542724609376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"7NU4-NHKS-9WN8-ACU1","door_name":"406","door_data":[{"unique_id":"GSLOYGmmz5PXJtudYVhdI","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-178.9155426025391,"x":-1148.9295654296876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"7RBK-CBTH-BYRT-XJH1","door_name":"518","door_data":[{"unique_id":"I1daFu99Ow9boewUlkySk","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-237.34359741210936,"x":-1221.1749267578126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"7STO-JH1F-ATFY-YZQF","door_name":"708","door_data":[{"unique_id":"QdmwPuyNeKiU0uPiotz2n","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-184.7261962890625,"x":-1159.2132568359376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"7VFY-A0E6-67EA-Y4NU","door_name":"516","door_data":[{"unique_id":"9ft5-qHk6dSsjJKHfwhWV","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-223.21641540527345,"x":-1213.6634521484376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"83R0-6EMU-8AZC-XO7I","door_name":"209","door_data":[{"unique_id":"pUw0vvAztYhvyD1ZrE4d1","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-186.38853454589845,"x":-1167.0369873046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"87FB-RDR4-CQCB-CRLZ","door_name":"530","door_data":[{"unique_id":"lcJV-NglZPy8Q8egE9lMy","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-178.15708923339845,"x":-1206.206787109375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"8DOZ-E4WD-0QJ1-K2F8","door_name":"629","door_data":[{"unique_id":"WE6z32SsF3V_jX3HI-wIt","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-165.38027954101566,"x":-1215.836181640625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"8XUT-F6R7-RPVZ-0FGW","door_name":"709","door_data":[{"unique_id":"TNJPERMEIAxwbx5iJndw6","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-186.38853454589845,"x":-1167.0369873046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"928J-2TZP-ZK93-H278","door_name":"413","door_data":[{"unique_id":"eP2ZMUxg1BwJqlgnbGKJd","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-202.0268096923828,"x":-1202.3956298828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"94LT-MABW-7PFS-N8U8","door_name":"215","door_data":[{"unique_id":"CbGqP8ZLgB41dlFjfBSj3","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-216.15330505371098,"x":-1209.9078369140626}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"97SM-ACZK-74B3-VCU3","door_name":"224","door_data":[{"unique_id":"WH3vZDVMFjMbK9LGTq9JT","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-197.83656311035157,"x":-1203.5169677734376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"double","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"9FDN-UI9X-2M7S-MZ12","door_name":"Entrance 2","door_data":[{"unique_id":"QsQXXHGLbxRA7Z2riT4RR","model_hash":1308911070,"door_coords":{"z":39.97919082641601,"y":-192.38047790527345,"x":-1212.947021484375}},{"unique_id":"w8C5cjp7GIWoXxoFyhW0i","model_hash":-403433025,"door_coords":{"z":39.97937393188476,"y":-191.16964721679688,"x":-1212.3123779296876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"9GSG-67IN-WK0O-T2BH","door_name":"226","door_data":[{"unique_id":"wih8sgcrIP27CEI5smazK","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-164.93179321289066,"x":-1220.19384765625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"9I8E-FZD8-M7V6-ETUW","door_name":"415","door_data":[{"unique_id":"xYHLP4-u2KhM7N3MgsGGL","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-216.15330505371098,"x":-1209.9078369140626}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"9JN1-76JK-VRWH-77BI","door_name":"128","door_data":[{"unique_id":"ztMaJFn4E1U8y34BsplFQ","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-152.60263061523438,"x":-1225.46435546875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"A1QS-5OAS-6HP7-FONS","door_name":"726","door_data":[{"unique_id":"hL0s0eRfsaOtT7krQjGqj","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-164.93179321289066,"x":-1220.19384765625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"AMRE-K2CK-LEE1-81FN","door_name":"610","door_data":[{"unique_id":"X9QUTrwemuoILEv4Myizy","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-188.0507965087891,"x":-1174.864013671875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"AOGV-ENL9-U8QT-KIZV","door_name":"429","door_data":[{"unique_id":"HWlqkm1VgPaJdEr8Sb_g3","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-165.38027954101566,"x":-1215.836181640625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"AQDL-7A7G-G596-XB61","door_name":"701","door_data":[{"unique_id":"rrTtDFS2H-bLbGIDufnYW","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-187.23171997070313,"x":-1188.05419921875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"AY3N-KBRE-Y5WC-LX7F","door_name":"717","door_data":[{"unique_id":"MShfwsGQ9_n9oxK1uEMz7","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-230.279525756836,"x":-1217.4189453125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"B41Y-M615-N4RL-ZVZR","door_name":"722","door_data":[{"unique_id":"XFGShlK6pJsydFuQVWCMj","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-211.8789215087891,"x":-1210.9835205078126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"B4IH-GWQE-461L-YWVC","door_name":"227","door_data":[{"unique_id":"OHq8nzvgN7Q4WCTHeZACA","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-152.1529083251953,"x":-1229.822998046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"BC0U-OKGB-LDFP-MS9D","door_name":"423","door_data":[{"unique_id":"1pU7WRUptt3ZBp1ro6NiT","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-204.8149566650391,"x":-1207.2275390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"BMKH-H5WD-QLCT-9JYM","door_name":"124","door_data":[{"unique_id":"dLYfQbWKe7lJ__2XauDnA","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-197.83656311035157,"x":-1203.5169677734376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"BVF6-U7O8-DVSU-7OGO","door_name":"621","door_data":[{"unique_id":"YPyN2FBajggZlNSyN55Pt","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-218.9425811767578,"x":-1214.7393798828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"BX9J-36LQ-OYI1-MH1H","door_name":"228","door_data":[{"unique_id":"A8ArldzIlblDrLZa962cp","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-152.60263061523438,"x":-1225.46435546875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"BYHY-254K-3J6P-MND8","door_name":"419","door_data":[{"unique_id":"nRpAevs9ClXBgjyvZyeGB","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-233.069564819336,"x":-1222.250732421875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"C0IN-XDQB-UZRR-YGA3","door_name":"615","door_data":[{"unique_id":"cfg30pFrFiPd37hpeOiva","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-216.15330505371098,"x":-1209.9078369140626}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"C7DB-23RQ-PUSJ-66GZ","door_name":"104","door_data":[{"unique_id":"WFuQ-LEccGa4K7MCBtC_N","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-182.24205017089845,"x":-1164.57958984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"CDOC-KTBZ-81BT-5BKE","door_name":"606","door_data":[{"unique_id":"p7PnZUssBlN6JSEBRhXcs","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-178.9155426025391,"x":-1148.9295654296876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"CLZM-X9AY-DNYT-Y66O","door_name":"405","door_data":[{"unique_id":"mHBUVm_ALFKwvGkaoGlUL","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-180.57872009277345,"x":-1156.7542724609376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"CVNO-TTMI-Y591-HQW7","door_name":"205","door_data":[{"unique_id":"SZvFBu7cvAo8rljc0Noz8","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-180.57872009277345,"x":-1156.7542724609376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"CVUD-MBZ9-40DQ-Z538","door_name":"327","door_data":[{"unique_id":"TDOJHKL6tpsFGPH-lcRG-","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-152.1529083251953,"x":-1229.822998046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"CX3N-8EW3-QT1O-OPJI","door_name":"322","door_data":[{"unique_id":"GPUOWgauaVYnmUmDaBrHd","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-211.8789215087891,"x":-1210.9835205078126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"D5GN-SDG7-7SXC-QGEV","door_name":"506","door_data":[{"unique_id":"PzRwBiJGe3vIui2YbbfVY","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-178.9155426025391,"x":-1148.9295654296876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"DHF1-QHL9-SOVS-2JAX","door_name":"712","door_data":[{"unique_id":"ULdKhu42OML89urYj4sSe","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-191.37045288085936,"x":-1190.515380859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"DO3D-PR2D-VH7T-4I1W","door_name":"414","door_data":[{"unique_id":"l_lmj05hwuhUJ3xtByQv3","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-209.0911407470703,"x":-1206.151611328125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"DTP4-NKMQ-X553-TFYH","door_name":"115","door_data":[{"unique_id":"m3pYDb71c3ZumKkK78PNr","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-216.15330505371098,"x":-1209.9078369140626}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"DW28-07DF-YX5V-S3IW","door_name":"119","door_data":[{"unique_id":"kwmueTnlb8FA9zoqKKgmS","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-233.069564819336,"x":-1222.250732421875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"DWUI-4HEG-ZNHF-OMHZ","door_name":"523","door_data":[{"unique_id":"LH_73VsQFGnbfvkusg2x9","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-204.8149566650391,"x":-1207.2275390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"E0LW-OXHY-8ONA-NVN8","door_name":"607","door_data":[{"unique_id":"MMNVySSliWR3NLXLVxeAF","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-183.06826782226569,"x":-1151.3890380859376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"E3GP-ICVK-5BN2-7L4A","door_name":"121","door_data":[{"unique_id":"fCI0Q0iMw87Z-zf1y7jZE","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-211.8789215087891,"x":-1210.9835205078126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"E8IB-5MC3-MLDP-8FNL","door_name":"411","door_data":[{"unique_id":"4uiNE6c3wo1VlSjF2kBP_","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-189.710189819336,"x":-1182.68994140625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"EV85-DZ9R-0T2Z-IFHD","door_name":"315","door_data":[{"unique_id":"63X5CStMTAbv83EuM0Jc_","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-216.15330505371098,"x":-1209.9078369140626}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"EVSJ-F67O-K6HC-FGAA","door_name":"519","door_data":[{"unique_id":"DEKuy5Dv5OkuQ_k9vcqO3","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-233.069564819336,"x":-1222.250732421875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"F7MW-6Y7F-O2RD-M3AZ","door_name":"626","door_data":[{"unique_id":"5hiCGGYxYoKnwUyX5bNM_","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-164.93179321289066,"x":-1220.19384765625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"FI43-SI14-FYYH-8NKT","door_name":"129","door_data":[{"unique_id":"ZwpC6qijovmwQM16khfVu","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-165.38027954101566,"x":-1215.836181640625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"FJ9N-OT4V-OA22-PSJR","door_name":"622","door_data":[{"unique_id":"_0pheEFsdiVt5ZQo4-Txt","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-211.8789215087891,"x":-1210.9835205078126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"FKMO-VGMN-OPKO-LDNN","door_name":"603","door_data":[{"unique_id":"4x68HDMfUZbjK6D5FLasY","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-183.9052276611328,"x":-1172.4041748046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"FMN3-MRXL-DU17-61PO","door_name":"418","door_data":[{"unique_id":"962_aHeT9qsaJFKULupuE","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-237.34359741210936,"x":-1221.1749267578126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"FU4D-ZFLV-DR9Q-CM4T","door_name":"612","door_data":[{"unique_id":"o61nsCpMASqjZhOQyDmrZ","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-191.37045288085936,"x":-1190.515380859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"G0OJ-L6D7-B26P-L3PW","door_name":"325","door_data":[{"unique_id":"Ur7vKzFh0wP4OFuBRycms","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-177.7090301513672,"x":-1210.56591796875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"G1I7-BROR-40KH-3I9E","door_name":"525","door_data":[{"unique_id":"ID1KZDt2y_L4onk6G0b7T","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-177.7090301513672,"x":-1210.56591796875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"G1X2-CJFZ-6UEZ-ZY95","door_name":"723","door_data":[{"unique_id":"cb7FgKA_62rhBgrf88Hec","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-204.8149566650391,"x":-1207.2275390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"GA3G-PHAA-6MS7-UYP0","door_name":"105","door_data":[{"unique_id":"1bIF-0Jo20DrrRRyuk0G2","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-180.57872009277345,"x":-1156.7542724609376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"GI2P-28Z9-NH1V-OTCO","door_name":"303","door_data":[{"unique_id":"VHqWdJTQwqPp0jlFnYTnc","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-183.9052276611328,"x":-1172.4041748046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"GI5S-4O99-9S6D-7QRO","door_name":"326","door_data":[{"unique_id":"_0P-nDDHOQB-e8epVQ2N6","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-164.93179321289066,"x":-1220.19384765625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"GJ4E-P55Y-P77P-7U4I","door_name":"130","door_data":[{"unique_id":"Nh71hzjw8rJftldHVHzq4","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-178.15708923339845,"x":-1206.206787109375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"GJQA-BNLX-7VRO-8WWB","door_name":"711","door_data":[{"unique_id":"1HzTA53wwE_qp2qBPjE2q","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-189.710189819336,"x":-1182.68994140625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"GPME-I678-W062-IEOD","door_name":"421","door_data":[{"unique_id":"aYR4t4TR8kjWrtX8CYC9N","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-218.9425811767578,"x":-1214.7393798828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"H63C-85O2-OWYO-X400","door_name":"511","door_data":[{"unique_id":"P46uYURtg5zni2-G_tuJN","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-189.710189819336,"x":-1182.68994140625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"HD11-VFTL-GTXH-HRS3","door_name":"728","door_data":[{"unique_id":"nWTo2sTq1HSfQ947HVDlu","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-152.60263061523438,"x":-1225.46435546875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"HJIZ-OFT7-9ZI7-9VR8","door_name":"223","door_data":[{"unique_id":"wV8BlC_XZZ95VPbKtkb4Q","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-204.8149566650391,"x":-1207.2275390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"HLLE-BB56-YE8Y-DOH7","door_name":"112","door_data":[{"unique_id":"yLNplhzo0R7we7hjfN3yH","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-191.37045288085936,"x":-1190.515380859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"HO9Y-2AOW-ZTYV-LXQS","door_name":"127","door_data":[{"unique_id":"Oj2s5tTDPThh-2_QsudgQ","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-152.1529083251953,"x":-1229.822998046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"HQAQ-26LP-15SY-FS2A","door_name":"620","door_data":[{"unique_id":"ijWe_yfaHXDSEKe4sQSSb","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-226.00555419921876,"x":-1218.494873046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"HQQ4-LO89-N13X-ZL71","door_name":"416","door_data":[{"unique_id":"lOo_5GTZAgviOXdWi7mzY","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-223.21641540527345,"x":-1213.6634521484376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"HT20-XC1W-GBW9-5TZX","door_name":"301","door_data":[{"unique_id":"qZd5w-64tMKZ15VwGandT","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-187.23171997070313,"x":-1188.05419921875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"HUX7-KROZ-POUC-UILJ","door_name":"218","door_data":[{"unique_id":"4WkSCTCW7a5IWZzYqm2i3","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-237.34359741210936,"x":-1221.1749267578126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"I1CS-713B-PRYH-9FOY","door_name":"517","door_data":[{"unique_id":"3VZ2OvUgmX-9egnCCKwvk","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-230.279525756836,"x":-1217.4189453125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"I3I0-HILG-AWO1-NWHL","door_name":"202","door_data":[{"unique_id":"BERForQD498Ayd7pF3R6w","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-185.56842041015626,"x":-1180.22900390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"I4UM-25R2-P0VZ-W1H4","door_name":"216","door_data":[{"unique_id":"KcJvU7TW2r6Ec3Qtn12hE","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-223.21641540527345,"x":-1213.6634521484376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"I5QF-ASLJ-VWJP-XQ2K","door_name":"425","door_data":[{"unique_id":"llz2GuAzC3tUzdUunq9rb","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-177.7090301513672,"x":-1210.56591796875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"I9R1-PZC2-51DW-U1HQ","door_name":"427","door_data":[{"unique_id":"6Bk4fzn23kFNwCIUoG_sD","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-152.1529083251953,"x":-1229.822998046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"IG39-8EE6-R6K4-CUOB","door_name":"625","door_data":[{"unique_id":"kuFgiZP_uCyTNccXwL1Ul","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-177.7090301513672,"x":-1210.56591796875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"IHSL-KV3O-HUN5-99ZS","door_name":"117","door_data":[{"unique_id":"CI7QsludULmh7OtdOEsnQ","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-230.279525756836,"x":-1217.4189453125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"INQL-HNUI-JCS7-PY5U","door_name":"110","door_data":[{"unique_id":"kATKKQijPC7tbKgWmC_ba","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-188.0507965087891,"x":-1174.864013671875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"IPJO-0KUW-KBDS-WKK1","door_name":"512","door_data":[{"unique_id":"Egrif-yJk-ii19XDF-MxX","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-191.37045288085936,"x":-1190.515380859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"IQ5U-6LUV-ZI1R-Q07L","door_name":"323","door_data":[{"unique_id":"lMBBjy3JjlnZAdERKk1J3","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-204.8149566650391,"x":-1207.2275390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"IW6H-YIIG-ZESN-KRTF","door_name":"220","door_data":[{"unique_id":"s0x6DS8gE5UtwYBmIy7iv","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-226.00555419921876,"x":-1218.494873046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"JJ5D-TCE5-4Y9N-SRRC","door_name":"526","door_data":[{"unique_id":"eZ0lX1tbrZJUANu4VMe3i","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-164.93179321289066,"x":-1220.19384765625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"JYMS-R3GR-TE0E-LSYO","door_name":"619","door_data":[{"unique_id":"WP6U62O9PhARO23TerepD","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-233.069564819336,"x":-1222.250732421875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"JZTJ-BMQ8-RXQW-24JY","door_name":"613","door_data":[{"unique_id":"vrcA1CPwrU9g6oSCMwgwF","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-202.0268096923828,"x":-1202.3956298828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"K18H-21LQ-VC6G-14U2","door_name":"407","door_data":[{"unique_id":"S6E4wEsoe6XQrzxmTqpFA","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-183.06826782226569,"x":-1151.3890380859376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"K9RC-5XKL-UI95-X67Y","door_name":"601","door_data":[{"unique_id":"1jJasCUFMd07vFr8vpiVb","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-187.23171997070313,"x":-1188.05419921875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"KL54-SHJU-8WVT-OOFC","door_name":"510","door_data":[{"unique_id":"DeLc1JOkqP3z5cn_Ue8Gf","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-188.0507965087891,"x":-1174.864013671875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"KS2H-3RWV-DQF0-Q9LD","door_name":"214","door_data":[{"unique_id":"V8SaO6pCp3ElUg-i8REyQ","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-209.0911407470703,"x":-1206.151611328125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"KU8W-U4VE-UOTY-3CKS","door_name":"102","door_data":[{"unique_id":"kR03M7ZYCgOQ91HVKW006","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-185.56842041015626,"x":-1180.22900390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"L6RD-W4OJ-Q5UO-UVLC","door_name":"113","door_data":[{"unique_id":"8XqIm3K_3p-bD9QCBDpjh","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-202.0268096923828,"x":-1202.3956298828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"L6TK-ZCBV-1RBL-2EMY","door_name":"108","door_data":[{"unique_id":"g8FK9T6-dQumOmYXH3QZT","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-184.7261962890625,"x":-1159.2132568359376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"M0H5-BXSJ-5KBA-6TCB","door_name":"504","door_data":[{"unique_id":"C6tSf_O21r8Un-GHPSQrX","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-182.24205017089845,"x":-1164.57958984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"M3BA-09BX-8KP4-TT90","door_name":"714","door_data":[{"unique_id":"KDFbh4CACbAg6dr8FgP2N","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-209.0911407470703,"x":-1206.151611328125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"M81O-6AVK-RR35-58CN","door_name":"314","door_data":[{"unique_id":"lTqj95hCnu43tVUV1KG-8","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-209.0911407470703,"x":-1206.151611328125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"MNL0-EPYK-F4ZC-UAU4","door_name":"627","door_data":[{"unique_id":"NSahJLKVfjhDIg2om_2tA","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-152.1529083251953,"x":-1229.822998046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"MS05-EXRB-7WLP-COEG","door_name":"508","door_data":[{"unique_id":"UszohMsCIdFu7fj0BXXSm","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-184.7261962890625,"x":-1159.2132568359376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"NB3Y-ALM2-73PW-TPQ0","door_name":"206","door_data":[{"unique_id":"3DOLOZBwOdcZCibzs5QBG","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-178.9155426025391,"x":-1148.9295654296876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"ND9Y-JQ52-O3D3-9FPH","door_name":"212","door_data":[{"unique_id":"zvQCw2shW6oogdeDj3JJj","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-191.37045288085936,"x":-1190.515380859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"NJ1V-9PH7-BKN2-8INF","door_name":"514","door_data":[{"unique_id":"U0yd3LUPcKC6hul4fZrrh","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-209.0911407470703,"x":-1206.151611328125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"NOH1-ZFJT-UGNB-IJ7K","door_name":"410","door_data":[{"unique_id":"bAhBhTuWLqKr8jFx9ywGN","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-188.0507965087891,"x":-1174.864013671875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"NOUA-UVKP-UPWL-K601","door_name":"324","door_data":[{"unique_id":"Z5SbjFPFAuJ3rU9QOkUHA","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-197.83656311035157,"x":-1203.5169677734376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"NR4H-NA4Y-QEP1-DFHH","door_name":"211","door_data":[{"unique_id":"bRK0_FAZ8Kr9GSPgcsgCV","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-189.710189819336,"x":-1182.68994140625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"NS3L-VGRK-B0U0-YBW3","door_name":"305","door_data":[{"unique_id":"114Q8ea6rm3iA08wRILPm","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-180.57872009277345,"x":-1156.7542724609376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"O59P-2Q7Q-9Q53-LNRL","door_name":"724","door_data":[{"unique_id":"yUCm_evBB9fhGp1a_R79v","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-197.83656311035157,"x":-1203.5169677734376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"O803-M2YM-XNZZ-AYT9","door_name":"308","door_data":[{"unique_id":"P1nKGXtA7y6UdRljyUbkD","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-184.7261962890625,"x":-1159.2132568359376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"O9WH-K2BH-FM76-85WH","door_name":"404","door_data":[{"unique_id":"uf8kaeL7a7mVVmzhQxrtk","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-182.24205017089845,"x":-1164.57958984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"ODNO-ORAI-JF7W-V0M6","door_name":"617","door_data":[{"unique_id":"RPQvkIovdLNis6_SWJ3Qa","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-230.279525756836,"x":-1217.4189453125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"OF8M-6I8B-YHGT-VY7X","door_name":"515","door_data":[{"unique_id":"uow_M28ZlInAJgekMjFAa","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-216.15330505371098,"x":-1209.9078369140626}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"OM8R-CA31-WKUE-ZT0W","door_name":"623","door_data":[{"unique_id":"yjMXyNOkqbU2eWxOepZkn","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-204.8149566650391,"x":-1207.2275390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"OOX7-OQHE-Q1G7-1785","door_name":"330","door_data":[{"unique_id":"lIaoHf-bHEoUNaVIkdWOI","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-178.15708923339845,"x":-1206.206787109375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"PGPI-7VDL-XFSK-KHK2","door_name":"428","door_data":[{"unique_id":"Xi4gJrDrLYEKdBHxK7Fm3","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-152.60263061523438,"x":-1225.46435546875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"PK41-VF8H-DIX6-QFPC","door_name":"230","door_data":[{"unique_id":"dzik-T-xMF9KPV8m3Ab5M","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-178.15708923339845,"x":-1206.206787109375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"PMBF-5XRI-D6F7-MIVD","door_name":"720","door_data":[{"unique_id":"e1jHbwVM_ggMN070Rgkw4","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-226.00555419921876,"x":-1218.494873046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"PZX8-EA63-N8V8-M3SL","door_name":"408","door_data":[{"unique_id":"F7_Hzt1vV9e5OKx8__h1D","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-184.7261962890625,"x":-1159.2132568359376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"Q23U-X67S-5ND0-8ETS","door_name":"716","door_data":[{"unique_id":"t30MydXqA4QRyEPw_K1_g","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-223.21641540527345,"x":-1213.6634521484376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"Q2FZ-KRI3-9PKL-T7AC","door_name":"718","door_data":[{"unique_id":"I_kMLIyzDMTYTGtDsx4AW","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-237.34359741210936,"x":-1221.1749267578126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"Q4SK-LX1B-3QN1-VWVG","door_name":"628","door_data":[{"unique_id":"5OMF7nnWT9EK5legN-DTr","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-152.60263061523438,"x":-1225.46435546875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"QFBA-O7XA-7QXF-6B44","door_name":"729","door_data":[{"unique_id":"uIw4_I8NKnqA8y8wU_WsP","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-165.38027954101566,"x":-1215.836181640625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"QUJ7-JYAZ-SC3H-DRMC","door_name":"409","door_data":[{"unique_id":"LM_ZRJS5aKSLw1sblTSPs","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-186.38853454589845,"x":-1167.0369873046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"QUTZ-VY5O-0EV0-F0Y7","door_name":"329","door_data":[{"unique_id":"Rw-n77_TVyxa442MC7T7J","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-165.38027954101566,"x":-1215.836181640625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"R1NK-X6DA-LQC5-A627","door_name":"106","door_data":[{"unique_id":"bQU5kYTnX_ryhAqwMXnpE","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-178.9155426025391,"x":-1148.9295654296876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"R24Q-6ER3-KKDT-BTJO","door_name":"529","door_data":[{"unique_id":"6TZ7xlwosnJV6Cx6AXdVv","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-165.38027954101566,"x":-1215.836181640625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"R49V-T77E-HMOD-0AS0","door_name":"412","door_data":[{"unique_id":"j3SZuVtwmkYLMAM-00EK_","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-191.37045288085936,"x":-1190.515380859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"RBUS-EG9J-2ZMQ-8FU9","door_name":"328","door_data":[{"unique_id":"u-5ewXFgG_uFtMDci-E9v","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-152.60263061523438,"x":-1225.46435546875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"RBWY-TNWY-5RKR-MGV3","door_name":"307","door_data":[{"unique_id":"AnVkuZf9qbUtIY8aceqK7","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-183.06826782226569,"x":-1151.3890380859376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"RD94-W8ZD-WQQF-VKIY","door_name":"221","door_data":[{"unique_id":"nZRCYl7C--yHDN5bna6Fl","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-218.9425811767578,"x":-1214.7393798828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"RDCZ-FRZ1-67VB-XMFY","door_name":"422","door_data":[{"unique_id":"0F7ivGSZV8ERnmOt8YiDk","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-211.8789215087891,"x":-1210.9835205078126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"RL0I-TN4R-V1QF-MHEP","door_name":"710","door_data":[{"unique_id":"WD--0xE8JpBb4-3GMMwvN","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-188.0507965087891,"x":-1174.864013671875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"RUBL-5EO8-2LRN-VRK4","door_name":"317","door_data":[{"unique_id":"5gSQK0qT3oTYqhHTyQv8Z","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-230.279525756836,"x":-1217.4189453125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"RZNQ-FN2P-L7ZK-UDSH","door_name":"715","door_data":[{"unique_id":"sBltPiqU-bzBlu8gPifKD","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-216.15330505371098,"x":-1209.9078369140626}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"S10Y-Y6S1-V93F-60F5","door_name":"312","door_data":[{"unique_id":"VILtLNRuN46cEDoBFKVoZ","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-191.37045288085936,"x":-1190.515380859375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"S18G-MBTD-J69X-K0RZ","door_name":"203","door_data":[{"unique_id":"Q_PH1_PXTySy6dJPPCeIj","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-183.9052276611328,"x":-1172.4041748046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"SBSJ-ZDSS-DTI8-EY6J","door_name":"513","door_data":[{"unique_id":"k5dzhzACVBxeN5j0wrV5H","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-202.0268096923828,"x":-1202.3956298828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"SLS6-ZVD5-BSLY-2J23","door_name":"116","door_data":[{"unique_id":"IDlkSU6ZiH7nukXAOmJFv","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-223.21641540527345,"x":-1213.6634521484376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"SVVI-1X82-QT0R-OPHO","door_name":"424","door_data":[{"unique_id":"963NZ2A2EyWRrqA6XdS35","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-197.83656311035157,"x":-1203.5169677734376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"SYOT-MW7G-I5YZ-3NRQ","door_name":"430","door_data":[{"unique_id":"i3mCRBI8P3kKL-jzv5W-9","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-178.15708923339845,"x":-1206.206787109375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"T5LN-U0GE-KKE0-SA6P","door_name":"702","door_data":[{"unique_id":"bew6P8ONV9iw74sevEMfY","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-185.56842041015626,"x":-1180.22900390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"TLYY-K2PC-5ZH1-8V8X","door_name":"318","door_data":[{"unique_id":"PhfinmXvwHKmJ3Kti2aaC","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-237.34359741210936,"x":-1221.1749267578126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"U227-NLE0-GRYF-T2A2","door_name":"107","door_data":[{"unique_id":"rroGgLgGNf8jUD-hUE6aY","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-183.06826782226569,"x":-1151.3890380859376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"UB1V-CY4D-VCM6-MC2U","door_name":"417","door_data":[{"unique_id":"YzE4Ed-feJpzjlFuXAF8i","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-230.279525756836,"x":-1217.4189453125}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"UCE7-3B35-H1BL-VBAL","door_name":"727","door_data":[{"unique_id":"CLvWTw73HaycVXgLJIXo6","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-152.1529083251953,"x":-1229.822998046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"UGAQ-O04D-LMHK-X0SX","door_name":"507","door_data":[{"unique_id":"-VCBzVlXFXLF5Pg_jAakS","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-183.06826782226569,"x":-1151.3890380859376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"USJF-D8Y2-2H80-LGFB","door_name":"509","door_data":[{"unique_id":"3Jo1f6P98aun1oWggZJdQ","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-186.38853454589845,"x":-1167.0369873046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"double","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"V0BZ-A3MZ-E6S4-XOMV","door_name":"Entrance 1","door_data":[{"unique_id":"WUp8kxBUX8UFTapkhIjma","model_hash":1308911070,"door_coords":{"z":39.97919082641601,"y":-203.35400390625,"x":-1218.7279052734376}},{"unique_id":"Y03dFnRg1Z4lArDH4VFod","model_hash":-403433025,"door_coords":{"z":39.97937393188476,"y":-202.14422607421876,"x":-1218.0914306640626}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"VCQU-DM1E-QM26-N7TA","door_name":"426","door_data":[{"unique_id":"hNSpGFR1KhHNqfnHDpCys","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-164.93179321289066,"x":-1220.19384765625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"VEV0-YNLG-PS9F-JTUN","door_name":"604","door_data":[{"unique_id":"Ok2lqzOSKMvnziojJlXbs","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-182.24205017089845,"x":-1164.57958984375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"VRFR-P4OY-LAFT-K1JR","door_name":"319","door_data":[{"unique_id":"uyOjd50Mc_tZMbQ_3JZxx","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-233.069564819336,"x":-1222.250732421875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"VV79-44UP-H82N-WZVL","door_name":"123","door_data":[{"unique_id":"sd1zZs0GT_up9w8l0Mq4b","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-204.8149566650391,"x":-1207.2275390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"VVKY-6ZDV-4LPE-TPS1","door_name":"302","door_data":[{"unique_id":"xMbQyXZRHYJ_84-cJTvZT","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-185.56842041015626,"x":-1180.22900390625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"W63J-JPN6-36XV-ZNBP","door_name":"229","door_data":[{"unique_id":"5pxNONbYoaofariW5H1u8","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-165.38027954101566,"x":-1215.836181640625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"WCPF-QQS9-S8OA-38AY","door_name":"616","door_data":[{"unique_id":"fRHBzQwnj0N7Rcqh3p-YF","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-223.21641540527345,"x":-1213.6634521484376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"WN13-9GXX-EKN2-QGPO","door_name":"118","door_data":[{"unique_id":"shyFyhNOEmruUa3hvQ7l4","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-237.34359741210936,"x":-1221.1749267578126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"WOCE-TVUU-MJKF-7IQ3","door_name":"618","door_data":[{"unique_id":"4gULzIZ3cYqz2IPn98Qon","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-237.34359741210936,"x":-1221.1749267578126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"WZ7V-WNQ0-XE7V-CV51","door_name":"703","door_data":[{"unique_id":"dCAKLi-4SbJEhVGPtePzi","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-183.9052276611328,"x":-1172.4041748046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"WZYB-0JWB-3KQV-CMFC","door_name":"120","door_data":[{"unique_id":"jPi343JUvhd6hRV-WIS5l","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-226.00555419921876,"x":-1218.494873046875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"X0DU-DUNR-7PD0-Q4OR","door_name":"126","door_data":[{"unique_id":"ZGiM5LMN4gknDVYDxiYRF","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-164.93179321289066,"x":-1220.19384765625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"X7W6-BSLA-VOYT-TDUB","door_name":"707","door_data":[{"unique_id":"Ywbuph6zs8b3upBdWYJc8","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-183.06826782226569,"x":-1151.3890380859376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"XC5X-SY01-83OQ-OBW4","door_name":"210","door_data":[{"unique_id":"0bY42oqbnj7GQ0Ndf_v8e","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-188.0507965087891,"x":-1174.864013671875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"XS52-W6DM-Q6T2-SVQW","door_name":"213","door_data":[{"unique_id":"RLXEH24HCekzMvp2CAPB5","model_hash":-674469114,"door_coords":{"z":51.89648818969726,"y":-202.0268096923828,"x":-1202.3956298828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"XT3Y-LB8T-IS2T-CZM7","door_name":"608","door_data":[{"unique_id":"LwfMsC2LUfdeRSJTi2syQ","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-184.7261962890625,"x":-1159.2132568359376}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"XZQB-PIP8-MQ1N-V21G","door_name":"311","door_data":[{"unique_id":"rOgj_f2ZJXm6wfZtxn2jM","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-189.710189819336,"x":-1182.68994140625}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"YGQ8-97BK-TWH6-47FI","door_name":"401","door_data":[{"unique_id":"94-AfWKbWEEepPyG5kITN","model_hash":-674469114,"door_coords":{"z":59.89648818969726,"y":-187.23171997070313,"x":-1188.05419921875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"YKUU-L5KX-9VRZ-UQUK","door_name":"522","door_data":[{"unique_id":"mgXZbWyVidaasN9I6kbF6","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-211.8789215087891,"x":-1210.9835205078126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"Z1JL-XSSN-8MFO-JVY6","door_name":"321","door_data":[{"unique_id":"lmcsLDdxcjD0pZvp_TQTH","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-218.9425811767578,"x":-1214.7393798828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"Z2J2-A55L-TBHR-LDBO","door_name":"725","door_data":[{"unique_id":"tdcd2tt3O4728pjGjRVsG","model_hash":-674469114,"door_coords":{"z":71.896484375,"y":-177.7090301513672,"x":-1210.56591796875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"Z3V2-1N1D-KO9E-K3KG","door_name":"121","door_data":[{"unique_id":"BFo3fKW2lyu4XQJy93ofB","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-218.9425811767578,"x":-1214.7393798828126}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"ZA6B-FYU1-X8AC-CHX2","door_name":"503","door_data":[{"unique_id":"XcbZqz52DS2AOqhUVGebk","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-183.9052276611328,"x":-1172.4041748046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"ZCXL-P6RG-PRYP-WHKT","door_name":"630","door_data":[{"unique_id":"qdJpuyfgIQUR-NMbVZPX2","model_hash":-674469114,"door_coords":{"z":67.896484375,"y":-178.15708923339845,"x":-1206.206787109375}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"ZIH4-YWKH-MRNL-3L9D","door_name":"306","door_data":[{"unique_id":"_zqDspsBpynr4yvKrfRhi","model_hash":-674469114,"door_coords":{"z":55.89648818969726,"y":-178.9155426025391,"x":-1148.9295654296876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"ZKW6-W962-PCYN-7VRG","door_name":"501","door_data":[{"unique_id":"UdmUr5pVDT-q7IHAo31u_","model_hash":-674469114,"door_coords":{"z":63.896484375,"y":-187.23171997070313,"x":-1188.05419921875}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"},{"door_type":"single","door_unlock_sound":"door_click.ogg","camera":false,"items":[],"default_state":false,"state":false,"secret":false,"perms":{"ace":[],"job":[{"grade":0,"name":"police"}],"discord":[],"identifier":[],"items":[]},"unique_id":"ZV22-IUJP-392Z-I1OH","door_name":"109","door_data":[{"unique_id":"yv3e3Se_XikTXyuvE3ksF","model_hash":-674469114,"door_coords":{"z":47.89648818969726,"y":-186.38853454589845,"x":-1167.0369873046876}}],"distance":2,"keep_open":false,"lockpickable":false,"location_group":"Von Crastenburg Rockford","door_sound":"door_regular.ogg"}],"name":"[GN_Studios]_Von_Crastenburg_Rockford.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[GTA]_Fleeca_Grapeseed.json b/resources/cd_doorlock/JSON files/import_locations/[GTA]_Fleeca_Grapeseed.json
new file mode 100644
index 000000000..7e87da817
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[GTA]_Fleeca_Grapeseed.json
@@ -0,0 +1 @@
+{"imported":false,"name":"[GTA]_Fleeca_Grapeseed.json","data":[{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Fleeca Grapeseed","door_type":"double","door_sound":"door_regular.ogg","door_name":"Entrance","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LTRO-5KIT-0RYD-LTUQ","door_data":[{"door_coords":{"z":42.44043731689453,"y":4853.45849609375,"x":1683.89111328125},"model_hash":-1152174184,"unique_id":"_zYDAimzoWQz-4hURQiQ_"},{"door_coords":{"z":42.44037246704101,"y":4854.74169921875,"x":1683.7119140625},"model_hash":73386408,"unique_id":"GUL5mjgc8LuIn4Ebb_as1"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Fleeca Grapeseed","door_type":"single","door_sound":"door_regular.ogg","door_name":"Vault Door","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XC3O-MG2G-WA75-JSBX","door_data":[{"door_coords":{"z":42.22794342041015,"y":4854.89453125,"x":1691.7725830078126},"model_hash":2121050683,"unique_id":"RJYP9GLsdXy67Bvb-j-cR"}]},{"state":false,"items":[],"door_unlock_sound":"door_click.ogg","camera":false,"default_state":false,"distance":2,"secret":false,"keep_open":false,"location_group":"Fleeca Grapeseed","door_type":"single","door_sound":"door_regular.ogg","door_name":"Teller Room","lockpickable":false,"perms":{"ace":[],"discord":[],"identifier":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YEZX-CXCH-GX0B-ZJ4Q","door_data":[{"door_coords":{"z":42.1692886352539,"y":4851.1513671875,"x":1689.465087890625},"model_hash":-131754413,"unique_id":"M2ZifNktdVB6tcMjU-ttt"}]}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/247_barbareno_ave.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_barbareno_ave.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/247_barbareno_ave.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_barbareno_ave.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/247_clifton_ave.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_clifton_ave.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/247_clifton_ave.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_clifton_ave.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/247_ineseno_rd.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_ineseno_rd.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/247_ineseno_rd.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_ineseno_rd.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/247_innocence_blvd.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_innocence_blvd.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/247_innocence_blvd.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_innocence_blvd.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/247_paleto.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_paleto.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/247_paleto.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_paleto.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/247_palomino_fwy.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_palomino_fwy.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/247_palomino_fwy.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_palomino_fwy.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/247_sandy.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_sandy.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/247_sandy.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_sandy.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/247_senora_fwy_1.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_senora_fwy_1.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/247_senora_fwy_1.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_senora_fwy_1.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/247_senora_fwy_2.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_senora_fwy_2.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/247_senora_fwy_2.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_247_senora_fwy_2.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/altruists.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_altruists.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/altruists.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_altruists.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_chumash.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_chumash.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_chumash.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_chumash.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_cypress_flats.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_cypress_flats.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_cypress_flats.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_cypress_flats.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_hawick.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_hawick.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_hawick.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_hawick.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_la_mesa.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_la_mesa.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_la_mesa.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_la_mesa.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_legion.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_legion.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_legion.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_legion.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_little_seoul.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_little_seoul.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_little_seoul.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_little_seoul.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_morningwood.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_morningwood.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_morningwood.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_morningwood.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_paleto.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_paleto.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_paleto.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_paleto.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_route_68.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_route_68.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_route_68.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_route_68.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_sandy.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_sandy.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_sandy.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_sandy.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ammunition_tataviam_mountains.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_tataviam_mountains.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ammunition_tataviam_mountains.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ammunition_tataviam_mountains.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/aztecas.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_aztecas.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/aztecas.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_aztecas.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/bahama_mamas.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_bahama_mamas.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/bahama_mamas.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_bahama_mamas.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ballas.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ballas.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ballas.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ballas.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/barbershop_alhambradrive.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_alhambradrive.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/barbershop_alhambradrive.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_alhambradrive.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/barbershop_carsonave.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_carsonave.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/barbershop_carsonave.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_carsonave.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/barbershop_hawickave.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_hawickave.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/barbershop_hawickave.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_hawickave.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/barbershop_magellanave.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_magellanave.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/barbershop_magellanave.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_magellanave.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/barbershop_mirrorpark.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_mirrorpark.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/barbershop_mirrorpark.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_mirrorpark.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/barbershop_paleto.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_paleto.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/barbershop_paleto.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_barbershop_paleto.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/bean_machine.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_bean_machine.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/bean_machine.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_bean_machine.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/bennys.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_bennys.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/bennys.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_bennys.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/binco_grapeseed.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_grapeseed.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/binco_grapeseed.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_grapeseed.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/binco_innocence_blvd.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_innocence_blvd.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/binco_innocence_blvd.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_innocence_blvd.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/binco_paleto.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_paleto.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/binco_paleto.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_paleto.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/binco_palomino_ave.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_palomino_ave.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/binco_palomino_ave.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_palomino_ave.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/binco_rt68_1.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_rt68_1.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/binco_rt68_1.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_rt68_1.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/binco_rt68_2.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_rt68_2.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/binco_rt68_2.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_rt68_2.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/binco_sinner_ave.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_sinner_ave.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/binco_sinner_ave.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_binco_sinner_ave.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/bolingbroke_prison.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_bolingbroke_prison.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/bolingbroke_prison.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_bolingbroke_prison.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/bowling_alley.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_bowling_alley.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/bowling_alley.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_bowling_alley.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/davis_pd.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_davis_pd.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/davis_pd.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_davis_pd.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/families.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_families.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/families.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_families.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/fire_station.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_fire_station.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/fire_station.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_fire_station.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/harmony_repair.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_harmony_repair.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/harmony_repair.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_harmony_repair.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/haters.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_haters.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/haters.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_haters.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/hayes_auto.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_hayes_auto.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/hayes_auto.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_hayes_auto.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/import_garage.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_import_garage.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/import_garage.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_import_garage.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/impound_lot.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_impound_lot.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/impound_lot.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_impound_lot.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/la_mesa_pd.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_la_mesa_pd.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/la_mesa_pd.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_la_mesa_pd.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/legion_ammu.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_legion_ammu.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/legion_ammu.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_legion_ammu.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/lost_mc.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_lost_mc.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/lost_mc.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_lost_mc.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ls_customs.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ls_customs.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ls_customs.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ls_customs.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ltd_grove.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ltd_grove.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ltd_grove.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ltd_grove.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/marabunta.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_marabunta.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/marabunta.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_marabunta.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/mba.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_mba.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/mba.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_mba.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/mba_mma.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_mba_mma.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/mba_mma.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_mba_mma.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/mrpd.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_mrpd.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/mrpd.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_mrpd.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ottos.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ottos.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ottos.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ottos.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/pacific_bank.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_pacific_bank.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/pacific_bank.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_pacific_bank.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/paleto_bank.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_paleto_bank.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/paleto_bank.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_paleto_bank.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/paleto_pd.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_paleto_pd.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/paleto_pd.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_paleto_pd.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/park_rangers.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_park_rangers.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/park_rangers.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_park_rangers.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/pillbox.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_pillbox.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/pillbox.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_pillbox.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/pizzeria.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_pizzeria.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/pizzeria.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_pizzeria.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/ponsonbys.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_ponsonbys.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/ponsonbys.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_ponsonbys.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/pops_diner.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_pops_diner.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/pops_diner.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_pops_diner.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/premium_deluxe_motorsport.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_premium_deluxe_motorsport.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/premium_deluxe_motorsport.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_premium_deluxe_motorsport.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/record_a_studios.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_record_a_studios.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/record_a_studios.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_record_a_studios.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/sandy_pd.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_sandy_pd.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/sandy_pd.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_sandy_pd.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/suburban_greatoceanhighway.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_suburban_greatoceanhighway.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/suburban_greatoceanhighway.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_suburban_greatoceanhighway.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/suburban_hawickave.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_suburban_hawickave.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/suburban_hawickave.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_suburban_hawickave.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/suburban_prosperitystreet.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_suburban_prosperitystreet.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/suburban_prosperitystreet.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_suburban_prosperitystreet.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/suburban_route68.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_suburban_route68.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/suburban_route68.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_suburban_route68.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/tattoo_chumash.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_chumash.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/tattoo_chumash.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_chumash.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/tattoo_el_burro.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_el_burro.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/tattoo_el_burro.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_el_burro.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/tattoo_paleto.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_paleto.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/tattoo_paleto.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_paleto.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/tattoo_sandy.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_sandy.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/tattoo_sandy.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_sandy.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/tattoo_vespucci.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_vespucci.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/tattoo_vespucci.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_vespucci.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/tattoo_vinewood.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_vinewood.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/tattoo_vinewood.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_tattoo_vinewood.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/town_hall.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_town_hall.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/town_hall.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_town_hall.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/triad_records.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_triad_records.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/triad_records.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_triad_records.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/triads.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_triads.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/triads.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_triads.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/tuner_shop.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_tuner_shop.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/tuner_shop.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_tuner_shop.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/uwu_cafe.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_uwu_cafe.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/uwu_cafe.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_uwu_cafe.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/vagos.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_vagos.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/vagos.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_vagos.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/vanilla_unicorn.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_vanilla_unicorn.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/vanilla_unicorn.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_vanilla_unicorn.json
diff --git a/resources/cd_doorlock/JSON files/gabz_locations/weed_camp.json b/resources/cd_doorlock/JSON files/import_locations/[Gabz]_weed_camp.json
similarity index 100%
rename from resources/cd_doorlock/JSON files/gabz_locations/weed_camp.json
rename to resources/cd_doorlock/JSON files/import_locations/[Gabz]_weed_camp.json
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Banham_Canyon_House.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Banham_Canyon_House.json
new file mode 100644
index 000000000..d6f440294
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Banham_Canyon_House.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Banham Canyon House","door_name":"Room 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"RddrzSGaTnl-TN1DeB4kY","door_coords":{"z":97.6625518798828,"y":1440.9859619140626,"x":-2799.02880859375},"pivot_coords":{"z":97.6625518798828,"y":1441.483154296875,"x":-2798.6884765625},"model_hash":-398220244}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0D15-VAWV-X726-ENHU"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Banham Canyon House","door_name":"Room 4","door_sound":"door_regular.ogg","door_data":[{"unique_id":"fPH0Yy_dHEDVPzohw4ymL","door_coords":{"z":97.6625518798828,"y":1435.75732421875,"x":-2802.650390625},"pivot_coords":{"z":97.6625518798828,"y":1436.250732421875,"x":-2802.3046875},"model_hash":-398220244}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2MWD-OWY0-DYP2-2UCX"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Banham Canyon House","door_name":"Room 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"WFuaLX9RHbJD5M96DxCXk","door_coords":{"z":101.06255340576172,"y":1433.548583984375,"x":-2803.889892578125},"pivot_coords":{"z":101.06255340576172,"y":1434.0438232421876,"x":-2803.546875},"model_hash":-398220244}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"B3DB-QY72-7EFY-LKYB"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Banham Canyon House","door_name":"Laundry","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ST2nd3uvQg112hMEmQEnH","door_coords":{"z":97.66254425048828,"y":1433.4366455078126,"x":-2802.332275390625},"pivot_coords":{"z":97.6625518798828,"y":1433.7767333984376,"x":-2802.82958984375},"model_hash":-398220244}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"F6FW-9NTD-0MFR-VUDY"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Banham Canyon House","door_name":"Garden","door_sound":"door_regular.ogg","door_data":[{"unique_id":"9IIoyHEfq0WrmG9VPwBsQ","door_coords":{"z":101.51361083984377,"y":1422.4705810546876,"x":-2789.081787109375},"pivot_coords":{"z":99.98210144042968,"y":1422.9647216796876,"x":-2788.699951171875},"model_hash":-758000237}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FNHQ-J0PC-KVHV-HMBI"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Banham Canyon House","door_name":"Entrance Gate","door_sound":"door_switch.ogg","door_data":[{"unique_id":"Bbe5SM5_QvdIud6zB4TSR","door_coords":{"z":106.9209442138672,"y":1505.4718017578126,"x":-2721.19873046875},"pivot_coords":{"z":106.74610900878906,"y":1504.3504638671876,"x":-2721.9833984375},"model_hash":546378757},{"unique_id":"iYzAnkKzhocSOc-htUPDB","door_coords":{"z":106.9209442138672,"y":1507.7105712890626,"x":-2719.61767578125},"pivot_coords":{"z":106.74610900878906,"y":1508.8253173828126,"x":-2718.823486328125},"model_hash":-1249591818}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NCZ9-QXHJ-OX3J-3HRW"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Banham Canyon House","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"SvktI3xya9062GTYAZIBU","door_coords":{"z":101.26388549804688,"y":1431.0740966796876,"x":-2798.19482421875},"pivot_coords":{"z":101.23898315429688,"y":1431.452392578125,"x":-2798.7421875},"model_hash":1121773731}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Q11W-TSNT-890P-VY0U"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Banham Canyon House","door_name":"Bathroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"3fGr5riirmp_CE-Dfh4_e","door_coords":{"z":97.6625518798828,"y":1433.957763671875,"x":-2800.048583984375},"pivot_coords":{"z":97.6625518798828,"y":1433.46435546875,"x":-2800.394287109375},"model_hash":-398220244}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"TEEF-992V-U8FT-SEXJ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Banham Canyon House","door_name":"Room 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"OpVFDa_83k92dk7hP8lp8","door_coords":{"z":101.06255340576172,"y":1442.4249267578126,"x":-2797.74609375},"pivot_coords":{"z":101.06255340576172,"y":1442.921875,"x":-2797.405517578125},"model_hash":-398220244}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZOAR-WAQM-6FRP-RHF9"}],"name":"[K4MB1]_Banham_Canyon_House.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Beach_House_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Beach_House_1.json
new file mode 100644
index 000000000..69f5bafca
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Beach_House_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Beach House 1","door_name":"Balcony 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"oOxEEkWBTvjsBD87HeNrf","door_coords":{"z":26.08656120300293,"y":658.5872192382813,"x":-2958.05712890625},"pivot_coords":{"z":26.08688354492187,"y":658.0624389648438,"x":-2957.9189453125},"model_hash":388486323},{"unique_id":"OgS8nIGC05pmHpAcEN7ZB","door_coords":{"z":26.08656120300293,"y":659.6712646484375,"x":-2958.337646484375},"pivot_coords":{"z":26.08688354492187,"y":660.197998046875,"x":-2958.47119140625},"model_hash":82391094}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"83F8-4WRA-QW3O-Y38F"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Beach House 1","door_name":"Balcony 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"gAHXFPZr6UZS2gH8v6ILD","door_coords":{"z":26.08656120300293,"y":664.8956909179688,"x":-2964.15234375},"pivot_coords":{"z":26.08688354492187,"y":664.3687133789063,"x":-2964.022705078125},"model_hash":388486323},{"unique_id":"nbWZExe1GSyTURCQkBEO3","door_coords":{"z":26.08656120300293,"y":665.9776000976563,"x":-2964.44140625},"pivot_coords":{"z":26.08688354492187,"y":666.5043334960938,"x":-2964.574951171875},"model_hash":82391094}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FYS3-TE2E-0950-8T6T"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Beach House 1","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"j2ICUUbGmWA6y-h9TBNYf","door_coords":{"z":26.23536109924316,"y":642.6048583984375,"x":-2972.02734375},"pivot_coords":{"z":26.23536109924316,"y":642.1651000976563,"x":-2971.91357421875},"model_hash":1412812510}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JQCS-V0FM-92G3-8GAP"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Beach House 1","door_name":"Pool","door_sound":"door_regular.ogg","door_data":[{"unique_id":"2C86zFtOjbHU8gzXND_bo","door_coords":{"z":24.78422927856445,"y":644.92138671875,"x":-2954.053955078125},"pivot_coords":{"z":23.17802047729492,"y":644.0667114257813,"x":-2953.809814453125},"model_hash":-1335253822}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NY63-C5C5-Z02H-JQBB"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Beach House 1","door_name":"Balcony 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"wOHHqw9hf1NJycFIJtUR4","door_coords":{"z":26.08656120300293,"y":655.9191284179688,"x":-2957.36474609375},"pivot_coords":{"z":26.08688354492187,"y":656.4451904296875,"x":-2957.500732421875},"model_hash":82391094},{"unique_id":"7VRgu1nteeu4gq-LBWgn3","door_coords":{"z":26.08656120300293,"y":654.8350219726563,"x":-2957.08447265625},"pivot_coords":{"z":26.08688354492187,"y":654.3096313476563,"x":-2956.948486328125},"model_hash":388486323}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QART-S04B-KQR7-QNAV"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":6,"state":false,"keep_open":false,"camera":false,"location_group":"Beach House 1","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"86_iC0Iqrak01MThQPwmi","door_coords":{"z":27.7844123840332,"y":656.14111328125,"x":-2976.41552734375},"pivot_coords":{"z":27.7844123840332,"y":656.14111328125,"x":-2976.41552734375},"model_hash":-570546723}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"WUU6-NNJ7-FSK6-PK5N"}],"name":"[K4MB1]_Beach_House_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Blaine_Factory.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Blaine_Factory.json
new file mode 100644
index 000000000..42251d1da
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Blaine_Factory.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Crafting","door_sound":"door_regular.ogg","door_data":[{"unique_id":"je0vxi67zEFsZMzoS0lGh","door_coords":{"z":42.36704635620117,"y":4795.2490234375,"x":1702.376953125},"pivot_coords":{"z":42.36598587036133,"y":4794.8779296875,"x":1702.91064453125},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2BYJ-51SD-97O3-O72G"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":6,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Garage Door","door_sound":"door_switch.ogg","door_data":[{"unique_id":"8LQg7-Y_f7UgMvePlt4n2","door_coords":{"z":43.11548233032226,"y":4778.09912109375,"x":1705.716552734375},"pivot_coords":{"z":43.12588882446289,"y":4778.09716796875,"x":1705.6845703125},"model_hash":521187836}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"67O5-HOCC-6RCS-IZMD"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Furnace","door_sound":"door_regular.ogg","door_data":[{"unique_id":"7uQKdmM9zlstYlfjjzuOJ","door_coords":{"z":41.85545349121094,"y":4769.39111328125,"x":1726.9183349609376},"pivot_coords":{"z":41.85546493530273,"y":4769.38232421875,"x":1726.267822265625},"model_hash":362975687},{"unique_id":"0jGhT3BLqCBTQIXgHLBqS","door_coords":{"z":41.8537368774414,"y":4769.39404296875,"x":1728.216552734375},"pivot_coords":{"z":41.85372543334961,"y":4769.3818359375,"x":1728.866943359375},"model_hash":362975687}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8KKA-863D-UCC0-9OWZ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Rolling","door_sound":"door_regular.ogg","door_data":[{"unique_id":"PxhJsCTTNfjKsHCvPPPBl","door_coords":{"z":41.97753143310547,"y":4787.1337890625,"x":1727.6263427734376},"pivot_coords":{"z":41.97637557983398,"y":4787.1279296875,"x":1726.976318359375},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"B72T-QTLV-LX7F-LLLL"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Storage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"AUIytUw4oyT-qQ_lvwF37","door_coords":{"z":41.97823333740234,"y":4783.52490234375,"x":1727.5643310546876},"pivot_coords":{"z":41.97709274291992,"y":4783.52197265625,"x":1726.914306640625},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DY0D-2TPM-LZ5B-ONBZ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"7RlZMpXH8CMmj17xfoCy6","door_coords":{"z":42.36575317382812,"y":4802.50830078125,"x":1714.017578125},"pivot_coords":{"z":42.36455917358398,"y":4801.98046875,"x":1713.6380615234376},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"IAQR-P5JP-3ZT8-E1D2"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Control Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"8djemOmbbYGksybeqZKlj","door_coords":{"z":42.3645133972168,"y":4797.79443359375,"x":1720.731689453125},"pivot_coords":{"z":42.36455917358398,"y":4797.25390625,"x":1720.3687744140626},"model_hash":1944799846}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"KFSS-WNOP-XXZ0-G4K9"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Conveyors","door_sound":"door_regular.ogg","door_data":[{"unique_id":"hiWhk3QtyukyvWKmQY95E","door_coords":{"z":41.97835159301758,"y":4787.146484375,"x":1719.8787841796876},"pivot_coords":{"z":41.97719955444336,"y":4787.1298828125,"x":1720.528564453125},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"KXLT-CTOG-WPQG-4AKT"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Factory Floor","door_sound":"door_regular.ogg","door_data":[{"unique_id":"gY6LOrFxorCQngBXnFIQ9","door_coords":{"z":42.36356735229492,"y":4785.603515625,"x":1705.8197021484376},"pivot_coords":{"z":42.3624382019043,"y":4784.95361328125,"x":1705.8197021484376},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"VK17-I639-L70E-LD3A"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"hiS9CA4su03bTA5BpSrhb","door_coords":{"z":42.37395858764648,"y":4805.03662109375,"x":1702.5615234375},"pivot_coords":{"z":42.37282943725586,"y":4805.40966796875,"x":1702.029052734375},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"X7BB-XWNW-I2AP-YHSJ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Blaine Factory","door_name":"Conference Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"3ZNGuaVc8XW3TGTWyHu7y","door_coords":{"z":42.36711502075195,"y":4803.24755859375,"x":1707.99072265625},"pivot_coords":{"z":42.36598587036133,"y":4802.87255859375,"x":1708.5216064453126},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Z8IL-2RU9-73JJ-C27R"}],"name":"[K4MB1]_Blaine_Factory.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Bobcat_Heist.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Bobcat_Heist.json
new file mode 100644
index 000000000..5d286ffad
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Bobcat_Heist.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Bobcat Heist","door_name":"Waiting Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"4hHTD4KLsBmlTMVfPvZK9","door_coords":{"z":49.82543182373047,"y":-2616.61279296875,"x":1402.135498046875},"pivot_coords":{"z":49.82543182373047,"y":-2615.9638671875,"x":1402.081787109375},"model_hash":-129553421},{"unique_id":"wKM1xuPwgQ3bfg0ssaUyw","door_coords":{"z":49.82543182373047,"y":-2617.902587890625,"x":1402.263916015625},"pivot_coords":{"z":49.82543182373047,"y":-2618.55224609375,"x":1402.3082275390626},"model_hash":-129553421}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"00Z9-N9M5-4ZNF-IIBT"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Bobcat Heist","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"pZp68NRa6konmaVfid9e3","door_coords":{"z":49.91387557983398,"y":-2615.765869140625,"x":1408.5213623046876},"pivot_coords":{"z":49.87586975097656,"y":-2615.765625,"x":1408.5230712890626},"model_hash":665403990},{"unique_id":"J4NiST4TG-grZd4gvk23j","door_coords":{"z":49.91387557983398,"y":-2618.127685546875,"x":1408.729736328125},"pivot_coords":{"z":49.87586975097656,"y":-2618.127685546875,"x":1408.729736328125},"model_hash":1502160405}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"06VJ-77TA-8FA1-SI23"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Bobcat Heist","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"RAeKjFyU2P-ZlrMUOQUQs","door_coords":{"z":51.35629272460937,"y":-2608.51806640625,"x":1375.443359375},"pivot_coords":{"z":51.36503219604492,"y":-2608.52197265625,"x":1375.44287109375},"model_hash":754917838}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"21V4-HWV1-U9WR-9QTU"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Bobcat Heist","door_name":"Staff 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"RU96CyXxoYsA5yrY4PRxg","door_coords":{"z":49.82519912719726,"y":-2617.13427734375,"x":1395.888916015625},"pivot_coords":{"z":49.82519912719726,"y":-2617.782470703125,"x":1395.9508056640626},"model_hash":-129553421}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2Y6Q-SRBJ-1EAR-G9XP"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Bobcat Heist","door_name":"Surveillance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"JG2655yQvYQCy9-ivRl0V","door_coords":{"z":49.82456588745117,"y":-2624.454833984375,"x":1365.958740234375},"pivot_coords":{"z":49.82456588745117,"y":-2623.8056640625,"x":1365.9244384765626},"model_hash":-311575617}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6H6W-ED8C-2N81-I21J"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Bobcat Heist","door_name":"To Garage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"n_WIKt_RUjMMoFN77LA_S","door_coords":{"z":49.82514572143555,"y":-2611.140869140625,"x":1372.216064453125},"pivot_coords":{"z":49.82514572143555,"y":-2611.7880859375,"x":1372.27587890625},"model_hash":1438783233},{"unique_id":"0mrpfBAF_-cZxzVTkH4LR","door_coords":{"z":49.82514572143555,"y":-2609.846435546875,"x":1372.11083984375},"pivot_coords":{"z":49.82514572143555,"y":-2609.199462890625,"x":1372.0494384765626},"model_hash":1438783233}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DJM3-BUDR-IPPN-ODK2"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Bobcat Heist","door_name":"Lockers","door_sound":"door_regular.ogg","door_data":[{"unique_id":"59hYCOYgJNKkH0Vh3iAeB","door_coords":{"z":49.82456588745117,"y":-2610.154296875,"x":1393.4754638671876},"pivot_coords":{"z":49.82456588745117,"y":-2610.22314453125,"x":1392.8291015625},"model_hash":-551608542}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QQU1-WRP7-C332-49AC"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Bobcat Heist","door_name":"Backrooms","door_sound":"door_regular.ogg","door_data":[{"unique_id":"eyRQFOV96CiW4uiLDrw6y","door_coords":{"z":49.82460403442383,"y":-2617.477783203125,"x":1392.26416015625},"pivot_coords":{"z":49.82460403442383,"y":-2616.83056640625,"x":1392.2042236328126},"model_hash":1438783233},{"unique_id":"RDe8uTDFV-ly3zakcb76k","door_coords":{"z":49.82460403442383,"y":-2618.7734375,"x":1392.368408203125},"pivot_coords":{"z":49.82460403442383,"y":-2619.42041015625,"x":1392.4307861328126},"model_hash":1438783233}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"X1HB-L2N5-9RKM-R12N"}],"name":"[K4MB1]_Bobcat_Heist.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Cargo_Heist.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Cargo_Heist.json
new file mode 100644
index 000000000..2d7295e6c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Cargo_Heist.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cargo Heist","door_name":"Captains Entrance","door_sound":"locking_door.ogg","door_data":[{"door_coords":{"z":25.51705551147461,"y":-4123.6552734375,"x":-399.6531372070313},"unique_id":"k0X_X1CEKCBbL8QWlxkR_","model_hash":605833107}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1UIB-OOT5-4GBF-3O8Y"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cargo Heist","door_name":"Entrance 1","door_sound":"locking_door.ogg","door_data":[{"door_coords":{"z":21.52481269836425,"y":-4126.98388671875,"x":-396.4583129882813},"unique_id":"dljAtu44eI9V4YL15jza5","model_hash":605833107}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1Y39-OWS9-BDUB-LESM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cargo Heist","door_name":"Room 2","door_sound":"locking_door.ogg","door_data":[{"door_coords":{"z":21.48652076721191,"y":-4120.515625,"x":-400.0343322753906},"unique_id":"33LmMP3k11u7L9XxYz3me","model_hash":1804626822}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"E5JQ-X1MB-UTA3-DXR8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cargo Heist","door_name":"Room 1","door_sound":"locking_door.ogg","door_data":[{"door_coords":{"z":21.48652076721191,"y":-4117.93701171875,"x":-402.21429443359377},"unique_id":"k4jWELHTCN-j75x4aNzKe","model_hash":1804626822}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"MAIX-A4G5-GQ2D-A5ZH"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cargo Heist","door_name":"Room 3","door_sound":"locking_door.ogg","door_data":[{"door_coords":{"z":21.48652076721191,"y":-4122.5087890625,"x":-398.3847351074219},"unique_id":"rZ5Sc8SqWReFrGtUWyEKh","model_hash":1804626822}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"SO9A-AUS5-VBP1-MSZL"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cargo Heist","door_name":"Staff","door_sound":"locking_door.ogg","door_data":[{"door_coords":{"z":21.48652267456054,"y":-4125.1025390625,"x":-401.4761657714844},"unique_id":"8nmqutFOqRS695uCrEWwd","model_hash":1804626822}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"UPAP-3KJK-724S-Z2VP"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cargo Heist","door_name":"Entrance 2","door_sound":"locking_door.ogg","door_data":[{"door_coords":{"z":21.52491950988769,"y":-4117.396484375,"x":-405.900634765625},"unique_id":"YShOXuC02cmMNh7bHtfrM","model_hash":605833107}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"VDMV-YZBI-O0OT-5ZNM"}],"name":"[K4MB1]_Cargo_Heist.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Cash_Exchange_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Cash_Exchange_1.json
new file mode 100644
index 000000000..d76f7e621
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Cash_Exchange_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cash Exchange 1","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":26.83112525939941,"y":-1890.1322021484376,"x":424.1595153808594},"unique_id":"Q8jPFfcW2W3txUlWURBa2","model_hash":-1666470363}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6V7H-8ESB-QWAK-X23J"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cash Exchange 1","door_name":"Rear Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":26.36716079711914,"y":-1906.5323486328128,"x":434.789794921875},"unique_id":"0wD0f1MWicYGti30LNafT","model_hash":-244752378}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"94Q0-Y9DD-I8HA-8O43"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cash Exchange 1","door_name":"Staff","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":26.41970062255859,"y":-1901.0152587890626,"x":426.8031921386719},"unique_id":"bDht2valA-jhhgAhTtEz2","model_hash":1260061077}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"YHSW-PYNS-6K0N-P4CT"}],"name":"[K4MB1]_Cash_Exchange_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Cash_Exchange_2.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Cash_Exchange_2.json
new file mode 100644
index 000000000..04faa18ed
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Cash_Exchange_2.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cash Exchange 2","door_name":"Rear Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":29.39099502563476,"y":-1337.7864990234376,"x":139.411376953125},"unique_id":"hHS9ZUD-V1tVQxEDN_5lx","model_hash":1163942983}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1UH2-YCH1-YFOS-ZWFH"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cash Exchange 2","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":29.64798927307129,"y":-1347.5634765625,"x":123.48542022705078},"unique_id":"2ugFf8iaxgKGKR9GqKkS8","model_hash":-1666470363}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JL7E-LCI1-LCO2-T1DE"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cash Exchange 2","door_name":"Staff","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":29.43730545043945,"y":-1347.2430419921876,"x":133.3155975341797},"unique_id":"0J92w53ztRs2pl0vlELbI","model_hash":749848321}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JTLD-HNBK-TV6G-BVFW"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Cash Exchange 2","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":29.65155029296875,"y":-1340.4998779296876,"x":132.42901611328126},"unique_id":"-oW3O9oTLB6xtcZiVSkJA","model_hash":1138434540}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OT4Q-7CPU-8C0U-87KL"}],"name":"[K4MB1]_Cash_Exchange_2.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Diamond_Casino.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Diamond_Casino.json
new file mode 100644
index 000000000..6f1f3a3db
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Diamond_Casino.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Lobby","door_sound":"door_regular.ogg","door_data":[{"unique_id":"0itEjOEdrwjccin7yuTDW","door_coords":{"z":81.26551818847656,"y":47.30264663696289,"x":936.5333251953124},"pivot_coords":{"z":81.26551818847656,"y":47.57191467285156,"x":936.1172485351564},"model_hash":37530187},{"unique_id":"G-CkRGAFVHe0rfnodKaBF","door_coords":{"z":81.26551818847656,"y":46.7734146118164,"x":937.390869140625},"pivot_coords":{"z":81.26551818847656,"y":46.51268005371094,"x":937.8123779296876},"model_hash":37530187}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1DRG-RSLE-F5WK-1AXX"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"electronic_door.ogg","distance":4,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Vault","door_sound":"electronic_door.ogg","door_data":[{"unique_id":"vtpjxsFolCEXiegEFSmRG","door_coords":{"z":73.39163970947266,"y":31.29568672180175,"x":957.127685546875},"pivot_coords":{"z":73.39163970947266,"y":30.18544006347656,"x":956.169921875},"model_hash":-127348208}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3SVZ-5PKT-4B5O-ZTM8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Garage 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"qQ40RvadkqtIm9XiB-0Cs","door_coords":{"z":78.9476089477539,"y":24.25219535827636,"x":943.3920288085938},"pivot_coords":{"z":78.9476089477539,"y":23.70649147033691,"x":943.0490112304688},"model_hash":634417522}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"4CKQ-I217-FCIG-HW5U"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Roof Deck","door_sound":"door_regular.ogg","door_data":[{"unique_id":"sA-oD54AcaFbx5RK9cJ7y","door_coords":{"z":112.7700653076172,"y":38.24457168579101,"x":961.45849609375},"pivot_coords":{"z":112.7700653076172,"y":38.60394668579101,"x":960.9221801757813},"model_hash":1226684428}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"4EJH-JMOD-QKD7-H5UG"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Office 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"TO-XoFMs782rv1SdtqsOA","door_coords":{"z":81.54073333740235,"y":28.77942085266113,"x":924.8043212890624},"pivot_coords":{"z":81.54073333740235,"y":29.309814453125,"x":925.14013671875},"model_hash":-436238653},{"unique_id":"mu6thsslBiU23gEu-3eiS","door_coords":{"z":81.54073333740235,"y":27.72731018066406,"x":924.0872192382813},"pivot_coords":{"z":81.54073333740235,"y":27.16816711425781,"x":923.8018798828124},"model_hash":-436238653}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"5CEZ-8NNU-OI13-O4ZH"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Garage 3","door_sound":"door_switch.ogg","door_data":[{"unique_id":"w-UZiAChr7hKsPnjs0IjS","door_coords":{"z":79.96463775634766,"y":2.03701996803283,"x":936.7987670898438},"pivot_coords":{"z":77.81043243408203,"y":2.03535079956054,"x":936.7977294921876},"model_hash":-1081024910}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"5Q81-LBUT-JDC9-JE8V"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Table Games","door_sound":"door_regular.ogg","door_data":[{"unique_id":"e85r2OX_skKDNFkiBSAFE","door_coords":{"z":81.51698303222656,"y":50.74131393432617,"x":988.1184692382813},"pivot_coords":{"z":81.51698303222656,"y":50.41065216064453,"x":988.2322998046876},"model_hash":-2013922342},{"unique_id":"_rfXRdoQmqHLgAo9cjSRJ","door_coords":{"z":81.51640319824219,"y":52.32500076293945,"x":987.5732421875},"pivot_coords":{"z":81.51640319824219,"y":52.65566253662109,"x":987.4594116210938},"model_hash":-2013922342}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"63V4-WGIU-XB5L-H95W"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Inside Track","door_sound":"door_regular.ogg","door_data":[{"unique_id":"FUQng-qfgZzdlrfABsYVP","door_coords":{"z":81.51456451416016,"y":63.82739639282226,"x":967.511962890625},"pivot_coords":{"z":81.51456451416016,"y":63.77872848510742,"x":967.1656494140624},"model_hash":-2013922342},{"unique_id":"joBKAkiWFkzipEJ0ZdzMo","door_coords":{"z":81.51459503173828,"y":64.05528259277344,"x":969.1279907226564},"pivot_coords":{"z":81.51459503173828,"y":64.10395050048828,"x":969.4743041992188},"model_hash":-2013922342}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6VP8-4LHB-ECGI-DTCD"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Entrance 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"7OUCvazdAdamQrJHwFoGg","door_coords":{"z":81.52766418457031,"y":45.58470153808594,"x":925.2793579101564},"pivot_coords":{"z":81.52766418457031,"y":45.05233764648437,"x":924.9467163085938},"model_hash":-436238653},{"unique_id":"Jm1vL3vzbpASHNCwmcXDO","door_coords":{"z":81.52766418457031,"y":46.66233825683594,"x":925.9527587890624},"pivot_coords":{"z":81.52766418457031,"y":47.1947021484375,"x":926.285400390625},"model_hash":-436238653}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6W65-V1FV-D6O2-E2OI"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Entrance 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"5I9HD0jU7HsjlClvwYeiE","door_coords":{"z":81.52765655517578,"y":47.98109436035156,"x":926.7787475585938},"pivot_coords":{"z":81.52766418457031,"y":47.44961929321289,"x":926.4447021484376},"model_hash":-436238653},{"unique_id":"kSUvChwymlOyf7xKIF30p","door_coords":{"z":81.52767181396485,"y":49.05602264404297,"x":927.4533081054688},"pivot_coords":{"z":81.52766418457031,"y":49.59052276611328,"x":927.7825317382813},"model_hash":-436238653}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"BQK9-9C77-19PG-HFZS"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Staff","door_sound":"door_regular.ogg","door_data":[{"unique_id":"RtU1rpptvlofjLxxk5ltX","door_coords":{"z":81.26769256591797,"y":33.0977783203125,"x":930.645263671875},"pivot_coords":{"z":81.26769256591797,"y":32.75860977172851,"x":931.193359375},"model_hash":634417522}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"CBEQ-KIRW-DJ6M-SXOY"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Office 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"v9Jx9WbThSfZk8aVeq0Xk","door_coords":{"z":81.54073333740235,"y":31.10850143432617,"x":926.2625122070313},"pivot_coords":{"z":81.54073333740235,"y":30.57613754272461,"x":925.9298706054688},"model_hash":-436238653},{"unique_id":"ZwZJLUuuTkHYjGSZ__8OC","door_coords":{"z":81.54073333740235,"y":32.18582153320312,"x":926.9357299804688},"pivot_coords":{"z":81.54073333740235,"y":32.71818542480469,"x":927.2683715820313},"model_hash":-436238653}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DJCO-VSJE-DOBK-C1US"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Roof","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Y37ftv5viqxDMbcB3uD9O","door_coords":{"z":112.75605010986328,"y":58.58909225463867,"x":965.801513671875},"pivot_coords":{"z":112.75605010986328,"y":59.01450729370117,"x":966.0557861328124},"model_hash":37530187},{"unique_id":"OO4EqgJ-mwHm0BgqQrXYh","door_coords":{"z":112.75605010986328,"y":57.73623657226562,"x":965.2623901367188},"pivot_coords":{"z":112.75605010986328,"y":57.31654357910156,"x":964.998779296875},"model_hash":37530187}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"E3SG-S7ZH-MALO-J9M6"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Staircase 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ntgpE7AZxFhGrd-aZiWZ5","door_coords":{"z":78.96187591552735,"y":28.37198448181152,"x":942.004150390625},"pivot_coords":{"z":78.96187591552735,"y":28.69981956481933,"x":941.4491577148438},"model_hash":634417522}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"G1WM-3TZZ-1REX-YAVB"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Restrooms","door_sound":"door_regular.ogg","door_data":[{"unique_id":"OWzXmr200eGtPYAVz68yI","door_coords":{"z":81.15274810791016,"y":10.76622486114502,"x":967.7767944335938},"pivot_coords":{"z":81.15274810791016,"y":11.10834693908691,"x":967.2293090820313},"model_hash":1226684428}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"GCCO-8XAG-VH1W-CR9X"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Vault Staircase","door_sound":"door_regular.ogg","door_data":[{"unique_id":"DO-Fgl0qPzFnalETarXS6","door_coords":{"z":72.95979309082031,"y":32.25502014160156,"x":944.4451904296876},"pivot_coords":{"z":72.95979309082031,"y":32.59658813476562,"x":943.8985595703124},"model_hash":401003935}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"H5F4-AX89-6B7F-EXEW"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Staircase","door_sound":"door_regular.ogg","door_data":[{"unique_id":"QFxWZxZOuXcOVyyv1LiSW","door_coords":{"z":81.25545501708985,"y":25.43907928466797,"x":929.4703369140624},"pivot_coords":{"z":81.25545501708985,"y":25.16948699951172,"x":929.88623046875},"model_hash":37530187},{"unique_id":"6InVbZD9yPOOISXGsxXTy","door_coords":{"z":81.25545501708985,"y":25.96602058410644,"x":928.6112670898438},"pivot_coords":{"z":81.25545501708985,"y":26.22882080078125,"x":928.1910400390624},"model_hash":37530187}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"HOET-XYT6-VQH3-FUG2"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Staff 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"6QFqn4apdvRDxax6OacK8","door_coords":{"z":81.16416931152344,"y":25.07446098327636,"x":958.0286865234376},"pivot_coords":{"z":81.16416931152344,"y":25.41840934753418,"x":957.4835815429688},"model_hash":634417522}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"IUHP-16OC-2O6X-VTHQ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Casino Staircase","door_sound":"door_regular.ogg","door_data":[{"unique_id":"JOragQpjxBLrqYaL2TXDN","door_coords":{"z":81.9684066772461,"y":26.144380569458,"x":949.875244140625},"pivot_coords":{"z":81.9684066772461,"y":25.5977554321289,"x":949.53369140625},"model_hash":634417522}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"IZ5Q-IEZV-BLRC-8WNN"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Private","door_sound":"door_regular.ogg","door_data":[{"unique_id":"OjKR4jz8cFqM0ng5MC8fE","door_coords":{"z":81.15662384033203,"y":39.81965255737305,"x":943.1395263671876},"pivot_coords":{"z":81.15662384033203,"y":39.39807891845703,"x":942.8789672851564},"model_hash":37530187},{"unique_id":"VGz2-c9CSIquxlWrUxZcP","door_coords":{"z":81.15662384033203,"y":40.67530059814453,"x":943.6741333007813},"pivot_coords":{"z":81.15662384033203,"y":41.09428024291992,"x":943.9388427734376},"model_hash":37530187}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"L3KN-W56C-SB96-KISW"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Hotel Floor","door_sound":"door_regular.ogg","door_data":[{"unique_id":"jgiV3y1UwLU9S7Fxn3JzR","door_coords":{"z":104.77653503417968,"y":38.2215347290039,"x":961.4432373046876},"pivot_coords":{"z":104.77653503417968,"y":38.5643310546875,"x":960.8961181640624},"model_hash":1226684428}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"LAZ3-IV9A-PP2J-KEKS"},{"default_state":false,"door_type":"gates","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Elevator","door_sound":"door_switch.ogg","door_data":[{"unique_id":"QW8tVOuBEYIUiJj7FicVi","door_coords":{"z":79.53524780273438,"y":16.01224899291992,"x":952.8557739257813},"pivot_coords":{"z":77.84391021728516,"y":16.91383743286132,"x":953.4191284179688},"model_hash":87445183},{"unique_id":"CUVm4GS6eoeC2zD6Z6E3_","door_coords":{"z":79.53284454345703,"y":14.20988273620605,"x":951.7297973632813},"pivot_coords":{"z":77.84150695800781,"y":13.30829334259033,"x":951.1664428710938},"model_hash":87445183}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"M3RZ-P3TO-3OQT-5CWQ"},{"default_state":false,"door_type":"gates","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Vault Elevator","door_sound":"door_switch.ogg","door_data":[{"unique_id":"1RIfTCFRCCelTZV8hI5FP","door_coords":{"z":73.55409240722656,"y":36.91582107543945,"x":953.3298950195313},"pivot_coords":{"z":71.86275482177735,"y":37.47919464111328,"x":952.4282836914064},"model_hash":87445183},{"unique_id":"8NhKra-g0vMMpR5pFoTUr","door_coords":{"z":73.55431365966797,"y":34.66786575317383,"x":956.9300537109376},"pivot_coords":{"z":71.86297607421875,"y":34.1044921875,"x":957.8316650390624},"model_hash":87445183}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PZC5-NKGV-EYTB-BZBR"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Penthouse","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Z-UCB9W8T0RIHZp2ga0Ex","door_coords":{"z":112.6522445678711,"y":63.71866607666015,"x":968.6357421875},"pivot_coords":{"z":112.65292358398438,"y":63.25732803344726,"x":968.3474731445313},"model_hash":-1691719897}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"R22O-6XKO-V6I8-1862"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Security","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ipnpYQAjEvcKyye0ckMSo","door_coords":{"z":78.9557113647461,"y":27.97310829162597,"x":939.6002197265624},"pivot_coords":{"z":78.9557113647461,"y":27.4279670715332,"x":939.2562866210938},"model_hash":634417522}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"T84G-R33T-2L9L-CU5X"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"LMHFmGUY2uChRBZmVaR5Q","door_coords":{"z":81.25546264648438,"y":15.72924137115478,"x":924.8690795898438},"pivot_coords":{"z":81.25546264648438,"y":15.30775451660156,"x":924.6083374023438},"model_hash":37530187},{"unique_id":"ozKd-FXrI20gWhEuXcPFL","door_coords":{"z":81.25546264648438,"y":16.58438873291015,"x":925.4030151367188},"pivot_coords":{"z":81.25546264648438,"y":17.00334167480468,"x":925.6677856445313},"model_hash":37530187}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"TLTS-0HJR-Q0XA-NBLP"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"VIP","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ADstJs42HN1FaATStRZQ0","door_coords":{"z":81.51616668701172,"y":61.78457260131836,"x":979.6912841796876},"pivot_coords":{"z":81.51616668701172,"y":61.96989440917969,"x":979.3947143554688},"model_hash":-2013922342},{"unique_id":"MEHjXER2miS3d7HTo7VGd","door_coords":{"z":81.51565551757813,"y":60.68832015991211,"x":981.4447021484376},"pivot_coords":{"z":81.51565551757813,"y":60.50299835205078,"x":981.7412719726564},"model_hash":-2013922342}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"VT0S-75ZR-PRDA-66T6"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Chips","door_sound":"door_regular.ogg","door_data":[{"unique_id":"zG9CYLaQaByZhpMu4gtga","door_coords":{"z":81.16416931152344,"y":22.24445533752441,"x":962.5496215820313},"pivot_coords":{"z":81.16416931152344,"y":22.59439086914062,"x":962.00830078125},"model_hash":634417522}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"VUWG-CLEH-8X15-UKQT"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"electronic_door.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Secure room","door_sound":"electronic_door.ogg","door_data":[{"unique_id":"Ow9lloGpZY22CRL_aEI8m","door_coords":{"z":73.10346221923828,"y":22.56681060791015,"x":971.2823486328124},"pivot_coords":{"z":73.10324096679688,"y":23.28996086120605,"x":971.5597534179688},"model_hash":1405979971}],"secret":false,"lockpickable":true,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"WVO7-O4ZA-JVVG-4MCF"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Entrance 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"l7RV8eZNI4WhEeL3gxnvM","door_coords":{"z":81.52766418457031,"y":44.26301574707031,"x":924.4535522460938},"pivot_coords":{"z":81.52766418457031,"y":44.79537963867187,"x":924.7861938476564},"model_hash":-436238653},{"unique_id":"fmU2h2qssOCytWqRtZxDn","door_coords":{"z":81.52766418457031,"y":43.18951797485351,"x":923.78271484375},"pivot_coords":{"z":81.52766418457031,"y":42.65715408325195,"x":923.4500732421876},"model_hash":-436238653}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"XTY1-9G4H-ZCMD-SUYK"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Diamond Casino","door_name":"Casino Stairs 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"B5QRbHdCuTaSS-Yjy7Vow","door_coords":{"z":81.16949462890625,"y":32.98724746704101,"x":958.1618041992188},"pivot_coords":{"z":81.16949462890625,"y":33.32373046875,"x":957.6107788085938},"model_hash":1226684428}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"YNJ1-DEZ4-CL38-Z15P"}],"name":"[K4MB1]_Diamond_Casino.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_68.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_68.json
new file mode 100644
index 000000000..d3bd8c02d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_68.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA 68","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"eSldOxCWZ68HXH_7qmS0p","door_coords":{"z":38.43910980224609,"y":2703.644287109375,"x":1175.8477783203126},"pivot_coords":{"z":38.43910598754883,"y":2703.61279296875,"x":1176.4947509765626},"model_hash":-1152174184},{"unique_id":"lYjpKS1lFBvtqz3W3YrKH","door_coords":{"z":38.43904495239258,"y":2703.61279296875,"x":1174.55126953125},"pivot_coords":{"z":38.43904495239258,"y":2703.61279296875,"x":1173.902587890625},"model_hash":73386408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"X89Q-2NBG-KOFW-WQWK"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA 68","door_name":"Teller Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"r5pZ-2Pqs-GhF9eP9nYKX","door_coords":{"z":38.16796875,"y":2708.8388671875,"x":1178.8695068359376},"pivot_coords":{"z":38.36251068115234,"y":2709.36474609375,"x":1178.8695068359376},"model_hash":-1201894283}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QO06-0FZ8-R15G-EYV8"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"FLEECA 68","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"eT5O5J-PXUMkeQGEkQCot","door_coords":{"z":38.34663391113281,"y":2711.6240234375,"x":1175.4049072265626},"pivot_coords":{"z":38.34640884399414,"y":2710.86572265625,"x":1175.5631103515626},"model_hash":839234948}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Q43C-VU9T-0H8E-00Z7"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"FLEECA 68","door_name":"Vault 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"s29KO4P7I9RC6I1X7Nosu","door_coords":{"z":38.38625335693359,"y":2713.146240234375,"x":1173.0986328125},"pivot_coords":{"z":38.38625335693359,"y":2713.146240234375,"x":1172.2911376953126},"model_hash":-1591004109}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1TAN-482T-CDEA-8VZR"}],"name":"[K4MB1]_FLEECA_68.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Hawick.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Hawick.json
new file mode 100644
index 000000000..eb9904f71
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Hawick.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Hawick","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"CB1wEYbVJ_-G2BOT2a20I","door_coords":{"z":49.38764953613281,"y":-46.62458038330078,"x":-350.64788818359377},"pivot_coords":{"z":49.38764953613281,"y":-46.4122085571289,"x":-351.2597961425781},"model_hash":-1152174184},{"unique_id":"ndXVyW14WewGaTw-iDYW6","door_coords":{"z":49.38758850097656,"y":-47.0494499206543,"x":-349.4237060546875},"pivot_coords":{"z":49.38758850097656,"y":-47.26213073730469,"x":-348.8109130859375},"model_hash":73386408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OXZE-7KN5-VZO1-WGFD"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Hawick","door_name":"Teller Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"vtbUQCVcrdWf-of8c3Vds","door_coords":{"z":49.11650848388672,"y":-50.57085418701172,"x":-355.2167663574219},"pivot_coords":{"z":49.31105041503906,"y":-51.06768798828125,"x":-355.3891906738281},"model_hash":-1201894283}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"481G-QWKN-7F4Z-GGZB"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"FLEECA Hawick","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"NP36-RbIXPsmg2wjo4BpL","door_coords":{"z":49.2951774597168,"y":-54.33802032470703,"x":-352.85693359375},"pivot_coords":{"z":49.29495239257812,"y":-53.56987380981445,"x":-352.7577209472656},"model_hash":839234948}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"F23T-JWWB-UTQ3-DCFO"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Hawick","door_name":"Vault 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"gOhYQA50FM5od_QnWqHAU","door_coords":{"z":49.33479690551758,"y":-56.53229904174805,"x":-351.17718505859377},"pivot_coords":{"z":49.33479690551758,"y":-56.79705047607422,"x":-350.4143676757813},"model_hash":-1591004109}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"HRAU-FF2F-F1DF-HSN4"}],"name":"[K4MB1]_FLEECA_Hawick.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Legion.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Legion.json
new file mode 100644
index 000000000..29a035228
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Legion.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Legion","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"wtOwqXq3Xbu1xsqux-lh9","door_coords":{"z":29.719087600708,"y":-1037.8956298828126,"x":151.4560546875},"pivot_coords":{"z":29.719087600708,"y":-1038.1239013671876,"x":152.06321716308598},"model_hash":73386408},{"unique_id":"dDYJkYPjWc27IC27uLj4i","door_coords":{"z":29.71915054321289,"y":-1037.44921875,"x":150.23953247070313},"pivot_coords":{"z":29.71915054321289,"y":-1037.2308349609376,"x":149.6297607421875},"model_hash":-1152174184}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"BKVU-P00K-AK1Z-5W8J"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Legion","door_name":"Teller Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"kVpnK1ABpIfFpaNSkJpyR","door_coords":{"z":29.44800758361816,"y":-1041.3172607421876,"x":145.59576416015626},"pivot_coords":{"z":29.64255142211914,"y":-1041.8125,"x":145.41864013671876},"model_hash":-1201894283}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"D7U3-J6I3-AYOD-0MJ1"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Legion","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"GWFe6scAgnXbgrQYx6e8E","door_coords":{"z":29.6267032623291,"y":-1045.125732421875,"x":147.8839111328125},"pivot_coords":{"z":29.62645149230957,"y":-1044.36083984375,"x":148.0054168701172},"model_hash":839234948}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8GB8-325E-CV05-JBER"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Legion","door_name":"Vault 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"YLr0eYno9J5gXy1s14ygT","door_coords":{"z":29.66629791259765,"y":-1047.350830078125,"x":149.53329467773438},"pivot_coords":{"z":29.66629791259765,"y":-1047.6290283203126,"x":150.29132080078126},"model_hash":-1591004109}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"IJQ6-M88U-NOBG-TID6"}],"name":"[K4MB1]_FLEECA_Legion.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Meteor.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Meteor.json
new file mode 100644
index 000000000..fff9b4710
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Meteor.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Meteor","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Zc4dZCCwUASwNkynj2Tpt","door_coords":{"z":54.51586151123047,"y":-275.8194885253906,"x":314.56683349609377},"pivot_coords":{"z":54.51586151123047,"y":-275.5965270996094,"x":313.9587097167969},"model_hash":-1152174184},{"unique_id":"DVC8hPxjwP9MvOOQTMqH_","door_coords":{"z":54.51580047607422,"y":-276.2655334472656,"x":315.783447265625},"pivot_coords":{"z":54.51580047607422,"y":-276.4888000488281,"x":316.3924560546875},"model_hash":73386408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"D7ES-PE0A-YAL0-TX8Q"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Meteor","door_name":"Teller Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"fqhxQqx1pGAMD4bsR5J4d","door_coords":{"z":54.24472045898437,"y":-279.6859130859375,"x":309.93017578125},"pivot_coords":{"z":54.43926239013672,"y":-280.1796875,"x":309.7491455078125},"model_hash":-1201894283}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"MJMD-HL96-FMBF-HGVL"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"FLEECA Meteor","door_name":"Vault 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Gl2yZWq7B58a8TXgu7T9q","door_coords":{"z":54.46300888061523,"y":-285.7165222167969,"x":313.8657531738281},"pivot_coords":{"z":54.46300888061523,"y":-285.9944763183594,"x":314.6238708496094},"model_hash":-1591004109}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QAGC-J676-QQSI-TK7D"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"FLEECA Meteor","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"OQVOwsQFXvUDJgx-yv7Ww","door_coords":{"z":54.42339706420898,"y":-283.4929504394531,"x":312.2208557128906},"pivot_coords":{"z":54.42316436767578,"y":-282.7271423339844,"x":312.3367919921875},"model_hash":839234948}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"RI7P-VQBT-28HZ-MZC3"}],"name":"[K4MB1]_FLEECA_Meteor.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Morningwood.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Morningwood.json
new file mode 100644
index 000000000..0dd381d23
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Morningwood.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Morningwood","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"QlGpI64M1ul3kjUesUDJu","door_coords":{"z":38.13204574584961,"y":-327.6455078125,"x":-1213.6524658203126},"pivot_coords":{"z":38.13204574584961,"y":-327.3523864746094,"x":-1213.0738525390626},"model_hash":73386408},{"unique_id":"Vc-cJvohWqY-RnI-8-RmO","door_coords":{"z":38.13210678100586,"y":-328.2337341308594,"x":-1214.8070068359376},"pivot_coords":{"z":38.13210678100586,"y":-328.5237121582031,"x":-1215.38623046875},"model_hash":-1152174184}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"KUCQ-IH0H-B42X-X6RO"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Morningwood","door_name":"Teller Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"KreN4FAwphSF6m1TqMrVs","door_coords":{"z":37.86096954345703,"y":-334.2589416503906,"x":-1215.14306640625},"pivot_coords":{"z":38.05551147460937,"y":-334.7280883789063,"x":-1214.9053955078126},"model_hash":-1201894283}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"LZ36-LYRG-F800-KHLM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Morningwood","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ZsGxfiHdJZIcXYHRTmO1q","door_coords":{"z":38.03965759277344,"y":-335.1938781738281,"x":-1210.814453125},"pivot_coords":{"z":38.03940963745117,"y":-334.5730895996094,"x":-1211.277587890625},"model_hash":839234948}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8EAF-UO81-769B-V66M"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Morningwood","door_name":"Vault 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"mrCsfUjUy3gw_JvvaFlaB","door_coords":{"z":38.07925415039062,"y":-335.4938049316406,"x":-1208.048583984375},"pivot_coords":{"z":38.07925415039062,"y":-335.1289367675781,"x":-1207.3282470703126},"model_hash":-1591004109}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"4Z4G-VHTU-0X9J-FB9X"}],"name":"[K4MB1]_FLEECA_Morningwood.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Ocean.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Ocean.json
new file mode 100644
index 000000000..a33a22e16
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_FLEECA_Ocean.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Ocean","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"l0QXyYjAE7e7VSTvvBSMw","door_coords":{"z":16.04815673828125,"y":482.2767639160156,"x":-2965.793212890625},"pivot_coords":{"z":16.04815673828125,"y":481.629638671875,"x":-2965.821044921875},"model_hash":-1729272853},{"unique_id":"JiEnhnrfUK_0o_40m63hV","door_coords":{"z":16.04809379577636,"y":483.57135009765627,"x":-2965.73779296875},"pivot_coords":{"z":16.04809379577636,"y":484.2194213867188,"x":-2965.7099609375},"model_hash":-2027831212}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"WVY0-AY4G-Y1TM-1WEV"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"FLEECA Ocean","door_name":"Teller Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"sv3nKxuvIx218iRZSH_6z","door_coords":{"z":15.77701473236084,"y":479.0329895019531,"x":-2960.701416015625},"pivot_coords":{"z":15.9715576171875,"y":479.0104370117188,"x":-2960.176025390625},"model_hash":-455481252}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NL64-7R6K-1C1K-5WIQ"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"FLEECA Ocean","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"wKt_R9she9jWnz_bimIsE","door_coords":{"z":15.95568180084228,"y":482.3749084472656,"x":-2957.77001953125},"pivot_coords":{"z":15.95545768737793,"y":482.2494201660156,"x":-2958.534423828125},"model_hash":839234948}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"93V2-YIK2-MQQ4-0AL9"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"FLEECA Ocean","door_name":"Vault 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"w2wyBo45P_-nIrWYSPRJ2","door_coords":{"z":15.99530410766601,"y":484.61383056640627,"x":-2956.150634765625},"pivot_coords":{"z":15.99530410766601,"y":485.4205627441406,"x":-2956.115966796875},"model_hash":-1591004109}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"5ZTA-HN63-QFZD-IAEE"}],"name":"[K4MB1]_FLEECA_Ocean.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Grapeseed_Drug_Lab.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Grapeseed_Drug_Lab.json
new file mode 100644
index 000000000..f4c1fc79a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Grapeseed_Drug_Lab.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Grapeseed Drug Lab","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"0745tD2qODsQil1nU1fHL","door_coords":{"z":48.15480422973633,"y":5184.916015625,"x":1960.4688720703128},"pivot_coords":{"z":48.15480422973633,"y":5184.2646484375,"x":1960.474853515625},"model_hash":2088680867}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PBTH-H6DC-52GI-LLJC"}],"name":"[K4MB1]_Grapeseed_Drug_Lab.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Italian_Pizza.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Italian_Pizza.json
new file mode 100644
index 000000000..005ce1fef
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Italian_Pizza.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Wine Cellar","door_sound":"door_regular.ogg","door_data":[{"unique_id":"5rGbPe00tbM2WI8gY5P9q","door_coords":{"z":24.93017959594726,"y":-986.8228149414064,"x":311.6006774902344},"pivot_coords":{"z":24.93017387390136,"y":-986.8029174804688,"x":310.9509887695313},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0MXG-0OYT-YQL6-0J4U"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Secret Basement","door_sound":"door_regular.ogg","door_data":[{"unique_id":"G7TphHim_sUFYXBtyKiJn","door_coords":{"z":29.68651962280273,"y":-985.175048828125,"x":297.379638671875},"pivot_coords":{"z":29.68659782409668,"y":-985.8253173828124,"x":297.4373168945313},"model_hash":2035930085}],"secret":true,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0ROM-GHA5-XP9R-UOPA"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"hbNjtV81CBuXgxhzsunhL","door_coords":{"z":29.58536911010742,"y":-964.3960571289064,"x":287.3946533203125},"pivot_coords":{"z":29.60019302368164,"y":-964.3988647460938,"x":286.7444763183594},"model_hash":-950166942}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2025-6C8T-HCPG-8ZRM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Staff","door_sound":"door_regular.ogg","door_data":[{"unique_id":"IPDET03AnF7EyUi5-1ul9","door_coords":{"z":29.58214378356933,"y":-978.07568359375,"x":285.4375},"pivot_coords":{"z":29.5821533203125,"y":-977.4256591796876,"x":285.4366455078125},"model_hash":1289778077}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3S5S-LJO7-UDWM-44EC"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Office 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"b31isis0ujpZzxuz2gGNX","door_coords":{"z":29.5821590423584,"y":-990.6411743164064,"x":296.2962341308594},"pivot_coords":{"z":29.5821533203125,"y":-990.6399536132813,"x":296.94622802734377},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3WD5-F5N8-WXIB-9O4M"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Interrogation","door_sound":"door_regular.ogg","door_data":[{"unique_id":"HYvN291ZxDGhAG_-7e9Ag","door_coords":{"z":24.93016815185547,"y":-983.7406005859376,"x":311.6112365722656},"pivot_coords":{"z":24.93017387390136,"y":-983.7311401367188,"x":312.26116943359377},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"4J75-HPU0-U28U-XVDS"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Backrooms","door_sound":"door_regular.ogg","door_data":[{"unique_id":"TBF6E8Oz8RxOCVmtWXiHV","door_coords":{"z":29.5821533203125,"y":-987.2348022460938,"x":283.5697937011719},"pivot_coords":{"z":29.5821533203125,"y":-987.2130737304688,"x":284.2200317382813},"model_hash":993120320}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"BZ2J-G5MW-AX6Y-DC6W"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Rear Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Z303tU3Qf_e6PUBa1ZfB1","door_coords":{"z":29.58356285095215,"y":-993.6864624023438,"x":296.4096374511719},"pivot_coords":{"z":29.5821533203125,"y":-993.702880859375,"x":297.0608215332031},"model_hash":757543979}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"CILT-UOIQ-GAQ8-3M0J"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Private","door_sound":"door_regular.ogg","door_data":[{"unique_id":"-m719nv1nGAszZQE9paUo","door_coords":{"z":29.58187294006347,"y":-973.1034545898438,"x":297.8294982910156},"pivot_coords":{"z":29.58186912536621,"y":-973.753173828125,"x":297.8113708496094},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"I6KF-WUUH-ZUYY-MRHZ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Armory","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Z1gJhAZJuOtksVf1IqNq0","door_coords":{"z":24.93017959594726,"y":-986.812744140625,"x":317.5898132324219},"pivot_coords":{"z":24.93017387390136,"y":-986.8211059570313,"x":316.93988037109377},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"KUHI-4QLT-C365-VUC3"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"sUpDBAaSgYQX5JTtwKfaF","door_coords":{"z":29.58215141296386,"y":-990.1255493164064,"x":284.7718505859375},"pivot_coords":{"z":29.5821533203125,"y":-990.7755126953124,"x":284.7756652832031},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OB2X-4S0A-97PS-O6A0"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Italian Pizza","door_name":"Conference","door_sound":"door_regular.ogg","door_data":[{"unique_id":"LJGzZGj5XbZ_eSv3IqcjR","door_coords":{"z":24.93016624450683,"y":-983.7603149414064,"x":317.5993957519531},"pivot_coords":{"z":24.93017387390136,"y":-983.7556762695313,"x":316.94940185546877},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZME6-ODNN-CBG5-A8E7"}],"name":"[K4MB1]_Italian_Pizza.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Kaihatsu_Bowling.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Kaihatsu_Bowling.json
new file mode 100644
index 000000000..39c37d207
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Kaihatsu_Bowling.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Kaihatsu Bowling","door_name":"Staircase","door_sound":"door_regular.ogg","door_data":[{"unique_id":"gPFo2V2SDED6eDAXeiXa1","door_coords":{"z":27.94594001770019,"y":-643.3798828125,"x":-1357.7520751953126},"pivot_coords":{"z":27.94593811035156,"y":-642.8547973632813,"x":-1358.0931396484376},"model_hash":-1318333112}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1ZT4-PQA1-G5N7-MAYB"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Kaihatsu Bowling","door_name":"Bowling Lanes","door_sound":"door_regular.ogg","door_data":[{"unique_id":"_gqgW7zbVHeSj9BWNL56X","door_coords":{"z":23.18400192260742,"y":-634.0158081054688,"x":-1358.2562255859376},"pivot_coords":{"z":23.18400001525879,"y":-633.67724609375,"x":-1357.7294921875},"model_hash":-1318333112}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"29VH-MR8Y-YDMU-PH7B"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Kaihatsu Bowling","door_name":"Entrance 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"dTwhPen870CADT_NI_A8q","door_coords":{"z":28.09999084472656,"y":-635.8710327148438,"x":-1350.7279052734376},"pivot_coords":{"z":28.10647773742675,"y":-636.3155517578125,"x":-1350.43701171875},"model_hash":294634436},{"unique_id":"9nB8e-EPn5WFCXMmn3otO","door_coords":{"z":28.09999084472656,"y":-634.8905029296875,"x":-1351.3636474609376},"pivot_coords":{"z":28.10647773742675,"y":-634.4485473632813,"x":-1351.6583251953126},"model_hash":294634436}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6198-L12C-F2VR-C1VF"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Kaihatsu Bowling","door_name":"Arcade","door_sound":"door_regular.ogg","door_data":[{"unique_id":"vOSyPlRF2--5I9LxX_WHL","door_coords":{"z":23.18400382995605,"y":-632.892578125,"x":-1351.6539306640626},"pivot_coords":{"z":23.18400192260742,"y":-633.4139404296875,"x":-1351.3072509765626},"model_hash":-1318333112}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6FPF-JZG8-2Y9B-364H"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Kaihatsu Bowling","door_name":"Entrance 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ZqfGj1vc9EHJ2pKEzeJ46","door_coords":{"z":28.09999084472656,"y":-637.9671630859375,"x":-1349.3687744140626},"pivot_coords":{"z":28.10647773742675,"y":-638.41064453125,"x":-1349.076416015625},"model_hash":294634436},{"unique_id":"QGsM8uzSkNLhRbE0IsHR6","door_coords":{"z":28.09999084472656,"y":-636.98583984375,"x":-1350.0062255859376},"pivot_coords":{"z":28.10647773742675,"y":-636.5423583984375,"x":-1350.298583984375},"model_hash":294634436}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"COPA-CIYF-80UH-9IMR"}],"name":"[K4MB1]_Kaihatsu_Bowling.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_LS_Top_Golf.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_LS_Top_Golf.json
new file mode 100644
index 000000000..bbf3d8e95
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_LS_Top_Golf.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"Garage 2","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":90.93980407714844,"y":-367.4059448242188,"x":2562.374755859375},"unique_id":"OgDW8VpaMNy2VswavHn4n","model_hash":-931868868}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0K2B-4CBC-1QIH-D1P8"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"Bar 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":112.60179901123049,"y":-316.1465759277344,"x":2514.48779296875},"unique_id":"OqFkdeHsQ4w2CNvXAgGIO","model_hash":433135607},{"door_coords":{"z":112.601806640625,"y":-314.77606201171877,"x":2514.193115234375},"unique_id":"uQTNlTutsVWM4PPe0cgly","model_hash":1124495969}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"A6Z8-X1IU-1FCQ-3BLZ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"WC 7","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":107.69587707519533,"y":-316.02703857421877,"x":2531.975341796875},"unique_id":"TnSx1NXcy3zSyzspoj-bo","model_hash":-2080303408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FXM5-S89O-ZIBF-PQU6"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"Storage","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":93.14239501953124,"y":-311.9010925292969,"x":2511.418212890625},"unique_id":"EM-rBazcdjwFiI9H-c0oW","model_hash":-2080303408},{"door_coords":{"z":93.14274597167968,"y":-311.8901062011719,"x":2510.11865234375},"unique_id":"7OeTP7XgjLDSpUHd7YpHa","model_hash":-2080303408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"I8KX-NJLO-IB9G-4GIB"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"WC 8","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":107.69606018066406,"y":-316.02703857421877,"x":2534.648681640625},"unique_id":"lJGuyTBazkTp63AlnnUnS","model_hash":-2080303408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JBBQ-8ULW-F0MJ-P8KK"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"WC 4","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.99362182617188,"y":-316.02703857421877,"x":2534.647216796875},"unique_id":"51DdpeQt8xdHQLexDQtPE","model_hash":-2080303408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"K0WK-6AAK-0QLM-83MU"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"Kitchen","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":112.60197448730468,"y":-310.1936950683594,"x":2509.916748046875},"unique_id":"JMwZU-ziQjicIqGbh4wIF","model_hash":1124495969},{"door_coords":{"z":112.60188293457033,"y":-310.195068359375,"x":2511.21728515625},"unique_id":"86wm8O-pIlTVwmztmZAHm","model_hash":433135607}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"K7KK-XOZB-03HR-QIRF"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"WC 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":93.14239501953124,"y":-316.0304260253906,"x":2534.646728515625},"unique_id":"C97cDtG3z8NCUiYn7lhBc","model_hash":-2080303408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"KEW4-8R8G-TCPF-K0F2"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"WC 3","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.99343872070313,"y":-316.0286865234375,"x":2531.975341796875},"unique_id":"zzHupcYcLninAxcs4TflJ","model_hash":-2080303408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PMNU-CPEY-1HJF-OK2M"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"Garage 1","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":90.94039154052736,"y":-349.95867919921877,"x":2572.403076171875},"unique_id":"2VB-kqoaXin7KX1W88PFJ","model_hash":-931868868}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QY82-5T8A-72ZD-5M12"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"WC 6","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":102.84466552734377,"y":-316.02703857421877,"x":2534.64794921875},"unique_id":"2v10NWkvgVqYCsNTZiwQQ","model_hash":-2080303408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"S2NK-2Q3Q-4L2V-OD2X"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"Entrance 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":93.2212142944336,"y":-304.9569396972656,"x":2524.57958984375},"unique_id":"gQfp-7HjPreQeGDgMtEWT","model_hash":-2086797283},{"door_coords":{"z":93.2212142944336,"y":-304.9524841308594,"x":2523.597412109375},"unique_id":"WuZYVkbTlqx-fgBgWvwqS","model_hash":-1060734355}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"UP2Q-T22Y-YOVM-3QO4"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"WC 5","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":102.84466552734377,"y":-316.0184631347656,"x":2531.975341796875},"unique_id":"lligv6tO7US-ip4PahN4H","model_hash":-2080303408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"VS66-5115-VSO3-UB4H"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"Bar 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":112.60130310058594,"y":-314.8460998535156,"x":2529.4306640625},"unique_id":"wDT-1ppY0SoRI1bcDJOo7","model_hash":433135607},{"door_coords":{"z":112.60130310058594,"y":-316.1465759277344,"x":2529.43017578125},"unique_id":"3S90us_IaxnNR3Tv5FNbH","model_hash":1124495969}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"WMIJ-19JJ-UJTS-2GBO"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"Entrance 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":93.2212142944336,"y":-304.9375,"x":2520.323486328125},"unique_id":"Qg8aAaHWh0gcTx5S6h0xJ","model_hash":-2086797283},{"door_coords":{"z":93.2212142944336,"y":-304.93304443359377,"x":2519.341064453125},"unique_id":"XRgsyeNM42JR7pwhTuL_6","model_hash":-1060734355}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"XAES-ST13-VL56-UYFW"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"LS Top Golf","door_name":"WC 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":93.1422119140625,"y":-316.0320739746094,"x":2531.975341796875},"unique_id":"dSY-RQWQEVhh5CTaPWXFY","model_hash":-2080303408}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"YGRV-HOS1-6BNW-QXJC"}],"name":"[K4MB1]_LS_Top_Golf.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Maze_Bank.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Maze_Bank.json
new file mode 100644
index 000000000..07628c1d5
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Maze_Bank.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Rear Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"JHK2iva_yft8OzdEt8vbf","door_coords":{"z":33.82964706420898,"y":-475.1800842285156,"x":-1348.29052734375},"pivot_coords":{"z":33.82974624633789,"y":-474.669189453125,"x":-1348.693115234375},"model_hash":763341604}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"367A-FV3P-K4T0-JEI9"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Entrance 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Htxdy8Y9TPkOmB8-E3zMo","door_coords":{"z":33.45417022705078,"y":-502.3331298828125,"x":-1370.34033203125},"pivot_coords":{"z":33.45260620117187,"y":-501.88037109375,"x":-1370.671630859375},"model_hash":1132595229},{"unique_id":"iPV41znENwd-l31O2UYon","door_coords":{"z":33.45733261108398,"y":-503.25885009765627,"x":-1369.6871337890626},"pivot_coords":{"z":33.45889663696289,"y":-503.7116088867188,"x":-1369.3558349609376},"model_hash":1132595229}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ALSP-CX3U-ICM4-TZJB"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Office 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"owFXvdtu_QukZwkZAb2nI","door_coords":{"z":33.35691452026367,"y":-496.2396240234375,"x":-1344.4149169921876},"pivot_coords":{"z":33.35701751708984,"y":-496.8800964355469,"x":-1344.301513671875},"model_hash":763341604}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DU2G-BF3Y-CU21-Q6AR"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Entrance 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"qzjo8i4O_gKd5jHla-VFY","door_coords":{"z":33.45776748657226,"y":-499.2785949707031,"x":-1383.215087890625},"pivot_coords":{"z":33.45776748657226,"y":-499.3682556152344,"x":-1383.7689208984376},"model_hash":1132595229},{"unique_id":"3GAes2pYDfxBUaU5mBZO3","door_coords":{"z":33.45856475830078,"y":-499.1168823242188,"x":-1382.09423828125},"pivot_coords":{"z":33.45856475830078,"y":-499.0272216796875,"x":-1381.5404052734376},"model_hash":1132595229}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"E78N-PSAP-CMLZ-1HZ7"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Electrical","door_sound":"door_regular.ogg","door_data":[{"unique_id":"RSR658Y8ilGFef2WaeAtX","door_coords":{"z":33.35691833496094,"y":-498.3960876464844,"x":-1346.4908447265626},"pivot_coords":{"z":33.35701751708984,"y":-498.4947814941406,"x":-1347.1337890625},"model_hash":763341604}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"I855-BR83-69KF-3CHE"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Office 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"DlQs0AVkwbiTGg1xw6Ta8","door_coords":{"z":34.19466018676758,"y":-495.4079284667969,"x":-1360.5772705078126},"pivot_coords":{"z":32.17135620117187,"y":-494.6672668457031,"x":-1360.6951904296876},"model_hash":468486142}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ITE1-8985-U87Y-H8PQ"},{"default_state":true,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":true,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"V6WiSBFu0Ee9NCmPZ1ybv","door_coords":{"z":36.71442031860351,"y":-477.9734191894531,"x":-1415.6290283203126},"pivot_coords":{"z":36.71448135375976,"y":-477.97113037109377,"x":-1415.6290283203126},"model_hash":-1521424759}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"K65A-MR3E-2HL0-3MKK"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Loading Bay","door_sound":"door_regular.ogg","door_data":[{"unique_id":"hZqy60rllIXtLASp46eKS","door_coords":{"z":33.36209106445312,"y":-478.77923583984377,"x":-1375.176025390625},"pivot_coords":{"z":32.20682907104492,"y":-478.1378784179688,"x":-1375.2724609375},"model_hash":1713143427},{"unique_id":"NVZVjNLm3hUGxltrNIuCM","door_coords":{"z":33.36026382446289,"y":-480.0817260742188,"x":-1374.984375},"pivot_coords":{"z":32.20500183105469,"y":-480.72308349609377,"x":-1374.887939453125},"model_hash":1713143427}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"KC6K-VSYU-7FOO-YYLV"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Security","door_sound":"door_regular.ogg","door_data":[{"unique_id":"TiMfA8XdTV5bj5--hOQiG","door_coords":{"z":33.36283874511719,"y":-485.5466003417969,"x":-1371.64697265625},"pivot_coords":{"z":33.36293792724609,"y":-484.90582275390627,"x":-1371.7587890625},"model_hash":763341604}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NULH-40R9-C7Z1-AQF0"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Vault 2","door_sound":"door_switch.ogg","door_data":[{"unique_id":"dy9zkZ7HFOwGOHdZJXh2M","door_coords":{"z":33.42715454101562,"y":-466.7884826660156,"x":-1363.4072265625},"pivot_coords":{"z":33.42691802978515,"y":-466.0654296875,"x":-1363.684814453125},"model_hash":-1800283608}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OKD1-4VD4-5RDI-XLVT"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Exit Hallway","door_sound":"door_regular.ogg","door_data":[{"unique_id":"UaeKcUQRQFNGxOuZs6VRB","door_coords":{"z":33.3569221496582,"y":-495.4332275390625,"x":-1351.273681640625},"pivot_coords":{"z":33.35701751708984,"y":-495.54833984375,"x":-1351.913818359375},"model_hash":763341604}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"RDTM-TDHU-2V2U-E2VS"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Vault","door_sound":"door_switch.ogg","door_data":[{"unique_id":"z_6hxafoCbUWuqeyCOT9U","door_coords":{"z":33.75735855102539,"y":-475.8612060546875,"x":-1370.3372802734376},"pivot_coords":{"z":33.75735855102539,"y":-475.8589782714844,"x":-1368.8709716796876},"model_hash":1691349984}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"RFZC-L9TL-ZRBB-5A6D"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Conference","door_sound":"door_regular.ogg","door_data":[{"unique_id":"A1GbBGJo9t6enrkqS04Zo","door_coords":{"z":33.35691833496094,"y":-499.5286254882813,"x":-1353.9400634765626},"pivot_coords":{"z":33.35701751708984,"y":-499.6418762207031,"x":-1354.58056640625},"model_hash":763341604}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"RWZ0-FXXM-79M5-WWIF"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Staff","door_sound":"door_regular.ogg","door_data":[{"unique_id":"-473Idyky8lKeQABJJQfo","door_coords":{"z":33.36050033569336,"y":-498.7298278808594,"x":-1360.4007568359376},"pivot_coords":{"z":33.36059951782226,"y":-499.3690490722656,"x":-1360.2803955078126},"model_hash":763341604}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"TJLB-DAAV-NEMI-5Q8T"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Vault 3","door_sound":"door_switch.ogg","door_data":[{"unique_id":"K3mmqHw3QPqa--hm6mgrn","door_coords":{"z":33.4468879699707,"y":-468.7219543457031,"x":-1374.7451171875},"pivot_coords":{"z":33.44666290283203,"y":-469.4482421875,"x":-1374.47607421875},"model_hash":-1800283608}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"VHH2-OVTN-R8KW-9AXC"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Entrance 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"VyLLNo9qVutw52DX-AHA6","door_coords":{"z":33.45954895019531,"y":-498.825927734375,"x":-1380.256591796875},"pivot_coords":{"z":33.45954895019531,"y":-498.91558837890627,"x":-1380.8104248046876},"model_hash":1132595229},{"unique_id":"vP5sPYuT4Gl7JLUM4IYWQ","door_coords":{"z":33.46255493164062,"y":-498.6639099121094,"x":-1379.1334228515626},"pivot_coords":{"z":33.46255493164062,"y":-498.5742492675781,"x":-1378.57958984375},"model_hash":1132595229}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"XJG6-IKHN-5G0X-H6E0"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Maze Bank","door_name":"Office 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"JzXen58rKfNKCD9ilGoxB","door_coords":{"z":34.19575881958008,"y":-489.0245971679688,"x":-1361.567626953125},"pivot_coords":{"z":32.17245483398437,"y":-488.283935546875,"x":-1361.685546875},"model_hash":468486142}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZJIL-75GU-8SOB-BJHV"}],"name":"[K4MB1]_Maze_Bank.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Mirror_Park_Auto.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Mirror_Park_Auto.json
new file mode 100644
index 000000000..aa7736250
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Mirror_Park_Auto.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Mirror Park Auto","door_name":"Paint Booth Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"FQ60QZtAttXXdo1jeA2-a","door_coords":{"z":58.17243194580078,"y":-784.81689453125,"x":1124.9158935546876},"pivot_coords":{"z":58.17243194580078,"y":-784.81689453125,"x":1124.9158935546876},"model_hash":1095700456}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"00ZS-L4UR-D5YK-GP7F"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Mirror Park Auto","door_name":"Waiting To Garage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"_62ldUqR0gcZJv8NiP1_1","door_coords":{"z":57.75602340698242,"y":-788.125732421875,"x":1155.4599609375},"pivot_coords":{"z":57.75602340698242,"y":-788.6935424804688,"x":1155.778564453125},"model_hash":-129553421}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3KFC-P6P9-PEHP-7KRR"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_click.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Mirror Park Auto","door_name":"Garage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"wemMXJ0O7bgzbAALENjQs","door_coords":{"z":58.13268661499023,"y":-792.3970947265625,"x":1143.6446533203126},"pivot_coords":{"z":58.13268661499023,"y":-792.3970947265625,"x":1143.6446533203126},"model_hash":1559414575}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"5T98-IFE7-APLJ-8ZF1"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Mirror Park Auto","door_name":"Waiting Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Z74RWBAYEnc1mWyUjyIsT","door_coords":{"z":57.75362396240234,"y":-785.4198608398438,"x":1155.009033203125},"pivot_coords":{"z":57.75362396240234,"y":-786.0703125,"x":1154.97998046875},"model_hash":-129553421}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6Q0E-XAVH-WHKJ-UUVP"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Mirror Park Auto","door_name":"Paint Booth","door_sound":"door_regular.ogg","door_data":[{"unique_id":"D0FxNLNPjsAYUAF7PyCft","door_coords":{"z":57.75320434570312,"y":-777.3470458984375,"x":1130.2696533203126},"pivot_coords":{"z":57.75320434570312,"y":-777.3330078125,"x":1129.6187744140626},"model_hash":-129553421}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"9RBB-4QEK-UK7A-E8KS"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Mirror Park Auto","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ZXZFgdtFGq-EtPSxElIGS","door_coords":{"z":57.76251983642578,"y":-784.18359375,"x":1159.49658203125},"pivot_coords":{"z":57.76251983642578,"y":-784.1773071289063,"x":1158.8458251953126},"model_hash":-952356348}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"AL9D-1HYQ-IDCX-GN40"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Mirror Park Auto","door_name":"Parking Fence","door_sound":"door_regular.ogg","door_data":[{"unique_id":"OOMlXb7Y7OPVQuCOB2GTi","door_coords":{"z":58.24969100952148,"y":-776.1294555664063,"x":1162.5426025390626},"pivot_coords":{"z":58.24969100952148,"y":-776.148193359375,"x":1161.7061767578126},"model_hash":-1156020871}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"HCLZ-4KB0-NO09-M3JJ"},{"default_state":true,"door_type":"gates","items":[],"door_unlock_sound":"electronic_door.ogg","distance":4,"state":true,"keep_open":false,"camera":false,"location_group":"Mirror Park Auto","door_name":"Parking Gate","door_sound":"electronic_door.ogg","door_data":[{"unique_id":"OA2XcAoZOv0tQhl3agcYr","door_coords":{"z":58.23066711425781,"y":-788.745849609375,"x":1121.641845703125},"pivot_coords":{"z":56.67810440063476,"y":-788.7828369140625,"x":1124.385009765625},"model_hash":-1603817716}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZR7D-VB47-RMKO-H57B"}],"name":"[K4MB1]_Mirror_Park_Auto.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Modern_Mansion_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Modern_Mansion_1.json
new file mode 100644
index 000000000..e30287f5a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Modern_Mansion_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Modern Mansion 1","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":90.10574340820313,"y":378.9790344238281,"x":-1732.4127197265626},"unique_id":"d8Kx9X6RZ-bIR3KlJzUK-","model_hash":-495796880},{"door_coords":{"z":90.10289764404296,"y":378.47607421875,"x":-1733.3525390625},"unique_id":"SIj2-vE4Ve7quaqzXRz9S","model_hash":-1691898149}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"21QP-R4X1-2Z8Q-DG90"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Modern Mansion 1","door_name":"Bedroom","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":89.57440948486328,"y":366.6028137207031,"x":-1731.0328369140626},"unique_id":"e3bGhXsvQ-MIabbj8Ix68","model_hash":1524942394}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2RNH-VI0V-NPIU-RJ3G"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Modern Mansion 1","door_name":"Bathroom","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":89.87599182128906,"y":378.2639465332031,"x":-1728.960693359375},"unique_id":"TlFLrkdgvb30TyosWymw3","model_hash":1524942394}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8NJN-BXXX-RVTP-VC1O"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Modern Mansion 1","door_name":"Rear Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":89.03668212890625,"y":365.4966125488281,"x":-1741.34130859375},"unique_id":"ZbnENxczeZwjsANtQh5t-","model_hash":-1109756864}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"CN0I-E9KE-LIAO-YS3K"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Modern Mansion 1","door_name":"House to Garage","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":89.87470245361328,"y":373.6311340332031,"x":-1737.639404296875},"unique_id":"ebiRk-E-mzQiqOISoa61F","model_hash":1524942394}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FC5H-Z4NA-KF6W-0YAU"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Modern Mansion 1","door_name":"Jacuzzi","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":88.8792495727539,"y":356.989990234375,"x":-1733.977294921875},"unique_id":"_0gKSJ2i4EhAUIpgoM9GD","model_hash":1524942394}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JK75-Z1RX-JXXL-EGIY"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Modern Mansion 1","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":88.8789291381836,"y":355.8399047851563,"x":-1728.1658935546876},"unique_id":"ax_xVUJpL2oIxRMkS8Vvs","model_hash":1524942394}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"LFEM-FZDC-8YTI-X5XA"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Modern Mansion 1","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":91.39286041259766,"y":369.0707702636719,"x":-1744.2955322265626},"unique_id":"hSlm3gmU46w_Fiuzu6q96","model_hash":-2120219003}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"LU2O-WPF4-YXFR-CHQH"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Modern Mansion 1","door_name":"Bedroom 3","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":89.87599182128906,"y":380.4293212890625,"x":-1718.3194580078126},"unique_id":"lnQy8SM1hsvlwRqrnUAIy","model_hash":1524942394}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"R9SQ-KBO7-15BB-N5CS"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Modern Mansion 1","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":89.87470245361328,"y":378.40911865234377,"x":-1714.6434326171876},"unique_id":"lZjCX70KbJVt37hzFJABv","model_hash":1524942394}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZOG0-VAYY-DCZA-MP3Y"}],"name":"[K4MB1]_Modern_Mansion_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Mountain_Gold_Vault.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Mountain_Gold_Vault.json
new file mode 100644
index 000000000..311e8a51b
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Mountain_Gold_Vault.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Mountain Gold Vault","door_name":"Entrance","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":170.32554626464845,"y":4004.757080078125,"x":-913.6948852539064},"unique_id":"6zMCnAamfpXxLbJhw-PA5","model_hash":-1870512334},{"door_coords":{"z":170.32554626464845,"y":4002.938720703125,"x":-910.4232177734376},"unique_id":"nDcPkTST3r3IJgNM3W1Z-","model_hash":-1870512334}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"CG59-Y016-BJ16-KWS4"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Mountain Gold Vault","door_name":"Vault Door","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":169.86624145507813,"y":3979.9423828125,"x":-901.3013916015624},"unique_id":"AOlmaTJz_V8yUfYFSDPyr","model_hash":-677005877},{"door_coords":{"z":169.86630249023438,"y":3982.761474609375,"x":-899.756103515625},"unique_id":"sCmiQIY3m8QtdykYmBqwQ","model_hash":1932913897}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"S437-WYIU-VI7I-SBAF"}],"name":"[K4MB1]_Mountain_Gold_Vault.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Murietta_Factory_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Murietta_Factory_1.json
new file mode 100644
index 000000000..2ec754f43
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Murietta_Factory_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Storage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"8FVV4ps_RMjbqy1KGUiD3","door_coords":{"z":71.58865356445313,"y":-1898.180419921875,"x":1464.488037109375},"pivot_coords":{"z":71.58751678466797,"y":-1898.7408447265626,"x":1464.8173828125},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0RRM-4U9V-L4CC-E9GV"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Crafting","door_sound":"door_regular.ogg","door_data":[{"unique_id":"T7W-S9pea6zFeYvUlyQwN","door_coords":{"z":71.97754669189453,"y":-1925.84716796875,"x":1467.0267333984376},"pivot_coords":{"z":71.97640991210938,"y":-1925.198974609375,"x":1467.0753173828126},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3ZUK-UCLD-RF2Z-RY6P"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Control Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"o4GB-yjVTpwL1wXrw72q5","door_coords":{"z":71.97498321533203,"y":-1911.255615234375,"x":1455.591796875},"pivot_coords":{"z":71.97498321533203,"y":-1911.3046875,"x":1456.2412109375},"model_hash":1944799846}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"4YRF-ZOQV-MWA0-QTLA"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"0-WmlVLu6rriSh5m6ppx_","door_coords":{"z":71.98441314697266,"y":-1930.610595703125,"x":1458.4730224609376},"pivot_coords":{"z":71.9832534790039,"y":-1931.258056640625,"x":1458.4161376953126},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"A2DU-PZ0E-Y1S7-0RQJ"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":7,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Garage Door","door_sound":"door_switch.ogg","door_data":[{"unique_id":"R1zmGXdzWOyl5Cqb_XfdC","door_coords":{"z":74.69590759277344,"y":-1913.4107666015626,"x":1479.631103515625},"pivot_coords":{"z":74.72797393798828,"y":-1913.41357421875,"x":1479.6326904296876},"model_hash":978168595}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"A84U-K3YX-W5Y2-883W"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Conference Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"qPNvbpxCzUgr7WU-pNxJ6","door_coords":{"z":71.9775390625,"y":-1925.0181884765626,"x":1457.2894287109376},"pivot_coords":{"z":71.97640991210938,"y":-1924.3704833984376,"x":1457.3433837890626},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"A9AP-NG3P-HPD3-UTZJ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Conveyors","door_sound":"door_regular.ogg","door_data":[{"unique_id":"XTBo0S8Bd7-YycmzHVDrP","door_coords":{"z":71.5887222290039,"y":-1906.63330078125,"x":1465.2431640625},"pivot_coords":{"z":71.5876235961914,"y":-1906.0745849609376,"x":1464.9110107421876},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OKFM-QYMN-SRV1-WTZN"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"VyCuJe4gJuWwV31pfJn4N","door_coords":{"z":71.97613525390625,"y":-1919.4400634765626,"x":1454.8939208984376},"pivot_coords":{"z":71.97498321533203,"y":-1919.49951171875,"x":1455.5411376953126},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"RH8M-YP90-AWXY-9ULH"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Rolling","door_sound":"door_regular.ogg","door_data":[{"unique_id":"G2is75hPIAWuPkikwp6jK","door_coords":{"z":71.58792114257813,"y":-1899.94482421875,"x":1461.3328857421876},"pivot_coords":{"z":71.58679962158203,"y":-1900.5008544921876,"x":1461.6695556640626},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"RP4I-MAV0-LCHM-IPDA"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Furnace","door_sound":"door_regular.ogg","door_data":[{"unique_id":"G7Z8OMHxWAVGLC1nZwH2x","door_coords":{"z":71.46588897705078,"y":-1891.626953125,"x":1477.0341796875},"pivot_coords":{"z":71.46588897705078,"y":-1892.187744140625,"x":1477.36376953125},"model_hash":362975687},{"unique_id":"8fMnck9JFoSlj3anxFfN0","door_coords":{"z":71.46414947509766,"y":-1890.5050048828128,"x":1476.380859375},"pivot_coords":{"z":71.46414947509766,"y":-1889.941162109375,"x":1476.0565185546876},"model_hash":362975687}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"UX7Q-SR04-2TGP-Z6QY"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Murietta Factory 1","door_name":"Factory Floor","door_sound":"door_regular.ogg","door_data":[{"unique_id":"rI-qaP8N7VYHt9ncX9yI8","door_coords":{"z":71.97401428222656,"y":-1918.0244140625,"x":1473.6309814453126},"pivot_coords":{"z":71.97286224365235,"y":-1917.69287109375,"x":1474.1900634765626},"model_hash":1059209904}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZA9N-02B1-YLEJ-UBXH"}],"name":"[K4MB1]_Murietta_Factory_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Muscle_Gym.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Muscle_Gym.json
new file mode 100644
index 000000000..223c87a2f
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Muscle_Gym.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Muscle Gym","door_name":"Lockers","door_sound":"door_regular.ogg","door_data":[{"unique_id":"t03wWdfa1gIQMKlDpiPsu","door_coords":{"z":75.83313751220703,"y":264.6614990234375,"x":-777.7433471679688},"pivot_coords":{"z":75.83313751220703,"y":264.01904296875,"x":-777.6473388671875},"model_hash":-2022809753}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2X8N-1R0I-94HO-ZGI3"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Muscle Gym","door_name":"Think Tank","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Fj4m5osBU53Lq027oe08G","door_coords":{"z":76.69664764404297,"y":265.0844421386719,"x":-758.8290405273438},"pivot_coords":{"z":74.67333984375,"y":264.946533203125,"x":-759.5662231445313},"model_hash":969847031}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"EHX4-MX80-KTV3-AHBI"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Muscle Gym","door_name":"Shower 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"nvAmVQn0sskOXJdGoACAh","door_coords":{"z":75.83644104003906,"y":247.197509765625,"x":-778.3120727539063},"pivot_coords":{"z":75.83644104003906,"y":246.55746459960936,"x":-778.201171875},"model_hash":-2022809753}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FITO-E3BE-HJZB-P8I1"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Muscle Gym","door_name":"Think Tank 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"q9ppLiABi48av-I4dDE9y","door_coords":{"z":76.69674682617188,"y":263.54833984375,"x":-767.0340576171875},"pivot_coords":{"z":74.6734390258789,"y":263.4104309082031,"x":-767.771240234375},"model_hash":969847031}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"GWVT-O64R-OQGT-4AOZ"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Muscle Gym","door_name":"Arcade","door_sound":"door_regular.ogg","door_data":[{"unique_id":"t9xUi3xIZLcudppbhy9rp","door_coords":{"z":75.90621185302735,"y":254.09629821777345,"x":-784.05224609375},"pivot_coords":{"z":76.09969329833985,"y":254.21229553222657,"x":-783.312255859375},"model_hash":1104171198},{"unique_id":"2kCNfZ2wx4hl8WhkJPLwF","door_coords":{"z":75.90621185302735,"y":253.806869506836,"x":-785.5244140625},"pivot_coords":{"z":76.09969329833985,"y":253.65286254882813,"x":-786.252685546875},"model_hash":-1425071302}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NKQB-W6Q9-8GTM-Y301"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Muscle Gym","door_name":"Gym","door_sound":"door_regular.ogg","door_data":[{"unique_id":"RZysjqUcEn8wXI4QHuPl5","door_coords":{"z":75.82767486572266,"y":262.167236328125,"x":-750.224365234375},"pivot_coords":{"z":75.82767486572266,"y":262.8063659667969,"x":-750.3404541015625},"model_hash":-1821777087},{"unique_id":"SDqAF_kZM1I1tJeVjURbb","door_coords":{"z":75.82767486572266,"y":260.8926391601563,"x":-749.9813842773438},"pivot_coords":{"z":75.82767486572266,"y":260.2556457519531,"x":-749.8541259765625},"model_hash":-1821777087}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"O0RG-TOVR-CYPL-0MTX"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Muscle Gym","door_name":"Arcade 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"88Rymyyc8kI8ao5ldpcxP","door_coords":{"z":75.90453338623047,"y":254.7947540283203,"x":-760.05712890625},"pivot_coords":{"z":76.09801483154297,"y":254.63327026367188,"x":-760.7837524414063},"model_hash":-1425071302},{"unique_id":"O53l3Ste13ZyoQ7G3PbXQ","door_coords":{"z":75.90453338623047,"y":255.06057739257813,"x":-758.5806274414063},"pivot_coords":{"z":76.09801483154297,"y":255.192123413086,"x":-757.84326171875},"model_hash":1104171198}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OEWW-IJJA-T2BO-7D0C"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Muscle Gym","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"QNG47VgPXiKtWBqRimm50","door_coords":{"z":75.83558654785156,"y":241.2147216796875,"x":-757.4524536132813},"pivot_coords":{"z":75.83558654785156,"y":241.10739135742188,"x":-758.0930786132813},"model_hash":-1821777087},{"unique_id":"j7V0GfaEVR74tX5lHYh6r","door_coords":{"z":75.83558654785156,"y":241.44677734375,"x":-756.17724609375},"pivot_coords":{"z":75.83558654785156,"y":241.56463623046876,"x":-755.5384521484375},"model_hash":-1821777087}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PXS0-HIAD-8B6T-D8ER"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Muscle Gym","door_name":"Shower 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"7kaDa1LGmGGE6HUGFFAR1","door_coords":{"z":75.83644104003906,"y":251.50885009765626,"x":-779.1170654296875},"pivot_coords":{"z":75.83644104003906,"y":250.87005615234376,"x":-778.9992065429688},"model_hash":-2022809753}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"SCHK-ZDDZ-D46W-IQ7Z"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Muscle Gym","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"qNE4HxjfvqLBy2320pLQK","door_coords":{"z":75.82704162597656,"y":265.5867919921875,"x":-756.877197265625},"pivot_coords":{"z":75.82704162597656,"y":265.707275390625,"x":-756.2388916015625},"model_hash":-802937803}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"XZUZ-60AR-PY7V-VO0T"}],"name":"[K4MB1]_Muscle_Gym.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Office_Tower_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Office_Tower_1.json
new file mode 100644
index 000000000..550f879a5
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Office_Tower_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Entrance 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":39.84251403808594,"y":-279.6438903808594,"x":-943.0541381835938},"unique_id":"2oWL3rsj68Xz8xKh7hMFd","model_hash":-1585656968},{"door_coords":{"z":39.84263229370117,"y":-277.9419555664063,"x":-943.9400024414064},"unique_id":"fXszuXEBUy17zzQxIrLq9","model_hash":-1227819488}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"02TB-DHU4-7A0F-UFT8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Basement Restroom F","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":36.04250717163086,"y":-287.2691650390625,"x":-942.7910766601564},"unique_id":"xgMBNygmSwJBHrl6855BO","model_hash":482974608}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0E13-56WV-RP6M-MQZG"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"3 Conference Room","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":52.84226989746094,"y":-289.6123352050781,"x":-946.03564453125},"unique_id":"eWcNigXpcYuH2X4UwcZkd","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"18R4-9YQS-4C0K-A0EK"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Class Room","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":48.37696838378906,"y":-276.47991943359377,"x":-955.6844482421876},"unique_id":"4hWt1zy75USAZ8RP6VeYg","model_hash":-971713009}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3BT2-9MFL-THJB-IT2E"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"5 Conference 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":62.24998474121094,"y":-289.6089782714844,"x":-946.0292358398438},"unique_id":"j5jxUA8l4ULsCcshqu1DV","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6VGI-RZBU-7PJ0-YHZM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Basement Electrical","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":36.04252624511719,"y":-284.2686462402344,"x":-951.7057495117188},"unique_id":"73gWT5hd6-fnQ-sPiqXbL","model_hash":1064342690}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"90D4-NJGF-DPW4-RDDV"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"8th Floor","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":76.36479187011719,"y":-287.464111328125,"x":-945.209228515625},"unique_id":"cL_6iumPbWxc_F-dlsXXm","model_hash":-1900927456}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"A4C7-K5ZW-MQ22-TEJG"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"3rd Floor","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":52.84477233886719,"y":-287.4686584472656,"x":-945.2068481445313},"unique_id":"GInGSx_sgUZhKi_wyZHwg","model_hash":-716604169}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"AHH2-60XK-6ESI-98LI"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Exam Room","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":48.37696838378906,"y":-290.7647399902344,"x":-948.2513427734376},"unique_id":"33y2VcvWF15gDMUX_Ps6C","model_hash":-74551444}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ATOW-Y0F6-OVYN-YOKE"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Entrance 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":39.84251403808594,"y":-282.09173583984377,"x":-941.7799072265624},"unique_id":"m2bjQKYBafHKm7coTXNfo","model_hash":-1585656968},{"door_coords":{"z":39.84263229370117,"y":-280.3898010253906,"x":-942.6658325195313},"unique_id":"kpQZ27QL6guFpxnWS1mC8","model_hash":-1227819488}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"CGSI-2EBH-SUO7-C9UA"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Entrance 3","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":39.84251403808594,"y":-286.0798645019531,"x":-955.7564697265624},"unique_id":"mlx2EinMLRtMeLT23a8gp","model_hash":-1585656968},{"door_coords":{"z":39.84263229370117,"y":-284.3779602050781,"x":-956.642333984375},"unique_id":"VrsmutIpah4Dugb-likKZ","model_hash":-1227819488}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"CQYE-ALAB-OOVI-9TRD"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"5 Conference 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":62.25251007080078,"y":-282.88421630859377,"x":-954.1187133789064},"unique_id":"cNRaymbyWKLbDlhjz47p0","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"D7LU-YMCQ-5N0B-7XJ7"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"6th Floor","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":66.95658874511719,"y":-287.464111328125,"x":-945.209228515625},"unique_id":"85CjgGCkqD5qQTfR1QYvY","model_hash":-1602208081}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DSJK-641M-53NX-AJ9P"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"2 Office","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":48.37651062011719,"y":-280.7066955566406,"x":-943.7859497070313},"unique_id":"ySNRK-4wP5601AP-2qjAp","model_hash":1064342690}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"E15H-C7TR-FLH2-L7PM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"6 Office 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":66.9565200805664,"y":-278.07049560546877,"x":-944.869873046875},"unique_id":"EQrQrQfZy2vYG1jHfx6A1","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ECQI-J9XB-ZX3W-IV86"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"7th Floor","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":71.66069030761719,"y":-287.464111328125,"x":-945.209228515625},"unique_id":"sDsDH9oeRVncavv-w7Pr2","model_hash":1190021717}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"EJ7V-N6J1-VNYR-GANV"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"4 Recording","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":57.54792022705078,"y":-282.8831176757813,"x":-954.1188354492188},"unique_id":"UUbS4dtABHU6QsA5zIEA4","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"EY85-9HL9-YFEN-67IX"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Entrance 4","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":39.84251403808594,"y":-288.52777099609377,"x":-954.482177734375},"unique_id":"NuE4jK_E7gEk4MsWbk7fm","model_hash":-1585656968},{"door_coords":{"z":39.84263229370117,"y":-286.82586669921877,"x":-955.3680419921876},"unique_id":"_iH2NKkIEbseheztpBKxT","model_hash":-1227819488}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FKCO-HI7F-PPW8-I3UX"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"2nd Floor","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":48.37651062011719,"y":-287.46533203125,"x":-945.2085571289064},"unique_id":"v2g9HaSIvYNPYAw_MAWdG","model_hash":-1377880854}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"G05C-EQVQ-ZK3N-PL5M"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"3 Office 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":52.84479522705078,"y":-282.88446044921877,"x":-954.1181030273438},"unique_id":"exMI39A_Wj2wkwbZAqu3f","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"G9OB-FBVC-EZI4-WF04"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"8 Office","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":76.36479187011719,"y":-282.8831787109375,"x":-954.1192016601564},"unique_id":"6XV-tngfYrly-LA1f_4YL","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"GX5H-8NAR-P7LF-L0RN"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"7 Office 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":71.6595230102539,"y":-282.8831787109375,"x":-954.1192626953124},"unique_id":"8iGn7KPdxiDv8zvj1AoKO","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"H047-Z88C-ZKQ3-6X84"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"4 Office 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":57.54965591430664,"y":-280.7066955566406,"x":-943.7859497070313},"unique_id":"AMoRwydCj2yMuusMabFZJ","model_hash":1064342690}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"IJWC-QWNX-D5VK-36U4"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"3 Office 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":52.84477996826172,"y":-278.0711975097656,"x":-944.8699340820313},"unique_id":"avANzZJ2SWiLSmSFa1rvT","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"LU6Y-407D-FUIJ-MNNZ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Basement Storage","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":36.04252624511719,"y":-281.7919921875,"x":-946.9459838867188},"unique_id":"K8qIo_gXqX3JDwtMysb9M","model_hash":1064342690}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"M3OP-EYMQ-FABQ-J74E"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"6 Office 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":66.95658874511719,"y":-282.8822021484375,"x":-954.1197509765624},"unique_id":"VZi7y4na8VV8GVeGB8oFt","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"O8JN-6UBY-DFFP-MPN8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"7 Office 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":71.66039276123047,"y":-278.071044921875,"x":-944.8709716796876},"unique_id":"12Nf5P4Ssfom1s5HeMwQF","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"P0EM-KML6-TY2Z-IOYP"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"4 Recording 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":57.54637145996094,"y":-289.6098937988281,"x":-946.0289306640624},"unique_id":"1CzV2lVaM0i8CWtHIY-q6","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QUE4-UJ0O-C1F2-FC5Q"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Basement Restroom M","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":36.04252624511719,"y":-290.8865051269531,"x":-949.74609375},"unique_id":"qIPOK26KCTrwwUItzd4Vu","model_hash":706197036}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"R31N-9NBX-90J6-S4WW"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"4th Floor","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":57.54887390136719,"y":-287.464111328125,"x":-945.209228515625},"unique_id":"kLQ1nlavKBD2uivkpsOKt","model_hash":-1723429998}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"SHL8-ICU8-JSH2-2CTX"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"Server Room","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":36.04252624511719,"y":-289.0335693359375,"x":-946.1931762695313},"unique_id":"K7cIYCJFu9LQP2qIHX8Fm","model_hash":605906684}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"SVGB-C1D0-5VHI-MUYK"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Office Tower 1","door_name":"5th Floor","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":62.25248718261719,"y":-287.464111328125,"x":-945.209228515625},"unique_id":"Su-rXyPUet3eyS6ERNipa","model_hash":2046812083}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"UIWS-OUJU-QNDG-ZQ8P"}],"name":"[K4MB1]_Office_Tower_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Paleto_Bank.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Paleto_Bank.json
new file mode 100644
index 000000000..5af1d2baa
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Paleto_Bank.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto Bank","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"jIjVxRDqndauGvadxOTbV","door_coords":{"z":31.98498725891113,"y":6462.56884765625,"x":-110.10808563232422},"pivot_coords":{"z":31.9849853515625,"y":6462.10986328125,"x":-109.6500015258789},"model_hash":-1666470363},{"unique_id":"mcUN-QZHxqALX88JGlCel","door_coords":{"z":31.98498725891113,"y":6463.482421875,"x":-111.02044677734377},"pivot_coords":{"z":31.9849853515625,"y":6463.93994140625,"x":-111.4800033569336},"model_hash":-353187150}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"5BCN-LSJN-81RU-K894"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto Bank","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"mXAvFdjmY8KIkjggUH3pR","door_coords":{"z":31.79532814025879,"y":6472.953125,"x":-105.18852996826172},"pivot_coords":{"z":31.79532814025879,"y":6473.4443359375,"x":-104.6048812866211},"model_hash":-1185205679}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"65NW-RFAQ-AGIR-OV4W"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto Bank","door_name":"Teller Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Ci6Z0Q-C63wY1NrPzkH9r","door_coords":{"z":31.91028785705566,"y":6468.7080078125,"x":-109.31189727783205},"pivot_coords":{"z":31.91028785705566,"y":6469.10546875,"x":-108.9146728515625},"model_hash":-1184592117}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ARAA-SRRD-W8AJ-5TD4"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto Bank","door_name":"Lockboxes","door_sound":"door_regular.ogg","door_data":[{"unique_id":"QONtB8fWL2P6Q7BEehqZD","door_coords":{"z":31.78420257568359,"y":6464.2490234375,"x":-103.93375396728516},"pivot_coords":{"z":31.78419685363769,"y":6464.7080078125,"x":-104.39409637451172},"model_hash":-2051651622}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ATPZ-B2AZ-0AK5-QU0R"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto Bank","door_name":"Lockbox Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"L4SwnxYUDj2l6hb0-jTQb","door_coords":{"z":31.88487434387207,"y":6459.7587890625,"x":-102.02017211914064},"pivot_coords":{"z":31.88460159301757,"y":6460.408203125,"x":-101.59841918945313},"model_hash":-1528546233}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"B7WE-WARO-M0YT-38UT"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto Bank","door_name":"Storage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"F0KkU6JIABaPLWsAIbl5M","door_coords":{"z":31.78410148620605,"y":6465.77099609375,"x":-102.45327758789064},"pivot_coords":{"z":31.78419685363769,"y":6466.2314453125,"x":-102.91203308105468},"model_hash":-2051651622}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Q8EZ-1MSY-07HG-EMT4"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto Bank","door_name":"Storage 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ltYcgeoDCa6JdVWhNUq3h","door_coords":{"z":31.78466606140136,"y":6468.271484375,"x":-99.71485900878906},"pivot_coords":{"z":31.78466606140136,"y":6468.73095703125,"x":-100.17453002929688},"model_hash":-538477509}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"RI7T-4YQ3-XT1Z-KE5D"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto Bank","door_name":"Rear Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"egza2K6-7efNufYDR6nck","door_coords":{"z":31.78469276428222,"y":6473.63134765625,"x":-96.21341705322266},"pivot_coords":{"z":31.78466606140136,"y":6474.08203125,"x":-96.68197631835938},"model_hash":-2051651622}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZW1S-AZD3-JW14-HFA7"}],"name":"[K4MB1]_Paleto_Bank.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Paleto_House_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Paleto_House_1.json
new file mode 100644
index 000000000..c2f2fab44
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Paleto_House_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto House 1","door_name":"Bedroom 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":29.90765762329101,"y":6559.81591796875,"x":-138.51893615722657},"unique_id":"lgngfGl_y2xjFCqHUKOJu","model_hash":1335309163}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0M2Y-TLBE-UZ58-Q1ZO"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto House 1","door_name":"Foyer","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":29.90748405456543,"y":6554.43359375,"x":-134.19822692871098},"unique_id":"C3inx35c2eMPm3UXnBd7R","model_hash":1335309163}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1FRH-JOFL-LTA0-6VKG"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto House 1","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":30.37104606628418,"y":6552.212890625,"x":-131.40155029296876},"unique_id":"MLrhqIKfqrTVZAPds81XS","model_hash":-66833498}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"7FCJ-AIJC-YRYO-UHKU"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto House 1","door_name":"WC","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":29.90752410888672,"y":6565.4609375,"x":-136.15426635742188},"unique_id":"-m189zk-7pL8EXr2Idq8e","model_hash":1335309163}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"9TB2-BO7V-UZL8-QH9Y"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto House 1","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":32.29460144042969,"y":6562.87646484375,"x":-123.8083953857422},"unique_id":"OsV0DYAQ-tuT3ezrMbqeu","model_hash":-1241016456}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"HEER-5XP0-KJO4-SOO8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto House 1","door_name":"Balcony","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":31.49239158630371,"y":6572.61181640625,"x":-147.4526824951172},"unique_id":"H-mM2h2L_eX_mz_0tGPKj","model_hash":1147520048}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"HHVO-3XRY-WKV8-H760"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto House 1","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":29.90765380859375,"y":6558.03662109375,"x":-133.17156982421876},"unique_id":"yPiTbnLrkiu1VI5vieJFl","model_hash":1335309163}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"HYMA-X5PA-0DEF-VIT6"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Paleto House 1","door_name":"House To Garage","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":29.90760612487793,"y":6564.580078125,"x":-133.3007354736328},"unique_id":"_lCeq0OHm19_th5Nq06Um","model_hash":1335309163}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JYS7-XN06-7D2E-PL6F"}],"name":"[K4MB1]_Paleto_House_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Panache_Laundromat.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Panache_Laundromat.json
new file mode 100644
index 000000000..31526c085
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Panache_Laundromat.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Panache Laundromat","door_name":"Storage","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":36.78358840942383,"y":-387.8822021484375,"x":-1425.353759765625},"unique_id":"s0gtr3X-CdwpbXDcuCNPr","model_hash":919731067}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DA24-QGRN-TCAW-X2YD"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Panache Laundromat","door_name":"Secret","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":36.70287322998047,"y":-384.39935302734377,"x":-1427.532470703125},"unique_id":"niRk2hXC7FlenK2LwirEc","model_hash":-1263512143}],"secret":true,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"G5EN-0BJ8-IN5J-YZBT"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Panache Laundromat","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":36.78196716308594,"y":-385.6993713378906,"x":-1412.2279052734376},"unique_id":"1YmYyZuPzjqYtskYK1LVV","model_hash":-1699001488}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"LDJA-X7ZK-81WP-XPZD"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Panache Laundromat","door_name":"Staff","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":36.78870391845703,"y":-384.0353393554688,"x":-1418.0137939453126},"unique_id":"mu6oIkUV61_hOf3yn0n9U","model_hash":-1381181030}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"MQWV-26GP-1CUR-U7TP"}],"name":"[K4MB1]_Panache_Laundromat.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Pawn_Shop.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Pawn_Shop.json
new file mode 100644
index 000000000..60e17b86f
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Pawn_Shop.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Pawn Shop","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"4bvDb9aQXnG9od9GNs7q7","door_coords":{"z":29.51934432983398,"y":-1322.100341796875,"x":170.56533813476566},"pivot_coords":{"z":29.51934623718261,"y":-1322.67724609375,"x":170.26412963867188},"model_hash":-952356348}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1R89-JBTP-9IN3-AFG6"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Pawn Shop","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"UNgpgigIGXylT2pGyDnV4","door_coords":{"z":29.48335647583007,"y":-1318.88134765625,"x":181.79049682617188},"pivot_coords":{"z":29.49818038940429,"y":-1318.3033447265626,"x":182.08827209472657},"model_hash":-2030748569}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"EM2F-7D1J-NTDF-NX6M"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"Pawn Shop","door_name":"Rear Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"l862m16yJnwoxkSfOrAMJ","door_coords":{"z":29.53403091430664,"y":-1307.6036376953126,"x":161.43553161621098},"pivot_coords":{"z":29.53403091430664,"y":-1307.9140625,"x":162.0080108642578},"model_hash":-397082484}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"GV8O-UB0Y-329D-SLNJ"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"Pawn Shop","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Y4wHoepG1kjcjsV3sYwD5","door_coords":{"z":29.50790405273437,"y":-1310.6390380859376,"x":160.580078125},"pivot_coords":{"z":29.50825881958007,"y":-1310.305908203125,"x":160.02169799804688},"model_hash":1655182495}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NQ39-LBPF-PC9P-452Z"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"Pawn Shop","door_name":"Storage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"rgfTLg_RZB832HI8KMNXR","door_coords":{"z":29.50461387634277,"y":-1317.8505859375,"x":164.13343811035157},"pivot_coords":{"z":29.50461387634277,"y":-1318.4263916015626,"x":163.83177185058598},"model_hash":-538477509}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"UQOF-8EUP-4R03-7HN2"}],"name":"[K4MB1]_Pawn_Shop.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Post_OP.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Post_OP.json
new file mode 100644
index 000000000..269c68dc6
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Post_OP.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Post OP","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"6RDEHl-IYgfUb5SWitO2j","door_coords":{"z":32.56305313110351,"y":-1287.9649658203126,"x":-324.8139343261719},"pivot_coords":{"z":32.56305313110351,"y":-1287.9649658203126,"x":-324.8461608886719},"model_hash":-516252681}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2CJX-L6I0-UL9J-5RNI"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Post OP","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Dd4FSAl2kjgnEgv1j7rlc","door_coords":{"z":31.41604614257812,"y":-1295.218017578125,"x":-296.7403564453125},"pivot_coords":{"z":31.41604804992675,"y":-1295.8692626953126,"x":-296.7379150390625},"model_hash":2088680867}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2H28-RX23-KDLW-OBJR"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Post OP","door_name":"Storage Floor","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ZiFDWf-WkYtVj87njD-Yf","door_coords":{"z":31.4078197479248,"y":-1294.90283203125,"x":-304.19232177734377},"pivot_coords":{"z":31.40782165527343,"y":-1295.5540771484376,"x":-304.1907653808594},"model_hash":-1169212838}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2QNR-WK5C-2LQN-Y2FL"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Post OP","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"kOv-vMXwOGU2AxG7g6dRY","door_coords":{"z":31.4078197479248,"y":-1283.8441162109376,"x":-302.6875},"pivot_coords":{"z":31.40782165527343,"y":-1284.495361328125,"x":-302.68505859375},"model_hash":-1169212838}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"M6OE-OUG1-JH93-0T14"}],"name":"[K4MB1]_Post_OP.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Richman_Mansion.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Richman_Mansion.json
new file mode 100644
index 000000000..2b819def4
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Richman_Mansion.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":6,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"TdM8s5ahujrWpo2IJwD30","door_coords":{"z":56.81763076782226,"y":16.25798034667968,"x":-1490.06884765625},"pivot_coords":{"z":56.79005813598633,"y":16.23477554321289,"x":-1490.0684814453126},"model_hash":30769481}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1716-GUV4-ELXB-LYOI"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Bar","door_sound":"door_regular.ogg","door_data":[{"unique_id":"P8iLEQcOuS-8rT3cQQtal","door_coords":{"z":49.27167129516601,"y":41.71899032592773,"x":-1476.2320556640626},"pivot_coords":{"z":49.27167129516601,"y":41.81779861450195,"x":-1475.5897216796876},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"26CB-XUZ5-W903-NRY9"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Basement Bathroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"bXCBrV7MAQJ7J6u65xjnk","door_coords":{"z":49.27177047729492,"y":43.84398651123047,"x":-1464.004150390625},"pivot_coords":{"z":49.27177047729492,"y":43.96680068969726,"x":-1463.365966796875},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2Q66-VIVL-T5HB-DY4Y"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Pool 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"lgYu3CaAPGsb5EWUOsKRs","door_coords":{"z":54.33443832397461,"y":25.56312370300293,"x":-1484.4833984375},"pivot_coords":{"z":54.33443832397461,"y":25.65835189819336,"x":-1485.022705078125},"model_hash":-2013825808},{"unique_id":"tBMgZV1gWUdrviL6vb9cT","door_coords":{"z":54.33443832397461,"y":25.36977577209472,"x":-1483.3963623046876},"pivot_coords":{"z":54.33443832397461,"y":25.27539443969726,"x":-1482.85693359375},"model_hash":-2013825808}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2SGL-NVWJ-7WBB-FWVP"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"L30jZaBE_jktUrqZSA9VX","door_coords":{"z":49.27388381958008,"y":38.92511749267578,"x":-1491.9813232421876},"pivot_coords":{"z":49.27388381958008,"y":39.05078887939453,"x":-1491.34375},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"4UFH-DVPV-E1DY-QB8J"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Wine Cellar","door_sound":"door_regular.ogg","door_data":[{"unique_id":"xmFzN79xhaxODs1_lx3Pk","door_coords":{"z":44.61562728881836,"y":40.85382843017578,"x":-1515.32275390625},"pivot_coords":{"z":44.6156120300293,"y":40.7409782409668,"x":-1515.962890625},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6RTF-ZECC-VR3Q-GDS9"},{"default_state":false,"door_type":"gates","items":[],"door_unlock_sound":"door_switch.ogg","distance":6,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Gate 1","door_sound":"door_switch.ogg","door_data":[{"unique_id":"u58WCG8UD6TnU4UGWT8w1","door_coords":{"z":53.0152702331543,"y":39.46128463745117,"x":-1452.701171875},"pivot_coords":{"z":51.74362564086914,"y":37.03240203857422,"x":-1452.4244384765626},"model_hash":575680671}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8YWH-6N6R-YE1G-59F8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Tools","door_sound":"door_regular.ogg","door_data":[{"unique_id":"kV1wwoIoxc9cYqd-AtErx","door_coords":{"z":44.62371444702148,"y":37.86734771728515,"x":-1514.7703857421876},"pivot_coords":{"z":44.62374877929687,"y":37.74676895141601,"x":-1515.4090576171876},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8ZBJ-A324-N8YG-EFYM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Side Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"jMrfz0A0ybrXfXM9Rz3dS","door_coords":{"z":54.87091827392578,"y":30.1579303741455,"x":-1486.4222412109376},"pivot_coords":{"z":54.87091827392578,"y":30.79743194580078,"x":-1486.306640625},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"C5FZ-84LV-FZME-V2LW"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"hsB6n8E5KJNJ64fYQVhsQ","door_coords":{"z":49.27260208129883,"y":37.17654418945312,"x":-1472.2587890625},"pivot_coords":{"z":49.27260208129883,"y":37.05597686767578,"x":-1472.8973388671876},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DC0M-F1CP-AUVT-71L7"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Toilet","door_sound":"door_regular.ogg","door_data":[{"unique_id":"FBJ42H9mT2vmy90ZLlqwt","door_coords":{"z":57.14146423339844,"y":21.3813304901123,"x":-1459.4854736328126},"pivot_coords":{"z":57.14146423339844,"y":20.73914909362793,"x":-1459.3857421875},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FOKS-OXCI-B8ZW-0V9R"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Bedroom 4","door_sound":"door_regular.ogg","door_data":[{"unique_id":"KJ5Z9E6jnk3fuTGkpHC9w","door_coords":{"z":49.27163314819336,"y":32.73505401611328,"x":-1497.5220947265626},"pivot_coords":{"z":49.27163314819336,"y":32.62898254394531,"x":-1498.1632080078126},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"IBHD-44HI-4O0E-WCRJ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Security","door_sound":"door_regular.ogg","door_data":[{"unique_id":"bjVPn-OanQymkdiMsOChD","door_coords":{"z":44.61082458496094,"y":39.73776626586914,"x":-1521.2037353515626},"pivot_coords":{"z":44.61085891723633,"y":39.63981246948242,"x":-1521.8463134765626},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ICYK-2RK7-M5ZE-DMR6"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Bedroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"4AG3xyWUZVoZhbofE4aqf","door_coords":{"z":57.13718032836914,"y":19.47247314453125,"x":-1461.22802734375},"pivot_coords":{"z":57.13718032836914,"y":19.36178207397461,"x":-1461.868408203125},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"J272-TU3W-27IY-X7DI"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Basement","door_sound":"door_regular.ogg","door_data":[{"unique_id":"1Tdi8rg-fCd_PO1VkIH4w","door_coords":{"z":49.2731704711914,"y":38.47480773925781,"x":-1464.8795166015626},"pivot_coords":{"z":49.2731704711914,"y":38.36751556396484,"x":-1465.5205078125},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"J6UD-E5PK-HA8G-54QY"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Pool 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"h9Nd6LYy4eopcePzYtvUU","door_coords":{"z":53.2664909362793,"y":19.03633880615234,"x":-1464.0826416015626},"pivot_coords":{"z":53.2664909362793,"y":19.57619094848632,"x":-1464.1749267578126},"model_hash":-2013825808},{"unique_id":"r3V_n9n8uJmAzL5Lxwtjj","door_coords":{"z":53.26646041870117,"y":17.94750213623047,"x":-1463.8980712890626},"pivot_coords":{"z":53.26646041870117,"y":17.40750694274902,"x":-1463.806640625},"model_hash":-2013825808}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"MZH0-IOSV-O7U3-S97C"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Pool Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"5rF5qrsITbqBzDP9ugH_i","door_coords":{"z":49.27281188964844,"y":44.86962127685547,"x":-1458.0648193359376},"pivot_coords":{"z":49.27281188964844,"y":45.00652313232422,"x":-1457.4295654296876},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NDAW-CCV3-XSVO-WM1O"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Armory","door_sound":"door_regular.ogg","door_data":[{"unique_id":"vQEUopmy1Pft-hm7bjePu","door_coords":{"z":44.61893844604492,"y":36.76140594482422,"x":-1520.654052734375},"pivot_coords":{"z":44.61895751953125,"y":36.66128540039062,"x":-1521.2962646484376},"model_hash":-626684119}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NSY7-L9UP-5BKB-MWWC"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Pool 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"i7J0dZEjKqLUk-QWzZYD6","door_coords":{"z":54.33443832397461,"y":24.86137771606445,"x":-1480.5216064453126},"pivot_coords":{"z":54.33443832397461,"y":24.76614761352539,"x":-1479.9822998046876},"model_hash":-2013825808},{"unique_id":"SiEZ1-bg0xs5acKifZL4A","door_coords":{"z":54.33443832397461,"y":25.05505180358886,"x":-1481.608642578125},"pivot_coords":{"z":54.33443832397461,"y":25.15027999877929,"x":-1482.14794921875},"model_hash":-2013825808}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"O1GA-QQNH-JSY8-L885"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Conference","door_sound":"door_regular.ogg","door_data":[{"unique_id":"MfI7-hhEOUMXmmvSXWHYo","door_coords":{"z":49.48867797851562,"y":19.38695907592773,"x":-1461.7469482421876},"pivot_coords":{"z":49.48867797851562,"y":19.26698875427246,"x":-1462.3856201171876},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Q1CV-OBSF-02K1-X2UO"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Bedroom 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"NSAZd6Tpqkd4vVSz9tOU7","door_coords":{"z":49.27182006835937,"y":36.43170928955078,"x":-1481.6217041015626},"pivot_coords":{"z":49.27182006835937,"y":36.32331085205078,"x":-1482.262451171875},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QS1J-F9MU-7S8S-6LQS"},{"default_state":false,"door_type":"gates","items":[],"door_unlock_sound":"door_switch.ogg","distance":6,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Gate 2","door_sound":"door_switch.ogg","door_data":[{"unique_id":"PJJxmqbUC-N3R5k0mDN-f","door_coords":{"z":54.53460311889648,"y":46.65753173828125,"x":-1485.5245361328126},"pivot_coords":{"z":53.26295852661133,"y":46.93427276611328,"x":-1483.095703125},"model_hash":575680671}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"R27M-IPVJ-WF64-JTTR"},{"default_state":true,"door_type":"single","items":[],"door_unlock_sound":"electronic_door.ogg","distance":2,"state":true,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Secret","door_sound":"electronic_door.ogg","door_data":[{"unique_id":"iOc7tEk_yNRn8OvXgPJhE","door_coords":{"z":49.60357284545898,"y":42.10409927368164,"x":-1500.6033935546876},"pivot_coords":{"z":49.60354614257812,"y":42.80013656616211,"x":-1500.730224609375},"model_hash":1658075484}],"secret":true,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"SZS4-TKKS-9OKJ-0FQG"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Cinema","door_sound":"door_regular.ogg","door_data":[{"unique_id":"LSbw9YqtiOx-nIqSOERPr","door_coords":{"z":49.27306365966797,"y":32.4626350402832,"x":-1455.55224609375},"pivot_coords":{"z":49.27306365966797,"y":32.34759902954101,"x":-1456.19189453125},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"U3WM-2MRO-302J-7EYN"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"PlaEQGfexfvGIcHLBcT35","door_coords":{"z":55.1544189453125,"y":34.15700531005859,"x":-1467.375732421875},"pivot_coords":{"z":55.1544189453125,"y":34.04630661010742,"x":-1466.7503662109376},"model_hash":-353907534},{"unique_id":"4XMDALEpyQrOgayE9V5jn","door_coords":{"z":55.1544189453125,"y":34.23175811767578,"x":-1467.7977294921876},"pivot_coords":{"z":55.1544189453125,"y":34.34246063232422,"x":-1468.423095703125},"model_hash":1715749669}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"WJRN-2U6N-ZYRX-N4QA"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Gate 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"C5fdunOheG0wKTxBWsTw6","door_coords":{"z":53.36588668823242,"y":49.4769172668457,"x":-1464.7843017578126},"pivot_coords":{"z":52.19598388671875,"y":49.45674133300781,"x":-1465.24609375},"model_hash":-1651929043},{"unique_id":"h1PkidswanNWWqjG2Knz4","door_coords":{"z":53.36588668823242,"y":49.52442169189453,"x":-1463.8651123046876},"pivot_coords":{"z":52.19598388671875,"y":49.55085754394531,"x":-1463.4033203125},"model_hash":-908498968}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"WLT6-NK6Q-HEZN-SUME"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Richman Mansion","door_name":"Basement Toilet","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Wi-1eVqHK0qklmCWbNuAD","door_coords":{"z":49.49208450317383,"y":21.28866004943847,"x":-1460.005615234375},"pivot_coords":{"z":49.49208450317383,"y":20.64603614807129,"x":-1459.9088134765626},"model_hash":736699661}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"YLA1-AWN6-TIUQ-1C10"}],"name":"[K4MB1]_Richman_Mansion.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Rockford_Armory.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Rockford_Armory.json
new file mode 100644
index 000000000..ada744b3a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Rockford_Armory.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Rockford Armory","door_name":"Lounge","door_sound":"door_regular.ogg","door_data":[{"unique_id":"9hPo2p-iefXTdjJGrcfv7","door_coords":{"z":38.360107421875,"y":-254.7522430419922,"x":-643.3847045898438},"pivot_coords":{"z":38.3599853515625,"y":-254.2518310546875,"x":-643.742919921875},"model_hash":1618220699}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8J36-DNZV-WCUK-0J9J"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Rockford Armory","door_name":"Staff","door_sound":"door_regular.ogg","door_data":[{"unique_id":"u-C86royVvgU7ApjTBVDq","door_coords":{"z":38.36012649536133,"y":-245.96986389160157,"x":-649.797119140625},"pivot_coords":{"z":38.3599853515625,"y":-246.4649658203125,"x":-649.4315795898438},"model_hash":1618220699}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OOC2-RV69-FZX2-2EHK"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Rockford Armory","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Q-Nm4rsCB2OpLGo8QLgNU","door_coords":{"z":38.5149917602539,"y":-249.59109497070313,"x":-653.1063842773438},"pivot_coords":{"z":38.51473617553711,"y":-250.0184783935547,"x":-652.6451416015625},"model_hash":1714436685}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"WECJ-DJLP-H8S3-8GC7"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Rockford Armory","door_name":"Storage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"IcECvpOIFkUDR4imHCPVE","door_coords":{"z":38.36013031005859,"y":-254.56985473632813,"x":-646.5479736328125},"pivot_coords":{"z":38.3599853515625,"y":-254.17372131347657,"x":-646.0769653320313},"model_hash":1618220699}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Y1YN-LFI0-SZSL-E14T"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Rockford Armory","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"2eEPkmWq7u9gawk_xTrtR","door_coords":{"z":38.54986190795898,"y":-247.47723388671876,"x":-641.90283203125},"pivot_coords":{"z":38.60930633544922,"y":-247.84877014160157,"x":-641.6196899414063},"model_hash":-383788372},{"unique_id":"Rzi4vRzviDWUizcPJVD8j","door_coords":{"z":38.54980087280273,"y":-246.6515350341797,"x":-642.4758911132813},"pivot_coords":{"z":38.60968780517578,"y":-246.26443481445313,"x":-642.73828125},"model_hash":833907604}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZUXE-4C7W-V6GT-P47H"}],"name":"[K4MB1]_Rockford_Armory.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Storage_Wars.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Storage_Wars.json
new file mode 100644
index 000000000..02855b44a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Storage_Wars.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Storage Wars","door_name":"Garage 4","door_sound":"door_switch.ogg","door_data":[{"unique_id":"aHNPgN9PCRwQVt3p0-l1A","door_coords":{"z":8.04807186126709,"y":-3168.222900390625,"x":1238.7479248046876},"pivot_coords":{"z":8.04807186126709,"y":-3168.222900390625,"x":1238.7479248046876},"model_hash":1320132257}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"065I-CGP8-PJEC-KBAH"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Storage Wars","door_name":"Garage 6","door_sound":"door_switch.ogg","door_data":[{"unique_id":"7S3TlyOyDYs0GnTYpHl9B","door_coords":{"z":9.40430927276611,"y":-3198.3349609375,"x":1219.4764404296876},"pivot_coords":{"z":9.40430927276611,"y":-3198.3349609375,"x":1219.4764404296876},"model_hash":953447147}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1B8Q-GM90-RVMH-OAA1"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Storage Wars","door_name":"Garage 5","door_sound":"door_switch.ogg","door_data":[{"unique_id":"Zwll_R3wzFJTWfMfTsf3w","door_coords":{"z":7.93025159835815,"y":-3173.529052734375,"x":1238.7293701171876},"pivot_coords":{"z":7.93025159835815,"y":-3173.529052734375,"x":1238.7293701171876},"model_hash":1320132257}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"24MK-Y98O-IYYQ-MOZP"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Storage Wars","door_name":"Entrance 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"P9eCTbWmgZ1RCqtG5kMHN","door_coords":{"z":6.28046655654907,"y":-3196.850341796875,"x":1241.66455078125},"pivot_coords":{"z":6.28043794631958,"y":-3197.55224609375,"x":1241.6656494140626},"model_hash":-1448545985}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3T46-N6XN-QOJ8-3X39"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Storage Wars","door_name":"Garage 2","door_sound":"door_switch.ogg","door_data":[{"unique_id":"61JlizfKOSwGO7z1z2VnI","door_coords":{"z":5.60875844955444,"y":-3197.91357421875,"x":1229.98681640625},"pivot_coords":{"z":4.50073814392089,"y":-3197.91357421875,"x":1229.9930419921876},"model_hash":-1065701939}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6HUG-DPTF-4C4X-O5R5"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Storage Wars","door_name":"Garage 3","door_sound":"door_switch.ogg","door_data":[{"unique_id":"yST1kxaXsOVq8Ad2vatwj","door_coords":{"z":8.32231616973877,"y":-3162.644775390625,"x":1238.753662109375},"pivot_coords":{"z":8.32231616973877,"y":-3162.644775390625,"x":1238.753662109375},"model_hash":1320132257}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6OFA-822X-RJS4-JIW7"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Storage Wars","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"k5ebxDd9obXiYPI9X4eUk","door_coords":{"z":10.74210453033447,"y":-3181.84326171875,"x":1216.448974609375},"pivot_coords":{"z":10.74210453033447,"y":-3182.49462890625,"x":1216.4483642578126},"model_hash":-1207991715}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"722O-AX26-T265-KQQO"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Storage Wars","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ft26JDr0wF9zDz_zvi1N6","door_coords":{"z":7.40286779403686,"y":-3180.333984375,"x":1240.1181640625},"pivot_coords":{"z":7.40284442901611,"y":-3180.327392578125,"x":1239.3961181640626},"model_hash":-1074848309}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"LI16-B6V3-HNSG-M74Z"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Storage Wars","door_name":"Garage 1","door_sound":"door_switch.ogg","door_data":[{"unique_id":"TvIqNnRHGzJHeEGPIAL8k","door_coords":{"z":8.58380985260009,"y":-3199.443359375,"x":1234.4764404296876},"pivot_coords":{"z":8.58380985260009,"y":-3199.443359375,"x":1234.4764404296876},"model_hash":953447147}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OLV4-9UBX-O51S-05CW"}],"name":"[K4MB1]_Storage_Wars.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Suburban_Clothing.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Suburban_Clothing.json
new file mode 100644
index 000000000..6fa827df4
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Suburban_Clothing.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Suburban Clothing","door_name":"Staff","door_sound":"door_regular.ogg","door_data":[{"unique_id":"yfeKNdhL1EuB6p1xxTijF","door_coords":{"z":18.65369987487793,"y":-1975.26025390625,"x":138.65969848632813},"pivot_coords":{"z":18.65372848510742,"y":-1974.7291259765626,"x":139.03433227539066},"model_hash":-2023754432}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"68EZ-PJDN-L9RO-2S2U"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Suburban Clothing","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"cPQCBq6WaYLnnk0aENceI","door_coords":{"z":18.65156936645507,"y":-1982.650634765625,"x":140.03257751464845},"pivot_coords":{"z":18.65156936645507,"y":-1982.117919921875,"x":140.40432739257813},"model_hash":-1821777087}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8XW2-3RX2-NKXA-Z2V9"}],"name":"[K4MB1]_Suburban_Clothing.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Traphouse_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Traphouse_1.json
new file mode 100644
index 000000000..b0139053a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Traphouse_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Traphouse 1","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"2z7E9zbqUuwoKoM_S31e-","door_coords":{"z":29.05540084838867,"y":-1813.56982421875,"x":500.1658630371094},"pivot_coords":{"z":28.99714469909668,"y":-1813.166259765625,"x":499.65863037109377},"model_hash":1413743677}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"AYGP-DX1I-H9VO-J1P2"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Traphouse 1","door_name":"Gate","door_sound":"door_regular.ogg","door_data":[{"unique_id":"lYeNvLSU0r2I_NJ7FAMX5","door_coords":{"z":28.67349624633789,"y":-1806.0126953125,"x":500.3449096679688},"pivot_coords":{"z":28.66790390014648,"y":-1806.5936279296876,"x":499.88330078125},"model_hash":200842383},{"unique_id":"XU6gUFHteHIkOq4jKBCn3","door_coords":{"z":28.67459297180175,"y":-1804.698974609375,"x":501.4400634765625},"pivot_coords":{"z":28.66790390014648,"y":-1803.9970703125,"x":502.0355529785156},"model_hash":1476680877}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"IQGR-CS3C-BXUX-ZKRV"}],"name":"[K4MB1]_Traphouse_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Trey_Bakery.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Trey_Bakery.json
new file mode 100644
index 000000000..3d63e6221
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Trey_Bakery.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Trey Bakery","door_name":"Kitchen","door_sound":"door_regular.ogg","door_data":[{"unique_id":"sWZMcxOkPCCFfA5KqGbNq","door_coords":{"z":55.61897277832031,"y":-128.7312469482422,"x":57.91841888427734},"pivot_coords":{"z":55.61897659301758,"y":-128.11138916015626,"x":58.14265060424805},"model_hash":241808886}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3A82-MLXW-DG3U-E1JF"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Trey Bakery","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"YbllZOIaqm1_AK_jt5U6M","door_coords":{"z":55.71370697021484,"y":-134.1634521484375,"x":51.43292999267578},"pivot_coords":{"z":55.71370697021484,"y":-133.94644165039066,"x":50.81050872802734},"model_hash":772096749}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"EAN4-OM61-R8VU-ULZL"}],"name":"[K4MB1]_Trey_Bakery.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vagos.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vagos.json
new file mode 100644
index 000000000..c2ef0c529
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vagos.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E2-2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"jCNCqik1su-vSdRAyUtbw","door_coords":{"z":22.55387496948242,"y":-2018.4449462890626,"x":348.1706237792969},"pivot_coords":{"z":22.55389213562011,"y":-2018.8106689453128,"x":348.6378479003906},"model_hash":-936350476}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"01EG-GO7Z-PVF3-6LL1"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E6-2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"-18JbtpholgmchuPzpEXz","door_coords":{"z":22.54591178894043,"y":-2045.1080322265626,"x":364.7872924804688},"pivot_coords":{"z":22.54589080810547,"y":-2044.724853515625,"x":364.3342895507813},"model_hash":-936350476}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3FAK-6YCL-98GG-2DN8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E6-1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"y6odrBhyezooXigoSbm47","door_coords":{"z":22.54612350463867,"y":-2042.0120849609376,"x":361.10345458984377},"pivot_coords":{"z":22.48786926269531,"y":-2041.64453125,"x":360.6446838378906},"model_hash":648797459}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3NHZ-ZW7Y-ZDWE-X3CG"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E4-2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Su7ugZ0Bcik76YL_0k7eg","door_coords":{"z":22.55389595031738,"y":-2025.440673828125,"x":356.54339599609377},"pivot_coords":{"z":22.55389213562011,"y":-2025.0614013671876,"x":356.0870666503906},"model_hash":-936350476}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3OPW-B8OG-UJPU-JQPH"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E3-2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"omnxdNYTOz48-EvcdTlWf","door_coords":{"z":22.55412673950195,"y":-2022.87158203125,"x":353.4736938476563},"pivot_coords":{"z":22.49587059020996,"y":-2023.2410888671876,"x":353.930908203125},"model_hash":648797459}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"584Z-19RV-12IR-N50V"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E1-3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"2jhIs02Y45nLaNs1aViiR","door_coords":{"z":22.55412673950195,"y":-2011.153564453125,"x":336.1463012695313},"pivot_coords":{"z":22.49587059020996,"y":-2010.6973876953128,"x":336.5170593261719},"model_hash":648797459}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8TKW-M8UF-0WMC-HWFX"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E2-1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Tpey3NrowHTFTeqOLp-vk","door_coords":{"z":22.54590034484863,"y":-2027.4195556640626,"x":343.7090759277344},"pivot_coords":{"z":22.54589080810547,"y":-2027.037353515625,"x":343.2552185058594},"model_hash":-936350476}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"9VFQ-QFLB-IO6F-7JHW"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E4-1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"l7gbkTn_0SUqTExHH32uE","door_coords":{"z":22.54590034484863,"y":-2034.7271728515626,"x":352.4471130371094},"pivot_coords":{"z":22.54589080810547,"y":-2034.3468017578128,"x":351.9916687011719},"model_hash":-936350476}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DP4M-U8QQ-S424-BROS"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E5-2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"AadQQQvQRtZvT9pbMM7jT","door_coords":{"z":22.55391120910644,"y":-2029.8841552734376,"x":361.8345031738281},"pivot_coords":{"z":22.55389213562011,"y":-2029.502685546875,"x":361.3800048828125},"model_hash":-936350476}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"G742-65C4-650D-IDM4"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E6-3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"RSNk0igUUNiTAoIKMlERg","door_coords":{"z":22.55412673950195,"y":-2032.4512939453128,"x":364.8903198242188},"pivot_coords":{"z":22.49587059020996,"y":-2032.82080078125,"x":365.3475341796875},"model_hash":648797459}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JCEG-DDSK-KUM4-6IEX"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E3-1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"fFpRKmiV1ywgrgWX0v8FX","door_coords":{"z":22.5461254119873,"y":-2028.5576171875,"x":345.0667419433594},"pivot_coords":{"z":22.48786926269531,"y":-2028.92578125,"x":345.52508544921877},"model_hash":648797459}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JD8P-G1Z2-O24I-HQFI"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E1-1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"A0QnrtMGVR0Rpednm9RdH","door_coords":{"z":22.54590797424316,"y":-2018.157470703125,"x":332.6769104003906},"pivot_coords":{"z":22.54589080810547,"y":-2017.7781982421876,"x":332.2205505371094},"model_hash":-936350476}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JVPG-QBXS-251O-1MP1"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E1-4","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Q-_1DTi8YaVTj-_yDF82L","door_coords":{"z":22.55412673950195,"y":-2015.882568359375,"x":345.1199340820313},"pivot_coords":{"z":22.49587059020996,"y":-2016.23974609375,"x":345.5869140625},"model_hash":648797459}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PBE0-A8BD-3NRM-YTOY"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E5-1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"sGJAoF19Z0FeFZrui9dL9","door_coords":{"z":22.5461254119873,"y":-2035.884033203125,"x":353.7929992675781},"pivot_coords":{"z":22.48786926269531,"y":-2035.5128173828128,"x":353.337158203125},"model_hash":648797459}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PPWG-E5VV-9SX4-ASGY"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vagos","door_name":"E1-2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"qsk-0XkqSNs6vCOVJVk1d","door_coords":{"z":22.54590225219726,"y":-2021.257080078125,"x":336.371337890625},"pivot_coords":{"z":22.54589080810547,"y":-2020.8780517578128,"x":335.914794921875},"model_hash":-936350476}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"VZ2I-DKRW-VX0A-YKQM"}],"name":"[K4MB1]_Vagos.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vangelico.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vangelico.json
new file mode 100644
index 000000000..6d662d829
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vangelico.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vangelico","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"8gBP7r-VD2aRukrbbKJ4f","door_coords":{"z":41.44906234741211,"y":-61.62491989135742,"x":-453.0364379882813},"pivot_coords":{"z":41.44906234741211,"y":-62.1265640258789,"x":-452.62115478515627},"model_hash":-1366017393}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"9WOK-NTMC-Z4D2-26NB"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vangelico","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"7Z46muGcJJoyiBG-Wdvvm","door_coords":{"z":41.88198089599609,"y":-76.79861450195313,"x":-448.6777648925781},"pivot_coords":{"z":41.44738006591797,"y":-76.39100646972656,"x":-448.1791076660156},"model_hash":517314340},{"unique_id":"7M5GdKJ25AdCgDWUly5we","door_coords":{"z":41.88198089599609,"y":-77.620849609375,"x":-449.6860046386719},"pivot_coords":{"z":41.44738006591797,"y":-78.02726745605469,"x":-450.18560791015627},"model_hash":1118133947}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"KZZ3-ZPGA-90IT-QE3U"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vangelico","door_name":"Staff","door_sound":"door_regular.ogg","door_data":[{"unique_id":"GLWBAS8RPzUPq02s55pjw","door_coords":{"z":41.4467658996582,"y":-67.32249450683594,"x":-448.4260864257813},"pivot_coords":{"z":41.4467658996582,"y":-67.82508850097656,"x":-448.0119323730469},"model_hash":-1366017393}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PI95-YBED-UT8R-9RI5"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vangelico","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"unique_id":"O5SYPFj6zxPw7KBQDY-C2","door_coords":{"z":41.58162689208984,"y":-65.8001708984375,"x":-444.556640625},"pivot_coords":{"z":41.58140182495117,"y":-65.19844055175781,"x":-444.0689697265625},"model_hash":-543262073}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZQVU-ZDOJ-JQJL-KBC7"}],"name":"[K4MB1]_Vangelico.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vankhov.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vankhov.json
new file mode 100644
index 000000000..aededbdd7
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vankhov.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vankhov","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":43.94963455200195,"y":-296.36181640625,"x":-1368.994140625},"unique_id":"ELQsIYQi4f6HmYSMsh-HV","model_hash":305803351}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0BHD-6ETG-FTJ3-MLTG"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vankhov","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":43.9837646484375,"y":-286.7697448730469,"x":-1376.7265625},"unique_id":"0hsWD6kiZoGBf_hAvY_dG","model_hash":-215434984},{"door_coords":{"z":43.9837532043457,"y":-286.0119323730469,"x":-1375.8653564453126},"unique_id":"YuN-UHhDqwhAU3CJca7yX","model_hash":-521169754}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JVET-A9S7-WF1H-PWBA"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vankhov","door_name":"Vault","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":44.08970260620117,"y":-303.6054382324219,"x":-1369.2264404296876},"unique_id":"E40L7LxFmDhtbgD2Vk0kn","model_hash":-65204795}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"O83M-ZMU0-PX2J-K6U8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vankhov","door_name":"Vault Room","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":43.94963455200195,"y":-299.7823181152344,"x":-1370.8985595703126},"unique_id":"fLSeqn8-ngjhNSxUvqRc6","model_hash":305803351}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"YN6C-RAL0-J6HA-M9JR"}],"name":"[K4MB1]_Vankhov.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Villa_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Villa_1.json
new file mode 100644
index 000000000..568b333eb
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Villa_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Villa 1","door_name":"Bedroom 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"wRsB2DNTTHKrs9vgbslIu","door_coords":{"z":202.9400634765625,"y":803.339111328125,"x":-820.0322265625},"pivot_coords":{"z":202.9400634765625,"y":803.2421875,"x":-820.3174438476563},"model_hash":-238568767}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2BW6-1G5O-GH0P-W83Y"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Villa 1","door_name":"Pool","door_sound":"door_regular.ogg","door_data":[{"unique_id":"XmZ6eILXRzGWb2AdIUtIN","door_coords":{"z":202.99908447265626,"y":796.9843139648438,"x":-819.1333618164063},"pivot_coords":{"z":203.07406616210936,"y":796.877197265625,"x":-819.4147338867188},"model_hash":-941267167}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"4ZWV-AFFN-UJC9-43OE"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Villa 1","door_name":"Pool to Garage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"f-lFCYKRcDhKQxnTLXU_B","door_coords":{"z":202.63287353515626,"y":792.3445434570313,"x":-806.6510009765625},"pivot_coords":{"z":202.61363220214845,"y":792.4600219726563,"x":-806.3235473632813},"model_hash":-1424511610}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8TRM-LLYX-I1X1-Z5VN"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Villa 1","door_name":"Toilet","door_sound":"door_regular.ogg","door_data":[{"unique_id":"RZVK24qSAbUXEFklwXJ0L","door_coords":{"z":202.94007873535157,"y":801.8150634765625,"x":-817.1181640625},"pivot_coords":{"z":202.94007873535157,"y":801.9144897460938,"x":-816.8338012695313},"model_hash":-238568767}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FOPY-S1PR-LADZ-XNCN"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Villa 1","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"QwE6v9Il7tFrQ6aMtMLir","door_coords":{"z":202.99908447265626,"y":805.5948486328125,"x":-823.5267944335938},"pivot_coords":{"z":203.07406616210936,"y":805.7019653320313,"x":-823.2454223632813},"model_hash":-941267167}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"HXRV-QILT-SNZO-P2WV"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":6,"state":false,"keep_open":false,"camera":false,"location_group":"Villa 1","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"6Uz2PUN2tQCThv-Ae8eyP","door_coords":{"z":204.0954132080078,"y":802.3078002929688,"x":-809.6915893554688},"pivot_coords":{"z":204.0954132080078,"y":802.3078002929688,"x":-809.6915893554688},"model_hash":-1078420175}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NJ6F-GJ1C-95NL-S357"}],"name":"[K4MB1]_Villa_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Art_Gallery.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Art_Gallery.json
new file mode 100644
index 000000000..71319ca69
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Art_Gallery.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Art Gallery","door_name":"Jewelry Gate 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Uha5U_6FHp4W1TKJNxOIr","door_coords":{"z":93.9189910888672,"y":145.1746063232422,"x":36.85932159423828},"pivot_coords":{"z":93.91934967041016,"y":144.9566192626953,"x":37.47180938720703},"model_hash":-1508355822}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"5MZU-Y6PK-E0GG-2BHF"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Art Gallery","door_name":"Vault Egg","door_sound":"door_regular.ogg","door_data":[{"unique_id":"zrBdEX3EeBKWKsLik_12G","door_coords":{"z":93.98260498046877,"y":138.03079223632813,"x":14.43553161621093},"pivot_coords":{"z":93.98163604736328,"y":138.71995544433598,"x":14.76238632202148},"model_hash":-660779536}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NER8-6D6U-MORS-W22V"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Art Gallery","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ypka7qUY_bOTRkQYysfo1","door_coords":{"z":93.9403076171875,"y":149.52529907226566,"x":11.70565891265869},"pivot_coords":{"z":93.91223907470705,"y":150.13739013671876,"x":11.93742942810058},"model_hash":110411286},{"unique_id":"-6mK3AaFL-lcqUiqOP8SM","door_coords":{"z":93.9403076171875,"y":148.30966186523438,"x":11.26776504516601},"pivot_coords":{"z":93.91223907470705,"y":147.6955108642578,"x":11.04153728485107},"model_hash":110411286}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OD3A-PFRO-630X-Q5PD"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Art Gallery","door_name":"Lobby","door_sound":"door_regular.ogg","door_data":[{"unique_id":"93m2QH3obuhoPpm0_oXui","door_coords":{"z":93.95035552978516,"y":147.2499542236328,"x":17.86995506286621},"pivot_coords":{"z":92.79508972167968,"y":147.85861206054688,"x":18.09394264221191},"model_hash":-1726883306},{"unique_id":"nzMQkz18O2pcWrHRz7pPy","door_coords":{"z":93.95150756835938,"y":146.011962890625,"x":17.41670989990234},"pivot_coords":{"z":92.7962417602539,"y":145.40330505371098,"x":17.19272232055664},"model_hash":-1726883306}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"P9LR-PNJD-R8Z3-ZC4I"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Art Gallery","door_name":"Jewelry Gate 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"3Wiz6pRI_Z2C3bC4HyoXF","door_coords":{"z":93.94245147705078,"y":135.2821044921875,"x":33.21952056884765},"pivot_coords":{"z":93.94281005859377,"y":135.0608673095703,"x":33.83084106445312},"model_hash":-1508355822}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"POFC-DESW-UML6-AGF8"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Art Gallery","door_name":"Security","door_sound":"door_regular.ogg","door_data":[{"unique_id":"MqzRykdi6HgCVGxWVnHZS","door_coords":{"z":93.9384994506836,"y":155.90980529785157,"x":20.99809837341308},"pivot_coords":{"z":93.91043090820313,"y":156.52218627929688,"x":21.22908401489257},"model_hash":110411286},{"unique_id":"zgdarAg7hIS2M_93aPaN2","door_coords":{"z":93.9442901611328,"y":154.69668579101566,"x":20.55831527709961},"pivot_coords":{"z":93.91622161865236,"y":154.08041381835938,"x":20.33793067932129},"model_hash":110411286}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Z0IL-S8O9-CKD7-1Z8I"}],"name":"[K4MB1]_Vinewood_Art_Gallery.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_1.json
new file mode 100644
index 000000000..c63bceca9
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 1","door_name":"Bedroom 2 Balcony","door_sound":"door_regular.ogg","door_data":[{"unique_id":"O4suzpSeQaPckm7dhjGGL","door_coords":{"z":105.42150115966796,"y":548.4986572265625,"x":-954.9017333984376},"pivot_coords":{"z":105.42150115966796,"y":548.3311767578125,"x":-954.418212890625},"model_hash":-1421843244}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"68OK-H1X3-VXDS-SVB9"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 1","door_name":"Balcony","door_sound":"door_regular.ogg","door_data":[{"unique_id":"KoApzYKSqugEX4lic53f-","door_coords":{"z":102.02757263183594,"y":550.4319458007813,"x":-960.4835815429688},"pivot_coords":{"z":102.02757263183594,"y":550.2644653320313,"x":-960.0000610351564},"model_hash":-1421843244}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"GWEB-KMPK-MA03-93ZE"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 1","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"_0xbd2Ob0GMs66PodoOQg","door_coords":{"z":105.2480239868164,"y":557.6964111328125,"x":-951.499267578125},"pivot_coords":{"z":105.26311492919922,"y":557.4966430664063,"x":-950.9269409179688},"model_hash":-338329679}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"H4YR-N713-HVGX-8E0C"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 1","door_name":"Bedroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"iqe975JWW0alcJq_NVYi0","door_coords":{"z":105.24803161621094,"y":567.3160400390625,"x":-947.4116821289064},"pivot_coords":{"z":105.26311492919922,"y":567.114990234375,"x":-946.83984375},"model_hash":-338329679}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QAZB-157U-Z165-VJRX"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 1","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"AyMJYeaJ7KrVitbn3CtKL","door_coords":{"z":101.86022186279296,"y":567.309814453125,"x":-947.9686279296876},"pivot_coords":{"z":101.87530517578124,"y":567.1114501953125,"x":-947.3958129882813},"model_hash":285523274}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"VIPS-KMYI-RSS5-2GDU"}],"name":"[K4MB1]_Vinewood_House_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_2.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_2.json
new file mode 100644
index 000000000..e31b6e33a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_2.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"Pool","door_sound":"door_regular.ogg","door_data":[{"unique_id":"42HqRUtbzdnWzSodlt4Y5","door_coords":{"z":185.94378662109376,"y":575.3131713867188,"x":-231.8305816650391},"pivot_coords":{"z":185.94378662109376,"y":575.3373413085938,"x":-232.394760131836},"model_hash":-781860213},{"unique_id":"5Rjaj6JeZERK0_r_pTndO","door_coords":{"z":185.94378662109376,"y":575.2687377929688,"x":-230.70413208007813},"pivot_coords":{"z":185.94378662109376,"y":575.2450561523438,"x":-230.1399383544922},"model_hash":-781860213}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0SF7-O75D-P2SK-J4I5"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"Kitchen","door_sound":"door_regular.ogg","door_data":[{"unique_id":"x4rnFzv5qAai5guh2OKy4","door_coords":{"z":190.66616821289066,"y":585.0929565429688,"x":-234.50469970703129},"pivot_coords":{"z":190.66587829589845,"y":585.7431030273438,"x":-234.4935302734375},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"41EI-CWXB-WJKB-JBCJ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Kmvi3viabUHV42RnStPmb","door_coords":{"z":185.79624938964845,"y":587.1351318359375,"x":-227.049057006836},"pivot_coords":{"z":185.79595947265626,"y":586.4865112304688,"x":-227.0952606201172},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"559Q-OLOQ-KR71-CTED"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"Living Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"V9QkuXwds8tNpXb_MB6ki","door_coords":{"z":185.7950439453125,"y":586.1987915039063,"x":-236.88563537597657},"pivot_coords":{"z":185.79473876953129,"y":586.1533203125,"x":-236.23696899414066},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"7ZB9-FD7B-A8JH-FMEA"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"Balcony","door_sound":"door_regular.ogg","door_data":[{"unique_id":"y9y6QBctfcDsW-jRaEsJw","door_coords":{"z":190.3031463623047,"y":575.8079223632813,"x":-230.6966552734375},"pivot_coords":{"z":190.3031463623047,"y":575.782958984375,"x":-230.13250732421876},"model_hash":-781860213},{"unique_id":"LGeDdn4kDZN36VY40n30M","door_coords":{"z":190.3031463623047,"y":575.850830078125,"x":-231.8188934326172},"pivot_coords":{"z":190.3031463623047,"y":575.8726806640625,"x":-232.38316345214845},"model_hash":-781860213}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"954J-ANG1-XG7F-QS4O"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"ZcVWjFhN86ikUkufPO4mJ","door_coords":{"z":190.5877685546875,"y":588.7289428710938,"x":-224.8147430419922},"pivot_coords":{"z":190.58775329589845,"y":588.7288818359375,"x":-224.8147430419922},"model_hash":2052512905}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"F13W-VIC6-J1XS-6ZEL"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"AVT8HoSqRzTLqaA5LAdYl","door_coords":{"z":190.9248504638672,"y":587.672607421875,"x":-232.68780517578129},"pivot_coords":{"z":190.6876678466797,"y":587.6944580078125,"x":-233.3201446533203},"model_hash":460965037}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"INXX-0J7I-UTJT-UTZ4"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"Bedroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"8slNEvwHqJMm3gEj_L3zB","door_coords":{"z":185.7962646484375,"y":576.8427734375,"x":-227.5191192626953},"pivot_coords":{"z":185.79595947265626,"y":576.1943359375,"x":-227.56817626953129},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"KHSV-IWQ0-RLXT-FTPE"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"Downstairs to Kitchen","door_sound":"door_regular.ogg","door_data":[{"unique_id":"fEKM9ho__5fi0dZ_r3QeW","door_coords":{"z":185.79705810546876,"y":587.552734375,"x":-234.50881958007813},"pivot_coords":{"z":185.7967529296875,"y":588.202880859375,"x":-234.4960174560547},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"MKQY-QZW3-2WHB-TJ2B"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"House to Garage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"WJCYxDa_IL3WIjSaZIKZt","door_coords":{"z":190.18734741210936,"y":582.5667114257813,"x":-229.20584106445313},"pivot_coords":{"z":190.1870269775391,"y":582.5353393554688,"x":-228.55633544921876},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"VI9U-U9G4-NUBO-47QY"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 2","door_name":"Bathroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"opTuE-z6dgwTcoxiDtK6Z","door_coords":{"z":185.80088806152345,"y":589.1087036132813,"x":-232.0582733154297},"pivot_coords":{"z":185.8005828857422,"y":589.1307983398438,"x":-232.70816040039066},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"WN9D-2MWF-L9ER-5VW5"}],"name":"[K4MB1]_Vinewood_House_2.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_3.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_3.json
new file mode 100644
index 000000000..173675fe1
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_3.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"FxEJO7ARP6xzUU8pKIrZO","door_coords":{"z":180.9110107421875,"y":552.89013671875,"x":48.06864166259765},"pivot_coords":{"z":180.673828125,"y":552.6522216796875,"x":47.48236083984375},"model_hash":-1022980097}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"5C23-6I6A-RVZ8-VDRX"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"Pool","door_sound":"door_regular.ogg","door_data":[{"unique_id":"y_FiS291NZQh8qNUkHvZa","door_coords":{"z":175.9299468994141,"y":541.9891357421875,"x":53.94873809814453},"pivot_coords":{"z":175.9299468994141,"y":541.7783203125,"x":53.42486953735351},"model_hash":861227933},{"unique_id":"2STeLaDqikhCju9kBCltW","door_coords":{"z":175.9299468994141,"y":542.4134521484375,"x":54.99312973022461},"pivot_coords":{"z":175.9299468994141,"y":542.624755859375,"x":55.51681518554687},"model_hash":861227933}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6OGQ-P2WZ-6TWL-G7ZY"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"Bedroom 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"UgsQx0WUp-DZGUzXx_ZKE","door_coords":{"z":175.78244018554688,"y":545.15234375,"x":57.2206916809082},"pivot_coords":{"z":175.78211975097657,"y":544.55078125,"x":57.46760940551758},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"770F-6GIN-ZM4J-VOI3"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"Under Bathroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ps9vQpW91OI21_47kFTSm","door_coords":{"z":175.7870635986328,"y":554.455810546875,"x":48.05030822753906},"pivot_coords":{"z":175.7867431640625,"y":554.2130737304688,"x":47.44704818725586},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"9MX8-3KFD-TDIQ-CDO3"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"Under to Kitchen","door_sound":"door_regular.ogg","door_data":[{"unique_id":"-du8BSRaNL9dUHEUxILhH","door_coords":{"z":175.78323364257813,"y":552.0316162109375,"x":46.45601654052734},"pivot_coords":{"z":175.7829132080078,"y":552.6300048828125,"x":46.20146942138672},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DY4S-SYRV-7DOT-F8YH"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"House to Garage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"9O6YB4xCBHSAUkTytJ4Lw","door_coords":{"z":180.17349243164066,"y":549.6856079101563,"x":53.34367752075195},"pivot_coords":{"z":180.17318725585936,"y":549.9188232421875,"x":53.95068359375},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DZED-A3N3-1SZZ-JU63"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"H2w5SdmGh6Gle9oshFsPM","door_coords":{"z":181.66387939453129,"y":556.389892578125,"x":55.09847259521484},"pivot_coords":{"z":181.6638336181641,"y":556.389892578125,"x":55.09847259521484},"model_hash":2052512905}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"IJBW-BNFR-TBW0-BC9C"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ZqEyelBhE7RdaxtzlFiLE","door_coords":{"z":175.78244018554688,"y":554.7266845703125,"x":53.41474151611328},"pivot_coords":{"z":175.78211975097657,"y":554.120849609375,"x":53.65094757080078},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QOS2-UNJP-NKPO-E2SM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"Under Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"apRMr8hTgte-mobRX-LYb","door_coords":{"z":175.78121948242188,"y":549.8012084960938,"x":44.85856246948242},"pivot_coords":{"z":175.78089904785157,"y":550.0447387695313,"x":45.46150588989258},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"UOSB-P08T-05W8-XN82"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"Balcony","door_sound":"door_regular.ogg","door_data":[{"unique_id":"eqV6G6Ut1AyMmzMXPz5ir","door_coords":{"z":180.289306640625,"y":542.906005859375,"x":54.77813339233398},"pivot_coords":{"z":180.289306640625,"y":543.1177978515625,"x":55.30159759521484},"model_hash":861227933},{"unique_id":"L6smuuseDB6alEUTwlEuo","door_coords":{"z":180.289306640625,"y":542.482177734375,"x":53.73811721801758},"pivot_coords":{"z":180.289306640625,"y":542.270751953125,"x":53.21450424194336},"model_hash":861227933}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"YEVF-Q034-WZ6T-W6L3"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 3","door_name":"Kitchen","door_sound":"door_regular.ogg","door_data":[{"unique_id":"o_HGmtY00sxkl6oXzEeAa","door_coords":{"z":180.6523590087891,"y":549.7882080078125,"x":47.46402740478515},"pivot_coords":{"z":180.65203857421876,"y":550.3905029296875,"x":47.21885299682617},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Z0EK-1XLQ-97EA-6B8N"}],"name":"[K4MB1]_Vinewood_House_3.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_4.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_4.json
new file mode 100644
index 000000000..5c8eacec3
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_House_4.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Pool","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.6402359008789,"y":515.7679443359375,"x":-1276.1759033203126},"unique_id":"CNRAnn95KXZAUrco1pJsN","model_hash":-641883751}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"500O-6OU6-109H-LMOU"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Bedroom 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":98.04557037353516,"y":501.0487060546875,"x":-1278.683349609375},"unique_id":"LJMkmAR10dFQXntOfy6FR","model_hash":125762843}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"7RXU-L6IQ-5SF0-EFLT"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Entrance Gate","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":95.28987121582033,"y":486.2979431152344,"x":-1254.197998046875},"unique_id":"QjaCRCmRet0R44vrlEpr6","model_hash":-1918480350},{"door_coords":{"z":95.34617614746094,"y":489.0171813964844,"x":-1254.128173828125},"unique_id":"157lPPBwDT-VcV6hGaLGz","model_hash":-349730013}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"7ZWA-24GD-RUZ4-KBFS"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Bedroom 1 Shower","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":98.04557037353516,"y":510.32373046875,"x":-1276.3984375},"unique_id":"z0lpmva0LiVHb2FDRY8mg","model_hash":125762843}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8OFX-9UEW-9LJT-VNQM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Bedroom 3","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.74974822998049,"y":516.8930053710938,"x":-1288.1949462890626},"unique_id":"oTAOUf0rOc9z4tcdHz_mT","model_hash":-641883751}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"AIJY-713I-8UVB-1SS6"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"House To Garage","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.64029693603516,"y":514.2457275390625,"x":-1274.57177734375},"unique_id":"eYdTvNpSkHhQotDwalbe9","model_hash":125762843}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"AUBY-PNYF-13TX-X9IP"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Rear Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.77391815185549,"y":501.4033508300781,"x":-1288.4329833984376},"unique_id":"L8oBy9bYKODBykXX9ha3Q","model_hash":-1243292873},{"door_coords":{"z":97.77391815185549,"y":500.1533508300781,"x":-1288.4639892578126},"unique_id":"LaKqveTT4tMYAXNhlVHAR","model_hash":-1701534569}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"HZ9I-00TX-STMR-WNN5"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Garage 2","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":99.21197509765624,"y":513.5411987304688,"x":-1265.948486328125},"unique_id":"4-AfzygKa892nGK_eI5wl","model_hash":439091756}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"LLRH-JZJG-6T7E-YI5A"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Laundry","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.75001525878906,"y":518.1389770507813,"x":-1285.8194580078126},"unique_id":"rpGBMVfAS1nZy5ZrpHcPb","model_hash":-641883751}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"MDDO-S3UX-W3GN-E8SZ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.74977111816406,"y":514.273681640625,"x":-1288.257080078125},"unique_id":"G-wIvue-vGEYPtfkF_ZjJ","model_hash":125762843}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OHP0-NB1G-PFVU-1ADN"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":98.10652923583985,"y":497.1087341308594,"x":-1278.4537353515626},"unique_id":"xscWHc5bxlQY_jFi4cm6J","model_hash":-936476726}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PO1Y-EB1Y-WQAL-PZ6E"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Garage 1","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":99.21202850341796,"y":513.6151123046875,"x":-1270.661376953125},"unique_id":"bD0TpYmVSrD_qihgDUSxW","model_hash":439091756}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QJNW-7HC0-PK4P-XPAS"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Bedroom 1 Dresser","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":98.04557037353516,"y":510.3590087890625,"x":-1279.27197265625},"unique_id":"-IBfEdIK25vcHAGoHzih8","model_hash":-641883751}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QY1J-TEV7-F42K-IACF"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Office 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.74974822998049,"y":487.1777648925781,"x":-1282.1922607421876},"unique_id":"I03LfxxaA9OTnzCBv_9UJ","model_hash":125762843}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"SDKV-O9Q4-6WMW-CRYC"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.74974822998049,"y":493.2188415527344,"x":-1284.1231689453126},"unique_id":"d808DfCWKcE3IbAJB7sdp","model_hash":125762843}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Y3YH-Q39Y-N2GB-G1S0"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood House 4","door_name":"Jacuzzi","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":97.74974822998049,"y":509.8239440917969,"x":-1283.8582763671876},"unique_id":"p_2wUn9JrFuOf4yLTXmY_","model_hash":125762843}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Z65Y-0YT4-JZZ8-40VF"}],"name":"[K4MB1]_Vinewood_House_4.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_1.json
new file mode 100644
index 000000000..2b1d9c378
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"fxvi8CNIBduigATl_mC4y","door_coords":{"z":239.1496124267578,"y":897.3207397460938,"x":-146.9768218994141},"pivot_coords":{"z":239.14930725097657,"y":896.862548828125,"x":-147.4382476806641},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0D2H-SPYW-KHD5-DDEM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Studio","door_sound":"door_regular.ogg","door_data":[{"unique_id":"1CAi-9cYIzlO4VMdfyO0j","door_coords":{"z":237.28521728515626,"y":897.856201171875,"x":-160.16827392578126},"pivot_coords":{"z":237.284896850586,"y":897.4031372070313,"x":-159.7018280029297},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"46VD-SLQE-TZCE-KVE7"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Bedroom 1 Balcony","door_sound":"door_regular.ogg","door_data":[{"unique_id":"wBCQWLYg3ebvPtLxMco-4","door_coords":{"z":240.2529754638672,"y":926.3723754882813,"x":-165.0940399169922},"pivot_coords":{"z":240.2529754638672,"y":926.7701416015624,"x":-165.4896697998047},"model_hash":-1574510328},{"unique_id":"reeGXU53nefrcCrTn7RID","door_coords":{"z":240.2529754638672,"y":925.5734252929688,"x":-164.29275512695313},"pivot_coords":{"z":240.2529754638672,"y":925.1753540039064,"x":-163.8974761962891},"model_hash":-1574510328}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"4KH3-6BSL-VTHV-3I77"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"zLkmRqVTw3uTRXkbR_3k3","door_coords":{"z":236.0588531494141,"y":910.30615234375,"x":-151.43052673339845},"pivot_coords":{"z":235.82167053222657,"y":910.7518310546876,"x":-150.9813995361328},"model_hash":-1742794577}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8M2A-8LE0-Y1E1-R8VV"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Pool","door_sound":"door_regular.ogg","door_data":[{"unique_id":"7dQreUYfTpLVhlzW2Zd68","door_coords":{"z":233.785888671875,"y":891.6964721679688,"x":-162.19143676757813},"pivot_coords":{"z":233.785888671875,"y":891.2984008789063,"x":-161.7961578369141},"model_hash":-1574510328},{"unique_id":"Ex4NodR8MTl3hvRg3k2NW","door_coords":{"z":233.785888671875,"y":892.4954223632813,"x":-162.9927520751953},"pivot_coords":{"z":233.785888671875,"y":892.8931884765625,"x":-163.3883819580078},"model_hash":-1574510328}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"AIZ6-QWTK-CKL9-N0CV"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"House to Garage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"WtewoeNzkn4JUaCg2tFZG","door_coords":{"z":235.81732177734376,"y":901.8643188476564,"x":-142.95547485351566},"pivot_coords":{"z":235.8170166015625,"y":902.3226318359376,"x":-142.4941864013672},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"BD3N-UALN-TLOZ-G8BE"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Balcony","door_sound":"door_regular.ogg","door_data":[{"unique_id":"CuVW_637PbFw5WN3HU9FK","door_coords":{"z":237.4548492431641,"y":891.6954345703125,"x":-162.1925048828125},"pivot_coords":{"z":237.4548492431641,"y":891.2984008789063,"x":-161.7961578369141},"model_hash":-1574510328},{"unique_id":"15n1TQdPeIRZJbfdCFE-D","door_coords":{"z":237.4548492431641,"y":892.4955444335938,"x":-162.99261474609376},"pivot_coords":{"z":237.4548492431641,"y":892.8931884765625,"x":-163.3883819580078},"model_hash":-1574510328}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"BNW1-BXQH-FRO4-EBGJ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"McCxDJu9AbgSXk_FVIO-g","door_coords":{"z":233.64291381835936,"y":890.7798461914063,"x":-152.74737548828126},"pivot_coords":{"z":233.64260864257813,"y":890.3212890625,"x":-153.2084197998047},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"BU49-F9AI-D0N5-WQVU"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Gate","door_sound":"door_switch.ogg","door_data":[{"unique_id":"5nZsa3_CXk-eBbfYl4i3O","door_coords":{"z":236.76702880859376,"y":899.445556640625,"x":-124.11338806152344},"pivot_coords":{"z":235.97833251953129,"y":898.0499267578125,"x":-123.90235900878906},"model_hash":-349730013},{"unique_id":"QLe5LOMsTW3KDAg0Nfgld","door_coords":{"z":236.7155914306641,"y":902.144287109375,"x":-124.51029205322266},"pivot_coords":{"z":235.97833251953129,"y":903.4880981445313,"x":-124.70216369628906},"model_hash":-1918480350}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"KRF2-C7VR-DP35-9HIT"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Gym","door_sound":"door_regular.ogg","door_data":[{"unique_id":"nka91S112H5e7iA5MBHYg","door_coords":{"z":233.02740478515626,"y":867.2244873046875,"x":-139.9888458251953},"pivot_coords":{"z":233.02740478515626,"y":867.5337524414063,"x":-140.4569091796875},"model_hash":-794121790},{"unique_id":"XzL9umPyt8jeu1Sz5ChGD","door_coords":{"z":233.02740478515626,"y":866.604248046875,"x":-139.0391845703125},"pivot_coords":{"z":233.02740478515626,"y":866.2949829101563,"x":-138.5711212158203},"model_hash":-794121790}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"SXSA-OJCN-BI23-COTS"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"mvBpAR_Z7V1dAdykUxk-D","door_coords":{"z":237.29356384277345,"y":899.2811279296875,"x":-139.8009490966797},"pivot_coords":{"z":237.29356384277345,"y":899.2811279296875,"x":-139.8009490966797},"model_hash":-814884484}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"TFPA-9UHQ-QX7X-FI24"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Kitchen","door_sound":"door_regular.ogg","door_data":[{"unique_id":"GywhmE9NV9ZYDj6ehr_Wq","door_coords":{"z":233.6307830810547,"y":909.3450317382813,"x":-170.99085998535157},"pivot_coords":{"z":233.63047790527345,"y":908.8910522460938,"x":-171.45639038085938},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"TJBA-ARPW-HK7V-5WH5"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Armory","door_sound":"door_regular.ogg","door_data":[{"unique_id":"-I7d3TSokfvJ4Ww85Fc3v","door_coords":{"z":232.92918395996098,"y":867.4351196289063,"x":-130.00633239746098},"pivot_coords":{"z":232.92918395996098,"y":866.8861083984375,"x":-130.35533142089845},"model_hash":2040120023}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"XGLX-ZUMB-MDCD-NBCL"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Bathroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"uIWwyShUPB33Y5i62j2Q8","door_coords":{"z":237.284423828125,"y":908.9395141601564,"x":-166.84234619140626},"pivot_coords":{"z":237.2841033935547,"y":908.492431640625,"x":-166.3701934814453},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"XMWT-GZL5-GAIF-U31W"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 1","door_name":"Bedroom 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"FeYdYEewJAQMx8oGJRZ6f","door_coords":{"z":240.03146362304688,"y":920.9595336914064,"x":-174.8761444091797},"pivot_coords":{"z":240.03115844726569,"y":920.4930419921876,"x":-174.42312622070313},"model_hash":-711771128}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"YEH0-QBER-EINY-MF1A"}],"name":"[K4MB1]_Vinewood_Mansion_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_2.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_2.json
new file mode 100644
index 000000000..6113feb9d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_2.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Service Gate","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":223.8286590576172,"y":1024.1856689453126,"x":-18.17491149902343},"unique_id":"sotyPqYlyXjv3Dx_2SQNT","model_hash":1125593254}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"identifier":[],"ace":[]},"unique_id":"02UK-NHKG-JAX6-3EP8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Gym","door_sound":"door_regular.ogg","door_data":[{"unique_id":"uPNHLZMxMrzlTiNNqxdmZ","door_coords":{"z":227.90414428710936,"y":833.744873046875,"x":-79.7215347290039},"pivot_coords":{"z":227.90414428710936,"y":833.852294921875,"x":-79.11288452148438},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0EPO-U9U9-UU0E-IJ0N"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Cinema","door_sound":"door_regular.ogg","door_data":[{"unique_id":"M2rxQROkmlZdhi5i8EM_d","door_coords":{"z":227.90530395507813,"y":840.3359985351563,"x":-69.29338836669922},"pivot_coords":{"z":227.90530395507813,"y":840.2238159179688,"x":-69.90116882324219},"model_hash":-56094733}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"12GA-RF97-E1F7-F8FA"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Secret Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":227.91989135742188,"y":834.3302001953125,"x":-97.571044921875},"unique_id":"ftbZHU1B663XrP3ggqCjB","model_hash":231693434},{"door_coords":{"z":227.92111206054688,"y":834.44287109375,"x":-96.93099975585938},"unique_id":"DLop6LLZS_0ZJa-gtCdxD","model_hash":470612213}],"secret":true,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"identifier":[],"ace":[]},"unique_id":"26TZ-DCGX-14PS-FTE4"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Bedroom 1","door_sound":"door_regular.ogg","door_data":[{"unique_id":"xyfbHLjI9d_QvU5ga5Vm7","door_coords":{"z":235.867431640625,"y":835.6155395507813,"x":-59.84154510498047},"pivot_coords":{"z":235.867416381836,"y":836.0503540039063,"x":-59.4023208618164},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"4K0T-MX2M-HMFB-ZFGD"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"qN2yvgRetvnxKUDQlWvSq","door_coords":{"z":235.86740112304688,"y":838.1273803710938,"x":-57.33658981323242},"pivot_coords":{"z":235.867416381836,"y":838.5587158203125,"x":-56.89396286010742},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"54BJ-SRWR-LZC3-534Y"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Offices","door_sound":"door_regular.ogg","door_data":[{"unique_id":"IOGNzPGAnhkWMS4oRZBv5","door_coords":{"z":231.48617553710936,"y":833.744384765625,"x":-79.72647094726563},"pivot_coords":{"z":231.48617553710936,"y":833.8507080078125,"x":-79.11763763427735},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"5ZM4-HHU1-8I37-IL19"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Large Conference","door_sound":"door_regular.ogg","door_data":[{"unique_id":"WDdVtAnL6uY6tuBHLp8gr","door_coords":{"z":231.48617553710936,"y":831.1096801757813,"x":-94.56986236572266},"pivot_coords":{"z":231.48617553710936,"y":831.2326049804688,"x":-93.9641571044922},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6GNC-GSNB-0J74-H6NM"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Gate","door_sound":"door_switch.ogg","door_data":[{"unique_id":"9EuKF5YgCUO4pmB8SsHBA","door_coords":{"z":236.0028533935547,"y":849.5669555664063,"x":-103.44186401367188},"pivot_coords":{"z":235.82801818847657,"y":849.0048828125,"x":-102.19396209716796},"model_hash":546378757},{"unique_id":"Z2jRisJTih876azS2vdFu","door_coords":{"z":236.0028533935547,"y":850.7107543945313,"x":-105.9502410888672},"pivot_coords":{"z":235.82801818847657,"y":851.283203125,"x":-107.19341278076172},"model_hash":-1249591818}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6R4A-IN7J-4156-VJO8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Bathroom 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Kn2AMu4wdtlw_LwEkwQS_","door_coords":{"z":231.4861602783203,"y":833.0628662109375,"x":-96.95960235595705},"pivot_coords":{"z":231.48617553710936,"y":832.4569702148438,"x":-96.83761596679688},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"74VJ-PH08-P55Z-8ZQN"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Shooting Range","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":223.7063446044922,"y":847.9451293945313,"x":-73.77477264404297},"unique_id":"5awsmL57LmB2KbzhHTl2a","model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8SZ1-O4UT-NDVJ-9GRB"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"gate.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Vault","door_sound":"gate.ogg","door_data":[{"unique_id":"vwLSgrn3Niw7c7bpHUg-F","door_coords":{"z":224.13711547851569,"y":829.7582397460938,"x":-72.99842834472656},"pivot_coords":{"z":224.13711547851569,"y":829.761962890625,"x":-74.46846008300781},"model_hash":1353713479}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"B9F9-63SC-3J26-IT7J"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Secret Bedroom","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":223.70640563964845,"y":833.4088134765625,"x":-71.2109375},"unique_id":"sbhAIw16v-DwFWS3Fl0C2","model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"BX84-YI72-UP36-SZUN"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Dining Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"AFAm8DWInjYr3IkV1Eown","door_coords":{"z":227.90414428710936,"y":835.7327270507813,"x":-68.48666381835938},"pivot_coords":{"z":227.90414428710936,"y":835.8453369140625,"x":-67.87895965576172},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"BYL3-9PHC-Z5HF-0UE1"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Laundry","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ZIiFRbRas43FqmmqNxHwZ","door_coords":{"z":227.90530395507813,"y":833.7584228515625,"x":-93.01593780517578},"pivot_coords":{"z":227.90530395507813,"y":833.1506958007813,"x":-92.9035415649414},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"C319-ONA0-ZF46-82X5"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"House to Garage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"fuqACc4jKISui3HaG2bYK","door_coords":{"z":235.86361694335936,"y":830.1845703125,"x":-92.38671112060549},"pivot_coords":{"z":235.86361694335936,"y":830.7933349609375,"x":-92.49347686767578},"model_hash":-56094733}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"DE7S-YL4G-6E3B-BM49"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Bedroom 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ha-eTETd9zYepYkkTqxU9","door_coords":{"z":231.48130798339845,"y":836.7826538085938,"x":-61.08058929443359},"pivot_coords":{"z":231.48129272460936,"y":837.2286987304688,"x":-60.65277481079101},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FTGD-6C30-DDSI-YN6Q"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Secret Office","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":223.77574157714845,"y":841.1123657226563,"x":-82.80302429199219},"unique_id":"55M_Bvr8dkSvOE3T5kpFq","model_hash":1839522981},{"door_coords":{"z":223.77574157714845,"y":841.2688598632813,"x":-81.91558074951172},"unique_id":"2vcXleAoUBjGBg-Eca8vw","model_hash":-78413824}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FX19-LC1C-7POC-ROJZ"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Secret Monitoring","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":223.75621032714845,"y":835.8844604492188,"x":-85.8814468383789},"unique_id":"barqrhpKcGlin6ALDoXz7","model_hash":-1782369055},{"door_coords":{"z":223.75621032714845,"y":835.702392578125,"x":-86.8786849975586},"unique_id":"T7T3NbVmvH89J6HL8VB5e","model_hash":-1782369055}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"INOF-N9I0-JK0X-27MX"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Gym to Pool","door_sound":"door_regular.ogg","door_data":[{"unique_id":"IrYVWeVbUOxbGbzMCFU5E","door_coords":{"z":228.1761932373047,"y":823.93701171875,"x":-72.78351593017578},"pivot_coords":{"z":226.751953125,"y":824.0602416992188,"x":-71.86432647705078},"model_hash":-1319801227}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"MUIY-8WFT-XPCD-T2MN"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":6,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"OE3wvV-QB5UkT93KMgE9m","door_coords":{"z":237.44256591796876,"y":824.433349609375,"x":-99.70963287353516},"pivot_coords":{"z":237.4425811767578,"y":824.4343872070313,"x":-99.7098159790039},"model_hash":549834506}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"MV7F-MM0D-LK55-XC8M"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Bathroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"ArVNSBHSbO-g4e1yL3dwv","door_coords":{"z":235.86363220214845,"y":844.118408203125,"x":-65.74844360351563},"pivot_coords":{"z":235.86361694335936,"y":844.55859375,"x":-66.18228912353516},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PK9Z-FUVZ-1OHD-6QHV"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Electrical","door_sound":"door_regular.ogg","door_data":[{"unique_id":"wC80WJ2k1KE-Zirc9yNtI","door_coords":{"z":231.48617553710936,"y":835.703369140625,"x":-68.71392059326172},"pivot_coords":{"z":231.48617553710936,"y":835.8139038085938,"x":-68.1058349609375},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PL9K-0E83-3G48-OT9K"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Secret Conference","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":223.77574157714845,"y":836.7445068359375,"x":-80.78108215332031},"unique_id":"ssUq_zh1TdodSzvvBeyIY","model_hash":1759959849},{"door_coords":{"z":223.77574157714845,"y":836.5916137695313,"x":-81.59446716308594},"unique_id":"AImc165zwEJZsZ03ojSdm","model_hash":1759959849}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"RHFX-EPBY-N24P-LF4K"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Balcony","door_sound":"door_regular.ogg","door_data":[{"unique_id":"pQ9iNRADNA-s-_fU3_iGf","door_coords":{"z":236.21253967285157,"y":824.5214233398438,"x":-69.46302795410156},"pivot_coords":{"z":234.71107482910157,"y":824.6446533203125,"x":-68.54383850097656},"model_hash":1282876602}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"S9I4-S7YQ-5EXK-ZVU7"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Bedroom 4","door_sound":"door_regular.ogg","door_data":[{"unique_id":"4OkGbmwA6tTsd0af0BLxC","door_coords":{"z":227.90414428710936,"y":832.508544921875,"x":-86.74561309814453},"pivot_coords":{"z":227.90414428710936,"y":832.6129760742188,"x":-86.1364517211914},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"TEQA-SMAV-H64J-13TA"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Pool","door_sound":"door_regular.ogg","door_data":[{"unique_id":"0xg2hC9puSEXBn0UNfjAS","door_coords":{"z":228.17576599121098,"y":822.1112060546875,"x":-68.20565795898438},"pivot_coords":{"z":226.753646850586,"y":821.2561645507813,"x":-68.09368133544922},"model_hash":172761189}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"U42F-TKAW-AVHH-E85Y"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"5nF8pxsFbsDngTEpuV1uk","door_coords":{"z":236.04672241210936,"y":834.7633666992188,"x":-85.12423706054688},"pivot_coords":{"z":236.17413330078129,"y":835.4130249023438,"x":-85.23886108398438},"model_hash":-1907570189}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"USET-NRE8-ONR5-1LYB"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Secret Medical","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":223.70635986328129,"y":840.3413696289063,"x":-72.42839813232422},"unique_id":"5LClL2kqoT1lCjjCjU3pq","model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Y6KX-NFDP-VHWU-TBOO"},{"default_state":false,"door_type":"gates","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Secret Gate","door_sound":"door_switch.ogg","door_data":[{"unique_id":"Tizghq9E7iumqpzgn47_J","door_coords":{"z":222.5931396484375,"y":1020.3600463867188,"x":-28.95201873779297},"pivot_coords":{"z":220.0128631591797,"y":1016.8381958007813,"x":-30.39339447021484},"model_hash":-1826754306}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Z16R-MUSF-FCQ9-FZ1D"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Conference Room","door_sound":"door_regular.ogg","door_data":[{"unique_id":"4Da22atzT-TahOF-CJedG","door_coords":{"z":231.48617553710936,"y":832.489013671875,"x":-86.74700164794922},"pivot_coords":{"z":231.48617553710936,"y":832.6121215820313,"x":-86.1413345336914},"model_hash":2052492138}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZDGI-UX95-6F6P-6GC0"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 2","door_name":"Secret Underground Entrance","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":223.75770568847657,"y":851.2274780273438,"x":-77.19255828857422},"unique_id":"_TTA7zqOhF5hQajSKj4q3","model_hash":-1782369055},{"door_coords":{"z":223.75770568847657,"y":851.4036254882813,"x":-76.19427490234375},"unique_id":"uSM1nwaeonH7UqpIVFpbU","model_hash":-1782369055}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZFYS-1STE-VSMJ-4R6S"}],"name":"[K4MB1]_Vinewood_Mansion_2.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_3.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_3.json
new file mode 100644
index 000000000..dd44dd5f5
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_3.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Entrance 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":232.27566528320313,"y":968.30908203125,"x":-180.565658569336},"unique_id":"6Sz680SxBvrjlOSZ2L1ML","model_hash":-786700208},{"door_coords":{"z":232.27566528320313,"y":967.5450439453124,"x":-181.61752319335936},"unique_id":"7Lec-HskXhfDlMYoctf98","model_hash":-786700208}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"23WW-60CS-TLSM-IZBF"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Electrical","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":236.2847595214844,"y":981.8699340820313,"x":-176.27597045898438},"unique_id":"qE-IJJ3snhrjYgyT_RsWo","model_hash":-1008382493}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"4697-Y961-6WUT-O9US"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Bathroom","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":232.30029296875,"y":1000.6786499023438,"x":-174.3763885498047},"unique_id":"BCauH-yrHXcotV76aawAy","model_hash":-1008382493}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"5A3A-TBV0-V3OJ-LYCI"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Laundry","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":236.2847595214844,"y":998.6806640625,"x":-176.2687530517578},"unique_id":"Vs3FootrtJtLY_bPir4CX","model_hash":-1008382493}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"6NBH-Z423-THA4-74KH"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":236.2847595214844,"y":988.9805297851564,"x":-179.8257598876953},"unique_id":"QjDFUxt58ZAdmh4GqPB3m","model_hash":-1008382493}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"AC8Z-OICU-NK2W-AC9W"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Gym","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":236.2847595214844,"y":988.98046875,"x":-176.2565460205078},"unique_id":"LII246IQf-wJFlosX6A8t","model_hash":-1008382493}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"C10E-HIQK-U5VO-YV8O"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Garage Rear","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":237.8654937744141,"y":961.9779052734376,"x":-180.7806396484375},"unique_id":"NdJcFXuFKNpAFTuD5hbbG","model_hash":1880969106}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"EHO8-KAV2-OXW7-ROBZ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Bedroom 1","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":236.28225708007813,"y":980.4290771484376,"x":-179.8185272216797},"unique_id":"egRh9x9adLtFtm8V6KrXE","model_hash":-1008382493}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"F6RU-5H7L-B1S5-Y4VT"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_switch.ogg","distance":4,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":239.19827270507813,"y":965.3514404296876,"x":-173.64149475097657},"unique_id":"uXyelhzIINdCDBjgNFfNr","model_hash":-78568279}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"I5ZN-0NHB-U8CB-YPTY"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Conference Room","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":232.3033142089844,"y":980.429443359375,"x":-176.42410278320313},"unique_id":"JWQ0eTykyxWjLMwa4DgM7","model_hash":-1008382493}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"KSPO-DWXP-IXUH-29R6"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Offices","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":232.3033142089844,"y":988.980712890625,"x":-176.4302215576172},"unique_id":"aRgdAezG7wiQmd1plytDv","model_hash":-1008382493}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"NPV3-GUIF-BXZR-KLQM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Master Bedroom","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":236.2847595214844,"y":1000.7238159179688,"x":-178.056884765625},"unique_id":"jamBKlgnS_q5VTGyvbAUi","model_hash":-1008382493}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"PC9Q-M3FS-LEJS-BR3Y"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Secret","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":232.2230224609375,"y":977.6182250976564,"x":-171.75747680664066},"unique_id":"gCYMwW6qlBMnChQmYZH7f","model_hash":-268756184}],"secret":true,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"QD6L-6P7Y-74K3-SIW4"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Lobby","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":232.30029296875,"y":971.6133422851564,"x":-173.8377685546875},"unique_id":"M2A_ezAJKw_IQyMfD7Trt","model_hash":-1008382493}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"R4NB-UZAE-ZJGD-KMVX"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 3","door_name":"Entrance 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":232.3008270263672,"y":1009.5364990234376,"x":-188.5396423339844},"unique_id":"0f8bfCJ-nFyprs0P_KcUs","model_hash":-786700208},{"door_coords":{"z":232.3008270263672,"y":1008.2364501953124,"x":-188.5396423339844},"unique_id":"ttfd8qCOVKBSwrXqM70VD","model_hash":-786700208}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"U7CL-8SDC-Q1KJ-7PDR"}],"name":"[K4MB1]_Vinewood_Mansion_3.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_4.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_4.json
new file mode 100644
index 000000000..bae8d0eef
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Vinewood_Mansion_4.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Bedroom 4","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":240.99465942382813,"y":986.0790405273438,"x":-108.53152465820313},"unique_id":"XaQ8ZFbkvBM3DuLkLuUw_","model_hash":899034812}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0LJ6-C1CD-JZZY-ACVA"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Bedroom 3","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":240.9946441650391,"y":989.7764892578124,"x":-106.6045150756836},"unique_id":"Llzef8njfp0MyRXCXzNZ-","model_hash":899034812}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0N7A-70JJ-VCR4-POFV"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance 9","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":235.3823699951172,"y":990.2222290039064,"x":-59.61867523193359},"unique_id":"fVfxA8iK5VM_QuZEQYPWS","model_hash":1889848887},{"door_coords":{"z":235.3823699951172,"y":988.9009399414064,"x":-59.13677215576172},"unique_id":"vdOn1PG9EcVzXIQ1965Sd","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0SQ0-0CBV-UNWA-AF7U"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":235.91783142089845,"y":986.7854614257813,"x":-112.75318145751952},"unique_id":"rAsHfcAzM5Tq1MtjN0lRs","model_hash":1147434395},{"door_coords":{"z":235.9181365966797,"y":985.4646606445313,"x":-112.27115631103516},"unique_id":"MplgGqGeO70772JCpqecN","model_hash":1889848887}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"0VWM-5BG5-UAFY-CH4T"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Bedroom 1","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":240.9946441650391,"y":994.8598022460938,"x":-98.4720458984375},"unique_id":"H93Q6h8s0XlyMLVc9Je4E","model_hash":899034812}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1DD7-I7ZT-8GAK-4JWJ"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance 7","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":234.56106567382813,"y":999.0308227539064,"x":-62.69076156616211},"unique_id":"-z533lph-4k-3qNZzxo0P","model_hash":1889848887},{"door_coords":{"z":234.56106567382813,"y":998.1278686523438,"x":-61.61342239379883},"unique_id":"zBWdUM7R0Qu_UVkXyjMW3","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"1URO-X7H4-8CUC-1W5N"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_switch.ogg","distance":10,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance Gate","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":236.2891540527344,"y":972.0635375976564,"x":-134.0359039306641},"unique_id":"V4_VJO5uAbcYyvXa6wEZf","model_hash":-1249591818},{"door_coords":{"z":236.2891540527344,"y":973.1620483398438,"x":-136.5443878173828},"unique_id":"KaqcTe2gga4F7-F7Msoxd","model_hash":546378757}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"37BJ-CJ6B-RGUS-2QUL"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance 3","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":235.9217071533203,"y":1011.96044921875,"x":-102.85169219970705},"unique_id":"F1JLMNo9_8JSLxgbXqn_8","model_hash":1147434395},{"door_coords":{"z":235.92201232910157,"y":1010.6395874023438,"x":-102.36965942382813},"unique_id":"TZFUzE24CCfBDGQaCKdpF","model_hash":1889848887}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3BN3-Q0NR-55BP-N5XS"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance 5","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":235.91845703125,"y":989.5179443359376,"x":-97.1077880859375},"unique_id":"miRzJxTcEuWHm1hV4Hid0","model_hash":1889848887},{"door_coords":{"z":235.9181365966797,"y":989.035888671875,"x":-98.42864990234377},"unique_id":"egQ9VcFREd1FreBxadh7Z","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3EUP-QSVR-I1U2-CYB3"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance 8","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":234.55960083007813,"y":1009.2683715820313,"x":-71.33989715576172},"unique_id":"p_-Cc8Jk3UMVMpANoNHrN","model_hash":1889848887},{"door_coords":{"z":234.55960083007813,"y":1008.344482421875,"x":-70.2799301147461},"unique_id":"GJ1H2Ky_pd4dNenpuj948","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3IML-O0PM-KXTH-QY4B"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Laundry","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":235.90676879882813,"y":991.7513427734376,"x":-102.9677505493164},"unique_id":"TIRSQGv4b-RhysPa65WsQ","model_hash":899034812}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"3P7H-4SWC-SGN9-LAPJ"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance 4","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":235.91845703125,"y":977.0015869140624,"x":-104.08733367919922},"unique_id":"B3iGJzeLWXLlZO5Hr4U-U","model_hash":1889848887},{"door_coords":{"z":235.9181365966797,"y":976.51953125,"x":-105.40819549560549},"unique_id":"pN_fJ8SZfMZgz7-7UD3ZV","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8B11-AFQ4-M83O-ZOXY"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"WC Downstairs","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":235.90676879882813,"y":996.4307250976564,"x":-95.977294921875},"unique_id":"IiKcDpLfNzM7q0UmPpyFJ","model_hash":899034812}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"8HMH-6XBV-H9GJ-A0Y7"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Bedroom 3 Balcony","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":241.00682067871098,"y":996.7603149414064,"x":-111.02025604248049},"unique_id":"VY3ibPNu5tN8wtvIIEE9w","model_hash":1889848887},{"door_coords":{"z":241.00650024414066,"y":997.2423706054688,"x":-109.69939422607422},"unique_id":"qxAI9U5NwZ-reA1gNy0kS","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"D089-3954-87TI-74K8"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Bedroom 1 Balcony","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":241.08404541015626,"y":990.200439453125,"x":-94.9990005493164},"unique_id":"dxpI7byVSIrwWJZyLB9pN","model_hash":1889848887},{"door_coords":{"z":241.083740234375,"y":989.7157592773438,"x":-96.31932067871094},"unique_id":"7wquYiUgPzK-FBha-mSen","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FEBR-LYKH-KTJJ-IKM6"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance 6","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":234.56039428710936,"y":988.1378784179688,"x":-68.02027130126953},"unique_id":"UREIkwKnmVRU8SfeUarVh","model_hash":1147434395},{"door_coords":{"z":234.56039428710936,"y":987.2353515625,"x":-66.94253540039063},"unique_id":"3aHrr6gHEgBsdwwqRjkIB","model_hash":1889848887}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FIQD-K741-F17T-T2HB"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Bedroom 2 Balcony","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":241.08404541015626,"y":988.6261596679688,"x":-99.31886291503906},"unique_id":"Qwyova-wb0YT4l7vx13Ng","model_hash":1889848887},{"door_coords":{"z":241.083740234375,"y":988.14404296875,"x":-100.64006805419922},"unique_id":"WoyoWi4H98l5rLhPUW8wL","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"FMC6-OKYN-A1QK-EH72"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":240.9946441650391,"y":990.1957397460938,"x":-102.93824768066406},"unique_id":"qZc5ewYs-370o2YKbJeLR","model_hash":899034812}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"IDKS-C1X9-669A-XBUM"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"WC Upstairs","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":240.9946441650391,"y":994.8060913085938,"x":-106.30491638183594},"unique_id":"g9AzSdL8KoCKSmVJoJWUA","model_hash":899034812}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JGIJ-ELQ7-21EM-FDKS"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_switch.ogg","distance":10,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Garage 1","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":237.413803100586,"y":1009.8543090820313,"x":-132.23095703125},"unique_id":"relkQRxMM1d4Q7eAKC_sd","model_hash":2123350763}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"L4SZ-QOUG-HG3P-1U46"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_switch.ogg","distance":10,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Garage 2","door_sound":"door_switch.ogg","door_data":[{"door_coords":{"z":237.4136962890625,"y":1012.3174438476564,"x":-125.46784973144533},"unique_id":"gBaRT27XnV7WLdzo1Dm7O","model_hash":2123350763}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"LK5Y-HC1T-ZHRP-JO27"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance 2","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":235.91845703125,"y":998.9210205078124,"x":-111.80680084228516},"unique_id":"ankeOSU_QET7i1y26XBtC","model_hash":1889848887},{"door_coords":{"z":235.9181365966797,"y":999.4030151367188,"x":-110.4859390258789},"unique_id":"gGj_5tRzFGXSZvscwq2Ac","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"S2VI-DJUG-VOC6-DMXY"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Upstairs Balcony","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":241.0380401611328,"y":985.4647827148438,"x":-112.2707748413086},"unique_id":"TiP3sh2xnmuPJmeEOfReX","model_hash":1889848887},{"door_coords":{"z":241.03773498535157,"y":986.7877197265624,"x":-112.7470932006836},"unique_id":"JBGG9IcuOdilC7uW5pdDL","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"SK0H-2ESS-ANZI-ASG5"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Fence Door","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":237.4913330078125,"y":995.1795654296876,"x":-148.09071350097657},"unique_id":"NkeXF91UPk1NVdmkCm6fs","model_hash":241343256}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"T5ZL-HCG2-Z9XR-XCMQ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Office Downstairs","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":234.54824829101569,"y":997.8281860351564,"x":-86.21066284179688},"unique_id":"rxA-nqC5_dHQ4beHi3A96","model_hash":899034812}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"UVQL-A0V3-K27C-UIBP"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Vinewood Mansion 4","door_name":"Entrance 10","door_sound":"door_regular.ogg","door_data":[{"door_coords":{"z":235.3823699951172,"y":984.7169799804688,"x":-57.6146011352539},"unique_id":"Iw3Z-hJWv26UcxVVjszMG","model_hash":1889848887},{"door_coords":{"z":235.3823699951172,"y":983.3933715820313,"x":-57.13982391357422},"unique_id":"LnqYXDtyZ4rBrC2Zp95Sc","model_hash":1147434395}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"WQEE-QCJ3-H3LQ-YQT8"}],"name":"[K4MB1]_Vinewood_Mansion_4.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Visitor_Centre.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Visitor_Centre.json
new file mode 100644
index 000000000..61ef35c8e
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Visitor_Centre.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Visitor Centre","door_name":"Entrance 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"SftFO9z4bP-vGZ-vabSUD","door_coords":{"z":36.87370681762695,"y":5572.26708984375,"x":-741.4337158203125},"pivot_coords":{"z":36.87370681762695,"y":5572.81689453125,"x":-741.433837890625},"model_hash":-1777536706},{"unique_id":"5XEmRm_3oPmNkWeRiF_4P","door_coords":{"z":36.87370681762695,"y":5571.16796875,"x":-741.4307861328125},"pivot_coords":{"z":36.87370681762695,"y":5570.6181640625,"x":-741.4306640625},"model_hash":-1777536706}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"26HP-AS2X-VTF6-EJO2"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Visitor Centre","door_name":"Storage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"dwyzT3wHudY4uZ116kp7q","door_coords":{"z":36.8525161743164,"y":5578.119140625,"x":-751.9573974609375},"pivot_coords":{"z":36.8525161743164,"y":5578.119140625,"x":-751.3067016601563},"model_hash":-498752344}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"EPS2-XR5T-7JFE-IN0E"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Visitor Centre","door_name":"Classroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"s8DksS1I5MIXbUhkIh1Ln","door_coords":{"z":36.8525161743164,"y":5578.10546875,"x":-742.7422485351563},"pivot_coords":{"z":36.8525161743164,"y":5578.119140625,"x":-742.0917358398438},"model_hash":-498752344}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"JFQ0-GN5Q-28DC-CQRY"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Visitor Centre","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Er9fx54FfPWMOnxMwqVik","door_coords":{"z":36.87370681762695,"y":5566.85546875,"x":-753.4426879882813},"pivot_coords":{"z":36.87370681762695,"y":5567.4052734375,"x":-753.4341430664063},"model_hash":-1777536706},{"unique_id":"WUQS_qvOXSM9PM_wc90gs","door_coords":{"z":36.87372589111328,"y":5565.75634765625,"x":-753.4308471679688},"pivot_coords":{"z":36.87370681762695,"y":5565.20654296875,"x":-753.4309692382813},"model_hash":-1777536706}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"TXCR-587L-DV3E-ECK3"}],"name":"[K4MB1]_Visitor_Centre.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Warehouse_1.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Warehouse_1.json
new file mode 100644
index 000000000..594d9543c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Warehouse_1.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Warehouse 1","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"qXGrlpmTFcKibJOtFs27o","door_coords":{"z":34.32563018798828,"y":-1853.1326904296876,"x":999.02880859375},"pivot_coords":{"z":34.32563018798828,"y":-1853.1326904296876,"x":999.02880859375},"model_hash":-1632630677}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"J7E4-M05P-EJLN-P77J"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Warehouse 1","door_name":"Staff","door_sound":"door_regular.ogg","door_data":[{"unique_id":"D9ss27GMNDXIE9-B-o6f2","door_coords":{"z":31.21788787841797,"y":-1835.2353515625,"x":997.378173828125},"pivot_coords":{"z":31.2178897857666,"y":-1835.2900390625,"x":998.0264282226564},"model_hash":1476485659}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"OP64-SBVI-0USP-LWTW"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Warehouse 1","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"rJd5fjzjXLz7lXcKl9NNh","door_coords":{"z":31.19914817810058,"y":-1853.8612060546876,"x":995.5368041992188},"pivot_coords":{"z":31.19915008544922,"y":-1853.8118896484376,"x":994.8881225585938},"model_hash":1476485659}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"Z7NX-G1VM-TBR1-MXGS"}],"name":"[K4MB1]_Warehouse_1.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Westons_Mansion.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Westons_Mansion.json
new file mode 100644
index 000000000..05acd2b8b
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_Westons_Mansion.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Bedroom","door_sound":"door_regular.ogg","door_data":[{"unique_id":"yRETEbUSyoQlQlAtr_2SF","door_coords":{"z":167.56182861328126,"y":1885.01416015625,"x":-2585.707275390625},"pivot_coords":{"z":167.44696044921876,"y":1884.5947265625,"x":-2586.203857421875},"model_hash":224975209}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"5TY5-ZYFQ-2CFY-IXJ7"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Gym","door_sound":"door_regular.ogg","door_data":[{"unique_id":"REsWfXyH86LKm9bv8xZiA","door_coords":{"z":163.98538208007813,"y":1892.217041015625,"x":-2598.844482421875},"pivot_coords":{"z":163.87051391601566,"y":1892.8636474609376,"x":-2598.910888671875},"model_hash":224975209}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"7YOD-M6TL-9WMS-RV4H"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Bedroom 2","door_sound":"door_regular.ogg","door_data":[{"unique_id":"m9w7O03lOCa_VSQWoecPp","door_coords":{"z":163.99778747558598,"y":1908.5040283203128,"x":-2593.6611328125},"pivot_coords":{"z":163.88291931152345,"y":1907.857177734375,"x":-2593.5966796875},"model_hash":224975209}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"92DU-S5HU-8GP1-KDWA"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"qM9aBGRYLWb7HJRnynz6U","door_coords":{"z":167.56338500976566,"y":1877.870849609375,"x":-2593.968505859375},"pivot_coords":{"z":167.44851684570313,"y":1877.4271240234376,"x":-2594.443603515625},"model_hash":224975209}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ACH5-7S22-KQJD-CO23"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"jNtDbk650_Chug-6zDrF-","door_coords":{"z":167.87405395507813,"y":1910.3568115234376,"x":-2588.201904296875},"pivot_coords":{"z":167.6242828369141,"y":1910.2904052734376,"x":-2588.84912109375},"model_hash":308207762}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"CUYO-MUQW-ZBVA-WQMA"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"House to Garage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"wtkjlPy_bK7P0_jpZ1VyP","door_coords":{"z":167.59568786621098,"y":1917.2596435546876,"x":-2600.0888671875},"pivot_coords":{"z":167.48081970214845,"y":1917.330322265625,"x":-2599.442626953125},"model_hash":224975209}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"E8LF-8G6Z-CU4L-LGK8"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Bedroom 3","door_sound":"door_regular.ogg","door_data":[{"unique_id":"FMdhXgj79EChOBiJBo6U8","door_coords":{"z":163.98617553710938,"y":1889.3883056640626,"x":-2588.960205078125},"pivot_coords":{"z":163.87130737304688,"y":1889.8157958984376,"x":-2588.470458984375},"model_hash":224975209}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"K9N5-E5DG-R3NM-FU56"},{"default_state":false,"door_type":"garage","items":[],"door_unlock_sound":"door_switch.ogg","distance":5,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Garage","door_sound":"door_switch.ogg","door_data":[{"unique_id":"rzMxe3g6D4924OxcXBouc","door_coords":{"z":168.96609497070313,"y":1925.781494140625,"x":-2597.020263671875},"pivot_coords":{"z":168.96237182617188,"y":1925.8663330078128,"x":-2597.029296875},"model_hash":-846370231}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"L3T8-MB7B-KPIU-2FIR"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Storage","door_sound":"door_regular.ogg","door_data":[{"unique_id":"JICYTqurbWzLdOTlfCXwl","door_coords":{"z":163.983642578125,"y":1893.6204833984376,"x":-2584.313232421875},"pivot_coords":{"z":163.8687744140625,"y":1894.0362548828128,"x":-2583.813720703125},"model_hash":224975209}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"P5MF-YO8P-QJ9T-R3HC"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_switch.ogg","distance":8,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Entrance Gate","door_sound":"door_switch.ogg","door_data":[{"unique_id":"LMt5mfIumMwBZEgjyzzc4","door_coords":{"z":169.24571228027345,"y":1912.0782470703128,"x":-2558.569091796875},"pivot_coords":{"z":169.0708770751953,"y":1910.8599853515626,"x":-2559.19287109375},"model_hash":546378757},{"unique_id":"KHtlArlC6B4UMwsL2pqsX","door_coords":{"z":169.24571228027345,"y":1914.5023193359376,"x":-2557.289794921875},"pivot_coords":{"z":169.0708770751953,"y":1915.7164306640626,"x":-2556.658203125},"model_hash":-1249591818}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"RHJO-BTP8-20EV-C2ND"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Arcade","door_sound":"door_regular.ogg","door_data":[{"unique_id":"habjTPmN93BhK57MIijWv","door_coords":{"z":163.98167419433598,"y":1872.289306640625,"x":-2589.630126953125},"pivot_coords":{"z":163.86680603027345,"y":1872.728515625,"x":-2589.15087890625},"model_hash":224975209}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"SYDE-YNLE-LCBC-TR3B"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Bedroom 4","door_sound":"door_regular.ogg","door_data":[{"unique_id":"1HYyHzM_dyeW4YCvFevhD","door_coords":{"z":163.9925994873047,"y":1882.3917236328128,"x":-2594.8818359375},"pivot_coords":{"z":163.8777313232422,"y":1883.0380859375,"x":-2594.950927734375},"model_hash":224975209}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"YWJN-BK7P-0XAB-B1BJ"},{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"Westons Mansion","door_name":"Balcony","door_sound":"door_regular.ogg","door_data":[{"unique_id":"5js9J5Ry6Mnzyv6IWzBdu","door_coords":{"z":167.80450439453126,"y":1898.8482666015626,"x":-2599.365478515625},"pivot_coords":{"z":166.33700561523438,"y":1899.763671875,"x":-2599.517333984375},"model_hash":1603383037}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"ZTDQ-P8DJ-9A21-UD17"}],"name":"[K4MB1]_Westons_Mansion.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_XGEM_Jewelry.json b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_XGEM_Jewelry.json
new file mode 100644
index 000000000..04fe3f65c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[K4MB1]_XGEM_Jewelry.json
@@ -0,0 +1 @@
+{"imported":false,"data":[{"default_state":false,"door_type":"single","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"XGEM Jewelry","door_name":"Office","door_sound":"door_regular.ogg","door_data":[{"unique_id":"6DoBZRgTx7ESDI_-QfK_m","door_coords":{"z":106.29993438720705,"y":369.7481384277344,"x":226.15614318847657},"pivot_coords":{"z":106.29962158203124,"y":369.1297302246094,"x":225.95510864257813},"model_hash":1335309163}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"2KWQ-5ZFS-65OW-QLDB"},{"default_state":false,"door_type":"double","items":[],"door_unlock_sound":"door_click.ogg","distance":2,"state":false,"keep_open":false,"camera":false,"location_group":"XGEM Jewelry","door_name":"Entrance","door_sound":"door_regular.ogg","door_data":[{"unique_id":"Sqsy9Y_g1-V0_PpzUERZT","door_coords":{"z":106.7309341430664,"y":365.8258361816406,"x":231.667221069336},"pivot_coords":{"z":106.29633331298828,"y":366.039794921875,"x":231.0597686767578},"model_hash":1317403306},{"unique_id":"f-8-y-UPtOrX6u1S8Lpey","door_coords":{"z":106.7309341430664,"y":365.3977355957031,"x":232.90896606445313},"pivot_coords":{"z":106.29633331298828,"y":365.1926574707031,"x":233.5194854736328},"model_hash":-1068245448}],"secret":false,"lockpickable":false,"perms":{"job":[{"name":"police","grade":0}],"discord":[],"items":[],"passcode":"","identifier":[],"ace":[]},"unique_id":"J2KJ-S3K7-YT49-8ZN1"}],"name":"[K4MB1]_XGEM_Jewelry.json"}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_La_Puerta_A.json b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_La_Puerta_A.json
new file mode 100644
index 000000000..9322108a9
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_La_Puerta_A.json
@@ -0,0 +1 @@
+{"name":"[Kiiya]_La_Puerta_A.json","data":[{"door_data":[{"pivot_coords":{"y":-912.4443359375,"z":28.28111457824707,"x":-471.6944274902344},"door_coords":{"y":-912.9739990234376,"z":28.28111457824707,"x":-471.6945495605469},"model_hash":1051762694,"unique_id":"VlHwMvSQef7UskGwQwK4l"},{"pivot_coords":{"y":-914.5565185546876,"z":28.28111457824707,"x":-471.6944274902344},"door_coords":{"y":-914.02685546875,"z":28.28111457824707,"x":-471.6943054199219},"model_hash":1051762694,"unique_id":"wswcYbo99Nv0axg2YWUKn"}],"location_group":"La Puerta A","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Entrance 1","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"S3DD-HPCW-FNYR-0TQ8","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-919.3858642578124,"z":28.28111457824707,"x":-471.6944274902344},"door_coords":{"y":-919.91552734375,"z":28.28111457824707,"x":-471.6945495605469},"model_hash":1051762694,"unique_id":"e9tQ2Vli9GdcHWQC1a2Cm"},{"pivot_coords":{"y":-921.498046875,"z":28.28111457824707,"x":-471.69439697265627},"door_coords":{"y":-920.9683837890624,"z":28.28111457824707,"x":-471.69427490234377},"model_hash":1051762694,"unique_id":"PGACJdjcWaTSNfb6VVcc2"}],"location_group":"La Puerta A","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Entrance 2","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"214L-I5OI-QJ38-XZWH","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"100","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"37PX-OBPS-A298-9WQ5","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-938.00048828125,"z":47.76771545410156,"x":-459.7463989257813},"door_coords":{"y":-938.6505737304688,"z":47.76776504516601,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"WhaEEvbkIsM2Ywzvfghxg"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"101","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TLU0-U3XM-RUGZ-WB0D","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-924.3171997070313,"z":47.76771545410156,"x":-454.6851806640625},"door_coords":{"y":-923.6671142578124,"z":47.76776504516601,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"s2SwNjdgo4CNtBqG8ZcQw"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"102","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FGWL-MJGI-B4GI-EN7V","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-923.9307250976564,"z":47.76771545410156,"x":-459.7463989257813},"door_coords":{"y":-924.580810546875,"z":47.76776504516601,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"G4dKI2cB1sh2TVW79kSN0"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"103","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OHQQ-M363-6TYN-3O47","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.3743896484376,"z":47.76771545410156,"x":-454.6851806640625},"door_coords":{"y":-909.7243041992188,"z":47.76776504516601,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"BUfPRU3udHbcPI_Q6ku3G"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"104","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"W6KG-RA3Y-TZO1-J6DN","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.072509765625,"z":47.76771545410156,"x":-459.7463989257813},"door_coords":{"y":-910.7225952148438,"z":47.76776504516601,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"JdK3mc8UvI9VBKnkHOW8B"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"105","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BNX1-OH2Z-QNIB-42LQ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.4625854492188,"z":47.76771545410156,"x":-454.6851806640625},"door_coords":{"y":-895.8125,"z":47.76776504516601,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"v1a0qQrMwvNGFDsUwEV-S"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"106","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"F3KT-BU6W-QQP6-9CKC","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.1464233398438,"z":47.76771545410156,"x":-459.7463989257813},"door_coords":{"y":-896.7965087890625,"z":47.76776504516601,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"5TMUqUaol4dnyvhWkJdei"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"200","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LK98-2BVE-Q7K2-M1OW","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-938.00048828125,"z":58.76774978637695,"x":-459.7463989257813},"door_coords":{"y":-938.6505737304688,"z":58.7677993774414,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"3dbSP5UX9JHd0sHclYUJ4"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"201","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"AU3E-WAS1-UV61-N0IX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-924.3171997070313,"z":58.76774978637695,"x":-454.6851806640625},"door_coords":{"y":-923.6671142578124,"z":58.7677993774414,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"2Vyw418rm22AKFPSozV17"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"202","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1ECI-ONMK-TTDU-0DOI","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-923.9307250976564,"z":58.76774978637695,"x":-459.7463989257813},"door_coords":{"y":-924.580810546875,"z":58.7677993774414,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"kBvF9CUtbmAZsAQwm5WEQ"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"203","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TT9S-VJGJ-9NMV-GQZT","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.3743896484376,"z":58.76774978637695,"x":-454.6851806640625},"door_coords":{"y":-909.7243041992188,"z":58.7677993774414,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"wAwy8XsyUY5tgUUf4nmuv"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"204","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"WXCF-QCK8-K00X-OVJS","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.072509765625,"z":58.76774978637695,"x":-459.7463989257813},"door_coords":{"y":-910.7225952148438,"z":58.7677993774414,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"53fwnfPYhaf2-s9ULu7WX"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"205","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"W1R2-YUVO-DX4P-NLUT","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.4625854492188,"z":58.76774978637695,"x":-454.6851806640625},"door_coords":{"y":-895.8125,"z":58.7677993774414,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"SBHqiYcrSbPvc9394PDQR"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"206","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"E57E-M3UB-AV9Y-BPVO","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.1464233398438,"z":58.76774978637695,"x":-459.7463989257813},"door_coords":{"y":-896.7965087890625,"z":58.7677993774414,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"qG3hksUlgnVW-v5_ZHJpQ"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"300","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"SUSI-E22E-FPZX-DQI4","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-938.00048828125,"z":69.76775360107422,"x":-459.7463989257813},"door_coords":{"y":-938.6505737304688,"z":69.7677993774414,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"1AgO6Za-PwkUE352P7G-D"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"301","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"I9AZ-7AOI-NT9D-LRUB","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-924.3171997070313,"z":69.76775360107422,"x":-454.6851806640625},"door_coords":{"y":-923.6671142578124,"z":69.7677993774414,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"_25WHftokxDB8IhP1L6bQ"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"302","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UG8I-LFLA-EEQK-W7BA","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-923.9307250976564,"z":69.76775360107422,"x":-459.7463989257813},"door_coords":{"y":-924.580810546875,"z":69.7677993774414,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"noL6vS2KcSE7eLvFwby83"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"303","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DSLJ-T176-MVDR-A1U3","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.3743896484376,"z":69.76775360107422,"x":-454.6851806640625},"door_coords":{"y":-909.7243041992188,"z":69.7677993774414,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"Qf9lib8De4Sb4Bldfjnra"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"304","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"C484-JGHG-HTWM-5SK6","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.072509765625,"z":69.76775360107422,"x":-459.7463989257813},"door_coords":{"y":-910.7225952148438,"z":69.7677993774414,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"mGP7VjjjkIeQtC7PZXKQr"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"305","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"PKVH-L6HI-T037-WBI1","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.4625854492188,"z":69.76775360107422,"x":-454.6851806640625},"door_coords":{"y":-895.8125,"z":69.7677993774414,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"VrgkKKB9vkbP8CyAuKcUq"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"306","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LYEE-CXS9-26UQ-CWGJ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.1464233398438,"z":69.76775360107422,"x":-459.7463989257813},"door_coords":{"y":-896.7965087890625,"z":69.7677993774414,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"ZhDdTGlWH11ZMs_M0WQIm"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"400","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VMLE-GNTX-VTWO-2MUW","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-938.00048828125,"z":80.76777648925781,"x":-459.7463989257813},"door_coords":{"y":-938.6505737304688,"z":80.767822265625,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"BTKR8exJpTLlzWwHCKvit"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"402","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HI7T-120J-ATSF-86FW","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-923.9307250976564,"z":80.76777648925781,"x":-459.7463989257813},"door_coords":{"y":-924.580810546875,"z":80.767822265625,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"bxXH3o4L_f0hcEJ1kZl1L"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"403","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QVF0-N4JT-4PTX-8PA9","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.3743896484376,"z":80.76777648925781,"x":-454.6851806640625},"door_coords":{"y":-909.7243041992188,"z":80.767822265625,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"VAvGakk8Ii8KrWCAktIA9"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"404","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3DRM-PJR4-3TFF-RS7M","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.072509765625,"z":80.76777648925781,"x":-459.7463989257813},"door_coords":{"y":-910.7225952148438,"z":80.767822265625,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"fBSYddFmQRb_7YUFS8b70"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"405","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"IOPZ-HLZV-CU84-48MA","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.4625854492188,"z":80.76777648925781,"x":-454.6851806640625},"door_coords":{"y":-895.8125,"z":80.767822265625,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"mq3K-Sioxq-oQ1_jJ4l7f"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"406","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZQFX-B57C-K8MR-VQBY","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.1464233398438,"z":80.76777648925781,"x":-459.7463989257813},"door_coords":{"y":-896.7965087890625,"z":80.767822265625,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"oNj6GXQcYxic2O4QWABVb"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"401","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"D0HJ-G4O9-JEYR-QPGH","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-924.3171997070313,"z":80.76777648925781,"x":-454.6851806640625},"door_coords":{"y":-923.6671142578124,"z":80.767822265625,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"25tQnhOzLApDKYn5boNZR"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"500","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EHZE-NPI3-U19K-2W3T","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-938.00048828125,"z":91.76776885986328,"x":-459.7463989257813},"door_coords":{"y":-938.6505737304688,"z":91.76781463623049,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"iHDRO6itxBCXqwV7uyELZ"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"501","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0H39-EB5F-XZOX-CMYW","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-924.3171997070313,"z":91.76776885986328,"x":-454.6851806640625},"door_coords":{"y":-923.6671142578124,"z":91.76781463623049,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"UmJZDpnPy0cNvdEjO9127"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"502","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EQ2A-9H9B-3DB5-6KM9","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-923.9307250976564,"z":91.76776885986328,"x":-459.7463989257813},"door_coords":{"y":-924.580810546875,"z":91.76781463623049,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"lWOUr12oKdPCcUogk6Ibl"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"503","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"O1CL-3HUL-V640-MEC9","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.3743896484376,"z":91.76776885986328,"x":-454.6851806640625},"door_coords":{"y":-909.7243041992188,"z":91.76781463623049,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"ZsSxpk0JKpQZLyHaIZ3Lu"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"504","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"O5QE-95I0-HVH6-DUWX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.072509765625,"z":91.76776885986328,"x":-459.7463989257813},"door_coords":{"y":-910.7225952148438,"z":91.76781463623049,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"fBkX172S3AM55TrO3CjP9"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"505","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YSKF-QE5X-TK0W-2TQM","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.4625854492188,"z":91.76776885986328,"x":-454.6851806640625},"door_coords":{"y":-895.8125,"z":91.76781463623049,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"TEqwicXSdaMeUcHGATn90"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"506","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"E9LJ-ICSV-IY5Z-9N2V","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.1464233398438,"z":91.76776885986328,"x":-459.7463989257813},"door_coords":{"y":-896.7965087890625,"z":91.76781463623049,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"2m0D2IbY2bnYSrmIWN0-_"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"600","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HNBY-TQSB-9WA7-022B","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-938.00048828125,"z":102.76780700683594,"x":-459.7463989257813},"door_coords":{"y":-938.6505737304688,"z":102.76785278320313,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"fqxx9UM0di7riyGvZNAey"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"601","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"MNMV-XVZN-9KUJ-Y6ZV","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-924.3171997070313,"z":102.76780700683594,"x":-454.6851806640625},"door_coords":{"y":-923.6671142578124,"z":102.76785278320313,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"bs0eBhedfpkxS2d1LA8qb"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"602","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZV34-U3OY-LZCW-DS4T","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-923.9307250976564,"z":102.76780700683594,"x":-459.7463989257813},"door_coords":{"y":-924.580810546875,"z":102.76785278320313,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"reWzCnSUxHxmSiDkg9teU"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"603","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Y3II-8PCR-5Q6A-32YA","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.3743896484376,"z":102.76780700683594,"x":-454.6851806640625},"door_coords":{"y":-909.7243041992188,"z":102.76785278320313,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"K4MJoimgnpOZuyFiilror"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"604","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QD5F-P3D6-HDPQ-FMLX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.072509765625,"z":102.76780700683594,"x":-459.7463989257813},"door_coords":{"y":-910.7225952148438,"z":102.76785278320313,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"orAIMxW3f6iI2KwDHeVXt"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"605","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YJ9O-TUSR-4G7Q-R5OX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.4625854492188,"z":102.76780700683594,"x":-454.6851806640625},"door_coords":{"y":-895.8125,"z":102.76785278320313,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"UNracaElZhhhDrHykj4fM"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"606","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TW3Y-258G-ZVWH-TRIN","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.1464233398438,"z":102.76780700683594,"x":-459.7463989257813},"door_coords":{"y":-896.7965087890625,"z":102.76785278320313,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"z1cvnEOdvoIGN0oGcNHjk"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"700","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1QLK-PLKD-KY17-UKZ9","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-938.00048828125,"z":108.26781463623049,"x":-459.7463989257813},"door_coords":{"y":-938.6505737304688,"z":108.26786041259766,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"ySIRLvQnnba9dRu6zDRen"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"701","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"WD6J-F7Y8-9UQQ-3HFX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-924.3171997070313,"z":108.26781463623049,"x":-454.6851806640625},"door_coords":{"y":-923.6671142578124,"z":108.26786041259766,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"4T0GspBLwW3-rCuUzJsoV"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"702","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"E10L-ATQN-V9LH-86UG","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-923.9307250976564,"z":108.26781463623049,"x":-459.7463989257813},"door_coords":{"y":-924.580810546875,"z":108.26786041259766,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"G7-6yV9isfe9kKPp0jIV1"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"703","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"IUKL-XFXR-RWPA-HMLW","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.3743896484376,"z":108.26781463623049,"x":-454.6851806640625},"door_coords":{"y":-909.7243041992188,"z":108.26786041259766,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"6EfZkwNcb5M60CjEl9zmy"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"704","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Q5NG-83BU-WCSY-MT0J","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-910.072509765625,"z":108.26781463623049,"x":-459.7463989257813},"door_coords":{"y":-910.7225952148438,"z":108.26786041259766,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"0EFcJvYSooQn4dwdPrTBu"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"705","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ISIB-RMW0-IKAT-OLJ3","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.4625854492188,"z":108.26781463623049,"x":-454.6851806640625},"door_coords":{"y":-895.8125,"z":108.26786041259766,"x":-454.6851806640625},"model_hash":-1028247766,"unique_id":"5cM_k6PKaeGlyIxiFcC4C"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"706","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3W5M-GNSG-OYYO-DHOO","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-896.1464233398438,"z":108.26781463623049,"x":-459.7463989257813},"door_coords":{"y":-896.7965087890625,"z":108.26786041259766,"x":-459.7463989257813},"model_hash":-1028247766,"unique_id":"7rD9ehpec7EPc_WKX412Y"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garage Exit","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"19S7-GSVS-4YLL-DI5J","door_unlock_sound":"door_switch.ogg","distance":6,"state":false,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-961.865234375,"z":21.63404464721679,"x":-455.49462890625},"door_coords":{"y":-961.865234375,"z":21.63331222534179,"x":-455.49462890625},"model_hash":1298351784,"unique_id":"xBO_UQ6AFBJEW62Xl_ZDb"}],"camera":false,"door_type":"garage","default_state":false,"door_sound":"door_switch.ogg","items":[]},{"location_group":"La Puerta A","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garage Entrance","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ON1H-I79F-PGXN-98BM","door_unlock_sound":"door_switch.ogg","distance":6,"state":false,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-961.874267578125,"z":21.67184257507324,"x":-449.9317321777344},"door_coords":{"y":-961.874267578125,"z":21.67111015319824,"x":-449.9317321777344},"model_hash":1298351784,"unique_id":"7MTpRjG25deIhfQdDnO6S"}],"camera":false,"door_type":"garage","default_state":false,"door_sound":"door_switch.ogg","items":[]}],"imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_La_Puerta_B.json b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_La_Puerta_B.json
new file mode 100644
index 000000000..550e73466
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_La_Puerta_B.json
@@ -0,0 +1 @@
+{"name":"[Kiiya]_La_Puerta_B.json","data":[{"door_data":[{"pivot_coords":{"y":-1029.1903076171876,"z":24.48444557189941,"x":-466.8234558105469},"door_coords":{"y":-1029.190185546875,"z":24.48444557189941,"x":-467.35308837890627},"model_hash":1051762694,"unique_id":"s4v_zzTdKxnW8TMImlu_B"},{"pivot_coords":{"y":-1029.1903076171876,"z":24.48444557189941,"x":-468.9356384277344},"door_coords":{"y":-1029.1904296875,"z":24.48444557189941,"x":-468.406005859375},"model_hash":1051762694,"unique_id":"WY1wPUHacAnIQcWGBCouR"}],"location_group":"La Puerta B","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Entrance 1","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"C7AC-5HG6-F0M4-RF66","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-1029.1903076171876,"z":24.48444557189941,"x":-473.7649841308594},"door_coords":{"y":-1029.190185546875,"z":24.48444557189941,"x":-474.2946166992188},"model_hash":1051762694,"unique_id":"Ds2YdOwb8mr3LlR26EpND"},{"pivot_coords":{"y":-1029.1903076171876,"z":24.48444557189941,"x":-475.8771667480469},"door_coords":{"y":-1029.1904296875,"z":24.48444557189941,"x":-475.3475341796875},"model_hash":1051762694,"unique_id":"j_Ue5DzF48xia3D3xQzUx"}],"location_group":"La Puerta B","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Entrance 2","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"AZ8P-TJOM-B5GH-HYWP","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"100","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"U8C5-CMED-G9GR-AM3W","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":43.9710693359375,"x":-492.375732421875},"door_coords":{"y":-1041.1383056640626,"z":43.97111892700195,"x":-493.02581787109377},"model_hash":-1028247766,"unique_id":"xuV8LhEv8gCG3gBBk0EgV"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"101","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BQMD-30P4-8ZGX-AOOP","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":43.9710693359375,"x":-478.69244384765627},"door_coords":{"y":-1046.199462890625,"z":43.97111892700195,"x":-478.0423583984375},"model_hash":-1028247766,"unique_id":"TecY6A3FVTkeAB64Gl1e6"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"102","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"A9VR-HXDN-XY2C-VPXZ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":43.9710693359375,"x":-478.3059692382813},"door_coords":{"y":-1041.1383056640626,"z":43.97111892700195,"x":-478.9560546875},"model_hash":-1028247766,"unique_id":"yAWN-kkm1L2dfYhe_iXzc"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"103","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OF8I-15JW-N7D5-5NIN","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":43.9710693359375,"x":-464.7496337890625},"door_coords":{"y":-1046.199462890625,"z":43.97111892700195,"x":-464.09954833984377},"model_hash":-1028247766,"unique_id":"z0yDsgN-Y_cvr_AOmZsPH"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"104","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OKCT-K6JK-ER5R-CH4I","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":43.9710693359375,"x":-464.44775390625},"door_coords":{"y":-1041.1383056640626,"z":43.97111892700195,"x":-465.0978393554688},"model_hash":-1028247766,"unique_id":"qfgL4agb03ZR9IBeJDJMq"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"105","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XH4K-MEG2-YSNA-4J9A","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":43.9710693359375,"x":-450.83782958984377},"door_coords":{"y":-1046.199462890625,"z":43.97111892700195,"x":-450.187744140625},"model_hash":-1028247766,"unique_id":"broieUOhSYnuY_2FOW5lJ"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"106","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RR1Z-ROMG-UR8E-IZT3","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":43.9710693359375,"x":-450.5216674804688},"door_coords":{"y":-1041.1383056640626,"z":43.97111892700195,"x":-451.1717529296875},"model_hash":-1028247766,"unique_id":"o33NStpU3HUkIU0NpC7xl"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"200","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZLSI-JMM0-PT00-SH6J","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":54.97110748291015,"x":-492.375732421875},"door_coords":{"y":-1041.1383056640626,"z":54.97115707397461,"x":-493.02581787109377},"model_hash":-1028247766,"unique_id":"tleq8otkNN3yz9daMiYXG"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"201","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"F1ER-RUWK-PLS2-S6HJ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":54.97110748291015,"x":-478.69244384765627},"door_coords":{"y":-1046.199462890625,"z":54.97115707397461,"x":-478.0423583984375},"model_hash":-1028247766,"unique_id":"rGac2ph2_05ER1xU6Hd5C"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"202","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"O12W-ESSR-4E7Z-ZOO8","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":54.97110748291015,"x":-478.3059692382813},"door_coords":{"y":-1041.1383056640626,"z":54.97115707397461,"x":-478.9560546875},"model_hash":-1028247766,"unique_id":"AN9hzCQYwHzz9juNp1pNW"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"203","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"SRM2-NST0-LVX0-B1QE","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":54.97110748291015,"x":-464.7496337890625},"door_coords":{"y":-1046.199462890625,"z":54.97115707397461,"x":-464.09954833984377},"model_hash":-1028247766,"unique_id":"Ail99hwzGULVxQ0Tk5e8p"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"204","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"P8WZ-2C6H-V5OV-HY7I","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":54.97110748291015,"x":-464.44775390625},"door_coords":{"y":-1041.1383056640626,"z":54.97115707397461,"x":-465.0978393554688},"model_hash":-1028247766,"unique_id":"Ift4gEJnPcph5YCGGjGvG"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"205","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"B9UC-NSPI-VQ7B-OYZ6","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":54.97110748291015,"x":-450.83782958984377},"door_coords":{"y":-1046.199462890625,"z":54.97115707397461,"x":-450.187744140625},"model_hash":-1028247766,"unique_id":"txWaB2I-K5sr3emi0Wj8f"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"206","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"90JF-V4IH-NXLT-BR0S","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":54.97110748291015,"x":-450.5216674804688},"door_coords":{"y":-1041.1383056640626,"z":54.97115707397461,"x":-451.1717529296875},"model_hash":-1028247766,"unique_id":"YXNo3EheiIkaWtKbZayqd"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"300","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LICH-CW2B-60NJ-KY0I","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":65.97110748291016,"x":-492.375732421875},"door_coords":{"y":-1041.1383056640626,"z":65.97115325927735,"x":-493.02581787109377},"model_hash":-1028247766,"unique_id":"6i4OtrP76KFrXwiixIYv1"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"301","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EGXO-6ZFC-02WE-OFAA","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":65.97110748291016,"x":-478.69244384765627},"door_coords":{"y":-1046.199462890625,"z":65.97115325927735,"x":-478.0423583984375},"model_hash":-1028247766,"unique_id":"cgG8MPxozhOunfUppZwFZ"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"302","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UC14-YENZ-YZ1P-OF5R","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":65.97110748291016,"x":-478.3059692382813},"door_coords":{"y":-1041.1383056640626,"z":65.97115325927735,"x":-478.9560546875},"model_hash":-1028247766,"unique_id":"Kg2-Ok6kXYCql0jLPaw1i"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"303","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZLH9-QVBN-VTG3-64KL","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":65.97110748291016,"x":-464.7496337890625},"door_coords":{"y":-1046.199462890625,"z":65.97115325927735,"x":-464.09954833984377},"model_hash":-1028247766,"unique_id":"58xejKiBllSzTaccKdzp0"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"304","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0YUH-WN8C-G022-OSRW","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":65.97110748291016,"x":-464.44775390625},"door_coords":{"y":-1041.1383056640626,"z":65.97115325927735,"x":-465.0978393554688},"model_hash":-1028247766,"unique_id":"T6WXOocpCO5qY-mnONf9F"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"305","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"C4PA-DCBY-XX2A-91F3","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":65.97110748291016,"x":-450.83782958984377},"door_coords":{"y":-1046.199462890625,"z":65.97115325927735,"x":-450.187744140625},"model_hash":-1028247766,"unique_id":"dnuPgbAhDSLQgmZQ8pwpX"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"306","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KTKS-SHXS-DVZ8-G3H6","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":65.97110748291016,"x":-450.5216674804688},"door_coords":{"y":-1041.1383056640626,"z":65.97115325927735,"x":-451.1717529296875},"model_hash":-1028247766,"unique_id":"TpP4GPXyR5x5FbRXBsVBf"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"400","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KEKC-I9AE-DPRO-JZ4C","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":76.97113037109375,"x":-492.375732421875},"door_coords":{"y":-1041.1383056640626,"z":76.97117614746094,"x":-493.02581787109377},"model_hash":-1028247766,"unique_id":"sUoDrudmF7W7ZyNJkEH41"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"401","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"W5JL-0JKZ-RLI6-7VD2","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":76.97113037109375,"x":-478.69244384765627},"door_coords":{"y":-1046.199462890625,"z":76.97117614746094,"x":-478.0423583984375},"model_hash":-1028247766,"unique_id":"paH8H98oIAA5kyGVHIbif"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"402","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"4ZCF-C6BV-RW39-I5QI","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":76.97113037109375,"x":-478.3059692382813},"door_coords":{"y":-1041.1383056640626,"z":76.97117614746094,"x":-478.9560546875},"model_hash":-1028247766,"unique_id":"RLYD43ABTTfIDMjlLc5VD"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"403","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"A0BU-OTCM-E4VP-04BA","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":76.97113037109375,"x":-464.7496337890625},"door_coords":{"y":-1046.199462890625,"z":76.97117614746094,"x":-464.09954833984377},"model_hash":-1028247766,"unique_id":"bUE--D73cLqwQY66-n3-Y"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"404","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"W1X4-SQJG-UBNE-4IEI","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":76.97113037109375,"x":-464.44775390625},"door_coords":{"y":-1041.1383056640626,"z":76.97117614746094,"x":-465.0978393554688},"model_hash":-1028247766,"unique_id":"dyj1u8O7GV0Y2nQ5CmLnc"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"405","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GUIB-C7ES-A4H9-W8QD","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":76.97113037109375,"x":-450.83782958984377},"door_coords":{"y":-1046.199462890625,"z":76.97117614746094,"x":-450.187744140625},"model_hash":-1028247766,"unique_id":"4FBiZH5Kv6-Udj5hnSz0f"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"406","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GJC5-IVWD-OTZA-4IT8","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":76.97113037109375,"x":-450.5216674804688},"door_coords":{"y":-1041.1383056640626,"z":76.97117614746094,"x":-451.1717529296875},"model_hash":-1028247766,"unique_id":"MDZ6uV8lvcabTHjoUmrgC"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"500","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RI38-SIDH-BKZH-3E7S","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":87.97112274169922,"x":-492.375732421875},"door_coords":{"y":-1041.1383056640626,"z":87.9711685180664,"x":-493.02581787109377},"model_hash":-1028247766,"unique_id":"IV23rsxWjS7lfsI37NUJk"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"501","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"F7K6-G066-RPMD-P16M","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":87.97112274169922,"x":-478.69244384765627},"door_coords":{"y":-1046.199462890625,"z":87.9711685180664,"x":-478.0423583984375},"model_hash":-1028247766,"unique_id":"pYwjSwg1T8H7jAm5S4QiM"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"502","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DCYU-UZC0-EAHG-K3PI","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":87.97112274169922,"x":-478.3059692382813},"door_coords":{"y":-1041.1383056640626,"z":87.9711685180664,"x":-478.9560546875},"model_hash":-1028247766,"unique_id":"pFnxkId1_H-rxcbunqqnI"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"503","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"2VE7-QTB3-BVIF-AH6J","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":87.97112274169922,"x":-464.7496337890625},"door_coords":{"y":-1046.199462890625,"z":87.9711685180664,"x":-464.09954833984377},"model_hash":-1028247766,"unique_id":"o3-ba24xXJbFWbMNPFEhS"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"504","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"NEG5-AS6X-L98Y-ADAZ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":87.97112274169922,"x":-464.44775390625},"door_coords":{"y":-1041.1383056640626,"z":87.9711685180664,"x":-465.0978393554688},"model_hash":-1028247766,"unique_id":"zRN6Re_HE0tRUcO84eFre"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"505","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KMUM-BXFI-5TFL-1KIX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":87.97112274169922,"x":-450.83782958984377},"door_coords":{"y":-1046.199462890625,"z":87.9711685180664,"x":-450.187744140625},"model_hash":-1028247766,"unique_id":"qv-IbJgNtmcIo5KwIyJ8R"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"506","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3IE0-ZSWB-AR9K-F6PM","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":87.97112274169922,"x":-450.5216674804688},"door_coords":{"y":-1041.1383056640626,"z":87.9711685180664,"x":-451.1717529296875},"model_hash":-1028247766,"unique_id":"2kILCsEWub3MhNycId_Jy"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"600","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"62NV-BCWE-B2GI-9XSS","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":98.97116088867188,"x":-492.375732421875},"door_coords":{"y":-1041.1383056640626,"z":98.97120666503906,"x":-493.02581787109377},"model_hash":-1028247766,"unique_id":"3DaUjGZjf_SYiCLH07DOY"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"601","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BI9F-NKE4-YZIW-CL1D","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":98.97116088867188,"x":-478.69244384765627},"door_coords":{"y":-1046.199462890625,"z":98.97120666503906,"x":-478.0423583984375},"model_hash":-1028247766,"unique_id":"yH4iTI059BnlUd7eSzOFc"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"602","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Y39Y-6M75-N76U-UX9T","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":98.97116088867188,"x":-478.3059692382813},"door_coords":{"y":-1041.1383056640626,"z":98.97120666503906,"x":-478.9560546875},"model_hash":-1028247766,"unique_id":"xbT68gJ6rqQVOLc2kliZk"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"603","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HM1N-18MA-XOTK-BORC","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":98.97116088867188,"x":-464.7496337890625},"door_coords":{"y":-1046.199462890625,"z":98.97120666503906,"x":-464.09954833984377},"model_hash":-1028247766,"unique_id":"sEQR23ga3Wa6u3KRnD9Qa"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"604","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"PD3J-N8C5-J2UI-CV5D","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":98.97116088867188,"x":-464.44775390625},"door_coords":{"y":-1041.1383056640626,"z":98.97120666503906,"x":-465.0978393554688},"model_hash":-1028247766,"unique_id":"ybWUxRF3LzUcvtv28R5m3"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"605","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"926C-4Z1J-XJPW-1BEF","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":98.97116088867188,"x":-450.83782958984377},"door_coords":{"y":-1046.199462890625,"z":98.97120666503906,"x":-450.187744140625},"model_hash":-1028247766,"unique_id":"VLlXg4twufqYmv7kMubwY"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"606","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TSIY-JE2E-C2RL-2LS8","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":98.97116088867188,"x":-450.5216674804688},"door_coords":{"y":-1041.1383056640626,"z":98.97120666503906,"x":-451.1717529296875},"model_hash":-1028247766,"unique_id":"0-NxzImSpZZ2uaeyAfQdl"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"700","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"WZ3W-2MH1-71P2-8S04","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":104.4711456298828,"x":-492.375732421875},"door_coords":{"y":-1041.1383056640626,"z":104.47119140625,"x":-493.02581787109377},"model_hash":-1028247766,"unique_id":"q7YApPpuusQ30SPgMeBrx"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"701","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"P5QZ-EZ21-F4DC-DU3A","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":104.4711456298828,"x":-478.69244384765627},"door_coords":{"y":-1046.199462890625,"z":104.47119140625,"x":-478.0423583984375},"model_hash":-1028247766,"unique_id":"q25xeyyiZjytJL9lJ6a5y"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"702","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"E6RO-G2AD-8INQ-QP3P","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":104.4711456298828,"x":-478.3059692382813},"door_coords":{"y":-1041.1383056640626,"z":104.47119140625,"x":-478.9560546875},"model_hash":-1028247766,"unique_id":"SK6oIPemRh8upLHtvszV_"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"703","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3HXB-VKKK-P7WH-IBBI","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":104.4711456298828,"x":-464.7496337890625},"door_coords":{"y":-1046.199462890625,"z":104.47119140625,"x":-464.09954833984377},"model_hash":-1028247766,"unique_id":"HH5FTfGPFup48qfSbj9w2"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"704","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6P7B-O9XO-INGX-AOCV","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":104.4711456298828,"x":-464.44775390625},"door_coords":{"y":-1041.1383056640626,"z":104.47119140625,"x":-465.0978393554688},"model_hash":-1028247766,"unique_id":"yPLwu3dCzfzwL6b_E4J7q"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"705","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ELKS-JM2W-MFFJ-V882","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1046.199462890625,"z":104.4711456298828,"x":-450.83782958984377},"door_coords":{"y":-1046.199462890625,"z":104.47119140625,"x":-450.187744140625},"model_hash":-1028247766,"unique_id":"jN_nhAqlA608MsUJ2Jlpd"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"La Puerta B","keep_open":false,"secret":false,"auto_lock":5,"door_name":"706","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"2O1G-LRVM-27HG-5Y28","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1041.1383056640626,"z":104.4711456298828,"x":-450.5216674804688},"door_coords":{"y":-1041.1383056640626,"z":104.47119140625,"x":-451.1717529296875},"model_hash":-1028247766,"unique_id":"b6X6lp6atRUe3sVwLZkwp"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]}],"imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_MRPD.json b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_MRPD.json
new file mode 100644
index 000000000..d5eb0c327
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_MRPD.json
@@ -0,0 +1 @@
+{"name":"[Kiiya]_MRPD.json","data":[{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Staff 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0LYX-FQ23-MNEZ-9WOJ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-990.135498046875,"z":30.86026763916015,"x":450.9755859375},"door_coords":{"y":-990.785400390625,"z":30.86031723022461,"x":450.9755859375},"model_hash":724647882,"unique_id":"CjPROCUAiCNrMrVOiaaI4"},{"pivot_coords":{"y":-992.704833984375,"z":30.86026763916015,"x":450.9755859375},"door_coords":{"y":-992.054931640625,"z":30.86031723022461,"x":450.9755859375},"model_hash":724647882,"unique_id":"nPkDQZkYgTDqlw7F2mHKr"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Dispatch","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0NHQ-7SFN-P3BW-1UZS","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-993.44873046875,"z":35.85631561279297,"x":467.446044921875},"door_coords":{"y":-993.44873046875,"z":35.84484100341797,"x":467.009521484375},"model_hash":1955879974,"unique_id":"B-2AHpKARSqtENpHrAh6A"},{"pivot_coords":{"y":-993.44873046875,"z":35.85631561279297,"x":465.717529296875},"door_coords":{"y":-993.44873046875,"z":35.84484100341797,"x":466.154052734375},"model_hash":1955879974,"unique_id":"CYsClVf5XDhoEySPvf_ok"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"13GE-K6TH-Q68Z-IGR1","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-997.1904907226564,"z":26.54211807250976,"x":475.4518127441406},"door_coords":{"y":-997.1904907226564,"z":26.54211807250976,"x":474.7956848144531},"model_hash":-1128962475,"unique_id":"omaJ2FEn9Njr71yAQAi2N"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"ID 1 - 1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1V16-R3IQ-EXED-MK76","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-989.4274291992188,"z":26.53600311279297,"x":476.4607543945313},"door_coords":{"y":-989.4274291992188,"z":26.53605270385742,"x":475.8108520507813},"model_hash":724647882,"unique_id":"DuO3jOWQe4mgORsFT2eXW"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Reception 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1YG1-1RDY-AZME-H7HL","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-979.5903930664064,"z":30.85941505432129,"x":450.9893798828125},"door_coords":{"y":-980.239990234375,"z":30.85941505432129,"x":450.9896240234375},"model_hash":-447103739,"unique_id":"_Z6unPcvB-2wpi-qW5G1L"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Interrogation","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"2D74-0G8K-U2UG-GOK1","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-992.72607421875,"z":26.53600311279297,"x":471.9654846191406},"door_coords":{"y":-992.076171875,"z":26.53605270385742,"x":471.9654846191406},"model_hash":724647882,"unique_id":"xRGZ6c2VE2XBgP2aEoI6U"},{"pivot_coords":{"y":-990.15673828125,"z":26.53600311279297,"x":471.9654846191406},"door_coords":{"y":-990.806640625,"z":26.53605270385742,"x":471.9654846191406},"model_hash":724647882,"unique_id":"FYtagw17z2i2xwpxur2PJ"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Mugshot","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"2IHN-31MH-EE9Y-E5MC","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-980.5164794921876,"z":26.53864288330078,"x":469.30621337890627},"door_coords":{"y":-980.5164794921876,"z":26.53869247436523,"x":468.65631103515627},"model_hash":344724096,"unique_id":"v6Prk-GgtTza0H8kexnzo"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cells E-1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"4IPB-4S89-KV7G-54YC","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-995.3909301757813,"z":26.53864288330078,"x":477.4440002441406},"door_coords":{"y":-995.3981323242188,"z":26.53869247436523,"x":478.0938720703125},"model_hash":344724096,"unique_id":"Ls_Cz-t4NkuNV28jHwT6k"},{"pivot_coords":{"y":-995.3909301757813,"z":26.53864288330078,"x":480.0133361816406},"door_coords":{"y":-995.3902587890624,"z":26.53869247436523,"x":479.3634338378906},"model_hash":344724096,"unique_id":"4DmGAMcn-1HIfM69rQ0S0"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"door_data":[{"pivot_coords":{"y":-995.1724243164064,"z":35.84897994995117,"x":431.2754821777344},"door_coords":{"y":-994.6342163085938,"z":35.92611312866211,"x":431.2756042480469},"model_hash":1793582536,"unique_id":"FLnxFZ9BdT2GR7ranRjIl"},{"pivot_coords":{"y":-993.0509643554688,"z":35.84897994995117,"x":431.2754821777344},"door_coords":{"y":-993.5891723632813,"z":35.92611312866211,"x":431.2753601074219},"model_hash":1793582536,"unique_id":"L9CS6ifnzAOCBRnlM2G9C"}],"location_group":"MRPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":true,"door_name":"Captains Balcony","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"4WL5-M6EM-S4Y3-YG42","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Rear Entrance","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5FBA-JA6I-6RNC-KH7Y","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1007.9246826171876,"z":26.53864288330078,"x":467.4873352050781},"door_coords":{"y":-1007.9275512695313,"z":26.47975158691406,"x":468.0680847167969},"model_hash":1410578420,"unique_id":"ltYueuQXhM4V1cOXbUhqT"},{"pivot_coords":{"y":-1007.9246826171876,"z":26.53864288330078,"x":469.8103332519531},"door_coords":{"y":-1007.923828125,"z":26.47975158691406,"x":469.2295837402344},"model_hash":1410578420,"unique_id":"IV6h2EBxjYJATsYpGuWGE"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Staff 1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5VFG-W77Y-CKH6-MFGW","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-989.4273681640624,"z":30.83731842041015,"x":443.8370361328125},"door_coords":{"y":-989.4273681640624,"z":30.85084342956543,"x":443.3156433105469},"model_hash":638238480,"unique_id":"KZNPyveL5f2TQ-vAHke4N"},{"pivot_coords":{"y":-989.4273681640624,"z":30.83731842041015,"x":441.7520751953125},"door_coords":{"y":-989.4273681640624,"z":30.85084342956543,"x":442.2734680175781},"model_hash":638238480,"unique_id":"1SxCl6wEZpkzVgvJmjDfC"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Staff 3","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6RCS-EV6Q-XTW5-7GLV","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-977.06005859375,"z":30.85884475708007,"x":452.011962890625},"door_coords":{"y":-977.06005859375,"z":30.85889434814453,"x":452.661865234375},"model_hash":724647882,"unique_id":"HWaRPA3RDxLjDIJOrh8cN"},{"pivot_coords":{"y":-977.06005859375,"z":30.85884475708007,"x":454.581298828125},"door_coords":{"y":-977.06005859375,"z":30.85889434814453,"x":453.931396484375},"model_hash":724647882,"unique_id":"JQfAnis5CP_fvGahW2kZk"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garage Exit","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"7FYW-SGFC-ER3P-GSLE","door_unlock_sound":"door_switch.ogg","distance":8,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1000.8652954101564,"z":26.78423309326172,"x":436.2902221679688},"door_coords":{"y":-1000.859375,"z":26.70521354675293,"x":436.2610473632813},"model_hash":976692599,"unique_id":"iDQCeDAuxastbw63qNtfS"},{"pivot_coords":{"y":-1000.9005126953124,"z":27.35950660705566,"x":431.4737243652344},"door_coords":{"y":-1000.9234008789064,"z":27.28365135192871,"x":431.4445495605469},"model_hash":976692599,"unique_id":"Y89JW0PtarjJJEb_MLH0x"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_switch.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garages","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"AOX5-W4HI-JSD3-VWQH","door_unlock_sound":"door_switch.ogg","distance":8,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1014.6458740234376,"z":31.08664894104004,"x":460.10589599609377},"door_coords":{"y":-1014.6467895507813,"z":31.03021621704101,"x":460.10504150390627},"model_hash":-190780785,"unique_id":"WjAygYvFAVgVeqtHx5wWz"},{"pivot_coords":{"y":-1019.6995239257813,"z":30.37457275390625,"x":459.17529296875},"door_coords":{"y":-1019.700439453125,"z":30.33130073547363,"x":459.2115173339844},"model_hash":-190780785,"unique_id":"0ANfx1gbpEJ-z1raNftfX"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_switch.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Gate","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ASOR-XA9G-BTGV-9TP9","door_unlock_sound":"door_click.ogg","distance":8,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1016.2949829101564,"z":27.14852714538574,"x":488.894775390625},"door_coords":{"y":-1019.0382690429688,"z":28.70109176635742,"x":488.9159851074219},"model_hash":-1603817716,"unique_id":"JGwEzbSZTEggCL9Hu0ImT"}],"camera":false,"door_type":"gates","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 4","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"BMD2-P9CI-5PE5-AWA1","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1003.402099609375,"z":26.53600311279297,"x":482.00787353515627},"door_coords":{"y":-1003.402099609375,"z":26.53600311279297,"x":482.66400146484377},"model_hash":-1128962475,"unique_id":"0XZSPDgPFeRfZwBsZxFuh"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Reception 1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"C2W3-X2BU-OJOQ-W6FK","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-989.4298706054688,"z":30.86026382446289,"x":449.7108459472656},"door_coords":{"y":-989.4298706054688,"z":30.86031341552734,"x":449.0609436035156},"model_hash":724647882,"unique_id":"Z3O2mUOkhhcXKAVxRQtYL"},{"pivot_coords":{"y":-989.4298706054688,"z":30.86026382446289,"x":447.1415100097656},"door_coords":{"y":-989.4296875,"z":30.86031341552734,"x":447.7914123535156},"model_hash":724647882,"unique_id":"LzEKilw6p5YuPLtidbPIV"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Office","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"CK48-2XI4-D4CK-FL1A","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-974.9234619140624,"z":35.8563117980957,"x":449.6540832519531},"door_coords":{"y":-975.3599853515624,"z":35.8448371887207,"x":449.6540832519531},"model_hash":1955879974,"unique_id":"wh7bQp3lVgwEvyulyiIVS"},{"pivot_coords":{"y":-976.6519775390624,"z":35.8563117980957,"x":449.6540832519531},"door_coords":{"y":-976.2154541015624,"z":35.8448371887207,"x":449.6540832519531},"model_hash":1955879974,"unique_id":"X1r98Or_XJGAoGzRITgzf"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cells E-2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"D8KV-HCH9-9U28-WT8P","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1001.5822143554688,"z":26.53600311279297,"x":471.9654846191406},"door_coords":{"y":-1000.9323120117188,"z":26.53605270385742,"x":471.9654846191406},"model_hash":724647882,"unique_id":"u6VrPg4CruJqy1xE3fQyu"},{"pivot_coords":{"y":-999.0128784179688,"z":26.53600311279297,"x":471.9654846191406},"door_coords":{"y":-999.6627807617188,"z":26.53605270385742,"x":471.9654846191406},"model_hash":724647882,"unique_id":"rmuZIM2tKRIt_tkw82HQj"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Records","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DJW6-5BTY-KA77-V99B","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-993.4523315429688,"z":30.86026763916015,"x":450.2171325683594},"door_coords":{"y":-993.4523315429688,"z":30.86031723022461,"x":449.5672302246094},"model_hash":344724096,"unique_id":"uT5RzUeXqtt8Oqr2vmhAG"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Lockers","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"F7D3-26JW-TOLV-L990","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-993.4429321289064,"z":30.86026382446289,"x":466.0697937011719},"door_coords":{"y":-993.4429321289064,"z":30.86031341552734,"x":466.7196960449219},"model_hash":344724096,"unique_id":"kkqXB1S4apcpKRhzdRPtZ"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Detectives Office","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FC0M-O5ML-G94S-MSCQ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-986.8261108398438,"z":32.86949920654297,"x":480.5041198730469},"door_coords":{"y":-987.2626342773438,"z":32.85802459716797,"x":480.5041198730469},"model_hash":1955879974,"unique_id":"odom8brrQWsb5NDLd5SdI"},{"pivot_coords":{"y":-988.5546264648438,"z":32.86949920654297,"x":480.5041198730469},"door_coords":{"y":-988.1181030273438,"z":32.85802459716797,"x":480.5041198730469},"model_hash":1955879974,"unique_id":"AWEgqnL4Vv_Q8fn1yx1VD"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Entrance","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FH7I-DW3P-RM5E-SJKA","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-984.6488647460938,"z":30.93213272094726,"x":434.3034057617188},"door_coords":{"y":-983.9700927734376,"z":31.15432167053222,"x":434.3035278320313},"model_hash":1740682758,"unique_id":"zsP74FLnY_3ftJvq_6OXt"},{"pivot_coords":{"y":-981.9366455078124,"z":30.93213272094726,"x":434.3034057617188},"door_coords":{"y":-982.6154174804688,"z":31.15432167053222,"x":434.30328369140627},"model_hash":1740682758,"unique_id":"Sg1tVxVgt2D4u-Iva8l62"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Captains Office","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FLHU-U6K1-3GAG-VOAZ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-992.1512451171876,"z":35.85631561279297,"x":439.5744934082031},"door_coords":{"y":-991.7147216796876,"z":35.84484100341797,"x":439.5744934082031},"model_hash":1955879974,"unique_id":"N0CrMeIcjp7zkx2nQncC6"},{"pivot_coords":{"y":-990.4227294921876,"z":35.85631561279297,"x":439.5744934082031},"door_coords":{"y":-990.8592529296876,"z":35.84484100341797,"x":439.5744934082031},"model_hash":1955879974,"unique_id":"5hvUWvJKwpgOW3cRKnljz"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Staircase A-1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"G3K3-BCC1-AUSN-AWMA","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-993.4453735351564,"z":26.53600311279297,"x":460.2278747558594},"door_coords":{"y":-993.4453735351564,"z":26.53605270385742,"x":460.8777770996094},"model_hash":724647882,"unique_id":"kTfSUvMVHag9j4tBRtQWY"},{"pivot_coords":{"y":-993.4453735351564,"z":26.53600311279297,"x":462.7972106933594},"door_coords":{"y":-993.4453735351564,"z":26.53605270385742,"x":462.1473083496094},"model_hash":724647882,"unique_id":"UEmg_MefoQxgf97yxVd_H"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 3","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"H8PU-WZMX-IF6V-AO4B","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-998.1248779296876,"z":26.53600311279297,"x":485.1469421386719},"door_coords":{"y":-998.781005859375,"z":26.53600311279297,"x":485.1469421386719},"model_hash":-1128962475,"unique_id":"XvB1hFClUoJar1-NcpSQM"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Rooftop","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HFAR-ZSP6-KE1J-612A","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-976.4896850585938,"z":43.82694244384765,"x":440.24273681640627},"door_coords":{"y":-975.8381958007813,"z":43.82694244384765,"x":440.256103515625},"model_hash":456034598,"unique_id":"d57-CrU0NceHcLCYnbqKY"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Staircase A1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HQCU-8KZQ-OTII-HSU2","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-993.4429321289064,"z":30.86026382446289,"x":462.7972106933594},"door_coords":{"y":-993.4409790039064,"z":30.86031341552734,"x":462.1473083496094},"model_hash":724647882,"unique_id":"Y4IZbvhH_EpbyaTOtDz2q"},{"pivot_coords":{"y":-993.4429321289064,"z":30.86026382446289,"x":460.2278747558594},"door_coords":{"y":-993.4358520507813,"z":30.86031341552734,"x":460.8777465820313},"model_hash":724647882,"unique_id":"lbzGMkOWMKcvo08mi1bK6"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Offices 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HVMO-PCRB-QDVT-BMWK","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-977.0833129882813,"z":30.83731842041015,"x":459.7123718261719},"door_coords":{"y":-977.0833129882813,"z":30.85084342956543,"x":460.2337646484375},"model_hash":638238480,"unique_id":"YWBAbqK0fH26Hn6cftwmz"},{"pivot_coords":{"y":-977.0833129882813,"z":30.83731842041015,"x":461.7973327636719},"door_coords":{"y":-977.0833129882813,"z":30.85084342956543,"x":461.27593994140627},"model_hash":638238480,"unique_id":"F9p29G22q8qeMUna0RIki"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Lab","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"J6Z6-U1NF-HHLX-3I8V","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1002.3139038085938,"z":26.52623748779297,"x":465.9565124511719},"door_coords":{"y":-1002.9638061523438,"z":26.52628517150879,"x":465.9567260742188},"model_hash":344724096,"unique_id":"a0eQ2pMWhbzat0nt_816r"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"ID 2 - 1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JP1B-Q6S2-LPBJ-OWWC","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-992.0842895507813,"z":26.53600311279297,"x":482.5631713867188},"door_coords":{"y":-991.4343872070313,"z":26.53605270385742,"x":482.5631713867188},"model_hash":724647882,"unique_id":"CB9Ft4ss54R3FazOcaX0R"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 5","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KNHM-YVEK-BTQA-MP3K","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1003.3795166015624,"z":26.54211807250976,"x":479.8437805175781},"door_coords":{"y":-1003.3795166015624,"z":26.54211807250976,"x":479.1876525878906},"model_hash":-1128962475,"unique_id":"qWEtdcFSh6Auo6r-2VZVc"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Side Entrance","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LM25-BWQ5-EKMA-73FY","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-999.2144775390624,"z":30.89053344726562,"x":443.0387878417969},"door_coords":{"y":-999.21435546875,"z":30.96766662597656,"x":442.50054931640627},"model_hash":1793582536,"unique_id":"sIZdyumyVd07ffirlbhm8"},{"pivot_coords":{"y":-999.2144775390624,"z":30.89053344726562,"x":440.9173278808594},"door_coords":{"y":-999.214599609375,"z":30.96766662597656,"x":441.45556640625},"model_hash":1793582536,"unique_id":"-kg4cKsn3UIwrV7cywfdV"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garage Entrance ","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"M077-8KSR-DVGE-VUH4","door_unlock_sound":"door_switch.ogg","distance":8,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1000.8652954101564,"z":26.77781295776367,"x":452.3645629882813},"door_coords":{"y":-1000.859375,"z":26.69879341125488,"x":452.33538818359377},"model_hash":976692599,"unique_id":"Le5qU_NeZGvJn-DCWkogC"},{"pivot_coords":{"y":-1000.8959350585938,"z":27.39326858520507,"x":447.5514526367188},"door_coords":{"y":-1000.9204711914064,"z":27.31792640686035,"x":447.5222778320313},"model_hash":976692599,"unique_id":"QRx1qIaYj_uB2hIcYhGFm"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_switch.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Conference Room","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"N3QJ-2JUD-K5YO-H9OH","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-995.1199340820313,"z":30.88321685791015,"x":439.5099182128906},"door_coords":{"y":-994.6834106445313,"z":30.87174224853515,"x":439.5099182128906},"model_hash":1955879974,"unique_id":"bs5C-u1JFhpnSoE-YmwtG"},{"pivot_coords":{"y":-993.3914184570313,"z":30.88321685791015,"x":439.5099182128906},"door_coords":{"y":-993.8279418945313,"z":30.87174224853515,"x":439.5099182128906},"model_hash":1955879974,"unique_id":"hAeb1RdxVuANBvkX7o2wR"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"ID 2 - 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"NDCD-GR19-6BLO-FG2L","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-989.4274291992188,"z":26.53864288330078,"x":480.558349609375},"door_coords":{"y":-989.4274291992188,"z":26.53869247436523,"x":481.208251953125},"model_hash":344724096,"unique_id":"QvVtgzo5Ia0u65WRmu04V"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 6","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"O1VO-80ZB-6941-Y97D","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1003.3795166015624,"z":26.54211807250976,"x":475.4518127441406},"door_coords":{"y":-1003.3795166015624,"z":26.54211807250976,"x":474.7956848144531},"model_hash":-1128962475,"unique_id":"IWIUOCW1_kxWrU6BD0qNA"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Staff 4","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"O5G2-GYS7-P1DP-MMC2","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-975.6898803710938,"z":30.83731842041015,"x":445.632080078125},"door_coords":{"y":-975.16845703125,"z":30.85084342956543,"x":445.632080078125},"model_hash":638238480,"unique_id":"-lbc1aBTxASOzAT7hjKTD"},{"pivot_coords":{"y":-973.6049194335938,"z":30.83731842041015,"x":445.632080078125},"door_coords":{"y":-974.1263427734376,"z":30.85084342956543,"x":445.632080078125},"model_hash":638238480,"unique_id":"B9S-8NJirnvf6iToluBcO"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Office 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OYZS-7AJ3-IVAG-VYFX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-988.3258666992188,"z":26.53600311279297,"x":464.7608337402344},"door_coords":{"y":-988.3258666992188,"z":26.53605270385742,"x":464.1109313964844},"model_hash":724647882,"unique_id":"uuR2QLSxI496dZ-E_opTB"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Offices","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RKCT-J69Q-PH2O-9LE9","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-989.42822265625,"z":30.88179397583007,"x":453.869384765625},"door_coords":{"y":-989.42822265625,"z":30.87031936645507,"x":453.432861328125},"model_hash":1955879974,"unique_id":"AcMaIlvHmsaZdj5lcWb1k"},{"pivot_coords":{"y":-989.42822265625,"z":30.88179397583007,"x":452.140869140625},"door_coords":{"y":-989.42822265625,"z":30.87031936645507,"x":452.577392578125},"model_hash":1955879974,"unique_id":"StzmukaJVGXFt7q0QrlWx"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Briefing","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"SYZ9-81RE-XHHJ-4SSL","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-991.4815063476564,"z":32.86949920654297,"x":480.5041198730469},"door_coords":{"y":-991.9180297851564,"z":32.85802459716797,"x":480.5041198730469},"model_hash":1955879974,"unique_id":"MvHJXK6FWwBTx0nj2QmXk"},{"pivot_coords":{"y":-993.2100219726564,"z":32.86949920654297,"x":480.5041198730469},"door_coords":{"y":-992.7734985351564,"z":32.85802459716797,"x":480.5041198730469},"model_hash":1955879974,"unique_id":"9MSBD9l7a8Qr8dmSlpItP"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Break Room 1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TCRD-LMJC-DRQP-LM2K","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-989.20166015625,"z":35.85631561279297,"x":458.6144714355469},"door_coords":{"y":-989.20166015625,"z":35.84484100341797,"x":459.0509948730469},"model_hash":1955879974,"unique_id":"gvGjcr-QoZe3W4sQgoldG"},{"pivot_coords":{"y":-989.20166015625,"z":35.85631561279297,"x":460.3429870605469},"door_coords":{"y":-989.20166015625,"z":35.84484100341797,"x":459.9064636230469},"model_hash":1955879974,"unique_id":"a7eFbYwZfLeTflYlvgxJT"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Offices 3","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"TVWY-R0R7-34T6-FUG8","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-979.5903930664064,"z":30.85941505432129,"x":465.1530151367188},"door_coords":{"y":-980.23974609375,"z":30.85941696166992,"x":465.170654296875},"model_hash":-447103739,"unique_id":"D6EXWDxZNmjoynrdaqXIE"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"ID 1 - 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UCLB-T3SI-1S3V-8ROW","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-989.4274291992188,"z":26.53864288330078,"x":479.1182861328125},"door_coords":{"y":-989.4274291992188,"z":26.53869247436523,"x":478.4683837890625},"model_hash":344724096,"unique_id":"-S4qnJC_Z5UTRRx0pl5BW"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garage","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UCUH-REO5-TXXF-GI15","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-991.9172973632813,"z":26.51305389404297,"x":459.16168212890627},"door_coords":{"y":-991.3958740234376,"z":26.52657890319824,"x":459.16168212890627},"model_hash":638238480,"unique_id":"fFcopmY1qatWOhhxyG2YY"},{"pivot_coords":{"y":-989.8323364257813,"z":26.51305389404297,"x":459.16168212890627},"door_coords":{"y":-990.353759765625,"z":26.52657890319824,"x":459.16168212890627},"model_hash":638238480,"unique_id":"KylLFLabERT-7qs9hQeKK"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Armory","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VV7U-9UWK-WD2N-Y2JP","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-993.4429321289064,"z":30.86026382446289,"x":454.0609436035156},"door_coords":{"y":-993.4429321289064,"z":30.86031341552734,"x":454.7108459472656},"model_hash":724647882,"unique_id":"FAije70vnTl3o3GUY45ES"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"X4LS-VDQB-G1IP-0OBL","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-997.1904907226564,"z":26.54211807250976,"x":482.00787353515627},"door_coords":{"y":-997.1904907226564,"z":26.54211807250976,"x":482.66400146484377},"model_hash":-1128962475,"unique_id":"_c1PoIFelmVhrcXrwaK6L"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Archive","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XOM2-JUV1-5E7J-E21I","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-981.4446411132813,"z":35.81041717529297,"x":466.0036926269531},"door_coords":{"y":-981.4446411132813,"z":35.82394409179687,"x":466.5250854492188},"model_hash":638238480,"unique_id":"Mh6oIaNKdy0FTgZ0pzwu6"},{"pivot_coords":{"y":-981.4446411132813,"z":35.81041717529297,"x":468.0886535644531},"door_coords":{"y":-981.4446411132813,"z":35.82394409179687,"x":467.5672607421875},"model_hash":638238480,"unique_id":"a5L69Qhul54KFUCESNzaO"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Balcony","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XZ0H-W5MD-YJ8E-RP6I","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1004.0848388671876,"z":32.86216354370117,"x":477.4415893554688},"door_coords":{"y":-1004.0849609375,"z":32.93929672241211,"x":477.9798278808594},"model_hash":1793582536,"unique_id":"Y4DEeoMkphzqnKR4BoF8D"},{"pivot_coords":{"y":-1004.0848388671876,"z":32.86216354370117,"x":479.56304931640627},"door_coords":{"y":-1004.098876953125,"z":32.93929672241211,"x":479.0249938964844},"model_hash":1793582536,"unique_id":"42xdltsoImaRMFLUHCbGC"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Meeting Room","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Z9JQ-QJ21-LN8G-RH6L","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-993.44873046875,"z":35.85631561279297,"x":448.41650390625},"door_coords":{"y":-993.44873046875,"z":35.84484100341797,"x":447.97998046875},"model_hash":1955879974,"unique_id":"tkwGUlXT2cRJzzhHdlt-O"},{"pivot_coords":{"y":-993.44873046875,"z":35.85631561279297,"x":446.68798828125},"door_coords":{"y":-993.44873046875,"z":35.84484100341797,"x":447.12451171875},"model_hash":1955879974,"unique_id":"SlV_24eBRiQ5W-1rhMT4r"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Break Room 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZNTN-FM85-5FYY-06K8","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-984.1599731445313,"z":35.8563117980957,"x":449.6245422363281},"door_coords":{"y":-983.7234497070313,"z":35.8448371887207,"x":449.6245422363281},"model_hash":1955879974,"unique_id":"lSKtvwwyuApaDMrln0Zf-"},{"pivot_coords":{"y":-982.4314575195313,"z":35.8563117980957,"x":449.6245422363281},"door_coords":{"y":-982.8679809570313,"z":35.8448371887207,"x":449.6245422363281},"model_hash":1955879974,"unique_id":"I9C0CtwIoVw89jZ_oA1SP"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Bollards Entrance","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"IWOW-YAW6-CZA5-8XEC","door_unlock_sound":"electronic_door.ogg","distance":10,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1028.9693603515626,"z":29.18405151367187,"x":421.95208740234377},"door_coords":{"y":-1028.9693603515626,"z":26.8578872680664,"x":421.9508056640625},"model_hash":-1204184667,"unique_id":"SdurQatBTRXi7fKdRMY2d"}],"camera":false,"door_type":"gates","default_state":true,"door_sound":"electronic_door.ogg","items":[]},{"location_group":"MRPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Bollards Exit","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LZYF-3JSH-YKGJ-UUZB","door_unlock_sound":"electronic_door.ogg","distance":10,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1020.5901489257813,"z":29.34151649475097,"x":412.2324523925781},"door_coords":{"y":-1020.5901489257813,"z":27.0153522491455,"x":412.2337341308594},"model_hash":-1204184667,"unique_id":"iEOdLp1GDnVvH2wK9nVKo"}],"camera":false,"door_type":"gates","default_state":true,"door_sound":"electronic_door.ogg","items":[]}],"imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_Pillbox.json b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_Pillbox.json
new file mode 100644
index 000000000..f1e19ba9b
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_Pillbox.json
@@ -0,0 +1 @@
+{"name":"[Kiiya]_Pillbox.json","data":[{"door_data":[{"pivot_coords":{"y":-583.620849609375,"z":43.49274063110351,"x":300.109619140625},"door_coords":{"y":-584.2586669921875,"z":43.71364593505859,"x":299.8773498535156},"model_hash":348017252,"unique_id":"2uKTeSO6cyO8aM2rWRFfT"},{"pivot_coords":{"y":-586.1694946289063,"z":43.49274063110351,"x":299.1819763183594},"door_coords":{"y":-585.5316772460938,"z":43.71364593505859,"x":299.41424560546877},"model_hash":348017252,"unique_id":"wIRgUxr-mPdhMkotfeH1v"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Entrance","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HZR6-PAAR-NVTP-CUET","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-591.9754638671875,"z":43.43382263183594,"x":302.6758422851563},"door_coords":{"y":-591.826171875,"z":43.42234802246094,"x":302.2656555175781},"model_hash":-1834628240,"unique_id":"0Kj8I3N6L35e_P0DOGA9V"},{"pivot_coords":{"y":-591.38427734375,"z":43.43382263183594,"x":301.0515747070313},"door_coords":{"y":-591.5335693359375,"z":43.42234802246094,"x":301.4617614746094},"model_hash":-1834628240,"unique_id":"AfqCKCYLdn5YlQVY0VQbY"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Pharmacy","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"WW99-NQJO-SHJG-TAT8","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-594.9772338867188,"z":43.43382263183594,"x":310.9232177734375},"door_coords":{"y":-594.8279418945313,"z":43.42234802246094,"x":310.5130310058594},"model_hash":-1834628240,"unique_id":"uLSfOuUlAGWvLOm7qiqDw"},{"pivot_coords":{"y":-594.3860473632813,"z":43.43382263183594,"x":309.2989501953125},"door_coords":{"y":-594.5353393554688,"z":43.42234802246094,"x":309.7091369628906},"model_hash":-1834628240,"unique_id":"zFLgsZQKt5u4khIahLa87"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Coffee Shop","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Z0ZI-NCCU-CQWP-EZPK","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-590.2503051757813,"z":43.41071701049805,"x":318.3209228515625},"door_coords":{"y":-590.8610229492188,"z":43.4107666015625,"x":318.0986328125},"model_hash":-747139241,"unique_id":"ijYmxYcwC48AQJmSllXyw"},{"pivot_coords":{"y":-592.6920776367188,"z":43.41071701049805,"x":317.4321899414063},"door_coords":{"y":-592.0813598632813,"z":43.4107666015625,"x":317.65447998046877},"model_hash":-747139241,"unique_id":"ORtW85ZtZ-rlidKr3WiaV"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Ward A2","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KY8D-IH02-RF7E-5WZM","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-576.5452880859375,"z":43.40055084228515,"x":308.0659790039063},"door_coords":{"y":-576.767578125,"z":43.40060043334961,"x":308.67669677734377},"model_hash":1035363283,"unique_id":"DgdXz5mmdKMTECQhCw6rD"},{"pivot_coords":{"y":-577.4340209960938,"z":43.40055084228515,"x":310.5077209472656},"door_coords":{"y":-577.2117309570313,"z":43.40060043334961,"x":309.8970031738281},"model_hash":1035363283,"unique_id":"YT-oDd7xXS8iAYYoAXCgy"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Ward A1","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GT1V-15HN-8PJ3-JWXU","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-571.0552368164063,"z":43.41071701049805,"x":311.1787414550781},"door_coords":{"y":-570.8329467773438,"z":43.4107666015625,"x":310.5680236816406},"model_hash":-747139241,"unique_id":"2WK6fcmDOX74cWPIOuk-T"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Diagnostic","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UMUG-HDG4-EMAZ-TNRE","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-577.953125,"z":43.41071701049805,"x":315.0541687011719},"door_coords":{"y":-578.1754150390625,"z":43.4107666015625,"x":315.6648864746094},"model_hash":-747139241,"unique_id":"6NKtrfG_nAG3LcuV4IEQm"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Storage","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FG2K-1ODR-ZC0K-Z835","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-573.1661987304688,"z":43.40055084228515,"x":316.98291015625},"door_coords":{"y":-573.3884887695313,"z":43.40060043334961,"x":317.5936279296875},"model_hash":1035363283,"unique_id":"XfgxxdColXLvkYmrBkGgA"},{"pivot_coords":{"y":-574.054931640625,"z":43.40055084228515,"x":319.4246520996094},"door_coords":{"y":-573.8326416015625,"z":43.40060043334961,"x":318.8139343261719},"model_hash":1035363283,"unique_id":"gGGg5tM2hPwp4MlmVTB5w"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"XRAY MRI","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5HE1-71XT-NAT4-2357","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-575.3245239257813,"z":43.41071701049805,"x":329.6799011230469},"door_coords":{"y":-574.7138061523438,"z":43.4107666015625,"x":329.9021911621094},"model_hash":-747139241,"unique_id":"xM-fjfugU-5wTbuF33abq"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"103 Diagnostic","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"HQ6R-60NF-6WON-SG85","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-583.2288208007813,"z":43.41071701049805,"x":326.802978515625},"door_coords":{"y":-583.8395385742188,"z":43.4107666015625,"x":326.5806884765625},"model_hash":788186716,"unique_id":"_EcIgx9CQHQ7xENBMnWQp"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"WC","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"D617-T6AT-KCAL-F8XH","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-595.836181640625,"z":43.41071701049805,"x":318.8347778320313},"door_coords":{"y":-596.0584716796875,"z":43.4107666015625,"x":319.44549560546877},"model_hash":788186716,"unique_id":"VvSVMvIzxuZsWvwkTY6XM"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Staff","door_type":"garage","perms":{"ace":[],"identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"X2WC-GQ1Z-VFY1-3SU0","door_unlock_sound":"","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-595.3538818359375,"z":43.41071701049805,"x":326.9639282226563},"door_coords":{"y":-595.9636840820313,"z":43.41076278686523,"x":326.7392272949219},"model_hash":-747139241,"unique_id":"UIeNHU-6A-XTUdx-v8SSn"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Staff 2","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"F5EP-SX0V-3BJP-GD68","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-579.064453125,"z":43.41519546508789,"x":329.4309692382813},"door_coords":{"y":-579.6751708984375,"z":43.41524505615234,"x":329.20867919921877},"model_hash":-747139241,"unique_id":"TQHWGxkajJ_c8KONRoD_b"},{"pivot_coords":{"y":-581.5062255859375,"z":43.41519546508789,"x":328.542236328125},"door_coords":{"y":-580.8955078125,"z":43.41524505615234,"x":328.7645263671875},"model_hash":-747139241,"unique_id":"kd7pdKlmCHgNwCeW2Q7Pb"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Ward B","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"IHCK-ATFF-FSLU-MCNV","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-579.8413696289063,"z":43.40055084228515,"x":335.32275390625},"door_coords":{"y":-580.0636596679688,"z":43.40060043334961,"x":335.9334716796875},"model_hash":1035363283,"unique_id":"tkDhvw9YvoZJA3CDqPjLi"},{"pivot_coords":{"y":-580.7300415039063,"z":43.40055084228515,"x":337.7644958496094},"door_coords":{"y":-580.5077514648438,"z":43.40060043334961,"x":337.1537780761719},"model_hash":1035363283,"unique_id":"x5G65yRTl5QcVrBUeC9bn"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"104 Surgery","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"I902-M46X-SBZJ-WSZ8","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-587.2743530273438,"z":43.40055084228515,"x":340.6526489257813},"door_coords":{"y":-587.0520629882813,"z":43.40060043334961,"x":340.04193115234377},"model_hash":1035363283,"unique_id":"WHZCnNwj8KOyTgtApFL0B"},{"pivot_coords":{"y":-586.3856201171875,"z":43.40055084228515,"x":338.2109375},"door_coords":{"y":-586.60791015625,"z":43.40060043334961,"x":338.8216552734375},"model_hash":1035363283,"unique_id":"OKPjh09bAvAfcwb_QGQ6I"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"105 Recovery","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"V7MH-EMC2-6DHN-6WBL","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-579.1243286132813,"z":43.40055084228515,"x":345.6226806640625},"door_coords":{"y":-579.7350463867188,"z":43.40060043334961,"x":345.400390625},"model_hash":1035363283,"unique_id":"PybamSPQ5XKRD_eBFcq2Q"},{"pivot_coords":{"y":-581.5660400390625,"z":43.40055084228515,"x":344.7339477539063},"door_coords":{"y":-580.955322265625,"z":43.40060043334961,"x":344.95623779296877},"model_hash":1035363283,"unique_id":"SwhC8726IWiS-ihP3hBc2"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"106 Surgery","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"SAVF-07N6-8YN8-MF4R","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-594.8955078125,"z":43.41071701049805,"x":351.792724609375},"door_coords":{"y":-594.2847900390625,"z":43.4107666015625,"x":352.0150146484375},"model_hash":-747139241,"unique_id":"LYL7W-P88Z9HvSHhpKhhz"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"108","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"4LS0-RFPR-3G16-0ZOK","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-600.0431518554688,"z":43.41071701049805,"x":349.91912841796877},"door_coords":{"y":-599.4324340820313,"z":43.4107666015625,"x":350.1414184570313},"model_hash":-747139241,"unique_id":"-jOA9fLmBb4QEC7i2gk4d"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"109","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LP61-7ASW-RQ0W-47AR","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-585.0505981445313,"z":43.41071701049805,"x":355.3759765625},"door_coords":{"y":-584.4398803710938,"z":43.4107666015625,"x":355.5982666015625},"model_hash":-747139241,"unique_id":"UPmdaaUa7hopc7Hn0N3Bv"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"107","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0T0E-11R0-0H9B-IX92","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-594.2048950195313,"z":43.41066360473633,"x":359.6722412109375},"door_coords":{"y":-594.4271850585938,"z":43.41071319580078,"x":360.282958984375},"model_hash":-747139241,"unique_id":"VTmLG2BWvQlTzNcsJ9Z3Q"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"110","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1SVP-061Q-210L-0RT4","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-589.7876586914063,"z":43.41066360473633,"x":362.6632690429688},"door_coords":{"y":-589.5653686523438,"z":43.41071319580078,"x":362.0525512695313},"model_hash":-747139241,"unique_id":"ha5sg6JlBwIBvyRf7yxFt"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"111","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"0X1B-Y5ZM-38QF-INLQ","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-591.53857421875,"z":29.00149154663086,"x":356.5027770996094},"door_coords":{"y":-590.9007568359375,"z":29.22239685058593,"x":356.73504638671877},"model_hash":348017252,"unique_id":"r_74XpqvY5Z8YlH3ZvaTc"},{"pivot_coords":{"y":-588.98681640625,"z":29.00184440612793,"x":357.4319763183594},"door_coords":{"y":-589.6246337890625,"z":29.222749710083,"x":357.19970703125},"model_hash":348017252,"unique_id":"9ybR6mXifFmdf5xX3rgoP"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Lower Entrance","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XD6I-LMZQ-NIJK-BLHJ","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-593.1419067382813,"z":28.92997360229492,"x":334.698974609375},"door_coords":{"y":-592.5311889648438,"z":28.93002319335937,"x":334.9212646484375},"model_hash":1035363283,"unique_id":"RHgSYax6YfZueKpLlGqmL"},{"pivot_coords":{"y":-590.7001342773438,"z":28.92997360229492,"x":335.5876770019531},"door_coords":{"y":-591.3108520507813,"z":28.93002319335937,"x":335.3653869628906},"model_hash":1035363283,"unique_id":"GEq0LLBy_TSzbBJEewJW7"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Ward LA","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3S74-5ZK4-9VCN-NO33","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-588.666015625,"z":28.93002700805664,"x":333.7699279785156},"door_coords":{"y":-588.4437255859375,"z":28.93007659912109,"x":333.1592102050781},"model_hash":788186716,"unique_id":"fVYQNPvep1pGaSXLcQQAs"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Reception","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"4GWW-QYUW-P9RU-50LI","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-592.1209716796875,"z":28.92997360229492,"x":328.1435241699219},"door_coords":{"y":-591.898681640625,"z":28.93002319335937,"x":327.5328063964844},"model_hash":1035363283,"unique_id":"V9o6JPaJuhQl2DhvgWuBG"},{"pivot_coords":{"y":-591.2322387695313,"z":28.92997360229492,"x":325.7017822265625},"door_coords":{"y":-591.4545288085938,"z":28.93002319335937,"x":326.3125},"model_hash":1035363283,"unique_id":"DQ9BwfqhPbvkp_H7ekVKL"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Surgery","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"92HP-E44P-MDZF-SAJ0","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-580.1630859375,"z":28.93002700805664,"x":305.28729248046877},"door_coords":{"y":-580.7738037109375,"z":28.93007659912109,"x":305.0650024414063},"model_hash":-747139241,"unique_id":"hKr2tvLElh_Uwh4K6j1gC"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Lab","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Q3OT-2AFN-SQR2-WRVL","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-578.3988037109375,"z":28.93892860412597,"x":307.2973327636719},"door_coords":{"y":-578.62109375,"z":28.93897628784179,"x":307.9080505371094},"model_hash":1035363283,"unique_id":"PYsiq_M3TQyWeEJtekG_c"},{"pivot_coords":{"y":-579.2874755859375,"z":28.93892860412597,"x":309.7390747070313},"door_coords":{"y":-579.065185546875,"z":28.93897628784179,"x":309.12835693359377},"model_hash":1035363283,"unique_id":"ziAr5xf_pk9f37wXpLb8q"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Ward LC","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"T7BG-9WES-SYJX-NTU1","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-569.5517578125,"z":28.93892860412597,"x":309.1565856933594},"door_coords":{"y":-570.1700439453125,"z":28.93897819519043,"x":308.9564208984375},"model_hash":788186716,"unique_id":"vqqea2cofHkOqhS7kMKuZ"},{"pivot_coords":{"y":-571.9934692382813,"z":28.93892860412597,"x":308.2679443359375},"door_coords":{"y":-571.3799438476563,"z":28.93897819519043,"x":308.4823913574219},"model_hash":788186716,"unique_id":"64Qgs6WM9DtyDAQXGj0do"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Autopsy","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"QWAY-TIAM-ZAMQ-21FZ","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-567.5037841796875,"z":28.95292282104492,"x":315.3711242675781},"door_coords":{"y":-567.9139404296875,"z":28.94144821166992,"x":315.2218322753906},"model_hash":-1834628240,"unique_id":"pR8JYZjvYlA6zHuikRxzT"},{"pivot_coords":{"y":-569.1281127929688,"z":28.95292282104492,"x":314.7799377441406},"door_coords":{"y":-568.7179565429688,"z":28.94144821166992,"x":314.9292297363281},"model_hash":-1834628240,"unique_id":"SblpdaRqsLzrcin1euQx-"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Garage E1","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1BXO-6CKT-UVSS-XOAC","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-580.7024536132813,"z":28.95292282104492,"x":331.8537902832031},"door_coords":{"y":-580.5531616210938,"z":28.94144821166992,"x":331.443603515625},"model_hash":-1834628240,"unique_id":"48_GqMI35AEInYk3WT8Cr"},{"pivot_coords":{"y":-580.1112670898438,"z":28.95292282104492,"x":330.2295227050781},"door_coords":{"y":-580.2605590820313,"z":28.94144821166992,"x":330.6397094726563},"model_hash":-1834628240,"unique_id":"CLUspOjYbIqXNBLmLfj3Z"}],"location_group":"Pillbox","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Garage E2","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1PIP-3Y9F-4OT8-7P40","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"Pillbox","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garage Exit","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"J7O3-W0W8-VJNO-OWRN","door_unlock_sound":"door_click.ogg","distance":7,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-565.1314086914063,"z":29.80692481994629,"x":339.1701965332031},"door_coords":{"y":-565.1461791992188,"z":29.90268325805664,"x":339.1648254394531},"model_hash":-109365179,"unique_id":"MmzVuzq_vfr0RVEC361VB"}],"camera":false,"door_type":"garage","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Pillbox","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garage Entrance","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"YQPL-SXLQ-RDO5-6K8B","door_unlock_sound":"door_click.ogg","distance":7,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-561.1033935546875,"z":29.55999374389648,"x":327.9894714355469},"door_coords":{"y":-561.1043701171875,"z":29.65703201293945,"x":327.9891052246094},"model_hash":-109365179,"unique_id":"kawy6aF5yZSsrbFqw1M-w"}],"camera":false,"door_type":"garage","default_state":true,"door_sound":"door_regular.ogg","items":[]}],"imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_Tinsel_Towers.json b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_Tinsel_Towers.json
new file mode 100644
index 000000000..acb3ffb51
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_Tinsel_Towers.json
@@ -0,0 +1 @@
+{"name":"[Kiiya]_Tinsel_Towers.json","data":[{"door_data":[{"pivot_coords":{"y":38.32268524169922,"z":43.8205337524414,"x":-597.380859375},"door_coords":{"y":38.32257461547851,"z":44.00874710083008,"x":-596.650146484375},"model_hash":450914138,"unique_id":"kztSvM-uAkP11A4DVjm9M"},{"pivot_coords":{"y":38.32268524169922,"z":43.8205337524414,"x":-594.45654296875},"door_coords":{"y":38.32279586791992,"z":44.00874710083008,"x":-595.187255859375},"model_hash":450914138,"unique_id":"TVSdrkeuAsOlXX_aWGAKu"}],"location_group":"Tinsel Towers","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Entrance","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5THE-17GM-5276-93AH","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"101","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"S7PD-S0Q1-U9NH-UIBX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":56.25019836425781,"x":-586.7962646484375},"door_coords":{"y":50.65519332885742,"z":56.25024795532226,"x":-586.1461791992188},"model_hash":1759602825,"unique_id":"EoAiETbFMX47K1BR5j8Ow"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"102","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"3PBZ-RNP7-ILWX-ZJSU","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":56.25019836425781,"x":-591.56396484375},"door_coords":{"y":56.53554534912109,"z":56.25024795532226,"x":-592.2140502929688},"model_hash":1759602825,"unique_id":"XCJL2v3lntgjgi7270FAf"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"103","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"T21N-IAGB-AEZI-ZB6Q","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":56.25019836425781,"x":-598.125244140625},"door_coords":{"y":50.65519332885742,"z":56.25024795532226,"x":-597.4751586914063},"model_hash":1759602825,"unique_id":"tpsEMZW5XFkScXipC7EhW"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"104","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"S1QZ-WWM6-E66Q-98RQ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":56.25019836425781,"x":-602.89697265625},"door_coords":{"y":56.53554534912109,"z":56.25024795532226,"x":-603.5470581054688},"model_hash":1759602825,"unique_id":"7o5gQoZvgqk9zlJX5xREB"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"105","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"1A6T-A6X4-366C-5SPQ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":56.25273513793945,"x":-609.4581909179688},"door_coords":{"y":50.65519332885742,"z":56.2527847290039,"x":-608.80810546875},"model_hash":1759602825,"unique_id":"IXLinf89Xj8ZInmg-jdd_"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"106","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"IST0-N2GJ-1P3U-164J","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":56.25019836425781,"x":-614.22998046875},"door_coords":{"y":56.53554534912109,"z":56.25024795532226,"x":-614.8800659179688},"model_hash":1759602825,"unique_id":"WFHZz1KTmbZ0DjMbYBi_A"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"107","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"MQKM-KO1V-9I2P-8IPY","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":56.25019836425781,"x":-620.791259765625},"door_coords":{"y":50.65519332885742,"z":56.25024795532226,"x":-620.1411743164063},"model_hash":1759602825,"unique_id":"kw8jq4MHSqiTXKxDvZ_j7"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"301","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"D03V-ENDL-C00T-AR4Z","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":65.62503814697266,"x":-586.7962646484375},"door_coords":{"y":50.65519332885742,"z":65.62508392333985,"x":-586.1461791992188},"model_hash":1759602825,"unique_id":"Gdqfozug-A_gaKf2RfoVJ"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"302","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"16Q0-RW5L-ZXM5-ISHO","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":65.62503814697266,"x":-591.56396484375},"door_coords":{"y":56.53554534912109,"z":65.62508392333985,"x":-592.2140502929688},"model_hash":1759602825,"unique_id":"Yh33mSYIa5kIX9q8CKGGe"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"303","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"8COL-NAQI-MF1O-J4HH","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":65.62503814697266,"x":-598.125244140625},"door_coords":{"y":50.65519332885742,"z":65.62508392333985,"x":-597.4751586914063},"model_hash":1759602825,"unique_id":"-NI9w5GxKtnjxiY1yjHvh"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"304","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FK05-8K4Z-87B7-P4T5","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":65.62503814697266,"x":-602.89697265625},"door_coords":{"y":56.53554534912109,"z":65.62508392333985,"x":-603.5470581054688},"model_hash":1759602825,"unique_id":"RPhesY9AypoFjfgC1RqmE"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"305","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"24L1-Z6V9-Z7QZ-S8M4","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":65.62757873535156,"x":-609.4581909179688},"door_coords":{"y":50.65519332885742,"z":65.62762451171875,"x":-608.80810546875},"model_hash":1759602825,"unique_id":"K8_qBGBPh2FPTtKfsRDn2"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"306","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"P3DQ-LTW7-RLGS-6QAJ","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":65.62503814697266,"x":-614.22998046875},"door_coords":{"y":56.53554534912109,"z":65.62508392333985,"x":-614.8800659179688},"model_hash":1759602825,"unique_id":"PhlQzfhzOO8jrxl9NiZQH"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"307","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"A0EG-8IMH-RTM7-BK0H","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":65.62503814697266,"x":-620.791259765625},"door_coords":{"y":50.65519332885742,"z":65.62508392333985,"x":-620.1411743164063},"model_hash":1759602825,"unique_id":"dMzhQL1kUubJoE7emfWF8"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"501","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RTX1-23EK-5G03-NN62","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":75.96147155761719,"x":-586.7962646484375},"door_coords":{"y":50.65519332885742,"z":75.96151733398438,"x":-586.1461791992188},"model_hash":1759602825,"unique_id":"RnrjCLG0zAzBZbH4_DgSp"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"502","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GSTQ-SEIK-ZV8S-726H","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":75.96147155761719,"x":-591.56396484375},"door_coords":{"y":56.53554534912109,"z":75.96151733398438,"x":-592.2140502929688},"model_hash":1759602825,"unique_id":"tdOHiIlmihYUbm4Sjm3uM"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"503","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5DQ0-KUFP-56SP-SP45","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":75.96147155761719,"x":-598.125244140625},"door_coords":{"y":50.65519332885742,"z":75.96151733398438,"x":-597.4751586914063},"model_hash":1759602825,"unique_id":"qttQgKjkJmSKeg3_T95Gh"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"504","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"NLD3-XDBQ-3YI0-IFK1","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":75.96147155761719,"x":-602.89697265625},"door_coords":{"y":56.53554534912109,"z":75.96151733398438,"x":-603.5470581054688},"model_hash":1759602825,"unique_id":"ewQM-MoC9Cf0N-yd8Bvno"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"505","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XMWM-ZP70-FLA8-R5DC","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":75.96400451660156,"x":-609.4581909179688},"door_coords":{"y":50.65519332885742,"z":75.96405029296875,"x":-608.80810546875},"model_hash":1759602825,"unique_id":"LL6Y-DO6CGFJ30IKlPNOB"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"506","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"SJRX-L4UH-RXI0-A4DA","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":75.96147155761719,"x":-614.22998046875},"door_coords":{"y":56.53554534912109,"z":75.96151733398438,"x":-614.8800659179688},"model_hash":1759602825,"unique_id":"876KexWkAkqGdkFZzfrRT"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"507","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"5AZX-KAX4-PIO6-2YM8","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":75.96147155761719,"x":-620.791259765625},"door_coords":{"y":50.65519332885742,"z":75.96151733398438,"x":-620.1411743164063},"model_hash":1759602825,"unique_id":"V8C-d-skZGdpR3voO-5w2"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"707","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"C601-I4MD-VFWP-UQ6V","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":86.29740142822266,"x":-620.791259765625},"door_coords":{"y":50.65519332885742,"z":86.29744720458985,"x":-620.1411743164063},"model_hash":1759602825,"unique_id":"EC7KGor1-pKwQ9EFmINp1"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"706","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GGXT-IGA1-BAL7-XN1X","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":86.29740142822266,"x":-614.22998046875},"door_coords":{"y":56.53554534912109,"z":86.29744720458985,"x":-614.8800659179688},"model_hash":1759602825,"unique_id":"GZh6TEjyPD4NQyyH9681k"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"705","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VZO7-5F7S-QXHU-THD7","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":86.29994201660156,"x":-609.4581909179688},"door_coords":{"y":50.65519332885742,"z":86.29998779296875,"x":-608.80810546875},"model_hash":1759602825,"unique_id":"nZrbQxllwrc0nE1MiF1ZQ"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"704","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FRBY-6A2P-S7N8-26M6","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":86.29740142822266,"x":-602.89697265625},"door_coords":{"y":56.53554534912109,"z":86.29744720458985,"x":-603.5470581054688},"model_hash":1759602825,"unique_id":"vmusZv7SK3IA-GMZqogDH"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"703","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"9NH5-07PK-BBBI-S3W8","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":86.29740142822266,"x":-598.125244140625},"door_coords":{"y":50.65519332885742,"z":86.29744720458985,"x":-597.4751586914063},"model_hash":1759602825,"unique_id":"51OaQgQ8k-8QkW_yZ5btO"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"702","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"T5WP-G6CD-DAOZ-LFOX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":86.29740142822266,"x":-591.56396484375},"door_coords":{"y":56.53554534912109,"z":86.29744720458985,"x":-592.2140502929688},"model_hash":1759602825,"unique_id":"S5RWsFygcXlOQilbNgv8H"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"701","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"NNOR-95EE-59CD-27NY","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":86.29740142822266,"x":-586.7962646484375},"door_coords":{"y":50.65519332885742,"z":86.29744720458985,"x":-586.1461791992188},"model_hash":1759602825,"unique_id":"X7i92kCCtBU6rbqF2rz3y"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"801","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UHMU-R09Z-QZKL-RMH0","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":96.6338348388672,"x":-586.7962646484375},"door_coords":{"y":50.65519332885742,"z":96.63388061523438,"x":-586.1461791992188},"model_hash":1759602825,"unique_id":"n5Gma352kGFb5dQngvuEy"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"802","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UWHI-8FUT-BNJU-UJ75","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":96.6338348388672,"x":-591.56396484375},"door_coords":{"y":56.53554534912109,"z":96.63388061523438,"x":-592.2140502929688},"model_hash":1759602825,"unique_id":"lXLe6D9Jsb1ursyKQmi0u"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"803","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"6KTT-NP20-R5NC-LWJI","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":96.6338348388672,"x":-598.125244140625},"door_coords":{"y":50.65519332885742,"z":96.63388061523438,"x":-597.4751586914063},"model_hash":1759602825,"unique_id":"yjSDrPzV8VRcbcjRN9i5H"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"804","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"VBBZ-06AJ-95VC-YRM6","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":96.6338348388672,"x":-602.89697265625},"door_coords":{"y":56.53554534912109,"z":96.63388061523438,"x":-603.5470581054688},"model_hash":1759602825,"unique_id":"wg7-Q4dJYhBSqwt4JCQoL"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"805","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JINO-YX1D-JNK4-QVQI","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":96.63636779785156,"x":-609.4581909179688},"door_coords":{"y":50.65519332885742,"z":96.63641357421877,"x":-608.80810546875},"model_hash":1759602825,"unique_id":"fUNPc7Rujbr3I1yTTA33h"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"806","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GVAT-LUI4-0WC1-JMU3","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":96.6338348388672,"x":-614.22998046875},"door_coords":{"y":56.53554534912109,"z":96.63388061523438,"x":-614.8800659179688},"model_hash":1759602825,"unique_id":"m0gsCr6KMSCRBZy_cDs1E"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"807","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"U1OQ-UPBB-1BTI-S7BS","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":96.6338348388672,"x":-620.791259765625},"door_coords":{"y":50.65519332885742,"z":96.63388061523438,"x":-620.1411743164063},"model_hash":1759602825,"unique_id":"37q6YmJ24tFAXFOzZyzCW"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"907","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"K6HR-MM6V-YPW6-GE4A","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":106.97025299072266,"x":-620.791259765625},"door_coords":{"y":50.65519332885742,"z":106.97029876708985,"x":-620.1411743164063},"model_hash":1759602825,"unique_id":"2kkCFtBXMGromY_j_m1pA"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"906","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"K83R-U1A9-7M52-K9Q3","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":106.97025299072266,"x":-614.22998046875},"door_coords":{"y":56.53554534912109,"z":106.97029876708985,"x":-614.8800659179688},"model_hash":1759602825,"unique_id":"M_4obLrKdOuVeYhWI16zo"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"905","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"XQ6H-FAIE-8Z12-ZPVX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":106.97279357910156,"x":-609.4581909179688},"door_coords":{"y":50.65519332885742,"z":106.97283935546877,"x":-608.80810546875},"model_hash":1759602825,"unique_id":"BVMLUmpIpLU1GJBqZ4eYg"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"904","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"FSN3-DSZN-83GT-VH21","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":106.97025299072266,"x":-602.89697265625},"door_coords":{"y":56.53554534912109,"z":106.97029876708985,"x":-603.5470581054688},"model_hash":1759602825,"unique_id":"RProA0m4upwRkmJbvh4vr"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"903","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"Q5NM-LDY7-T8FI-35RP","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":106.97025299072266,"x":-598.125244140625},"door_coords":{"y":50.65519332885742,"z":106.97029876708985,"x":-597.4751586914063},"model_hash":1759602825,"unique_id":"uicix4vzob-58bXHMV_cH"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"902","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"4C82-WOMP-BFDE-D0TG","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":56.53554534912109,"z":106.97025299072266,"x":-591.56396484375},"door_coords":{"y":56.59678649902344,"z":106.97029876708985,"x":-592.211181640625},"model_hash":1759602825,"unique_id":"tOVGQQsBugmubu9ZPymob"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"Tinsel Towers","keep_open":false,"secret":false,"auto_lock":5,"door_name":"901","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GQKW-I8FQ-EL2Z-OOMX","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":50.65519332885742,"z":106.97025299072266,"x":-586.7962646484375},"door_coords":{"y":50.65519332885742,"z":106.97029876708985,"x":-586.1461791992188},"model_hash":1759602825,"unique_id":"Q1BG_OkWZYxmcBJdxSV0X"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]}],"imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_VWPD.json b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_VWPD.json
new file mode 100644
index 000000000..7d72c2b26
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Kiiya]_VWPD.json
@@ -0,0 +1 @@
+{"name":"[Kiiya]_VWPD.json","data":[{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 5","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"2JDP-Y4QB-FQ0N-IBZ5","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-3.44934368133544,"z":75.2068862915039,"x":630.9553833007813},"door_coords":{"y":-3.67485690116882,"z":75.2068862915039,"x":631.574951171875},"model_hash":-1211457738,"unique_id":"lRhxA0Knv-miaHN06gEyv"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 4","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"38JD-QAG6-WA2G-2CO1","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-1.05811786651611,"z":75.2068862915039,"x":638.00537109375},"door_coords":{"y":-0.83260470628738,"z":75.2068862915039,"x":637.3858032226563},"model_hash":-1211457738,"unique_id":"u852snisJYlMXIqFWVLMK"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"door_data":[{"pivot_coords":{"y":5.54113101959228,"z":75.18975067138672,"x":615.1294555664063},"door_coords":{"y":4.93042182922363,"z":75.1897964477539,"x":614.9071655273438},"model_hash":1209875826,"unique_id":"HJm_-sMrZoMSWVbGZQ5_U"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":true,"door_name":"Records","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"79A9-PNPE-1V1R-EEKV","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"ID 1 - 1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"7MK3-SW1T-RTZ0-Q7YU","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-9.14540863037109,"z":75.18975067138672,"x":620.8160400390625},"door_coords":{"y":-8.92313003540039,"z":75.1897964477539,"x":620.205322265625},"model_hash":1209875826,"unique_id":"R9yiW2h7Jd3OiT5OA4t9o"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garage Entrance","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"AQNB-9Q49-HAIC-QMRV","door_unlock_sound":"door_click.ogg","distance":5,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-21.61287307739257,"z":71.43109130859375,"x":531.7734375},"door_coords":{"y":-21.61026954650879,"z":71.43109130859375,"x":531.7777099609375},"model_hash":-937317868,"unique_id":"PDzY_SZnAMBaMYfE3ig87"}],"camera":false,"door_type":"garage","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"door_data":[{"pivot_coords":{"y":11.25139713287353,"z":87.94696807861328,"x":621.2945556640625},"door_coords":{"y":11.47589969635009,"z":87.94701385498047,"x":620.6846313476563},"model_hash":904042749,"unique_id":"amON1laasfzSVOQHJGBwp"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":true,"door_name":"Top Front Desk","door_type":"garage","perms":{"ace":[],"identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"B0QC-9PZE-3QBV-YL6R","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-6.48184919357299,"z":83.79183959960938,"x":621.5067749023438},"door_coords":{"y":-5.87136173248291,"z":83.79183959960938,"x":621.7286987304688},"model_hash":-78496913,"unique_id":"pJA4vHRgVB05KDk05NcEz"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Office","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"CQVB-QI1S-JACF-1JO5","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 3","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"CSO6-PO9M-W9C5-2NSL","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":0.47643280029296,"z":75.2068862915039,"x":633.7891845703125},"door_coords":{"y":0.70194596052169,"z":75.2068862915039,"x":633.1696166992188},"model_hash":-1211457738,"unique_id":"_Xt7DGSoGuC7iysy6l-G1"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Staff","perms":{"ace":[],"identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"CT4I-I5EL-BFPB-19VU","door_unlock_sound":"","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-0.49801301956176,"z":83.79041290283203,"x":622.5158081054688},"door_coords":{"y":-0.27573496103286,"z":83.79045867919922,"x":621.9050903320313},"model_hash":904042749,"unique_id":"ofGHzr6DA9ipDZNvwa1KD"},{"pivot_coords":{"y":0.38074588775634,"z":83.79041290283203,"x":620.1014404296875},"door_coords":{"y":0.15846762061119,"z":83.79045867919922,"x":620.712158203125},"model_hash":904042749,"unique_id":"jAnCgSTHLE4SeG_oBAN2Z"}],"camera":false,"door_type":"garage","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cells E-2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"D4M3-TXME-NBFU-X5OY","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":1.58675575256347,"z":75.1976089477539,"x":620.1452026367188},"door_coords":{"y":2.19746470451355,"z":75.1976547241211,"x":620.3674926757813},"model_hash":904042749,"unique_id":"XUDJOOqCUoQYMwsUNKaDj"},{"pivot_coords":{"y":4.00114393234252,"z":75.1976089477539,"x":621.0239868164063},"door_coords":{"y":3.39043498039245,"z":75.1976547241211,"x":620.8016967773438},"model_hash":904042749,"unique_id":"IRFeLfc3RK62fDi3RVMAj"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"ID 1 - 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DHG2-1FNN-10IE-0L4V","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-10.05437469482421,"z":75.18975067138672,"x":623.3134155273438},"door_coords":{"y":-9.83209609985351,"z":75.1897964477539,"x":622.7026977539063},"model_hash":1209875826,"unique_id":"xFqhHMDYwD1sotTpZSruz"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"ID 2 - 1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DWQN-126T-DVVE-UU1M","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-11.45563697814941,"z":75.18975067138672,"x":627.1633911132813},"door_coords":{"y":-11.67791557312011,"z":75.1897964477539,"x":627.7741088867188},"model_hash":1209875826,"unique_id":"LCK1IZNksgW6fVAi3-Bfg"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"door_data":[{"pivot_coords":{"y":4.01733970642089,"z":87.94692993164063,"x":611.7239990234375},"door_coords":{"y":3.40663051605224,"z":87.94697570800781,"x":611.501708984375},"model_hash":904042749,"unique_id":"9T3MzV5PfWKtfENtpo9Zz"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Armory","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"DZO2-YO7A-TIU1-TCGN","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-23.70253372192382,"z":87.97476196289063,"x":621.9647827148438},"door_coords":{"y":-24.11272048950195,"z":87.96328735351563,"x":621.8154907226563},"model_hash":-949097449,"unique_id":"pXHDAWjC0fqboDP2jmfYR"},{"pivot_coords":{"y":-25.32680892944336,"z":87.97476196289063,"x":621.3735961914063},"door_coords":{"y":-24.91662216186523,"z":87.96328735351563,"x":621.5228881835938},"model_hash":-949097449,"unique_id":"lSrHKIz23OLsbYtqtNzaq"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Detectives Office","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EIOS-MEAU-NDFN-R5TZ","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":7.33741855621337,"z":75.18975067138672,"x":615.7832641601563},"door_coords":{"y":7.94812774658203,"z":75.1897964477539,"x":616.0055541992188},"model_hash":904042749,"unique_id":"z8mBhPrkvWNCKG8FwUxwA"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":true,"door_name":"Mugshot","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"EYE7-AOC5-8SSE-EONR","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garage","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GJBS-42K8-LKIA-NLME","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":1.54574596881866,"z":75.17169189453125,"x":602.0919799804688},"door_coords":{"y":2.03570199012756,"z":75.18521881103516,"x":602.2703247070313},"model_hash":350684880,"unique_id":"vWWG_DPitiHZeXyY8Onc_"},{"pivot_coords":{"y":3.5042188167572,"z":75.17169189453125,"x":602.8048095703125},"door_coords":{"y":3.01426267623901,"z":75.18521881103516,"x":602.62646484375},"model_hash":350684880,"unique_id":"SRC2eDm-6MlcxSRnAY9mk"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cells E-1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"GTGS-QFOU-1URD-91DO","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-5.98750209808349,"z":75.1976089477539,"x":626.9262084960938},"door_coords":{"y":-5.7660961151123,"z":75.1976547241211,"x":626.315185546875},"model_hash":1209875826,"unique_id":"kUQUBed9zJ9wHZPLIlH1Y"},{"pivot_coords":{"y":-5.10874414443969,"z":75.1976089477539,"x":624.5118408203125},"door_coords":{"y":-5.3329267501831,"z":75.1976547241211,"x":625.121826171875},"model_hash":1209875826,"unique_id":"Sjy_flK_BtruqZJm1HGq8"}],"camera":false,"door_type":"double","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"door_data":[{"pivot_coords":{"y":-3.43295097351074,"z":75.46691131591797,"x":607.0188598632813},"door_coords":{"y":-4.04366016387939,"z":75.46695709228516,"x":606.7965698242188},"model_hash":904042749,"unique_id":"H_gYENhoGTqhu29kMDX9e"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Underground Staircase","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"JI2Q-15ZI-7CNF-KEVH","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"KHIJ-ZLDC-OCE3-4N4T","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":2.01140022277832,"z":75.2068862915039,"x":629.5718994140625},"door_coords":{"y":2.23691344261169,"z":75.2068862915039,"x":628.9523315429688},"model_hash":-1211457738,"unique_id":"BSrB_H4q4hS8mLrkkzrEy"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"door_data":[{"pivot_coords":{"y":0.74432945251464,"z":82.96331024169922,"x":637.2406616210938},"door_coords":{"y":1.38431191444396,"z":83.18550109863281,"x":637.4669189453125},"model_hash":-1741081375,"unique_id":"WLrVwsMuyLmsHZks0ZOWR"},{"pivot_coords":{"y":3.29295444488525,"z":82.96331024169922,"x":638.1683349609375},"door_coords":{"y":2.65720891952514,"z":83.18550109863281,"x":637.930419921875},"model_hash":-1741081375,"unique_id":"phCVh8zdyQ1hQ6wZRy1bO"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Entrance","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"LJM5-3FN2-IOV6-VANF","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":10.46266365051269,"z":87.94692993164063,"x":614.0698852539063},"door_coords":{"y":9.85195446014404,"z":87.94697570800781,"x":613.8475952148438},"model_hash":1209875826,"unique_id":"3sE_TMt4dmlEujikdRA2n"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Lockers","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"M4HR-M5PQ-MAL3-RH2N","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-12.53207302093505,"z":87.97476196289063,"x":626.0304565429688},"door_coords":{"y":-12.94225978851318,"z":87.96328735351563,"x":625.8811645507813},"model_hash":-949097449,"unique_id":"g26e8KCIoU90uQdI314O7"},{"pivot_coords":{"y":-14.15634727478027,"z":87.97476196289063,"x":625.4392700195313},"door_coords":{"y":-13.74616050720214,"z":87.96328735351563,"x":625.5885620117188},"model_hash":-949097449,"unique_id":"HR9VVeovVarG8zX7G_bD4"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Briefing","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"MHXQ-8KQF-QAMA-C3PM","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-6.04655075073242,"z":87.97476196289063,"x":628.3909912109375},"door_coords":{"y":-6.45673751831054,"z":87.96328735351563,"x":628.24169921875},"model_hash":-949097449,"unique_id":"HuIasqS1eQk0CPuCuJUxQ"},{"pivot_coords":{"y":-7.67082500457763,"z":87.97476196289063,"x":627.7998046875},"door_coords":{"y":-7.26063823699951,"z":87.96328735351563,"x":627.9490966796875},"model_hash":-949097449,"unique_id":"BVcekQjiQNEOLjrBFLCRB"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Captains Office","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"NJLV-719G-TSBY-2AJ3","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Garage Exit","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"NZ60-2T57-G6IV-5R8U","door_unlock_sound":"door_click.ogg","distance":5,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-24.40727233886718,"z":71.43109130859375,"x":527.1881713867188},"door_coords":{"y":-24.4046688079834,"z":71.43109130859375,"x":527.1924438476563},"model_hash":-937317868,"unique_id":"QO3f-5eAnkliH2S7JHWqk"}],"camera":false,"door_type":"garage","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"door_data":[{"pivot_coords":{"y":-20.01787948608398,"z":87.97476196289063,"x":617.9921875},"door_coords":{"y":-19.60769271850586,"z":87.96328735351563,"x":618.1414794921875},"model_hash":-949097449,"unique_id":"65V-L_kD6EKt9OXAg-Jse"},{"pivot_coords":{"y":-18.39360427856445,"z":87.97476196289063,"x":618.5833740234375},"door_coords":{"y":-18.80379104614257,"z":87.96328735351563,"x":618.43408203125},"model_hash":-949097449,"unique_id":"R4GPARkVD8mSrBN2pP0A-"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Break Room","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"OTD2-YV87-SQAJ-GK64","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-3.05082178115844,"z":83.78694915771485,"x":617.6838989257813},"door_coords":{"y":-2.44011282920837,"z":83.78699493408203,"x":617.9061889648438},"model_hash":904042749,"unique_id":"Oox0EPlxtuA0SVcfdee7i"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Staff 2","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"PMXW-TWRP-PP5O-LXAY","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-3.44694113731384,"z":83.78553771972656,"x":607.0573120117188},"door_coords":{"y":-4.06480312347412,"z":83.78558349609375,"x":606.8557739257813},"model_hash":904042749,"unique_id":"VVvPDuor0c4ACZ3MyAR_Y"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Staircase","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"REXS-3CEY-ZVYO-IE48","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"ID Room","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"RU0H-HJGH-1TR4-E6YI","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":8.28167819976806,"z":75.18975067138672,"x":620.0294799804688},"door_coords":{"y":8.50395679473877,"z":75.1897964477539,"x":619.4187622070313},"model_hash":1209875826,"unique_id":"S3klpHk4CsVEdkFBmRIQA"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 1","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"SBIK-LM2S-Z18J-C068","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":3.54620218276977,"z":75.2068862915039,"x":625.3550415039063},"door_coords":{"y":3.77171540260314,"z":75.2068862915039,"x":624.7354736328125},"model_hash":-1211457738,"unique_id":"8qjeqLBg1xIJqyzpM67vf"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"door_data":[{"pivot_coords":{"y":-4.11533832550048,"z":82.91439056396485,"x":632.4595336914063},"door_coords":{"y":-3.96604418754577,"z":82.90291595458985,"x":632.0493774414063},"model_hash":-949097449,"unique_id":"I5XYfmewU3TJqrxjXnzaW"},{"pivot_coords":{"y":-3.52415466308593,"z":82.91439056396485,"x":630.8352661132813},"door_coords":{"y":-3.67344903945922,"z":82.90291595458985,"x":631.2454223632813},"model_hash":-949097449,"unique_id":"GGTPw9IOB7EUPRJebNjuM"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Conference Room","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UFZF-OG7E-5EOB-6Z0M","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"door_data":[{"pivot_coords":{"y":-3.44783449172973,"z":87.94696807861328,"x":607.0597534179688},"door_coords":{"y":-4.06356716156005,"z":87.94701385498047,"x":606.851806640625},"model_hash":904042749,"unique_id":"TGHnuttKVzHCEchtDJU7P"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":false,"door_name":"Floor 2 Staircase","door_type":"single","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"UZR6-IX43-04CC-XYRI","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Top Entrance","perms":{"ace":[],"identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"V7QS-BFMC-SAWQ-724S","door_unlock_sound":"","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":16.2044506072998,"z":88.02085876464844,"x":620.947509765625},"door_coords":{"y":16.44688606262207,"z":88.24304962158203,"x":620.3134765625},"model_hash":-1741081375,"unique_id":"xVfcxhW6oiRixaPer5KOX"},{"pivot_coords":{"y":17.1320686340332,"z":88.02085876464844,"x":618.3988647460938},"door_coords":{"y":16.89532470703125,"z":88.24304962158203,"x":619.0350341796875},"model_hash":-1741081375,"unique_id":"HSS-zS97wYmNnRDzggWiJ"}],"camera":false,"door_type":"garage","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"ID 2 - 2","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"W3U8-I6QT-3447-98U2","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-10.54669189453125,"z":75.18975067138672,"x":624.6660766601563},"door_coords":{"y":-10.76897048950195,"z":75.1897964477539,"x":625.2767944335938},"model_hash":1209875826,"unique_id":"RcSIJ7amheObwiuMRIM1x"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]},{"door_data":[{"pivot_coords":{"y":-0.83938455581665,"z":87.92886352539063,"x":619.2533569335938},"door_coords":{"y":-1.3282823562622,"z":87.94239044189453,"x":619.0721435546875},"model_hash":350684880,"unique_id":"gY5RgYrSnSMv_I-P06Fwh"},{"pivot_coords":{"y":-2.79860854148864,"z":87.92886352539063,"x":618.5402221679688},"door_coords":{"y":-2.30889391899108,"z":87.94239044189453,"x":618.71923828125},"model_hash":350684880,"unique_id":"B8zB5QKy285HhzbPEQ53Y"}],"location_group":"VWPD","keep_open":false,"secret":false,"items":[],"door_sound":"door_regular.ogg","camera":false,"default_state":true,"door_name":"Offices","door_type":"double","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"X6G5-FYAN-EFKH-8K5P","door_unlock_sound":"door_click.ogg","distance":2,"state":false,"lockpickable":false},{"location_group":"VWPD","keep_open":false,"secret":false,"auto_lock":5,"door_name":"Cell 6","perms":{"ace":[],"passcode":"","identifier":[],"discord":[],"job":[{"name":"police","grade":0}],"items":[]},"unique_id":"ZVHT-TP2H-M8ZS-MEJF","door_unlock_sound":"door_click.ogg","distance":2,"state":true,"lockpickable":false,"door_data":[{"pivot_coords":{"y":-0.83122587203979,"z":75.2068862915039,"x":623.7617797851563},"door_coords":{"y":-0.60571271181106,"z":75.2068862915039,"x":623.1422119140625},"model_hash":-1211457738,"unique_id":"tc1fRSEDBsghVdaUuY5Gu"}],"camera":false,"door_type":"single","default_state":true,"door_sound":"door_regular.ogg","items":[]}],"imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Abandoned_Theater.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Abandoned_Theater.json
new file mode 100644
index 000000000..12b0bb49c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Abandoned_Theater.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Abandoned Theater E-1","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"X66D-USRW-AN5Y-542G","door_data":[{"model_hash":-1467927765,"door_coords":{"z":29.37477874755859,"y":-1458.4884033203126,"x":459.524658203125},"unique_id":"gu-DxTAnf4ASUY9gHuKjG"},{"model_hash":515013440,"door_coords":{"z":29.37696075439453,"y":-1457.966796875,"x":461.4029846191406},"unique_id":"-lMkw1SbbkVu50y3fq4nl"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Abandoned Theater E-2","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KRN7-MQ6M-LYOW-0I9A","door_data":[{"model_hash":-1467927765,"door_coords":{"z":29.37477874755859,"y":-1457.9501953125,"x":461.4469909667969},"unique_id":"_hB_IVCdXVWZZKFFIVTEW"},{"model_hash":515013440,"door_coords":{"z":29.37696075439453,"y":-1457.4351806640626,"x":463.3295593261719},"unique_id":"WxslJDnNvVq2kxhX0oiga"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Abandoned Theater 1-1","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"X5RD-JI40-7NT1-CHAZ","door_data":[{"model_hash":-515032007,"door_coords":{"z":29.38607788085937,"y":-1468.2510986328126,"x":461.196533203125},"unique_id":"aKFdrn5rd84-dAyUCDuvp"},{"model_hash":-515032007,"door_coords":{"z":29.38607788085937,"y":-1470.9388427734376,"x":461.9132385253906},"unique_id":"yoJ2IIL-wrCIlaWakB06U"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Abandoned Theater 1-2","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LHLJ-Z17I-43FW-MAFT","door_data":[{"model_hash":-1082864116,"door_coords":{"z":29.45929336547851,"y":-1478.88525390625,"x":457.0133361816406},"unique_id":"zKPG6Y4crD36E0HEYelPT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Abandoned Theater E-3","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MQWM-6CSN-N0YN-WMHQ","door_data":[{"model_hash":-973311781,"door_coords":{"z":29.32433700561523,"y":-1514.403076171875,"x":466.4030151367187},"unique_id":"G93kUs1DK9S29LbHXFSx2"},{"model_hash":816137771,"door_coords":{"z":29.32433700561523,"y":-1512.74462890625,"x":465.5633850097656},"unique_id":"hd77g5vEyoFcfno6ZrS61"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Abandoned Theater G-1","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JMNU-OQDL-24SE-766Q","door_data":[{"model_hash":-394365140,"door_coords":{"z":29.54345703125,"y":-1514.190185546875,"x":475.0255737304687},"unique_id":"BcDmCEc3T39qLa2gScTKF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Abandoned Theater G-2","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BBVE-KYHI-VTBY-6W6D","door_data":[{"model_hash":1019042346,"door_coords":{"z":29.54356384277343,"y":-1513.272216796875,"x":478.3542175292969},"unique_id":"5Kl1PJgum_4qhpvq3IdMI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Abandoned Theater E-4","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3PHK-BWBR-W7YV-002U","door_data":[{"model_hash":-973311781,"door_coords":{"z":29.34361267089843,"y":-1507.2802734375,"x":485.1081848144531},"unique_id":"4LpEpQVUPkiMSdQilctUZ"},{"model_hash":816137771,"door_coords":{"z":29.35664367675781,"y":-1509.07080078125,"x":485.60791015625},"unique_id":"g7URWqsmXZ9TIY6uccBVL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Abandoned Theater 1-3","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2EOC-7RO1-XOXH-JWLI","door_data":[{"model_hash":2114132590,"door_coords":{"z":29.3945026397705,"y":-1483.0712890625,"x":461.6162109375},"unique_id":"-9EIEHQtKNHknQIWY75dK"},{"model_hash":2114132590,"door_coords":{"z":29.3945026397705,"y":-1482.38671875,"x":464.1243591308594},"unique_id":"36Jzf7GyOOK5qpa6BvPx-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Abandoned Theater 1-4","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TILW-Z3YJ-EZNC-IG98","door_data":[{"model_hash":2114132590,"door_coords":{"z":29.39441108703613,"y":-1480.359375,"x":471.6172180175781},"unique_id":"mhAQVcb-dYrXJzpEllWbV"},{"model_hash":2114132590,"door_coords":{"z":29.39441108703613,"y":-1479.69384765625,"x":474.12939453125},"unique_id":"4wUEo1mEr2alXgAJjIds-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Abandoned Theater 1-5","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OZ2T-EP9H-KH6P-2RJ3","door_data":[{"model_hash":-823676600,"door_coords":{"z":29.45929336547851,"y":-1474.1746826171876,"x":474.4897155761719},"unique_id":"y7PXbJLSGkAXdebrCPlnL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Abandoned Theater 3-1","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3SFR-LQ9F-XYAU-R6I3","door_data":[{"model_hash":-976663736,"door_coords":{"z":36.49530792236328,"y":-1483.3873291015626,"x":462.5486145019531},"unique_id":"HYLlA6TrU-lqDBhhDZVww"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Abandoned Theater 3-2","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"I5BY-N8L9-JLUB-CP32","door_data":[{"model_hash":-976663736,"door_coords":{"z":36.49530792236328,"y":-1481.5867919921876,"x":473.38616943359377},"unique_id":"lnvlwQxSzz-1A2hy7UKQo"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Abandoned Theater 2-1","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BRP4-9YOD-ZVEJ-CWLQ","door_data":[{"model_hash":-92540141,"door_coords":{"z":32.70326995849609,"y":-1481.3631591796876,"x":461.66461181640627},"unique_id":"7vjRKFecrmSnMkU0L4kW5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Abandoned Theater 2-2","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CIPM-Q7ET-W88I-9A9P","door_data":[{"model_hash":2114132590,"door_coords":{"z":32.71543884277344,"y":-1488.851318359375,"x":458.7609252929687},"unique_id":"fcLKGVUHwfEPocIR43xix"},{"model_hash":2114132590,"door_coords":{"z":32.71543884277344,"y":-1488.2083740234376,"x":461.2673034667969},"unique_id":"HDLKsaGOZujIYZZayM4PG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Abandoned Theater 2-3","location_group":"Abandoned Theater","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"47T0-62G5-VTWO-EDGR","door_data":[{"model_hash":2114132590,"door_coords":{"z":32.71543884277344,"y":-1484.056884765625,"x":476.5036315917969},"unique_id":"1k8iPAS-VP2-rilbzsnyk"},{"model_hash":2114132590,"door_coords":{"z":32.71543884277344,"y":-1483.4107666015626,"x":479.0216674804687},"unique_id":"gB8gsH_OI9lpJ_bE0QW_7"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Abandoned_Theater.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Blaine_County_City_Hall.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Blaine_County_City_Hall.json
new file mode 100644
index 000000000..aa645635d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Blaine_County_City_Hall.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall E-1","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3IIS-3YKJ-5F5H-ERWS","door_data":[{"model_hash":1503255960,"door_coords":{"z":29.08551025390625,"y":6628.49462890625,"x":346.807861328125},"unique_id":"9puc_RkNx4ZyV8mZo85vQ"},{"model_hash":1503255960,"door_coords":{"z":29.08551025390625,"y":6629.8857421875,"x":345.4643249511719},"unique_id":"XBVYreoU4yAm02pM_DYZc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall E-2","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6HBQ-C11F-HW2O-IZLT","door_data":[{"model_hash":1503255960,"door_coords":{"z":33.87639236450195,"y":6603.50732421875,"x":357.399169921875},"unique_id":"qn2Fc5AiTs9IP_G4nHV9Q"},{"model_hash":1503255960,"door_coords":{"z":33.87639236450195,"y":6605.4462890625,"x":357.399169921875},"unique_id":"d3BlyHrGUoyeHHpm94siN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 1-1","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L6TW-6FCD-3IAL-LYNC","door_data":[{"model_hash":-462932014,"door_coords":{"z":29.00247001647949,"y":6626.822265625,"x":353.5418395996094},"unique_id":"WWKN4awceYk6DmBfFnVh-"},{"model_hash":467392331,"door_coords":{"z":29.00247001647949,"y":6628.6689453125,"x":355.3249816894531},"unique_id":"rLft4JXw2P2ef0eFUJF9Y"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 1-2","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7LLD-86N6-W2AK-PIU9","door_data":[{"model_hash":-462932014,"door_coords":{"z":29.0040111541748,"y":6645.72998046875,"x":340.5650024414063},"unique_id":"HOtyocAknGpFC1-ImQeCU"},{"model_hash":467392331,"door_coords":{"z":29.0040111541748,"y":6643.1611328125,"x":340.5650024414063},"unique_id":"0uXkp3vYlXAKKkpqVESud"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 1-3","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XK3A-CDH6-ZV67-IV2K","door_data":[{"model_hash":1697869588,"door_coords":{"z":28.8560791015625,"y":6650.044921875,"x":344.6764831542969},"unique_id":"Z618sC_KEeLXNhaaJ3jGe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 1-4","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2446-CDK4-C29L-OZ43","door_data":[{"model_hash":1697869588,"door_coords":{"z":28.85216903686523,"y":6630.07470703125,"x":356.0912170410156},"unique_id":"BsUszTR_j1HWqQMrnH1mx"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 1-5","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4FR4-BJSD-40X4-GJMK","door_data":[{"model_hash":1697869588,"door_coords":{"z":28.84871864318847,"y":6636.4267578125,"x":352.70452880859377},"unique_id":"DJmzc3b9TqHsz9CCc7AuV"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 1-6","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0TMA-N3I3-H40C-KT6U","door_data":[{"model_hash":1697869588,"door_coords":{"z":28.84848022460937,"y":6640.57568359375,"x":351.6114196777344},"unique_id":"RVAo-aIh7ZSSncGh7fywL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 1-7","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NS5B-1CX3-UJTR-GLQZ","door_data":[{"model_hash":1697869588,"door_coords":{"z":28.85601043701172,"y":6646.74072265625,"x":355.1504211425781},"unique_id":"8VubLJqk9gqxhgdqWo9N1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 1-8","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C1KO-DST0-KTQF-AZ09","door_data":[{"model_hash":1697869588,"door_coords":{"z":28.85614776611328,"y":6650.82666015625,"x":358.3002624511719},"unique_id":"Dld_HNxrFIRVIZQ_gEoV_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 1-9","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FU6T-PLRS-L96O-KYNV","door_data":[{"model_hash":-462932014,"door_coords":{"z":29.00420570373535,"y":6647.1875,"x":353.0509338378906},"unique_id":"H4iFbSTBZix4J-L2fzhA_"},{"model_hash":467392331,"door_coords":{"z":29.00420570373535,"y":6649.75537109375,"x":353.0509338378906},"unique_id":"LDtWaSjXgnAygyKCEI0ec"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 1-10","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TYQW-X2N8-CIM7-F71X","door_data":[{"model_hash":467392331,"door_coords":{"z":29.00368309020996,"y":6619.63671875,"x":359.5584716796875},"unique_id":"LUdttvMbOX6w4BVSMpO3s"},{"model_hash":-462932014,"door_coords":{"z":29.00368309020996,"y":6619.63671875,"x":356.9895324707031},"unique_id":"DgWdXdmrpZYKo9t5VfLCq"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 1-11","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z5GU-GSJK-5K0W-0JY2","door_data":[{"model_hash":-462932014,"door_coords":{"z":29.00335121154785,"y":6623.5791015625,"x":370.0412292480469},"unique_id":"3I125v-zhOyw3ou2TX89u"},{"model_hash":467392331,"door_coords":{"z":29.00335121154785,"y":6623.58251953125,"x":367.47210693359377},"unique_id":"L3viu16R2V6UCXOv7_mUA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 1-12","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MREX-Z9D8-9NQ0-UA28","door_data":[{"model_hash":1697869588,"door_coords":{"z":28.8460693359375,"y":6616.58447265625,"x":369.3527526855469},"unique_id":"4juUB5TMPsejyO6hGSdVh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 1-13","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2IRD-JZGI-2GKY-XI8A","door_data":[{"model_hash":1697869588,"door_coords":{"z":28.85303878784179,"y":6616.0673828125,"x":362.56829833984377},"unique_id":"CEhR-lgrSmtZu655e0mur"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 1-14","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z9K3-AXCC-PNEF-HV0Q","door_data":[{"model_hash":1697869588,"door_coords":{"z":28.85210037231445,"y":6612.94091796875,"x":353.9618225097656},"unique_id":"OH9_evhjHVhjg26uxEsoh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 1-15","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WMQI-VBP6-B66M-5FJW","door_data":[{"model_hash":-462932014,"door_coords":{"z":29.00323486328125,"y":6607.85107421875,"x":354.510986328125},"unique_id":"yinF1_sp0ZNRrcn0sNRsL"},{"model_hash":467392331,"door_coords":{"z":29.00323486328125,"y":6607.85107421875,"x":357.0801086425781},"unique_id":"T6rt28p-7eZOdmYJW3Bkd"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 1-16","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TUGU-QI2G-0HBY-F88I","door_data":[{"model_hash":-462932014,"door_coords":{"z":29.00323486328125,"y":6607.85107421875,"x":359.3512878417969},"unique_id":"EOg9_nmZeznNRlv6F4Xzq"},{"model_hash":467392331,"door_coords":{"z":29.00323486328125,"y":6607.85107421875,"x":361.92041015625},"unique_id":"H7iOqysf8vS71isau5O6d"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 2-1","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UOTG-NSRV-LKWQ-QRW5","door_data":[{"model_hash":-462932014,"door_coords":{"z":33.41431045532226,"y":6619.63720703125,"x":356.9852600097656},"unique_id":"CxcR5DZhE9k01IHsqaswZ"},{"model_hash":467392331,"door_coords":{"z":33.41431045532226,"y":6619.63720703125,"x":359.5523681640625},"unique_id":"pTjSIQ2Zg8YbE7psEsSkP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 2-2","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XIPA-BCK4-ZY0K-ASRK","door_data":[{"model_hash":-462932014,"door_coords":{"z":33.41536712646484,"y":6626.3916015625,"x":359.5567016601563},"unique_id":"hNXVRA0XMw1td2WIvG4zA"},{"model_hash":467392331,"door_coords":{"z":33.41536712646484,"y":6626.3916015625,"x":356.9853820800781},"unique_id":"BZEcSFRVU_jqST87LSpc9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 2-3","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"M6FP-Y778-TOVT-UGDN","door_data":[{"model_hash":-462932014,"door_coords":{"z":33.41564559936523,"y":6621.7880859375,"x":364.3415222167969},"unique_id":"VU25gWHZ50EWZIyiMPPyg"},{"model_hash":467392331,"door_coords":{"z":33.41564559936523,"y":6624.35693359375,"x":364.3415222167969},"unique_id":"fHyo-rFJX1t6IeyC6yv3Z"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 2-4","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LR65-SQUH-UNMJ-7URB","door_data":[{"model_hash":1697869588,"door_coords":{"z":33.25247192382812,"y":6612.9365234375,"x":353.9590759277344},"unique_id":"RDeT2RPUyECG5zFs9FVqH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 2-5","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2KD4-LETN-L7E2-9IWX","door_data":[{"model_hash":1697869588,"door_coords":{"z":33.26037979125976,"y":6613.12451171875,"x":362.5890808105469},"unique_id":"p4SMsxk2wHQUFqLkylrnI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 2-6","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"R02E-3QG3-K1EA-B3VO","door_data":[{"model_hash":1697869588,"door_coords":{"z":33.25836563110351,"y":6628.63037109375,"x":364.4462890625},"unique_id":"fdAoLA_YAxNU46F1EMZbe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 2-7","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"T1YQ-56MH-OGYG-M7PT","door_data":[{"model_hash":467392331,"door_coords":{"z":33.4148063659668,"y":6630.56787109375,"x":356.85003662109377},"unique_id":"JDdex1ZMMh8UgIgyR1oz0"},{"model_hash":-462932014,"door_coords":{"z":33.4148063659668,"y":6628.00244140625,"x":356.85003662109377},"unique_id":"Xjo7LDb2tBVjj5nOqFRrq"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 2-8","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IL0C-RPIO-QA50-MCV4","door_data":[{"model_hash":-462932014,"door_coords":{"z":33.41851425170898,"y":6638.78369140625,"x":353.91912841796877},"unique_id":"wn65al6fQ5Sb_Ox1nRXk8"},{"model_hash":467392331,"door_coords":{"z":33.41851425170898,"y":6636.21337890625,"x":353.91912841796877},"unique_id":"w6IOawnH3VEUnDmjyFg54"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 2-9","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MXK4-G44O-V9YY-A5BF","door_data":[{"model_hash":-462932014,"door_coords":{"z":33.41511154174805,"y":6640.6416015625,"x":356.6563110351563},"unique_id":"B6NyiYmOvbkCgXyiFfQ7s"},{"model_hash":467392331,"door_coords":{"z":33.41511154174805,"y":6640.6416015625,"x":354.08636474609377},"unique_id":"R-IZ9veMirlwJzi02iBD5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 2-10","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"96IY-SJHU-O77Z-J511","door_data":[{"model_hash":-538477509,"door_coords":{"z":33.27661514282226,"y":6635.97509765625,"x":352.093017578125},"unique_id":"MpZMKk75XhZhywSPinXp6"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 2-11","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FN5W-PDJK-E1YE-MTHG","door_data":[{"model_hash":-538477509,"door_coords":{"z":33.27661514282226,"y":6641.6220703125,"x":344.6212158203125},"unique_id":"E4ERMxvV09a93Dm_5gbwH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 2-12","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6KS9-N2E5-HHF9-JGS5","door_data":[{"model_hash":1242124150,"door_coords":{"z":33.21811294555664,"y":6653.67919921875,"x":347.6073303222656},"unique_id":"zLMl5vNdV-IsUwY-ztfzW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 2-13","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CCJY-EZQZ-IGQD-HA9Z","door_data":[{"model_hash":1697869588,"door_coords":{"z":33.2578239440918,"y":6652.94677734375,"x":351.8662109375},"unique_id":"PZNJXnq4vnZ-nXmCaIRDu"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Blaine County City Hall 2-14","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5RFE-SUI4-YJQZ-YTWP","door_data":[{"model_hash":1697869588,"door_coords":{"z":33.2681655883789,"y":6649.8603515625,"x":350.4627380371094},"unique_id":"xr8sQ3ShYDpZjCvjauiOQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Blaine County City Hall 2-15","location_group":"Blaine County City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"P7BD-NWZ6-ZJKF-7HS8","door_data":[{"model_hash":467392331,"door_coords":{"z":33.41606140136719,"y":6645.9423828125,"x":350.6369323730469},"unique_id":"4mSzjk-MSejip9mCLcMS2"},{"model_hash":-462932014,"door_coords":{"z":33.41606140136719,"y":6645.9423828125,"x":348.0672912597656},"unique_id":"8lvFkzn4gbPoI382qFk28"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Blaine_County_City_Hall.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Bolingbroke_Prison.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Bolingbroke_Prison.json
new file mode 100644
index 000000000..d8320b48c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Bolingbroke_Prison.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 683","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9EVS-7OB6-LSLX-4GFZ","door_data":[{"model_hash":741314661,"door_coords":{"z":44.64,"y":2604.81,"x":1845},"unique_id":"uYr0p5XvigIPZgLf0-sFU"}],"distance":5,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 684","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CL0G-9VPT-LTEA-6SVK","door_data":[{"model_hash":741314661,"door_coords":{"z":44.61,"y":2604.81,"x":1818.54},"unique_id":"ROVWyuirykvK3J-A6svRS"}],"distance":5,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 685","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OKZI-DD8G-6500-12KJ","door_data":[{"model_hash":741314661,"door_coords":{"z":44.57,"y":2602.43,"x":1663.23},"unique_id":"Nrz6X59YrmPz_ZfmmJDIA"}],"distance":5,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 686","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QI91-B6NJ-SO2C-THST","door_data":[{"model_hash":741314661,"door_coords":{"z":44.6,"y":2616.98,"x":1799.61},"unique_id":"jmy211fU7PzN2DOwkWfK6"}],"distance":5,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 687","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GSYG-C16U-06QM-M5UU","door_data":[{"model_hash":741314661,"door_coords":{"z":44.45,"y":2689.1,"x":1835.28},"unique_id":"lbhw9fcf3STYQ48-I5qG3"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 688","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B3HV-MPCK-WMMR-17VF","door_data":[{"model_hash":741314661,"door_coords":{"z":44.45,"y":2703.5,"x":1830.13},"unique_id":"ByHBzfc63rHHCCUz44Ijr"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 689","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MRDK-ZH37-ZT69-1P48","door_data":[{"model_hash":741314661,"door_coords":{"z":44.45,"y":2747.15,"x":1776.7},"unique_id":"6O1iBvPX8JYDah9XGjXHH"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 690","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RCL9-GON9-65QN-T7TG","door_data":[{"model_hash":741314661,"door_coords":{"z":44.45,"y":2752.49,"x":1762.2},"unique_id":"HkN4UDLcOhtiHHSCQb99x"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 691","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KVD5-Y7YR-UI2S-JXEL","door_data":[{"model_hash":741314661,"door_coords":{"z":44.45,"y":2748.7,"x":1662.01},"unique_id":"emuUXTZIdJ2QhHbE1cO4O"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 692","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MS05-8EUY-3E9F-EXEG","door_data":[{"model_hash":741314661,"door_coords":{"z":44.45,"y":2741.67,"x":1648.41},"unique_id":"k4MspN-pkr6uMh7D_sD8V"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 693","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7ANX-6NTI-AL9L-IFB2","door_data":[{"model_hash":741314661,"door_coords":{"z":44.45,"y":2679.75,"x":1584.65},"unique_id":"DfYCdtikEH-CoKcvhA5BA"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 694","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DOKC-VIHJ-US4S-40TZ","door_data":[{"model_hash":741314661,"door_coords":{"z":44.51,"y":2667.15,"x":1575.72},"unique_id":"UfBIH-DwmkN5yyJUj_Ta2"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 695","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"M21Y-N8I1-MV2T-O1RR","door_data":[{"model_hash":741314661,"door_coords":{"z":44.51,"y":2591.28,"x":1547.71},"unique_id":"gkzwi3219VhdYZGStL3ad"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 696","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SPYN-7PA9-3PP5-UF6J","door_data":[{"model_hash":741314661,"door_coords":{"z":44.39,"y":2576.13,"x":1546.98},"unique_id":"3QmOD3LKjn_YgZXAJ0XBf"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 697","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UYQ1-JU1M-193X-6ZW8","door_data":[{"model_hash":741314661,"door_coords":{"z":44.4,"y":2482.74,"x":1550.93},"unique_id":"0NhVrjVOKJI-wuetvQ-_k"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 698","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6UI3-RY0J-Q7VU-AE4L","door_data":[{"model_hash":741314661,"door_coords":{"z":44.4,"y":2469.35,"x":1558.22},"unique_id":"vmqcJPxNTaBY4Bm3LHPWR"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 699","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"N8C2-A7QL-0ZIK-XK83","door_data":[{"model_hash":741314661,"door_coords":{"z":44.44,"y":2409.57,"x":1652.98},"unique_id":"E5JJWd_D8SbiDSBiqjGlp"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 700","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RTS4-CEZZ-GSVY-8EFN","door_data":[{"model_hash":741314661,"door_coords":{"z":44.43,"y":2407.65,"x":1667.67},"unique_id":"QVBdEdj8sDfV_CebLaHD5"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 701","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B2A5-YS9I-MCAP-Y5W4","door_data":[{"model_hash":741314661,"door_coords":{"z":44.43,"y":2419.81,"x":1749.14},"unique_id":"BTry0n2La4boLW3YrK0WP"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 702","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"S8TD-BGGR-RWGA-UA8G","door_data":[{"model_hash":741314661,"door_coords":{"z":44.44,"y":2426.51,"x":1762.54},"unique_id":"eFyWDtJVAfNHQ-2OQ6kOn"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 703","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LZPY-9UEB-9P5I-PA22","door_data":[{"model_hash":741314661,"door_coords":{"z":44.48,"y":2474.54,"x":1808.99},"unique_id":"6ogaqS1lIzfw207XQ8vVZ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 704","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V6TH-7690-AV74-MA0U","door_data":[{"model_hash":741314661,"door_coords":{"z":44.46,"y":2488.91,"x":1813.75},"unique_id":"Y02HQ1i8vQGdKgQMElXGt"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 705","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3B6F-FJL8-5N5G-1EBS","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.95,"y":2620.77,"x":1820.77},"unique_id":"HPncgqKaLLQVXwmnG9jKS"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 706","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5DIZ-M4UW-TYCL-I3QA","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.96,"y":2698.62,"x":1845.79},"unique_id":"laLjVd3IZ_QnaOE5sfGvf"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 707","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AWFH-3FZY-JM1C-06CF","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.89,"y":2759.7,"x":1773.11},"unique_id":"pXi3TegyEAIv8sqZtyEPw"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 708","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QJ9C-4CCK-Z10W-W455","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.88,"y":2755.44,"x":1651.16},"unique_id":"X2kq5Fk-D-eh09l2Jvsk3"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 709","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OMFW-NZJC-XXWZ-NS4U","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.73,"y":2679.19,"x":1572.66},"unique_id":"fjuL-mTbizH8QgA7d3Rz1"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 710","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FWPF-J827-F5QO-SWX5","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.69,"y":2586,"x":1537.81},"unique_id":"dnRpdlPM9EsrCtd1j5o5N"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 711","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AI3J-41VC-PBQ6-XEP0","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.71,"y":2471.29,"x":1543.24},"unique_id":"TLxyM_U7ONQNpbHb0Vsrl"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 712","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8E11-LVZA-C0OL-EXZ6","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.72,"y":2397.72,"x":1658.58},"unique_id":"NbhlHiBIRnmx3C9YKjY6a"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 713","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YO4T-791U-20MR-6EQA","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.71,"y":2412.84,"x":1759.62},"unique_id":"9liJx7_4_ZXxpgOPdeI5S"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 714","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2C7X-ZQ89-C0RI-1KGA","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.69,"y":2476.26,"x":1821.17},"unique_id":"ouxCB9GQBHL5T-k_a5z0u"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 715","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A9N2-UDNU-BAIR-5A1H","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2547.61,"x":1697.4},"unique_id":"fct1A3TtC85tCOkErxHTz"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 716","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XQ1Y-D09G-L5N6-CDNC","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2544.26,"x":1697.4},"unique_id":"llOGBEq2bWF3ktdY0Il-2"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 717","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H1LP-FX7J-1BNA-58X5","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2563.19,"x":1744.62},"unique_id":"CWH5CGp35E5IITUU1i3Bc"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 718","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KFZU-XCZM-QG4H-SXX1","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2565.81,"x":1708.67},"unique_id":"Nvvl55tK9fEiH_u_E-_ds"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 719","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6242-7EPJ-WN4Q-8REX","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2565.81,"x":1680.97},"unique_id":"qHraGclZs6mDJBPXr918p"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 720","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H1VG-2QEQ-SX75-QCVH","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2575.58,"x":1616.63},"unique_id":"jDlq0Dzr4LbhwXLMeSohc"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 721","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DO56-Q57Y-IVBP-R57B","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2533.12,"x":1617.97},"unique_id":"fzvxLBBUrcgFFJD7arH-B"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 722","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5NLQ-COIJ-O8LI-NRAO","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2518.94,"x":1620.81},"unique_id":"yXcAUGq8A9wAFjh5Wtyfw"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 723","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OTNH-FXWY-MTFY-8FTW","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2492.62,"x":1654.07},"unique_id":"--dD1WAQGk1OvmKLdPwp2"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 724","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DHYQ-CHQZ-S0IU-DVVI","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2487.81,"x":1671.15},"unique_id":"5KVP1CUbrm1KKEzYvbRcz"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 725","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4L53-OW8Z-FOW3-4Z8X","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2489.36,"x":1713.45},"unique_id":"f4IQEj_peMkwcVsFB5z-3"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 726","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FRMU-U9IG-8T3U-HZYZ","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2506.98,"x":1726.34},"unique_id":"bFgvSOAMRqz9I8NYmbf39"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 727","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9T33-G25L-BO1Z-SU31","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.27,"y":2529.24,"x":1762.36},"unique_id":"iSsaWj6mmVtmnkKZbi2_b"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 728","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"P3O7-Z7PR-9851-HG36","door_data":[{"model_hash":-129553421,"door_coords":{"z":46.06,"y":2586.54,"x":1845.27},"unique_id":"2NT2GRjzIkIXv70mgkuPH"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 729","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K11H-UNGI-1L0B-CR3M","door_data":[{"model_hash":320433149,"door_coords":{"z":46.04,"y":2585.99,"x":1838.2},"unique_id":"l5ZCNAKn1kdc2iZxB-9Zj"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 730","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZZ4V-881N-R6G9-Y21K","door_data":[{"model_hash":1242124150,"door_coords":{"z":46.04,"y":2583.41,"x":1833.72},"unique_id":"jAHnu2ModxxXmwWniOcDO"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 731","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NSYX-3EZL-GQD9-OESR","door_data":[{"model_hash":-129553421,"door_coords":{"z":46.04,"y":2579.85,"x":1833.4},"unique_id":"IhjtNVNSVts7A57HJ1HOH"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 732","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4H91-P0MZ-NB2C-99LH","door_data":[{"model_hash":-129553421,"door_coords":{"z":46.04,"y":2579.85,"x":1836.76},"unique_id":"cJ0y1A4upSTZu9k2cX0-o"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 733","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KN88-3SLQ-S15R-G2VY","door_data":[{"model_hash":430324891,"door_coords":{"z":44.87,"y":2586.62,"x":1833.81},"unique_id":"xQHGUXEd7_BtGa5cUpIiM"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 734","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LZFP-036M-5K6D-UEC0","door_data":[{"model_hash":430324891,"door_coords":{"z":44.87,"y":2591.55,"x":1833.81},"unique_id":"SGjliro_Ls6j7BcetkU33"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 735","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RGEW-FUU7-I8SM-9460","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.16,"y":2594.98,"x":1819.16},"unique_id":"PU5IVxNqOJYVMM-YW9FWz"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 736","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3VBZ-16MY-J2S8-9YNW","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.39,"y":2596.56,"x":1797.76},"unique_id":"JnRADZLx7ohzcwMgDoP95"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 737","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QDYF-NRFG-7XOH-UOTV","door_data":[{"model_hash":-1156020871,"door_coords":{"z":46.42,"y":2591.69,"x":1798.09},"unique_id":"kgX1V2ISI8qw1OQt7lE-t"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 738","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"27S5-4784-BLKS-JSA0","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.19,"y":2593.05,"x":1790.98},"unique_id":"gI3bzBV6iIxq0jNBpWhQc"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 739","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"W11R-I4QN-O4OH-LPPB","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.14,"y":2589.26,"x":1783.56},"unique_id":"pSOy_V2t_fMkOskYGN_fH"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 740","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6W7P-Q8KT-PNBJ-X53K","door_data":[{"model_hash":458025182,"door_coords":{"z":46.17,"y":2588.3,"x":1786.66},"unique_id":"wXbWt6Qy1J1fWXJzxOK5Y"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 741","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2B2G-O9FF-5943-RRDO","door_data":[{"model_hash":458025182,"door_coords":{"z":46.17,"y":2588.3,"x":1789.26},"unique_id":"WtnYOOVzw1iDx7pLMmCCy"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 742","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IUZD-5HG7-8TIR-54BN","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.15,"y":2572.74,"x":1787.64},"unique_id":"FArESdIOZZ2oXtQva-j_y"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 743","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"N7B9-D36D-SL06-AFMV","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.93,"y":2561.55,"x":1785.16},"unique_id":"zMhoGvuIeZjFhOaqFc12w"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 744","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SZ41-7D19-TI10-Y4HY","door_data":[{"model_hash":1242124150,"door_coords":{"z":45.92,"y":2559.31,"x":1787.48},"unique_id":"3MrcfaUVejDwD5xpZngQu"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 745","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6C6J-MD7B-3RE5-WFQO","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.93,"y":2557.01,"x":1784.28},"unique_id":"KPgqpogGoDMx1XtkGt4QE"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 746","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K6P7-VOXA-HSYH-15XB","door_data":[{"model_hash":1242124150,"door_coords":{"z":45.93,"y":2555.91,"x":1787.47},"unique_id":"2qDK22jIWwjsqmddc4GLy"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 747","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LB0D-ORUV-TLH5-6OFW","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.8,"y":2551.35,"x":1791.52},"unique_id":"XtUsLHLJnJD4I_ttXgk4M"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 748","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"O79O-BFDS-ZI6D-YTLL","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.93,"y":2550.97,"x":1782.2},"unique_id":"hMYQppG13g3ZhcK4Gu06f"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 749","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D4H7-SERZ-7IR3-V0M0","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.79,"y":2552.67,"x":1776.3},"unique_id":"Ql3jCG9G7aVW8OjnCqDvY"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 750","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JCKR-CJVC-4PWR-16XQ","door_data":[{"model_hash":1242124150,"door_coords":{"z":45.93,"y":2548.35,"x":1782.25},"unique_id":"rAEzKGy_QVzqTgVX7ULZr"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 751","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WR6C-K3GN-L74X-I20T","door_data":[{"model_hash":-1207991715,"door_coords":{"z":45.93,"y":2548.35,"x":1785.21},"unique_id":"MQygns_UYvsDa2KQPtabs"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 752","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PHVJ-2N8L-8CV3-6HC2","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.15,"y":2570.61,"x":1783.68},"unique_id":"SsWhxPhP_J_ctr-W0FO14"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 753","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"THDM-DOT9-E0UZ-3XIG","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.15,"y":2572.83,"x":1780.47},"unique_id":"pzpTm6e8Ns4zevgG0Kn-r"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 754","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RIV0-PBD5-2BQE-EHB4","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.15,"y":2572.83,"x":1770.87},"unique_id":"xkCBKlhRVEi0dSRBX92Tw"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 755","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HXQP-Z8SJ-JQUM-E4VA","door_data":[{"model_hash":458025182,"door_coords":{"z":46.16,"y":2579.39,"x":1769.86},"unique_id":"voISM_lWw4q2QlgI-kGse"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 756","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1HHY-GQQI-OQB6-4D1H","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.15,"y":2583.33,"x":1763.66},"unique_id":"EmDg7eceYTYw12qLqZG83"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 757","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2IAI-L9D9-5REL-SYTG","door_data":[{"model_hash":458025182,"door_coords":{"z":46.16,"y":2580.72,"x":1769.84},"unique_id":"MKGJGcEb_q0NxvCSQ18Q5"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 758","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B9J7-8E47-MFCD-X0PE","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.16,"y":2584.03,"x":1770.87},"unique_id":"KnVCcJfPuYWVVQVeQt-tS"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 759","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DRM7-K3PW-9LFP-TQ5X","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.15,"y":2570.6,"x":1770.01},"unique_id":"cx4-ZABhJYC66Be3WZJ37"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 760","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A5OG-VJ0E-VR13-PYDR","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.8,"y":2566.77,"x":1765.01},"unique_id":"b_KVymRit1656L9jfcfM2"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 761","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FHMY-6T82-4DIT-07SO","door_data":[{"model_hash":-1033001619,"door_coords":{"z":46.15,"y":2570.32,"x":1763.09},"unique_id":"itSkcmc8WKc7awY91U5oz"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 762","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y3YW-2M7K-2H0D-P3JG","door_data":[{"model_hash":-770740285,"door_coords":{"z":46.02,"y":2576.99,"x":1760.07},"unique_id":"wbbTFe340d0dCHflpbCZH"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 763","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FKLA-YLVD-ID0D-TO8Z","door_data":[{"model_hash":-770740285,"door_coords":{"z":46.02,"y":2577.91,"x":1762.8},"unique_id":"Na_-mv6hVyQdq-PtuzoW_"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 764","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"W4V3-WFDE-BF94-VI7Z","door_data":[{"model_hash":-770740285,"door_coords":{"z":46.02,"y":2577.91,"x":1760.5},"unique_id":"3YIO5r1Ky4MnW0V8Sajzw"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 765","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"INSI-6DNL-WAFD-9OOR","door_data":[{"model_hash":430324891,"door_coords":{"z":45,"y":2571.24,"x":1758.33},"unique_id":"Ptq8WOdxiznrAezmm91yH"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 766","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5CAM-5CAR-JM5R-6040","door_data":[{"model_hash":-770740285,"door_coords":{"z":50.02,"y":2576.18,"x":1761.08},"unique_id":"Kpx1g8YwRhSM8vUOBsR1Q"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 767","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"13KL-OD1W-T73Z-2LEL","door_data":[{"model_hash":-770740285,"door_coords":{"z":50.02,"y":2576.18,"x":1763.38},"unique_id":"4l6Hsi6gjX_MOylgI8iw8"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 768","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ND8O-S385-WM0W-WBQ9","door_data":[{"model_hash":-519068795,"door_coords":{"z":50.16,"y":2584.43,"x":1769.31},"unique_id":"FsUCizS1vQn7ukOti2D8D"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 769","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CFZV-6U20-LZ9Y-MYZ4","door_data":[{"model_hash":-519068795,"door_coords":{"z":50.15,"y":2583.79,"x":1772.17},"unique_id":"h7xGJUV85FdVltDTlTJrZ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 770","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3FEH-VHE0-05Q6-T4SH","door_data":[{"model_hash":-129553421,"door_coords":{"z":50.14,"y":2573.95,"x":1769.98},"unique_id":"_itM54gmuz0jOFTNTXHdA"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 771","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WR37-HPT5-JCG0-84N2","door_data":[{"model_hash":-129553421,"door_coords":{"z":50.16,"y":2570.02,"x":1774.9},"unique_id":"3CoB64ZvK5lefu-1D_Yw6"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 772","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ILWG-9BDQ-PKIL-IZRK","door_data":[{"model_hash":-519068795,"door_coords":{"z":50.16,"y":2571.95,"x":1778.45},"unique_id":"RSVlePYAhnMwiFFX-RM26"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 773","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9FMT-5UBH-IKAI-FUAS","door_data":[{"model_hash":1242124150,"door_coords":{"z":50.15,"y":2577.96,"x":1782.86},"unique_id":"RYpUPiVy_afauE0B4ldHD"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 774","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7AX2-K3LQ-MB2F-A6F6","door_data":[{"model_hash":1242124150,"door_coords":{"z":50.15,"y":2582.82,"x":1782.86},"unique_id":"z2MX19ytQF6pB2wMmp0Fe"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 775","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5HXA-V09A-LU4X-SNJS","door_data":[{"model_hash":1438783233,"door_coords":{"z":50.16,"y":2584.49,"x":1780.83},"unique_id":"NtO56etLsLwrTuZ6RX1k7"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 776","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KZI9-6HTZ-LOVF-AA6U","door_data":[{"model_hash":1242124150,"door_coords":{"z":50.15,"y":2585.82,"x":1783.9},"unique_id":"-DEIlNPfcmqgrRFsItGAC"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 777","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V4EK-02CW-83UW-4ZB4","door_data":[{"model_hash":1242124150,"door_coords":{"z":50.15,"y":2588.11,"x":1787.49},"unique_id":"LSNUpqK6r-inXM9Z4la6-"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 778","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JU9S-ISKI-G7OU-FHVJ","door_data":[{"model_hash":-519068795,"door_coords":{"z":50.15,"y":2588.26,"x":1782.78},"unique_id":"xgBPAQkw3y5LgJNcx5aZj"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 779","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5ET1-HL7Z-QNAP-15AR","door_data":[{"model_hash":-131296141,"door_coords":{"z":50.2,"y":2599.49,"x":1783.14},"unique_id":"tFYZCsamp7qruvXu4baJA"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 780","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XYFN-OJK5-W4AT-3EZR","door_data":[{"model_hash":-131296141,"door_coords":{"z":50.2,"y":2599.49,"x":1780.54},"unique_id":"hrh39wqOW5i7DGW9ugwpR"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 781","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZJDX-EYJ2-SWJ5-E9PZ","door_data":[{"model_hash":-770740285,"door_coords":{"z":50.08,"y":2602.33,"x":1783.8},"unique_id":"0oixyRSKkJVZVK5mhG47e"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 782","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"USLU-YIQD-H3WG-0KN6","door_data":[{"model_hash":-770740285,"door_coords":{"z":50.08,"y":2604.63,"x":1783.8},"unique_id":"gOa_1k45VazyXGML9DbHw"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 783","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BSJ2-6KMD-ZA5M-3L0B","door_data":[{"model_hash":-770740285,"door_coords":{"z":50.08,"y":2610.72,"x":1783.78},"unique_id":"IvOcPT0N_Ab9RNhDBHeIG"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 784","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0KC6-MHQ7-468Q-C191","door_data":[{"model_hash":-770740285,"door_coords":{"z":50.08,"y":2613.02,"x":1783.78},"unique_id":"jzVRf9J8lH76CajKjshbg"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 785","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VSN7-9MAV-6LOE-GQ2P","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.72,"y":2568.14,"x":1753.37},"unique_id":"Jw_kJZV6ezqPCOkaDnl6-"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 786","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IXJ7-ZQ7E-HFIR-QB0U","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.72,"y":2566.3,"x":1751.53},"unique_id":"-O994miHXcpLn9YpA1G2f"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 787","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MUVI-MSKT-HXRE-7BV9","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.57,"y":2568.9,"x":1749.38},"unique_id":"Ot8y3ZVxefbFg4DqZSvQ5"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 788","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KYXR-ABIG-4Q03-G1RI","door_data":[{"model_hash":430324891,"door_coords":{"z":44.42,"y":2572.02,"x":1752.84},"unique_id":"BX5sHTYpe27QONuUUSV18"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 789","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GTZ8-N7VL-GMEO-V4AJ","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.85,"y":2583.27,"x":1749.37},"unique_id":"aqoplA8Onk4rhLQs8bcdU"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 790","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RSLQ-UUOT-ZC05-A9KF","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.72,"y":2589.9,"x":1753.37},"unique_id":"psEX0j6lkIUv_6rlT6TuV"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 791","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"83WG-WOSB-6781-ZFQ6","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.72,"y":2591.74,"x":1751.53},"unique_id":"kWpS5YqkcO41mWtsbN7V3"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 792","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0SUI-D1RZ-P08V-9QY9","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.58,"y":2593.16,"x":1746.93},"unique_id":"7l4wPwYL3GVMI_7EL4C_u"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 793","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XPVE-KWCB-H06R-7LQM","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.58,"y":2593.16,"x":1744.33},"unique_id":"QoS7JGSqzi6PrBWZtmPkK"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 794","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LO6L-NK9M-UJDM-3ZC0","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.58,"y":2589.94,"x":1742.42},"unique_id":"sf_UYGGr3rSIc1ru4qwpk"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 795","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VTVU-3103-A0HR-V2OH","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.58,"y":2589.94,"x":1730.81},"unique_id":"5qI3PJWGCyMhINMjwMoGs"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 796","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZMER-GT1D-CVY5-YV8L","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.58,"y":2593.16,"x":1728.99},"unique_id":"kyAQ1rAk47hsFUeocdTjz"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 797","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"451U-B7VB-ZIYU-GNJP","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.58,"y":2593.16,"x":1726.39},"unique_id":"CyynVgoabZ42DKPv5XwF3"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 798","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NR21-BVUU-F24M-N5A0","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.72,"y":2591.74,"x":1721.76},"unique_id":"oEriq19rUpn9JNuVz2YYe"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 799","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GWZD-M6NP-MTG9-KYZ5","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.72,"y":2589.91,"x":1719.92},"unique_id":"Us774hBCVTXYP4xpnqh4Y"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 800","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3IF8-IDVE-I6OQ-YLZ4","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.58,"y":2583.27,"x":1723.85},"unique_id":"6fwP3I16j-ze3sy_d6MbM"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 801","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OGHY-BPKL-2DYW-8SLU","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.57,"y":2568.9,"x":1723.92},"unique_id":"QkFmqjsgyTm2a5-yYkR-Q"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 802","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DGMV-V5UF-P1LZ-F3EJ","door_data":[{"model_hash":430324891,"door_coords":{"z":44.42,"y":2572.02,"x":1721.69},"unique_id":"42w9sbasyhJBeVOAeoS0i"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 803","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UYDE-UM2H-F0SS-MCE2","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.72,"y":2568.13,"x":1719.93},"unique_id":"xXryiwO-wtk3qKvZwau8t"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 804","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DYJ3-6FC6-6BMA-YQX8","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.72,"y":2566.29,"x":1721.77},"unique_id":"fsAAcZ6KaV1FOVedWExCb"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 805","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PBN3-1DM4-4CEL-ZLAG","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.06,"y":2590.6,"x":1691.38},"unique_id":"yazZBtABxHZUXJgBIpHsc"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 806","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2UEB-8I5J-269D-V74U","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.06,"y":2591.29,"x":1684.41},"unique_id":"0zqkM98yFWwEK80aK2y8v"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 807","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"R21R-Y0YH-AIV3-0K9K","door_data":[{"model_hash":430324891,"door_coords":{"z":44.93,"y":2585.48,"x":1691.16},"unique_id":"M7u8jYM3IK1gvcJRh5vyQ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 808","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CYBY-LJRX-3T5E-LRYJ","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.07,"y":2582.42,"x":1691.68},"unique_id":"yCpg-MY5uVfARpygKQGCU"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 809","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1PUQ-I4CW-Z5J1-7NKB","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.08,"y":2581.15,"x":1694.67},"unique_id":"yGaDuXOZJYPZ6jAvAxT55"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 810","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V63T-TIZ5-J0WL-DMDB","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.7,"y":2568.66,"x":1692.2},"unique_id":"ZObwVAygY-_uvgXxg2Zie"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 811","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"O7NC-9QTV-TOLX-CWH5","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.69,"y":2566.71,"x":1690.89},"unique_id":"675mIWMLjkSKzISdlwZsU"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 812","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y12W-V3XK-EORO-OQLV","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.73,"y":2566.09,"x":1635.78},"unique_id":"rVTI_ZDaFpyaXif4ke1Vc"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 813","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PJP1-TF67-N574-XD3I","door_data":[{"model_hash":430324891,"door_coords":{"z":44.61,"y":2568.65,"x":1636.12},"unique_id":"NCfz5-nRgoh8740DYLuXY"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 814","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QU60-JECB-6U3V-VJDE","door_data":[{"model_hash":430324891,"door_coords":{"z":44.61,"y":2582.11,"x":1642.99},"unique_id":"kiJ12abskLMUMX9vAt2Jq"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 815","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NL10-KHKD-S74J-LEBF","door_data":[{"model_hash":-519068795,"door_coords":{"z":45.75,"y":2584.65,"x":1644.33},"unique_id":"0gJ5LAzF4gnR6wS1USnL-"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 816","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UM9R-YRDZ-EE7O-L6TM","door_data":[{"model_hash":179442879,"door_coords":{"z":45.78,"y":2571.95,"x":1633.25},"unique_id":"Rfb3kla8lfbSSqoXXheeb"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 817","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4T4M-ZP45-839W-0XV0","door_data":[{"model_hash":179442879,"door_coords":{"z":45.79,"y":2577.36,"x":1639.56},"unique_id":"8GsdNTlR38l0gFtzToDWj"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 818","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JFWQ-78T9-YLLU-KSI7","door_data":[{"model_hash":179442879,"door_coords":{"z":45.79,"y":2577.36,"x":1642.14},"unique_id":"sRCK28LwcKjhjzkYtCiyC"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 819","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"S4R4-QBCA-Y038-ITKM","door_data":[{"model_hash":179442879,"door_coords":{"z":45.79,"y":2577.36,"x":1646.36},"unique_id":"mJG0k5sAGS3Z_2ystZ02I"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 820","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7FFE-O0WB-N9BS-1W07","door_data":[{"model_hash":179442879,"door_coords":{"z":45.79,"y":2577.36,"x":1648.94},"unique_id":"Qpw06Anm6LoOtNorpfKOg"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 821","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YR7K-SPE9-5O7W-Y9BS","door_data":[{"model_hash":179442879,"door_coords":{"z":45.79,"y":2577.36,"x":1651.54},"unique_id":"ot6QEMKi089cF6qXr4FJ1"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 822","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5RY3-HCD5-HNEB-1YZQ","door_data":[{"model_hash":179442879,"door_coords":{"z":45.79,"y":2577.36,"x":1654.14},"unique_id":"aY32tDvWFoGWMUllD6LS9"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 823","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HJW8-BDKR-F9S1-94F0","door_data":[{"model_hash":179442879,"door_coords":{"z":45.79,"y":2577.36,"x":1656.73},"unique_id":"dyByQRrEX3Lg38UxlONfL"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 824","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XUS0-QF4R-8VBY-N1XJ","door_data":[{"model_hash":179442879,"door_coords":{"z":45.84,"y":2574.29,"x":1650.39},"unique_id":"_WBbIZe7H0AcB8De5_zb4"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 825","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IQWG-12WG-AXVC-NNI7","door_data":[{"model_hash":179442879,"door_coords":{"z":45.78,"y":2570.8,"x":1638.69},"unique_id":"W6eFHDVqWIW2aq_pKcGcU"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 826","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L4FT-E8OC-GZBQ-KDWI","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.76,"y":2555.21,"x":1597.47},"unique_id":"ax12-UypfnDpGAt-bcS5d"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 827","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OJRJ-KG89-PMSC-1L5O","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.76,"y":2552.61,"x":1597.47},"unique_id":"mke6tRmL4qd2VC_fk29Cd"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 828","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FLFG-CKPM-4WSD-DUSE","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.76,"y":2555.3,"x":1592.8},"unique_id":"NyPQfIDej1HvcP3-co5a3"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 829","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OYS7-T7UQ-YX6J-X8VC","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.76,"y":2552.69,"x":1592.8},"unique_id":"00j5G0Jdu90jnVhcdp4Nn"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 830","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ERWF-FV70-11J3-MNUB","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.76,"y":2556.6,"x":1587.45},"unique_id":"hQSkTOZcBl0BTvsN2JVn5"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 831","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F7GQ-ICRV-ZR3F-IT4A","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.76,"y":2556.6,"x":1584.85},"unique_id":"Xai3dyzT2wmNFbaE6ZIeS"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 832","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TCM8-K0ZB-1C6G-WWNX","door_data":[{"model_hash":-2023754432,"door_coords":{"z":45.76,"y":2555.99,"x":1583.45},"unique_id":"voAxK3LnZo8x30-NG9qK_"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 833","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"T7B2-VHF5-5LU8-L250","door_data":[{"model_hash":-2023754432,"door_coords":{"z":45.76,"y":2553.39,"x":1583.45},"unique_id":"NuJQis03IlePMd4rd9fa0"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 834","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DEKZ-DQ3M-Y9F7-2OGH","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.76,"y":2551.18,"x":1584.85},"unique_id":"YCAig-KBUjdWZa9ALnxz_"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 835","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8VB9-YVND-M1NO-098X","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.76,"y":2551.18,"x":1587.44},"unique_id":"07ukD4BYFWb9Mt-rCWntY"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 836","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"47K3-S3IK-2X3D-K6SW","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.76,"y":2549.42,"x":1584.08},"unique_id":"C4aqrKbccoqo7ctx_Emq4"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 837","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VGAJ-YODH-QEI7-J3MD","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.76,"y":2546.82,"x":1584.08},"unique_id":"nN4jORQaxUwClVAZj8cI2"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 838","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FNDF-XFZJ-ZF25-2SWZ","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.78,"y":2546.82,"x":1588.16},"unique_id":"X1sJbYM3wTPfAxuoRDZN4"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 839","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FFV6-0TBH-00XB-ZFRK","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.78,"y":2549.41,"x":1588.16},"unique_id":"YKWY3g_Q28tf4ZWCv8UVj"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 840","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FVL4-IEF8-K9OR-EVP0","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.83,"y":2491.43,"x":1623.97},"unique_id":"rQDERC3ivdekMe-OX6DfB"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 841","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GLTU-BLLS-KU3H-2YGH","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.83,"y":2489.75,"x":1625.96},"unique_id":"PbRCxtfd701qCrIcv4AAq"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 842","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D5LE-NVOB-GK2H-T2DB","door_data":[{"model_hash":430324891,"door_coords":{"z":44.65,"y":2487.15,"x":1621.8},"unique_id":"He_FhegMTuZj8poyN3_nj"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 843","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7YCF-HY1H-OA0B-YGR1","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2472.8,"x":1630.44},"unique_id":"k5RVS3Lv_UUzq40Gslcwy"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 844","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HZ9T-YO17-98CB-UQ7J","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2474.48,"x":1628.45},"unique_id":"8gQwAvXMxPQT271XMKTeP"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 845","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GJTI-MV1H-JCZ9-L1AR","door_data":[{"model_hash":458025182,"door_coords":{"z":46.18,"y":2477.1,"x":1634.06},"unique_id":"8ohFGl9X07deByTWqpy3z"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 846","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CPUW-QS0P-DZOQ-F02I","door_data":[{"model_hash":458025182,"door_coords":{"z":46.18,"y":2478.78,"x":1632.06},"unique_id":"oMas2iJgdt_zVEq9J9jzy"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 847","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MK4P-BYDQ-R3SZ-XTU5","door_data":[{"model_hash":430324891,"door_coords":{"z":45,"y":2481.03,"x":1632.2},"unique_id":"AwVTl3Uxb6uYaAan9CfOx"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 848","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8AZ9-12VS-FGKV-7CJ2","door_data":[{"model_hash":458025182,"door_coords":{"z":46.18,"y":2483.95,"x":1639.9},"unique_id":"ezI8GXXF3q4gqXhOXDoAv"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 849","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0ASQ-RIMU-DCTM-MNVS","door_data":[{"model_hash":430324891,"door_coords":{"z":45,"y":2486.54,"x":1636.71},"unique_id":"nZaX-uRSQkxv54fRLy171"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 850","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FDYX-DYYM-MPX3-BD3E","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.11,"y":2489.03,"x":1638.75},"unique_id":"YgrLV8YfSC8zx1_7ZzXz6"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 851","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SAZX-PL9L-3NMD-9KUW","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2464.14,"x":1623.81},"unique_id":"GHCroouWKG2VPZLJML_5Z"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 852","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OXE7-D0N8-UAIX-XY10","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2466.14,"x":1625.48},"unique_id":"kOkcgZU0WaxCXUJ19WeYJ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 853","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V1Y9-ZNCO-X9VD-G7JM","door_data":[{"model_hash":458025182,"door_coords":{"z":45.8,"y":2460.66,"x":1632.81},"unique_id":"wucn5m-BVOdEu9VcvoPxy"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 854","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"W5NM-JC87-HL5U-RLSN","door_data":[{"model_hash":458025182,"door_coords":{"z":45.8,"y":2458.77,"x":1629.51},"unique_id":"R8TE53SYbnmkGE0f_Fuav"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 855","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VKF6-WCPM-NGUA-I1XM","door_data":[{"model_hash":458025182,"door_coords":{"z":45.8,"y":2457.09,"x":1631.5},"unique_id":"z_qqdq1DiV03zV7y2qPd2"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 856","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EP8I-SBIF-FES5-TTKO","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2480.71,"x":1621.19},"unique_id":"UaV1suwjLjqomOPzcDCxS"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 857","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SXNS-JLDF-BWSS-S55A","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2478.32,"x":1624.04},"unique_id":"WXATJNzswqw3sgC0-CzT3"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 858","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1RG6-5QAB-VIBI-73II","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2476.05,"x":1626.74},"unique_id":"HGdrLmb52okG0--gE_8jx"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 859","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UF4H-PTRL-8LXN-S505","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2470.61,"x":1629.18},"unique_id":"Sq1_qMAEOxZq_Lf8nr2dF"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 860","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WY9L-TN0H-QC7L-AZ2R","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2467.92,"x":1626.92},"unique_id":"YVdoZDhGGe4PXVi1dz9Oo"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 861","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LQSZ-Y6YO-AHN8-MY3E","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2462.74,"x":1622.58},"unique_id":"hnh_jVrIoq2x8tPfMJtz8"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 862","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G4T8-COSG-7Y4Q-38D3","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2461.46,"x":1619.08},"unique_id":"6I0vtKEqo3Sj6jc-YjxHZ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 863","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ANDL-T2G4-OFPT-TY9O","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2463.61,"x":1616.51},"unique_id":"b_jGjJz5l6BRQJupnf009"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 864","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BRA1-Z5WY-N8HM-7RYS","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2465.97,"x":1613.7},"unique_id":"JMxDxH8-aRQ9xpPX75to5"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 865","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0I19-DW90-Z2X8-3X64","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2468.22,"x":1611.02},"unique_id":"kE1PVyd3vkdVKRKOaD3QV"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 866","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SSEY-6PCN-ZA7E-WCS9","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2472.65,"x":1605.75},"unique_id":"9fRS_BaoLSB7eVEIWTskd"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 867","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7IY6-H63K-52KM-D3ER","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2474.99,"x":1602.96},"unique_id":"KuquqFhWNv_x7wJkleTVT"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 868","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"49S3-RMBT-QAJN-VTPG","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2477.25,"x":1600.27},"unique_id":"ja7CgliyhCX2hbrXYGBdT"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 869","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0V0A-0XL2-FLSR-MGXF","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2479.43,"x":1597.67},"unique_id":"gqc2oBFPvbicwX79kCAPT"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 870","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B6T8-MHFD-1L6N-PM7N","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2482.84,"x":1597.59},"unique_id":"OVg-141GvjOP53MuUHDb9"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 871","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2PVF-QCRR-V3IR-26O4","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2485.54,"x":1599.85},"unique_id":"3-50RNE4S6sSpIzfJWqVR"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 872","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IX1B-4PC5-7JPI-CT1H","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2488.17,"x":1602.06},"unique_id":"o_zCKCBvSWKVQhVc8DfeR"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 873","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BIMK-LI11-HFH6-6RY0","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2490.71,"x":1604.2},"unique_id":"aGCaYfZFsqEgsYB1hZ6rC"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 874","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QWJ7-F5H5-QQ51-BBUT","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2492.23,"x":1607.47},"unique_id":"2-raGu-RsQNa5SK_SqIzC"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 875","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ULRX-UI56-W8OJ-M3AP","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2489.9,"x":1610.24},"unique_id":"QG8CPZP4gbPsRqQHfXwq_"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 876","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K2YX-U8DX-91GD-U9LG","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2487.62,"x":1612.95},"unique_id":"sicEnWJfQvjy62Cm6RA9u"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 877","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K5QA-FZV1-CFZT-HK56","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2485.42,"x":1615.58},"unique_id":"qa_YKKShwcVd3m06nap31"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 878","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y7PE-10TH-4CSL-76LH","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2480.71,"x":1621.19},"unique_id":"JVTEYXdFSrdYxByTWZ4Nr"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 879","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MH0G-W0VZ-0GPM-LASK","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2478.32,"x":1624.04},"unique_id":"8HyrQPGhsgBDc5cbloMoK"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 880","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XD1Z-9GSM-PM5N-N7W1","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2476.05,"x":1626.74},"unique_id":"UUnqC0G1xwfcQh2Rb1nQQ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 881","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CP1N-4391-T2ES-J55T","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2473.89,"x":1629.33},"unique_id":"8t4CPKFMp8-dLgFZEDqho"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 882","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0JTC-25ZL-X1WI-VQ48","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2470.61,"x":1629.18},"unique_id":"8i7K3kjFWrNot01MSdlZO"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 883","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y348-F6M7-TC8D-WT1Y","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2467.92,"x":1626.92},"unique_id":"23_JvKGBNiNRUDdtOEmgU"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 884","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YCSX-ATS8-H760-2FX2","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2465.3,"x":1624.72},"unique_id":"xUujDNBRhPBi5oSPC75bC"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 885","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WHFE-UVY3-3BWV-WQC6","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2462.74,"x":1622.58},"unique_id":"6pC0izT0aVv9YBAE9zlky"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 886","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RDPH-2JWG-BLWF-KNTA","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2461.46,"x":1619.08},"unique_id":"ZOSv51twfpw8qXoc5Pu9p"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 887","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A2Z1-8VFM-RIFN-VL8V","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2463.61,"x":1616.51},"unique_id":"xpiaIZr1ruD8QWZxpJrUu"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 888","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"76LB-J1BT-C4WR-T0AD","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2465.97,"x":1613.7},"unique_id":"ngK6IQngjlx31WMwAVZf-"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 889","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NYTB-355O-1CCJ-U9G4","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2468.22,"x":1611.02},"unique_id":"aiIx3ais_DPXguMbNW63Y"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 890","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8CN5-8REJ-BT3F-I0VQ","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2472.65,"x":1605.75},"unique_id":"f3qccLp6ftCPYOzkEdoQm"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 891","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NSB3-ZZC5-FND8-H2CO","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2474.99,"x":1602.96},"unique_id":"VHcaL_lacHFarQFIUtCig"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 892","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IKTN-33RK-3A5P-APFT","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2477.25,"x":1600.27},"unique_id":"8l2C-8dMdqn9me0OzF6vW"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 893","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3RJK-9IST-IZMH-FLD0","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2479.43,"x":1597.67},"unique_id":"PIr9ErZ25QpBDtWKqqE5H"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 894","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"POR9-Y8TL-6WO8-5U14","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2482.84,"x":1597.59},"unique_id":"6gziG7imGNjRWPUL3XdS7"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 895","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EQIQ-8156-CA45-2K07","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2485.58,"x":1599.85},"unique_id":"gkwGe6Ae5wAize2Dq-4xz"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 896","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F37N-8NLS-6MDG-FRO2","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2488.17,"x":1602.06},"unique_id":"sQBGgSCxmzcqEZi8il1Py"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 897","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZNK3-7F4B-56XA-8QGT","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2490.71,"x":1604.2},"unique_id":"qwbN5clJbkw6UxkKMDGay"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 898","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RMRQ-TZ7Q-EUHQ-P2CA","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2492.23,"x":1607.47},"unique_id":"s11CYwDsw6e9jA8H4kNuK"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 899","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"N5Y8-87UI-NEFA-K6Y8","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2489.9,"x":1610.24},"unique_id":"qpC0MeydDaLoGqeA_7YVX"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 900","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VX2I-3OTF-J9WD-92C9","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2487.62,"x":1612.95},"unique_id":"ju6pJREUUDNXbcSvmJj6S"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 901","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JCUY-0YD9-KUQ6-K2ZX","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2485.42,"x":1615.58},"unique_id":"1aPxJ1Kp2fz68-MnE9VMG"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 902","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BWX4-7WGY-QRT7-1KEN","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.83,"y":2468.79,"x":1691.34},"unique_id":"EFHXPQhwP9Ovw7QJZjRcN"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 903","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YC5G-HICE-FJVK-Q275","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.83,"y":2468.79,"x":1693.94},"unique_id":"taLbENoNUfVKulviVPftM"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 904","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y3CL-WPP2-6ET2-ITWV","door_data":[{"model_hash":430324891,"door_coords":{"z":44.65,"y":2464.12,"x":1692.42},"unique_id":"9EMpOMODwN_qm6ZH04NZX"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 905","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z2KJ-3E1U-Q060-733R","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2458.69,"x":1708.26},"unique_id":"gEKZ61ajm7g8PQM4_oIq1"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 906","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4R62-W8QC-ASVZ-2CHQ","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2458.69,"x":1705.67},"unique_id":"w3LZKnEd1ezFW8-5aE-CD"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 907","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AIM4-LG55-5YDT-BZNI","door_data":[{"model_hash":458025182,"door_coords":{"z":46.18,"y":2464.3,"x":1708.27},"unique_id":"_ja8bxnrt9rS2-6sI0uaD"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 908","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A700-W698-49TM-0N72","door_data":[{"model_hash":458025182,"door_coords":{"z":46.18,"y":2464.3,"x":1705.67},"unique_id":"3JPSabKTgK4rm8Yf08E-H"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 909","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"J9QV-WOO6-UYRB-3Q8A","door_data":[{"model_hash":430324891,"door_coords":{"z":45,"y":2466.12,"x":1704.32},"unique_id":"IxNy_E-cMZsn-aDE0MfNJ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 910","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NH61-FTT2-IBN0-TB9X","door_data":[{"model_hash":458025182,"door_coords":{"z":46.18,"y":2473.31,"x":1708.35},"unique_id":"3Io0O30FPy7vWvlqE0EDW"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 911","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"T8UR-ULYJ-7T9C-9N5H","door_data":[{"model_hash":430324891,"door_coords":{"z":45,"y":2473.24,"x":1704.23},"unique_id":"BB2w6UEEM_c155h_PMksy"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 912","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H4B6-75UC-8TNG-4ITE","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.12,"y":2476.45,"x":1704.2},"unique_id":"W_NXcCkdiOULV6tcw8wiJ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 913","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GPJI-D19Z-T2EQ-DAIO","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2447.79,"x":1708.75},"unique_id":"5_4-D_PkMyj60ze5biDIa"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 914","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A1ZF-AWCY-Y7BZ-2FKS","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2450.39,"x":1708.75},"unique_id":"3Vlm2vZsRe2kyAKtXhKQw"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 915","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KHBF-N0RI-GEB2-LZQS","door_data":[{"model_hash":458025182,"door_coords":{"z":45.8,"y":2450.91,"x":1717.89},"unique_id":"NbRZnw9hFtBJBl9d7zREX"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 916","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BQTX-J9F1-NSHK-KYTN","door_data":[{"model_hash":458025182,"door_coords":{"z":45.8,"y":2447.33,"x":1716.57},"unique_id":"ZUq1igrzYdKVGQbnx5_Fg"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 917","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FRUD-439P-KILW-81QB","door_data":[{"model_hash":458025182,"door_coords":{"z":45.8,"y":2447.33,"x":1719.17},"unique_id":"h0kiCMjgeY6ClrWZYLO1n"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 918","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y07H-22NN-SO2C-RPNM","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2458.8,"x":1696.1},"unique_id":"ilI6CLiMYM4obB8uWfW1u"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 919","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"M5S9-EPXA-8BKQ-X2T9","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2458.8,"x":1699.81},"unique_id":"oyvP29vfh2wx-Gm9NWpVf"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 920","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0P3A-F1U5-LUQ1-GM4A","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2458.8,"x":1703.34},"unique_id":"o5VHzxEYfat6L66YtQia-"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 921","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"W22H-TW2A-DPPN-NV4B","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2456.2,"x":1708.71},"unique_id":"mBC7Qq0nvJ97b1Itm7O2s"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 922","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7U8T-F8MX-RXHK-RW3Y","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2452.68,"x":1708.71},"unique_id":"A5rWHpUegbujjYdGJeV5K"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 923","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6WY6-CW2O-RXEJ-YD6Z","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2445.93,"x":1708.71},"unique_id":"1wULVZfluoueiEJdwRysl"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 924","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YGOB-EJMX-8LSH-4G9M","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2442.69,"x":1706.85},"unique_id":"tiSX3wJQ_D7JGFJXZrBe0"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 925","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VIX0-XXLO-HIBV-Z7FG","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2442.69,"x":1703.5},"unique_id":"SIOuuIikf7fzGfJnwz4d0"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 926","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"I5S2-3ETC-UBJ0-1RKO","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2442.69,"x":1699.83},"unique_id":"ZIVRMV58XBhYTMPupYvYy"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 927","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VUN0-KFHP-MAIM-S21C","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2442.69,"x":1696.33},"unique_id":"x3XgquEH9qb0oXrr3UIag"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 928","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AKKT-BN8W-NG08-A5L2","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2442.69,"x":1689.44},"unique_id":"gQkg4rFElWrHUh3WCcOFW"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 929","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BRGW-9AHF-LLCY-DC6Q","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2442.69,"x":1685.8},"unique_id":"BtZnvaSSV_tMEXpZSqFGn"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 930","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4Y0X-WMK9-UDHG-G97Q","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2442.69,"x":1682.29},"unique_id":"6DQNAf4UGoRJrLSwZlc_O"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 931","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FNGZ-XVAU-1QBY-ZWN2","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2442.69,"x":1678.9},"unique_id":"nyaezTWUPPXjFHajIB1uv"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 932","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KUQ5-2AER-X2NF-XBIB","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2445.26,"x":1676.65},"unique_id":"QBsrmtE5EZYaFV-BvTeEb"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 933","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GZTD-465Y-PQCL-WKIT","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2448.78,"x":1676.65},"unique_id":"PNpaSN6tlCM-eU2ZIlgB2"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 934","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BOXU-LJZT-9CCL-WZCX","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2452.21,"x":1676.65},"unique_id":"E7DCr5X17-zWMiORagMM8"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 935","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TDRY-S5Z7-ABUK-UJ5I","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2455.54,"x":1676.65},"unique_id":"HCKv1XlSwwWs9sttVqPnM"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 936","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9DIR-K3QU-8MA8-RZLA","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2458.8,"x":1678.18},"unique_id":"sYu_CR7BGMgHkzCrxYMts"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 937","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2AUG-H2XA-FMLC-FR08","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2458.8,"x":1681.8},"unique_id":"N3-aB2yslBHim0lNoZxz-"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 938","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WLQP-KM6P-5Z59-GLJ3","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2458.8,"x":1685.34},"unique_id":"CJpZP27hDITzZ_TcRv7xR"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 939","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D9HZ-1X6L-BW6G-7CSP","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2458.8,"x":1688.76},"unique_id":"NSrIhgZh1YA3c9EqE9nwQ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 940","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V17T-YSFQ-KWDR-IYZF","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2458.8,"x":1696.1},"unique_id":"N8XnVEZNErwuI35YGNxF6"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 941","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MDJW-FYT7-P1PG-UB0I","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2458.8,"x":1699.81},"unique_id":"cYsFyxVw0yuRhnp6rJLyT"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 942","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G2AB-PD6X-06FU-PVYI","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2458.8,"x":1703.34},"unique_id":"dcYUuvFGYtz_CfKiMdN1w"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 943","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4O66-CSGJ-T6EW-CIU7","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2458.8,"x":1706.71},"unique_id":"xpd1nPH12fWl9mm3jh_OP"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 944","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K52P-WYLM-RUD1-7PV6","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2456.2,"x":1708.71},"unique_id":"SZSr6m_KGtj_0PFMpuGg3"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 945","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CGSD-Z58V-V416-6KKY","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2452.66,"x":1708.71},"unique_id":"8YO2sbzErH5cbf-XLlrul"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 946","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0KSP-Q5GT-5SM6-QV7I","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2449.26,"x":1708.71},"unique_id":"IRCCX4IcQRurLndih-azx"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 947","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8XR5-4X3Q-4WTH-BU3V","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2445.93,"x":1708.71},"unique_id":"vWvXohAvmIpzigYzge81c"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 948","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KFH3-9M3M-OFRG-JF7F","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2442.69,"x":1706.85},"unique_id":"E1MKM0ANuzs_lQspIhm8L"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 949","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NU2W-NB6S-1SJE-1RCO","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2442.69,"x":1703.5},"unique_id":"57LRQ3cykWfB1DECOkGRN"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 950","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QPZ6-8UKV-XQQ0-06BZ","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2442.69,"x":1699.83},"unique_id":"dygE0E1L56kd1hqtsimwh"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 951","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C2LG-MJCN-UWBC-3BY5","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2442.69,"x":1696.33},"unique_id":"uvdwo050iQlFYGEkfluG_"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 952","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2GQS-X6RW-LA9C-20LY","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2442.69,"x":1689.44},"unique_id":"6gxtauyJ66jJtZFelwbak"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 953","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XD0M-6HJL-BWG8-VUDP","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2442.69,"x":1685.8},"unique_id":"rdQYw0fmnfZzmeSMeT4fm"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 954","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V3TT-SU9E-A6M5-V0BJ","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2442.69,"x":1682.29},"unique_id":"bkblUhpw2isZQ1YuejlzI"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 955","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RGHK-HII9-2OK2-O30M","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2442.69,"x":1678.9},"unique_id":"gfkjHylfarDac9vJOMAay"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 956","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9U4I-O1XG-UFGA-H599","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2445.26,"x":1676.65},"unique_id":"mcQmc1Z-AoZ0Sqh6q6-GF"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 957","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DMCP-SBEY-BQEI-3HAA","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2448.78,"x":1676.65},"unique_id":"sJFjcDw8uIH6M5UxSY7Cx"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 958","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7CN1-WHFT-Z8JU-3FOA","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2452.21,"x":1676.65},"unique_id":"vhJr1MTt9FmYUIZrD9EfZ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 959","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NH3A-S7BV-LBLB-BK1W","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2455.54,"x":1676.65},"unique_id":"1MDG00GtWEtjmUhI-j8Jh"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 960","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G7D8-EMYL-SQV3-F0MK","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2458.8,"x":1678.18},"unique_id":"yiUquFkrLbc-vVhIoAzCl"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 961","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HFXW-BYTU-5TKR-M1PQ","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2458.8,"x":1681.8},"unique_id":"xtyGxR8ohTHdlSKxDKaoY"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 962","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2NB1-GUEE-GHLT-DUC1","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2458.8,"x":1685.34},"unique_id":"gMLBkxtTLJ7Y5p8uNydAS"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 963","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UASN-ZMDU-NVME-MJS4","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2458.8,"x":1688.76},"unique_id":"EsTHHSWBypgRbcvOp5ewO"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 964","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"U2Y4-9C8L-DU0U-5LWI","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.83,"y":2500.56,"x":1753.25},"unique_id":"FmeBpcqCWIvQSe-9fbAKD"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 965","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0J2Z-D8I9-G5VG-OKAA","door_data":[{"model_hash":-1033001619,"door_coords":{"z":45.83,"y":2501.86,"x":1755.5},"unique_id":"24MwYmfS4YoB96O2ls80w"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 966","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"88Q5-R20Z-2KF2-Y5ZX","door_data":[{"model_hash":430324891,"door_coords":{"z":44.65,"y":2497.06,"x":1756.53},"unique_id":"3mDn6c6pGBzJjxSXcRjF_"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 967","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7RXX-1CIA-IYHP-17KJ","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2500.28,"x":1772.96},"unique_id":"NrOkMv0wRRmtYJPJBURYp"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 968","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PCZ8-Z8YV-IVTR-HQAV","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2498.98,"x":1770.71},"unique_id":"jTizVUDtXXAO7HeMp-Qc2"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 969","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VE3V-1VD3-IPO9-R6BX","door_data":[{"model_hash":458025182,"door_coords":{"z":46.18,"y":2505.14,"x":1770.16},"unique_id":"HGlXoKpjLBFF37awYoUkV"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 970","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QFER-HDT4-B8U8-O06W","door_data":[{"model_hash":458025182,"door_coords":{"z":46.18,"y":2503.84,"x":1767.9},"unique_id":"cC4lFoyJDnpSeGvNoZGBH"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 971","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BQAF-QAHD-VFT4-0USC","door_data":[{"model_hash":430324891,"door_coords":{"z":45,"y":2504.74,"x":1765.83},"unique_id":"zkxS1o8VtBb3U25AXO_1b"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 972","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ONII-BO17-0A87-1AHA","door_data":[{"model_hash":458025182,"door_coords":{"z":46.18,"y":2512.97,"x":1765.72},"unique_id":"r99U9PdHh58-fkkYfyp6U"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 973","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0W6Q-DFN8-2HK3-HO79","door_data":[{"model_hash":430324891,"door_coords":{"z":45,"y":2510.86,"x":1762.2},"unique_id":"3U-fyTSUjjicR9EqerfMM"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 974","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8YST-1UUD-EASN-9VJZ","door_data":[{"model_hash":-519068795,"door_coords":{"z":46.12,"y":2513.63,"x":1760.56},"unique_id":"JR2Qxu76Y28kH0qxFqMx9"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 975","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DQK8-5LQ0-GA5N-P282","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2491.08,"x":1778.83},"unique_id":"EHVmKNoz9TS_FZGlTn-Ir"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 976","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SMK4-0AB8-4UD6-YQD6","door_data":[{"model_hash":458025182,"door_coords":{"z":45.82,"y":2493.33,"x":1777.53},"unique_id":"ijH0B6W7QeQfRfBht6PPL"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 977","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HZI8-4UQ8-Z5OV-G940","door_data":[{"model_hash":458025182,"door_coords":{"z":45.8,"y":2498.35,"x":1785.19},"unique_id":"jL-ZRNncHJKTtLy82vY2R"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 978","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4VYU-TMME-J4AN-Z7KG","door_data":[{"model_hash":458025182,"door_coords":{"z":45.8,"y":2494.59,"x":1785.83},"unique_id":"hvY9DOcx2gr1mULEQ4Ji8"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 979","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"26AA-YKGD-L6Q8-5IDG","door_data":[{"model_hash":458025182,"door_coords":{"z":45.8,"y":2495.89,"x":1788.08},"unique_id":"fKWluUWIFuRC1VH4NZLTk"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 980","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LIYK-FP5F-D88R-EGWC","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2494.29,"x":1762.37},"unique_id":"zKx-ydR_DJ-ZgcvN-Ruaz"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 981","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GIRW-CXKV-XBQZ-T5VG","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2496.14,"x":1765.58},"unique_id":"clKb87mE8-GY5MI93-8XC"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 982","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CV0V-0RI0-DIJN-CYK0","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2497.91,"x":1768.64},"unique_id":"WE1_9i-grZ9PiFlh4ul18"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 983","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WJKG-6FH8-4G3F-5R4P","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2498.34,"x":1774.59},"unique_id":"tpXN9qeyKDoXw8TzK1tpv"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 984","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B0YP-VFBQ-N9PK-7OW1","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2495.3,"x":1776.35},"unique_id":"BA1ZPnmoGOl0pDAWX98zU"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 985","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AQ3F-Q95O-GAWW-DAQV","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2489.45,"x":1779.72},"unique_id":"N1i7oEuHH-Iak0XwyxhNr"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 986","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"T3IJ-N1B1-2F5Q-EITR","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2485.71,"x":1779.73},"unique_id":"BRMPRzI_ffAzk2TuLs6N8"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 987","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TAHK-WSGE-UEQO-8SPZ","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2484.04,"x":1776.83},"unique_id":"0353GUyoZOp7614lx8PpT"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 988","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"85WW-RO1V-RZGW-E2ZZ","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2482.21,"x":1773.65},"unique_id":"ak3Wl-11_6CkRUwJjwJNa"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 989","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"S9BO-24DF-DGN9-GHZR","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2480.46,"x":1770.63},"unique_id":"DpDev1oSixMXFGuBhye6U"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 990","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EFJ4-3OJS-V2JA-TA5T","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2477.01,"x":1764.66},"unique_id":"YITYHabjG4dZntWjr09a7"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 991","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OEDC-BPU6-4EC3-JCF7","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2475.19,"x":1761.51},"unique_id":"vQCDXApVhyaXZ6UNrXXbq"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 992","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"U3MY-0DBS-LQCW-MUGJ","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2473.44,"x":1758.47},"unique_id":"Wdifs-9bbcATxTuR7H-rA"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 993","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9XP9-1SKU-5GEL-6PZ4","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2471.74,"x":1755.53},"unique_id":"WVBJsJgePD4e67sdTYlXQ"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 994","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E2KC-G0Z8-Y1J3-WVUK","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2472.83,"x":1752.29},"unique_id":"diylSRkKmPIUKvryvYEXa"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 995","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NMHL-DHTM-IVBO-3WXD","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2475.88,"x":1750.53},"unique_id":"SSREXYHsQWlhGJTMPVk3X"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 996","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"S4WA-ONTO-LRNM-LD2X","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2478.86,"x":1748.82},"unique_id":"mCC_OEGdVqbjVRnIb3yXA"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 997","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EDZD-EGZA-VEPW-62KZ","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2481.74,"x":1747.15},"unique_id":"PXKaEqSBUS3TsAVs3tJOV"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 998","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LBQD-Q1KQ-ENK7-W790","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2485.33,"x":1746.85},"unique_id":"rCaCAnFDyvJgEETzg83bN"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 999","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"206C-GJLE-WO50-C8M2","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2487.14,"x":1749.99},"unique_id":"XsbeEndpjCxnOHhqgJBM2"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1000","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4PPJ-THF6-V8MJ-J9HF","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2488.91,"x":1753.05},"unique_id":"4bGj8C_02YmvEpxLLthMn"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1001","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D35X-2DQ8-M89R-KT4U","door_data":[{"model_hash":430324891,"door_coords":{"z":44.63,"y":2490.62,"x":1756.02},"unique_id":"QwVg5DZV0p43BgIvOJtJd"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1002","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"P7LK-WHES-C9EV-RTWO","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2494.29,"x":1762.37},"unique_id":"btL5qHQJkHU7Wthr-3Fct"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1003","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2AHP-NP2H-XX9Y-VCXH","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2496.14,"x":1765.58},"unique_id":"g-UOH9jqt8Nvf6amyKWkg"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1004","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BMJV-VBVQ-PNC3-I0IF","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2497.91,"x":1768.64},"unique_id":"wOEfV-LowPHLM2Lsn9UhI"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1005","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CNL9-OCY3-E96U-Y87W","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2499.59,"x":1771.56},"unique_id":"BF7-igWsm5ODe_Dt-yYCy"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1006","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IDTL-WPLI-CIFN-S7J4","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2498.34,"x":1774.59},"unique_id":"cg1qqLOoZfxLekCjsXW5r"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1007","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NWUB-68VQ-5N88-PR82","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2496.3,"x":1776.35},"unique_id":"d373dYSRU1jl_gTrdPaf9"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1008","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WFFD-HKQX-Z78J-UN9Y","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2492.33,"x":1778.06},"unique_id":"N3AHbIdPgI2HdZGPCyfCp"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1009","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"63KI-E8AK-OVBS-W3OR","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2489.45,"x":1779.72},"unique_id":"vkXI--gj1p_Z-9HnQVV6n"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1010","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4TAJ-7YTY-GXDN-655F","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2486.71,"x":1779.73},"unique_id":"hmHCn5Q9rclYkpzo3IoIH"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1011","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"31CF-UUSR-QDG7-X8IZ","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2484.04,"x":1776.83},"unique_id":"C-_uEGJQUjygteOSRgaBI"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1012","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZIYH-MACY-6U0A-LOQT","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2482.21,"x":1773.65},"unique_id":"2ZbFMM3-dUEVVJr3M0OC1"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1013","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KJ8P-LANS-GI1P-RAX4","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2480.46,"x":1770.63},"unique_id":"S4g1oNhBK0zs5QgkDMIFR"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1014","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7MPE-WDUO-88B7-AFLA","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2477.01,"x":1764.66},"unique_id":"2rFwQeIfaSU7wC7p5vYVK"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1015","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UVTB-1279-U13I-A7DG","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2475.19,"x":1761.51},"unique_id":"EuxXjz0g_WA1veWghUmgW"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1016","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"345Q-BQL9-UGWT-569T","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2473.44,"x":1758.47},"unique_id":"m_RB4vTkEjSCZJgYqlmJW"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1017","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PCMJ-LC52-IYWF-2LXC","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2471.74,"x":1755.53},"unique_id":"HzulHjD_rR5Jg60tLXfiI"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1018","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YCES-NSUY-S5FH-IJMR","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2472.83,"x":1752.29},"unique_id":"qhaaOnvd6yWIof9LI3S02"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1019","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AA5K-2RCY-8H11-BQT9","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2475.88,"x":1750.53},"unique_id":"_idURLBeg3y7jCst3i3pz"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1020","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JKHG-UIWR-GSTL-PLY8","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2478.86,"x":1748.83},"unique_id":"9aK2DHN2GqZKzB1jdUH0h"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1021","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MDJG-RIQY-OQ9A-YVF5","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2481.74,"x":1747.15},"unique_id":"Z_Nt5VEZjbcFxKEhBomya"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1022","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JMYY-UHOX-BF86-32DU","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2485.33,"x":1746.85},"unique_id":"Niqh5JOMd_jbaFdNzdpVs"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1023","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C169-BXO8-ATKK-OFKU","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2487.14,"x":1749.99},"unique_id":"hvoOPSb-LYYfjGW45tDXp"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1024","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LT9K-K4DC-E1KW-P55V","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2488.91,"x":1753.05},"unique_id":"mbjmuliCT3gBcs2VVtueK"}],"distance":1.3,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bolingbroke Door 1025","location_group":"Bolingbroke Prison","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IS64-F0NG-14EZ-16EZ","door_data":[{"model_hash":430324891,"door_coords":{"z":47.78,"y":2490.62,"x":1756.02},"unique_id":"SfBBEhCITuNPzjDRGMo-i"}],"distance":1.3,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Bolingbroke_Prison.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Bus_Station.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Bus_Station.json
new file mode 100644
index 000000000..df95b2940
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Bus_Station.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Bus Station E-1","location_group":"Bus Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GQ98-2UTZ-GOL7-QMZV","door_data":[{"model_hash":-1484815118,"door_coords":{"z":27.75592613220215,"y":-647.0697631835938,"x":436.7302856445313},"unique_id":"Qdzjg5tN5Hr_Gh13qdT6h"},{"model_hash":-1484815118,"door_coords":{"z":27.75592613220215,"y":-644.8846435546875,"x":436.92144775390627},"unique_id":"vrYSY7n1_pE7W8oEyf6Ux"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Bus Station E-2","location_group":"Bus Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"M9XI-164C-9C2W-VKQ0","door_data":[{"model_hash":-1484815118,"door_coords":{"z":27.70729637145996,"y":-625.6000366210938,"x":438.70208740234377},"unique_id":"9iwB5zfqWY9Onn6mVPTEA"},{"model_hash":-1484815118,"door_coords":{"z":27.70729637145996,"y":-623.4126586914063,"x":438.8934631347656},"unique_id":"diHHIHB-8p6Espu9FbqJ0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bus Station 1-1","location_group":"Bus Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LQ3B-BC3E-JOMR-XAB3","door_data":[{"model_hash":-2023754432,"door_coords":{"z":28.68785858154297,"y":-648.146240234375,"x":442.11285400390627},"unique_id":"VbCp4H-MeNVH7SB8JhsmM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bus Station 1-2","location_group":"Bus Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"05RM-YQ4V-GOB7-Y77U","door_data":[{"model_hash":-2023754432,"door_coords":{"z":28.68785858154297,"y":-648.2509765625,"x":443.3933715820313},"unique_id":"JcIy-Y4HP9dN_Wt9tvmdm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bus Station 1-3","location_group":"Bus Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GHW3-MBDB-YVEQ-6H8P","door_data":[{"model_hash":-2023754432,"door_coords":{"z":28.68785858154297,"y":-641.764404296875,"x":443.96087646484377},"unique_id":"4ayU2Es5nVc6tjreLMxEJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bus Station 1-4","location_group":"Bus Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OKL1-8TXP-7TFN-FY0P","door_data":[{"model_hash":-2023754432,"door_coords":{"z":28.68785858154297,"y":-641.6529541015625,"x":442.6809387207031},"unique_id":"VGh_UyIK2u6pMftFQYyWB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bus Station 1-5","location_group":"Bus Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5C68-3X0X-ARPK-1F1N","door_data":[{"model_hash":-2023754432,"door_coords":{"z":28.68785858154297,"y":-633.197021484375,"x":443.4207458496094},"unique_id":"tYKqAWZ4MiS6AIx2SjCXk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bus Station 1-6","location_group":"Bus Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K1PX-MUGX-4G5V-8JHX","door_data":[{"model_hash":-2023754432,"door_coords":{"z":28.68785858154297,"y":-633.3872680664063,"x":444.69378662109377},"unique_id":"D8VGmsKe8w0-xHNwOSH37"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bus Station 1-7","location_group":"Bus Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8883-GVVM-EQY4-LZNC","door_data":[{"model_hash":-2023754432,"door_coords":{"z":28.68785858154297,"y":-626.9205322265625,"x":445.2595825195313},"unique_id":"kB2_M59Cb8wvpLO7FwaMr"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bus Station 1-8","location_group":"Bus Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JLUE-BQOZ-Q42M-I0K4","door_data":[{"model_hash":-2023754432,"door_coords":{"z":28.68785858154297,"y":-626.8056030273438,"x":443.97991943359377},"unique_id":"EzWbtodopnVNNNy2_xMKa"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Bus_Station.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Davis_Gang.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Davis_Gang.json
new file mode 100644
index 000000000..a7d1144fc
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Davis_Gang.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Davis E-1","location_group":"Davis Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3TFG-4H29-4EWE-9KBE","door_data":[{"model_hash":-1515008170,"door_coords":{"z":35.20551300048828,"y":-1601.147705078125,"x":-208.40997314453129},"unique_id":"7jtq9qNlqBCWR6ouf10PB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Davis 1-1","location_group":"Davis Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"74JC-7V04-OJMQ-OQAZ","door_data":[{"model_hash":-5479653,"door_coords":{"z":35.12880706787109,"y":-1599.102783203125,"x":-205.0818634033203},"unique_id":"7uS0E4EckwZTu-AubX44R"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Davis 1-2","location_group":"Davis Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7Q40-139Q-7TPA-167Q","door_data":[{"model_hash":-5479653,"door_coords":{"z":35.13292694091797,"y":-1587.802490234375,"x":-202.89698791503904},"unique_id":"6sD-i9PDrhxORfW7nUmJo"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Davis 1-3","location_group":"Davis Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"45DD-P3TU-RZ97-FKK7","door_data":[{"model_hash":-5479653,"door_coords":{"z":35.12630081176758,"y":-1581.263916015625,"x":-198.39285278320313},"unique_id":"yJRDID0ft8m6br6XbkHKN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Gang Hideout / Davis 1-4","location_group":"Davis Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DHTN-ZQ8N-RN5H-NGV2","door_data":[{"model_hash":-5479653,"door_coords":{"z":35.1319465637207,"y":-1576.9427490234376,"x":-210.01475524902345},"unique_id":"iA_rLJrKB1TuoSD0s_iTr"},{"model_hash":-5479653,"door_coords":{"z":35.1319465637207,"y":-1578.5782470703126,"x":-207.99496459960936},"unique_id":"aJ1kbDl9d8m-voX_SHXw0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Davis 1-5","location_group":"Davis Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"17FG-XNK2-EU2I-UJ0G","door_data":[{"model_hash":-5479653,"door_coords":{"z":35.12838745117187,"y":-1571.656005859375,"x":-216.31967163085936},"unique_id":"dXt6sW7tK2a0Rxyuo9Vbh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Davis 1-6","location_group":"Davis Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"S65K-EF95-USG3-D6V5","door_data":[{"model_hash":-5479653,"door_coords":{"z":35.12830352783203,"y":-1564.9404296875,"x":-215.8291931152344},"unique_id":"Lfxqs1gBn15YkWvJqBuZi"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Davis 1-7","location_group":"Davis Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8PNA-XDNQ-OTMV-6B8U","door_data":[{"model_hash":-5479653,"door_coords":{"z":35.12640380859375,"y":-1575.6939697265626,"x":-223.83892822265626},"unique_id":"oF9scpP47LvvEL2OCzsEf"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Davis_Gang.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Dynasty_8.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Dynasty_8.json
new file mode 100644
index 000000000..827419f1a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Dynasty_8.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Dynasty 8 E-1","location_group":"Dynasty 8","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G6X3-XU9C-0E3T-LUGH","door_data":[{"model_hash":-98018355,"door_coords":{"z":38.87641143798828,"y":-333.65985107421877,"x":-842.8986206054688},"unique_id":"9Gh1L3Tz5TMx4n7M0VXRb"},{"model_hash":-98018355,"door_coords":{"z":38.87641143798828,"y":-335.9458312988281,"x":-841.734619140625},"unique_id":"6_wx9vCik4VyyodREFupb"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Dynasty 8 1-1","location_group":"Dynasty 8","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UTJT-3HR7-NVFP-8TEW","door_data":[{"model_hash":-551608542,"door_coords":{"z":38.81884384155273,"y":-348.5436096191406,"x":-855.5955200195313},"unique_id":"Gl3-YFUARVvjU2lTV6YPT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Dynasty 8 2-1","location_group":"Dynasty 8","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"79TF-0ZBZ-Y77X-RASB","door_data":[{"model_hash":1111157749,"door_coords":{"z":44.85441589355469,"y":-334.41082763671877,"x":-840.8136596679688},"unique_id":"IHq71BZ_ZLw-fLa2RDfl7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Dynasty 8 2-2","location_group":"Dynasty 8","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QAWB-6IOQ-RD0X-VFPT","door_data":[{"model_hash":-551608542,"door_coords":{"z":44.86441421508789,"y":-340.2448425292969,"x":-846.0596313476563},"unique_id":"WbtcU3LvYKy0x9t2YREmT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Dynasty 8 2-3","location_group":"Dynasty 8","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6EPK-MF5Z-UUIK-G7VL","door_data":[{"model_hash":-551608542,"door_coords":{"z":44.86141204833984,"y":-339.9818420410156,"x":-849.8776245117188},"unique_id":"VNlIFxVF30BmsC3cRiRzk"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Dynasty_8.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_El_Burro_Gang.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_El_Burro_Gang.json
new file mode 100644
index 000000000..a77649572
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_El_Burro_Gang.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Gang Hideout / El Burro E-1","location_group":"El Burro Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5J5P-R6SN-7STH-21T8","door_data":[{"model_hash":262671971,"door_coords":{"z":63.77627563476562,"y":-1491.846435546875,"x":1438.635986328125},"unique_id":"or7xtSAcVA-V0x3QfJp_f"},{"model_hash":1504256620,"door_coords":{"z":63.77627563476562,"y":-1491.193603515625,"x":1436.5361328125},"unique_id":"42jp03d8E9Es8Szwlhhct"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / El Burro E-2","location_group":"El Burro Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"N1VJ-SO19-8FP3-SN7H","door_data":[{"model_hash":262671971,"door_coords":{"z":63.78522872924805,"y":-1480.5023193359376,"x":1439.330322265625},"unique_id":"G1n_KlytRfhWP0n6PU4is"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / El Burro 1-1","location_group":"El Burro Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IJG9-N9O8-1DY2-JNUK","door_data":[{"model_hash":-1186396713,"door_coords":{"z":63.77946853637695,"y":-1490.13427734375,"x":1441.078369140625},"unique_id":"0eXBHasUPYZR2ypo9Zy4R"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / El Burro 1-2","location_group":"El Burro Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"O424-HEMP-GZ47-10XK","door_data":[{"model_hash":103339342,"door_coords":{"z":63.77902221679687,"y":-1487.609619140625,"x":1441.8800048828126},"unique_id":"PBKll7DAWv7HZSlW4ZiCU"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / El Burro 1-3","location_group":"El Burro Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QAS8-253L-JJLC-XNVU","door_data":[{"model_hash":103339342,"door_coords":{"z":66.78407287597656,"y":-1482.8558349609376,"x":1442.7642822265626},"unique_id":"Pv24ipa43991uK09aUQOp"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / El Burro 1-4","location_group":"El Burro Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZMHD-O7QG-FKIB-UWXZ","door_data":[{"model_hash":-1186396713,"door_coords":{"z":66.78370666503906,"y":-1490.1749267578126,"x":1441.0762939453126},"unique_id":"xS7afgLC21_D4qnZ1OzV2"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / El Burro 1-5","location_group":"El Burro Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"17R2-MLDO-0W40-Z8YC","door_data":[{"model_hash":-1186396713,"door_coords":{"z":66.7834701538086,"y":-1490.9676513671876,"x":1440.7945556640626},"unique_id":"JFj3532UbluNvgJ7owmnL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Gang Hideout / El Burro E-3","location_group":"El Burro Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JI8U-JL1B-ZU9E-P4RG","door_data":[{"model_hash":1504256620,"door_coords":{"z":66.79662322998047,"y":-1490.758056640625,"x":1434.761474609375},"unique_id":"tPfZxb9LLE_hvnf87rkbG"},{"model_hash":262671971,"door_coords":{"z":66.79662322998047,"y":-1491.396240234375,"x":1436.8687744140626},"unique_id":"iz7FWdAkIFRKgnn3dl4P2"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_El_Burro_Gang.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Grove_Gang.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Grove_Gang.json
new file mode 100644
index 000000000..1eea47e17
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Grove_Gang.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Groove E-1","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TUPP-UVDD-XKB4-6WQT","door_data":[{"model_hash":1956494919,"door_coords":{"z":21.46610260009765,"y":-1961.4080810546876,"x":115.04419708251952},"unique_id":"B_ESac9COwCEueEf39rW9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Groove 1-1","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"99FL-5XPJ-IMJY-BWMJ","door_data":[{"model_hash":1575804630,"door_coords":{"z":21.46792602539062,"y":-1963.7001953125,"x":116.25086975097656},"unique_id":"4uz1t8Lp_3BC1o19_lkxk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Groove 1-2","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MZI8-4EVG-ANS1-F4U3","door_data":[{"model_hash":-5479653,"door_coords":{"z":21.40908622741699,"y":-1965.848876953125,"x":117.04507446289064},"unique_id":"W4frXEStIzG1BlI8rwAuX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Groove 1-3","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YZDC-PWXG-4VR9-B13C","door_data":[{"model_hash":456661554,"door_coords":{"z":21.41182518005371,"y":-1971.2080078125,"x":119.10846710205078},"unique_id":"pzNniKgwRK8LeLYnfe2y7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Gang Hideout / Groove E-2","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"53UC-UUZA-717E-YF80","door_data":[{"model_hash":1504256620,"door_coords":{"z":21.47307777404785,"y":-1973.5865478515626,"x":119.1586685180664},"unique_id":"kF4Gs4I84RFBqtpoSN8ek"},{"model_hash":262671971,"door_coords":{"z":21.47113800048828,"y":-1974.3714599609376,"x":117.10466766357422},"unique_id":"GzHAUdbEIj8WfxdVVmmXt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Groove 1-4","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XGXN-6F0P-3SQN-U681","door_data":[{"model_hash":-5479653,"door_coords":{"z":21.40915298461914,"y":-1969.542236328125,"x":116.6615753173828},"unique_id":"_bXolOWeTwxKEbFwgXAwW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Groove E-3","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HI38-KKUC-8QLP-WS45","door_data":[{"model_hash":1956494919,"door_coords":{"z":21.46607208251953,"y":-1973.874755859375,"x":112.80323028564452},"unique_id":"qS4HyevFRZuWfwrz3_hdi"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Groove E-4","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z4X6-9KEA-PEWH-3X4V","door_data":[{"model_hash":-1987474252,"door_coords":{"z":20.01158332824707,"y":-1979.27978515625,"x":111.46031951904296},"unique_id":"zB3AaLT7TwR9xasplGO_A"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Groove E-5","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MSI2-INJY-7IHP-95RB","door_data":[{"model_hash":-1987474252,"door_coords":{"z":20.01325416564941,"y":-1977.2952880859376,"x":104.68203735351564},"unique_id":"XZ6ri6pyMScfgYoKox2qm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Gang Hideout / Groove E-6","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SJ5P-PTL0-PQLU-LJN7","door_data":[{"model_hash":-1987474252,"door_coords":{"z":19.46128845214843,"y":-1984.4793701171876,"x":93.99517822265624},"unique_id":"SClHl_TPlwYkvJAsVx2Ee"},{"model_hash":-1987474252,"door_coords":{"z":19.46142578125,"y":-1986.102783203125,"x":95.47962951660156},"unique_id":"tcht1OzsZpjNXGr18Aq_N"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Gang Hideout / Groove E-6","location_group":"Grove Gang","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"COVM-18X3-0K7I-4OEX","door_data":[{"model_hash":-1987474252,"door_coords":{"z":19.89338493347168,"y":-1964.9716796875,"x":105.79612731933594},"unique_id":"5eShT1OV5tnZe6a_cLIa-"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Grove_Gang.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Japanese_Restaurant.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Japanese_Restaurant.json
new file mode 100644
index 000000000..d35410246
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Japanese_Restaurant.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Japanese Restaurant E-1","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MOW6-ENKT-53JE-XWF6","door_data":[{"model_hash":2012678195,"door_coords":{"z":93.95906066894533,"y":285.9325866699219,"x":-168.76629638671876},"unique_id":"am-TfyOw0vxN7p4ilhJJW"},{"model_hash":-965106369,"door_coords":{"z":93.95906066894533,"y":285.9325866699219,"x":-170.99729919433598},"unique_id":"CRrfgrCnRVu8PEoj8YI36"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant E-2","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"77T4-2XFO-U4B0-JGYY","door_data":[{"model_hash":-369464256,"door_coords":{"z":93.9600601196289,"y":285.9216003417969,"x":-166.6422882080078},"unique_id":"kSNtpxENTrDsP_OXyLQ-W"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant E-3","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WMLB-1F02-R8UH-5J37","door_data":[{"model_hash":-1653288146,"door_coords":{"z":93.9600601196289,"y":287.3235778808594,"x":-153.1552886962891},"unique_id":"c1jWiJ8O7OwH6i9SlLbYw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Japanese Restaurant E-4","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RPNK-BSQ5-2Z0V-EANN","door_data":[{"model_hash":-1093560853,"door_coords":{"z":99.09606170654296,"y":294.818603515625,"x":-150.498291015625},"unique_id":"ct6Dz5dauWj6YPa6z1c0y"},{"model_hash":-726253128,"door_coords":{"z":99.09606170654296,"y":294.818603515625,"x":-152.8032989501953},"unique_id":"kyvorcatWHxNFlud4Jvze"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Japanese Restaurant 1-1","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WOWD-XS82-BR3E-PH9N","door_data":[{"model_hash":-1089711493,"door_coords":{"z":93.9150619506836,"y":299.9985961914063,"x":-168.7952880859375},"unique_id":"X4_h7yiZ48NL7eT02cX1a"},{"model_hash":-1089711493,"door_coords":{"z":93.9150619506836,"y":299.9985961914063,"x":-171.24530029296876},"unique_id":"_KZuhadYe6AvMT-cr7IbS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant 1-2","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZZIJ-Q4VL-FU06-0GSY","door_data":[{"model_hash":-2012426746,"door_coords":{"z":93.91758728027344,"y":300.1082763671875,"x":-159.4425506591797},"unique_id":"9kAm_es6puB6QGp7ZmxYe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant 1-3","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ENTS-OD6Q-3OQ3-3Q4H","door_data":[{"model_hash":-868476758,"door_coords":{"z":93.91758728027344,"y":300.1082763671875,"x":-159.04241943359376},"unique_id":"7KlS7zPcv-Jy4ukuxZiEw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant G-1","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2WR1-23NO-X1JC-7G34","door_data":[{"model_hash":-1274314914,"door_coords":{"z":98.36776733398438,"y":319.3008422851563,"x":-178.2048797607422},"unique_id":"V2Nkj1b7Xq4e0M0VIYB_2"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant 2-1","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OHS2-1JJ8-28CL-GMHC","door_data":[{"model_hash":-2023754432,"door_coords":{"z":97.61006927490236,"y":302.7109985351563,"x":-171.3477020263672},"unique_id":"ayi874n63NIMHP-jb9-8W"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant 2-2","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8LGP-846J-M2V2-4S0Z","door_data":[{"model_hash":-49034954,"door_coords":{"z":98.1433563232422,"y":317.8489074707031,"x":-171.36883544921876},"unique_id":"cEPMUtqKk-0dRIOLEE-q-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Japanese Restaurant 2-3","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YQWG-2FOQ-DM5I-RRCJ","door_data":[{"model_hash":-1407669096,"door_coords":{"z":99.04405975341796,"y":299.9575500488281,"x":-164.21829223632813},"unique_id":"NLCcyZ2PfsvpZiZEHeJot"},{"model_hash":-1407669096,"door_coords":{"z":99.04405975341796,"y":299.9575805664063,"x":-166.20529174804688},"unique_id":"ML5LyTOclIbBYZ_PI9i2Z"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant 2-4","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BPIH-F6HN-L101-DOFM","door_data":[{"model_hash":-1177931392,"door_coords":{"z":99.04840850830078,"y":300.0574951171875,"x":-159.44131469726566},"unique_id":"WlYRLoc-yFjhn2EpuUm0q"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant 2-5","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5WNF-AUS0-EC00-LF59","door_data":[{"model_hash":-1164053138,"door_coords":{"z":99.04840850830078,"y":300.0574951171875,"x":-159.04241943359376},"unique_id":"HFPblzqwDCu8ApybaEtUI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant 2-6","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z3X9-B69F-Q3J5-ISFC","door_data":[{"model_hash":-862441096,"door_coords":{"z":99.02205657958985,"y":299.39959716796877,"x":-149.5572967529297},"unique_id":"eO2vhXVAMTdENMDbm_g1n"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant 2-7","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6BN2-Y0MS-18ME-41ZG","door_data":[{"model_hash":423873230,"door_coords":{"z":99.02205657958985,"y":299.39959716796877,"x":-142.9673004150391},"unique_id":"FQc4FGxJV6D8NC7uOqjJX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Japanese Restaurant 3-1","location_group":"Japanese Restaurant","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FCRO-F7NR-UHMH-4GFW","door_data":[{"model_hash":-2023754432,"door_coords":{"z":101.07380676269533,"y":302.71063232421877,"x":-171.31900024414066},"unique_id":"BHeopp9EwbWBAqAKIvs_H"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Japanese_Restaurant.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Legion_Fire_Dept.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Legion_Fire_Dept.json
new file mode 100644
index 000000000..bd3967d84
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Legion_Fire_Dept.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Legion Fire Station G-1","location_group":"Legion Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CBTH-AFWB-00NE-BWQS","door_data":[{"model_hash":1221159160,"door_coords":{"z":30.2798,"y":-1027.1968,"x":320.9464},"unique_id":"NK8cdSXmDLICwaYyCcq3v"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Legion Fire Station G-2","location_group":"Legion Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D16A-PI6H-43B8-68SO","door_data":[{"model_hash":1221159160,"door_coords":{"z":30.2681,"y":-1027.1912,"x":313.5936},"unique_id":"yMkCOVXdBM0T--rIy6NVs"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Legion Fire Station E-1","location_group":"Legion Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6QWX-6OSO-KW14-NJB5","door_data":[{"model_hash":775638898,"door_coords":{"z":29.2881,"y":-1027.4629,"x":317.8242},"unique_id":"098cWmWAccuzsKe8_bwDv"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Legion Fire Station 1-1","location_group":"Legion Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D93N-9GA4-FB93-POPI","door_data":[{"model_hash":2020131050,"door_coords":{"z":29.2773,"y":-1012.8805,"x":313.0444},"unique_id":"8DZMQXziGFF_s3iJpIPUB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Legion Fire Station 1-2","location_group":"Legion Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KRFQ-T7F6-BL1H-88IG","door_data":[{"model_hash":2020131050,"door_coords":{"z":29.2773,"y":-1010.8317,"x":319.6942},"unique_id":"hF_Wr3X3s8i8DSAzOPRAd"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Legion Fire Station 1-3","location_group":"Legion Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"P6FP-I1LH-CEDN-SFC7","door_data":[{"model_hash":2020131050,"door_coords":{"z":29.2773,"y":-1012.4478,"x":315.1183},"unique_id":"oQyhxS41rhuF-iRYU1iVG"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Legion_Fire_Dept.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Mosley_Dealership.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Mosley_Dealership.json
new file mode 100644
index 000000000..b0786d5b3
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Mosley_Dealership.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Mosley Dealership E-1","location_group":"Mosley Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8DER-PBWE-19TD-CEMN","door_data":[{"model_hash":288089934,"door_coords":{"z":29.62456703186035,"y":-1675.054443359375,"x":-39.4085693359375},"unique_id":"-uSN9fuEBtK-s2mGnEaud"},{"model_hash":32360658,"door_coords":{"z":29.62456703186035,"y":-1673.43359375,"x":-41.34016036987305},"unique_id":"xwYGyGGHU_XY4qHHN5CgC"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Mosley Dealership E-2","location_group":"Mosley Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L70G-MPV3-WHLP-EWAU","door_data":[{"model_hash":-1490873538,"door_coords":{"z":29.72961807250976,"y":-1662.980712890625,"x":-44.04762268066406},"unique_id":"4GJyja8rsFInc49_FJ1YU"},{"model_hash":-647891013,"door_coords":{"z":29.72961807250976,"y":-1660.755859375,"x":-42.18077850341797},"unique_id":"PGqBZDx-s-JxjorEh2K24"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Mosley Dealership G-1","location_group":"Mosley Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RBYY-CMKV-KWQX-YYJY","door_data":[{"model_hash":-937747387,"door_coords":{"z":30.53314590454101,"y":-1647.5404052734376,"x":-30.90956115722656},"unique_id":"3vH2MLgwRFYIR6LktxAce"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Mosley Dealership 1-1","location_group":"Mosley Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1X6M-D29C-BU80-S3EF","door_data":[{"model_hash":-2051651622,"door_coords":{"z":29.67400169372558,"y":-1663.5966796875,"x":-33.95782852172851},"unique_id":"n7l3sNEmD4r8eSAIu_Q15"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Mosley_Dealership.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Motorcycle_Paradise.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Motorcycle_Paradise.json
new file mode 100644
index 000000000..c3748400d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Motorcycle_Paradise.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bike Shop Door 1026","location_group":"Motorcycle Paradise","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q0IW-X64T-GBIR-ZVGW","door_data":[{"model_hash":"honey_5m_bikeshop_v_ilev_csr_door_r","door_coords":{"z":29.51102,"y":-1149.089,"x":287.8423},"unique_id":"9E00qbVL0X-mQOIkUFhUA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bike Shop Door 1027","location_group":"Motorcycle Paradise","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0P8A-ZE7I-GB3P-CWUC","door_data":[{"model_hash":"honey_5m_bikeshop_v_ilev_csr_door_l","door_coords":{"z":29.51102,"y":-1149.089,"x":285.8636},"unique_id":"hdWH_8fcfi2j3tEDXmmVu"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bike Shop Door 1028","location_group":"Motorcycle Paradise","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"O1C5-PTGB-SH82-WMNX","door_data":[{"model_hash":"honey_5m_bikeshop_v_ilev_csr_door_r","door_coords":{"z":29.51004,"y":-1154.351,"x":269.334},"unique_id":"UYdm9pDNfwdpHTtcJdcHw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bike Shop Door 1029","location_group":"Motorcycle Paradise","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MZAK-SISA-PMS1-YQ8Z","door_data":[{"model_hash":"honey_5m_bikeshop_v_ilev_csr_door_l","door_coords":{"z":29.51004,"y":-1156.329,"x":269.334},"unique_id":"mVob4ocrxQb7-ecNoRcFc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bike Shop Door 1030","location_group":"Motorcycle Paradise","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LGVW-K53A-0ITK-F77E","door_data":[{"model_hash":"honey_5m_bikeshop_v_15_garg_delta_doordown","door_coords":{"z":29.94192,"y":-1159.701,"x":269.2986},"unique_id":"K0M18DGtZBNRq1z8sTo9h"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bike Shop Door 1031","location_group":"Motorcycle Paradise","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0XGI-SUTM-QX75-6OUH","door_data":[{"model_hash":"honey_5m_bikeshop_v_15_garg_delta_doordown2","door_coords":{"z":29.13172,"y":-1162.837,"x":304.3455},"unique_id":"H8k1Flch4i0aTCtTVTnTV"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bike Shop Door 1032","location_group":"Motorcycle Paradise","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G0UR-KREU-EHEG-IVXN","door_data":[{"model_hash":"honey_5m_bikeshop_v_ilev_cbankcountdoor02","door_coords":{"z":29.54739,"y":-1167.492,"x":288.3299},"unique_id":"hv03vltZcHCFHARZt5SPg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bike Shop Door 1033","location_group":"Motorcycle Paradise","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RHAD-CMVX-78XX-CHGC","door_data":[{"model_hash":"honey_5m_bikeshop_v_ilev_cbankcountdoor01","door_coords":{"z":29.54739,"y":-1165.246,"x":288.3299},"unique_id":"WiB5flhwA7RkPf2MKEssc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bike Shop Door 1034","location_group":"Motorcycle Paradise","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"990M-BZLB-R9GM-AGBE","door_data":[{"model_hash":"honey_5m_bikeshop_v_ilev_cbankcountdoor02","door_coords":{"z":29.54646,"y":-1156.719,"x":282.758},"unique_id":"W3-i125CjK4TGws6hEhgQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Bike Shop Door 1035","location_group":"Motorcycle Paradise","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BTR8-LONR-VTKD-F2BX","door_data":[{"model_hash":"honey_5m_bikeshop_v_ilev_cbankcountdoor01","door_coords":{"z":29.54646,"y":-1156.719,"x":280.5119},"unique_id":"GWl1gtkTb7r7pfzEcXaG5"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Motorcycle_Paradise.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_NOOSE_Dept.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_NOOSE_Dept.json
new file mode 100644
index 000000000..abee13581
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_NOOSE_Dept.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE E-1","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YV5J-3UX7-WIBX-9LG3","door_data":[{"model_hash":-43433986,"door_coords":{"z":94.1236343383789,"y":-325.5557556152344,"x":2559.614013671875},"unique_id":"GnoNmuWZaEwOi-hn-peu1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE E-2","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QI35-FMUV-Y972-JK7U","door_data":[{"model_hash":-43433986,"door_coords":{"z":94.1236343383789,"y":-325.56640625,"x":2569.22119140625},"unique_id":"rBAnIKKc6J1m9mOMmFnAj"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE E-3","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YBHP-T33S-3TMP-BVGE","door_data":[{"model_hash":569833973,"door_coords":{"z":91.99237823486328,"y":-303.4783325195313,"x":2491.8681640625},"unique_id":"yR4K4ohSiQXs3_fhADr1P"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE E-4","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"J8L2-FZ95-MI9J-OJ0Y","door_data":[{"model_hash":1185512375,"door_coords":{"z":91.98345184326172,"y":-335.8421630859375,"x":2485.088134765625},"unique_id":"iD2Myxn65MZUmeuBqn7YH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE E-5","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E2PO-LU4G-WUWE-EJLL","door_data":[{"model_hash":1185512375,"door_coords":{"z":91.98345184326172,"y":-432.71343994140627,"x":2485.43701171875},"unique_id":"G4I9lrZGzY8EXB8P_1Qbw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"NOOSE E-6","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TLSA-YH68-JCJK-3YMO","door_data":[{"model_hash":-43433986,"door_coords":{"z":93.93792724609377,"y":-459.546875,"x":2498.400634765625},"unique_id":"0AExHRqOa6-DSHRwmn2Am"},{"model_hash":-43433986,"door_coords":{"z":93.93792724609377,"y":-468.5203552246094,"x":2489.75830078125},"unique_id":"S6qQaozDgPBAli7n3ZI1W"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"NOOSE E-7","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XUHW-BVA2-3AKJ-5UQR","door_data":[{"model_hash":90507927,"door_coords":{"z":94.54077911376952,"y":-382.9577941894531,"x":2475.163330078125},"unique_id":"f-Co6lfJZyR1vAYwUUwBB"},{"model_hash":90507927,"door_coords":{"z":94.54077911376952,"y":-385.2994079589844,"x":2475.163330078125},"unique_id":"VfouJyUkjt_Cjmfluxmq-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"NOOSE E-8","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZHU5-OM2N-WO5O-BSEI","door_data":[{"model_hash":-340230128,"door_coords":{"z":93.25444793701172,"y":-372.7655944824219,"x":2459.706298828125},"unique_id":"NJBAY_dHi-7btuMHDSIcA"},{"model_hash":-340230128,"door_coords":{"z":93.25444793701172,"y":-370.1700744628906,"x":2459.706298828125},"unique_id":"BQ-J25U98ZoHVTMI1NxsN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"NOOSE E-9","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PB8L-TRMF-KRWG-ENBE","door_data":[{"model_hash":90507927,"door_coords":{"z":93.47164154052736,"y":-385.3037109375,"x":2460.589599609375},"unique_id":"0rLeBnpOmVgqq3eHbtfxu"},{"model_hash":90507927,"door_coords":{"z":93.47164154052736,"y":-382.9620971679687,"x":2460.589599609375},"unique_id":"dlQsszHzgZA0PBrKbR3uq"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-1","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"99BU-ALHO-EOVS-7ESS","door_data":[{"model_hash":-1249735563,"door_coords":{"z":93.46343231201172,"y":-390.55865478515627,"x":2467.625244140625},"unique_id":"PqXxdt2OgGVETW5DioSm9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-2","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OFXY-5BHP-DC38-02OU","door_data":[{"model_hash":873979204,"door_coords":{"z":93.47328186035156,"y":-392.5187072753906,"x":2465.060546875},"unique_id":"0h91LQXQ5J-iy6VYm8sUS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-3","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JW3C-QVR5-FQRH-96CG","door_data":[{"model_hash":-519068795,"door_coords":{"z":93.46107482910156,"y":-392.5210266113281,"x":2471.470703125},"unique_id":"g66Q4VAVRLZZF8DVHH2f6"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-4","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UE0F-06NM-FKTB-WNIU","door_data":[{"model_hash":-131296141,"door_coords":{"z":93.4790267944336,"y":-395.5187683105469,"x":2467.626953125},"unique_id":"r2vuY5_8UvgON-_R3vwXm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-5","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RY29-2I2V-SLI2-70CU","door_data":[{"model_hash":-2023754432,"door_coords":{"z":93.46674346923828,"y":-397.5276794433594,"x":2470.62255859375},"unique_id":"sLWfrlAgXEGBQdXtO-cT5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-6","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KW4I-RHF5-2C72-GCG3","door_data":[{"model_hash":-2023754432,"door_coords":{"z":93.46674346923828,"y":-397.91058349609377,"x":2468.981689453125},"unique_id":"VgIu9fSNAhlZfZkm1sf7X"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-7","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FJ4B-8TF5-WTYA-6JOK","door_data":[{"model_hash":749848321,"door_coords":{"z":93.46316528320313,"y":-377.7229309082031,"x":2463.776123046875},"unique_id":"qirNELN9fqXxcNLBrdSal"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-8","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2RWC-7H0U-GE5U-IVPI","door_data":[{"model_hash":-1726331785,"door_coords":{"z":93.46139526367188,"y":-368.5664367675781,"x":2462.052490234375},"unique_id":"G_jveRtLNPGODBMesuk0D"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-9","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0NV7-3N3C-7OBE-UAXQ","door_data":[{"model_hash":631614199,"door_coords":{"z":93.4300537109375,"y":-371.5925903320313,"x":2466.395751953125},"unique_id":"WCA26WSEg5czXaAahRyj7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-10","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HU78-U6ZM-FUJ4-USFJ","door_data":[{"model_hash":631614199,"door_coords":{"z":93.45623016357422,"y":-369.8166809082031,"x":2469.129638671875},"unique_id":"fe0L_sUt-nRv92RwFw0Vv"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-11","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z56S-JQPK-W4CS-OMY5","door_data":[{"model_hash":631614199,"door_coords":{"z":93.4300537109375,"y":-372.3875427246094,"x":2469.965087890625},"unique_id":"Lq91tJT0GRwVk3GFJix2A"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-12","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0D4S-H8G6-8Y43-W5PP","door_data":[{"model_hash":631614199,"door_coords":{"z":93.45623016357422,"y":-369.49261474609377,"x":2471.81298828125},"unique_id":"g0BSxmedYYdo0Lw_KOy9s"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 1-13","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3H7S-EX6U-FPWO-N1TV","door_data":[{"model_hash":631614199,"door_coords":{"z":93.45623016357422,"y":-369.4039306640625,"x":2473.397705078125},"unique_id":"7nQPqbfFKnlDfU_x5eXb7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 2-1","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y8LU-6Z4C-3L1G-IUDX","door_data":[{"model_hash":873979204,"door_coords":{"z":97.6362533569336,"y":-372.71868896484377,"x":2474.382080078125},"unique_id":"WZLYs1PNO1Sj7YBJSrN_K"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 2-2","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RHOC-1HH9-YQ76-ISYH","door_data":[{"model_hash":-1119680854,"door_coords":{"z":97.65463256835938,"y":-370.10498046875,"x":2471.77294921875},"unique_id":"ukE4WN8tR6pT2D19C6Xra"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"NOOSE 2-3","location_group":"NOOSE Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3RUS-YJS8-O2ZG-325E","door_data":[{"model_hash":-1119680854,"door_coords":{"z":97.66027069091796,"y":-370.2148742675781,"x":2460.775146484375},"unique_id":"Lqzur7x_7whYeKJA7R1Ap"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_NOOSE_Dept.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Opened_City.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Opened_City.json
new file mode 100644
index 000000000..50531d202
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Opened_City.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-1-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5EUC-LIBO-MMQX-FPW6","door_data":[{"model_hash":1219957182,"door_coords":{"z":28.3622760772705,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"6lnC7DUwts0o-tFvEJYx4"},{"model_hash":1219957182,"door_coords":{"z":28.36221122741699,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"b0GM8GGQaogVA-Dn3Q7_x"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-1-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WXLR-8Y0G-XT6I-2GTL","door_data":[{"model_hash":1219957182,"door_coords":{"z":28.3622760772705,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"ftv_Jw5oxt8cl18TuKmPI"},{"model_hash":1219957182,"door_coords":{"z":28.36221122741699,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"Oov08ARN3KaKQWUwKV4rU"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-1-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NBTU-OKZW-P7U4-Q9BR","door_data":[{"model_hash":1219957182,"door_coords":{"z":28.36221122741699,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"L8IvDxMsNNIRBKJZcKQNN"},{"model_hash":1219957182,"door_coords":{"z":28.3622760772705,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"RxWY7UUX9Mo8j5bGrliUK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-1-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NMG3-LADU-BF60-KCYP","door_data":[{"model_hash":1219957182,"door_coords":{"z":28.36221122741699,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"AhDmyack3lknp5zv0j_gr"},{"model_hash":1219957182,"door_coords":{"z":28.3622760772705,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"u-GPsgRccbw9ICiY7RHuc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-2-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SKOW-QE7Z-XSEU-1DIS","door_data":[{"model_hash":1219957182,"door_coords":{"z":32.34344100952148,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"xAMKms7rKYZmQEawD7K2v"},{"model_hash":1219957182,"door_coords":{"z":32.3433723449707,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"D-rjC4dEdyisPeKDzKSCW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-2-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HB24-O1SO-8ZOF-SE7A","door_data":[{"model_hash":1219957182,"door_coords":{"z":32.34344100952148,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"_wel9QusDKRLQybiFBtWJ"},{"model_hash":1219957182,"door_coords":{"z":32.3433723449707,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"dHMlx4ahNGcv3W0BMKM9L"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-2-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6VDQ-5X6N-EMPI-9S62","door_data":[{"model_hash":1219957182,"door_coords":{"z":32.3433723449707,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"KT86aji4rnvQJuo_xHxXp"},{"model_hash":1219957182,"door_coords":{"z":32.34344100952148,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"xj5QTBc0hxTKcrilAjHwa"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-2-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MGP6-1X0D-HHYW-GD5H","door_data":[{"model_hash":1219957182,"door_coords":{"z":32.3433723449707,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"hRcZ8vVen0P2D3xc42-aZ"},{"model_hash":1219957182,"door_coords":{"z":32.34344100952148,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"cym5l54vFl7Ojq9wOqLmf"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-3-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DVGH-7HV2-QOFG-ZFJ8","door_data":[{"model_hash":1219957182,"door_coords":{"z":36.34175491333008,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"EUPXM3JUTEyVge_YkNipy"},{"model_hash":1219957182,"door_coords":{"z":36.3416862487793,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"XUGWJFlz-jpRARjbeUEId"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-3-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HLC3-SVNF-VLDE-WSFW","door_data":[{"model_hash":1219957182,"door_coords":{"z":36.34175491333008,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"fa2WbEjuu_8zObc3ZCVx5"},{"model_hash":1219957182,"door_coords":{"z":36.3416862487793,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"J-a5lFQi_P2UO-9EhM2ME"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-3-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G5VS-8D4J-AR79-1E0X","door_data":[{"model_hash":1219957182,"door_coords":{"z":36.3416862487793,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"x92FR5ANu3CJENYSirTue"},{"model_hash":1219957182,"door_coords":{"z":36.34175491333008,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"SmIylg1rzb9Ka5RCXtSuO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-3-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PU0T-1U9A-Y6ZJ-1TLB","door_data":[{"model_hash":1219957182,"door_coords":{"z":36.3416862487793,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"PqgNOhqBGcSVQASTGIvCI"},{"model_hash":1219957182,"door_coords":{"z":36.34175491333008,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"U6Vkc7wd5BgBRNIF32ucK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-4-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EIBL-P3UM-MQ0F-YJ6J","door_data":[{"model_hash":1219957182,"door_coords":{"z":40.34451293945312,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"SB9jZThyarabsOtZL8QYk"},{"model_hash":1219957182,"door_coords":{"z":40.34445190429687,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"GvBcsljCKVlUF9kWKl1dB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-4-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EF5K-RC39-1RRV-CTNI","door_data":[{"model_hash":1219957182,"door_coords":{"z":40.34451293945312,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"Q2lt0NTQJZbSBec26aaY0"},{"model_hash":1219957182,"door_coords":{"z":40.34445190429687,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"rGmy3mBzAFCSQidNwcy_8"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-4-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YFIZ-FLAE-4C9X-J3OT","door_data":[{"model_hash":1219957182,"door_coords":{"z":40.34445190429687,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"3pleXmUJTe6NicCRaey_X"},{"model_hash":1219957182,"door_coords":{"z":40.34451293945312,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"CvsS_j4TkJWJ1sYIjyqHH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-4-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ENZB-3WWQ-URMB-IHLZ","door_data":[{"model_hash":1219957182,"door_coords":{"z":40.34445190429687,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"_ALmv0IpIR9R_Fjog2FCj"},{"model_hash":1219957182,"door_coords":{"z":40.34451293945312,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"ePNTrvrOx-tncdx9T6SQb"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-5-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9D8J-X6IY-YAMR-8KK5","door_data":[{"model_hash":1219957182,"door_coords":{"z":44.3520622253418,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"kBWd3hn-ohoqnkxu_DTIN"},{"model_hash":1219957182,"door_coords":{"z":44.35199356079101,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"3AcQ2ICEieBGkD8X0yz99"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-5-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KC64-ZYB5-MDE8-RPXW","door_data":[{"model_hash":1219957182,"door_coords":{"z":44.3520622253418,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"pBs8ZqIMHA_ofFxcQXuIC"},{"model_hash":1219957182,"door_coords":{"z":44.35199356079101,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"ABIIr3mlayVsZZlqaudkn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-5-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"44AG-SV62-NCZK-R4SU","door_data":[{"model_hash":1219957182,"door_coords":{"z":44.35199356079101,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"6GVEFfvz1iWGppmVMcW7e"},{"model_hash":1219957182,"door_coords":{"z":44.3520622253418,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"KNtv_92tjn3wwgqY91ym9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-5-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"T445-Q3OQ-GO50-TC1R","door_data":[{"model_hash":1219957182,"door_coords":{"z":44.35199356079101,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"IA0uovdnh9iYBEJo-e5bG"},{"model_hash":1219957182,"door_coords":{"z":44.3520622253418,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"Hs06vvlCZ5nUoKv53-R45"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-6-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3O5E-FSR0-XA9A-E16L","door_data":[{"model_hash":1219957182,"door_coords":{"z":48.35622406005859,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"a4MK7neIopIF3_aAOxUP4"},{"model_hash":1219957182,"door_coords":{"z":48.35615539550781,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"k293qkHPl1tehltlHVWc3"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-6-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JKIF-PZH6-L618-KPFB","door_data":[{"model_hash":1219957182,"door_coords":{"z":48.35622406005859,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"_Q31zB7eUThuS48dTb_7Z"},{"model_hash":1219957182,"door_coords":{"z":48.35615539550781,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"hwnCJ28KSiMjcOMmxvbUk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-6-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HMGZ-3GW0-4OE3-FS9H","door_data":[{"model_hash":1219957182,"door_coords":{"z":48.35615539550781,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"7Yy4boy7Z2-xjmpdstEIz"},{"model_hash":1219957182,"door_coords":{"z":48.35622406005859,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"TMtGubxwAPReu564v0h26"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-6-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A3II-YQ7B-944Q-8YG2","door_data":[{"model_hash":1219957182,"door_coords":{"z":48.35615539550781,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"pn2CgfEdknZLXPv3kDk-m"},{"model_hash":1219957182,"door_coords":{"z":48.35622406005859,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"WYTEMtcGy3Tkm5moTD0sC"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-7-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QP01-C1RY-S5PB-6JFV","door_data":[{"model_hash":1219957182,"door_coords":{"z":52.35301208496094,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"MkU7JOWMKihJedXm-q2o3"},{"model_hash":1219957182,"door_coords":{"z":52.35294342041015,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"W2gQTg58wooEHk0QHlEDQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-7-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PN29-HZFF-LE1D-KI67","door_data":[{"model_hash":1219957182,"door_coords":{"z":52.35301208496094,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"NVV2Ps3aBro7uRRQ64p7z"},{"model_hash":1219957182,"door_coords":{"z":52.35294342041015,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"R4d3gRlO12EYMkSacG0H4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-7-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4LKC-ZS3P-C2A3-T834","door_data":[{"model_hash":1219957182,"door_coords":{"z":52.35294342041015,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"z71IycV8F6ghiKNECkpp4"},{"model_hash":1219957182,"door_coords":{"z":52.35301208496094,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"Jdw9ghsDUW3t5LvCFyD5f"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-7-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LEF0-85HD-7SW3-8L0S","door_data":[{"model_hash":1219957182,"door_coords":{"z":52.35294342041015,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"N7U_d23bD9HTi5QaF5APT"},{"model_hash":1219957182,"door_coords":{"z":52.35301208496094,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"Uu8Uadl2WjMIOzYB-i83p"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-8-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KF74-AP2C-Z7X7-EJNS","door_data":[{"model_hash":1219957182,"door_coords":{"z":56.36234283447265,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"SvAZSRs5qwqEwORsYMhyt"},{"model_hash":1219957182,"door_coords":{"z":56.3622817993164,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"-_MVzSwTGydYzPAttstNL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-8-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9R0S-0123-0H2Y-HGSY","door_data":[{"model_hash":1219957182,"door_coords":{"z":56.36234283447265,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"mn1jQuAvaXVNbUnIRY1iP"},{"model_hash":1219957182,"door_coords":{"z":56.3622817993164,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"6YJxBzOijp4tNxO213vyD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-8-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KABZ-UPZ5-687Q-QWXP","door_data":[{"model_hash":1219957182,"door_coords":{"z":56.3622817993164,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"egqCR5OvXxTX05c6mTTbw"},{"model_hash":1219957182,"door_coords":{"z":56.36234283447265,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"N0LsspKkqwrDoQv5NqPD3"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-8-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XCKD-2SLC-U5KJ-P528","door_data":[{"model_hash":1219957182,"door_coords":{"z":56.3622817993164,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"oj4nsCg7he3zydkEMqwin"},{"model_hash":1219957182,"door_coords":{"z":56.36234283447265,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"6Xm3RMVOttNTUk7dL8cSM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-9-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B78H-4LYH-BSR3-YZZ0","door_data":[{"model_hash":1219957182,"door_coords":{"z":60.35979461669922,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"zV0elZ53H_ZnOePK5JuZo"},{"model_hash":1219957182,"door_coords":{"z":60.35972595214844,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"ia3Zm_jz4cax_xz41CTta"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-9-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1D1I-AVJ0-Y2JT-ZHWK","door_data":[{"model_hash":1219957182,"door_coords":{"z":60.35979461669922,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"I8wlwc4yyBJbw6e8v4Emx"},{"model_hash":1219957182,"door_coords":{"z":60.35972595214844,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"imZlvOd7lgkjFYBMC6bHa"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-9-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GPI5-NREI-RS5K-NLJ5","door_data":[{"model_hash":1219957182,"door_coords":{"z":60.35972595214844,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"_dro-RpEDybXqkjyz_xkk"},{"model_hash":1219957182,"door_coords":{"z":60.35979461669922,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"YFSfaXAso3nVu0RvRkp97"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-9-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DIS1-58Q9-INKI-Z83J","door_data":[{"model_hash":1219957182,"door_coords":{"z":60.35972595214844,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"GYo9yt4hhZNYzOSYLkC4E"},{"model_hash":1219957182,"door_coords":{"z":60.35979461669922,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"FavC8DPM70AkwvVtr6COn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-10-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7JSP-PF16-5GFW-CN73","door_data":[{"model_hash":1219957182,"door_coords":{"z":64.36418151855469,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"Cyc0Q4Lr8JujvM3FQCRpM"},{"model_hash":1219957182,"door_coords":{"z":64.3641128540039,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"MEIciynz6i4nZxHx6y7h4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-10-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H6M4-5ZI5-Z7KN-Z17I","door_data":[{"model_hash":1219957182,"door_coords":{"z":64.36418151855469,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"aq_wcrXDWAbX8-ItopKtf"},{"model_hash":1219957182,"door_coords":{"z":64.3641128540039,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"ekSw7JHWjgsjcoQUDY8dF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-10-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7N99-Q5XM-GJ3E-3LHS","door_data":[{"model_hash":1219957182,"door_coords":{"z":64.3641128540039,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"d3II3xqiEfu9_znzyiyYx"},{"model_hash":1219957182,"door_coords":{"z":64.36418151855469,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"srGTmZ1KAk5hnQST43dx7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-10-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JKW9-7GLX-O1CW-DU70","door_data":[{"model_hash":1219957182,"door_coords":{"z":64.3641128540039,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"erk_8BByOjuyAzCIbrc47"},{"model_hash":1219957182,"door_coords":{"z":64.36418151855469,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"0yJBxcjE5UAYy-Ss_UGPL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-11-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HL1M-EW0Y-G8UC-ASZF","door_data":[{"model_hash":1219957182,"door_coords":{"z":68.36752319335938,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"SSuE-EZgPHIrmrXqJNxFv"},{"model_hash":1219957182,"door_coords":{"z":68.3674545288086,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"1Uh1w27NfApukp_7vWJ3s"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-11-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LJF7-FPMS-RFXQ-4B3E","door_data":[{"model_hash":1219957182,"door_coords":{"z":68.36752319335938,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"asqZbNS9ewcJHOnPDJQ8Q"},{"model_hash":1219957182,"door_coords":{"z":68.3674545288086,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"mzLT7GopUf0OKHO4Owrwe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-11-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RKBV-Y6UA-NQK9-ZJ6F","door_data":[{"model_hash":1219957182,"door_coords":{"z":68.3674545288086,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"Db0xJSN60bpvaU4tbsKV7"},{"model_hash":1219957182,"door_coords":{"z":68.36752319335938,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"CDHw7XTWCSwlBPbJMSa1N"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-11-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"209M-9Q4Z-EQEX-F11P","door_data":[{"model_hash":1219957182,"door_coords":{"z":68.3674545288086,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"y2gz6qk9d1-B-q5AvJPOA"},{"model_hash":1219957182,"door_coords":{"z":68.36752319335938,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"1eDXN9SZ6CODRI7aPiPRq"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-12-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FP6L-8R60-3PKX-W5LS","door_data":[{"model_hash":1219957182,"door_coords":{"z":72.36468505859375,"y":-1021.1980590820313,"x":53.39419174194336},"unique_id":"n2nbUE6W53nUubaQVhMD_"},{"model_hash":1219957182,"door_coords":{"z":72.36461639404297,"y":-1021.759033203125,"x":54.78269958496094},"unique_id":"nnvzIRWT1tq7kRRaOdMRv"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-12-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WFEQ-6TLS-Z9ZL-EJP9","door_data":[{"model_hash":1219957182,"door_coords":{"z":72.36468505859375,"y":-1022.3946533203124,"x":56.3607177734375},"unique_id":"TPQxFP2_Fqwpq1N6bGKaK"},{"model_hash":1219957182,"door_coords":{"z":72.36461639404297,"y":-1022.9556274414064,"x":57.74922561645508},"unique_id":"ghQuWzHq6KbZbueBhWfvC"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-12-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FZ9Y-9BMQ-HLJU-DLYD","door_data":[{"model_hash":1219957182,"door_coords":{"z":72.36461639404297,"y":-1017.9658813476564,"x":56.30998229980469},"unique_id":"6WywqNDdqPAQV5GAtzh7r"},{"model_hash":1219957182,"door_coords":{"z":72.36468505859375,"y":-1017.4049072265624,"x":54.92147445678711},"unique_id":"oPONByA3PIKKNacUfRRje"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-12-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y777-MKX0-3XXE-2GV6","door_data":[{"model_hash":1219957182,"door_coords":{"z":72.36461639404297,"y":-1019.105712890625,"x":59.11361312866211},"unique_id":"np_WWnxONlfQP0dBvauRS"},{"model_hash":1219957182,"door_coords":{"z":72.36468505859375,"y":-1018.5447387695313,"x":57.72510528564453},"unique_id":"S-B8MK9t1lA7R5DBl_RjQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 1-E","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NYX1-G7CQ-12QK-IS2Z","door_data":[{"model_hash":623089784,"door_coords":{"z":29.62007713317871,"y":-1004.8887329101564,"x":55.98526763916015},"unique_id":"xIHKDQVroXL88TyoPYbeP"},{"model_hash":623089784,"door_coords":{"z":29.62007713317871,"y":-1005.7352905273438,"x":58.09349822998047},"unique_id":"sdfFPAKihrUOR_dFTVs3c"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-E-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z9O5-S0JZ-8YVF-V7NP","door_data":[{"model_hash":-1678240327,"door_coords":{"z":29.6830825805664,"y":-1077.0228271484376,"x":184.83753967285157},"unique_id":"Nv2ucknABmswW3f_Ld7zt"},{"model_hash":-574333869,"door_coords":{"z":29.6830825805664,"y":-1079.28369140625,"x":184.4388732910156},"unique_id":"NDOftcq7cXrdJ91IqLcWI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Opened City 2-E-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WRDV-QQ2U-E3IG-JKMO","door_data":[{"model_hash":452874391,"door_coords":{"z":30.18338012695312,"y":-1065.5911865234376,"x":157.1726531982422},"unique_id":"2jydzEsGAKF2qSoWgNW5c"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-1-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"N68Z-L47Y-1QER-D8RT","door_data":[{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1066.40771484375,"x":188.2901153564453},"unique_id":"2ADfqojthnfb0xXcxcr5-"},{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1064.947021484375,"x":188.62733459472657},"unique_id":"cs7TzPDz4w7po0Nj3rOXy"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-1-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NACX-3EPV-2V78-DEZ6","door_data":[{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1057.4112548828126,"x":183.31558227539066},"unique_id":"rClAhFMknTip4di1FE5MS"},{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1057.1243896484376,"x":181.84344482421876},"unique_id":"13yIRagS3GO7Rqfe1H_1n"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-1-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"59T6-NBHO-JKAQ-F1Q1","door_data":[{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1060.306640625,"x":172.31591796875},"unique_id":"19s5OgcTnbLqvlxxGbJGH"},{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1058.830322265625,"x":172.57623291015626},"unique_id":"-9cDGesyCPeThfDzkzB2B"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-1-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L9FX-E8UQ-AV31-PU8G","door_data":[{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1056.2459716796876,"x":173.01461791992188},"unique_id":"BRpxguu49cVLQGmici-ma"},{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1054.7696533203126,"x":173.27493286132813},"unique_id":"-moqs3GRTPALv5hpv3vDK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-1-5","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RX21-WCY1-3R3G-X04I","door_data":[{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1057.4688720703126,"x":164.91468811035157},"unique_id":"8QkPTPVV1pyGIzen7DpuM"},{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1058.9451904296876,"x":164.6543731689453},"unique_id":"evFRA888loarBX6KOn1RI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-1-6","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TR3G-YTN5-LB02-3X6L","door_data":[{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1053.41943359375,"x":165.67259216308598},"unique_id":"FkPWjFott413iLv_TijCS"},{"model_hash":1219957182,"door_coords":{"z":29.05161476135254,"y":-1054.895751953125,"x":165.4122772216797},"unique_id":"q17dSOMSMnGIUSr5u5xdY"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-2-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F9B4-4MTL-8B0B-6XX5","door_data":[{"model_hash":1219957182,"door_coords":{"z":35.30183410644531,"y":-1066.3878173828126,"x":188.15835571289066},"unique_id":"hIcP8b9yydu-rQHnh0aTF"},{"model_hash":1219957182,"door_coords":{"z":35.30183410644531,"y":-1064.927490234375,"x":188.495849609375},"unique_id":"6sM9azo9-voUIHfvH16jE"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-2-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7EXC-1RXW-C5O3-ZGTT","door_data":[{"model_hash":1219957182,"door_coords":{"z":35.24643325805664,"y":-1057.527099609375,"x":183.27536010742188},"unique_id":"9cCTIrLrTOYmBmWeoSstf"},{"model_hash":1219957182,"door_coords":{"z":35.24643325805664,"y":-1057.2667236328126,"x":181.7987518310547},"unique_id":"c9fb9OIJxtoKOgnTHR3em"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-2-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OLLX-T5P3-5Q86-98UC","door_data":[{"model_hash":1219957182,"door_coords":{"z":35.24643325805664,"y":-1053.4215087890626,"x":165.6820068359375},"unique_id":"VyxWMtBibOvuB_Omm-NNn"},{"model_hash":1219957182,"door_coords":{"z":35.24643325805664,"y":-1054.897216796875,"x":165.42178344726566},"unique_id":"9fTVsQ-yj8vvY5ZbIGelM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-2-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HE8S-7IN9-1ERM-Y4WC","door_data":[{"model_hash":1219957182,"door_coords":{"z":35.24643325805664,"y":-1057.476806640625,"x":164.9702911376953},"unique_id":"git0DKAckIMrXeqRpULzb"},{"model_hash":1219957182,"door_coords":{"z":35.24643325805664,"y":-1058.95361328125,"x":164.7098846435547},"unique_id":"UkkK9AcOSxBhCDljqTzTa"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-2-5","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9W8V-V4DR-0G52-9QXR","door_data":[{"model_hash":1219957182,"door_coords":{"z":35.24643325805664,"y":-1056.241943359375,"x":172.98809814453126},"unique_id":"VIYQzLWTLTu-WDI6Kirkf"},{"model_hash":1219957182,"door_coords":{"z":35.24643325805664,"y":-1054.7696533203126,"x":173.2477264404297},"unique_id":"xoL9dCd4ujAYas7M8ntSj"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-2-6","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"O06K-BYNA-LTFZ-3AQG","door_data":[{"model_hash":1219957182,"door_coords":{"z":35.24643325805664,"y":-1060.295166015625,"x":172.2826385498047},"unique_id":"bs1KHheYessjcdLTPScoM"},{"model_hash":1219957182,"door_coords":{"z":35.24643325805664,"y":-1058.8228759765626,"x":172.54226684570313},"unique_id":"lk0P-Ns14YPM7CYJCiKNm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-3-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y45Y-B72R-B5WT-O791","door_data":[{"model_hash":1219957182,"door_coords":{"z":41.57029342651367,"y":-1066.3878173828126,"x":188.15835571289066},"unique_id":"yLVjRxvlMukdYE2_CGGLg"},{"model_hash":1219957182,"door_coords":{"z":41.57029342651367,"y":-1064.927490234375,"x":188.495849609375},"unique_id":"z-Is8fb0FIsLhB1cuJG5s"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-3-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6W3I-HJW7-B4E8-5ZFX","door_data":[{"model_hash":1219957182,"door_coords":{"z":41.49783325195312,"y":-1057.5272216796876,"x":183.27615356445313},"unique_id":"zIW77kRzI6y9n6CPWTlC-"},{"model_hash":1219957182,"door_coords":{"z":41.50412368774414,"y":-1057.2667236328126,"x":181.7987518310547},"unique_id":"t6lNiVGAmPh_eDAZPFqXC"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-3-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3AID-FZD8-7PMH-XGCS","door_data":[{"model_hash":1219957182,"door_coords":{"z":41.50412368774414,"y":-1053.4215087890626,"x":165.6820068359375},"unique_id":"PQ5gerlnP9bgAgcx6pgPn"},{"model_hash":1219957182,"door_coords":{"z":41.50412368774414,"y":-1054.897216796875,"x":165.42178344726566},"unique_id":"k_ULpbGbWO_t7CqPeX9eJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-3-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HULC-W7C5-6PKQ-GSE7","door_data":[{"model_hash":1219957182,"door_coords":{"z":41.50412368774414,"y":-1057.476806640625,"x":164.9702911376953},"unique_id":"i2YY3rsvw65hz67SlEMoE"},{"model_hash":1219957182,"door_coords":{"z":41.50412368774414,"y":-1058.95361328125,"x":164.7098846435547},"unique_id":"4neCu6OV5Fhw-BCHdJ4Yw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-3-5","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YRTO-JXGJ-1UGX-B3A1","door_data":[{"model_hash":1219957182,"door_coords":{"z":41.50412368774414,"y":-1056.241943359375,"x":172.98809814453126},"unique_id":"tNlB33zY0QybV8dsuxqFZ"},{"model_hash":1219957182,"door_coords":{"z":41.50412368774414,"y":-1054.7696533203126,"x":173.2477264404297},"unique_id":"XafnG0tDiLsR1VTNfanf0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-3-6","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OHVS-873R-ECA2-HQ28","door_data":[{"model_hash":1219957182,"door_coords":{"z":41.50412368774414,"y":-1060.295166015625,"x":172.2826385498047},"unique_id":"fUv75QeN3pFeDY5eBF5yC"},{"model_hash":1219957182,"door_coords":{"z":41.50412368774414,"y":-1058.8228759765626,"x":172.54226684570313},"unique_id":"qiCgQ_b9YuhTkbtiQ3rga"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-4-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F9BB-MHTV-7QRU-0SHH","door_data":[{"model_hash":1219957182,"door_coords":{"z":47.82021331787109,"y":-1066.3878173828126,"x":188.15835571289066},"unique_id":"FqiwrtxpyG8ROyLQ7fYuI"},{"model_hash":1219957182,"door_coords":{"z":47.82021331787109,"y":-1064.927490234375,"x":188.495849609375},"unique_id":"dkxWttU3gIvrPkiL9IW1M"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-4-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3TAI-5Q58-P5VF-8X3H","door_data":[{"model_hash":1219957182,"door_coords":{"z":47.7633056640625,"y":-1057.5272216796876,"x":183.27615356445313},"unique_id":"8AG5Th6yxMQmhNF3LLlce"},{"model_hash":1219957182,"door_coords":{"z":47.7633056640625,"y":-1057.2667236328126,"x":181.7987518310547},"unique_id":"FatDc7UM1cM5HFRCrt3dX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-4-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1HYW-649A-9MMH-1Z87","door_data":[{"model_hash":1219957182,"door_coords":{"z":47.7633056640625,"y":-1053.4215087890626,"x":165.6820068359375},"unique_id":"QlDfSw4aIynnClzbvEMnb"},{"model_hash":1219957182,"door_coords":{"z":47.7633056640625,"y":-1054.897216796875,"x":165.42178344726566},"unique_id":"rTQLue4CFFn2x4v6-YvFw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-4-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4UP0-SOW6-VL7L-KHWH","door_data":[{"model_hash":1219957182,"door_coords":{"z":47.7633056640625,"y":-1057.476806640625,"x":164.9702911376953},"unique_id":"JdUpNQ4cPDQcqa1oFj3C_"},{"model_hash":1219957182,"door_coords":{"z":47.7633056640625,"y":-1058.95361328125,"x":164.7098846435547},"unique_id":"QNTpXijBoylw5Lum3ciTn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-4-5","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"X7VW-OJB2-TEJK-V5C0","door_data":[{"model_hash":1219957182,"door_coords":{"z":47.7633056640625,"y":-1056.241943359375,"x":172.98809814453126},"unique_id":"WFmzNhTC_3fwPLJgkkDy-"},{"model_hash":1219957182,"door_coords":{"z":47.7633056640625,"y":-1054.7696533203126,"x":173.2477264404297},"unique_id":"aWuPTY6pnBii_-ZhY8z5j"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-4-6","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C21V-394W-8KYU-GBGM","door_data":[{"model_hash":1219957182,"door_coords":{"z":47.7633056640625,"y":-1060.295166015625,"x":172.2826385498047},"unique_id":"OVY2isQ8FulTqRDaxbVT6"},{"model_hash":1219957182,"door_coords":{"z":47.7633056640625,"y":-1058.8228759765626,"x":172.54226684570313},"unique_id":"ia6OId4tZ-8uozZ0UTly_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-5-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BN8L-37RU-XFSW-9NQC","door_data":[{"model_hash":1219957182,"door_coords":{"z":54.07499694824219,"y":-1066.3878173828126,"x":188.15835571289066},"unique_id":"ZeCOyCV9iw57CPjle4qF9"},{"model_hash":1219957182,"door_coords":{"z":54.07499694824219,"y":-1064.927490234375,"x":188.495849609375},"unique_id":"_Dj3wEydReAa9e3YWVHSw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-5-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NL8I-BDYH-PIFD-UZG1","door_data":[{"model_hash":1219957182,"door_coords":{"z":54.01137542724609,"y":-1057.5272216796876,"x":183.27615356445313},"unique_id":"JbFnS_9u3DCsgr70iNPlY"},{"model_hash":1219957182,"door_coords":{"z":54.01495361328125,"y":-1057.2667236328126,"x":181.7987518310547},"unique_id":"59WtTeVxgZGy_pHhCyQd4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-5-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FDBI-802L-FC7S-HEB1","door_data":[{"model_hash":1219957182,"door_coords":{"z":54.01495361328125,"y":-1053.4215087890626,"x":165.6820068359375},"unique_id":"bnfU73oErlb8J6nYbmz2M"},{"model_hash":1219957182,"door_coords":{"z":54.01495361328125,"y":-1054.897216796875,"x":165.42178344726566},"unique_id":"97P_tQHsE8mbv4q37VXBM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-5-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QTWE-DUUV-4G25-BJ5V","door_data":[{"model_hash":1219957182,"door_coords":{"z":54.01495361328125,"y":-1057.476806640625,"x":164.9702911376953},"unique_id":"LegKTQtKwZa3ryZ4JQ0tC"},{"model_hash":1219957182,"door_coords":{"z":54.01495361328125,"y":-1058.95361328125,"x":164.7098846435547},"unique_id":"E-yrUpV1fzzgqssBAE595"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-5-5","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C2YW-X6PN-0URH-BW1E","door_data":[{"model_hash":1219957182,"door_coords":{"z":54.01495361328125,"y":-1056.241943359375,"x":172.98809814453126},"unique_id":"snfJ5I-NmZVH1lJFaVrLW"},{"model_hash":1219957182,"door_coords":{"z":54.01495361328125,"y":-1054.7696533203126,"x":173.2477264404297},"unique_id":"oqNYego9HC-nnX16T2Xun"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-5-6","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RVCA-HG7K-IFV9-IJVX","door_data":[{"model_hash":1219957182,"door_coords":{"z":54.01495361328125,"y":-1060.295166015625,"x":172.2826385498047},"unique_id":"-T4QxniU4j8a-wiBEIUTK"},{"model_hash":1219957182,"door_coords":{"z":54.01495361328125,"y":-1058.8228759765626,"x":172.54226684570313},"unique_id":"ohHLgpmGzzbAtICKFJnoD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-6-1","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZVDQ-MTMM-N6SP-LNFI","door_data":[{"model_hash":1219957182,"door_coords":{"z":60.32820510864258,"y":-1066.3878173828126,"x":188.15835571289066},"unique_id":"bjUvwAySoeP2WRRx6DS85"},{"model_hash":1219957182,"door_coords":{"z":60.32820510864258,"y":-1064.927490234375,"x":188.495849609375},"unique_id":"8CEM_YjtCxyL7IOfFwxk8"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-6-2","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0NGT-IXN1-9PIN-VDSR","door_data":[{"model_hash":1219957182,"door_coords":{"z":60.26949310302734,"y":-1057.5272216796876,"x":183.27615356445313},"unique_id":"Th2N6IldP_-cO5MnFDz-y"},{"model_hash":1219957182,"door_coords":{"z":60.26173400878906,"y":-1057.2667236328126,"x":181.7987518310547},"unique_id":"R1J_f6l5zfkRTL2vYCxOP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-6-3","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TFYY-YTHG-RQT6-9KDM","door_data":[{"model_hash":1219957182,"door_coords":{"z":60.26173400878906,"y":-1053.4215087890626,"x":165.6820068359375},"unique_id":"fvh2GJfm8TjgO8Sk7_06q"},{"model_hash":1219957182,"door_coords":{"z":60.26173400878906,"y":-1054.897216796875,"x":165.42178344726566},"unique_id":"D3CPJuH5av6rDH-plQ_Y5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-6-4","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"606X-VXF1-TH3Q-J76A","door_data":[{"model_hash":1219957182,"door_coords":{"z":60.26173400878906,"y":-1057.476806640625,"x":164.9702911376953},"unique_id":"oQwyamsY5z-o2sSEITolG"},{"model_hash":1219957182,"door_coords":{"z":60.26173400878906,"y":-1058.95361328125,"x":164.7098846435547},"unique_id":"tM66bJxKFkf9Eo-R80i89"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-6-5","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"T1EG-O0EC-ZIP1-HWXI","door_data":[{"model_hash":1219957182,"door_coords":{"z":60.26173400878906,"y":-1056.241943359375,"x":172.98809814453126},"unique_id":"Zaru0TMaUxMaLCA5dvKn2"},{"model_hash":1219957182,"door_coords":{"z":60.26173400878906,"y":-1054.7696533203126,"x":173.2477264404297},"unique_id":"zUcaBWauaBmtfcXJSbVek"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Opened City 2-6-6","location_group":"Opened City","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JSRE-ENDJ-E344-J1PH","door_data":[{"model_hash":1219957182,"door_coords":{"z":60.26173400878906,"y":-1060.295166015625,"x":172.2826385498047},"unique_id":"6ideAFcEuRhJc9Zc93ZEq"},{"model_hash":1219957182,"door_coords":{"z":60.26173400878906,"y":-1058.8228759765626,"x":172.54226684570313},"unique_id":"uZ5ZjoI3M_mBUMYiRkpbG"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Opened_City.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Paleto_Fire_Dept.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Paleto_Fire_Dept.json
new file mode 100644
index 000000000..56f49dfdd
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Paleto_Fire_Dept.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department G-1","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V8CN-1XHA-JYAE-BC3J","door_data":[{"model_hash":1789636489,"door_coords":{"z":33.03107833862305,"y":6130.6796875,"x":-366.8214721679687},"unique_id":"kFkCrNb_JKm2PxBCCDLtc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department G-2","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G3S1-PISX-C59L-HMRH","door_data":[{"model_hash":1789636489,"door_coords":{"z":33.02942657470703,"y":6134.078125,"x":-363.3889465332031},"unique_id":"NJ6nJHgxPF7M2IPA9ajVn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department G-3","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8KZA-JMN7-NWFV-WHU7","door_data":[{"model_hash":1789636489,"door_coords":{"z":33.03010940551758,"y":6137.45947265625,"x":-360.0032653808594},"unique_id":"5JjZyi7aNh5F2fDQsjXDr"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department G-4","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TLLH-FT6K-2YDQ-J70N","door_data":[{"model_hash":1789636489,"door_coords":{"z":33.03178405761719,"y":6140.87744140625,"x":-356.5881652832031},"unique_id":"m4eX5XBpxQFTZLoIcHKun"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department G-5","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SWHU-E5M3-4T49-U3YS","door_data":[{"model_hash":1789636489,"door_coords":{"z":33.03068161010742,"y":6128.46142578125,"x":-344.1676940917969},"unique_id":"W_iVcGC6-Hzzd0jqDnHgO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department G-6","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KZ6T-CKGL-9H0K-TFJP","door_data":[{"model_hash":1789636489,"door_coords":{"z":33.03019332885742,"y":6125.03857421875,"x":-347.5775146484375},"unique_id":"cNnEmhA_wfOG6ymmSLxSQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department G-7","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DX87-8X1W-J31O-5UJT","door_data":[{"model_hash":1789636489,"door_coords":{"z":33.03315353393555,"y":6121.650390625,"x":-350.9595947265625},"unique_id":"WihYiCO_1vvoYBRTR8-uA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department G-8","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"68FU-2199-TPU8-MGN7","door_data":[{"model_hash":1789636489,"door_coords":{"z":33.0260009765625,"y":6118.2314453125,"x":-354.3811645507813},"unique_id":"O5UN-CLcvc2CaCXljZEvW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Paleto Bay Fire Department E-1","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZYCO-G5RM-NKBZ-K0MK","door_data":[{"model_hash":1482185401,"door_coords":{"z":31.53499984741211,"y":6117.697265625,"x":-380.1513671875},"unique_id":"f11GALgjzGtMgBQXZk4tT"},{"model_hash":1482185401,"door_coords":{"z":31.53499984741211,"y":6119.3046875,"x":-378.6073303222656},"unique_id":"Y6k_dhTgxvN7TZSUCxQKE"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department E-2","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OKV2-EWNW-TZ4Q-MY5B","door_data":[{"model_hash":1482185401,"door_coords":{"z":31.53713417053222,"y":6106.13037109375,"x":-378.9424743652344},"unique_id":"xPtXHpjTop3tgVC6wbgVw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-1","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SPY4-CQY4-77GV-Q20K","door_data":[{"model_hash":-246927995,"door_coords":{"z":31.69684982299804,"y":6108.32275390625,"x":-379.2972412109375},"unique_id":"GkdY_vwrycSc-sh6SY_YD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-2","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C237-MS0K-BVVL-Z51J","door_data":[{"model_hash":-246927995,"door_coords":{"z":31.7124080657959,"y":6110.900390625,"x":-376.8049621582031},"unique_id":"uBjKyVZjMW0I2is4CpkBw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-3","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FVKR-2HV5-WNHI-SLAH","door_data":[{"model_hash":964838196,"door_coords":{"z":31.59394454956054,"y":6113.0830078125,"x":-375.1997375488281},"unique_id":"tLhUbbdK496mp3jD9MNeo"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-4","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y1ZX-205G-CB16-A61Z","door_data":[{"model_hash":-246927995,"door_coords":{"z":31.69972229003906,"y":6120.1142578125,"x":-375.0607604980469},"unique_id":"pvc54S1Lcafl3vnOKKN2l"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-5","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8J0N-PKNF-0CON-9NZC","door_data":[{"model_hash":-246927995,"door_coords":{"z":31.71304130554199,"y":6116.6552734375,"x":-359.1754150390625},"unique_id":"DkF-V567xXa0GtM5K45GU"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-6","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AIIW-4I5M-EYYF-XHXN","door_data":[{"model_hash":-246927995,"door_coords":{"z":31.70168113708496,"y":6115.06787109375,"x":-365.7249755859375},"unique_id":"S69IsEWGA_Tc8-6Bd7pex"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-7","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7WQX-4CXP-UE0V-5IC5","door_data":[{"model_hash":-246927995,"door_coords":{"z":31.72744941711425,"y":6124.953125,"x":-367.2385559082031},"unique_id":"aVdVzppWpLGSAvfRhgsV4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-8","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QWOT-EUE1-5TPJ-M2J4","door_data":[{"model_hash":823116083,"door_coords":{"z":31.70638656616211,"y":6120.20556640625,"x":-368.6300354003906},"unique_id":"GeW6STdnEvL5v1Vu3sV6U"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-9","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8JWR-SZ7V-0I35-0VYC","door_data":[{"model_hash":823116083,"door_coords":{"z":31.70638656616211,"y":6118.9228515625,"x":-367.3473510742187},"unique_id":"r_d29hOrcLVWhAUmzmqnM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-10","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FCIH-HLPD-6331-VHDV","door_data":[{"model_hash":-246927995,"door_coords":{"z":31.70896911621093,"y":6109.86669921875,"x":-370.9203796386719},"unique_id":"wQdx3RcZ4FEc_7DX0zDR8"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-11","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WH3P-M2W4-CBIC-V6ZI","door_data":[{"model_hash":-246927995,"door_coords":{"z":31.70515632629394,"y":6107.10302734375,"x":-373.6807556152344},"unique_id":"1OI8weaT6oUpg_q3XvDli"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 1-12","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FUIW-6NDK-HH80-3WA0","door_data":[{"model_hash":-246927995,"door_coords":{"z":31.70618438720703,"y":6104.90869140625,"x":-375.8838195800781},"unique_id":"GLLgOpyNXyyxvKKQ_NPo3"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 0-1","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C9GM-82QE-BNRW-6T70","door_data":[{"model_hash":-246927995,"door_coords":{"z":27.95434761047363,"y":6117.1552734375,"x":-367.2890319824219},"unique_id":"xPqBDGgBMj3hv2urSmLMH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 0-2","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HL6G-R7YJ-D1G9-LP4V","door_data":[{"model_hash":-246927995,"door_coords":{"z":27.95622253417968,"y":6121.0107421875,"x":-366.5631713867187},"unique_id":"W40m8-T9eSP6C9qsz-y2J"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Bay Fire Department 0-3","location_group":"Paleto Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GPDH-A0UU-BA71-48W9","door_data":[{"model_hash":-246927995,"door_coords":{"z":27.94985580444336,"y":6121.90478515625,"x":-362.5422668457031},"unique_id":"7MpXmu7cAn77ZDL3t8nh2"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Paleto_Fire_Dept.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Paleto_Hunting_Store.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Paleto_Hunting_Store.json
new file mode 100644
index 000000000..8a74a8a31
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Paleto_Hunting_Store.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Hunting Store E-1","location_group":"Paleto Hunting Store","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SR5O-9MM5-UQWL-NBLU","door_data":[{"model_hash":-1563799200,"door_coords":{"z":17.42280578613281,"y":5834.16015625,"x":-678.3617553710938},"unique_id":"DUVHAJlQP0EduV45F00ub"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Hunting Store 1-1","location_group":"Paleto Hunting Store","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UW8A-4N8N-FIFA-E2WE","door_data":[{"model_hash":-2023754432,"door_coords":{"z":17.47189712524414,"y":5833.1474609375,"x":-674.2617797851563},"unique_id":"NjgDqyYG2o5MiqRNk_B5o"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Hunting Store 1-2","location_group":"Paleto Hunting Store","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZVCD-0L8E-0KK9-8UO1","door_data":[{"model_hash":-1033001619,"door_coords":{"z":17.48620986938476,"y":5831.2919921875,"x":-670.0435180664063},"unique_id":"s2KyiO6tOVUBaJ5Mq1fW6"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Paleto_Hunting_Store.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Paleto_Sheriff.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Paleto_Sheriff.json
new file mode 100644
index 000000000..29d6c0a22
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Paleto_Sheriff.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff E-1","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LZT5-R7D1-9RCQ-363G","door_data":[{"model_hash":-1567414359,"door_coords":{"z":32.09313201904297,"y":6012.3935546875,"x":-434.37493896484377},"unique_id":"D9AwYucM0KgpUmd3RKUCj"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-1","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OOX2-3CYB-VMN2-OMV2","door_data":[{"model_hash":-2123373213,"door_coords":{"z":32.06966018676758,"y":6007.55419921875,"x":-439.149658203125},"unique_id":"1z9iJw2xtrMVxi1fffs8U"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-2","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TCUU-UV8N-3FRE-BW4W","door_data":[{"model_hash":1697656036,"door_coords":{"z":32.0988540649414,"y":6004.42724609375,"x":-436.6623229980469},"unique_id":"26S0BsrII-rYxvJbfUtxp"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-3","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1HBA-43CR-BB4I-5V3C","door_data":[{"model_hash":1697656036,"door_coords":{"z":32.09967803955078,"y":6001.07275390625,"x":-433.3275146484375},"unique_id":"wTfEjbft4Nr6GnNyJLBkJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-4","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"888T-X6F7-FCMF-9P5V","door_data":[{"model_hash":1697656036,"door_coords":{"z":32.09854125976562,"y":5998.63134765625,"x":-436.7677612304687},"unique_id":"n0Qcfzpw8IgRlJnnRc_q-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-5","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PV0K-W77N-68KO-02Y4","door_data":[{"model_hash":1697656036,"door_coords":{"z":32.09762573242187,"y":6001.16845703125,"x":-441.85247802734377},"unique_id":"0B_AZOc5CgL3i2tvTplDS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-6","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LFUY-YLHE-JS2J-PZJ1","door_data":[{"model_hash":1697656036,"door_coords":{"z":32.10568618774414,"y":6011.56201171875,"x":-448.274658203125},"unique_id":"92X5MZQilsitcpWGgsQGt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-8","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y80P-X2IB-YS95-ARW3","door_data":[{"model_hash":1697656036,"door_coords":{"z":32.09729385375976,"y":6016.373046875,"x":-447.5762634277344},"unique_id":"bPmCI7SzqQcz2pSrLEnK2"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-7","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"31R5-5400-3BJP-6QZY","door_data":[{"model_hash":1697656036,"door_coords":{"z":32.106201171875,"y":6014.72265625,"x":-446.95465087890627},"unique_id":"K76TTQXK2Yx00h043hK7h"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-9","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"64IP-2DU6-3C88-DWAS","door_data":[{"model_hash":1697656036,"door_coords":{"z":32.09511184692383,"y":6015.998046875,"x":-452.1437683105469},"unique_id":"btBd5WksjeyGCLufpQIUD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-10","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4PUN-36MU-1VM3-2XKM","door_data":[{"model_hash":1697656036,"door_coords":{"z":32.09706497192383,"y":6013.6357421875,"x":-451.7818298339844},"unique_id":"UWARbROWRka60CkydENiQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff E-2","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E2C4-A70T-S9GZ-Z7C3","door_data":[{"model_hash":863717779,"door_coords":{"z":32.0947151184082,"y":5990.17529296875,"x":-442.7430419921875},"unique_id":"ka-p5QsZ-4N6mamX7F5Ci"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-12","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z5L4-FWJK-YRDT-7RPO","door_data":[{"model_hash":400691809,"door_coords":{"z":32.10067749023437,"y":5987.12744140625,"x":-441.51800537109377},"unique_id":"VIcb-PM_duCSlajYyaErs"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 1-11","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4EIE-UNKT-1UWE-1ROA","door_data":[{"model_hash":400691809,"door_coords":{"z":32.09803771972656,"y":5988.47265625,"x":-440.1981201171875},"unique_id":"I0NNx5HJbAqpurnmgMSXU"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-1","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SRLU-DDGM-S28X-W4LK","door_data":[{"model_hash":472981945,"door_coords":{"z":28.34415054321289,"y":5997.57177734375,"x":-437.66253662109377},"unique_id":"jCfTsOhMqeLUrsMlmmCvY"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-2","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WCCW-K6AD-6OP1-ICLL","door_data":[{"model_hash":472981945,"door_coords":{"z":28.34118270874023,"y":5999.1689453125,"x":-433.2354431152344},"unique_id":"1uFgMPrWJxjx0Um9PcSkb"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-3","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"W3XQ-YANV-6JDV-PTAG","door_data":[{"model_hash":472981945,"door_coords":{"z":28.34299850463867,"y":6001.85986328125,"x":-434.4946594238281},"unique_id":"qicOW1ZpJPzQJ_Np6dEHG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-4","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WVSF-1HX1-8XAQ-BCLN","door_data":[{"model_hash":-871983225,"door_coords":{"z":28.37539482116699,"y":6003.6875,"x":-436.0227355957031},"unique_id":"tPpY7ZEFzF8rrnGAjci6q"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Paleto Sheriff 0-5","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9C48-WWRV-RKHE-W292","door_data":[{"model_hash":1113619785,"door_coords":{"z":28.34253883361816,"y":6000.763671875,"x":-442.62249755859377},"unique_id":"utKD3FbMdT0NPQdWonc-R"},{"model_hash":1113619785,"door_coords":{"z":28.34253883361816,"y":5999.0732421875,"x":-444.3128051757813},"unique_id":"hTJcHV47iRCSvxkJ2l7a0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-6","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LSB1-LPGI-GFAM-IQYZ","door_data":[{"model_hash":878277124,"door_coords":{"z":27.19585227966308,"y":6006.0595703125,"x":-447.5989685058594},"unique_id":"wfAVMvYQ1iJQU3LVFYngR"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-7","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LWQL-Y1JP-ZV3D-8D7C","door_data":[{"model_hash":878277124,"door_coords":{"z":27.19647407531738,"y":6007.47802734375,"x":-447.1788330078125},"unique_id":"FfQS_mrGncwl5Zr7bFeNc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-8","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1HAE-89NE-I6BX-96PD","door_data":[{"model_hash":878277124,"door_coords":{"z":27.19547843933105,"y":6009.31005859375,"x":-445.3467712402344},"unique_id":"28BZ22D0Pkbr_ZdKffMkE"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-9","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3MKC-EUAT-78RR-TWKC","door_data":[{"model_hash":878277124,"door_coords":{"z":27.19707679748535,"y":6011.474609375,"x":-443.18212890625},"unique_id":"g24q1xJhe9soPgNrB6tiZ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-10","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8H2S-B1KZ-VIHE-N6GK","door_data":[{"model_hash":472981945,"door_coords":{"z":28.34185028076172,"y":6001.58447265625,"x":-447.10845947265627},"unique_id":"faeBMj-GR6MFKrnm8KtX8"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-11","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2NFP-6HXL-AF67-BSAZ","door_data":[{"model_hash":472981945,"door_coords":{"z":28.34185028076172,"y":6003.93310546875,"x":-449.4573059082031},"unique_id":"u-iz8uGFZslWU5-PcuhLP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-12","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GM3K-DD7L-W4RJ-1RU7","door_data":[{"model_hash":472981945,"door_coords":{"z":27.33387374877929,"y":5993.3759765625,"x":-448.51861572265627},"unique_id":"l2Lr1LL80tg3BJWTNpIi-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-13","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FN5S-86XC-IF3V-QDON","door_data":[{"model_hash":472981945,"door_coords":{"z":27.32875251770019,"y":5991.4052734375,"x":-450.47564697265627},"unique_id":"_UTH_2pLpksVi6REz6WpQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Paleto Sheriff 0-14","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ULX5-NHIW-TW1Y-4WPF","door_data":[{"model_hash":1113619785,"door_coords":{"z":27.33162689208984,"y":5988.52490234375,"x":-450.9541931152344},"unique_id":"LqVyKwRDP41gCtOns4Pff"},{"model_hash":1113619785,"door_coords":{"z":27.33162689208984,"y":5986.8349609375,"x":-449.2638244628906},"unique_id":"mLhgxCT30eDNRUx5XvTT7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Sheriff 0-15","location_group":"Paleto Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WA80-Q4V5-A5TG-HM9I","door_data":[{"model_hash":472981945,"door_coords":{"z":27.32840919494629,"y":5985.6875,"x":-454.0626525878906},"unique_id":"LKA_2Lw4CUbV93uuwMKk_"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Paleto_Sheriff.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Pillbox_Fire_Dept.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Pillbox_Fire_Dept.json
new file mode 100644
index 000000000..d651eda5c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Pillbox_Fire_Dept.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Pillbox Fire Department G-1","location_group":"Pillbox Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HFO6-GI2S-VPJF-PT6H","door_data":[{"model_hash":-616841257,"door_coords":{"z":30.38467788696289,"y":-677.0083618164063,"x":320.0604553222656},"unique_id":"gceUlhQaiwop6DnvrEGp7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Pillbox Fire Department G-2","location_group":"Pillbox Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SUKO-M90U-10SU-IX0D","door_data":[{"model_hash":-616841257,"door_coords":{"z":30.3775405883789,"y":-681.796630859375,"x":318.3260498046875},"unique_id":"0sd_ZvYqxzHZJJZ2uYFtZ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Pillbox Fire Department E-1","location_group":"Pillbox Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KJTI-JK15-EZ1T-3H14","door_data":[{"model_hash":-35610440,"door_coords":{"z":30.14613342285156,"y":-685.0941772460938,"x":314.7314758300781},"unique_id":"de9B2G5d-hOcT-fHTVmn9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Pillbox Fire Department 2-1","location_group":"Pillbox Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VZ4W-SELT-Z1VM-H78C","door_data":[{"model_hash":964838196,"door_coords":{"z":34.46896362304687,"y":-677.6810302734375,"x":304.6263427734375},"unique_id":"w_Nk_9cot8uEKC1Fe3iOg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Pillbox Fire Department 2-3","location_group":"Pillbox Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UVFH-6WKW-H0O2-YOKC","door_data":[{"model_hash":-1726818330,"door_coords":{"z":34.47222518920898,"y":-669.5408935546875,"x":302.55902099609377},"unique_id":"Jos9GRZ1k7CSvXw-HuYzr"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Pillbox Fire Department 2-2","location_group":"Pillbox Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GTXN-C1TL-M83V-3XPU","door_data":[{"model_hash":933053701,"door_coords":{"z":34.46779251098633,"y":-666.2735595703125,"x":294.9454345703125},"unique_id":"WCxCbKz4EqbJujnuWIFCv"},{"model_hash":933053701,"door_coords":{"z":34.46779251098633,"y":-663.8301391601563,"x":295.834716796875},"unique_id":"3f6caoMeHcD0UT_nZZC9n"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Pillbox_Fire_Dept.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Red's_Auto_Parts.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Red's_Auto_Parts.json
new file mode 100644
index 000000000..600f43ce8
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Red's_Auto_Parts.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Red's AutoParts G-1","location_group":"Red's Auto Parts","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A6M4-MSSI-6YJS-7GCI","door_data":[{"model_hash":-190780785,"door_coords":{"z":20.12289237976074,"y":-1739.1495361328126,"x":-512.9033203125},"unique_id":"Um8Fj1AjQKDJDSvydOArU"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Red's_Auto_Parts.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Repair_Garages.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Repair_Garages.json
new file mode 100644
index 000000000..c999dcdb7
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Repair_Garages.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Chumash Repair Garage E-1","location_group":"Repair Garages","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K00J-IJ1P-3DMR-KRCG","door_data":[{"model_hash":-1625527568,"door_coords":{"z":15.36836433410644,"y":422.8583679199219,"x":-2966.15771484375},"unique_id":"V_So5zgATHcmobsIYUqKl"},{"model_hash":104937776,"door_coords":{"z":15.36836433410644,"y":425.4158630371094,"x":-2965.997802734375},"unique_id":"sHC6bd6imdSOxdWmPG9pZ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Chumash Repair Garage E-2","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YAWR-6C3Y-PRLI-6DSZ","door_data":[{"model_hash":-1232417342,"door_coords":{"z":15.37855148315429,"y":428.8106994628906,"x":-2959.872802734375},"unique_id":"_MGJLmuw7yA2h3MlSjRzx"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Chumash Repair Garage E-3","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TKSZ-3I9A-JJ7U-YHYQ","door_data":[{"model_hash":1748710857,"door_coords":{"z":15.94517135620117,"y":431.8291015625,"x":-2959.634521484375},"unique_id":"84wac0sKunaWGA3wtpSfP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Chumash Repair Garage E-4","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V9JW-DTNX-JI81-R5JE","door_data":[{"model_hash":1748710857,"door_coords":{"z":15.94517135620117,"y":436.99658203125,"x":-2959.311279296875},"unique_id":"xMXz04yMR8JcHKScpmWqN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Chumash Repair Garage E-5","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C7UL-DSK6-PU1Z-UTMM","door_data":[{"model_hash":1748710857,"door_coords":{"z":15.94517135620117,"y":442.1640625,"x":-2958.988037109375},"unique_id":"5-AdDHeryTmA3OsKURzOO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Chumash Repair Garage 1-1","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MK7F-Y8A7-4QL9-3GU5","door_data":[{"model_hash":263193286,"door_coords":{"z":15.37855148315429,"y":419.3752136230469,"x":-2965.0537109375},"unique_id":"_TzjbbRAB3MndaoqcH3Fn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Chumash Repair Garage 1-2","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GH1Y-G5CB-PNJV-0D8I","door_data":[{"model_hash":263193286,"door_coords":{"z":15.37855052947998,"y":426.3582153320313,"x":-2957.90087890625},"unique_id":"_TQBXJC4dq3yxyXBYY3YP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"City Repair Garage E-1","location_group":"Repair Garages","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"300Z-CUP1-0RYQ-I988","door_data":[{"model_hash":-1625527568,"door_coords":{"z":31.50117492675781,"y":-1405.6151123046876,"x":990.1569213867188},"unique_id":"DpSQQKZAigw1AgWPRaM0K"},{"model_hash":104937776,"door_coords":{"z":31.50117492675781,"y":-1403.0526123046876,"x":990.161376953125},"unique_id":"QeMxDyAKb8ADPaP_rnzNT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"City Repair Garage E-2","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JXPZ-UDU1-TMKW-QHBR","door_data":[{"model_hash":-1232417342,"door_coords":{"z":31.51136207580566,"y":-1399.292236328125,"x":996.0689697265624},"unique_id":"iTrqNKfUYZfy7wvneM8Lz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"City Repair Garage E-3","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FVQZ-NLDG-ASVT-S4ER","door_data":[{"model_hash":1748710857,"door_coords":{"z":32.0779800415039,"y":-1396.2650146484376,"x":996.1236572265624},"unique_id":"xlQbTBl7K_4z-d9nkq97n"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"City Repair Garage E-4","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"482I-1GL6-NP16-5EFO","door_data":[{"model_hash":1748710857,"door_coords":{"z":32.0779800415039,"y":-1391.08740234375,"x":996.1326904296876},"unique_id":"tIWUKQXx5YtjyJyJv8BQw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"City Repair Garage E-5","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F9QM-4890-5M6X-NE21","door_data":[{"model_hash":1748710857,"door_coords":{"z":32.0779800415039,"y":-1385.9097900390626,"x":996.1417236328124},"unique_id":"5JPyqm1m5fehXyzYaY9Pm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"City Repair Garage 1-1","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"46D6-FZWN-BRC3-4YME","door_data":[{"model_hash":263193286,"door_coords":{"z":31.51136207580566,"y":-1409.0247802734376,"x":991.470703125},"unique_id":"-hFRaqqRGO4iemgbRwd0L"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"City Repair Garage 1-2","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"784S-RUOD-XE64-DF7U","door_data":[{"model_hash":263193286,"door_coords":{"z":31.51136207580566,"y":-1401.62060546875,"x":998.1863403320313},"unique_id":"7Z8FoJHgHeOru9xcCso93"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Highway Repair Garage E-1","location_group":"Repair Garages","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9CUC-1XA3-TKG4-X1HW","door_data":[{"model_hash":-1625527568,"door_coords":{"z":108.66834259033205,"y":466.5437316894531,"x":2574.472412109375},"unique_id":"aTnTwtSOf2uC0qTz94nOr"},{"model_hash":104937776,"door_coords":{"z":108.66834259033205,"y":469.106201171875,"x":2574.45849609375},"unique_id":"qvKWWyS1_Jjax_cEltM59"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Highway Repair Garage E-2","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SGY2-KQPH-Z3GW-ORQ6","door_data":[{"model_hash":-1232417342,"door_coords":{"z":108.67852783203124,"y":472.9087219238281,"x":2580.3388671875},"unique_id":"SNwnC_RqPogkQ48ryKh9g"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Highway Repair Garage E-3","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UMHJ-IEJ9-PWLR-01WK","door_data":[{"model_hash":1748710857,"door_coords":{"z":109.24514770507813,"y":475.9363708496094,"x":2580.3720703125},"unique_id":"ZkBLastdFr1zlpoSrIfrm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Highway Repair Garage E-4","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D8ZM-V220-Z263-3E53","door_data":[{"model_hash":1748710857,"door_coords":{"z":109.24514770507813,"y":481.1138610839844,"x":2580.343994140625},"unique_id":"ADLXX7WRpDzeppwYEZRyD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Highway Repair Garage E-5","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y32K-15KL-XUXU-YOJD","door_data":[{"model_hash":1748710857,"door_coords":{"z":109.24514770507813,"y":486.2913818359375,"x":2580.316162109375},"unique_id":"iBIc8voaAetJmWGqn-KAh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Highway Repair Garage 1-1","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XO44-WPEN-GMH9-PIRP","door_data":[{"model_hash":263193286,"door_coords":{"z":108.67852783203124,"y":463.1435546875,"x":2575.810302734375},"unique_id":"XvP5l3JiOSLJtlCXBUPNt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Highway Repair Garage 1-2","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"I8EB-AAGS-XUCR-WGXQ","door_data":[{"model_hash":263193286,"door_coords":{"z":108.67852783203124,"y":470.5957336425781,"x":2582.472900390625},"unique_id":"j_00lgle6dP7fA3TP9dNU"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Paleto Repair Garage E-1","location_group":"Repair Garages","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"N8MD-1EKK-W740-80RL","door_data":[{"model_hash":-1625527568,"door_coords":{"z":31.60483360290527,"y":6030.72021484375,"x":-298.9722900390625},"unique_id":"qqQbiByyoJ7Pt4mDsyITN"},{"model_hash":104937776,"door_coords":{"z":31.60483360290527,"y":6032.5322265625,"x":-297.16033935546877},"unique_id":"lqsq3-R0_MPgUHaC8ENG1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Repair Garage E-2","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4MMS-G7KF-7W24-MPU1","door_data":[{"model_hash":-1232417342,"door_coords":{"z":31.61502075195312,"y":6031.02587890625,"x":-290.3214416503906},"unique_id":"DA5qgvWCpxCO6oFG6771F"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Repair Garage E-3","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5Q7E-U0EM-HLRT-HSG9","door_data":[{"model_hash":1748710857,"door_coords":{"z":32.181640625,"y":6033.13134765625,"x":-288.1457824707031},"unique_id":"RZu12G1o1LqMgRlIRHJew"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Repair Garage E-4","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z8TD-E3Y9-ZN1O-O6MR","door_data":[{"model_hash":1748710857,"door_coords":{"z":32.181640625,"y":6036.79248046875,"x":-284.4846801757813},"unique_id":"GAhnNlPqeMmSWSgzD-YCv"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Repair Garage E-5","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GW03-SH42-2NOK-1A4B","door_data":[{"model_hash":1748710857,"door_coords":{"z":32.181640625,"y":6040.45361328125,"x":-280.8235778808594},"unique_id":"EEaoOQMxxSG4ck1JoZWeF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Repair Garage 1-1","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6R25-C3TR-C3K7-HC3U","door_data":[{"model_hash":263193286,"door_coords":{"z":31.61502075195312,"y":6027.37744140625,"x":-300.4485168457031},"unique_id":"WsEpBVUV4SypN1hQ9Z2oQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Paleto Repair Garage 1-2","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OBHJ-VGZD-OZML-0HNK","door_data":[{"model_hash":263193286,"door_coords":{"z":31.61502075195312,"y":6027.8818359375,"x":-290.4650573730469},"unique_id":"QiarGo7X3D2wQW9B4QLLu"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Beach Repair Garage E-1","location_group":"Repair Garages","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G2AJ-8PP7-IQ3E-ZXKM","door_data":[{"model_hash":-1625527568,"door_coords":{"z":10.31435871124267,"y":-784.4094848632813,"x":-1645.44140625},"unique_id":"XgfjHVr3DU6DlvGBquPuG"},{"model_hash":104937776,"door_coords":{"z":10.31435871124267,"y":-786.3733520507813,"x":-1647.0875244140626},"unique_id":"r2HsctPkfnsh5YlS3keBA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Beach Repair Garage E-2","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H9I0-JBU5-GDNK-FAFS","door_data":[{"model_hash":-1232417342,"door_coords":{"z":10.32454586029052,"y":-785.4723510742188,"x":-1654.0322265625},"unique_id":"-tTCVLuaEv89E3rtrO_fY"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Beach Repair Garage E-3","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DXCK-74KH-4523-Y05I","door_data":[{"model_hash":1748710857,"door_coords":{"z":10.8911657333374,"y":-787.7607421875,"x":-1656.014892578125},"unique_id":"Vp0wKSNOo6FqoGkBkScgd"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Beach Repair Garage E-4","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ULU6-3WDZ-AF50-LVAZ","door_data":[{"model_hash":1748710857,"door_coords":{"z":10.8911657333374,"y":-791.728759765625,"x":-1659.3408203125},"unique_id":"WVK9PA6kwSXMPBQld1SHB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Beach Repair Garage E-5","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JJ35-ONOF-IFV2-2ZQG","door_data":[{"model_hash":1748710857,"door_coords":{"z":10.8911657333374,"y":-795.69677734375,"x":-1662.6668701171876},"unique_id":"s6QueZFeHwr8PcMNeHkfP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Beach Repair Garage 1-1","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DJR6-WXBR-1BCA-YHUZ","door_data":[{"model_hash":263193286,"door_coords":{"z":10.32454586029052,"y":-780.9503784179688,"x":-1644.263916015625},"unique_id":"UK50cZG9klCPC3s1nQ58q"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Beach Repair Garage 1-2","location_group":"Repair Garages","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UFBJ-TOD5-2C6P-QC0K","door_data":[{"model_hash":263193286,"door_coords":{"z":10.32454490661621,"y":-782.3281860351563,"x":-1654.1646728515626},"unique_id":"G__Nd-6OJ-vg3Qhjp7n7T"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Repair_Garages.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Rockford_Dealership.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Rockford_Dealership.json
new file mode 100644
index 000000000..1238eb8b5
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Rockford_Dealership.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Dealership G-1","location_group":"Rockford Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"X2XW-YRV9-29HF-4M8A","door_data":[{"model_hash":1281492173,"door_coords":{"z":36.23910903930664,"y":-232.1320648193359,"x":-354.4662170410156},"unique_id":"AlZc36mEYb9OO22tIcY1O"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Dealership G-2","location_group":"Rockford Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SPE9-NZDN-4AVS-JD07","door_data":[{"model_hash":1281492173,"door_coords":{"z":36.24414825439453,"y":-227.54046630859376,"x":-351.1128540039063},"unique_id":"t0DbKZvS0rwFmm2zIeHpv"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Dealership E-2","location_group":"Rockford Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6IGO-60UU-JBQR-PUZ5","door_data":[{"model_hash":424177038,"door_coords":{"z":36.97378921508789,"y":-225.78704833984376,"x":-317.9437561035156},"unique_id":"OKdkUEZ-iHJjVvOLUxmJY"},{"model_hash":424177038,"door_coords":{"z":36.97378921508789,"y":-226.93356323242188,"x":-316.3063659667969},"unique_id":"NpmWcgK1DFXf1h-QIPoU_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Dealership E-1","location_group":"Rockford Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IQEY-JW8A-5U1Q-C6OK","door_data":[{"model_hash":1861302034,"door_coords":{"z":34.55200576782226,"y":-253.26206970214845,"x":-326.7520446777344},"unique_id":"s5tzS0bXjbo4R0FEyiK7y"},{"model_hash":424177038,"door_coords":{"z":34.55200576782226,"y":-254.89854431152345,"x":-327.8979187011719},"unique_id":"_ut_zZUj1fw7cIuIgbkC_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Dealership 1-1","location_group":"Rockford Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FS3B-J22Y-W2L1-QWA0","door_data":[{"model_hash":946508663,"door_coords":{"z":36.98732376098633,"y":-226.9144592285156,"x":-324.9126892089844},"unique_id":"BtqVKEUifL4-qnC4RkOHX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Dealership 1-2","location_group":"Rockford Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RVA8-55OW-LO8J-XM83","door_data":[{"model_hash":946508663,"door_coords":{"z":36.98762130737305,"y":-224.1824951171875,"x":-328.8351135253906},"unique_id":"WG9Eyjeq-q2nRJiSVAq2R"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Dealership 1-3","location_group":"Rockford Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TBQK-O3N2-SZA7-914B","door_data":[{"model_hash":946508663,"door_coords":{"z":36.98852157592773,"y":-221.50550842285157,"x":-332.7995300292969},"unique_id":"NfRje-RMslEkiR8nsJjDg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Dealership 1-4","location_group":"Rockford Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UTRQ-WVKO-85RX-SFZH","door_data":[{"model_hash":-1726818330,"door_coords":{"z":37.4089469909668,"y":-222.73057556152345,"x":-343.9602355957031},"unique_id":"caZUplOkKqBj_oi3cG8aT"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Rockford_Dealership.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Rockford_Fire_Dept.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Rockford_Fire_Dept.json
new file mode 100644
index 000000000..e8cec3f0e
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Rockford_Fire_Dept.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department G-1","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8ZUW-XLS9-XSIP-ELTG","door_data":[{"model_hash":-1511111260,"door_coords":{"z":39.08005905151367,"y":-113.97341918945313,"x":-630.6298217773438},"unique_id":"s4lwQPagIjQQqVSVhFFzK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department G-2","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OWVD-5RK3-NNCV-60D0","door_data":[{"model_hash":-1511111260,"door_coords":{"z":39.08163070678711,"y":-105.84209442138672,"x":-629.6058349609375},"unique_id":"Vv4Dhw_BjJ-6jMtTWjVAY"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department G-3","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BXDE-K9TG-5PHL-0NHQ","door_data":[{"model_hash":-1511111260,"door_coords":{"z":39.08761215209961,"y":-97.72549438476564,"x":-628.5516967773438},"unique_id":"DmV5cFTwfbfeMJIfWDr12"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department G-4","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YM66-T5GY-A7OL-FIGK","door_data":[{"model_hash":-1511111260,"door_coords":{"z":38.9916877746582,"y":-100.28689575195313,"x":-655.0746459960938},"unique_id":"4u533-PuxVWf6LmnpIOqi"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department G-5","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6ENJ-HENK-E9YN-QROS","door_data":[{"model_hash":-1511111260,"door_coords":{"z":39.00727844238281,"y":-93.40306091308594,"x":-659.061767578125},"unique_id":"_Z08emwDS_jEtjmEW9JmO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department G-6","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G62T-VDAV-U2DM-KFSU","door_data":[{"model_hash":-1511111260,"door_coords":{"z":41.09241485595703,"y":-70.37983703613281,"x":-640.803466796875},"unique_id":"5PcuBH6f2z1OtnQTwsITh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department G-7","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1ATX-EFM5-2EUO-OP5D","door_data":[{"model_hash":-1511111260,"door_coords":{"z":41.08790969848633,"y":-70.92486572265625,"x":-632.8696899414063},"unique_id":"y8sSYBgpl6haTEwk34NZI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department G-8","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K326-9IA0-UI6Y-2JL4","door_data":[{"model_hash":-1511111260,"door_coords":{"z":41.0860595703125,"y":-71.40992736816406,"x":-625.1746215820313},"unique_id":"2cpUzAvBAqrwTZT_DpXUV"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department E-1","location_group":"Rockford Fire Dept","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KYSA-SEAY-JN28-H3E0","door_data":[{"model_hash":-96416801,"door_coords":{"z":39.09143447875976,"y":-78.00564575195313,"x":-661.0494995117188},"unique_id":"zwu1Y8m2l_7WPp-b3wm0_"},{"model_hash":-625902714,"door_coords":{"z":39.09143447875976,"y":-76.97418212890625,"x":-659.1735229492188},"unique_id":"PNudeDCl5b3Ic1sCLAGTo"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department E-2","location_group":"Rockford Fire Dept","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GG6P-XHHC-DQB6-WTRX","door_data":[{"model_hash":-2021949952,"door_coords":{"z":39.42330551147461,"y":-122.9828109741211,"x":-632.286376953125},"unique_id":"R_cfA_Hu91uIvzIR6Db27"},{"model_hash":-2021949952,"door_coords":{"z":39.42330551147461,"y":-120.96527862548828,"x":-631.965087890625},"unique_id":"NXMRTDini_l61L4CzyhoJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department E-3","location_group":"Rockford Fire Dept","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5MQF-AVXH-W47E-Z97T","door_data":[{"model_hash":-2021949952,"door_coords":{"z":39.42167663574219,"y":-127.80731201171877,"x":-633.09375},"unique_id":"qzFQKnCMYL6piP5L7fsjD"},{"model_hash":-2021949952,"door_coords":{"z":39.42167663574219,"y":-125.78953552246094,"x":-632.77001953125},"unique_id":"uEH_b1XRcef6URpq0ZfUv"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department 1-1","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"164O-04J1-XMTS-18MP","door_data":[{"model_hash":-2041685008,"door_coords":{"z":38.88957977294922,"y":-88.85348510742188,"x":-652.0358276367188},"unique_id":"I05ED5ID9EQ2HwvVO5uay"},{"model_hash":-2041685008,"door_coords":{"z":38.88957977294922,"y":-87.60139465332031,"x":-649.7578125},"unique_id":"M07tuWvOmip8pnbOyQ1Uj"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department 1-2","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KCF4-OFDB-4XHA-3HQN","door_data":[{"model_hash":1242124150,"door_coords":{"z":40.26640319824219,"y":-85.38566589355469,"x":-629.245361328125},"unique_id":"YNlUNUS7YHgB-YmFdqV6G"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department 1-3","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6RMZ-MOW8-FN7R-TNLB","door_data":[{"model_hash":1242124150,"door_coords":{"z":40.22930145263672,"y":-92.65962982177736,"x":-627.6679077148438},"unique_id":"VenQfNwwop7oe-LLFm06F"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department 1-4","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7J1H-JF0S-BMKN-CRR5","door_data":[{"model_hash":964838196,"door_coords":{"z":39.36922073364258,"y":-119.02855682373049,"x":-627.76318359375},"unique_id":"91Z7Yf5AKuruFjEzZCfJY"},{"model_hash":964838196,"door_coords":{"z":39.36922073364258,"y":-118.6875228881836,"x":-630.3424682617188},"unique_id":"CA4e513orhOf5HBrUUeyB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department 1-5","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LJLV-ZL79-7TNI-T9BR","door_data":[{"model_hash":964838196,"door_coords":{"z":39.37223434448242,"y":-126.06578063964844,"x":-627.9164428710938},"unique_id":"M89qvT0vCeNLazo09N0Rg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department 0-1","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1E1R-L0DT-T4XU-FS94","door_data":[{"model_hash":-1320876379,"door_coords":{"z":34.91033172607422,"y":-86.78646087646485,"x":-627.3859252929688},"unique_id":"3-qe3lX60B_YYguCvCnox"},{"model_hash":-1320876379,"door_coords":{"z":34.91033172607422,"y":-89.37895965576172,"x":-627.6557006835938},"unique_id":"zTmGnw-C1185RrTcdV3fh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department 0-2","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RHLM-BLS9-FEA1-OIO0","door_data":[{"model_hash":1242124150,"door_coords":{"z":36.1591796875,"y":-126.1721649169922,"x":-626.3673706054688},"unique_id":"N3HKwWOwdp1E3TztHaYoX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department 0-3","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RPQS-1S7J-1PX5-TV9S","door_data":[{"model_hash":749848321,"door_coords":{"z":36.16632461547851,"y":-124.35419464111328,"x":-624.3489990234375},"unique_id":"Twdv562vlYswNRDIsmZ8U"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department 2-1","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ANJ0-YTVP-FDAJ-7PYC","door_data":[{"model_hash":-543497392,"door_coords":{"z":45.55057907104492,"y":-86.78004455566406,"x":-627.6466674804688},"unique_id":"vjg3kdnwVazaUmKaJ4xkq"},{"model_hash":-543497392,"door_coords":{"z":45.55057907104492,"y":-89.36128234863281,"x":-627.9727783203125},"unique_id":"UWxd_TRjVLm4_XHcZYPYD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department 2-2","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZFXX-79KB-4CM7-230J","door_data":[{"model_hash":-543497392,"door_coords":{"z":45.6503791809082,"y":-92.64289855957033,"x":-627.8391723632813},"unique_id":"YQ_BaerSzWYkD9Mbh-lyp"},{"model_hash":-543497392,"door_coords":{"z":45.6503791809082,"y":-93.00208282470705,"x":-625.2660522460938},"unique_id":"sMKzU5yNu-o5zRdBv8aKk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department 2-3","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZZBX-SZSE-MX2R-4E17","door_data":[{"model_hash":-2041685008,"door_coords":{"z":45.64799118041992,"y":-99.02505493164064,"x":-623.285400390625},"unique_id":"WDCni1nbvaTFJvSOkbFTp"},{"model_hash":-2041685008,"door_coords":{"z":45.64799118041992,"y":-96.43830108642578,"x":-623.0536499023438},"unique_id":"8sW541guWkBqyqmjQKNIF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department 2-4","location_group":"Rockford Fire Dept","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V7PR-CKBX-IZB6-L72S","door_data":[{"model_hash":-1821777087,"door_coords":{"z":45.64404678344726,"y":-96.81140899658205,"x":-629.6240234375},"unique_id":"jGuzd2VfMjGIbvtdazaE0"},{"model_hash":-1821777087,"door_coords":{"z":45.64404678344726,"y":-99.39490509033205,"x":-629.9171142578125},"unique_id":"Kn9TY81XNfoyArzVfjDP6"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department 2-5","location_group":"Rockford Fire Dept","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DYZK-532H-CBQ5-KFRI","door_data":[{"model_hash":-1821777087,"door_coords":{"z":45.65087890625,"y":-100.49187469482422,"x":-629.5435180664063},"unique_id":"z2MKvS5QSz18rJnjmAl7E"},{"model_hash":-1821777087,"door_coords":{"z":45.65087890625,"y":-100.6955337524414,"x":-626.9542236328125},"unique_id":"fqWfdHvopXRabX2q7_GgQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department 2-6","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HKY9-WY7I-RWDK-0OT2","door_data":[{"model_hash":-1821777087,"door_coords":{"z":45.65042495727539,"y":-95.78797912597656,"x":-633.68994140625},"unique_id":"C7i8iFwB0CQqoC8EarUHK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department 2-7","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XKA7-R328-WNT1-P5AE","door_data":[{"model_hash":-1821777087,"door_coords":{"z":45.65042495727539,"y":-94.9888687133789,"x":-640.3739624023438},"unique_id":"lRMobGbGF9aIeelAJHhZw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department 2-8","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JY4A-T0ME-08J9-NKUT","door_data":[{"model_hash":-2041685008,"door_coords":{"z":45.62529373168945,"y":-96.35741424560549,"x":-649.37939453125},"unique_id":"sxXJ_O-h_OQFZY_2YsAVl"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department 2-9","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"36EV-FZF6-3YAJ-8VIR","door_data":[{"model_hash":-538477509,"door_coords":{"z":45.64228057861328,"y":-104.8864517211914,"x":-626.4992065429688},"unique_id":"18w8yYSa88HxpoYs0c1Bv"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Fire Department 2-10","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8M8B-02AE-HMAL-K5QW","door_data":[{"model_hash":-538477509,"door_coords":{"z":45.64289855957031,"y":-111.596923828125,"x":-627.046142578125},"unique_id":"M8mBznzRoqL1YP2hRZQnV"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department 2-11","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZAXI-KH2O-UN31-BC30","door_data":[{"model_hash":-543497392,"door_coords":{"z":45.62514495849609,"y":-118.40088653564452,"x":-630.4786376953125},"unique_id":"tJ0nuQSQD1JSbtvD0h4re"},{"model_hash":-543497392,"door_coords":{"z":45.62514495849609,"y":-118.65616607666016,"x":-627.892822265625},"unique_id":"zHlQG_f_UCk04k6EhrDcG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Fire Department 2-12","location_group":"Rockford Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8SIP-NXLF-BYPW-QH3K","door_data":[{"model_hash":-2023754432,"door_coords":{"z":43.37261581420898,"y":-132.3054962158203,"x":-631.5808715820313},"unique_id":"ydsaWGozPCBFzm2bFpZ0b"},{"model_hash":-2023754432,"door_coords":{"z":43.37261581420898,"y":-132.53182983398438,"x":-628.9940185546875},"unique_id":"b5_Q1H3iLdChDA5I_K6-c"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Rockford_Fire_Dept.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Rockford_Police_Dept.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Rockford_Police_Dept.json
new file mode 100644
index 000000000..65cd57f63
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Rockford_Police_Dept.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department G-1","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6E3C-ER04-2MYA-0W31","door_data":[{"model_hash":769870942,"door_coords":{"z":34.65650939941406,"y":-124.66803741455078,"x":-579.4329833984375},"unique_id":"TTC7O5oAYMZ2r2NaCBlbe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department G-2","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BE4V-TUGE-TMVJ-X68A","door_data":[{"model_hash":769870942,"door_coords":{"z":34.65879821777344,"y":-126.94384765625,"x":-584.7935791015625},"unique_id":"UchQ36ehCnQueG8R5wx6p"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department E-1","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FWND-56TJ-6XCW-PSZ5","door_data":[{"model_hash":-223920905,"door_coords":{"z":38.11901473999023,"y":-127.63514709472656,"x":-556.8018188476563},"unique_id":"lqSUWQnsod2Dmz5DAW6-m"},{"model_hash":-223920905,"door_coords":{"z":38.11751174926758,"y":-128.4534454345703,"x":-558.7618408203125},"unique_id":"yQE3t5dpNWpLPvCanz1MJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department E-2","location_group":"Rockford Police Dept","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"68OV-UDIJ-44W8-GJMQ","door_data":[{"model_hash":-1338294381,"door_coords":{"z":38.74447631835937,"y":-130.25990295410157,"x":-561.0794677734375},"unique_id":"i_0wcf0Y7BlRmRiyc5xIV"},{"model_hash":-1338294381,"door_coords":{"z":38.74447631835937,"y":-131.07432556152345,"x":-563.045654296875},"unique_id":"3mSq3VUelFod5fBUKawEe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department E-3","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JFA6-R6R8-P5WE-2BUS","door_data":[{"model_hash":-223920905,"door_coords":{"z":38.11536407470703,"y":-131.4301910400391,"x":-566.000732421875},"unique_id":"59xFfL_F1qBFQnPbwuhQU"},{"model_hash":-223920905,"door_coords":{"z":38.11536407470703,"y":-132.2490386962891,"x":-567.959716796875},"unique_id":"0oC0noGyHmfa4I3yjImgS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 1-1","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"X2CW-B37O-PSKM-8QMA","door_data":[{"model_hash":-1225363909,"door_coords":{"z":37.40618896484375,"y":-127.8579330444336,"x":-571.8327026367188},"unique_id":"GrMQqywB06tj_V6ywOWIx"},{"model_hash":-1225363909,"door_coords":{"z":37.40618896484375,"y":-129.2446441650391,"x":-571.25830078125},"unique_id":"QaYXL1Wc5fyEpR3nch2OP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department E-4","location_group":"Rockford Police Dept","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OK2I-YAVN-HSQQ-T9NE","door_data":[{"model_hash":-1338294381,"door_coords":{"z":39.11523056030273,"y":-131.59951782226566,"x":-541.9861450195313},"unique_id":"ASDPtj_XhAZhYoVifnDbH"},{"model_hash":-1338294381,"door_coords":{"z":39.11523056030273,"y":-132.41073608398438,"x":-543.9446411132813},"unique_id":"TVCMDKAFZadMjGt0IBKuz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 1-2","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3DBS-CVT8-9QRA-4YK5","door_data":[{"model_hash":108017676,"door_coords":{"z":37.69427108764648,"y":-118.5461883544922,"x":-552.36669921875},"unique_id":"QUsgFcwSWZD17haMVqSh9"},{"model_hash":108017676,"door_coords":{"z":37.69427108764648,"y":-118.86611938476564,"x":-553.1390380859375},"unique_id":"mC6vbZs0Unkegd4VygP2m"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 1-3","location_group":"Rockford Police Dept","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HSQV-G8US-XXI6-FBLI","door_data":[{"model_hash":108017676,"door_coords":{"z":37.69427108764648,"y":-117.46170043945313,"x":-549.7468872070313},"unique_id":"RhcJs6ccuKCkHruJascQ3"},{"model_hash":108017676,"door_coords":{"z":37.69427108764648,"y":-117.7816390991211,"x":-550.519287109375},"unique_id":"Or2xTXuKe1ZjXvFy-llGa"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 1-4","location_group":"Rockford Police Dept","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GIFD-R131-UCNO-P1ZE","door_data":[{"model_hash":924110090,"door_coords":{"z":37.51140594482422,"y":-115.43992614746094,"x":-550.6034545898438},"unique_id":"DlAtM5HoQTYGWaugVzZwn"},{"model_hash":924110090,"door_coords":{"z":37.51140594482422,"y":-116.47884368896485,"x":-553.0623779296875},"unique_id":"E7AIpnGYv-E-KfsWfVYuI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 1-5","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9UXB-U160-WY3U-ZN4A","door_data":[{"model_hash":749848321,"door_coords":{"z":38.60493469238281,"y":-111.67930603027344,"x":-556.1270141601563},"unique_id":"B_PzCveTdlv74LCiCaKsE"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 0-1","location_group":"Rockford Police Dept","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LLAY-I6LG-041X-K26Q","door_data":[{"model_hash":1313927514,"door_coords":{"z":32.8191032409668,"y":-116.18084716796877,"x":-578.8805541992188},"unique_id":"M912rYHgupl8qs5sbm2vY"},{"model_hash":1313927514,"door_coords":{"z":32.8191032409668,"y":-118.94220733642578,"x":-577.7158813476563},"unique_id":"gLaD-RjTnSm6FhaDQ70za"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-2","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HM6Z-QBAD-N5DZ-H3P4","door_data":[{"model_hash":-1357407713,"door_coords":{"z":33.85123825073242,"y":-110.74264526367188,"x":-572.9036254882813},"unique_id":"umf_yfpBgD--wxgQo-ZYA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 0-3","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K1G7-UWX6-ORFA-B7YA","door_data":[{"model_hash":-1357407713,"door_coords":{"z":33.82674789428711,"y":-102.96070098876952,"x":-576.1089477539063},"unique_id":"b_Nsgt-fTEfwUCSXdBPgF"},{"model_hash":-1357407713,"door_coords":{"z":33.82674789428711,"y":-100.70811462402344,"x":-577.0359497070313},"unique_id":"9XD83rtdXTryMhnWpINgA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 0-4","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L7VV-SYNH-WPW6-18N0","door_data":[{"model_hash":-1357407713,"door_coords":{"z":33.81260681152344,"y":-100.1850357055664,"x":-586.8680419921875},"unique_id":"mOnWkfb6m7l5xsMMEUw9u"},{"model_hash":-1357407713,"door_coords":{"z":33.81260681152344,"y":-99.2536163330078,"x":-584.6193237304688},"unique_id":"7uJtcBM2dS58s6IOdkked"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-5","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q7SI-IL15-SC09-T8AE","door_data":[{"model_hash":749848321,"door_coords":{"z":33.86140823364258,"y":-102.6623992919922,"x":-592.8909912109375},"unique_id":"4BZUEn7bFikcevgh0xBRM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 0-6","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2YL6-A0YS-G7VC-GS38","door_data":[{"model_hash":-1647363618,"door_coords":{"z":32.6710319519043,"y":-104.32649993896485,"x":-597.466552734375},"unique_id":"tU-BYfWigvB3ORlw7h32h"},{"model_hash":1232343333,"door_coords":{"z":32.6710319519043,"y":-105.07334899902344,"x":-599.2681884765625},"unique_id":"TzJYEdW6ew01fYgcJmp80"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-7","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9C1H-8XY5-SC9B-BFBS","door_data":[{"model_hash":749848321,"door_coords":{"z":33.86969757080078,"y":-110.62037658691406,"x":-610.5416259765625},"unique_id":"ghNzjs6P-7fIO-lP96oKt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-8","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NNLG-29K7-HGD2-S54R","door_data":[{"model_hash":-1798639645,"door_coords":{"z":32.67623138427734,"y":-91.86186981201172,"x":-561.2625122070313},"unique_id":"HBZlVdSOLTdymDqYYdCT6"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-9","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BVCM-4Z9Q-1LKJ-BXDH","door_data":[{"model_hash":-1798639645,"door_coords":{"z":32.67623138427734,"y":-87.45028686523438,"x":-563.0897827148438},"unique_id":"CXE4lmYBdwomd1DeeLftw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-10","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"12ZU-JPUB-LTA7-N1I8","door_data":[{"model_hash":-1798639645,"door_coords":{"z":32.67623138427734,"y":-83.03669738769531,"x":-564.9179077148438},"unique_id":"jVE9woq18tqB4CuyDydOy"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-11","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D6A0-EWNK-4BO6-DLXQ","door_data":[{"model_hash":-1798639645,"door_coords":{"z":32.67623138427734,"y":-78.62559509277344,"x":-566.7450561523438},"unique_id":"0yxDFbIwbGSCw-GHCsSw_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-12","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BAE4-RTXW-74R1-WVXC","door_data":[{"model_hash":749848321,"door_coords":{"z":33.86761093139648,"y":-88.38733673095703,"x":-568.67041015625},"unique_id":"cLuQcwDzHte-aJfHcIqKE"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-13","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SYCR-LM5S-IBSF-O0ZU","door_data":[{"model_hash":-2023754432,"door_coords":{"z":33.85836410522461,"y":-83.23936462402344,"x":-573.041015625},"unique_id":"gnyqIP_lNm7UYqfXovNO9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-14","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H2AO-MDG8-BWIF-QJO4","door_data":[{"model_hash":749848321,"door_coords":{"z":33.85855484008789,"y":-84.54381561279297,"x":-576.1963500976563},"unique_id":"qy9c62iH13TFdWC1DGSbm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-15","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TGI2-238U-6NS3-VXL8","door_data":[{"model_hash":-2023754432,"door_coords":{"z":33.82425308227539,"y":-85.69232177734375,"x":-579.0067749023438},"unique_id":"VLjFTj8ZRyAT1UXJ7VSSX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 0-16","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CY8V-P6SY-GMXD-EA5W","door_data":[{"model_hash":749848321,"door_coords":{"z":33.86378479003906,"y":-87.0145034790039,"x":-582.1521606445313},"unique_id":"s_AbyJnbdyoSqXZZsyIJp"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 2-1","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"N7K0-PSWH-W1RA-3EGX","door_data":[{"model_hash":-364937765,"door_coords":{"z":44.64352416992187,"y":-112.56087493896485,"x":-556.0182495117188},"unique_id":"bXeXE-w_lujHVcDBXuvL2"},{"model_hash":-364937765,"door_coords":{"z":44.64352416992187,"y":-111.68207550048828,"x":-553.8966064453125},"unique_id":"JZUqQwuWCEOUKHrblEg8q"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 2-2","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7EKC-MUV3-HXVR-EOZ3","door_data":[{"model_hash":749848321,"door_coords":{"z":44.8275260925293,"y":-124.03079986572266,"x":-550.6250610351563},"unique_id":"1OgBjiOh51HYNYunAb_WK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 2-3","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XHLD-6JSE-T3E1-72QV","door_data":[{"model_hash":749848321,"door_coords":{"z":44.8556022644043,"y":-124.83219909667968,"x":-544.8136596679688},"unique_id":"2ANcsw1HxWbqJhOnSfdQm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 2-4","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"II2H-C43B-OLB2-N9J4","door_data":[{"model_hash":1093938460,"door_coords":{"z":43.68090057373047,"y":-118.89481353759766,"x":-545.3858642578125},"unique_id":"-XPXgzd7kpMu4Qu8CEbvh"},{"model_hash":1093938460,"door_coords":{"z":43.68090057373047,"y":-119.43460845947266,"x":-546.6890869140625},"unique_id":"uPzlkFbG9tNbU_TIqtXYz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 2-5","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TGPW-0OGP-SS9Y-0PEZ","door_data":[{"model_hash":2014573897,"door_coords":{"z":44.7915153503418,"y":-121.03850555419922,"x":-556.6710205078125},"unique_id":"jqOD2Yi8L3NgfKvzi59ey"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 2-6","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C4QX-8EDY-07HV-5P75","door_data":[{"model_hash":-364937765,"door_coords":{"z":44.64434051513672,"y":-124.24424743652344,"x":-560.85546875},"unique_id":"cHYv12lXABbyFscUlCnvz"},{"model_hash":-364937765,"door_coords":{"z":44.64434051513672,"y":-126.36394500732422,"x":-559.9775390625},"unique_id":"S6NrRcuJc4b8SZpkLlwHv"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 2-7","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2ZG6-1C5U-GMOI-2M31","door_data":[{"model_hash":-1225363909,"door_coords":{"z":41.85536575317383,"y":-137.19790649414066,"x":-574.0562133789063},"unique_id":"0xSVMIUhpLed1jpVCcmQg"},{"model_hash":-1225363909,"door_coords":{"z":41.85536575317383,"y":-135.8179931640625,"x":-574.6277465820313},"unique_id":"uoZ-pjMuA2fTQ3cXvVolk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 2-8","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BD02-QIO6-ZBNB-3IAM","door_data":[{"model_hash":-364937765,"door_coords":{"z":42.83048629760742,"y":-151.30355834960938,"x":-597.3389282226563},"unique_id":"OigG-aV3IqHE_aIGOWlQp"},{"model_hash":-364937765,"door_coords":{"z":42.83048629760742,"y":-150.4248046875,"x":-595.2174072265625},"unique_id":"eHuKuG2Y5_etKYd6VfJ0o"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 2-9","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y0GY-FSK2-JZO1-YTPB","door_data":[{"model_hash":2014573897,"door_coords":{"z":42.97473526000976,"y":-149.4393310546875,"x":-602.1114501953125},"unique_id":"BpCc_oLo7MPBJvts2NV6k"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 2-10","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TUQW-P0MQ-TO2B-UBTG","door_data":[{"model_hash":2014573897,"door_coords":{"z":44.76831817626953,"y":-99.75003051757813,"x":-558.1412353515625},"unique_id":"wUoEypHV0EPlXxekAMsnT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 3-1","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JKTQ-O9K9-CYP2-GTKO","door_data":[{"model_hash":-1357407713,"door_coords":{"z":48.24392318725586,"y":-96.8044662475586,"x":-559.470458984375},"unique_id":"442YZEvjQZxZZ0yF90OMF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 3-2","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OU8V-PT5J-7TJC-1D80","door_data":[{"model_hash":1242124150,"door_coords":{"z":48.2117919921875,"y":-110.5445327758789,"x":-557.453857421875},"unique_id":"ktWlwjBNlFv12RUnCU4Do"},{"model_hash":1242124150,"door_coords":{"z":48.2117919921875,"y":-109.54959869384766,"x":-555.0518798828125},"unique_id":"oV_voP3odE9uxQF0H2j-E"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 3-3","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"80BS-5Y3R-OR0U-C3IN","door_data":[{"model_hash":-908284348,"door_coords":{"z":47.71407699584961,"y":-119.90181732177736,"x":-559.5848999023438},"unique_id":"Ot_BItzLnxaY8K4YsZ6QN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Rockford Police Department 3-4","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8QNI-0RHY-W411-11FY","door_data":[{"model_hash":-908284348,"door_coords":{"z":47.7130012512207,"y":-122.17720794677736,"x":-565.0298461914063},"unique_id":"y9OOiWPG1ZCLQLtTBR85V"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department 3-5","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EL3C-5GTW-9039-2Y8I","door_data":[{"model_hash":-1225363909,"door_coords":{"z":46.9156608581543,"y":-137.29571533203126,"x":-574.268310546875},"unique_id":"KHFZSB-eeAcmVwe2U1uxX"},{"model_hash":-1225363909,"door_coords":{"z":46.9156608581543,"y":-135.90951538085938,"x":-574.842529296875},"unique_id":"0Wlo2eqMJ7vJuPFgao_vP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Rockford Police Department E-5","location_group":"Rockford Police Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DIWM-W852-C15E-O7HR","door_data":[{"model_hash":-1225363909,"door_coords":{"z":51.01509475708008,"y":-129.69082641601566,"x":-578.9010009765625},"unique_id":"_jHgSpHCk-7tE2En-bP98"},{"model_hash":-1225363909,"door_coords":{"z":51.01509475708008,"y":-131.07318115234376,"x":-578.314208984375},"unique_id":"QOBX3GDR4pKxpTfGQIv2_"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Rockford_Police_Dept.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_SA_Highway_Patrol.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_SA_Highway_Patrol.json
new file mode 100644
index 000000000..cb47fbf3c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_SA_Highway_Patrol.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"San Andreas Highway Patrol 1-E-1","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K40C-Y28N-MBR1-0A51","door_data":[{"model_hash":1500778245,"door_coords":{"z":26.94489860534668,"y":-1292.00732421875,"x":826.8927612304688},"unique_id":"wRCLCNixcr13gmuU57Xuy"},{"model_hash":-1648968777,"door_coords":{"z":27.13917350769043,"y":-1289.55859375,"x":826.8682250976563},"unique_id":"SOtY0kvzeMbMtKx-bNAEQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-G-1","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MBUH-7EE2-DNSG-TJP2","door_data":[{"model_hash":-296465450,"door_coords":{"z":21.99654197692871,"y":-1308.6317138671876,"x":832.0521240234375},"unique_id":"HEkCCB59LEXdNumG7M_BW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-G-2","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y89L-O0D6-ZG40-6PUH","door_data":[{"model_hash":-296465450,"door_coords":{"z":21.99654197692871,"y":-1309.1171875,"x":855.1661376953125},"unique_id":"Kr34rFxJnX6fbqbxFubt1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"San Andreas Highway Patrol 1-0-1","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JLOX-2VGL-UE3X-57UG","door_data":[{"model_hash":-401689590,"door_coords":{"z":21.38411521911621,"y":-1286.6285400390626,"x":838.494384765625},"unique_id":"veB7gWDRRdc1EqVn_dA6Q"},{"model_hash":-401689590,"door_coords":{"z":21.38411521911621,"y":-1286.6397705078126,"x":841.5875244140625},"unique_id":"_aRx2NHV5nTHSr_-KGff1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-2","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A49X-708Q-PJXT-PEXG","door_data":[{"model_hash":-548154470,"door_coords":{"z":21.26981163024902,"y":-1282.2674560546876,"x":842.0283813476563},"unique_id":"05qmXc_Rg7A_8XHLHcIRn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-3","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JLTI-CJFN-XEVO-656R","door_data":[{"model_hash":-512052251,"door_coords":{"z":21.3351936340332,"y":-1279.031494140625,"x":836.7098388671875},"unique_id":"3mp2_0HqDzSyL72_-6eOc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-4","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TZYP-NS5L-E0S5-K8WO","door_data":[{"model_hash":-548154470,"door_coords":{"z":21.26668357849121,"y":-1279.945068359375,"x":845.5384521484375},"unique_id":"lzY7TowVhf1YPatUg6gsb"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-5","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"59XA-OPE0-BMFI-M2CZ","door_data":[{"model_hash":581799596,"door_coords":{"z":21.37964630126953,"y":-1275.26318359375,"x":842.05322265625},"unique_id":"LeLEz1I-OgkftN87twOIb"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-6","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZU38-8NMB-OX5L-FURS","door_data":[{"model_hash":-2023754432,"door_coords":{"z":20.92032432556152,"y":-1276.3692626953126,"x":831.04638671875},"unique_id":"ipOrkp3EnbuyH4h2zYTcr"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-7","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0F9V-BUBW-GYRX-OFDY","door_data":[{"model_hash":-2023754432,"door_coords":{"z":20.91679954528808,"y":-1272.58447265625,"x":831.0704956054688},"unique_id":"LR4U34uCLF7mg7zmvTpgx"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-8","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5JSH-ZG7B-WA5D-AXVV","door_data":[{"model_hash":-534808108,"door_coords":{"z":21.37639617919922,"y":-1282.20849609375,"x":824.4942016601563},"unique_id":"ihsVlJHomXmRE7pnTk3qI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-9","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CSYZ-TXDA-Q8G8-6NW7","door_data":[{"model_hash":581799596,"door_coords":{"z":21.22291374206543,"y":-1283.512451171875,"x":822.12255859375},"unique_id":"5WQzN4aqTLcldhwZGyzGk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-10","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2E4B-5BQJ-UVK4-WXZJ","door_data":[{"model_hash":581799596,"door_coords":{"z":21.22292327880859,"y":-1286.0904541015626,"x":819.4856567382813},"unique_id":"H1W5jTzF45PNnW9cDuOyZ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-11","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L7A1-V7DN-B8GA-SB6O","door_data":[{"model_hash":581799596,"door_coords":{"z":21.22292327880859,"y":-1286.0638427734376,"x":815.2892456054688},"unique_id":"B6eBsHUJDUt58FvSc9kK_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-0-12","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YTIU-HJBZ-2KS8-1STN","door_data":[{"model_hash":581799596,"door_coords":{"z":21.22291183471679,"y":-1283.5311279296876,"x":811.853271484375},"unique_id":"_W1qCCDsM05aP2pUlWn8Y"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-E-2","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"N8JF-ZVHM-VW61-CC67","door_data":[{"model_hash":-1496111416,"door_coords":{"z":26.87011528015136,"y":-1303.2391357421876,"x":853.1488647460938},"unique_id":"IkfCdxoRCB0o4H0QtlNdV"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-1-1","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BFI8-3A47-FVKK-LR4Y","door_data":[{"model_hash":-2096870465,"door_coords":{"z":26.86820793151855,"y":-1287.7509765625,"x":855.608642578125},"unique_id":"4g3_aYxUfLnSIsueu3HUA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-1-2","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FIZR-MNDY-0OXU-SLIZ","door_data":[{"model_hash":-2096870465,"door_coords":{"z":26.86978721618652,"y":-1291.828857421875,"x":848.4393310546875},"unique_id":"bJa8JbRr_SHdDnrHSFUgM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-1-3","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NN0H-N2J7-EH8O-CTTN","door_data":[{"model_hash":-548154470,"door_coords":{"z":26.73783683776855,"y":-1294.625,"x":840.3541259765625},"unique_id":"egb1UZ9ZctJdZVXkfjg6-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-1-4","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SC2K-S3UU-9RBZ-LHSK","door_data":[{"model_hash":-534808108,"door_coords":{"z":26.85284233093261,"y":-1282.7620849609376,"x":838.0148315429688},"unique_id":"dxJMzJkhzJPB6-6hVb8No"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-1-5","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VQBV-8BB3-HHXF-0A53","door_data":[{"model_hash":-548154470,"door_coords":{"z":26.74373435974121,"y":-1282.5860595703126,"x":843.0404663085938},"unique_id":"Y9GwqNemV7zGXz8VcMqQe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-E-3","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UY7O-8SP8-1OGO-YP65","door_data":[{"model_hash":-1496111416,"door_coords":{"z":31.92238044738769,"y":-1279.9642333984376,"x":850.45166015625},"unique_id":"b3R8E1-Eem3YzbqiobfDT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"San Andreas Highway Patrol 1-2-1","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RIBT-4VT0-UX41-5WR6","door_data":[{"model_hash":1058603288,"door_coords":{"z":32.03200531005859,"y":-1298.3837890625,"x":850.8414306640625},"unique_id":"BW6WtNMzskEEyHdVOty1p"},{"model_hash":1058603288,"door_coords":{"z":32.03200531005859,"y":-1296.424072265625,"x":850.7913818359375},"unique_id":"-uGpz4lES-GLIhVwFD8CO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-2-2","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"54DQ-VWAV-WQ45-4INB","door_data":[{"model_hash":-337791066,"door_coords":{"z":31.91198539733886,"y":-1298.91845703125,"x":848.3809204101563},"unique_id":"oFNkB31JuNVZri-W22r42"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-2-3","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WO8X-8VRN-3BI2-T972","door_data":[{"model_hash":-534808108,"door_coords":{"z":31.89305877685547,"y":-1294.5235595703126,"x":828.7325439453125},"unique_id":"zS8Gy-ROfcbup6tBTDzqF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"San Andreas Highway Patrol 1-E-4","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ICCL-8CTZ-VIJK-1ET8","door_data":[{"model_hash":-769163936,"door_coords":{"z":36.55096435546875,"y":-1281.71337890625,"x":839.744873046875},"unique_id":"HaXukBNycDddik_CSP7_r"},{"model_hash":588988478,"door_coords":{"z":36.35515594482422,"y":-1281.7440185546876,"x":837.1387939453125},"unique_id":"1HtF6OHQBvnVb_Ps9FP1O"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"San Andreas Highway Patrol 1-E-5","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CDOS-2PQL-PTIW-DWRN","door_data":[{"model_hash":-769163936,"door_coords":{"z":36.55103302001953,"y":-1300.1422119140626,"x":837.0455322265625},"unique_id":"8gU6ScfdiaNf0Ce25IpNA"},{"model_hash":588988478,"door_coords":{"z":36.35523223876953,"y":-1300.1131591796876,"x":839.6484985351563},"unique_id":"jpspPW3yHyjzj8FADvpxD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-E-6","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1OLP-H2YW-DMKW-L5J8","door_data":[{"model_hash":1890297615,"door_coords":{"z":26.44643974304199,"y":-1395.22998046875,"x":817.7721557617188},"unique_id":"euQNpzePHastA0_SBEcZN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-E-7","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RYSY-UF8V-RTM0-NK5H","door_data":[{"model_hash":-1920147247,"door_coords":{"z":26.44643974304199,"y":-1395.229736328125,"x":838.7015991210938},"unique_id":"Sf5IPbY_09t_jZmNXQP--"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-E-8","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OZK0-5785-E3J4-6K6B","door_data":[{"model_hash":1890297615,"door_coords":{"z":26.49585723876953,"y":-1376.09521484375,"x":837.3860473632813},"unique_id":"pPjkI4OrHCsFYfAWaHUQA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-G-3","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"07IA-SE1X-55E8-IXXD","door_data":[{"model_hash":1009208002,"door_coords":{"z":27.54445457458496,"y":-1376.1351318359376,"x":832.53857421875},"unique_id":"-OsFsFeM1NWaeBNwzgAPh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-G-4","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D9EI-2VRB-MO8V-30EB","door_data":[{"model_hash":1009208002,"door_coords":{"z":27.54445457458496,"y":-1376.1351318359376,"x":823.892822265625},"unique_id":"IzA4BGpoVE1u_u0l8feG0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-E-9","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"T053-9J1I-OPJT-ULJB","door_data":[{"model_hash":-1920147247,"door_coords":{"z":26.49904441833496,"y":-1376.1114501953126,"x":818.9462280273438},"unique_id":"2H0ckeU-aqMdgO75UZAP4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-E-10","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1SBD-3126-7DES-GTQ9","door_data":[{"model_hash":1890297615,"door_coords":{"z":27.78296089172363,"y":-1362.327392578125,"x":876.484130859375},"unique_id":"FsHIBKhl1z-kFoJN-gLL5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-E-11","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E567-2V5Z-832F-LIRL","door_data":[{"model_hash":-1498975473,"door_coords":{"z":26.47219085693359,"y":-1336.844970703125,"x":865.5462036132813},"unique_id":"Wo9qSQcJDvGE0lErfC3Zi"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-1-6","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9BDK-ZK3R-4RMJ-FTBP","door_data":[{"model_hash":-1498975473,"door_coords":{"z":26.48830413818359,"y":-1336.5875244140626,"x":869.1976928710938},"unique_id":"ydmW4ruytWxhM5s1-CUjB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-1-7","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CJCB-AYAZ-BLDJ-Z5TY","door_data":[{"model_hash":263193286,"door_coords":{"z":26.48928070068359,"y":-1335.4268798828126,"x":876.7420654296875},"unique_id":"_Bj0NS7AZv1bvlkZ2Yc26"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-G-5","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BCDU-FDIR-97JF-KZBV","door_data":[{"model_hash":312268926,"door_coords":{"z":27.77894592285156,"y":-1357.7913818359376,"x":865.620361328125},"unique_id":"z-lWr0mmmqs-Cm9vVljfA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-G-6","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L3MV-UV99-UB6A-A0QV","door_data":[{"model_hash":312268926,"door_coords":{"z":27.77894592285156,"y":-1350.2237548828126,"x":865.620361328125},"unique_id":"QjLFXhwXtl9IarC4MC7zW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 1-G-7","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SDU4-3Q5U-S5C5-334R","door_data":[{"model_hash":312268926,"door_coords":{"z":27.77894592285156,"y":-1342.6832275390626,"x":865.620361328125},"unique_id":"VPy8LYQgXXsASj3bibRh4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"San Andreas Highway Patrol 2-E-1","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C9KT-XBQC-WX97-8314","door_data":[{"model_hash":1500778245,"door_coords":{"z":77.86890411376953,"y":792.3108520507813,"x":1532.7564697265626},"unique_id":"OOrVFjo_8hNhLA3XQJJ2J"},{"model_hash":-1648968777,"door_coords":{"z":78.06317901611328,"y":793.4698486328125,"x":1530.5992431640626},"unique_id":"qvoFwUqOnraov9z4V6VEF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-G-1","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YIHE-R80W-ZL5K-VRMF","door_data":[{"model_hash":-296465450,"door_coords":{"z":72.92054748535156,"y":788.8172607421875,"x":1549.808837890625},"unique_id":"ZlvgSHXmx0NKZ3GUyTq0O"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-G-2","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HP9V-Y2VL-HKV1-3JH1","door_data":[{"model_hash":-296465450,"door_coords":{"z":72.92054748535156,"y":808.8342895507813,"x":1561.37646484375},"unique_id":"vbYdsZrtFn8-FwouTsSfs"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"San Andreas Highway Patrol 2-0-1","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JC8N-RVCS-3VF2-O0RB","door_data":[{"model_hash":-401689590,"door_coords":{"z":72.30812072753906,"y":805.0684204101563,"x":1533.6365966796876},"unique_id":"QYMJUQbozMF1HilZsttcY"},{"model_hash":-401689590,"door_coords":{"z":72.30812072753906,"y":807.7730102539063,"x":1535.137451171875},"unique_id":"Od8gcQnErQwCNERndxsFL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-3","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6K2R-91FD-XTBM-SR3B","door_data":[{"model_hash":-512052251,"door_coords":{"z":72.25920104980469,"y":807.1671142578125,"x":1526.1202392578126},"unique_id":"3BuC_g6k0WQ2hso1YnBHs"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-2","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"R8ME-HX1C-TKAY-H4QU","door_data":[{"model_hash":-548154470,"door_coords":{"z":72.19381713867188,"y":810.2669677734375,"x":1531.519287109375},"unique_id":"TNs9ck3KnYdSG7AhJ_wMc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-5","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"69A9-0PV1-GQVK-8VWK","door_data":[{"model_hash":581799596,"door_coords":{"z":72.30364990234375,"y":813.6651611328125,"x":1525.3946533203126},"unique_id":"mKgk-w-QTVYV3L376ehoQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-4","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y9UR-CB95-QV28-2BRV","door_data":[{"model_hash":-548154470,"door_coords":{"z":72.19068908691406,"y":814.4617919921875,"x":1531.1766357421876},"unique_id":"Tap5ChdRR3is4fzWHvJN3"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-6","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"93K3-AWBC-OORE-1I81","door_data":[{"model_hash":-2023754432,"door_coords":{"z":71.84432983398438,"y":803.4884643554688,"x":1521.0577392578126},"unique_id":"39ah_WCOhXfPXA2Ysk5BH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-7","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XCHL-KD6L-5LBG-7G3W","door_data":[{"model_hash":-2023754432,"door_coords":{"z":71.84080505371094,"y":805.3341064453125,"x":1517.7532958984376},"unique_id":"QxAnFxCcZOBvC1v4I2AN8"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-8","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"119J-Q5ES-72M3-GFZ5","door_data":[{"model_hash":-534808108,"door_coords":{"z":72.30039978027344,"y":794.9329833984375,"x":1523.01513671875},"unique_id":"CzbzGb-A-i91701ikJB3g"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-9","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LRWE-7DOU-MD0S-R0LS","door_data":[{"model_hash":581799596,"door_coords":{"z":72.14691925048828,"y":792.2265014648438,"x":1523.0142822265626},"unique_id":"q4a2qf7cYEuUKvrPJwDAL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-10","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q9FL-BJ35-HX11-AC8C","door_data":[{"model_hash":581799596,"door_coords":{"z":72.14692687988281,"y":788.6735229492188,"x":1524.0018310546876},"unique_id":"WJluwYr1o8sTPxdmGCMAG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-11","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E2K9-FYMV-64O6-9ZW2","door_data":[{"model_hash":581799596,"door_coords":{"z":72.14692687988281,"y":785.0096435546875,"x":1521.95556640625},"unique_id":"toBNeOu7KnIsEYNCVAWay"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-0-12","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6KKS-4SSF-AFQ8-BA5Q","door_data":[{"model_hash":581799596,"door_coords":{"z":72.14691925048828,"y":783.2202758789063,"x":1518.0802001953126},"unique_id":"uzwRouYhOGMU6osWofviX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-1-1","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ECR4-I4F3-BJ16-CYSJ","door_data":[{"model_hash":-548154470,"door_coords":{"z":77.6618423461914,"y":802.8430786132813,"x":1541.5390625},"unique_id":"d-bUM5pTBBH7eEXBfJFNi"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-1-2","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RHY4-TW2E-IU27-3OZK","door_data":[{"model_hash":-534808108,"door_coords":{"z":77.77684783935547,"y":806.5121459960938,"x":1530.017822265625},"unique_id":"1halgNebEjBDLV4ehCVsD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-1-3","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"822U-VN6V-1JKC-T85X","door_data":[{"model_hash":-548154470,"door_coords":{"z":77.66773986816406,"y":811.0001220703125,"x":1532.2862548828126},"unique_id":"MY2SBe7IToMGAQCgqlj6n"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-1-4","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EZNH-X6XM-FD4G-HU0X","door_data":[{"model_hash":-2096870465,"door_coords":{"z":77.7922134399414,"y":819.5217895507813,"x":1542.8701171875},"unique_id":"XWZJFgtzDbUTiOKXTueh7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-1-5","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"50R7-73LN-IMTZ-AFWF","door_data":[{"model_hash":-2096870465,"door_coords":{"z":77.79379272460938,"y":811.2747192382813,"x":1542.98681640625},"unique_id":"QmbhA5Ayi9zvHW6CLORok"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-E-2","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z09A-FUGV-OFIY-X6RQ","door_data":[{"model_hash":-1496111416,"door_coords":{"z":77.79412078857422,"y":809.9004516601563,"x":1555.254150390625},"unique_id":"as8yAlu-gyPDKc0kVaVJu"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"San Andreas Highway Patrol 2-2-1","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6RZP-EJGI-6T4F-QBTG","door_data":[{"model_hash":1058603288,"door_coords":{"z":82.95600891113281,"y":810.2194213867188,"x":1549.8878173828126},"unique_id":"myeEEVR3xjNdhbHYe9SKh"},{"model_hash":1058603288,"door_coords":{"z":82.95600891113281,"y":811.1202392578125,"x":1548.146728515625},"unique_id":"8ValYBvPYaKnyjHctKsS0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-2-2","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RZTN-BMVU-UIC8-KCJR","door_data":[{"model_hash":-337791066,"door_coords":{"z":82.83599090576172,"y":807.805908203125,"x":1549.170166015625},"unique_id":"lR-QmxHbn4FeoDpQH28yM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-2-3","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"20CD-4YVP-D2FJ-Z339","door_data":[{"model_hash":-534808108,"door_coords":{"z":82.81706237792969,"y":792.7098388671875,"x":1535.847900390625},"unique_id":"Uht5PreRQdcH4TXRBgacS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-E-3","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WJY8-WT9R-62HZ-FSA4","door_data":[{"model_hash":-1496111416,"door_coords":{"z":82.84638977050781,"y":818.7572021484375,"x":1533.561767578125},"unique_id":"y8-2jRbGl94IewjVqvUl-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"San Andreas Highway Patrol 2-E-4","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5G1J-A52L-Q6EJ-6Z4M","door_data":[{"model_hash":-769163936,"door_coords":{"z":87.47496795654297,"y":808.533447265625,"x":1529.9329833984376},"unique_id":"aTskgJKaFzxoUvUnTq4yT"},{"model_hash":588988478,"door_coords":{"z":87.27915954589844,"y":806.2354125976563,"x":1528.7034912109376},"unique_id":"JVe1VHgYs-Icc57dZlH-F"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"San Andreas Highway Patrol 2-E-5","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"101K-G9C8-ZW7H-K334","door_data":[{"model_hash":-769163936,"door_coords":{"z":87.47503662109375,"y":797.2846069335938,"x":1544.7779541015626},"unique_id":"2f5vUaxYj1FAwDUEzwBBz"},{"model_hash":588988478,"door_coords":{"z":87.27923583984375,"y":799.5791625976563,"x":1546.00732421875},"unique_id":"wOm0mDRTYrNFmx0fQfFKZ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-G-3","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PRZP-UW4X-8VW1-NZ69","door_data":[{"model_hash":-1883393727,"door_coords":{"z":78.27686309814453,"y":832.1038208007813,"x":1548.6038818359376},"unique_id":"EO-xCcH__hySAJyHmiWx0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-G-4","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"X272-YH7F-2USE-AUS3","door_data":[{"model_hash":-1883393727,"door_coords":{"z":78.27686309814453,"y":838.1289672851563,"x":1551.8739013671876},"unique_id":"JBvpKMfEK3QjXv68vn-mm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"San Andreas Highway Patrol 2-G-5","location_group":"SA Highway Patrol","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7VXV-I983-8PYE-5J03","door_data":[{"model_hash":-810254778,"door_coords":{"z":76.65892028808594,"y":855.074462890625,"x":1564.72607421875},"unique_id":"CVgUpRzQuN6F3aWQiAQ6W"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_SA_Highway_Patrol.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Airport.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Airport.json
new file mode 100644
index 000000000..49a2d5e58
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Airport.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Airport E-1","location_group":"Sandy Airport","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3CDY-XCW8-FT5B-8O7Z","door_data":[{"model_hash":-1724308956,"door_coords":{"z":41.68905258178711,"y":3300.292236328125,"x":1695.1978759765626},"unique_id":"rFWQGna99XK4zp5flFM3T"},{"model_hash":-1724308956,"door_coords":{"z":41.68905258178711,"y":3302.752197265625,"x":1694.538818359375},"unique_id":"3f1hb4yO6xjC19uNoRMDB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 1-1","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MLHC-SGOC-DXA8-SSL8","door_data":[{"model_hash":1562995625,"door_coords":{"z":41.71824645996094,"y":3307.389404296875,"x":1703.8314208984376},"unique_id":"xuIydKJYphCjSLyXIS0UK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 1-2","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"M0Y3-NZ0J-FEFZ-UPWS","door_data":[{"model_hash":1562995625,"door_coords":{"z":41.71824645996094,"y":3309.833984375,"x":1703.1763916015626},"unique_id":"CIpHYMzDp4QWp37n0zG8K"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 1-3","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OY2K-ZCQP-DGEA-5FVM","door_data":[{"model_hash":1562995625,"door_coords":{"z":41.71824645996094,"y":3312.271728515625,"x":1702.5233154296876},"unique_id":"LqKO_s7X3kt59hJbZQldm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 1-4","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YKON-MFDH-K071-SZN3","door_data":[{"model_hash":-1184592117,"door_coords":{"z":41.81744384765625,"y":3293.64697265625,"x":1699.7757568359376},"unique_id":"RJQ2CvNdDIfXr4AJHSkSF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 1-5","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AKAL-21XF-UO5A-B20X","door_data":[{"model_hash":-1259801187,"door_coords":{"z":41.63738250732422,"y":3291.8671875,"x":1700.4830322265626},"unique_id":"8xjiBV5Vh4FN-6C-qyTxW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 1-6","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IRJ2-QLOH-6Z8Z-KR3M","door_data":[{"model_hash":-1184592117,"door_coords":{"z":41.82458877563476,"y":3290.73486328125,"x":1702.856689453125},"unique_id":"poHqk8H27m0FfVsTESKie"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 1-7","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SRIF-7IZE-H5HU-F9S6","door_data":[{"model_hash":1167251902,"door_coords":{"z":41.71150207519531,"y":3289.259033203125,"x":1706.36669921875},"unique_id":"kxeMX7QYUosWnqSXZ7SK3"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 1-8","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H2L3-THNT-EPOG-HXWZ","door_data":[{"model_hash":-1184592117,"door_coords":{"z":41.8117790222168,"y":3288.216552734375,"x":1703.14501953125},"unique_id":"55tbwnwR6oKCj7_2ikaDn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport E-2","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OMJ2-IIET-8PQM-ENQH","door_data":[{"model_hash":-341973294,"door_coords":{"z":41.69929885864258,"y":3285.532958984375,"x":1704.1488037109376},"unique_id":"pmIhsB4riXQVwkBF7tEtN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 2-1","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y3QO-U645-ZM9B-IT9O","door_data":[{"model_hash":-1230442770,"door_coords":{"z":44.85938262939453,"y":3294.537841796875,"x":1705.66162109375},"unique_id":"ifkhfWpxiNzqmqbub0qel"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 2-2","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VNT2-Y7NT-RAA3-XT1C","door_data":[{"model_hash":-1821777087,"door_coords":{"z":44.84265518188476,"y":3294.940673828125,"x":1699.6700439453126},"unique_id":"RBo7ejKlImcIrC0MBNF3Q"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 2-3","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KIQT-SPYW-XQJZ-VGNH","door_data":[{"model_hash":-1821777087,"door_coords":{"z":44.85874557495117,"y":3298.036376953125,"x":1698.82568359375},"unique_id":"smsb8xAmLjNRP9zQT_YLW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 2-4","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WTM8-QXYT-N3KI-FQW0","door_data":[{"model_hash":-522504255,"door_coords":{"z":44.85702514648437,"y":3300.3994140625,"x":1701.247314453125},"unique_id":"e3mMLAH3JF_9rjZ0aJzkK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 2-5","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6K36-559U-LRLD-0HB9","door_data":[{"model_hash":-1821777087,"door_coords":{"z":44.84265518188476,"y":3306.3876953125,"x":1696.602783203125},"unique_id":"IhEDOjGVcWC2bzBO1Qsvt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Airport 2-6","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3NEK-WKXP-1YEK-FRG0","door_data":[{"model_hash":-658747851,"door_coords":{"z":44.86448669433594,"y":3307.409423828125,"x":1699.327392578125},"unique_id":"bW16vJIV1Jn1gsBssjqeK"},{"model_hash":1335311341,"door_coords":{"z":44.86448669433594,"y":3309.9189453125,"x":1698.6534423828126},"unique_id":"YQs2v7JuWNY--ZNRlrLf8"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport E-3","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0522-IWJS-5XJT-BE4G","door_data":[{"model_hash":-1775213343,"door_coords":{"z":47.6656608581543,"y":3306.9296875,"x":1699.5006103515626},"unique_id":"BNv1dTOQYcIHDqq6IqntB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport E-4","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"I27X-C7YN-JXX5-B13Y","door_data":[{"model_hash":-1775213343,"door_coords":{"z":47.73307418823242,"y":3293.650634765625,"x":1702.2371826171876},"unique_id":"Ex9IshzaP7Vj6KbZQtbrw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 2-1-1","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NL3U-M81R-C80V-69NU","door_data":[{"model_hash":270965283,"door_coords":{"z":41.46370315551758,"y":3330.191162109375,"x":1732.7806396484376},"unique_id":"qmpy4Bjp6frgJna6fq_0m"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 2-E-1","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MJOP-F4YE-U4L9-5E1B","door_data":[{"model_hash":-517802710,"door_coords":{"z":41.4677505493164,"y":3324.587158203125,"x":1730.24609375},"unique_id":"Op81iPZ99_rhjIyNmQp9N"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 3-G-1","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0RYO-5VEO-N0UQ-TWX1","door_data":[{"model_hash":22664328,"door_coords":{"z":43.13911819458008,"y":3339.6728515625,"x":1656.3760986328126},"unique_id":"cJbMy3SJQlYe-nwjQ4h_R"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 3-G-2","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KQKI-GAX8-423G-LAHY","door_data":[{"model_hash":22664328,"door_coords":{"z":43.13911819458008,"y":3338.2861328125,"x":1651.2008056640626},"unique_id":"RnUrKyqEiC5-U3xTfJF5c"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 3-G-3","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BB57-X8XX-4YGP-0AH5","door_data":[{"model_hash":22664328,"door_coords":{"z":43.13911819458008,"y":3336.900146484375,"x":1646.0286865234376},"unique_id":"qmMG9IbVCHgupHxuuduu-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 3-G-4","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NC7Q-N3ZS-0X3C-CHET","door_data":[{"model_hash":22664328,"door_coords":{"z":43.13911819458008,"y":3335.50634765625,"x":1640.8265380859376},"unique_id":"na5tq-7yNfwrjNgTJj0AZ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 3-E-1","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"18XG-0Y7G-TFNF-D47A","door_data":[{"model_hash":464151082,"door_coords":{"z":42.50802230834961,"y":3329.55517578125,"x":1631.7677001953126},"unique_id":"ScRUPG59JzPEkeLvZHDz5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 3-E-2","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YAQV-ORG6-7P5W-B4BS","door_data":[{"model_hash":452874391,"door_coords":{"z":44.48569869995117,"y":3350.65185546875,"x":1663.3388671875},"unique_id":"O8GA3DzW2D8W7_RaJNbMC"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 3-1-1","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4IEI-PGLO-SK99-3165","door_data":[{"model_hash":452874391,"door_coords":{"z":44.48304748535156,"y":3350.12060546875,"x":1659.107666015625},"unique_id":"FskPVBIqFWFF2n8PvHs44"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Airport 3-1-2","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"X1ST-MPC2-GQ7G-Y51E","door_data":[{"model_hash":452874391,"door_coords":{"z":42.13880157470703,"y":3341.044921875,"x":1634.9259033203126},"unique_id":"0gPQYo4vYujLcN50F-D04"},{"model_hash":452874391,"door_coords":{"z":42.13880157470703,"y":3338.53076171875,"x":1635.5994873046876},"unique_id":"7Zg5WE_ehx89ENM52unwe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Airport 3-1-4","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LIJD-EX61-91NN-Y0T3","door_data":[{"model_hash":452874391,"door_coords":{"z":42.14106369018555,"y":3332.5048828125,"x":1630.1126708984376},"unique_id":"GpyznoUIOaImMu-Iw7N0A"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Airport 3-1-5","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1DPZ-SUS5-7D69-B8CO","door_data":[{"model_hash":-1421582160,"door_coords":{"z":42.12973022460937,"y":3336.689697265625,"x":1631.0718994140626},"unique_id":"xVpNgcCkVF-eprvtOHPNv"},{"model_hash":1248599813,"door_coords":{"z":42.12973022460937,"y":3337.3681640625,"x":1633.5841064453126},"unique_id":"46W79ZKdU4esQV-z37skn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Airport 3-1-6","location_group":"Sandy Airport","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GEH2-6FXW-T8PT-UW8X","door_data":[{"model_hash":270965283,"door_coords":{"z":42.13223266601562,"y":3341.070556640625,"x":1632.5853271484376},"unique_id":"JnsLyRv0WRz-kviVgteli"},{"model_hash":270965283,"door_coords":{"z":42.13223266601562,"y":3340.3994140625,"x":1630.0806884765626},"unique_id":"1V_J3if6K8xmSnk21UhcN"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Airport.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Bank.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Bank.json
new file mode 100644
index 000000000..6eb5329a9
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Bank.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Bank 1-1","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6Y2E-JEWB-P08V-FIOI","door_data":[{"model_hash":-30651409,"door_coords":{"z":36.28575134277344,"y":3860.489501953125,"x":1852.1131591796876},"unique_id":"sAGtFfFrARKAG8m2SfcuQ"},{"model_hash":-30651409,"door_coords":{"z":36.28575134277344,"y":3862.945068359375,"x":1850.9339599609376},"unique_id":"3MtThs0vlpSPHI2p2XwDF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 1-2","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7ETD-9B6E-F7C7-KNP2","door_data":[{"model_hash":2067875351,"door_coords":{"z":36.00296783447265,"y":3852.276123046875,"x":1852.8316650390626},"unique_id":"pObbaP6c0A-9JzqnZ_exm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 1-3","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"528L-VW2C-3YTL-ZXJ1","door_data":[{"model_hash":2067875351,"door_coords":{"z":36.00296783447265,"y":3846.30908203125,"x":1838.5985107421876},"unique_id":"aLWHbelkzCieOc_4pFaFj"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 1-4","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AUCD-MEG9-JV90-DGGG","door_data":[{"model_hash":2067875351,"door_coords":{"z":35.99913787841797,"y":3856.920166015625,"x":1819.7872314453128},"unique_id":"TQvYS3J1tYUiTiaG_-B4b"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 1-5","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VB23-WCZ4-A7LS-YVEU","door_data":[{"model_hash":2067875351,"door_coords":{"z":36.00296783447265,"y":3860.265869140625,"x":1831.896240234375},"unique_id":"D8ZSiX-aNtiKhuDahWKoG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 2-1","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3T97-1WHT-CAIW-SDDQ","door_data":[{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3852.16796875,"x":1852.8836669921876},"unique_id":"YQHbR8-azyRLkTFaxnOlg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 2-2","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NAGS-XHTL-LB8P-2U44","door_data":[{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3844.16259765625,"x":1836.21240234375},"unique_id":"e5zM7S3Fm42ojZsX9Bxza"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 2-3","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B5VX-417H-FVRB-E172","door_data":[{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3842.498291015625,"x":1826.712646484375},"unique_id":"YZ-CqmK272u7T-wHA46jk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 2-4","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DH4W-BJDY-BIFR-WO6H","door_data":[{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3845.0693359375,"x":1824.2440185546876},"unique_id":"Hf5bZDiQzeSwhGcBzxPce"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Bank 2-5","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"M68K-EQD1-82X1-I3GU","door_data":[{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3847.376220703125,"x":1824.370361328125},"unique_id":"SExUw6V_czZik9QG98cmr"},{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3849.492431640625,"x":1823.35400390625},"unique_id":"QwauKmNiHq9uVPi-1geA-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 2-6","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"48JQ-BPE3-43X3-L5CK","door_data":[{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3855.29736328125,"x":1819.3326416015626},"unique_id":"VTg3Qfk_NCUJ5fV_77jos"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 2-7","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IXFY-B3MS-3R7N-J8PW","door_data":[{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3858.718994140625,"x":1818.923583984375},"unique_id":"99tQTpal6kRhwbbEY3tx7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 2-8","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HMJF-KICV-I2YV-L55P","door_data":[{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3857.20654296875,"x":1820.884033203125},"unique_id":"5n7ShRTvhEIi3ZreqOttG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 2-9","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BEEZ-WG9E-3UQV-9BX3","door_data":[{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3860.31103515625,"x":1827.3489990234376},"unique_id":"B7L3uDuy0JrWA6Dt2rblc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 2-10","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q1NK-YF20-4RQB-YHLX","door_data":[{"model_hash":2067875351,"door_coords":{"z":41.00100708007812,"y":3868.240966796875,"x":1843.86328125},"unique_id":"J_UYEfvpfVtfv2NmbNZjw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 0-1","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OPVH-S8CY-106I-BPKU","door_data":[{"model_hash":2067875351,"door_coords":{"z":33.49150466918945,"y":3843.97216796875,"x":1821.70556640625},"unique_id":"rd-4wnwFCLcL8JzORKjip"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 0-2","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F2N6-34ZO-6SO9-XUHR","door_data":[{"model_hash":-1627599682,"door_coords":{"z":34.10546493530273,"y":3840.685302734375,"x":1819.6312255859376},"unique_id":"oApFq1jyiVsFy8OITFlw6"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank 0-3","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LO5L-5Z6H-SK8V-CYFM","door_data":[{"model_hash":961976194,"door_coords":{"z":31.96230697631836,"y":3859.997802734375,"x":1834.3983154296876},"unique_id":"NfDnMYpb3huL0QpoiC4DW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Bank G-1","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F6E5-MXPJ-88OO-BGMX","door_data":[{"model_hash":1939805166,"door_coords":{"z":33.15008544921875,"y":3840.458740234375,"x":1803.8599853515626},"unique_id":"tOxjH_zx37OvZrkOo6YBF"},{"model_hash":1939805166,"door_coords":{"z":32.93142700195312,"y":3829.610107421875,"x":1810.1234130859376},"unique_id":"bxKod1uvNzEw_YS_RlX-D"}],"distance":5,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Bank G-2","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1JKG-ANBE-ZBM1-KMTT","door_data":[{"model_hash":1526539404,"door_coords":{"z":34.35607528686523,"y":3840.33642578125,"x":1814.760498046875},"unique_id":"9xoxkkGyAOLWlkzMNyiLk"},{"model_hash":1526539404,"door_coords":{"z":34.3647346496582,"y":3836.700927734375,"x":1816.47412109375},"unique_id":"7Qzn_cCSbfcKQTC3nKY5p"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Bank G-3","location_group":"Sandy Bank","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KUB2-WKDN-BRFH-3HQJ","door_data":[{"model_hash":1526539404,"door_coords":{"z":34.36013793945312,"y":3842.127197265625,"x":1816.619384765625},"unique_id":"xKDVFb6UWHyD75fqtpkfT"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Bank.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Boat_House.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Boat_House.json
new file mode 100644
index 000000000..4177f190b
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Boat_House.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Boat House E-1","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AH8S-KHHR-29LR-PQU9","door_data":[{"model_hash":-1102142939,"door_coords":{"z":34.99489974975586,"y":3779.90966796875,"x":1530.4393310546876},"unique_id":"2OeE0YyiJZS76Jrf7pZ_-"},{"model_hash":-1102142939,"door_coords":{"z":34.99489974975586,"y":3778.298583984375,"x":1528.1531982421876},"unique_id":"noK-5xL-jMaRu4rHkG2vo"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Boat House E-2","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"I8GX-S93R-DS49-FXTL","door_data":[{"model_hash":-893114122,"door_coords":{"z":34.93637466430664,"y":3784.512451171875,"x":1515.5010986328126},"unique_id":"ov9-DTRbGlTfy0_6MLY2k"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Boat House E-3","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1R96-6JIR-V5SZ-85K8","door_data":[{"model_hash":-893114122,"door_coords":{"z":34.94539642333984,"y":3793.86328125,"x":1528.989990234375},"unique_id":"O_xaMvKV0HtcOUyOkn3aZ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Boat House E-4","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B2Q4-HU3Z-BX7O-5X3W","door_data":[{"model_hash":-502195954,"door_coords":{"z":34.57147979736328,"y":3800.39501953125,"x":1549.996337890625},"unique_id":"s-5ZHxuiGXQcNk5JS0UNA"},{"model_hash":-502195954,"door_coords":{"z":34.57147979736328,"y":3798.24951171875,"x":1551.152587890625},"unique_id":"833cHYx3nFywFyeJwsdmz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Boat House E-5","location_group":"Sandy Boat House","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KJTF-EDSW-CJ5Z-W1QS","door_data":[{"model_hash":-1454760130,"door_coords":{"z":38.4559326171875,"y":3790.969970703125,"x":1527.3138427734376},"unique_id":"ZpOJnGLKKUUkoukR36bRf"},{"model_hash":-1454760130,"door_coords":{"z":38.45648574829101,"y":3789.00439453125,"x":1528.3065185546876},"unique_id":"rIPMRgfBvFToRR0RABhZe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Boat House 1-1","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7BV9-UKAD-S9QZ-9JYN","door_data":[{"model_hash":1480370527,"door_coords":{"z":34.78372573852539,"y":3792.3935546875,"x":1535.8624267578126},"unique_id":"LHp5cigaHDUNABJ9L4y7u"},{"model_hash":1480370527,"door_coords":{"z":34.78372573852539,"y":3794.8779296875,"x":1534.558837890625},"unique_id":"uy_TjrDY7ZykIhXn5UTbQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Boat House 1-2","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"04H8-O9P5-SQ97-KFUH","door_data":[{"model_hash":-1498975473,"door_coords":{"z":34.65959167480469,"y":3796.369873046875,"x":1545.009521484375},"unique_id":"gJ9JXOt35vGfaN4fbQV9p"},{"model_hash":-1498975473,"door_coords":{"z":34.65959167480469,"y":3798.70751953125,"x":1543.869384765625},"unique_id":"60zkO7RS3MeTysbt4cOi3"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Boat House 1-3","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WA1Q-06MA-7KUT-SWDB","door_data":[{"model_hash":827574885,"door_coords":{"z":34.73612213134765,"y":3791.329833984375,"x":1525.9193115234376},"unique_id":"SdFlKC-tXgbIsBrufWxCR"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Boat House 2-1","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E9TK-UBG9-CVC6-BDM0","door_data":[{"model_hash":1044811355,"door_coords":{"z":37.25511932373047,"y":3792.52685546875,"x":1522.598388671875},"unique_id":"iZO6ccQEPXI0LGBrUx-dP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Boat House 2-2","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2JKJ-C1WG-BVLH-YAZ4","door_data":[{"model_hash":-2030220382,"door_coords":{"z":38.34967041015625,"y":3790.938232421875,"x":1518.04296875},"unique_id":"PWY4pwty_9cgqz9bXacrv"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Boat House 2-3","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8Z4L-5VZ5-OHFI-UEBY","door_data":[{"model_hash":-2030220382,"door_coords":{"z":38.34419631958008,"y":3788.14453125,"x":1519.9874267578126},"unique_id":"CU4D6fqpUBHjPC5j1uG_9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Boat House 2-4","location_group":"Sandy Boat House","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1DAM-MH22-2CI8-PGLZ","door_data":[{"model_hash":827574885,"door_coords":{"z":38.43782424926758,"y":3781.9111328125,"x":1517.829345703125},"unique_id":"H2ViKh8Dqa3q5oZSVoMsL"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Boat_House.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Car_Dealership.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Car_Dealership.json
new file mode 100644
index 000000000..838aa3fc2
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Car_Dealership.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Classic Cars Door 1044","location_group":"Sandy Car Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0TN6-YKQG-41JX-V775","door_data":[{"model_hash":"int_cars_staff_door_02","door_coords":{"z":-1.1127398,"y":8.02756,"x":-5.83804},"unique_id":"xKCMU-5wiPnueX4IVHrv1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Classic Cars Door 1045","location_group":"Sandy Car Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"210X-3Q2B-VTGE-6T2W","door_data":[{"model_hash":"int_cars_staff_door_02","door_coords":{"z":-1.09695435,"y":-0.47020632,"x":9.801943},"unique_id":"G_Fc0-oqUXV-qmIZpgGJu"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Classic Cars Door 1046","location_group":"Sandy Car Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9QNU-G0CE-6XEX-P3F7","door_data":[{"model_hash":"int_cars_staff_door_01","door_coords":{"z":-1.09695,"y":12.1200924,"x":-0.7217621},"unique_id":"mYwEktnRzByxyRrvSU5iY"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Classic Cars Door 1047","location_group":"Sandy Car Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q20C-Q2UZ-JVSP-2P47","door_data":[{"model_hash":"v_ilev_ss_door04","door_coords":{"z":-1.09695435,"y":8.911865,"x":4.86157227},"unique_id":"3PTRE0asxXY47zzsVVbVU"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Classic Cars Door 1048","location_group":"Sandy Car Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GWTY-G377-UY07-BICF","door_data":[{"model_hash":"v_ilev_cs_door","door_coords":{"z":-1.09695435,"y":13.1777344,"x":4.306383},"unique_id":"2062BMQITcT8Qhp6epEOj"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Classic Cars Door 1049","location_group":"Sandy Car Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"I197-9LSL-6FFA-VBNC","door_data":[{"model_hash":"int_cars_staff_door_01","door_coords":{"z":-1.09695,"y":6.80915,"x":8.060387},"unique_id":"lnpTpj5TBgdGhfropMdx4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Classic Cars Door 1050","location_group":"Sandy Car Dealership","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"34BO-I75N-KEPG-2DLJ","door_data":[{"model_hash":"int_cars_gardoor","door_coords":{"z":-0.757312834,"y":-2.74345684,"x":-2.743375},"unique_id":"YpOXSsFG0uAJ_eoTGtEXn"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Car_Dealership.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Church.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Church.json
new file mode 100644
index 000000000..3659dd1cc
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Church.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Church E-1","location_group":"Sandy Church","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5VOG-JA8T-PKJ5-UVXU","door_data":[{"model_hash":1499410363,"door_coords":{"z":35.19813919067383,"y":3897.19970703125,"x":1786.1871337890626},"unique_id":"dsJFoNsIvPYXe27P-lFw7"},{"model_hash":1732635280,"door_coords":{"z":35.19813919067383,"y":3899.037353515625,"x":1785.5010986328126},"unique_id":"8tfRCHkRHFTXPSM6zsnLg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Church E-2","location_group":"Sandy Church","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"327F-PCL4-RCMR-BJDY","door_data":[{"model_hash":1499410363,"door_coords":{"z":35.19813919067383,"y":3900.172119140625,"x":1785.1024169921876},"unique_id":"Bql_BQ-exZo7290NMz8Ft"},{"model_hash":1732635280,"door_coords":{"z":35.19813919067383,"y":3902.009765625,"x":1784.41650390625},"unique_id":"ADfjt54JpnFcmAVo1ezse"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Church E-3","location_group":"Sandy Church","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5BN6-HI4B-QEY2-3A5M","door_data":[{"model_hash":1499410363,"door_coords":{"z":35.19813919067383,"y":3903.19384765625,"x":1784.0037841796876},"unique_id":"g0mxXmDb9l3xANxnPb719"},{"model_hash":1732635280,"door_coords":{"z":35.19813919067383,"y":3905.03125,"x":1783.3177490234376},"unique_id":"PngHi-IQIHX6LEr40KD9g"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Church E-4","location_group":"Sandy Church","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6VJZ-F8M7-CEXI-RN5H","door_data":[{"model_hash":512557835,"door_coords":{"z":34.9409294128418,"y":3918.51123046875,"x":1802.9735107421876},"unique_id":"hLXRddTYAcqDRSs5VIXBN"},{"model_hash":-29757852,"door_coords":{"z":34.9409294128418,"y":3919.447265625,"x":1805.479736328125},"unique_id":"Seb4_NNU4OLHW3z8EZytT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Church E-5","location_group":"Sandy Church","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NHQI-RUHZ-AHTE-J09R","door_data":[{"model_hash":-251858016,"door_coords":{"z":33.89401245117187,"y":3926.236328125,"x":1825.4625244140626},"unique_id":"Oi-te567pw9EE_07HkJDV"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Church.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_City_Hall.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_City_Hall.json
new file mode 100644
index 000000000..1a49d7345
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_City_Hall.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy City Hall E-1","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GNOE-IZT4-GR9B-2ZWM","door_data":[{"model_hash":-2023167872,"door_coords":{"z":35.55295944213867,"y":3801.838134765625,"x":1750.66748046875},"unique_id":"VVj_9GVOxr6TcBvO-6kUO"},{"model_hash":-1712058986,"door_coords":{"z":35.55295944213867,"y":3803.30810546875,"x":1749.7076416015626},"unique_id":"F8N8avpIahgjlBNpedtSB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy City Hall E-2","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VRHK-RINR-JDXT-XK1X","door_data":[{"model_hash":-2023167872,"door_coords":{"z":35.56166839599609,"y":3817.51025390625,"x":1771.1002197265626},"unique_id":"Z-Ozcb-Mc82ppcQGmYdC2"},{"model_hash":-1712058986,"door_coords":{"z":35.56166839599609,"y":3816.040283203125,"x":1772.06005859375},"unique_id":"d0WozIzF-kadQAbbHp8ws"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy City Hall E-3","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8GJ9-ZSWX-YO90-M8H9","door_data":[{"model_hash":1443374866,"door_coords":{"z":43.48043823242187,"y":3817.283447265625,"x":1769.597900390625},"unique_id":"N-6L244PBu4JbJgUr47s1"},{"model_hash":834428539,"door_coords":{"z":43.48043823242187,"y":3815.7275390625,"x":1770.6138916015626},"unique_id":"4EoyuxOKbQSeXGUQGzJRz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy City Hall E-4","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LKSE-ASY2-GSBP-MGJS","door_data":[{"model_hash":-2023167872,"door_coords":{"z":46.58335876464844,"y":3802.109375,"x":1757.1083984375},"unique_id":"3TdGrOyVhA9US3V3OF1Si"},{"model_hash":-1712058986,"door_coords":{"z":46.58335876464844,"y":3800.639404296875,"x":1758.068359375},"unique_id":"z1rZ8ZlF4N8lG1iUN5FGF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 1-1","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KC8Z-6FIB-OCFF-3RRG","door_data":[{"model_hash":1053379387,"door_coords":{"z":35.72456741333008,"y":3801.625,"x":1757.737060546875},"unique_id":"qb9eM30zUpaIf53jdUJH4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 1-2","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZSXU-J0RL-QRQS-GHB5","door_data":[{"model_hash":1053379387,"door_coords":{"z":35.72349548339844,"y":3809.44384765625,"x":1748.8878173828126},"unique_id":"2Y0bQ52PQljoXJN0fQsRa"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 1-3","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WINQ-WUOC-TQ15-1IUA","door_data":[{"model_hash":1053379387,"door_coords":{"z":35.7244644165039,"y":3810.19873046875,"x":1751.8167724609376},"unique_id":"q_PK3nDfrjFbm6Z4s3iN2"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy City Hall 1-4","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FHJJ-7QWS-H46J-VGJ4","door_data":[{"model_hash":1053379387,"door_coords":{"z":35.72996520996094,"y":3811.75048828125,"x":1770.079345703125},"unique_id":"2t_I5xFb9JAGssKe6gfDp"},{"model_hash":1053379387,"door_coords":{"z":35.72918701171875,"y":3810.49609375,"x":1768.1585693359376},"unique_id":"ol3gPmVZX9sFSi3pHl1Vm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 2-1","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IN1Z-1Y0Q-MGRG-UQN1","door_data":[{"model_hash":1053379387,"door_coords":{"z":40.22330856323242,"y":3803.31201171875,"x":1753.16748046875},"unique_id":"PyHYzjoPESNs7u28xo5Ho"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 2-2","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"URB9-WXGV-7F4N-GOQM","door_data":[{"model_hash":1053379387,"door_coords":{"z":40.2269401550293,"y":3808.486083984375,"x":1762.56201171875},"unique_id":"Ux9bkbmOyts0OZ7SORxM9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 2-3","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MP2L-FDPG-XP51-7BBS","door_data":[{"model_hash":1053379387,"door_coords":{"z":40.22693634033203,"y":3812.4404296875,"x":1759.979736328125},"unique_id":"KCZTKmcNNgGV6tLdFMLNE"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy City Hall 2-4","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BGKY-B0B0-ZRVA-9YPT","door_data":[{"model_hash":1053379387,"door_coords":{"z":40.22930908203125,"y":3810.90380859375,"x":1769.3228759765626},"unique_id":"qTFdHBxO__ILk9pnjIXI0"},{"model_hash":1053379387,"door_coords":{"z":40.22853088378906,"y":3809.6494140625,"x":1767.402099609375},"unique_id":"hYfOCdnfOzf_8GZI1TMSD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 3-1","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BZXJ-OYMW-VVQO-531N","door_data":[{"model_hash":1053379387,"door_coords":{"z":43.47457885742187,"y":3810.52734375,"x":1753.39404296875},"unique_id":"x4yS0N1r4MxvqSerZvL3m"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 3-2","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DO05-WBXP-WC6R-65J3","door_data":[{"model_hash":1053379387,"door_coords":{"z":43.47341156005859,"y":3804.685546875,"x":1753.0794677734376},"unique_id":"hOfqt6ufPdL9bya20TkQB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy City Hall 3-3","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V746-QASG-PLQA-X4U4","door_data":[{"model_hash":1053379387,"door_coords":{"z":43.47457885742187,"y":3801.19580078125,"x":1759.4586181640626},"unique_id":"d5Z2-Mz_U-qMbuWirx_3e"},{"model_hash":1053379387,"door_coords":{"z":43.47457885742187,"y":3803.116455078125,"x":1758.204345703125},"unique_id":"YzNU-8WAb1FfrMG38vB1j"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 3-4","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LO1X-E7JI-DQ7Y-FJJK","door_data":[{"model_hash":1053379387,"door_coords":{"z":43.47751998901367,"y":3810.0908203125,"x":1764.017333984375},"unique_id":"19sAI-FSBjrNueBBYx_Pw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 3-5","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KAOF-6L8C-YEFC-2GC0","door_data":[{"model_hash":1053379387,"door_coords":{"z":43.4782485961914,"y":3816.012451171875,"x":1762.7135009765626},"unique_id":"bRcP613OPjA_UDy7t6xsg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy City Hall 3-6","location_group":"Sandy City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y8PE-DG38-GDLP-S0IX","door_data":[{"model_hash":1053379387,"door_coords":{"z":43.47909545898437,"y":3810.7685546875,"x":1769.10888671875},"unique_id":"ikXRAoegQZWyfUDyaiTIX"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_City_Hall.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Fire_Department.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Fire_Department.json
new file mode 100644
index 000000000..147387f13
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Fire_Department.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department G-1","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NXMH-LLFB-F9BE-00C8","door_data":[{"model_hash":273713517,"door_coords":{"z":36.97651290893555,"y":3587.66357421875,"x":1707.2415771484376},"unique_id":"zy7zKSTkLhK9AFvqiBGOL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department G-2","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BTIL-ARD2-8R5H-DX2N","door_data":[{"model_hash":273713517,"door_coords":{"z":36.97651290893555,"y":3584.89111328125,"x":1702.439453125},"unique_id":"rXCCYQwFBJz47D-DzlTaU"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department G-3","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5EA6-46IR-RTYN-IOSX","door_data":[{"model_hash":273713517,"door_coords":{"z":36.97651290893555,"y":3582.146484375,"x":1697.6854248046876},"unique_id":"47458V_xfiMb54uIEyf5Q"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department G-4","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"INAK-JG4G-C2ZE-90VZ","door_data":[{"model_hash":273713517,"door_coords":{"z":36.97651290893555,"y":3579.36572265625,"x":1692.8687744140626},"unique_id":"h9nK9TnIyuEKQ8O3DWUTb"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Fire Department E-1","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"U3W5-CQV3-H7J6-D3PG","door_data":[{"model_hash":1770281453,"door_coords":{"z":35.78355407714844,"y":3576.4892578125,"x":1685.133544921875},"unique_id":"R8v5eIZBPBl1lq462xXQk"},{"model_hash":1770281453,"door_coords":{"z":35.78355407714844,"y":3575.170654296875,"x":1682.8966064453126},"unique_id":"gwpZHlOobGAZnWpJqKtU7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department E-2","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PNT7-Y7NI-PJSQ-HR4N","door_data":[{"model_hash":1770281453,"door_coords":{"z":35.78657913208008,"y":3589.48681640625,"x":1677.90771484375},"unique_id":"OGaqwPZAz4LRwtdTaWb7c"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department E-3","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"11UR-3SN1-GKKE-JOD3","door_data":[{"model_hash":1770281453,"door_coords":{"z":35.7896499633789,"y":3590.613037109375,"x":1685.20068359375},"unique_id":"KCAN3l3kQNeMkYry_9me2"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department E-4","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"W7PT-IERQ-1R72-RLBT","door_data":[{"model_hash":1770281453,"door_coords":{"z":38.58706283569336,"y":3585.237548828125,"x":1666.6214599609376},"unique_id":"TLPy9SaarU2a6gujco8sK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department E-5","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F8PC-NU1L-8THQ-Z2KU","door_data":[{"model_hash":1083279016,"door_coords":{"z":35.42639541625976,"y":3614.33203125,"x":1685.4002685546876},"unique_id":"0nkIB6Mr13kqt6MMccXWt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department 1-1","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AVM3-5L2T-HMUC-KB7B","door_data":[{"model_hash":-1289274673,"door_coords":{"z":35.84309387207031,"y":3579.39892578125,"x":1673.5196533203126},"unique_id":"yFGCuMUSYsQpzbX1689LK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department 1-2","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7KJG-BYXJ-RBP6-9340","door_data":[{"model_hash":-1289274673,"door_coords":{"z":35.83901596069336,"y":3581.06005859375,"x":1674.632568359375},"unique_id":"QjcofBEUSX_Dz7XcplKVA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department 1-3","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ES9W-XW9U-VTV5-IPBX","door_data":[{"model_hash":-1289274673,"door_coords":{"z":35.83913040161133,"y":3584.441162109375,"x":1678.83349609375},"unique_id":"eu5OfG4jp-d3Bz7NjnmUI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department 1-4","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3K8A-QZ9H-9C08-F9B1","door_data":[{"model_hash":-1289274673,"door_coords":{"z":35.84062957763672,"y":3588.471923828125,"x":1679.358642578125},"unique_id":"4f1HCMljxdCeNilqty4H_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department 1-5","location_group":"Sandy Fire Department","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"06GN-ZJ88-MYS1-8W6J","door_data":[{"model_hash":-1289274673,"door_coords":{"z":35.83715438842773,"y":3586.2939453125,"x":1680.611572265625},"unique_id":"o3xp_V1q2VZffjLBNozF-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department 1-6","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RC2M-XTD5-O3Q4-7SKX","door_data":[{"model_hash":-1289274673,"door_coords":{"z":35.8482551574707,"y":3582.889892578125,"x":1682.591552734375},"unique_id":"hga6PF3J3fraPNXhucP7i"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department 1-7","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JKOQ-QA4S-58DO-NVFC","door_data":[{"model_hash":-1289274673,"door_coords":{"z":35.84097671508789,"y":3586.844482421875,"x":1685.0535888671876},"unique_id":"7gK3pUwRgKt3DoOcspPKV"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department 1-8","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"458K-QEW6-I3UF-HHOM","door_data":[{"model_hash":-1289274673,"door_coords":{"z":35.83857345581055,"y":3579.695068359375,"x":1689.234130859375},"unique_id":"dUqm6sWz6-bFpzfjd9d5V"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department 2-2","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VUS5-PG7P-4J89-YGXP","door_data":[{"model_hash":-952356348,"door_coords":{"z":38.64494323730469,"y":3582.00244140625,"x":1671.97509765625},"unique_id":"RIQ7ZILQ_kC5JJJ9hRryI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Fire Department 2-1","location_group":"Sandy Fire Department","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H0GA-PYXU-L8XR-U193","door_data":[{"model_hash":-1289274673,"door_coords":{"z":38.74076461791992,"y":3588.331298828125,"x":1679.4293212890626},"unique_id":"dj18V7_msjFwxM2t05JI5"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Fire_Department.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Garage_Carwash_Gas.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Garage_Carwash_Gas.json
new file mode 100644
index 000000000..ecab8c30b
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Garage_Carwash_Gas.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Illegal Garage & Carwash & Gas Station E-1","location_group":"Sandy Garage Carwash Gas","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KXPJ-QA28-8F2D-KAAJ","door_data":[{"model_hash":-1793984540,"door_coords":{"z":32.87763214111328,"y":3791.4658203125,"x":2012.722900390625},"unique_id":"c3B5F8NRuX7K9oxIgw_zA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Illegal Garage & Carwash & Gas Station E-2","location_group":"Sandy Garage Carwash Gas","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FXG9-9KM4-0MU6-HZ2E","door_data":[{"model_hash":957340662,"door_coords":{"z":33.40999984741211,"y":3791.26904296875,"x":2002.6920166015626},"unique_id":"Vg4_bQYNwcFB29MX2iPzn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Illegal Garage & Carwash & Gas Station 2-1","location_group":"Sandy Garage Carwash Gas","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RVDC-71TJ-S3X6-BJE5","door_data":[{"model_hash":747286790,"door_coords":{"z":35.30082321166992,"y":3783.171875,"x":1996.93115234375},"unique_id":"95hUItpyPeMrSgT4V7ejs"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Illegal Garage & Carwash & Gas Station 2-2","location_group":"Sandy Garage Carwash Gas","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7V9J-OBM4-K2U0-FAHZ","door_data":[{"model_hash":108110432,"door_coords":{"z":35.31220245361328,"y":3782.98046875,"x":2000.0584716796876},"unique_id":"tgNTP_NilUiM7sQHiDMG0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Illegal Garage & Carwash & Gas Station 0-1","location_group":"Sandy Garage Carwash Gas","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YZV8-LBPA-SDBQ-9CFL","door_data":[{"model_hash":1972289202,"door_coords":{"z":27.36436462402343,"y":3788.1806640625,"x":1984.34375},"unique_id":"MpsCKaEczf2bwKR-7cM7c"},{"model_hash":1972289202,"door_coords":{"z":27.36436462402343,"y":3786.516845703125,"x":1985.304443359375},"unique_id":"HNAyczogv84KrI9-jQDw0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Illegal Garage & Carwash & Gas Station 1-1","location_group":"Sandy Garage Carwash Gas","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6WDY-DS25-XPXA-5LJF","door_data":[{"model_hash":871083343,"door_coords":{"z":31.21485519409179,"y":3789.796630859375,"x":1988.239990234375},"unique_id":"Yl8yLZXc2WeKlcds42kmT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Illegal Garage & Carwash & Gas Station E-3","location_group":"Sandy Garage Carwash Gas","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YOCG-NJN1-LPHN-5WBZ","door_data":[{"model_hash":-1677161358,"door_coords":{"z":32.60374450683594,"y":3767.3984375,"x":1982.0697021484376},"unique_id":"Z59O1piCkB1YCz0hhL2OZ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Illegal Garage & Carwash & Gas Station E-4","location_group":"Sandy Garage Carwash Gas","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"P31W-T8PZ-KY96-7ZN1","door_data":[{"model_hash":-1677161358,"door_coords":{"z":32.62191772460937,"y":3774.855224609375,"x":1983.0889892578128},"unique_id":"ElNexracgqTYTUAmCVir2"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Illegal Garage & Carwash & Gas Station E-5","location_group":"Sandy Garage Carwash Gas","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3M8N-0D9H-6G6C-8UJ8","door_data":[{"model_hash":-1603870487,"door_coords":{"z":32.58348846435547,"y":3761.8232421875,"x":1972.7923583984376},"unique_id":"rtz1qBTevPxECK_hLAtgY"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Illegal Garage & Carwash & Gas Station E-6","location_group":"Sandy Garage Carwash Gas","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QDW4-U7TT-2SB1-3Q97","door_data":[{"model_hash":-1603870487,"door_coords":{"z":32.58348846435547,"y":3766.66064453125,"x":1967.503173828125},"unique_id":"bvXvYAQxiUzVWf3R-mY05"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Garage_Carwash_Gas.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Gas_Station.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Gas_Station.json
new file mode 100644
index 000000000..1a4bc6608
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Gas_Station.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Gas Station 1-1","location_group":"Sandy Gas Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C5EO-ZLRT-U1XQ-2TOJ","door_data":[{"model_hash":-495720969,"door_coords":{"z":32.34941482543945,"y":3783.47802734375,"x":1997.496826171875},"unique_id":"juz0dQCvewmYbCrXC5rM2"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Gas Station E-1","location_group":"Sandy Gas Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"M5GS-JUQQ-2O4T-8OHA","door_data":[{"model_hash":-98391585,"door_coords":{"z":32.3482780456543,"y":3780.602294921875,"x":2001.9114990234376},"unique_id":"c3bwOqoj1le0K07XcZWm1"},{"model_hash":-606311141,"door_coords":{"z":32.3482780456543,"y":3779.773193359375,"x":2000.4759521484376},"unique_id":"gNefgVEG2r32tB_7AHkr7"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Gas_Station.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Hospital.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Hospital.json
new file mode 100644
index 000000000..a841a08e3
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Hospital.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Hospital E-1","location_group":"Sandy Hospital","door_sound":"","state":true,"perms":{"items":[],"identifier":[],"passcode":"1001","job":[]},"secret":false,"unique_id":"J2G5-BIZA-47HH-QWTX","door_data":[{"model_hash":-796515299,"door_coords":{"z":35.29167938232422,"y":3629.635986328125,"x":1749.4022216796876},"unique_id":"9cU6BBmrTg4CqohlfavLR"},{"model_hash":89809332,"door_coords":{"z":35.29167938232422,"y":3628.336181640625,"x":1747.15087890625},"unique_id":"fLMT6-ymQvO3PnUVxcj-w"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Hospital E-2","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XY1M-91WL-180V-RQC9","door_data":[{"model_hash":-796515299,"door_coords":{"z":35.29065322875976,"y":3657.517822265625,"x":1769.570556640625},"unique_id":"1CHqaJKlWPyKVPDD9FY-Q"},{"model_hash":89809332,"door_coords":{"z":35.29065322875976,"y":3655.266357421875,"x":1770.870361328125},"unique_id":"KOigi56VL_TDSgjKZJMpz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Hospital 1-1","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5MK8-3UYY-XJVW-P9MN","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3635.900390625,"x":1736.3389892578126},"unique_id":"PmP3C5f5mb7We5P713HNs"},{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3633.646484375,"x":1737.6402587890626},"unique_id":"PdVAxvnKjjxnxEWimek7k"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-2","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C3WY-R6RI-707P-M8LQ","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3630.64599609375,"x":1727.2381591796876},"unique_id":"JPf-B-wMl09uaQPvbVlpz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-3","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"P03M-YAMR-ET1K-RMHM","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3643.13330078125,"x":1736.96142578125},"unique_id":"KC86KB_pqfLMh8YxxvodI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-4","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ED5C-EUQ0-EL0Z-ODGN","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3646.132080078125,"x":1742.1553955078126},"unique_id":"wGGenhms3jGM9ZFteYdWx"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Hospital 1-5","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SG7V-NBYP-OBA7-JEGE","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3641.448974609375,"x":1742.0296630859376},"unique_id":"0qpuVffckMB9AfbnDNpCv"},{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3642.750244140625,"x":1744.2835693359376},"unique_id":"3wIXgQMhxSOpm0Me0b8pd"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-6","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QKRZ-A9PU-6T1R-RHYC","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3640.133056640625,"x":1731.76513671875},"unique_id":"q-FYwCWRmwuB7FyLGqZSn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Hospital 1-7","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3C48-K4NZ-R655-IG6J","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3637.033447265625,"x":1727.794677734375},"unique_id":"1zsydcnsseyIrKJAtpyFK"},{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3634.779541015625,"x":1729.095947265625},"unique_id":"E1iF5Z5YIEJxthzfz5Z5W"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-8","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9FZ5-AYV0-V3L6-UWAY","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3637.19580078125,"x":1726.67724609375},"unique_id":"wzKMrbQ5wh0umF8WcTLFb"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-9","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"T9W3-KZ72-WUTS-O8IR","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3645.01318359375,"x":1748.2027587890626},"unique_id":"Xm3Jhlbwov1YpK921BrGE"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-10","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"54W5-BFCN-M7EN-VY30","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3648.485107421875,"x":1746.231201171875},"unique_id":"k6JjU9gqRf8jkVX9RongH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-11","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0MXV-8L79-I0TL-QI5S","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3646.554443359375,"x":1748.0799560546876},"unique_id":"tggV14xmN0ycD4vXmRnXA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-12","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YXXG-4HL6-WMCU-3LYX","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3646.436767578125,"x":1750.6685791015626},"unique_id":"5rWkbhaPLOW_GLQDDY0wH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-13","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G0C9-SXDN-18YH-52EX","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3646.742431640625,"x":1752.9859619140626},"unique_id":"NOI1NOA8R5XPM8ZP9QfTg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Hospital 1-14","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5DSE-X3JC-F675-0V8M","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3641.314453125,"x":1755.5267333984376},"unique_id":"4Cp-toVah70DSKrvaHCzF"},{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3642.61572265625,"x":1757.780517578125},"unique_id":"vnK7RT3_EDtLrc8E2Yo28"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital 1-15","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H5CB-1QMQ-EID6-CNCE","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3639.46435546875,"x":1752.322265625},"unique_id":"oxklRgS2-9y7HWB8hOwWt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Hospital 1-16","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VIRY-1IUG-PMI7-WDZL","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3645.140380859375,"x":1762.1534423828126},"unique_id":"cx7GFBmCiIpo8tl7qt10R"},{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3646.441650390625,"x":1764.4073486328126},"unique_id":"1u6E36T_azY4PgroMPpI7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Hospital 1-17","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KJ60-LE64-T4Y0-9ULG","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3649.0224609375,"x":1768.877197265625},"unique_id":"1-1gHkhvXvPRQCVEyBeIC"},{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3650.32373046875,"x":1771.131103515625},"unique_id":"jpr-CwuAtIJ0G1AwrLn7-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Hospital 1-18","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"85WM-VPLG-50MX-5JK7","door_data":[{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3660.07763671875,"x":1763.3558349609376},"unique_id":"Qq8yqB7NSCI92DL12KKLj"},{"model_hash":1858454504,"door_coords":{"z":35.29228210449219,"y":3657.823974609375,"x":1764.6571044921876},"unique_id":"c4bK7Xd8k8xQXe-IGPxMD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital E-3","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y69V-287C-TA5M-7YGC","door_data":[{"model_hash":1858454504,"door_coords":{"z":44.99618911743164,"y":3639.375244140625,"x":1763.4759521484376},"unique_id":"OhiTqUOJMtYZ92p9_e8sG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital E-4","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"98MF-6EUP-IHZE-PLCT","door_data":[{"model_hash":1286535678,"door_coords":{"z":33.92490768432617,"y":3640.5810546875,"x":1782.408447265625},"unique_id":"-7_x2vERPggGPgcZg-ZsX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Hospital E-5","location_group":"Sandy Hospital","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7VIK-D8F5-UBIS-0RDW","door_data":[{"model_hash":1286535678,"door_coords":{"z":33.9372444152832,"y":3662.75244140625,"x":1786.941650390625},"unique_id":"CYX7llzRMQfYktkxAsk6s"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Hospital.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Houses.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Houses.json
new file mode 100644
index 000000000..24ac4f6e3
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Houses.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 1-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9JB6-BOXF-4A8W-HU8U","door_data":[{"model_hash":-240243877,"door_coords":{"z":34.02345275878906,"y":3765.904296875,"x":1813.5782470703128},"unique_id":"qgyK4lK9Af48ZqJGjl_q-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 1-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"U3DO-PD1X-D2ZQ-SA5Z","door_data":[{"model_hash":-1504996201,"door_coords":{"z":33.93904876708984,"y":3765.016845703125,"x":1814.3546142578128},"unique_id":"2zG0lgn1iCw2vhxv9NZXo"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 1-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"P94W-SS0Y-9UDL-47L7","door_data":[{"model_hash":-1504996201,"door_coords":{"z":33.9404411315918,"y":3762.95068359375,"x":1815.079345703125},"unique_id":"LStcDJ0OaAQWxpicWNsgf"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 1-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4DK8-USQ1-BHQT-BIAQ","door_data":[{"model_hash":-1504996201,"door_coords":{"z":33.93901443481445,"y":3760.833984375,"x":1809.7088623046876},"unique_id":"15ck88yrt-adV4ZrIRj67"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 1-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TRI2-5Q9V-Y7ZE-EKZI","door_data":[{"model_hash":-1504996201,"door_coords":{"z":33.93815994262695,"y":3758.97412109375,"x":1809.716552734375},"unique_id":"-jFOJ9lvQOp7QanItI8QD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 2-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SGRD-KMBT-RS4R-7LVY","door_data":[{"model_hash":1956267088,"door_coords":{"z":34.63594818115234,"y":3744.4765625,"x":1774.2281494140626},"unique_id":"itS0JpTaYB2IpFbyiIuEX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 2-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XJYE-JQGE-3Q3E-P8WR","door_data":[{"model_hash":1494725493,"door_coords":{"z":34.27357482910156,"y":3745.995361328125,"x":1773.8829345703126},"unique_id":"34xoAZ-b65h7xTnpewaz4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 2-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YDPD-I9BQ-NQ8B-BEQ8","door_data":[{"model_hash":1494725493,"door_coords":{"z":34.2708511352539,"y":3749.87841796875,"x":1774.6251220703126},"unique_id":"5Y8eLhVeyY8fQE7GHWz3t"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 2-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XZX1-DFQT-5D3O-OPQS","door_data":[{"model_hash":-2099191587,"door_coords":{"z":34.27594757080078,"y":3752.31494140625,"x":1777.5582275390626},"unique_id":"g2qo6KD_BLw5BY7h3yCTX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 3-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RQLE-VHW6-66RE-5E06","door_data":[{"model_hash":-2083705920,"door_coords":{"z":35.37979125976562,"y":3593.178955078125,"x":1355.5821533203126},"unique_id":"MxZq2FKQA_vjGEU9T2BBt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 3-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H4V1-1BJL-XQUX-09EE","door_data":[{"model_hash":-350062849,"door_coords":{"z":35.38884735107422,"y":3601.05078125,"x":1352.3760986328126},"unique_id":"qOADJEWdXE4pr-tQuJ04u"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 3-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HJYF-1HRY-2X6H-H08F","door_data":[{"model_hash":-2083705920,"door_coords":{"z":35.37593078613281,"y":3603.824462890625,"x":1350.532958984375},"unique_id":"9wZGwFHhWKhuAyEjcFrL_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 4-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"J4LN-IQ49-XH8H-HROM","door_data":[{"model_hash":-1899145338,"door_coords":{"z":36.09358978271484,"y":3625.763916015625,"x":1653.111572265625},"unique_id":"0-zSg0tXc7DOHhJ6T4kRt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 4-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZFSM-4OKH-NHSM-LIAP","door_data":[{"model_hash":974879756,"door_coords":{"z":36.0778923034668,"y":3625.450439453125,"x":1650.168701171875},"unique_id":"I2gFKisVUtquC0iUT69oK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 4-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XNRZ-LBAP-DMTQ-XOTR","door_data":[{"model_hash":974879756,"door_coords":{"z":36.0815200805664,"y":3625.671142578125,"x":1651.47509765625},"unique_id":"E0kriOmAI5ZX-cGC2ldYi"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 4-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0BW1-MEBS-S4YR-CXR0","door_data":[{"model_hash":-1667304663,"door_coords":{"z":36.12358856201172,"y":3629.496826171875,"x":1646.27880859375},"unique_id":"nsQF6fKPyCoNH31A1-rzI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 5-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TTZM-5GZK-F0V1-H1GX","door_data":[{"model_hash":1231460896,"door_coords":{"z":35.26320266723633,"y":3675.7470703125,"x":1418.353515625},"unique_id":"V-x7CJfNkPNna6RPijGA7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 5-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8H0K-DWNX-P33L-SUIU","door_data":[{"model_hash":-417873796,"door_coords":{"z":35.27370071411133,"y":3668.25439453125,"x":1428.614990234375},"unique_id":"HhD1v6dRFZzYOozjemi2e"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 5-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HIFG-DDNC-4V3M-ODVX","door_data":[{"model_hash":-2077308227,"door_coords":{"z":35.26237487792969,"y":3663.43310546875,"x":1430.394287109375},"unique_id":"j7TEFsjUQbZEgdxGabFxy"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 5-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4JB6-JOLW-H3NO-NSO6","door_data":[{"model_hash":-2077308227,"door_coords":{"z":35.2734146118164,"y":3662.888916015625,"x":1427.8631591796876},"unique_id":"KfAm8P5fLjzMIP4d7Jn6y"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 5-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RM7N-SNRU-H0R0-2259","door_data":[{"model_hash":-417873796,"door_coords":{"z":35.27870941162109,"y":3665.607421875,"x":1422.1129150390626},"unique_id":"TEa6ecTldyatp1ceXVM8h"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 5-6","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SY7A-O07Y-WUBM-D828","door_data":[{"model_hash":1231460896,"door_coords":{"z":35.26604461669922,"y":3661.43603515625,"x":1429.1646728515626},"unique_id":"vAStFrreMffigkcvA3qy-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 6-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"W33H-PPYO-DTC8-B030","door_data":[{"model_hash":1170790271,"door_coords":{"z":34.78307723999023,"y":3715.002197265625,"x":1791.85107421875},"unique_id":"z0Mu8rJl8PxKnNrDZdDfo"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 6-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YNPJ-X8HT-PNBL-QJCY","door_data":[{"model_hash":1540585784,"door_coords":{"z":34.80405807495117,"y":3715.62841796875,"x":1796.7779541015626},"unique_id":"y3vAcwRA2oBkpq4uAX_2J"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 6-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H9MZ-NCQO-JDYX-SSHJ","door_data":[{"model_hash":1540585784,"door_coords":{"z":34.79203414916992,"y":3719.577880859375,"x":1794.4241943359376},"unique_id":"2E3l8sYS-Bdz8G9FqBdSw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 7-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"S37B-MLWZ-IWIU-CMW1","door_data":[{"model_hash":-113351383,"door_coords":{"z":35.38069152832031,"y":3667.733642578125,"x":1641.2772216796876},"unique_id":"xqve8eekD7jWqhI7X9KOe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 7-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WRGL-384D-EH96-CG4L","door_data":[{"model_hash":-1164028407,"door_coords":{"z":35.29967498779297,"y":3665.808837890625,"x":1642.942626953125},"unique_id":"VoK2J8jCAST4v9U0ECsvo"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 7-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"61EX-2NTM-IW0Y-6KQO","door_data":[{"model_hash":-1678341339,"door_coords":{"z":35.29660034179687,"y":3665.147216796875,"x":1645.1429443359376},"unique_id":"FD0xiYcXFMwtmYEi21y7Y"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 7-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D5Q7-VIW7-P3AW-ZQUB","door_data":[{"model_hash":-1164028407,"door_coords":{"z":35.2990608215332,"y":3659.817138671875,"x":1642.4154052734376},"unique_id":"tlpoDvBEssR0MvHIzahTK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 7-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H42I-HO1B-7EZK-4EDV","door_data":[{"model_hash":-1678341339,"door_coords":{"z":35.2992935180664,"y":3658.5625,"x":1650.628662109375},"unique_id":"6VWE_mgmsUx6uiuGHpElp"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"double","door_name":"Sandy Houses 7-6","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3YVC-R8LE-NWTK-12G6","door_data":[{"model_hash":-280156205,"door_coords":{"z":35.3056755065918,"y":3656.83154296875,"x":1648.2867431640626},"unique_id":"mFB0gTp4QBGiZJ2Y603Yl"},{"model_hash":-585989282,"door_coords":{"z":35.3056755065918,"y":3655.552978515625,"x":1646.4603271484376},"unique_id":"Z_gdZyKGlXE6JWyDGxXVi"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"double","door_name":"Sandy Houses 8-H-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IP77-6EJK-AG9Q-XC6H","door_data":[{"model_hash":-1644510439,"door_coords":{"z":35.24193954467773,"y":3606.143798828125,"x":1383.2052001953126},"unique_id":"8WrP62UfpSHt2SLDj9CqP"},{"model_hash":684775619,"door_coords":{"z":35.24193954467773,"y":3606.779541015625,"x":1384.953125},"unique_id":"-2O4anIjJ_AiGYoPKAbdK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 8-H-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"66LD-DCTN-RMMW-J689","door_data":[{"model_hash":2145842721,"door_coords":{"z":35.24419784545898,"y":3608.22705078125,"x":1388.36376953125},"unique_id":"DWbmgLuUvD4WuvbRqTxa7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 8-H-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"T01I-UCEL-VBLN-MTBW","door_data":[{"model_hash":2145842721,"door_coords":{"z":35.24456024169922,"y":3612.177734375,"x":1387.202880859375},"unique_id":"Ul7A-8trvVp9yWj-zVDw5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 8-H-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IIOF-YI0S-8657-ADQH","door_data":[{"model_hash":2145842721,"door_coords":{"z":35.24340057373047,"y":3612.93310546875,"x":1384.7906494140626},"unique_id":"4-tL4o78NtOcdJAbGwDe-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 8-H-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ME2A-2SEY-B84R-WQL5","door_data":[{"model_hash":2145842721,"door_coords":{"z":35.24127960205078,"y":3617.666259765625,"x":1384.76904296875},"unique_id":"AQjjWOcVVeGfTScxX2ud1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 8-H-6","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q8YG-RE66-3KC7-4F65","door_data":[{"model_hash":105484157,"door_coords":{"z":35.24007797241211,"y":3616.3564453125,"x":1378.7579345703126},"unique_id":"_Uhd6i2AbYEsAbUopNIgg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 8-G-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DSEL-X61H-F6O5-Z3I8","door_data":[{"model_hash":244758292,"door_coords":{"z":34.8062629699707,"y":3602.319580078125,"x":1369.945556640625},"unique_id":"9ca27il0L2k_a-ouE2w_v"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 8-G-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8L7W-0K2G-C05X-D40L","door_data":[{"model_hash":-828066833,"door_coords":{"z":34.69247055053711,"y":3608.208251953125,"x":1372.08056640625},"unique_id":"h-VD4EiZbIbGcBzjCjYxm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 9-H-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SVZ5-B3YV-KM6P-MPVT","door_data":[{"model_hash":-1531520890,"door_coords":{"z":34.83540344238281,"y":3742.526611328125,"x":1824.183349609375},"unique_id":"O-zc26zjpHcw142BMMvrl"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 9-H-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z2S0-BEML-CY8L-C0FU","door_data":[{"model_hash":2010609611,"door_coords":{"z":34.79949188232422,"y":3738.015869140625,"x":1825.0599365234376},"unique_id":"kwcECbrjnUO3zY2f1VcaO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 9-H-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BZCE-8EH4-NT22-GUVB","door_data":[{"model_hash":2010609611,"door_coords":{"z":34.79349517822265,"y":3735.835205078125,"x":1830.447265625},"unique_id":"AoWx-gMbfGeuhg526IZaT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 9-H-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4MOH-9APH-QY2I-PYUD","door_data":[{"model_hash":-943918681,"door_coords":{"z":34.78815841674805,"y":3727.832763671875,"x":1831.312255859375},"unique_id":"GQ233amN39yH-8jq09tBW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 10-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VW3M-VKPX-HGKZ-LPKC","door_data":[{"model_hash":1688186522,"door_coords":{"z":36.91742706298828,"y":3657.186279296875,"x":1682.9111328125},"unique_id":"0MvrUwX3pJOlRQ48_V3Nt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 10-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F2O9-LLZG-0FAC-C2I8","door_data":[{"model_hash":-889774987,"door_coords":{"z":36.94482040405273,"y":3654.581787109375,"x":1682.0596923828126},"unique_id":"X9jPeG91-S-RkftROt975"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 10-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QX1W-2K8F-82WV-YAC8","door_data":[{"model_hash":1688186522,"door_coords":{"z":36.9248161315918,"y":3646.531005859375,"x":1672.0611572265626},"unique_id":"kwCnrM2BKc513pD-xpi5i"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 11-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SAD9-ZIGB-TSF2-92C4","door_data":[{"model_hash":-1989239478,"door_coords":{"z":34.82287979125976,"y":3682.0927734375,"x":1665.551025390625},"unique_id":"wamK96pmiTnylgVMBVaJA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 11-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JXLA-5B5O-FLYG-UA4O","door_data":[{"model_hash":-1708094201,"door_coords":{"z":34.80287933349609,"y":3684.3408203125,"x":1667.875},"unique_id":"Z28GSzcAngZQ_vK5BbwTn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 11-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CP0H-VXIW-NDRQ-GFA4","door_data":[{"model_hash":-1708094201,"door_coords":{"z":34.80287933349609,"y":3677.19677734375,"x":1670.321044921875},"unique_id":"A0-pFXR4Dy3yxXnVF9Ww3"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 11-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IHYV-8CWE-0I4F-JHJQ","door_data":[{"model_hash":-1708094201,"door_coords":{"z":34.80287933349609,"y":3674.8349609375,"x":1668.5030517578126},"unique_id":"Zn91pMWfFTmbipxpXTywn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"double","door_name":"Sandy Houses 11-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6Q7M-HZX7-1IBW-Q5HF","door_data":[{"model_hash":1441216297,"door_coords":{"z":34.82287979125976,"y":3672.31201171875,"x":1672.6090087890626},"unique_id":"2_cQ01Vlap6MAVvkYUtTw"},{"model_hash":1078504583,"door_coords":{"z":34.82287979125976,"y":3673.82373046875,"x":1674.1220703125},"unique_id":"WFvyb67SP8510SGJMpruW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 12-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8V1F-2MP7-TUKC-ATV5","door_data":[{"model_hash":777065009,"door_coords":{"z":36.30707931518555,"y":3623.1396484375,"x":1446.8369140625},"unique_id":"sOdC6GKqjE7OVmFNk4R-u"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 12-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1ET6-6GOU-S66U-DPML","door_data":[{"model_hash":-64988855,"door_coords":{"z":36.26408004760742,"y":3625.22705078125,"x":1447.7452392578126},"unique_id":"CkQl4bvHyoslIPUxQxqKn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 12-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3QYR-F5NX-6P99-NZ4B","door_data":[{"model_hash":-64988855,"door_coords":{"z":36.26408004760742,"y":3628.323974609375,"x":1443.2530517578126},"unique_id":"9aq4kUUVLCCRnCKWrFFz9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 12-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7VBU-CPPO-D2ZV-25C3","door_data":[{"model_hash":-64988855,"door_coords":{"z":36.26408004760742,"y":3631.821533203125,"x":1445.172119140625},"unique_id":"ssgvTd5b7JvkA0VH9P4eX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 12-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OGRB-ZFWR-J0UK-UE2X","door_data":[{"model_hash":-64988855,"door_coords":{"z":36.26408004760742,"y":3631.909912109375,"x":1445.484619140625},"unique_id":"mELmQy2WdQeeW6B95tokX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 12-6","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D1B6-QZ0P-64FM-EVNR","door_data":[{"model_hash":360036898,"door_coords":{"z":35.17308044433594,"y":3635.61767578125,"x":1442.25390625},"unique_id":"VQXgaVa1Hhb1jQOr53FDQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 12-7","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K6VT-U0EJ-5H1X-9VV4","door_data":[{"model_hash":-64988855,"door_coords":{"z":36.26408004760742,"y":3633.665771484375,"x":1441.2830810546876},"unique_id":"QxBcWbZcdo8kp7BDomXam"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 12-8","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1EXR-1NRM-I1NC-4MOX","door_data":[{"model_hash":-64988855,"door_coords":{"z":36.26408004760742,"y":3636.116943359375,"x":1437.1795654296876},"unique_id":"PcoQE536Govf7F5kwDwA7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 12-9","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QF34-LMPM-FJKP-18ZH","door_data":[{"model_hash":1535724378,"door_coords":{"z":36.30707931518555,"y":3639.087158203125,"x":1436.6756591796876},"unique_id":"RzD5qmBUv6yjY_Ar-kNNN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 13-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3UOY-G7J6-LNFV-JIL3","door_data":[{"model_hash":1999534392,"door_coords":{"z":35.50952911376953,"y":3621.865234375,"x":1419.8277587890626},"unique_id":"thcBsu44nDdyznafZ2HnB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 13-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"26XQ-3VYS-6T52-II0B","door_data":[{"model_hash":877929284,"door_coords":{"z":35.52352905273437,"y":3628.0185546875,"x":1420.2069091796876},"unique_id":"D95lNMLQfoXlAp4xDgxvk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 13-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ILJA-1Z7J-SMIJ-NDTG","door_data":[{"model_hash":877929284,"door_coords":{"z":35.52352905273437,"y":3628.32421875,"x":1421.046630859375},"unique_id":"Tsfa_k9mlNitgrUn-trVK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 13-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RNZR-TRHE-X2HS-GA2O","door_data":[{"model_hash":450870767,"door_coords":{"z":35.42898178100586,"y":3628.3740234375,"x":1417.92529296875},"unique_id":"MMn4CbFLEkYobmW1V4bNr"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 14-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"S1PH-61UY-ACDJ-R75N","door_data":[{"model_hash":-530861634,"door_coords":{"z":34.05141830444336,"y":3641.697021484375,"x":1333.625732421875},"unique_id":"LaMHgej2BDOzZ0abkPyFs"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 14-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4DY5-VC5O-69W8-V12V","door_data":[{"model_hash":-247593452,"door_coords":{"z":34.0294189453125,"y":3635.489990234375,"x":1333.248291015625},"unique_id":"kD-1NWxRzIUvya1GtRxFK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 14-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FXBN-1NT3-DUUB-YGTP","door_data":[{"model_hash":-247593452,"door_coords":{"z":34.0294189453125,"y":3634.740478515625,"x":1331.1900634765626},"unique_id":"4dtZCe7hLnJ0A5BjXPWPH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 14-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6TVV-6N5I-QJNA-X53L","door_data":[{"model_hash":819472460,"door_coords":{"z":33.95042037963867,"y":3635.134765625,"x":1335.5301513671876},"unique_id":"QNiWtoY82WJkuWOWEReP0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 15-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QI6G-PKGH-L3BB-CEHH","door_data":[{"model_hash":71850351,"door_coords":{"z":34.44316101074219,"y":3647.169921875,"x":1372.5570068359376},"unique_id":"eMFSlf3VUZPNzYwId1rgx"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 15-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B0J3-G85V-OU8Q-BULY","door_data":[{"model_hash":2064121908,"door_coords":{"z":34.47216033935547,"y":3645.16455078125,"x":1368.5067138671876},"unique_id":"V0Tl6pzee6Q_4jeSM-l3Y"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 15-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5PLK-N1XN-ONTV-BUOI","door_data":[{"model_hash":2064121908,"door_coords":{"z":34.47216033935547,"y":3644.2001953125,"x":1365.856689453125},"unique_id":"nmFpo7IT2FEk-DrCPaNTI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 15-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZD40-GARY-10JV-H0XZ","door_data":[{"model_hash":1486619153,"door_coords":{"z":34.43416213989258,"y":3640.85107421875,"x":1361.789794921875},"unique_id":"-5C9iVe8nu6aYYgZbpQjy"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 16-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BV8Q-1VZT-37ZT-FJNQ","door_data":[{"model_hash":152850925,"door_coords":{"z":34.41854095458984,"y":3658.897216796875,"x":1391.6097412109376},"unique_id":"zop88gNTLdt0BRbmb92n5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 16-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E5DN-VY0Z-9TXN-VARA","door_data":[{"model_hash":-843852781,"door_coords":{"z":34.41653823852539,"y":3659.538330078125,"x":1393.3187255859376},"unique_id":"BOgY5XdImmalMCO_WvuOr"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 16-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KHWE-GVUW-48KE-3F7Q","door_data":[{"model_hash":-843852781,"door_coords":{"z":34.41653823852539,"y":3660.22998046875,"x":1395.2198486328126},"unique_id":"I3LI90sqipiglQTOrkpGh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 16-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FVU1-GEAW-V56D-1299","door_data":[{"model_hash":-843852781,"door_coords":{"z":34.41653823852539,"y":3653.90234375,"x":1393.453369140625},"unique_id":"ufSez8ouM-lIc338EwY6t"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 16-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"95WX-ML6S-L5ES-XR43","door_data":[{"model_hash":-843852781,"door_coords":{"z":34.41653823852539,"y":3650.913818359375,"x":1400.47509765625},"unique_id":"Lnu9MemjMYKBkv_ylnfHt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 16-6","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TYVY-2003-7CSD-JDCG","door_data":[{"model_hash":-686494241,"door_coords":{"z":34.45253753662109,"y":3648.236572265625,"x":1399.0484619140626},"unique_id":"3R1G5TT0avDKx8ygYAv83"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-1-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VLM0-6IU6-5G7V-XZJG","door_data":[{"model_hash":-1310003697,"door_coords":{"z":35.4400749206543,"y":3858.632080078125,"x":1701.3082275390626},"unique_id":"Qsgduvq6FhxyGjNRjG42v"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-1-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z03V-KOBB-O17I-KKXM","door_data":[{"model_hash":-1310003697,"door_coords":{"z":35.37849807739258,"y":3849.652587890625,"x":1698.4197998046876},"unique_id":"tcxa5U4dmzlxUstizedFz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-1-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1EAO-32IC-0TD6-17LO","door_data":[{"model_hash":-1310003697,"door_coords":{"z":35.1542854309082,"y":3853.93994140625,"x":1713.3011474609376},"unique_id":"G5VeYfQpT4zTrulR4JTZi"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-1-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0UCK-BUO5-SFGM-JWDY","door_data":[{"model_hash":451581468,"door_coords":{"z":35.38152694702148,"y":3849.67626953125,"x":1712.7706298828126},"unique_id":"iQwepmtSjQzqjvOnnwL1Z"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-1-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LBXQ-X3HL-Y4FE-8ELD","door_data":[{"model_hash":117389386,"door_coords":{"z":35.22723007202148,"y":3851.1015625,"x":1706.59912109375},"unique_id":"hJl9rgo-7mcHAK8-EPQ-1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-1-6","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"P87O-RA79-F860-V5AH","door_data":[{"model_hash":451581468,"door_coords":{"z":35.38152694702148,"y":3844.83251953125,"x":1707.7423095703126},"unique_id":"ggbleQemaRtxVAZDDPEZG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-2-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GWIW-GW8K-S7GF-1XZ5","door_data":[{"model_hash":-1339547461,"door_coords":{"z":38.26993942260742,"y":3858.04638671875,"x":1704.5181884765626},"unique_id":"kOMZ8ssdQ4cL4pEHowv1V"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-2-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DPXW-EY0X-YNTS-UWA8","door_data":[{"model_hash":117389386,"door_coords":{"z":38.50148773193359,"y":3852.614990234375,"x":1707.9207763671876},"unique_id":"G2EbI7OdT7d3ZzREJI_wr"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-2-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8MYO-PJ1R-RPIM-FU48","door_data":[{"model_hash":117389386,"door_coords":{"z":38.51443481445312,"y":3855.652587890625,"x":1709.083984375},"unique_id":"yMOgVUXi_PXehVlMM2cYg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-2-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3VDN-SO3I-M431-HFX1","door_data":[{"model_hash":117389386,"door_coords":{"z":38.50148773193359,"y":3851.97314453125,"x":1708.6707763671876},"unique_id":"ECNP4ua8FMq-eYKtvXPyI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-2-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JXGR-5Y6R-3KXJ-6DNM","door_data":[{"model_hash":-1339547461,"door_coords":{"z":38.26896286010742,"y":3852.360107421875,"x":1712.0640869140626},"unique_id":"WsBcHazkUp9mUgpK5qXX2"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-2-6","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EGHD-J36Z-3KCI-LSC4","door_data":[{"model_hash":117389386,"door_coords":{"z":38.50148773193359,"y":3849.902587890625,"x":1705.372314453125},"unique_id":"YWM9ntnfd8GbO70wpsGZL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-2-7","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F29B-SACA-3BOC-KD4F","door_data":[{"model_hash":117389386,"door_coords":{"z":38.50148773193359,"y":3849.789306640625,"x":1704.9755859375},"unique_id":"F5Viv09spOscrkEOm4oGl"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-2-8","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BTPB-KNUV-6PHJ-JQHJ","door_data":[{"model_hash":117389386,"door_coords":{"z":38.51443099975586,"y":3847.173095703125,"x":1705.6214599609376},"unique_id":"HZwSB10lZKff7L3v8U12w"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 17-2-9","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H64P-J1IP-C2G3-6KRL","door_data":[{"model_hash":-1339547461,"door_coords":{"z":38.26993942260742,"y":3845.77978515625,"x":1705.2349853515626},"unique_id":"-bPHytVqmwdIHNwlMyEEq"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-1-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6OEB-DG4Q-8YF2-2MY0","door_data":[{"model_hash":-955088610,"door_coords":{"z":35.17720794677734,"y":3883.10009765625,"x":1736.884521484375},"unique_id":"ltqLKE8gZZixYev0fhYIj"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-1-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EKXG-YY9G-QUXK-WR37","door_data":[{"model_hash":-955088610,"door_coords":{"z":35.17720794677734,"y":3877.20947265625,"x":1728.0712890625},"unique_id":"Djl1_RshcULfMSzWuMdkT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-1-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BFJC-H1ND-5706-B53Z","door_data":[{"model_hash":-541267183,"door_coords":{"z":35.20692825317383,"y":3878.96240234375,"x":1735.887451171875},"unique_id":"aW3Ip6_LLe96iDqm9BbJF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-1-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"21P2-CFOZ-6GXS-8E5U","door_data":[{"model_hash":1992927314,"door_coords":{"z":35.55001449584961,"y":3874.176513671875,"x":1742.1202392578126},"unique_id":"hoxjiOncj2Htl9h85bUyx"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-1-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"14K8-UN35-UQRF-ZXQM","door_data":[{"model_hash":-541267183,"door_coords":{"z":35.20692825317383,"y":3877.98095703125,"x":1734.413330078125},"unique_id":"Vq5J5wGdYS9WgN5sbbkjH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-1-6","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WV2Z-RDVV-IQ33-XCZH","door_data":[{"model_hash":-718252958,"door_coords":{"z":35.54217910766601,"y":3871.09130859375,"x":1737.444580078125},"unique_id":"HpmxflpQ6DUMepOAID9O4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-1-7","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H32A-9CZA-RVUY-JJ1Q","door_data":[{"model_hash":1992927314,"door_coords":{"z":35.53545379638672,"y":3868.891845703125,"x":1734.1741943359376},"unique_id":"1NnB2KQ4JuMx7eiWzZm89"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-1-8","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3SQ0-8148-ZLOK-NLNA","door_data":[{"model_hash":-955088610,"door_coords":{"z":35.17351913452148,"y":3873.65283203125,"x":1738.9617919921876},"unique_id":"elpz73jmevevkrk-97U5A"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-2-1","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8NG3-WJLV-DHNO-SV3H","door_data":[{"model_hash":-541267183,"door_coords":{"z":38.17094802856445,"y":3879.364990234375,"x":1736.52392578125},"unique_id":"BWJKytWRk2pkxu7UgkHuq"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-2-2","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4X24-ALOZ-T6EB-XAR4","door_data":[{"model_hash":-541267183,"door_coords":{"z":38.17094802856445,"y":3877.618408203125,"x":1737.686767578125},"unique_id":"XJTplwXMX2XHA_IP2P3sC"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-2-3","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CTRH-T142-IPU6-WJ02","door_data":[{"model_hash":1807171785,"door_coords":{"z":38.07783508300781,"y":3873.30419921875,"x":1740.904052734375},"unique_id":"4VvAzNKn1VXKWPGwFJK1s"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-2-4","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"P6XD-ILOW-HS9B-9EDG","door_data":[{"model_hash":-541267183,"door_coords":{"z":38.17094802856445,"y":3875.303466796875,"x":1738.1214599609376},"unique_id":"z4IBJTIe5M-qQzeR6EA8F"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-2-5","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"POPJ-98XW-5KZD-4Y0B","door_data":[{"model_hash":-541267183,"door_coords":{"z":38.16779327392578,"y":3874.104736328125,"x":1737.1363525390626},"unique_id":"Ekp74aChhGkyg9s5z-Lh5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-2-6","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PF44-P2X1-Z1X7-VNAS","door_data":[{"model_hash":-541267183,"door_coords":{"z":38.17094802856445,"y":3873.046875,"x":1734.7320556640626},"unique_id":"T3VyjpGTPWE6bsZpWK1Rk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-2-7","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0PBT-9ZEJ-5WJT-FNEO","door_data":[{"model_hash":1807171785,"door_coords":{"z":38.07783508300781,"y":3868.28076171875,"x":1733.337646484375},"unique_id":"-JOeZ7N9A5QjxSxxct04E"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Houses 18-2-8","location_group":"Sandy Houses","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HV94-GX00-B82M-7EAZ","door_data":[{"model_hash":1807171785,"door_coords":{"z":38.07291793823242,"y":3883.602783203125,"x":1731.610595703125},"unique_id":"CEkjlD1m7BMIeFkGg2yb0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-2-9","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LUB5-5VI4-JOJQ-GGS7","door_data":[{"model_hash":1807171785,"door_coords":{"z":38.07291793823242,"y":3882.185791015625,"x":1729.4854736328126},"unique_id":"aaWRTZnQn1liaz05zSJZ-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"door_bolt","door_type":"single","door_name":"Sandy Houses 18-2-10","location_group":"Sandy Houses","door_sound":"door_bolt","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TOC7-2MOJ-MDEL-8QGG","door_data":[{"model_hash":-955088610,"door_coords":{"z":38.13893890380859,"y":3883.226318359375,"x":1738.3631591796876},"unique_id":"sTKxrm_0h-cIGz27CGUor"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Houses.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Lost_MC.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Lost_MC.json
new file mode 100644
index 000000000..5f12d1dc3
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Lost_MC.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Lost MC G-1","location_group":"Sandy Lost MC","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5SRW-V1SO-UADA-ERV0","door_data":[{"model_hash":1237855335,"door_coords":{"z":38.74575424194336,"y":3689.74755859375,"x":110.03023529052736},"unique_id":"XzVtijvN927neFh8A7T5d"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Lost MC E-1","location_group":"Sandy Lost MC","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HWQ5-OXEN-IQGY-Y4CD","door_data":[{"model_hash":-710818483,"door_coords":{"z":40.11320114135742,"y":3696.550537109375,"x":111.23632049560549},"unique_id":"ofhzGzaDNCqkVKv7Qy_w-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Lost MC 1-1","location_group":"Sandy Lost MC","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6M8E-KVAL-FF00-BOAJ","door_data":[{"model_hash":-710818483,"door_coords":{"z":40.11320114135742,"y":3685.7451171875,"x":120.47178649902344},"unique_id":"KJIr7f8s2rHJ1DqyzCO2L"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Lost MC 1-2","location_group":"Sandy Lost MC","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HRFY-B7X3-3BEH-FEJQ","door_data":[{"model_hash":-710818483,"door_coords":{"z":40.10647201538086,"y":3697.467041015625,"x":128.6211090087891},"unique_id":"5wvOesfO9FT8SGI127CO1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Lost MC 1-3","location_group":"Sandy Lost MC","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OFD8-HVM3-UPJH-ZP7D","door_data":[{"model_hash":-710818483,"door_coords":{"z":40.11320114135742,"y":3699.18359375,"x":119.28607177734377},"unique_id":"NB9KhzewK_ZuPF1ZkFTIp"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Lost MC 1-4","location_group":"Sandy Lost MC","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RXH6-8ETM-M5SS-1AFE","door_data":[{"model_hash":1544229216,"door_coords":{"z":40.24978637695312,"y":3701.398193359375,"x":115.5046844482422},"unique_id":"qKQucSUtFiRHnORXcNCvZ"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Lost_MC.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Marina_Dealer.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Marina_Dealer.json
new file mode 100644
index 000000000..8b2e87159
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Marina_Dealer.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Boat Dealership E-1","location_group":"Sandy Marina Dealer","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"O50I-VBLA-CQZU-VL9U","door_data":[{"model_hash":-1639843199,"door_coords":{"z":32.90338897705078,"y":3821.980712890625,"x":1416.5447998046876},"unique_id":"OOnP-vM0m64zdbwUuIesI"},{"model_hash":1820563205,"door_coords":{"z":32.90238952636719,"y":3821.13623046875,"x":1418.92333984375},"unique_id":"luG_zbGZS9A-B7v9mK4_4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Boat Dealership 1-1","location_group":"Sandy Marina Dealer","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DO53-41N3-TSCS-IWZL","door_data":[{"model_hash":1665407005,"door_coords":{"z":32.21939086914062,"y":3815.278564453125,"x":1415.54736328125},"unique_id":"OBS2LJWRRgYQwgoChXGfY"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Boat Dealership 1-2","location_group":"Sandy Marina Dealer","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ODOI-7LUN-36U3-SP4H","door_data":[{"model_hash":1836838935,"door_coords":{"z":32.21939086914062,"y":3815.243896484375,"x":1415.642333984375},"unique_id":"AFuk5SODoxagu5BOwMlwl"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Marina_Dealer.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Marina_Lifeguard.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Marina_Lifeguard.json
new file mode 100644
index 000000000..59bed460a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Marina_Lifeguard.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Marina Lifeguard E-1","location_group":"Sandy Marina Lifeguard","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CJVO-D6DF-KZHJ-Z0VP","door_data":[{"model_hash":1332681439,"door_coords":{"z":34.67854309082031,"y":3910.5654296875,"x":1693.4476318359376},"unique_id":"LTLY8ej30MW89fyeAoHzA"},{"model_hash":1983156904,"door_coords":{"z":34.6795425415039,"y":3909.06591796875,"x":1691.660400390625},"unique_id":"W-4PCTRzgiFYAxxGcl7Br"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Marina Lifeguard E-2","location_group":"Sandy Marina Lifeguard","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XNK5-CEZ3-KTA4-7WAN","door_data":[{"model_hash":-1874602384,"door_coords":{"z":34.58753967285156,"y":3905.766845703125,"x":1687.19384765625},"unique_id":"UUHiSdztR3vh3iLtpu5We"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Marina Lifeguard E-3","location_group":"Sandy Marina Lifeguard","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E9KT-7RC7-O1D2-DT3I","door_data":[{"model_hash":-1644531235,"door_coords":{"z":38.79753875732422,"y":3912.29931640625,"x":1695.703857421875},"unique_id":"e7enTJ28hRBTsXptZePML"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Marina Lifeguard 1-1","location_group":"Sandy Marina Lifeguard","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B6K8-Q1AD-MNDQ-ZCMB","door_data":[{"model_hash":1334504662,"door_coords":{"z":34.6795425415039,"y":3911.998046875,"x":1688.3487548828126},"unique_id":"jbVVUViCxJdnQzdjQSb3q"},{"model_hash":870503425,"door_coords":{"z":34.6795425415039,"y":3910.190185546875,"x":1689.86572265625},"unique_id":"QB4ZEeU1zzZ0LnRED1K-R"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Marina Lifeguard 1-2","location_group":"Sandy Marina Lifeguard","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"S12F-J2DV-544A-4AND","door_data":[{"model_hash":870503425,"door_coords":{"z":34.6795425415039,"y":3916.270751953125,"x":1696.6688232421876},"unique_id":"wkKXrrrr3xaROlbieMqKG"},{"model_hash":1334504662,"door_coords":{"z":34.6795425415039,"y":3918.07861328125,"x":1695.15185546875},"unique_id":"kXmz4PZ20YLAixcIJAqjN"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Marina_Lifeguard.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Mechanic.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Mechanic.json
new file mode 100644
index 000000000..4503c8e69
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Mechanic.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Mechanic E-1","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2BWR-63H4-029X-XXI6","door_data":[{"model_hash":200497552,"door_coords":{"z":35.52766418457031,"y":3675.245361328125,"x":1749.8431396484376},"unique_id":"68oz0HgFRR9fhikMhTASA"},{"model_hash":200497552,"door_coords":{"z":35.53142547607422,"y":3670.421142578125,"x":1741.4920654296876},"unique_id":"6HhQmkE6NbFk35QZq-XVO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Mechanic E-2","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1E1E-2LTD-W7WU-7EF3","door_data":[{"model_hash":200497552,"door_coords":{"z":34.73060989379883,"y":3723.072265625,"x":1710.98486328125},"unique_id":"aCOVG8Vm93bYjbosblKZb"},{"model_hash":200497552,"door_coords":{"z":34.72684860229492,"y":3727.896484375,"x":1719.3359375},"unique_id":"uFSEdbjtMQ3b2iih3pctz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic G-1","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WV61-8OOW-HUCV-5E86","door_data":[{"model_hash":106631274,"door_coords":{"z":35.7239990234375,"y":3689.18994140625,"x":1714.885009765625},"unique_id":"5tBfYZDYBd2Rj1AV25ziz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic G-2","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EBCI-8AQU-D1JL-N9KS","door_data":[{"model_hash":106631274,"door_coords":{"z":35.28200149536133,"y":3694.260009765625,"x":1711.9449462890626},"unique_id":"eqLaRc4p6Opk25gdE70Iz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic G-3","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IIZ5-6LBX-P0RN-HS15","door_data":[{"model_hash":106631274,"door_coords":{"z":35.28200149536133,"y":3699.260009765625,"x":1709.06494140625},"unique_id":"cj4r1uw5jH1uGwqmgB1SY"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic G-4","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WU7Z-9ZY4-IFY2-OELL","door_data":[{"model_hash":106631274,"door_coords":{"z":35.28200149536133,"y":3704.449951171875,"x":1706.06494140625},"unique_id":"O-gVHmFgJ1ORSBHnJZR86"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic G-5","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UJQG-L7B4-1GBI-GJK8","door_data":[{"model_hash":106631274,"door_coords":{"z":35.28200149536133,"y":3709.68994140625,"x":1703.0350341796876},"unique_id":"_2vOF6FyJGDLujPHbxsM7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic E-3","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V8BH-DMY0-T6I3-RP7N","door_data":[{"model_hash":1858620080,"door_coords":{"z":35.08953475952148,"y":3681.386474609375,"x":1719.623291015625},"unique_id":"pSBHMTdJtx_59x16iW5mG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic 2-1","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ON8G-F9GO-8MXW-0XSC","door_data":[{"model_hash":1686047085,"door_coords":{"z":39.16519546508789,"y":3686.794189453125,"x":1708.0487060546876},"unique_id":"or919gJxiH1KpsA53Ftsg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic 2-2","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0E38-SFY0-NWRU-L0N0","door_data":[{"model_hash":493737836,"door_coords":{"z":39.15148162841797,"y":3687.734375,"x":1704.79296875},"unique_id":"0xs4oI0NfqkVRi7aF1w4n"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic 2-3","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KRUK-2TQ2-PFV4-2YSN","door_data":[{"model_hash":1686047085,"door_coords":{"z":39.16519546508789,"y":3695.86767578125,"x":1702.81005859375},"unique_id":"sM1PVZutP44QnOTZLYYMC"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic 2-4","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SGWJ-3PMU-IVC0-49BI","door_data":[{"model_hash":-1538617716,"door_coords":{"z":39.15148162841797,"y":3694.897216796875,"x":1700.659423828125},"unique_id":"NtUsGd0xYHoaZAHGi3mzr"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic 2-5","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"APAB-6FYY-J6ZB-XISU","door_data":[{"model_hash":-1538617716,"door_coords":{"z":39.15148162841797,"y":3698.68017578125,"x":1698.4752197265626},"unique_id":"55E5Vc4Avh_rK_bH6bJf_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic 2-6","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3DML-V5SU-HNB4-7M5I","door_data":[{"model_hash":-495377267,"door_coords":{"z":39.15148162841797,"y":3703.46240234375,"x":1698.35986328125},"unique_id":"3s5rDzODMgAH4AbHS_AqA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic 1-1","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GQEB-JF1O-3G8M-KD0W","door_data":[{"model_hash":2094319813,"door_coords":{"z":35.12274932861328,"y":3682.343505859375,"x":1708.5318603515626},"unique_id":"C38tuz7wdP6y3S3UjekXj"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Mechanic 1-2","location_group":"Sandy Mechanic","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"W5JH-9OQK-FI8H-PFGA","door_data":[{"model_hash":144666715,"door_coords":{"z":34.68849563598633,"y":3701.872314453125,"x":1695.6029052734376},"unique_id":"hUQdnw89XRKuNhKzcTE29"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Mechanic.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Motel.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Motel.json
new file mode 100644
index 000000000..b54c2fa8e
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Motel.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-1","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KY5N-O0JC-O8QN-WMB5","door_data":[{"model_hash":718415028,"door_coords":{"z":35.05494689941406,"y":3787.65478515625,"x":1616.4639892578126},"unique_id":"0skCHJqGz13tg2kM1r9eV"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-2","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QIA2-XWDR-YVLU-NLK0","door_data":[{"model_hash":718415028,"door_coords":{"z":35.05494689941406,"y":3784.28759765625,"x":1612.069091796875},"unique_id":"j7_nSfnj12p5y3v6Edk8k"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-3","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GUOQ-H0T7-32X3-J0KS","door_data":[{"model_hash":718415028,"door_coords":{"z":35.05494689941406,"y":3780.892822265625,"x":1607.6707763671876},"unique_id":"-pEMBdg7TCXXEAwooM9gg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-4","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SLYJ-LHMB-WDEK-VDDQ","door_data":[{"model_hash":718415028,"door_coords":{"z":35.05494689941406,"y":3777.527587890625,"x":1603.28515625},"unique_id":"N9kWC2vEMd_b45TyX4fyI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-5","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"117Q-NKL9-6DP3-5ERI","door_data":[{"model_hash":718415028,"door_coords":{"z":35.05878067016601,"y":3763.412353515625,"x":1584.8594970703126},"unique_id":"5sDobGpB7QcvinX4_s0G_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-6","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OWWL-FT3J-7HQV-K8OE","door_data":[{"model_hash":718415028,"door_coords":{"z":35.05878067016601,"y":3759.614501953125,"x":1579.904296875},"unique_id":"SbjWdTpxQDGq8IfKy1tKm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-7","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GI93-QKDM-NCPA-43WL","door_data":[{"model_hash":718415028,"door_coords":{"z":35.04315185546875,"y":3774.53125,"x":1623.28125},"unique_id":"-sRo2r9RQXbtsGPZh4LnY"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-8","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"12PI-I3XI-I3EN-S3PP","door_data":[{"model_hash":718415028,"door_coords":{"z":35.04315185546875,"y":3770.7275390625,"x":1618.3240966796876},"unique_id":"ycVeJ-pME15DOsAEcgoUS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-9","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UULG-88UM-6T5Z-6SJV","door_data":[{"model_hash":718415028,"door_coords":{"z":35.04315185546875,"y":3766.9091796875,"x":1613.3477783203126},"unique_id":"QpSjoL6JbBp58PLoj5Pu3"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-10","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Z1NR-531T-PGHN-WS3B","door_data":[{"model_hash":718415028,"door_coords":{"z":35.04315185546875,"y":3763.091796875,"x":1608.3729248046876},"unique_id":"_FBMAP12TBm1G_J3CevPh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-11","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"68S7-YXW5-K4XW-RI84","door_data":[{"model_hash":718415028,"door_coords":{"z":35.04315185546875,"y":3759.27734375,"x":1603.40185546875},"unique_id":"fNLDPTWZqV4KvFTlOiHKg"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-12","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1BOR-5MJI-9L8Q-SYF2","door_data":[{"model_hash":718415028,"door_coords":{"z":35.04315185546875,"y":3755.456298828125,"x":1598.4222412109376},"unique_id":"hb2pGRrnGq5VqD9QgcJh0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-13","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GI69-W2W8-01OJ-7PQP","door_data":[{"model_hash":718415028,"door_coords":{"z":35.04315185546875,"y":3751.642822265625,"x":1593.4525146484376},"unique_id":"leB-PhHeCn48WFJvo7eEc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-14","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"F9PN-NAZ7-FOCS-FC8D","door_data":[{"model_hash":718415028,"door_coords":{"z":35.04315185546875,"y":3748.107666015625,"x":1588.8453369140626},"unique_id":"OlkGGsY-Eep6c9x-OhSTO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-15","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZBTY-PFDK-NCUF-66CB","door_data":[{"model_hash":718415028,"door_coords":{"z":35.04315185546875,"y":3744.637939453125,"x":1584.32421875},"unique_id":"AtMUAE9kN_dnj1K7MGyPF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Motel G-16","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TUCR-1PSZ-JR1J-8K2Q","door_data":[{"model_hash":-1087242187,"door_coords":{"z":35.13037109375,"y":3747.125244140625,"x":1577.6634521484376},"unique_id":"HOArJdYaEZAHQGgKxsVWK"},{"model_hash":-1087242187,"door_coords":{"z":35.13037109375,"y":3749.08837890625,"x":1576.1572265625},"unique_id":"4agHXvYBiwFhEQ5dUKttI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel G-17","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7AQ6-4H75-2UVE-LBJC","door_data":[{"model_hash":-2094971262,"door_coords":{"z":35.13277816772461,"y":3740.1240234375,"x":1573.8060302734376},"unique_id":"iPpedAXHo1_m0RjxF-RFe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-1","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CJW7-CHKZ-18UL-DRNV","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65202713012695,"y":3787.65478515625,"x":1616.4639892578126},"unique_id":"9xsG52__pw-FpFtX7WyC1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-2","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7ZQF-22BB-FWGM-5CML","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65202713012695,"y":3784.30712890625,"x":1612.09619140625},"unique_id":"j6g9lmL8AL37iTUXvuP_A"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-3","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G4U0-H8HX-0LQV-DQYB","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65202713012695,"y":3780.92578125,"x":1607.700927734375},"unique_id":"I4FOonXYTgsbwwUAsSfvS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-4","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LXXZ-GTQ6-WPPJ-BYII","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65202713012695,"y":3777.501220703125,"x":1603.243408203125},"unique_id":"C_t4yf_oOsH-H-vS5JqOX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-5","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H0UA-M00Z-UP8W-WF1E","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65202713012695,"y":3761.370361328125,"x":1582.2303466796876},"unique_id":"Y7W9Ttda7T49q0OJY41TD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-6","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5FAO-VWJG-LEHM-0828","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65202713012695,"y":3757.58642578125,"x":1577.269775390625},"unique_id":"QFVa2hl23qjR_W41JCu_6"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-7","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GVN3-NN4G-5TG7-MOZI","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65202713012695,"y":3753.769775390625,"x":1572.290283203125},"unique_id":"zix7OAvRw9Jn3du-WX1-T"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-8","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KMWW-34GV-YDL5-XYKU","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65088653564453,"y":3774.52490234375,"x":1623.2734375},"unique_id":"fosLaZEXAKuKrlmXSA2el"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-9","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QL4V-1F9W-3Q7U-36OO","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65088653564453,"y":3770.723388671875,"x":1618.3192138671876},"unique_id":"gsHG5wIJqY2S7Y_dgCz6q"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-10","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TM55-0BKM-I2NC-33FZ","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65088653564453,"y":3766.914306640625,"x":1613.355224609375},"unique_id":"POkSQ1gPewCQedSL17a87"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-11","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BOXW-4PRD-6BGS-AZB0","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65088653564453,"y":3763.10498046875,"x":1608.390625},"unique_id":"lL-0dKT-mJkc7539nK4rN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-12","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5FN4-GG2Z-A7F3-XH5P","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65088653564453,"y":3759.283447265625,"x":1603.4102783203126},"unique_id":"Je6B9perElFSKmPCnnL12"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-13","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"O75G-OP1E-7EYY-4CM2","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65088653564453,"y":3755.46044921875,"x":1598.4281005859376},"unique_id":"A6V-rF0x1JVCYtf1tU7SJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-14","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"JM8G-4LF3-POO8-91PM","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65088653564453,"y":3751.630859375,"x":1593.4371337890626},"unique_id":"LziRfjF5icK3Ibxlc0VlO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-15","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"THZB-UCGI-05KH-UKLK","door_data":[{"model_hash":718415028,"door_coords":{"z":38.65088653564453,"y":3747.822021484375,"x":1588.4732666015626},"unique_id":"l9w0KBSFiLaxxP-c5ecys"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-16","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H9PC-CKXJ-5W5O-U23K","door_data":[{"model_hash":718415028,"door_coords":{"z":38.6529655456543,"y":3744.00146484375,"x":1583.494384765625},"unique_id":"76mF47vhe2X9DcWyQ9N2R"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Motel 1-17","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4SS6-C397-ET9O-HO9J","door_data":[{"model_hash":-1087242187,"door_coords":{"z":38.70522689819336,"y":3745.677001953125,"x":1575.7420654296876},"unique_id":"HRbdRYxnD-QQ_cWN7ttYt"},{"model_hash":-1087242187,"door_coords":{"z":38.70522689819336,"y":3747.640380859375,"x":1574.2257080078126},"unique_id":"hO-OU-ezbAC0Mc4V4cnOD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-18","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3IG4-EIH8-2V7V-JFD2","door_data":[{"model_hash":-738528475,"door_coords":{"z":38.72258758544922,"y":3748.385498046875,"x":1571.0679931640626},"unique_id":"oxPZfOrutP5D_2n0jaETS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel 1-19","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LWLF-C4YO-QQOB-Y92V","door_data":[{"model_hash":-2094971262,"door_coords":{"z":38.75629806518555,"y":3742.169921875,"x":1575.3251953125},"unique_id":"g5egWYzCMiBr26VpHAlin"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel Secret-1","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":true,"unique_id":"XQRI-1M6Y-X21I-ITTF","door_data":[{"model_hash":476235269,"door_coords":{"z":37.65934371948242,"y":3737.6748046875,"x":1578.78369140625},"unique_id":"O1NwNOMDFPke5VJvQDGhM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel Secret-2","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":true,"unique_id":"H6LU-Q5FV-BXQS-HQZJ","door_data":[{"model_hash":1358887135,"door_coords":{"z":37.66647338867187,"y":3750.52099609375,"x":1566.1815185546876},"unique_id":"Y5FBn1sWcDgQ1IhgUGij-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel B-1","location_group":"Sandy Motel","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B28X-B5ZA-2PU8-AG69","door_data":[{"model_hash":-1259829481,"door_coords":{"z":31.5613784790039,"y":3740.513916015625,"x":1590.11328125},"unique_id":"tplJeRJbq2y7_OljMH6j_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Motel B-2","location_group":"Sandy Motel","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6KZ3-X8HD-RNOA-TKP8","door_data":[{"model_hash":-1259829481,"door_coords":{"z":31.5802059173584,"y":3743.063720703125,"x":1593.438232421875},"unique_id":"IVkAy6DxU-zxJ2pfphDG5"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Motel.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Sheriff.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Sheriff.json
new file mode 100644
index 000000000..9070ddc10
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Sheriff.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Sheriff Station E-1","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q6RW-ERP4-6AG8-1V73","door_data":[{"model_hash":-1980936835,"door_coords":{"z":34.5544548034668,"y":3666.197265625,"x":1830.706298828125},"unique_id":"Pcj56NFn3EQOc1FHI3QQ3"},{"model_hash":1581676092,"door_coords":{"z":34.55611801147461,"y":3665.04296875,"x":1828.701416015625},"unique_id":"KmxPBsRnWuREJt77yviID"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Sheriff Station E-2","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CXX4-RJXI-NJC8-DWAJ","door_data":[{"model_hash":-1980936835,"door_coords":{"z":38.88916397094726,"y":3662.896240234375,"x":1823.9677734375},"unique_id":"sf1YBEnoxlfBhTPHeMdog"},{"model_hash":1581676092,"door_coords":{"z":38.89082717895508,"y":3664.90087890625,"x":1822.8138427734376},"unique_id":"vjaLDDG1x-tAaQZd0KR5z"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Sheriff Station E-3","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZDHC-G8B0-XZ2Z-Z7UX","door_data":[{"model_hash":-1980936835,"door_coords":{"z":34.55278778076172,"y":3679.877197265625,"x":1815.572998046875},"unique_id":"nzPmnHCzmBPI8TrSuno4i"},{"model_hash":1581676092,"door_coords":{"z":34.55445098876953,"y":3681.031005859375,"x":1817.577880859375},"unique_id":"40ttD9OaqaNcdc0p0J9Vi"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Sheriff Station E-4","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WXNF-FICY-BWTY-QE4O","door_data":[{"model_hash":-1980936835,"door_coords":{"z":31.59107398986816,"y":3678.618896484375,"x":1831.4598388671876},"unique_id":"p4iII73T63E1S_m9AxA05"},{"model_hash":1581676092,"door_coords":{"z":31.59273719787597,"y":3676.614013671875,"x":1832.61376953125},"unique_id":"y8D_V017g6rd2p4ZFb7JG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station E-5","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XKYK-IZWL-XWAO-7HD4","door_data":[{"model_hash":-1980936835,"door_coords":{"z":34.55445098876953,"y":3675.2109375,"x":1834.11279296875},"unique_id":"rt89UzBM6i83lH5QGj7gb"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station E-6","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"32QR-XHKT-UIFE-QBN4","door_data":[{"model_hash":1286535678,"door_coords":{"z":32.81907272338867,"y":3684.87548828125,"x":1865.4468994140626},"unique_id":"ZlHMhhcJCa2SkHYhP5MrI"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station E-7","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZXJU-7HGY-HGRD-6WEH","door_data":[{"model_hash":1286535678,"door_coords":{"z":32.80280303955078,"y":3708.118896484375,"x":1846.5853271484376},"unique_id":"84E6NfqZY6kiB_WtvLpcP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station E-8","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HSFZ-L3LI-LK1G-NQI9","door_data":[{"model_hash":1286535678,"door_coords":{"z":33.27196502685547,"y":3675.81396484375,"x":1805.806884765625},"unique_id":"R2P_Hc2zG-xamlO4Ctijy"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station G-1","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"HL8U-8GPF-CC38-DZAJ","door_data":[{"model_hash":-822900180,"door_coords":{"z":34.95901489257812,"y":3678.05224609375,"x":1838.95458984375},"unique_id":"hYJg2gyuyokV3UEvI0BpO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Sheriff Station 1-1","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9N7N-T8CC-YC2I-3EO8","door_data":[{"model_hash":-1359993876,"door_coords":{"z":34.55217742919922,"y":3669.497802734375,"x":1824.369140625},"unique_id":"KMv4FvxrHZa94QJAEQsOq"},{"model_hash":-1359993876,"door_coords":{"z":34.55217742919922,"y":3668.19677734375,"x":1822.11572265625},"unique_id":"mNT7_aD3893mxYqEpxKE7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 1-2","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LCKF-JMSN-EC9C-HA2X","door_data":[{"model_hash":-1198567762,"door_coords":{"z":34.55217742919922,"y":3667.123779296875,"x":1831.8428955078128},"unique_id":"FBKSEOi_Sfo4mSJBr7tIT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 1-3","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BH58-ZNXC-OX18-2LMT","door_data":[{"model_hash":-1359993876,"door_coords":{"z":34.55218124389648,"y":3668.947998046875,"x":1834.154296875},"unique_id":"PgxlHaK4Yurk6CeUllbeK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 1-4","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L8RP-80BR-R90O-XKC1","door_data":[{"model_hash":-1359993876,"door_coords":{"z":34.55218124389648,"y":3672.025146484375,"x":1829.177978515625},"unique_id":"sBg2OgF-_CwJx09bMjL1g"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 1-5","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OWVS-MZGF-ENJM-DL6V","door_data":[{"model_hash":-648906987,"door_coords":{"z":34.5640983581543,"y":3666.528076171875,"x":1819.3739013671876},"unique_id":"3YW7nr1kQaapKy_o9sx-D"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Sheriff Station 1-6","location_group":"Sandy Sheriff","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"N4WA-WLNZ-2TAT-H14Q","door_data":[{"model_hash":-443582481,"door_coords":{"z":34.55217742919922,"y":3672.133056640625,"x":1819.21875},"unique_id":"l_7kC_2Ejsha5MQD1uBr9"},{"model_hash":1090498258,"door_coords":{"z":34.55217742919922,"y":3669.85693359375,"x":1818.6075439453128},"unique_id":"yQtPKfUYYyXl9-D5-IBDt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 1-7","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"STPT-O8DS-3HKQ-75QG","door_data":[{"model_hash":-1359993876,"door_coords":{"z":34.55217742919922,"y":3672.313720703125,"x":1824.106201171875},"unique_id":"N_kZ8McQXmoYpEtAhfWVA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 1-8","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H2LE-OUS9-3WK7-UJTL","door_data":[{"model_hash":-1599297511,"door_coords":{"z":34.55217742919922,"y":3675.105224609375,"x":1821.6248779296876},"unique_id":"sdjXvU2GWKL73Od_SApLG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Sheriff Station 1-9","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3KNY-MPQY-6BXK-TA7J","door_data":[{"model_hash":1220592199,"door_coords":{"z":34.55217742919922,"y":3675.51953125,"x":1821.3836669921876},"unique_id":"1tQhI6gKShmrvcgZ19xNr"},{"model_hash":-1807296178,"door_coords":{"z":34.55217742919922,"y":3677.77294921875,"x":1820.0826416015626},"unique_id":"U6v2Nu-o0aszWJz-GNqBK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 1-10","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3BRI-CB62-45NK-AK96","door_data":[{"model_hash":-902064185,"door_coords":{"z":34.55217742919922,"y":3678.45849609375,"x":1819.7030029296876},"unique_id":"Ia3iJWG1Rs1KCTETXSDsk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Sheriff Station 2-1","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FER0-V972-52B3-A8MF","door_data":[{"model_hash":1090498258,"door_coords":{"z":38.88373947143555,"y":3668.576171875,"x":1823.3118896484376},"unique_id":"CppGYE2T39F1PMY1lpn2J"},{"model_hash":-443582481,"door_coords":{"z":38.88373947143555,"y":3670.852294921875,"x":1823.9229736328128},"unique_id":"_Pd2UUY2JcXnRf0DjmF6h"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 2-2","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"URFZ-84FJ-YZS4-4N04","door_data":[{"model_hash":855469211,"door_coords":{"z":38.88066864013672,"y":3668.013671875,"x":1830.811767578125},"unique_id":"M7QWBmMkKDnv9A7g3j_9c"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 2-3","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YK0L-F6SN-PWCM-LC2Y","door_data":[{"model_hash":-1198567762,"door_coords":{"z":38.88855361938476,"y":3671.620849609375,"x":1832.43017578125},"unique_id":"PzNz8sOujkEAfAeCVj41B"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 2-4","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6J9Q-SVP6-Y1TL-HHGI","door_data":[{"model_hash":-1198567762,"door_coords":{"z":38.88855361938476,"y":3673.307373046875,"x":1831.4564208984376},"unique_id":"sY6FJl1d5zefcSG1HLeRw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 2-5","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"S3A7-SZTL-2EIU-IOEA","door_data":[{"model_hash":-1198567762,"door_coords":{"z":38.88855361938476,"y":3675.000244140625,"x":1830.47900390625},"unique_id":"9v-v4KRLOMpQ9gJuaLOXj"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 2-6","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A892-OC62-PGPP-YUD5","door_data":[{"model_hash":549536201,"door_coords":{"z":38.8885498046875,"y":3677.76806640625,"x":1825.579833984375},"unique_id":"QCtMvKsZOGFbnngrG9JDB"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 2-7","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3DY7-VUJG-4KDP-I1HE","door_data":[{"model_hash":1627904350,"door_coords":{"z":38.89082336425781,"y":3680.985107421875,"x":1823.675048828125},"unique_id":"6bg7_V-qO4QJPuoz11TN7"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station E-9","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YAC4-VTCN-DHRY-0MV8","door_data":[{"model_hash":2076431776,"door_coords":{"z":42.83003234863281,"y":3670.895263671875,"x":1831.954833984375},"unique_id":"5OMHnc2al-8T4CnDFYSPS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 1-11","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"C5BI-RKQ0-95PG-BE3P","door_data":[{"model_hash":-1534276536,"door_coords":{"z":34.55218124389648,"y":3670.271484375,"x":1836.4466552734376},"unique_id":"W8RYZkQyGOH06bdo8TDVt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Sheriff Station 0-1","location_group":"Sandy Sheriff","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0XCH-E69Q-3QZZ-R8LM","door_data":[{"model_hash":-954071075,"door_coords":{"z":31.58880043029785,"y":3680.7158203125,"x":1830.08935546875},"unique_id":"_XUt2A_iaFY3vuck3wB08"},{"model_hash":-532039068,"door_coords":{"z":31.58880043029785,"y":3679.414794921875,"x":1827.8359375},"unique_id":"LSl9P9f8ojgtrGfzMBD_I"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Shores Sheriff Station 0-2","location_group":"Sandy Sheriff","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TGT4-WO08-NTE5-86VO","door_data":[{"model_hash":-778772229,"door_coords":{"z":31.58880043029785,"y":3677.535888671875,"x":1828.7684326171876},"unique_id":"zG6BCU2tx3Zb5uGj3_jDQ"},{"model_hash":1163413636,"door_coords":{"z":31.58880043029785,"y":3675.282958984375,"x":1830.0701904296876},"unique_id":"K2fOOVp-HBxMqGCFhpTHL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-3","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IAML-U2DQ-FDT4-2J0H","door_data":[{"model_hash":1328379272,"door_coords":{"z":30.80529975891113,"y":3685.958984375,"x":1827.4638671875},"unique_id":"MS9lFr1PdqSdQkXWSF060"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-4","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LC0A-D901-NKEV-XAN9","door_data":[{"model_hash":-954071075,"door_coords":{"z":30.80529975891113,"y":3688.883544921875,"x":1825.7886962890626},"unique_id":"hN9fttzlNZBhufqt1W0hW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-7","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XXOY-15HX-ZT8Q-EOV4","door_data":[{"model_hash":1667632123,"door_coords":{"z":30.86857986450195,"y":3680.68310546875,"x":1821.9716796875},"unique_id":"rM45rDx3SAdQ57125mVlC"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-5","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"55RR-H7HB-UF6C-REIC","door_data":[{"model_hash":-571098561,"door_coords":{"z":30.84140396118164,"y":3678.58935546875,"x":1823.087158203125},"unique_id":"-Au3MemMPFrctlXk_NbyY"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-6","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ENHQ-KTQI-8R5B-6Y3M","door_data":[{"model_hash":961407919,"door_coords":{"z":30.84356307983398,"y":3673.342529296875,"x":1825.189697265625},"unique_id":"ebYw2J690t_0DB6cz9MMc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-8","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IQCL-UH9N-KQQI-9AYP","door_data":[{"model_hash":961407919,"door_coords":{"z":30.84356307983398,"y":3674.95556640625,"x":1822.91845703125},"unique_id":"LybBq67pSOR_S2iUMzSIT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-9","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GP4O-EXRV-WO9A-BZ08","door_data":[{"model_hash":961407919,"door_coords":{"z":30.84356307983398,"y":3673.28857421875,"x":1819.824462890625},"unique_id":"bokEczB3t0YaCYx8vO6C-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-10","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SJ5G-4V68-IRYT-OX6F","door_data":[{"model_hash":961407919,"door_coords":{"z":30.84356307983398,"y":3671.293701171875,"x":1825.03271484375},"unique_id":"t_UfTTZ7rL18QNDaX2aU1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-11","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6V5D-TUJ3-5IPV-WWXU","door_data":[{"model_hash":961407919,"door_coords":{"z":30.84356307983398,"y":3678.063232421875,"x":1817.06787109375},"unique_id":"djd0Js7OJoaXts7wyWsok"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-12","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TXTM-PZ3J-1JNE-0ACZ","door_data":[{"model_hash":961407919,"door_coords":{"z":30.84356307983398,"y":3679.90966796875,"x":1820.0582275390626},"unique_id":"RjddxTYq9oUPln-LSjnl9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Sandy Shores Sheriff Station 0-13","location_group":"Sandy Sheriff","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"R4ZU-CEQZ-3AFS-J1Q1","door_data":[{"model_hash":961407919,"door_coords":{"z":30.84356307983398,"y":3667.7734375,"x":1827.0650634765626},"unique_id":"lKf1EN5hwDI8y7LCMwWss"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Sheriff.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Train_Station.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Train_Station.json
new file mode 100644
index 000000000..e7c0a6bba
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Sandy_Train_Station.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Train Station E-2","location_group":"Sandy Train Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LKTG-QJ59-S117-TL7S","door_data":[{"model_hash":-1894423230,"door_coords":{"z":39.20650482177734,"y":3576.14794921875,"x":1909.319091796875},"unique_id":"N69pqklnk6MUnOApmh498"},{"model_hash":297231150,"door_coords":{"z":39.20650482177734,"y":3575.0322265625,"x":1907.347900390625},"unique_id":"gDlH9CUjZ8ofiNeylHC0E"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Train Station E-1","location_group":"Sandy Train Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZMLE-4S8V-R5R8-MB2Y","door_data":[{"model_hash":-1894423230,"door_coords":{"z":39.20650482177734,"y":3584.54248046875,"x":1901.7529296875},"unique_id":"HEC9oHH80Og-dOJaB_jEW"},{"model_hash":297231150,"door_coords":{"z":39.20650482177734,"y":3585.67431640625,"x":1903.703369140625},"unique_id":"MlpfFuHd6zroZTqqOuM_N"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Sandy Train Station E-3","location_group":"Sandy Train Station","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K8FN-ZLKL-HHD7-GMG6","door_data":[{"model_hash":-1894423230,"door_coords":{"z":39.20650482177734,"y":3578.54931640625,"x":1913.507568359375},"unique_id":"-WgI_Lz6uY4cRHvsQzp_L"},{"model_hash":297231150,"door_coords":{"z":39.20650482177734,"y":3577.43701171875,"x":1911.54248046875},"unique_id":"fPlYPGHwtBtgXc8eFn6Z5"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Sandy_Train_Station.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Secret_Underground.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Secret_Underground.json
new file mode 100644
index 000000000..441f4218d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Secret_Underground.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Secret Marijuana Plantation E-1","location_group":"Secret Underground","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7FAR-48FM-XXRX-VYGS","door_data":[{"model_hash":-1207991715,"door_coords":{"z":33.15013122558594,"y":-1702.2708740234376,"x":-186.4388427734375},"unique_id":"khe8irndYpTQj21LYWK8b"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Secret Marijuana Plantation 1-1","location_group":"Secret Underground","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D3VC-KQ53-BILL-RRJB","door_data":[{"model_hash":-340230128,"door_coords":{"z":33.14407730102539,"y":-1705.12451171875,"x":-189.5607757568359},"unique_id":"nm8Zyi4SaPcKdDNr1tLWy"},{"model_hash":-340230128,"door_coords":{"z":33.14407730102539,"y":-1707.118408203125,"x":-187.89268493652345},"unique_id":"s4WljIfBgoWbMjONVldmz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Secret Marijuana Plantation 0-1","location_group":"Secret Underground","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OI8T-FQ1S-12LE-A2ZD","door_data":[{"model_hash":452874391,"door_coords":{"z":28.42519950866699,"y":-1713.491455078125,"x":-187.68603515625},"unique_id":"eP0wqQQGQsZU0GH-Fdwv5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Secret Marijuana Plantation 0-2","location_group":"Secret Underground","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1F14-GCIO-K0RL-FWQV","door_data":[{"model_hash":199886144,"door_coords":{"z":28.41531181335449,"y":-1699.874755859375,"x":-173.4237060546875},"unique_id":"AXGV3DdHjOBwBHqZQ-XWf"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Secret Marijuana Plantation 0-3","location_group":"Secret Underground","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IMON-NNSC-AH7N-M8XI","door_data":[{"model_hash":199886144,"door_coords":{"z":26.18354797363281,"y":-1692.38037109375,"x":-174.86668395996098},"unique_id":"XYqfy_JOSzoyX-_oTVMcW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Secret Marijuana Plantation 0-4","location_group":"Secret Underground","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q58A-7NRJ-XL2T-8D85","door_data":[{"model_hash":452874391,"door_coords":{"z":26.14149284362793,"y":-1692.2677001953126,"x":-180.088134765625},"unique_id":"GGzQ7gOqBuTIObVRq7Chw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Secret Marijuana Plantation 0-5","location_group":"Secret Underground","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2GAR-W0CA-GPAJ-WU4W","door_data":[{"model_hash":964838196,"door_coords":{"z":26.18293952941894,"y":-1694.893310546875,"x":-190.2012481689453},"unique_id":"v_M1x1QaG-woSLEPSYjCU"},{"model_hash":964838196,"door_coords":{"z":26.18293952941894,"y":-1693.220947265625,"x":-188.20835876464845},"unique_id":"DIAmOdBPtsgZoETo4I16A"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Secret_Underground.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Truck_You_Repairs.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Truck_You_Repairs.json
new file mode 100644
index 000000000..e08976b64
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Truck_You_Repairs.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 1-1-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8TR9-QYF5-VFC2-MVTG","door_data":[{"model_hash":964838196,"door_coords":{"z":42.28619384765625,"y":-1017.1438598632813,"x":938.6293334960938},"unique_id":"_tIWYVwtP2pdUAyfEOBlv"},{"model_hash":964838196,"door_coords":{"z":42.28619384765625,"y":-1017.1438598632813,"x":936.02880859375},"unique_id":"IXWoxSJcNhRU_LyVZhfPW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 1-1-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FX7S-BFX3-0V3K-DT8C","door_data":[{"model_hash":-952356348,"door_coords":{"z":42.28765487670898,"y":-1013.5996704101564,"x":939.5059814453124},"unique_id":"a6at0Q2qp4RvM2qP6XEIl"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 1-E-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1ZHR-XHDT-EHQT-8GBI","door_data":[{"model_hash":-1212951353,"door_coords":{"z":42.2885513305664,"y":-1011.4185791015624,"x":936.0236206054688},"unique_id":"tEBam3muQPXVngVzKG9lK"},{"model_hash":-1212951353,"door_coords":{"z":42.2885513305664,"y":-1011.4185791015624,"x":938.623779296875},"unique_id":"91di4dtDhC2WJ8450o2RC"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 1-1-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BWR0-P8LD-BXAG-R2HJ","door_data":[{"model_hash":964838196,"door_coords":{"z":40.98083114624023,"y":-1020.9387817382813,"x":926.1654663085938},"unique_id":"eK4WD5nsv9vQ1-nlRtiz8"},{"model_hash":964838196,"door_coords":{"z":40.98083114624023,"y":-1023.5384521484376,"x":926.1654663085938},"unique_id":"NUSvbVfzlZDGl2pWayHGE"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 1-1-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L7E7-JYIZ-A5QI-2GKR","door_data":[{"model_hash":964838196,"door_coords":{"z":40.98283004760742,"y":-1030.461181640625,"x":922.7977905273438},"unique_id":"sBMcSKHbbCqki1prZwqXN"},{"model_hash":964838196,"door_coords":{"z":40.98283004760742,"y":-1033.062744140625,"x":922.7977905273438},"unique_id":"QhmPL0pM9y5A1ecS9_V19"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 1-G-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QFRC-73AZ-07OI-QY6W","door_data":[{"model_hash":140742819,"door_coords":{"z":42.11402893066406,"y":-1014.1070556640624,"x":962.6578979492188},"unique_id":"HDl0ZruJ-jJODze89cggp"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 1-G-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A1WZ-YMD4-75O0-BVCG","door_data":[{"model_hash":140742819,"door_coords":{"z":42.11402893066406,"y":-1019.7545166015624,"x":962.6578979492188},"unique_id":"Hnaw25K56HS4q5E4itKpn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 1-G-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PEA4-5EMM-QMRG-B6XP","door_data":[{"model_hash":140742819,"door_coords":{"z":42.11402893066406,"y":-1025.4339599609376,"x":962.6578979492188},"unique_id":"XNpctXiKwLWNgXo6QSS36"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 1-G-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E9U5-OQ4F-2I4U-RLIJ","door_data":[{"model_hash":140742819,"door_coords":{"z":42.11402893066406,"y":-1031.1181640625,"x":962.6578979492188},"unique_id":"IMUvf7iaHDA1Vn0ANs6iK"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 2-E-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CZD0-8ERV-8W6M-R5N5","door_data":[{"model_hash":-1212951353,"door_coords":{"z":58.662353515625,"y":3376.906005859375,"x":2670.194580078125},"unique_id":"FDXDorBGC7KuF6OvPT6Vz"},{"model_hash":-1212951353,"door_coords":{"z":58.662353515625,"y":3379.29931640625,"x":2671.210693359375},"unique_id":"nfKcNwGsQx_6OjG5NKCxt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 2-1-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6SSY-4LK6-NSV5-DKAN","door_data":[{"model_hash":964838196,"door_coords":{"z":58.65999603271484,"y":3377.0673828125,"x":2676.483154296875},"unique_id":"hK5fWQoZ2-7hmdpwlqq71"},{"model_hash":964838196,"door_coords":{"z":58.65999603271484,"y":3374.673583984375,"x":2675.467041015625},"unique_id":"eFkJ-GtH_UbtyRhEWyjpX"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 2-1-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PUFI-T101-OIPI-ITSL","door_data":[{"model_hash":-952356348,"door_coords":{"z":58.66145706176758,"y":3379.25927734375,"x":2673.563232421875},"unique_id":"EMpXjJ6FWGNFiX5L8cRzR"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 2-1-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2UQA-EHTZ-94A7-HYZ0","door_data":[{"model_hash":964838196,"door_coords":{"z":57.35463333129883,"y":3364.111572265625,"x":2675.106201171875},"unique_id":"q25PSk2SFf8eWtIYWMAe0"},{"model_hash":964838196,"door_coords":{"z":57.35463333129883,"y":3363.095947265625,"x":2677.499267578125},"unique_id":"wx-4oEY2JChtHjyGyMSTP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 2-1-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RH99-6SM3-GH75-DNZY","door_data":[{"model_hash":964838196,"door_coords":{"z":57.35663223266601,"y":3357.290771484375,"x":2682.5556640625},"unique_id":"mV--rl-TDIbHqQjkryVoI"},{"model_hash":964838196,"door_coords":{"z":57.35663223266601,"y":3356.2744140625,"x":2684.950439453125},"unique_id":"YygR-1jcZZzNsiJlb_1ge"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 2-G-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5I4J-G5Q0-GE20-86T8","door_data":[{"model_hash":140742819,"door_coords":{"z":58.48783111572265,"y":3400.372314453125,"x":2683.076416015625},"unique_id":"MKmZnGejeJM_8io4RGpRc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 2-G-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TFL9-SPKS-FK4A-YAU8","door_data":[{"model_hash":140742819,"door_coords":{"z":58.48783111572265,"y":3398.165771484375,"x":2688.27490234375},"unique_id":"KkYUPc5H-4VZdtnMKaS5c"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 2-G-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4D9H-QFIA-UP6Z-7Q70","door_data":[{"model_hash":140742819,"door_coords":{"z":58.48783111572265,"y":3395.946533203125,"x":2693.5029296875},"unique_id":"ItAkCESyvVpleUQZqwP7r"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 2-G-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q4KX-WQKR-BD3A-IGUA","door_data":[{"model_hash":140742819,"door_coords":{"z":58.48783111572265,"y":3393.7255859375,"x":2698.735107421875},"unique_id":"L2zhhx5ONhn5nKeJdNln4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 3-E-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q1A7-3OG0-71Z7-1Q3N","door_data":[{"model_hash":-1212951353,"door_coords":{"z":38.34554290771484,"y":5715.79638671875,"x":-629.8409423828125},"unique_id":"Nslon9jNy7NDVIEQRH6z9"},{"model_hash":-1212951353,"door_coords":{"z":38.34554290771484,"y":5714.65673828125,"x":-627.50390625},"unique_id":"rLnjYQknn8apRxpSMhDVJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 3-1-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XO1Q-W1II-OUTQ-S04U","door_data":[{"model_hash":964838196,"door_coords":{"z":38.34318542480469,"y":5709.50830078125,"x":-630.0086669921875},"unique_id":"3ejz9kSZWesZWJthX1Sc0"},{"model_hash":964838196,"door_coords":{"z":38.34318542480469,"y":5710.6484375,"x":-632.3460693359375},"unique_id":"ubp_g2hBhDv2g1AKPkwN9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 3-1-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BLA6-51MZ-OWLU-UI0G","door_data":[{"model_hash":-952356348,"door_coords":{"z":38.34464645385742,"y":5712.3095703125,"x":-627.6671142578125},"unique_id":"Vz1PUs3SGbDkO5Fy46td5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 3-1-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"W38D-O34J-C5DU-4K8W","door_data":[{"model_hash":964838196,"door_coords":{"z":37.03782272338867,"y":5711.5615234375,"x":-642.874755859375},"unique_id":"zGNf8ui1ZqNJYs01k89TH"},{"model_hash":964838196,"door_coords":{"z":37.03782272338867,"y":5709.224609375,"x":-644.0143432617188},"unique_id":"3fKNGdwU1U02PfvLIUxkP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 3-1-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6H7A-VF68-PIHH-VAKV","door_data":[{"model_hash":964838196,"door_coords":{"z":37.03982162475586,"y":5704.478515625,"x":-650.075927734375},"unique_id":"z5wTKywk3fMKNjQFGjss1"},{"model_hash":964838196,"door_coords":{"z":37.03982162475586,"y":5702.140625,"x":-651.2163696289063},"unique_id":"ofLTrvCc-RXxlURNie3Ru"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 3-G-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"T32H-MRQR-6NM8-GA2I","door_data":[{"model_hash":140742819,"door_coords":{"z":38.1710205078125,"y":5701.7041015625,"x":-607.0807495117188},"unique_id":"-9v8WsVlIYBLWLW6YeLaS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 3-G-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"KCN1-7GJJ-AWRC-2SI6","door_data":[{"model_hash":140742819,"door_coords":{"z":38.1710205078125,"y":5696.62841796875,"x":-609.5564575195313},"unique_id":"f4tfXIeGoYkNxHdm2lq-A"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 3-G-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IDA3-7QON-6UQM-CX5Q","door_data":[{"model_hash":140742819,"door_coords":{"z":38.1710205078125,"y":5691.5234375,"x":-612.046142578125},"unique_id":"2jn7EFEkwXg1o1BKPeCoF"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 3-G-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0WCM-L2MQ-8SCE-MEY1","door_data":[{"model_hash":140742819,"door_coords":{"z":38.1710205078125,"y":5686.41455078125,"x":-614.5379638671875},"unique_id":"wnG7DHoEw2_K4Bp5iXcoL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 1-1-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XLQJ-AWW0-DQIU-BGUQ","door_data":[{"model_hash":964838196,"door_coords":{"z":42.28619384765625,"y":-1017.1438598632813,"x":938.6293334960938},"unique_id":"dft9qwwp0caqh9o-Fj6oz"},{"model_hash":964838196,"door_coords":{"z":42.28619384765625,"y":-1017.1438598632813,"x":936.02880859375},"unique_id":"Vrl17voaiPEwm726hQTVZ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 1-1-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4420-QY46-N27U-X55X","door_data":[{"model_hash":-952356348,"door_coords":{"z":42.28765487670898,"y":-1013.5996704101564,"x":939.5059814453124},"unique_id":"QQ-iaXvHDU5HwxyfBZmeh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 1-E-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LZS7-U3FF-ON1Q-SC93","door_data":[{"model_hash":-1212951353,"door_coords":{"z":42.2885513305664,"y":-1011.4185791015624,"x":936.0236206054688},"unique_id":"UnrzQR_oy92f6ARXUqx_h"},{"model_hash":-1212951353,"door_coords":{"z":42.2885513305664,"y":-1011.4185791015624,"x":938.623779296875},"unique_id":"8LBiyHFhtSjtlcLrJBi2J"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 1-1-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"USRM-1SFS-N0YO-WC3G","door_data":[{"model_hash":964838196,"door_coords":{"z":40.98083114624023,"y":-1020.9387817382813,"x":926.1654663085938},"unique_id":"5nlvJ9NPUmO37beKb5v0_"},{"model_hash":964838196,"door_coords":{"z":40.98083114624023,"y":-1023.5384521484376,"x":926.1654663085938},"unique_id":"Bj6CLbaR4RvlZZwfpKXTf"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 1-1-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"401G-KUB5-GZ49-3R3V","door_data":[{"model_hash":964838196,"door_coords":{"z":40.98283004760742,"y":-1030.461181640625,"x":922.7977905273438},"unique_id":"HoLeBXdd_nkgFccqy3n65"},{"model_hash":964838196,"door_coords":{"z":40.98283004760742,"y":-1033.062744140625,"x":922.7977905273438},"unique_id":"eGhIAbmiNlrF-Xol-2nPJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 1-G-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0JC9-EDM4-I6LL-LPV8","door_data":[{"model_hash":140742819,"door_coords":{"z":42.11402893066406,"y":-1014.1070556640624,"x":962.6578979492188},"unique_id":"eV34uKev0-fqFq_euM6qe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 1-G-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MHZ1-OGDY-M2JI-5FKQ","door_data":[{"model_hash":140742819,"door_coords":{"z":42.11402893066406,"y":-1019.7545166015624,"x":962.6578979492188},"unique_id":"Jybvc_6S_Sj4fjvBxL1a9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 1-G-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"OECO-522O-OPYG-CCUS","door_data":[{"model_hash":140742819,"door_coords":{"z":42.11402893066406,"y":-1025.4339599609376,"x":962.6578979492188},"unique_id":"EJ5SX9JvW71P1TB4XVgwd"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 1-G-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RJPE-QB9F-P03I-TX6A","door_data":[{"model_hash":140742819,"door_coords":{"z":42.11402893066406,"y":-1031.1181640625,"x":962.6578979492188},"unique_id":"Bprkay3kSwSQIPhKm1TCu"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 2-E-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QAT8-VE7P-J84U-LHAZ","door_data":[{"model_hash":-1212951353,"door_coords":{"z":58.662353515625,"y":3376.906005859375,"x":2670.194580078125},"unique_id":"-jILBcREIFldhhD40gw7O"},{"model_hash":-1212951353,"door_coords":{"z":58.662353515625,"y":3379.29931640625,"x":2671.210693359375},"unique_id":"Nr0PO0h_zT8OiJ88RsCy8"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 2-1-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E4Q0-SNDB-CDCQ-87WE","door_data":[{"model_hash":964838196,"door_coords":{"z":58.65999603271484,"y":3377.0673828125,"x":2676.483154296875},"unique_id":"0sWdcZJXAWiOfy60ntBIY"},{"model_hash":964838196,"door_coords":{"z":58.65999603271484,"y":3374.673583984375,"x":2675.467041015625},"unique_id":"a07bZMY2riQS5SP08Vm39"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 2-1-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Y5XO-SDEE-2JRN-5INV","door_data":[{"model_hash":-952356348,"door_coords":{"z":58.66145706176758,"y":3379.25927734375,"x":2673.563232421875},"unique_id":"p4KULLAT98lL2urJfoTl3"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 2-1-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4PMY-TWZN-Q0AX-HDLE","door_data":[{"model_hash":964838196,"door_coords":{"z":57.35463333129883,"y":3364.111572265625,"x":2675.106201171875},"unique_id":"q9Y3Xrw6rm29JFHVulo1h"},{"model_hash":964838196,"door_coords":{"z":57.35463333129883,"y":3363.095947265625,"x":2677.499267578125},"unique_id":"4PYzOm4359e5Y_f0sKFY9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 2-1-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IC7Z-4GBF-LJ1L-ZJQ5","door_data":[{"model_hash":964838196,"door_coords":{"z":57.35663223266601,"y":3357.290771484375,"x":2682.5556640625},"unique_id":"hy_bKE18kW6FRoV4667-L"},{"model_hash":964838196,"door_coords":{"z":57.35663223266601,"y":3356.2744140625,"x":2684.950439453125},"unique_id":"HU6yXzmxEKmEkWAzGzk48"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 2-G-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"GH9V-UHMN-CJSU-GOLX","door_data":[{"model_hash":140742819,"door_coords":{"z":58.48783111572265,"y":3400.372314453125,"x":2683.076416015625},"unique_id":"8RDYvGErK6tBYrs2zGOPa"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 2-G-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MG40-0O0C-4WI3-EBAF","door_data":[{"model_hash":140742819,"door_coords":{"z":58.48783111572265,"y":3398.165771484375,"x":2688.27490234375},"unique_id":"0OsJrFxm_KIBoJsLSKXGa"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 2-G-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MQ6K-P15M-YGQC-OY29","door_data":[{"model_hash":140742819,"door_coords":{"z":58.48783111572265,"y":3395.946533203125,"x":2693.5029296875},"unique_id":"lEHq8SgzVQVZ6GZL7jyXJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 2-G-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XN6G-87R8-70KD-FEQP","door_data":[{"model_hash":140742819,"door_coords":{"z":58.48783111572265,"y":3393.7255859375,"x":2698.735107421875},"unique_id":"2iKE5ZfTgbdkKsGpzoPXC"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 3-E-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"V442-QIJR-J2BB-IWPW","door_data":[{"model_hash":-1212951353,"door_coords":{"z":38.34554290771484,"y":5715.79638671875,"x":-629.8409423828125},"unique_id":"BoX5EK4IMZ8VVQc7MXemI"},{"model_hash":-1212951353,"door_coords":{"z":38.34554290771484,"y":5714.65673828125,"x":-627.50390625},"unique_id":"MmfNbCwoxmqIay9Xv5oNV"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 3-1-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"SIDU-T8FX-SQA7-UBPL","door_data":[{"model_hash":964838196,"door_coords":{"z":38.34318542480469,"y":5709.50830078125,"x":-630.0086669921875},"unique_id":"8Yq6FcHkpckf99SHEr6Fz"},{"model_hash":964838196,"door_coords":{"z":38.34318542480469,"y":5710.6484375,"x":-632.3460693359375},"unique_id":"sv16qPXsTOBJ8PnupvMnW"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 3-1-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QQA4-A2CX-3HQ0-RH75","door_data":[{"model_hash":-952356348,"door_coords":{"z":38.34464645385742,"y":5712.3095703125,"x":-627.6671142578125},"unique_id":"9epaLEKnLGcR43lpKIJiO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 3-1-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4Y41-YFWK-KBVG-6AB8","door_data":[{"model_hash":964838196,"door_coords":{"z":37.03782272338867,"y":5711.5615234375,"x":-642.874755859375},"unique_id":"6LpAfrWlpWCuI3-S1h3qE"},{"model_hash":964838196,"door_coords":{"z":37.03782272338867,"y":5709.224609375,"x":-644.0143432617188},"unique_id":"UNuc-jTJEKYh0pS0E2Hmr"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"DOT Repairs / Truck Repairs 3-1-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IVLP-FT7Z-QJGR-64IH","door_data":[{"model_hash":964838196,"door_coords":{"z":37.03982162475586,"y":5704.478515625,"x":-650.075927734375},"unique_id":"8k39CLrNd3gV8r7Pd6hcI"},{"model_hash":964838196,"door_coords":{"z":37.03982162475586,"y":5702.140625,"x":-651.2163696289063},"unique_id":"cRPqhpnk-YDfPxod20nM4"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 3-G-1","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"EH0B-J1LR-B6NC-E243","door_data":[{"model_hash":140742819,"door_coords":{"z":38.1710205078125,"y":5701.7041015625,"x":-607.0807495117188},"unique_id":"b36wXCYQLqHwdRVwrUdQV"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 3-G-2","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0TNJ-CXN5-UDUX-SX4F","door_data":[{"model_hash":140742819,"door_coords":{"z":38.1710205078125,"y":5696.62841796875,"x":-609.5564575195313},"unique_id":"1BwrMpMQorFRJ_NumKSsJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 3-G-3","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A34V-V4F1-YTPN-XQJS","door_data":[{"model_hash":140742819,"door_coords":{"z":38.1710205078125,"y":5691.5234375,"x":-612.046142578125},"unique_id":"C7Z-rDcyLbgjd8bX59qf2"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"DOT Repairs / Truck Repairs 3-G-4","location_group":"Truck You Repairs","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IAIW-LOLJ-193Z-C1A4","door_data":[{"model_hash":140742819,"door_coords":{"z":38.1710205078125,"y":5686.41455078125,"x":-614.5379638671875},"unique_id":"oDxCQJn1lKO9D8rja-8RS"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Truck_You_Repairs.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Vespucci_City_Hall.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Vespucci_City_Hall.json
new file mode 100644
index 000000000..93fc0be75
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Vespucci_City_Hall.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall E-1","location_group":"Vespucci City Hall","door_sound":"","state":false,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q0I6-2FTZ-BKFY-M5SH","door_data":[{"model_hash":-914307974,"door_coords":{"z":30.70686149597168,"y":-566.29541015625,"x":-1286.8631591796876},"unique_id":"5ywjKIHLLFNrZXm7_Q778"},{"model_hash":575108502,"door_coords":{"z":30.70686149597168,"y":-568.3997192382813,"x":-1285.097412109375},"unique_id":"miwi8oeOpOnV3JQZ5YLE5"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall E-2","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0E44-N5Z7-KG1U-SFGZ","door_data":[{"model_hash":320433149,"door_coords":{"z":30.72524261474609,"y":-579.072509765625,"x":-1297.907958984375},"unique_id":"waVwuvDkmQ-DB73U0a4Rm"},{"model_hash":-1215222675,"door_coords":{"z":30.72524261474609,"y":-577.080322265625,"x":-1299.5794677734376},"unique_id":"4fwY_ZyWeMGvaD21kjVDQ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall E-3","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"S4NK-X5QR-4UL8-YB88","door_data":[{"model_hash":-752989555,"door_coords":{"z":23.10609054565429,"y":-601.263427734375,"x":-1276.1419677734376},"unique_id":"UwnbshgjeG_TBBTehX39j"},{"model_hash":-752989555,"door_coords":{"z":23.10098075866699,"y":-605.3101806640625,"x":-1280.968994140625},"unique_id":"ckh_hX51N5f5jdxNBt4O0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall 0-1","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WZ8N-F665-AXLC-ZTY7","door_data":[{"model_hash":-1240156945,"door_coords":{"z":19.80200004577636,"y":-558.2164306640625,"x":-1305.8968505859376},"unique_id":"UVCEwsxGa35DBZyOOeaew"},{"model_hash":-1240156945,"door_coords":{"z":19.80200004577636,"y":-559.1808471679688,"x":-1307.0462646484376},"unique_id":"4Wtkuwm1btkWds_rPuiTO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall 0-2","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XVO5-2BOV-1J4F-Y8QY","door_data":[{"model_hash":-1240156945,"door_coords":{"z":19.80200004577636,"y":-559.9143676757813,"x":-1307.9205322265626},"unique_id":"wuVZZcQM2c3GjWj-XSNmB"},{"model_hash":-1240156945,"door_coords":{"z":19.80200004577636,"y":-560.8787231445313,"x":-1309.0697021484376},"unique_id":"YeQBjLGDCVVNwVR1KK0OV"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall 1-1","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UPN3-ALRK-YB45-9KWV","door_data":[{"model_hash":-1240156945,"door_coords":{"z":29.58938217163086,"y":-562.67333984375,"x":-1305.72021484375},"unique_id":"li7duIyGD4VL8aSAVuU-a"},{"model_hash":-1240156945,"door_coords":{"z":29.58938217163086,"y":-563.63671875,"x":-1306.868408203125},"unique_id":"a_oIZXs9B9LJu1Ti67jdz"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall 1-2","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3V7M-PXT5-6XYO-ZSFN","door_data":[{"model_hash":-1240156945,"door_coords":{"z":29.58937072753906,"y":-564.371337890625,"x":-1307.743896484375},"unique_id":"xNAxmL39zmTRz5C4uCstM"},{"model_hash":-1240156945,"door_coords":{"z":29.58938217163086,"y":-565.3341064453125,"x":-1308.8912353515626},"unique_id":"Jh46Bh1DbvtKaxwBM30J-"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 1-3","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ON3B-EM5Y-JC0R-S10X","door_data":[{"model_hash":-88942360,"door_coords":{"z":30.719482421875,"y":-554.6472778320313,"x":-1304.732666015625},"unique_id":"JRdYrkW92Sw3jYPySKE06"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 1-4","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DNYV-ROUJ-4CXF-G6KN","door_data":[{"model_hash":-88942360,"door_coords":{"z":30.719482421875,"y":-558.5824584960938,"x":-1309.44482421875},"unique_id":"mVUyGH48SK2rsluoOP-yk"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 1-5","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6NJK-2KJB-MSXB-80H9","door_data":[{"model_hash":1266543998,"door_coords":{"z":30.72140121459961,"y":-562.3377075195313,"x":-1299.342041015625},"unique_id":"4EAT-B2ipx6I_xxM0cJ62"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 2-1","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TZGO-6WW0-TY7Z-ZIMN","door_data":[{"model_hash":-88942360,"door_coords":{"z":34.52389144897461,"y":-584.6476440429688,"x":-1286.8013916015626},"unique_id":"DjuLwBo6OHsFSG4et7HVJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 2-2","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UZY9-LTG3-7L0F-SL2A","door_data":[{"model_hash":-88942360,"door_coords":{"z":34.52389144897461,"y":-579.2185668945313,"x":-1291.35693359375},"unique_id":"3B47XWc5oS0hF8MYK-dFO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 2-3","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ONIX-9PJI-V4KP-TMBA","door_data":[{"model_hash":-88942360,"door_coords":{"z":34.52389144897461,"y":-570.5357666015625,"x":-1298.6427001953126},"unique_id":"ohBiww3-ZlNK4UObhkvSL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall 2-4","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"RPTG-GEBZ-NV3F-Y1WE","door_data":[{"model_hash":-1240156945,"door_coords":{"z":33.37770462036133,"y":-562.6798095703125,"x":-1305.7169189453126},"unique_id":"QLs4kkIiN07LC0f04iL2A"},{"model_hash":-1240156945,"door_coords":{"z":33.37770462036133,"y":-563.643310546875,"x":-1306.864990234375},"unique_id":"AbwsxPPyzkejb0wL8rOvt"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall 2-5","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XM6L-JPBH-7FK8-GT2E","door_data":[{"model_hash":-1240156945,"door_coords":{"z":33.37770462036133,"y":-564.4014282226563,"x":-1307.7685546875},"unique_id":"o2HxDdXCyEfZp0EOnjQv1"},{"model_hash":-1240156945,"door_coords":{"z":33.37770462036133,"y":-565.3662109375,"x":-1308.9183349609376},"unique_id":"FMXSc3sv7EMMJZD14epGA"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall 3-1","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5AOQ-4YGJ-ASPO-JMFO","door_data":[{"model_hash":-1240156945,"door_coords":{"z":36.37886047363281,"y":-562.6675415039063,"x":-1305.7296142578126},"unique_id":"GfvR5nA0WHRvzG_2KWZqG"},{"model_hash":-1240156945,"door_coords":{"z":36.37886047363281,"y":-563.6315307617188,"x":-1306.8782958984376},"unique_id":"7wFcg1VhUVDPzDNP-dICZ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall 3-2","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"Q600-ISZY-FC32-LXOE","door_data":[{"model_hash":-1240156945,"door_coords":{"z":36.37886047363281,"y":-564.3652954101563,"x":-1307.7528076171876},"unique_id":"5F2_7w1rfOJs-9IbL-8dw"},{"model_hash":-1240156945,"door_coords":{"z":36.37886047363281,"y":-565.3270263671875,"x":-1308.8990478515626},"unique_id":"rulsZzPy2KFvZsWfjTYgG"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 3-3","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7N7H-5ZK3-5UYE-T2Z1","door_data":[{"model_hash":-88942360,"door_coords":{"z":37.53782272338867,"y":-570.5299682617188,"x":-1298.6475830078126},"unique_id":"-GDg-UI1AqbzFI6AhWlaw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 3-4","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VVE7-ESJF-RTX9-8HRV","door_data":[{"model_hash":-88942360,"door_coords":{"z":37.53782272338867,"y":-579.2203369140625,"x":-1291.35546875},"unique_id":"xJL30GW8IwogSmODA3Wgn"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 3-5","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"B64X-BKB5-4NAO-R1CA","door_data":[{"model_hash":-88942360,"door_coords":{"z":37.53782272338867,"y":-584.6510620117188,"x":-1286.798583984375},"unique_id":"Bef93IIn1tVPuRSCXZjLH"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 4-2","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NVQ3-3B8V-9CXB-JMMW","door_data":[{"model_hash":-88942360,"door_coords":{"z":41.33245849609375,"y":-584.87158203125,"x":-1291.9468994140626},"unique_id":"pgVgA9s2WuIs-lRdgWOLv"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci City Hall 4-1","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MF3I-RJCS-BUY8-T2NT","door_data":[{"model_hash":-88942360,"door_coords":{"z":41.33634567260742,"y":-575.1461181640625,"x":-1290.1190185546876},"unique_id":"vfZxbaY2EbEMtcGjwADkx"},{"model_hash":-88942360,"door_coords":{"z":41.33634567260742,"y":-573.4779663085938,"x":-1288.131103515625},"unique_id":"f0VWsij1YKujzLX0Jb_Qe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 4-3","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AUEG-AFYI-3MBF-OQDY","door_data":[{"model_hash":-88942360,"door_coords":{"z":41.33634567260742,"y":-568.2954711914063,"x":-1292.2572021484376},"unique_id":"NYx5nFHdp2kV4rM3xkTkJ"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 4-4","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"LK1W-WGO1-56SC-TJA6","door_data":[{"model_hash":-88942360,"door_coords":{"z":41.33470153808594,"y":-563.8184814453125,"x":-1295.631591796875},"unique_id":"22T5YIGDNDE4mkv6lVQgx"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci City Hall 4-5","location_group":"Vespucci City Hall","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZC61-2B8H-NJQ2-V9WH","door_data":[{"model_hash":-88942360,"door_coords":{"z":41.33470153808594,"y":-566.2974853515625,"x":-1293.296630859375},"unique_id":"KeI70LLixJXRR50Nfenzx"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Vespucci_City_Hall.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Vespucci_Fire_Dept.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Vespucci_Fire_Dept.json
new file mode 100644
index 000000000..bc7d258b1
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Vespucci_Fire_Dept.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department G-1","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5FH3-FJYP-D218-VX4Y","door_data":[{"model_hash":2099529766,"door_coords":{"z":6.34271955490112,"y":-1382.174560546875,"x":-1042.60302734375},"unique_id":"TJjN8lxuMpSMxu9TwwE-3"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department G-2","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E784-PKOE-IKYQ-S7D8","door_data":[{"model_hash":2099529766,"door_coords":{"z":6.35107469558715,"y":-1376.43505859375,"x":-1041.072998046875},"unique_id":"PEdAZmwdgnv7OZGZszNbP"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department G-3","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"3SWQ-BOD6-MUU5-VAWQ","door_data":[{"model_hash":2099529766,"door_coords":{"z":6.34585952758789,"y":-1370.689453125,"x":-1039.51416015625},"unique_id":"IHKCNdI0hGO_CQXS18Q1K"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department G-4","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"H716-S3PM-OSCH-4OQW","door_data":[{"model_hash":2099529766,"door_coords":{"z":6.34458971023559,"y":-1364.9696044921876,"x":-1037.9786376953126},"unique_id":"d6JiNbDGI7xZyBSJ6PFb0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department G-5","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L7QC-Y1BD-LRJG-CF6Q","door_data":[{"model_hash":2099529766,"door_coords":{"z":6.34455490112304,"y":-1357.871337890625,"x":-1036.0843505859376},"unique_id":"lTyjLroTTaG7wL0W8kgUN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department G-6","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"ZQR8-ZIDQ-J62K-GW7F","door_data":[{"model_hash":2099529766,"door_coords":{"z":6.34552764892578,"y":-1352.1510009765626,"x":-1034.546630859375},"unique_id":"7urbct0PQv_PUIgmT2UBj"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department G-7","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"X8MI-C8MC-VLF0-63PJ","door_data":[{"model_hash":2099529766,"door_coords":{"z":6.34038972854614,"y":-1346.4239501953126,"x":-1033.02392578125},"unique_id":"rYlaPtVk7vWiF4P4DBUKw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department G-8","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VVKW-GHPT-B4MM-KI3A","door_data":[{"model_hash":2099529766,"door_coords":{"z":6.3428726196289,"y":-1340.68896484375,"x":-1031.4998779296876},"unique_id":"vnpuSUAT1aXEOkRnmEbb8"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci Fire Department E-1","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"0JKU-1L4J-XF64-D31N","door_data":[{"model_hash":-446668741,"door_coords":{"z":5.36098861694335,"y":-1399.4742431640626,"x":-1047.3890380859376},"unique_id":"WJNuRYWPypEO9K81DqfxS"},{"model_hash":981961352,"door_coords":{"z":5.36098861694335,"y":-1397.6175537109376,"x":-1046.9969482421876},"unique_id":"w7w7yoCiJbi3j5h2PS81L"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-1","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WQUQ-NX8Q-64FC-5FMW","door_data":[{"model_hash":1768829057,"door_coords":{"z":5.1203646659851,"y":-1389.2620849609376,"x":-1030.3692626953126},"unique_id":"7cfMk6bvB4Qfb2zTLHs5m"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-2","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DBO4-WMLA-GNNO-AXR4","door_data":[{"model_hash":2123924634,"door_coords":{"z":5.12314558029174,"y":-1386.4697265625,"x":-1040.64892578125},"unique_id":"76FCGYNPVr76pAjmmuyhx"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-3","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"2S16-G493-E73M-9B05","door_data":[{"model_hash":1768829057,"door_coords":{"z":5.13264846801757,"y":-1393.7008056640626,"x":-1035.1334228515626},"unique_id":"Lx42-4FlTvOeTc0a6FV6a"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-4","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"NHHM-WAUA-QXC7-J4X1","door_data":[{"model_hash":1082476365,"door_coords":{"z":5.11662244796752,"y":-1399.0274658203126,"x":-1034.353759765625},"unique_id":"xleAuNvmqjFoY-YkX7swD"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-5","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"O6FE-IR84-9J7C-4O13","door_data":[{"model_hash":1082476365,"door_coords":{"z":5.11692762374877,"y":-1407.545166015625,"x":-1028.3604736328126},"unique_id":"Lc-yPl86YcTjYiFw6Svl8"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-6","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8P0X-9CFI-XH6J-ZS4V","door_data":[{"model_hash":1082476365,"door_coords":{"z":5.11659240722656,"y":-1410.505859375,"x":-1033.369384765625},"unique_id":"mi13g6dK3xal1IJpKrVVT"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci Fire Department 1-7","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TJHG-T3IT-VYRE-CKY7","door_data":[{"model_hash":1082476365,"door_coords":{"z":5.11992645263671,"y":-1394.639892578125,"x":-1041.158447265625},"unique_id":"gj1zyRAfddiJrv-GrcR-f"},{"model_hash":-122095133,"door_coords":{"z":5.11992645263671,"y":-1393.9837646484376,"x":-1043.607421875},"unique_id":"ewL88M8zZehzcq3UAkcHo"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-8","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YTV9-FQNY-Y3G3-YH1M","door_data":[{"model_hash":1082476365,"door_coords":{"z":5.2386474609375,"y":-1403.6026611328126,"x":-1036.6185302734376},"unique_id":"hEay6onXqO46xKReh_q_1"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci Fire Department 1-9","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"WPTH-B0R5-G96T-I802","door_data":[{"model_hash":70673596,"door_coords":{"z":5.22185468673706,"y":-1404.679931640625,"x":-1038.98046875},"unique_id":"YXJoW4Y3qoy760smpCLzh"},{"model_hash":2120988497,"door_coords":{"z":5.22355270385742,"y":-1404.019287109375,"x":-1041.427001953125},"unique_id":"wYgEAbPRaLpTyULDwK25_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-10","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MWWY-DBRS-SBQN-OK80","door_data":[{"model_hash":1082476365,"door_coords":{"z":5.11878156661987,"y":-1406.3590087890626,"x":-1042.806396484375},"unique_id":"yb4DCI9JWaEE27wuvbCml"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-11","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IPGW-AMZS-DI3N-6ZQK","door_data":[{"model_hash":1082476365,"door_coords":{"z":5.12189865112304,"y":-1414.87548828125,"x":-1040.601806640625},"unique_id":"OuSeJlMCD3fFFM3pamJP_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci Fire Department 1-12","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"9U6A-NS4A-6OKL-H71S","door_data":[{"model_hash":-1821777087,"door_coords":{"z":5.13346481323242,"y":-1421.2117919921876,"x":-1045.8787841796876},"unique_id":"WbuFtf1S8BTRwr_7CuHgr"},{"model_hash":-1821777087,"door_coords":{"z":5.13346481323242,"y":-1421.884521484375,"x":-1043.3680419921876},"unique_id":"PVjEfQZ-Ry7wSoHbnNS44"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-13","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"DWB4-VAW7-3ECX-A2IX","door_data":[{"model_hash":70673596,"door_coords":{"z":5.12553453445434,"y":-1425.60546875,"x":-1048.5880126953126},"unique_id":"xauzJ-6tQDSirWEw_fouO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-14","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"UIVR-8KZ2-4JYI-7C5S","door_data":[{"model_hash":70673596,"door_coords":{"z":5.12297487258911,"y":-1429.6177978515626,"x":-1049.685302734375},"unique_id":"6wXhbtmFdVtf5eAWezX0u"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-15","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CFB6-5E72-3WCS-62Z8","door_data":[{"model_hash":70673596,"door_coords":{"z":5.12207078933715,"y":-1432.7462158203126,"x":-1050.38818359375},"unique_id":"oJw86DafoAvoH40mwQSKL"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-16","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"G4KO-QR04-E8KL-HYCU","door_data":[{"model_hash":70673596,"door_coords":{"z":5.12403440475463,"y":-1434.914306640625,"x":-1046.2830810546876},"unique_id":"cb08pmrWyZQ_nxHDrV5nh"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-17","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E1KU-XTFQ-Q0NQ-MZ3C","door_data":[{"model_hash":70673596,"door_coords":{"z":5.12403440475463,"y":-1435.675537109375,"x":-1043.44189453125},"unique_id":"VnhN_OtLn8CuQqS7c_bW0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-18","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"IJM9-FW4B-ZFFA-ZFD9","door_data":[{"model_hash":70673596,"door_coords":{"z":5.11739349365234,"y":-1435.5919189453126,"x":-1039.8148193359376},"unique_id":"MXcLXT7RhV4NOgBSrb52k"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-19","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"YTP6-7OJX-4ML2-WA2C","door_data":[{"model_hash":70673596,"door_coords":{"z":5.1212887763977,"y":-1431.39013671875,"x":-1038.553955078125},"unique_id":"Q2FUoa0tvAvFgq0Kstqby"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-20","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TN9W-YJY7-DRL2-KG9P","door_data":[{"model_hash":70673596,"door_coords":{"z":5.11952257156372,"y":-1428.840087890625,"x":-1037.87109375},"unique_id":"a6QOWOa3P0Z-zRau2Gyu9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-21","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E21I-NLOS-AXCA-629B","door_data":[{"model_hash":70673596,"door_coords":{"z":5.11579179763793,"y":-1424.96826171875,"x":-1036.9476318359376},"unique_id":"u4FAQ1D_NpR6P4JtGKXjs"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-22","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"07QE-HRPJ-R3D8-AEF2","door_data":[{"model_hash":749848321,"door_coords":{"z":5.11902284622192,"y":-1421.76513671875,"x":-1037.4990234375},"unique_id":"oL99rvjGOmscxQZzht4ci"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-23","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"PI5S-ECMA-DGQK-VJ5A","door_data":[{"model_hash":-1821777087,"door_coords":{"z":5.11657762527465,"y":-1416.9979248046876,"x":-1035.0880126953126},"unique_id":"E173wbWe_Lzzfozkej-l9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 1-24","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"L19P-XX5G-QB35-YOIY","door_data":[{"model_hash":70673596,"door_coords":{"z":5.11580276489257,"y":-1414.088623046875,"x":-1032.43359375},"unique_id":"EgjGITJ-6cc62fHAVXgky"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 0-1","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"1WFA-B7N6-T4W7-HEMZ","door_data":[{"model_hash":1082476365,"door_coords":{"z":2.05276441574096,"y":-1413.4180908203126,"x":-1032.6435546875},"unique_id":"SfVllp55vNUPcWTpVwbUN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department E-2","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XSJC-WFAG-1I3H-SQQR","door_data":[{"model_hash":1082476365,"door_coords":{"z":10.6980504989624,"y":-1430.358642578125,"x":-1047.44091796875},"unique_id":"21KIX0d7sGRyPO0ugZXFM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 2-1","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"CRUF-LDK2-N5DB-SYFC","door_data":[{"model_hash":-610054759,"door_coords":{"z":10.64230346679687,"y":-1429.6475830078126,"x":-1046.01318359375},"unique_id":"6iU-rQHHPJwVHd3KBCh4T"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 2-2","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"6W59-OVLL-6PF3-QO58","door_data":[{"model_hash":-610054759,"door_coords":{"z":10.64102935791015,"y":-1425.9014892578126,"x":-1044.9951171875},"unique_id":"M6nWRQxN79fwnDoW9kBMe"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 2-3","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"VQOG-N50Q-JJOC-RJY5","door_data":[{"model_hash":-610054759,"door_coords":{"z":10.63891220092773,"y":-1422.085693359375,"x":-1044.0296630859376},"unique_id":"pVZFJ5RDyhi41YARYClQw"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 2-4","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"000D-T3HK-J2S6-31MB","door_data":[{"model_hash":-610054759,"door_coords":{"z":10.64637756347656,"y":-1418.3731689453126,"x":-1042.9805908203126},"unique_id":"Dzxl67ez1So3gTrjB0X1L"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 2-5","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"MHIM-TZ9I-3IH7-54SV","door_data":[{"model_hash":-610054759,"door_coords":{"z":10.6425666809082,"y":-1414.5999755859376,"x":-1041.990966796875},"unique_id":"SjnDwHRw3RdT00WlwhqAm"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 2-6","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"D6XC-48IW-B3B7-3Z3T","door_data":[{"model_hash":-610054759,"door_coords":{"z":10.63846969604492,"y":-1410.8197021484376,"x":-1040.9700927734376},"unique_id":"4fOB1oWvezAiMroZE2KqO"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 2-7","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"K4WD-UJ56-NN3U-00MP","door_data":[{"model_hash":70673596,"door_coords":{"z":10.70503997802734,"y":-1407.4185791015626,"x":-1042.5806884765626},"unique_id":"Ds971B967hCECYjF4sOxq"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 2-8","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"5XUS-RKAV-764R-FFCB","door_data":[{"model_hash":1082476365,"door_coords":{"z":11.37910842895507,"y":-1399.9044189453126,"x":-1039.4261474609376},"unique_id":"S8uBACw5FROL9AE7F7xG9"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 2-9","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4O2X-WVGN-G00L-YINY","door_data":[{"model_hash":1082476365,"door_coords":{"z":11.37970352172851,"y":-1388.864501953125,"x":-1031.754150390625},"unique_id":"cEl__YpIreWU537rRA7Wq"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci Fire Department 2-10","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"E11L-1QH1-YIHR-Z7TL","door_data":[{"model_hash":-325753126,"door_coords":{"z":11.52967071533203,"y":-1390.677001953125,"x":-1033.4110107421876},"unique_id":"WYr4gybxRT-p6gE9LadYA"},{"model_hash":-325753126,"door_coords":{"z":11.52967071533203,"y":-1388.9097900390626,"x":-1032.9375},"unique_id":"yoiefZIb0SM3KyfNGNlhl"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci Fire Department 2-11","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"4SLL-BIYL-ZTH0-KIGI","door_data":[{"model_hash":-325753126,"door_coords":{"z":11.52967071533203,"y":-1396.6219482421876,"x":-1035.00390625},"unique_id":"XQT9GB5aBtpiLUbxw5Bp4"},{"model_hash":-325753126,"door_coords":{"z":11.52967071533203,"y":-1394.852783203125,"x":-1034.5299072265626},"unique_id":"8v46UsxfVulpiLrIrsPHS"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vespucci Fire Department 2-12","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"358X-RXDF-1W08-1J1J","door_data":[{"model_hash":1082476365,"door_coords":{"z":11.38071060180664,"y":-1396.7874755859376,"x":-1035.755615234375},"unique_id":"bV1SffFHXnpcqMAPWO7ks"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vespucci Fire Department E-3","location_group":"Vespucci Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"698C-6TXP-B264-LL26","door_data":[{"model_hash":-446668741,"door_coords":{"z":5.23744964599609,"y":-1408.9068603515626,"x":-1027.6297607421876},"unique_id":"4pE9yjvTPgKby5Jp19Ru9"},{"model_hash":981961352,"door_coords":{"z":5.23744964599609,"y":-1410.763916015625,"x":-1028.028564453125},"unique_id":"9n6WAs0MsMYTeb4xGXG99"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Vespucci_Fire_Dept.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Vinewood_Fire_Dept.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Vinewood_Fire_Dept.json
new file mode 100644
index 000000000..7f8fe8e1d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Vinewood_Fire_Dept.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vinewood Fire Station G-1","location_group":"Vinewood Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"W44Z-EYJ6-AUVJ-VPO5","door_data":[{"model_hash":-365339889,"door_coords":{"z":101.989,"y":284.3284,"x":391.6808},"unique_id":"P984rC8g-5U9LyvYMwZD_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vinewood Fire Station G-2","location_group":"Vinewood Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"X4J3-PQF6-IHYS-VAUV","door_data":[{"model_hash":-365339889,"door_coords":{"z":101.989,"y":277.0467,"x":389.0305},"unique_id":"zPewlNK4JeHrOJGTBzv0z"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vinewood Fire Station G-3","location_group":"Vinewood Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"BOK7-GK4D-989P-HP30","door_data":[{"model_hash":-365339889,"door_coords":{"z":101.989,"y":269.7645,"x":386.38},"unique_id":"peLuYdZk3v_WdzUK3pPNc"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vinewood Fire Station E-1","location_group":"Vinewood Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"7HVC-208L-4YAC-O6NQ","door_data":[{"model_hash":945380231,"door_coords":{"z":103.0652,"y":280.0641,"x":390.3964},"unique_id":"OZf96tB0SZZwsresH8thM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Vinewood Fire Station E-2","location_group":"Vinewood Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"FDAE-Q037-N00U-NWAS","door_data":[{"model_hash":1244856122,"door_coords":{"z":103.0733,"y":272.7846,"x":387.7531},"unique_id":"e5BWSgMh9qWbV9niCXGD0"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Vinewood Fire Station 1-1","location_group":"Vinewood Fire Dept","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"A1YC-VWBV-IT8H-3LQP","door_data":[{"model_hash":1345458177,"door_coords":{"z":103.0741,"y":275.6884,"x":370.2972},"unique_id":"q9wmvzBIFPb42e45XcDhX"},{"model_hash":1345458177,"door_coords":{"z":103.0741,"y":273.8257,"x":369.6193},"unique_id":"qvEWXpTw4mZc9FQeyd_bF"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Vinewood_Fire_Dept.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Watch_Store.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Watch_Store.json
new file mode 100644
index 000000000..92d2a3c18
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Watch_Store.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Watch Store E-1","location_group":"Watch Store","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TCJE-6POL-4B19-RIWO","door_data":[{"model_hash":-1368194430,"door_coords":{"z":36.26143264770508,"y":-276.71136474609377,"x":-646.8906860351563},"unique_id":"Ai3RhCEDBQF-QwXLFUunI"},{"model_hash":-1368194430,"door_coords":{"z":36.26143264770508,"y":-274.9751892089844,"x":-647.891845703125},"unique_id":"M6qHHk80Q8Wy7jsasOS4w"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Watch_Store.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Wiwang_PC_Club.json b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Wiwang_PC_Club.json
new file mode 100644
index 000000000..20423b4e5
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[Prompt_Studio]_Wiwang_PC_Club.json
@@ -0,0 +1 @@
+{"data":[{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Wiwang PC Club E-1","location_group":"Wiwang PC Club","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"J015-4PAC-C1G7-BZ2L","door_data":[{"model_hash":218840560,"door_coords":{"z":28.47396659851074,"y":-698.0077514648438,"x":-826.4214477539063},"unique_id":"McBPD6IE60AqDqqsz87pk"},{"model_hash":218840560,"door_coords":{"z":28.47396659851074,"y":-695.81396484375,"x":-826.4230346679688},"unique_id":"rhdiilOqvhi_7NrSDuwlN"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Wiwang PC Club E-2","location_group":"Wiwang PC Club","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"TULX-6OF4-BFKT-2R4D","door_data":[{"model_hash":218840560,"door_coords":{"z":28.46998977661132,"y":-700.941162109375,"x":-826.4219970703125},"unique_id":"909NaIaTU5ZGMSdv6fB11"},{"model_hash":218840560,"door_coords":{"z":28.46998977661132,"y":-698.7466430664063,"x":-826.4219970703125},"unique_id":"LjaPEmaJ6qDRc57iiTkAs"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Wiwang PC Club E-3","location_group":"Wiwang PC Club","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"QXQX-HZT8-6WQD-5Y12","door_data":[{"model_hash":218840560,"door_coords":{"z":28.4649600982666,"y":-692.5967407226563,"x":-826.40576171875},"unique_id":"NmS7v7vAzKHmgyrQJecnc"},{"model_hash":218840560,"door_coords":{"z":28.4649600982666,"y":-690.4030151367188,"x":-826.408203125},"unique_id":"Mi-_loyGOhVQtlgKR19w_"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Wiwang PC Club E-4","location_group":"Wiwang PC Club","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"33RT-EPPI-E468-HF1R","door_data":[{"model_hash":218840560,"door_coords":{"z":28.47199630737304,"y":-689.6616821289063,"x":-826.4137573242188},"unique_id":"lWxp8N_wnFDbSxZrroAJy"},{"model_hash":218840560,"door_coords":{"z":28.47199630737304,"y":-687.4666137695313,"x":-826.4151000976563},"unique_id":"4FOjfjZtBJm3v9_a3IDLl"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Wiwang PC Club E-5","location_group":"Wiwang PC Club","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"8MQN-150Q-3L0S-6BQN","door_data":[{"model_hash":218840560,"door_coords":{"z":28.47211074829101,"y":-697.230224609375,"x":-810.063232421875},"unique_id":"jX0zTaxeQ0iUUsuEA1AI9"},{"model_hash":218840560,"door_coords":{"z":28.47211074829101,"y":-699.4242553710938,"x":-810.063232421875},"unique_id":"CdUp1228wzqoc5Y5ZwACM"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"single","door_name":"Wiwang PC Club 1-1","location_group":"Wiwang PC Club","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"AL0K-MC49-83LH-B89J","door_data":[{"model_hash":-2611446,"door_coords":{"z":27.10039901733398,"y":-704.763427734375,"x":-822.1166381835938},"unique_id":"GcZw8UZGjcgQ5JyTyYQ92"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Wiwang PC Club E-6","location_group":"Wiwang PC Club","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"XQRR-OWD7-IXQL-S5IN","door_data":[{"model_hash":218840560,"door_coords":{"z":28.48112869262695,"y":-731.1858520507813,"x":-827.369384765625},"unique_id":"H-SYBQV8Hae_hpvAbLK-S"},{"model_hash":218840560,"door_coords":{"z":28.48112869262695,"y":-731.1858520507813,"x":-829.5712280273438},"unique_id":"jcE4VD_qVBcxxoNyb6jof"}],"distance":2,"default_state":false,"keep_open":false},{"camera":false,"door_sound_unlock":"","door_type":"double","door_name":"Wiwang PC Club E-7","location_group":"Wiwang PC Club","door_sound":"","state":true,"perms":{"identifier":[],"items":[],"job":[]},"secret":false,"unique_id":"072O-7NNJ-RV9N-YY1J","door_data":[{"model_hash":218840560,"door_coords":{"z":28.47762870788574,"y":-731.1972045898438,"x":-824.4431762695313},"unique_id":"CVX6JAsnwHayTPpJAA8N6"},{"model_hash":218840560,"door_coords":{"z":28.47762870788574,"y":-731.1972045898438,"x":-826.63427734375},"unique_id":"6vOL53RP1_ugcWVJXjtVH"}],"distance":2,"default_state":false,"keep_open":false}],"name":"[Prompt_Studio]_Wiwang_PC_Club.json","imported":false}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Al_Dentes.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Al_Dentes.json
new file mode 100644
index 000000000..ab3d11a09
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Al_Dentes.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Al_Dentes.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Al Dente's","id":263,"door_type":"double","door_data":[{"unique_id":"7my-QJQtodSTxcSyJhTXP","model_hash":-182492117,"door_coords":{"z":4.91933965682983,"y":-1412.89892578125,"x":-1186.5482177734376}},{"unique_id":"KrZHg3heDUriYgIPj_zbY","model_hash":252778498,"door_coords":{"z":4.91933965682983,"y":-1412.0982666015626,"x":-1185.3997802734376}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Al Dente's","id":264,"door_type":"single","door_data":[{"unique_id":"zh-qGpRkV9ROGwpbKpiAw","model_hash":1144102753,"door_coords":{"z":4.65478467941284,"y":-1403.9605712890626,"x":-1197.5196533203126}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Al Dente's","id":265,"door_type":"single","door_data":[{"unique_id":"Puc51iO_UTpclnq1P7CA-","model_hash":-1301021724,"door_coords":{"z":4.64903926849365,"y":-1400.166748046875,"x":-1192.077880859375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Kitchen","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Al Dente's","id":266,"door_type":"single","door_data":[{"unique_id":"QA39UunkXIDpm7Vv06Fqt","model_hash":-557407862,"door_coords":{"z":4.49164724349975,"y":-1385.5567626953126,"x":-1186.743896484375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Rear Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Al Dente's","id":267,"door_type":"double","door_data":[{"unique_id":"kly6vwQaJ9KCgZKSTx1by","model_hash":1328550161,"door_coords":{"z":-101.0916976928711,"y":-1387.57421875,"x":-1192.3150634765626}},{"unique_id":"8lijarA6x1StkwKCgE3xA","model_hash":1328550161,"door_coords":{"z":-101.09169006347656,"y":-1386.1781005859376,"x":-1193.2896728515626}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Basement","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Al Dente's","id":268,"door_type":"double","door_data":[{"unique_id":"P4Q4EQdLbgIYIP8FiXPxV","model_hash":155176704,"door_coords":{"z":4.90713691711425,"y":-1397.666748046875,"x":-1188.45166015625}},{"unique_id":"h_yLzr9JyaOo6biEhmz_K","model_hash":155176704,"door_coords":{"z":4.90713691711425,"y":-1396.7987060546876,"x":-1187.2054443359376}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Elevator","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Ammunation.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Ammunation.json
new file mode 100644
index 000000000..159687696
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Ammunation.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Ammunation.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":175,"door_type":"double","door_data":[{"unique_id":"xWxL316b8fipaW-Aq2eum","model_hash":-204844332,"door_coords":{"z":29.74680709838867,"y":-2148.23583984375,"x":813.1312866210938}},{"unique_id":"dyBvZcUgRM3VAuQZ8ogjb","model_hash":-2085588322,"door_coords":{"z":29.74680709838867,"y":-2148.23583984375,"x":810.6209716796875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Cypress Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":176,"door_type":"double","door_data":[{"unique_id":"_IuGqKHtGqI2L2S3D1lTl","model_hash":-2085588322,"door_coords":{"z":28.3321418762207,"y":-1024.56103515625,"x":842.7948608398438}},{"unique_id":"sTLbdZI7bo0Z3nrnNvrZ-","model_hash":-204844332,"door_coords":{"z":28.3321418762207,"y":-1024.56103515625,"x":845.30517578125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"LaMesa Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":177,"door_type":"double","door_data":[{"unique_id":"SK4SYA1IkhE2GM5VhbwCN","model_hash":-2085588322,"door_coords":{"z":29.92866134643554,"y":-1115.4298095703126,"x":18.54001235961914}},{"unique_id":"PzG5dBIsntutQqKOc7NM_","model_hash":-204844332,"door_coords":{"z":29.92866134643554,"y":-1114.5712890625,"x":16.18110275268554}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Legion Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":178,"door_type":"double","door_data":[{"unique_id":"p42NkdqudioaohIMU7TSD","model_hash":180378979,"door_coords":{"z":25.92008209228515,"y":-1108.217529296875,"x":16.57021331787109}},{"unique_id":"CSHxQOk0nM6pQuJ_7wPvY","model_hash":629246927,"door_coords":{"z":25.92008209228515,"y":-1105.9622802734376,"x":17.39106178283691}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Legion Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":179,"door_type":"single","door_data":[{"unique_id":"-2pa6CqMwmO3-qIl7V2zT","model_hash":1647520598,"door_coords":{"z":25.94258308410644,"y":-1111.8857421875,"x":14.83990001678466}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Legion Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":180,"door_type":"single","door_data":[{"unique_id":"9c3FVPHUYlakyw3FOOY8z","model_hash":344074124,"door_coords":{"z":25.34258270263672,"y":-1094.9302978515626,"x":26.40652656555175}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Legion Gunrange","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":181,"door_type":"single","door_data":[{"unique_id":"4uWYzLMPLKpQe-Vkr5J3w","model_hash":344074124,"door_coords":{"z":25.34258270263672,"y":-1093.63232421875,"x":17.22683525085449}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Legion Storage","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":182,"door_type":"single","door_data":[{"unique_id":"1RXIdTVdUWnWwv_xppoht","model_hash":344074124,"door_coords":{"z":25.34258270263672,"y":-1094.8245849609376,"x":18.3679084777832}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Legion Lockers 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":183,"door_type":"single","door_data":[{"unique_id":"oUrAhSpclbCcAGgs3BrDJ","model_hash":344074124,"door_coords":{"z":25.94258117675781,"y":-1101.8590087890626,"x":15.80757427215576}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Legion Lockers 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":185,"door_type":"double","door_data":[{"unique_id":"DPqVa-5MpufzwO1P1EF_F","model_hash":-2085588322,"door_coords":{"z":70.07020568847656,"y":-46.48944091796875,"x":243.89097595214845}},{"unique_id":"L9K2XA0I1Kk6yaNf9qk5j","model_hash":-204844332,"door_coords":{"z":70.07020568847656,"y":-44.13052749633789,"x":244.74954223632813}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Hawick Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":186,"door_type":"single","door_data":[{"unique_id":"SeigukarCfxLL5tsW5gJe","model_hash":1647520598,"door_coords":{"z":66.0841293334961,"y":-42.78932571411133,"x":247.43516540527345}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Hawick Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":187,"door_type":"double","door_data":[{"unique_id":"WCF6Em32nMBP_V2tKzyn1","model_hash":629246927,"door_coords":{"z":66.06163024902344,"y":-45.34048461914062,"x":253.35855102539066}},{"unique_id":"R97ChCFaXT50YdTW-EUX6","model_hash":180378979,"door_coords":{"z":66.06163024902344,"y":-44.51963806152344,"x":251.1032867431641}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Hawick Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":188,"door_type":"single","door_data":[{"unique_id":"zOT9SEz0eRew-lNHA-gsp","model_hash":344074124,"door_coords":{"z":66.0841293334961,"y":-43.75699615478515,"x":257.4617919921875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Hawick Lockers 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":189,"door_type":"single","door_data":[{"unique_id":"8SlAEoJc5POa6EOY9yx5-","model_hash":344074124,"door_coords":{"z":65.484130859375,"y":-46.31732940673828,"x":264.4962463378906}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Hawick Lockers 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":190,"door_type":"single","door_data":[{"unique_id":"WNoFOxc1iBVwbsa-lnd5l","model_hash":344074124,"door_coords":{"z":65.484130859375,"y":-45.17625427246094,"x":265.68841552734377}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Hawick Storage","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":191,"door_type":"single","door_data":[{"unique_id":"oqa_4JKDEHaE4b-uZXO3D","model_hash":344074124,"door_coords":{"z":65.484130859375,"y":-54.3559455871582,"x":264.3905029296875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Hawick Gunrange","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":192,"door_type":"double","door_data":[{"unique_id":"LuSFHPxIY-WWNVCdDcEXN","model_hash":-2085588322,"door_coords":{"z":36.84563064575195,"y":-391.58984375,"x":-1314.4942626953126}},{"unique_id":"3U8mQdHBBJk7Zb2D5W7kB","model_hash":-204844332,"door_coords":{"z":36.84563064575195,"y":-389.16510009765627,"x":-1313.8446044921876}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Morningwood Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":193,"door_type":"single","door_data":[{"unique_id":"xLcnQP7fVreKUKx6tkYqP","model_hash":1647520598,"door_coords":{"z":32.85955047607422,"y":-387.5949096679688,"x":-1311.2860107421876}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Morningwood Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":194,"door_type":"double","door_data":[{"unique_id":"hof6sJuYkx-o8fjpPblMo","model_hash":180378979,"door_coords":{"z":32.83705139160156,"y":-388.99896240234377,"x":-1307.4810791015626}},{"unique_id":"RhE9qFmF0JRkkQUGeg1iI","model_hash":629246927,"door_coords":{"z":32.83705139160156,"y":-389.6201171875,"x":-1305.162841796875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Morningwood Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":195,"door_type":"single","door_data":[{"unique_id":"0VlpQ9_f79SxetyUOJeWI","model_hash":344074124,"door_coords":{"z":32.85955047607422,"y":-387.6850280761719,"x":-1301.2132568359376}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Morningwood Lockers 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":196,"door_type":"single","door_data":[{"unique_id":"fFW8Fd0HjefjVfnlS9g4W","model_hash":344074124,"door_coords":{"z":32.25955200195312,"y":-389.62249755859377,"x":-1293.982421875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Morningwood Lockers 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":197,"door_type":"single","door_data":[{"unique_id":"RBPtoGd7AL_R0zez5UT0E","model_hash":344074124,"door_coords":{"z":32.25955200195312,"y":-388.38189697265627,"x":-1292.8941650390626}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Morningwood Storage","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":198,"door_type":"single","door_data":[{"unique_id":"FsgqWIZHhLW6nLj1WRRu1","model_hash":344074124,"door_coords":{"z":32.25955200195312,"y":-397.6397705078125,"x":-1293.38720703125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Morningwood Gunrange","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":199,"door_type":"double","door_data":[{"unique_id":"P-AgT0wjsKNs6ORn-JBgL","model_hash":-2085588322,"door_coords":{"z":21.96414184570312,"y":-944.2800903320313,"x":-662.6873779296875}},{"unique_id":"J6kng2ayy1KH1hEAqZtrm","model_hash":-204844332,"door_coords":{"z":21.96414184570312,"y":-944.2800903320313,"x":-665.1976928710938}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Little Seoul Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":200,"door_type":"single","door_data":[{"unique_id":"h0OpfJ05Uooi83T_R_Qdr","model_hash":1647520598,"door_coords":{"z":17.97806358337402,"y":-942.2152099609376,"x":-667.3765258789063}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Little Seoul Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":201,"door_type":"double","door_data":[{"unique_id":"NpvyxfVIHrk_gJiM3O0Ij","model_hash":180378979,"door_coords":{"z":17.95556259155273,"y":-938.1764526367188,"x":-667.0051879882813}},{"unique_id":"axX8ZiEChwOlSPA8dOmaR","model_hash":629246927,"door_coords":{"z":17.95556259155273,"y":-935.7764892578124,"x":-667.0051879882813}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Little Seoul Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":202,"door_type":"single","door_data":[{"unique_id":"ssWKhv4pmI8BQLunuL4xQ","model_hash":344074124,"door_coords":{"z":17.97806167602539,"y":-932.4622802734376,"x":-669.8965454101563}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Little Seoul Lockers 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":203,"door_type":"single","door_data":[{"unique_id":"ImuW4ZV5yu8LoEzsgVi4h","model_hash":344074124,"door_coords":{"z":17.37806320190429,"y":-924.9763793945313,"x":-669.8965454101563}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Little Seoul Lockers 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":204,"door_type":"single","door_data":[{"unique_id":"4AMk8hT3IFbiSeM08dGN2","model_hash":344074124,"door_coords":{"z":17.37806320190429,"y":-924.246337890625,"x":-671.3765258789063}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Little Seoul Storage","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":205,"door_type":"single","door_data":[{"unique_id":"goY7Q5w3o2ql07EaaABhK","model_hash":344074124,"door_coords":{"z":17.37806320190429,"y":-922.3263549804688,"x":-662.3065795898438}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Little Seoul Gunrange","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":206,"door_type":"double","door_data":[{"unique_id":"5ZIvCXn0H1Y2eYA8H58Dv","model_hash":-2085588322,"door_coords":{"z":20.98996353149414,"y":1083.78125,"x":-3163.838623046875}},{"unique_id":"G4hJP-4nuhB86AtUuP-Cy","model_hash":-204844332,"door_coords":{"z":20.98996353149414,"y":1081.470458984375,"x":-3164.819580078125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Chumash Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":207,"door_type":"single","door_data":[{"unique_id":"kxc2UCpS5x8gBC7cIRio4","model_hash":1647520598,"door_coords":{"z":17.00388526916504,"y":1080.2716064453126,"x":-3167.571533203125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Chumash Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":208,"door_type":"double","door_data":[{"unique_id":"lTdm6_icFNW_s9hDntV6W","model_hash":629246927,"door_coords":{"z":16.98138427734375,"y":1083.12939453125,"x":-3173.353515625}},{"unique_id":"f_fm2SHBGIPxFav_AbWEt","model_hash":180378979,"door_coords":{"z":16.98138427734375,"y":1082.191650390625,"x":-3171.144287109375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Chumash Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":209,"door_type":"double","door_data":[{"unique_id":"N6leWxLeDBSSOPY_RywO8","model_hash":-2085588322,"door_coords":{"z":108.87019348144533,"y":303.3692932128906,"x":2568.346435546875}},{"unique_id":"8Y5SbEeTbGEetGTOhO8tb","model_hash":-204844332,"door_coords":{"z":108.87019348144533,"y":303.3470764160156,"x":2570.856689453125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"East Highway Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":210,"door_type":"single","door_data":[{"unique_id":"a9GNSjWH2m-wz9wskfYpO","model_hash":1647520598,"door_coords":{"z":104.88411712646485,"y":301.2629699707031,"x":2573.017333984375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"East Highway Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":211,"door_type":"double","door_data":[{"unique_id":"tPqNbvHxO5WKLCorxcXoO","model_hash":180378979,"door_coords":{"z":104.8616180419922,"y":297.2276916503906,"x":2572.610107421875}},{"unique_id":"OFKC3LVpejR-NDiN2NQOo","model_hash":629246927,"door_coords":{"z":104.8616180419922,"y":294.8277893066406,"x":2572.5888671875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"East Highway Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":212,"door_type":"double","door_data":[{"unique_id":"jlSGMFv3FBIS7E0wVISzo","model_hash":-2085588322,"door_coords":{"z":34.83189392089844,"y":3752.880126953125,"x":1699.4542236328126}},{"unique_id":"2w8KmG5dPRyeWXZUM_Lpu","model_hash":-204844332,"door_coords":{"z":34.83189392089844,"y":3751.0380859375,"x":1697.7486572265626}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Sandy Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":213,"door_type":"single","door_data":[{"unique_id":"0lFdm0T5xfSILjgnb7_EN","model_hash":1647520598,"door_coords":{"z":30.84581565856933,"y":3750.84228515625,"x":1694.7530517578126}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Sandy Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":214,"door_type":"double","door_data":[{"unique_id":"Xy6WI2WJ57smJP1puDmh6","model_hash":180378979,"door_coords":{"z":30.82331466674804,"y":3753.85888671875,"x":1692.0421142578126}},{"unique_id":"a9_SoVlVXnfNMt0bKdwIS","model_hash":629246927,"door_coords":{"z":30.82331466674804,"y":3755.489501953125,"x":1690.2811279296876}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Sandy Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":215,"door_type":"single","door_data":[{"unique_id":"435yLm4hEqLqnaFAiJu6s","model_hash":344074124,"door_coords":{"z":30.8458137512207,"y":3755.61962890625,"x":1685.8848876953126}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Sandy Lockers 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":216,"door_type":"single","door_data":[{"unique_id":"Y5U-HsTMGyq0vDHXDkh5g","model_hash":344074124,"door_coords":{"z":30.24581527709961,"y":3760.705810546875,"x":1680.39208984375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Sandy Lockers 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":217,"door_type":"single","door_data":[{"unique_id":"cO1C17oNElLDYEAqD-zqo","model_hash":344074124,"door_coords":{"z":30.24581527709961,"y":3760.115966796875,"x":1678.85107421875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Sandy Storage","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":218,"door_type":"single","door_data":[{"unique_id":"H5DfjyhBYLSfgWG6YVvO-","model_hash":344074124,"door_coords":{"z":30.24581527709961,"y":3768.075439453125,"x":1683.604736328125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Sandy Gunrange","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":219,"door_type":"double","door_data":[{"unique_id":"j_WCUlzkXVp9l2LU3p5sH","model_hash":-2085588322,"door_coords":{"z":31.59246444702148,"y":6077.0634765625,"x":-324.3198547363281}},{"unique_id":"rJEv8QU-4wuDWU7BeROF7","model_hash":-204844332,"door_coords":{"z":31.59246444702148,"y":6075.29296875,"x":-326.099365234375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Paleto Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":220,"door_type":"single","door_data":[{"unique_id":"iheRbsR-a-mxK3nlUrNw1","model_hash":1647520598,"door_coords":{"z":27.60638618469238,"y":6075.22021484375,"x":-329.1003723144531}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Paleto Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":221,"door_type":"double","door_data":[{"unique_id":"hkjvuNHwSPTxk_PhdsFld","model_hash":629246927,"door_coords":{"z":27.58388519287109,"y":6080.04638671875,"x":-333.3784484863281}},{"unique_id":"AP3fVCCgpBnwFCZ0YrfTX","model_hash":180378979,"door_coords":{"z":27.58388519287109,"y":6078.3447265625,"x":-331.6856994628906}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Paleto Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":222,"door_type":"single","door_data":[{"unique_id":"cPYeDVu0LEZ0aoMZ_pRGl","model_hash":344074124,"door_coords":{"z":27.60638427734375,"y":6080.3564453125,"x":-337.7657165527344}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Paleto Lockers 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":223,"door_type":"single","door_data":[{"unique_id":"EDzOuvYbEslc1ntkXnXr_","model_hash":344074124,"door_coords":{"z":27.00638580322265,"y":6085.6630859375,"x":-343.0456848144531}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Paleto Lockers 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":224,"door_type":"single","door_data":[{"unique_id":"1g-4Gcj5gwFSDBhmXGOOI","model_hash":344074124,"door_coords":{"z":27.00638580322265,"y":6085.13671875,"x":-344.6097412109375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Paleto Storage","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":225,"door_type":"single","door_data":[{"unique_id":"cdcsMRPSlVmiFZ4XVUrJx","model_hash":344074124,"door_coords":{"z":27.00638580322265,"y":6092.89453125,"x":-339.53436279296877}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Paleto Gunrange","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":226,"door_type":"double","door_data":[{"unique_id":"rJ4fSH2FQ_r2wsKyUbWFC","model_hash":-2085588322,"door_coords":{"z":18.72663497924804,"y":2691.45849609375,"x":-1112.0687255859376}},{"unique_id":"5CxGU9Ogs6O95V3j3CQpJ","model_hash":-204844332,"door_coords":{"z":18.72663497924804,"y":2689.77880859375,"x":-1113.934326171875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Route 68 Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":227,"door_type":"single","door_data":[{"unique_id":"CL-Ndbn6yBt8lU3YvaKWL","model_hash":1647520598,"door_coords":{"z":14.74055862426757,"y":2689.85546875,"x":-1116.9351806640626}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Route 68 Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":228,"door_type":"double","door_data":[{"unique_id":"Gd7gcUTJXW-zafWyM05ss","model_hash":629246927,"door_coords":{"z":14.71805763244628,"y":2694.888916015625,"x":-1120.967529296875}},{"unique_id":"XmGYqV9TmSa-AeUt9NJ9g","model_hash":180378979,"door_coords":{"z":14.71805763244628,"y":2693.105224609375,"x":-1119.361572265625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Route 68 Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":229,"door_type":"single","door_data":[{"unique_id":"R20e6ZsNt2cCbbeH4WMRS","model_hash":1647520598,"door_coords":{"z":25.76072883605957,"y":-2150.30078125,"x":815.3101196289063}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Cypress Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":230,"door_type":"double","door_data":[{"unique_id":"h2z_pHlefnCE3xHE2JVud","model_hash":180378979,"door_coords":{"z":25.73822784423828,"y":-2154.33935546875,"x":814.9387817382813}},{"unique_id":"IefoLaCXiUbgwMaxbVy-H","model_hash":629246927,"door_coords":{"z":25.73822784423828,"y":-2156.739501953125,"x":814.9387817382813}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Cypress Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":231,"door_type":"single","door_data":[{"unique_id":"dIpy3yLbVnJeIPC8YngsH","model_hash":344074124,"door_coords":{"z":25.76072692871093,"y":-2160.0537109375,"x":817.8301391601563}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Cypress Lockers 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":232,"door_type":"single","door_data":[{"unique_id":"FmDVTHi32Ni-Cgq4-2uw7","model_hash":344074124,"door_coords":{"z":25.16072845458984,"y":-2167.53955078125,"x":817.8301391601563}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Cypress Lockers 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":233,"door_type":"single","door_data":[{"unique_id":"ui-tSgGTCPtLDRc5KNjuZ","model_hash":344074124,"door_coords":{"z":25.16072845458984,"y":-2168.26953125,"x":819.3101196289063}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Cypress Storage","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":234,"door_type":"single","door_data":[{"unique_id":"c0OXCrHnhWSNtw7e_m2OT","model_hash":344074124,"door_coords":{"z":25.16072845458984,"y":-2170.189453125,"x":810.2401733398438}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Cypress Gunrange","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":235,"door_type":"single","door_data":[{"unique_id":"wEvkHW5BlE300qUj-6Fkw","model_hash":1647520598,"door_coords":{"z":24.34606552124023,"y":-1026.6259765625,"x":847.4840087890625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"LaMesa Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":236,"door_type":"double","door_data":[{"unique_id":"hxwb8rVq0drGUrqLrZUZE","model_hash":180378979,"door_coords":{"z":24.32356452941894,"y":-1030.6646728515626,"x":847.1126708984375}},{"unique_id":"TU9P7OCAgeV7A4kGov3fJ","model_hash":629246927,"door_coords":{"z":24.32356452941894,"y":-1033.064697265625,"x":847.1126708984375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"LaMesa Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":237,"door_type":"single","door_data":[{"unique_id":"kc2fmR52MYT3iEVbn8Vkj","model_hash":344074124,"door_coords":{"z":24.34606552124023,"y":-1036.37890625,"x":850.0040283203125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"LaMesa Lockers 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":238,"door_type":"single","door_data":[{"unique_id":"XkuSJ-h4oF7P0H5gzOZtQ","model_hash":344074124,"door_coords":{"z":23.74606704711914,"y":-1043.86474609375,"x":850.0040283203125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"LaMesa Lockers 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":239,"door_type":"single","door_data":[{"unique_id":"0U-_cmiV_eTy5WwQQmh21","model_hash":344074124,"door_coords":{"z":23.7460651397705,"y":-1044.5947265625,"x":851.4840087890625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"LaMesa Storage","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Ammunation","id":240,"door_type":"single","door_data":[{"unique_id":"5grIuoeVMTipvEHosqq4r","model_hash":344074124,"door_coords":{"z":23.7460651397705,"y":-1046.5147705078126,"x":842.4140625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"LaMesa Gunrange","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Benny's_Docks.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Benny's_Docks.json
new file mode 100644
index 000000000..0e82a71d3
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Benny's_Docks.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Benny's_Docks.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Benny's Docks","id":280,"door_type":"garage","door_data":[{"unique_id":"jW22ZDl6H1Ae7WP2GcEt7","model_hash":1031780519,"door_coords":{"z":8.74872970581054,"y":-3023.930419921875,"x":154.79150390625}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Benny's Docks","id":281,"door_type":"garage","door_data":[{"unique_id":"hD_uIS3dAe7oBZKGSg8EL","model_hash":1031780519,"door_coords":{"z":8.74872970581054,"y":-3034.07958984375,"x":154.8206787109375}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Benny's Docks","id":282,"door_type":"garage","door_data":[{"unique_id":"GPHvANumhn7N0p6FC6fjJ","model_hash":1031780519,"door_coords":{"z":8.74872970581054,"y":-3044.24951171875,"x":154.8206787109375}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 3","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's Docks","id":283,"door_type":"single","door_data":[{"unique_id":"ePGdgwgU8HJ3ZfSxUdLD-","model_hash":-325945933,"door_coords":{"z":7.1985855102539,"y":-3018.628173828125,"x":154.88751220703126}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's Docks","id":284,"door_type":"single","door_data":[{"unique_id":"k9WrYkUJRnOOl0HhAAWE5","model_hash":299449810,"door_coords":{"z":7.5966453552246,"y":-3050.015625,"x":148.72439575195313}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Office 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's Docks","id":285,"door_type":"single","door_data":[{"unique_id":"ahTwqSanYX6HedLMyhxLo","model_hash":299449810,"door_coords":{"z":7.5966453552246,"y":-3050.015625,"x":143.71844482421876}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Office 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's Docks","id":286,"door_type":"single","door_data":[{"unique_id":"l9xxInB7Bazppfe37IHa6","model_hash":299449810,"door_coords":{"z":7.5966453552246,"y":-3050.015625,"x":138.18927001953126}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Office 3","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Benny's_Paleto.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Benny's_Paleto.json
new file mode 100644
index 000000000..6f94bbcf6
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Benny's_Paleto.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Benny's_Paleto.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Benny's Paleto","id":323,"door_type":"garage","door_data":[{"unique_id":"JaOTfmOffJj0LUZk4-4Mj","model_hash":712773550,"door_coords":{"z":31.57561683654785,"y":6398.02783203125,"x":170.91912841796876}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Benny's Paleto","id":324,"door_type":"garage","door_data":[{"unique_id":"eCX6erZ5p0KGkf3Qn14mv","model_hash":712773550,"door_coords":{"z":31.57563018798828,"y":6390.68310546875,"x":156.91600036621098}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Benny's Paleto","id":325,"door_type":"garage","door_data":[{"unique_id":"zxPSWrBzFQ0Qh-rz2Vcmv","model_hash":712773550,"door_coords":{"z":31.57561683654785,"y":6383.33837890625,"x":142.91305541992188}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 3","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Benny's Paleto","id":326,"door_type":"garage","door_data":[{"unique_id":"cWXyp6v1H8UvdBbarTYM1","model_hash":155417101,"door_coords":{"z":31.57563018798828,"y":6378.509765625,"x":141.11749267578126}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 4","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's Paleto","id":327,"door_type":"single","door_data":[{"unique_id":"xXWZ_OpfURifZK_PzJfQm","model_hash":-551608542,"door_coords":{"z":35.8914909362793,"y":6372.38720703125,"x":169.71888732910157}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's Paleto","id":328,"door_type":"single","door_data":[{"unique_id":"CavyukY5q--6nvFwoAhKc","model_hash":-551608542,"door_coords":{"z":35.8914909362793,"y":6375.5302734375,"x":175.71131896972657}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Lockers","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Bennys.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Bennys.json
new file mode 100644
index 000000000..27e6456d0
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Bennys.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Bennys.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's","id":241,"door_type":"double","door_data":[{"unique_id":"aYg9UYaL9JKPf2EvM4ReV","model_hash":-417530142,"door_coords":{"z":9.97679042816162,"y":-2038.576416015625,"x":-916.9754638671876}},{"unique_id":"14UVEF8Tu7JlmfI2GGYpc","model_hash":-1435662972,"door_coords":{"z":9.97678852081298,"y":-2036.603759765625,"x":-915.0028686523438}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's","id":242,"door_type":"double","door_data":[{"unique_id":"Q2CwIcv8aPc0e28bBuaWF","model_hash":-747536843,"door_coords":{"z":9.65186500549316,"y":-2033.5325927734376,"x":-938.0526733398438}},{"unique_id":"qAkwPVH9MRZorAzDquYmq","model_hash":-747536843,"door_coords":{"z":9.65186500549316,"y":-2035.3514404296876,"x":-939.87158203125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Rear Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Benny's","id":243,"door_type":"garage","door_data":[{"unique_id":"Qs3HDFwF85wrmOF3VzOjO","model_hash":-1512891070,"door_coords":{"z":10.76743602752685,"y":-2057.931884765625,"x":-973.9686889648438}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Garage Door 2","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Benny's","id":244,"door_type":"garage","door_data":[{"unique_id":"MgZZ3oajVZINi7jQ5q__F","model_hash":-1512891070,"door_coords":{"z":10.76743602752685,"y":-2066.21875,"x":-965.6817016601564}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Garage Door 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's","id":245,"door_type":"single","door_data":[{"unique_id":"CVWPZXra1ry2CLuXDtmFv","model_hash":1781444600,"door_coords":{"z":15.00747871398925,"y":-2039.98095703125,"x":-926.1558227539064}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Office 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's","id":246,"door_type":"single","door_data":[{"unique_id":"ILXlZkqCrikz-7WE6sSjZ","model_hash":1781444600,"door_coords":{"z":14.99802207946777,"y":-2030.2486572265626,"x":-928.8097534179688}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Office 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's","id":247,"door_type":"single","door_data":[{"unique_id":"bYjvG5rL-QEw2O3WkGU7R","model_hash":1781444600,"door_coords":{"z":14.99802207946777,"y":-2026.3388671875,"x":-924.9000854492188}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Office 3","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's","id":248,"door_type":"double","door_data":[{"unique_id":"0bgk62UWQxujxj1EN-hiH","model_hash":1222074806,"door_coords":{"z":15.01358604431152,"y":-2020.3114013671876,"x":-918.552734375}},{"unique_id":"_jMVQ7yIKJFQvXEkv43Am","model_hash":928071338,"door_coords":{"z":15.01358604431152,"y":-2018.468505859375,"x":-920.3955688476564}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Meeting Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's","id":249,"door_type":"double","door_data":[{"unique_id":"iV3UlTU6acpOgScWLX1Mk","model_hash":-824730790,"door_coords":{"z":8.98412895202636,"y":-2063.340087890625,"x":-769.6288452148438}},{"unique_id":"wxycRO0Adsv_UuBXdTP0g","model_hash":-824730790,"door_coords":{"z":8.98412895202636,"y":-2064.624267578125,"x":-768.3446044921875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Racetrack Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's","id":250,"door_type":"single","door_data":[{"unique_id":"b4WH-lRVCnTWcOod4Oxwy","model_hash":674680343,"door_coords":{"z":9.11057090759277,"y":-2065.49609375,"x":-773.3826904296875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Racetrack Training Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's","id":251,"door_type":"single","door_data":[{"unique_id":"buTo9OREegQC4ZJfN6C1E","model_hash":674680343,"door_coords":{"z":9.0990343093872,"y":-2070.609619140625,"x":-773.5220947265625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Racetrack Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Benny's","id":252,"door_type":"double","door_data":[{"unique_id":"-NjQbtg4FFSXW0DyDhIfm","model_hash":-824730790,"door_coords":{"z":8.98412895202636,"y":-2067.751708984375,"x":-784.8134765625}},{"unique_id":"4stb7FTos9md4RQd1HR9M","model_hash":-824730790,"door_coords":{"z":8.98412895202636,"y":-2066.467529296875,"x":-786.0977172851563}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Racetrack Rear Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":8,"location_group":"Benny's","id":253,"door_type":"gates","door_data":[{"unique_id":"xFB-VUjFvLxkIudmyLMf9","model_hash":242636620,"door_coords":{"z":7.89142179489135,"y":-2083.0166015625,"x":-783.77685546875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Racetrack Gate 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":8,"location_group":"Benny's","id":254,"door_type":"gates","door_data":[{"unique_id":"WuOWe9xXhoG5Qhb6vUs0R","model_hash":242636620,"door_coords":{"z":7.89939403533935,"y":-2082.266845703125,"x":-784.139892578125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Racetrack Gate 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":8,"location_group":"Benny's","id":255,"door_type":"gates","door_data":[{"unique_id":"4-vh-WVifJnm0kuFNlncI","model_hash":242636620,"door_coords":{"z":7.98384809494018,"y":-2025.2698974609376,"x":-794.1516723632813}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Racetrack Gate 3","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":8,"location_group":"Benny's","id":256,"door_type":"gates","door_data":[{"unique_id":"FCKSb3gP20Awf3rNmU46G","model_hash":242636620,"door_coords":{"z":8.02809143066406,"y":-2020.8468017578128,"x":-798.697509765625}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Racetrack Gate 4","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Burger_Shot.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Burger_Shot.json
new file mode 100644
index 000000000..c8e97291a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Burger_Shot.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Burger_Shot.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Burger Shot","id":387,"door_type":"double","door_data":[{"unique_id":"mK-aXKgPGC-RXh3Ex-vJ9","model_hash":808577486,"door_coords":{"z":14.01360607147216,"y":-885.6636352539063,"x":-1183.1590576171876}},{"unique_id":"fR4couuPqb8xQEtdGNd9a","model_hash":-778512609,"door_coords":{"z":14.01360511779785,"y":-883.34619140625,"x":-1184.7327880859376}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Parking Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Burger Shot","id":388,"door_type":"single","door_data":[{"unique_id":"BjDNJ2rc8PG4hHIVzGwcw","model_hash":-1070102053,"door_coords":{"z":13.94771766662597,"y":-891.4752197265625,"x":-1179.25634765625}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Staff Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Burger Shot","id":389,"door_type":"double","door_data":[{"unique_id":"fRu7oQhgdB0KVtcHTSNrS","model_hash":-778512609,"door_coords":{"z":14.01360511779785,"y":-885.0740966796875,"x":-1198.9893798828126}},{"unique_id":"mxl-foDInM25fxFdfSkoJ","model_hash":808577486,"door_coords":{"z":14.01360511779785,"y":-883.5003662109375,"x":-1196.6719970703126}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Burger Shot","id":390,"door_type":"double","door_data":[{"unique_id":"CX-qF3MSEx45D6UQ1YSLV","model_hash":-743656915,"door_coords":{"z":13.58732986450195,"y":-891.0391235351563,"x":-1196.1844482421876}},{"unique_id":"esr7stALDllsrXLk4XJ6r","model_hash":-1038220317,"door_coords":{"z":13.58732986450195,"y":-891.9794921875,"x":-1195.5457763671876}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Kitchen Gate","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Burger Shot","id":391,"door_type":"single","door_data":[{"unique_id":"tjUF2yrgt3FWiGircbZ1U","model_hash":-1070102053,"door_coords":{"z":14.13587188720703,"y":-886.3276977539063,"x":-1200.892822265625}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Staff Entrance 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Burger Shot","id":392,"door_type":"single","door_data":[{"unique_id":"p0SNfBzXxIFGcxoqED5aG","model_hash":-1625131933,"door_coords":{"z":14.14950561523437,"y":-892.613525390625,"x":-1198.4071044921876}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Freezer","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Burger Shot","id":393,"door_type":"single","door_data":[{"unique_id":"AyqDeWDtHj3R_IqSC00qh","model_hash":1209504117,"door_coords":{"z":14.15296173095703,"y":-895.6421508789063,"x":-1182.5380859375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Burger Shot","id":394,"door_type":"single","door_data":[{"unique_id":"f_bfsivUCZ89gAPypqSIA","model_hash":-430844401,"door_coords":{"z":14.13587188720703,"y":-899.1686401367188,"x":-1188.268798828125}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Staff Rooms","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Car_rental.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Car_rental.json
new file mode 100644
index 000000000..11677f2cd
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Car_rental.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Car_rental.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Car Rental","id":361,"door_type":"single","door_data":[{"unique_id":"JU_yXEkX2a9X1j3zd9fO3","model_hash":419561104,"door_coords":{"z":15.29508590698242,"y":-2412.451171875,"x":-798.967041015625}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Car Rental","id":362,"door_type":"single","door_data":[{"unique_id":"HJLo-wwKqMWrXihImz_RN","model_hash":897998672,"door_coords":{"z":15.2872838973999,"y":-2407.78759765625,"x":-807.197021484375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Side Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Car Rental","id":363,"door_type":"single","door_data":[{"unique_id":"HUXoIH6pvx44VhwXGPslZ","model_hash":-717476472,"door_coords":{"z":15.31758785247802,"y":-2424.70166015625,"x":-802.266357421875}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Car Rental","id":364,"door_type":"single","door_data":[{"unique_id":"GH3Gswmt4cNDUZm6yuozf","model_hash":-864583846,"door_coords":{"z":14.90151596069336,"y":-2426.6787109375,"x":-806.4122314453125}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Cayo_Lagoon.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Cayo_Lagoon.json
new file mode 100644
index 000000000..ad38757d6
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Cayo_Lagoon.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Cayo_Lagoon.json","imported":false,"data":[{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":124,"door_type":"single","door_data":[{"unique_id":"KGe3rbomABXQEJhGlSuBP","model_hash":872792023,"door_coords":{"z":3.36585807800292,"y":-4835.5849609375,"x":4722.60595703125}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 1 Front","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":125,"door_type":"single","door_data":[{"unique_id":"ijukvD-oNFsiNlBb3Rhz7","model_hash":-337294686,"door_coords":{"z":2.16825103759765,"y":-4841.2919921875,"x":4717.3310546875}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 1 Back 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":127,"door_type":"single","door_data":[{"unique_id":"KsOja342kmBABFxdQ7n_p","model_hash":-337294686,"door_coords":{"z":2.16825103759765,"y":-4832.89453125,"x":4714.5576171875}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 1 Back 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":129,"door_type":"single","door_data":[{"unique_id":"ubAQ0MFUaeHvbCqsBPMBv","model_hash":872792023,"door_coords":{"z":3.36585783958435,"y":-4822.29248046875,"x":4759.26318359375}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 2 Front","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":130,"door_type":"single","door_data":[{"unique_id":"aRFaQk8Rt-_g7M1-6BMCS","model_hash":-337294686,"door_coords":{"z":2.16825079917907,"y":-4816.63037109375,"x":4764.58642578125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 2 Back 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":133,"door_type":"single","door_data":[{"unique_id":"mAkeSrDN5jYU1i97BUmNt","model_hash":-337294686,"door_coords":{"z":2.16572308540344,"y":-4825.02099609375,"x":4767.27099609375}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 2 Back 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":134,"door_type":"single","door_data":[{"unique_id":"8bVWcLxjuebD_luBfwwTY","model_hash":872792023,"door_coords":{"z":3.36585783958435,"y":-4863.6455078125,"x":4731.84521484375}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 2 Front","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":136,"door_type":"single","door_data":[{"unique_id":"A9y-OQJj_OFNRhxa6_zyn","model_hash":-337294686,"door_coords":{"z":2.16825079917907,"y":-4869.38427734375,"x":4726.6044921875}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 2 Back 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":138,"door_type":"single","door_data":[{"unique_id":"iauga1i-K0mWl2WWwUdRS","model_hash":-337294686,"door_coords":{"z":2.16754961013793,"y":-4861.013671875,"x":4723.78759765625}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 2 Back 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":142,"door_type":"single","door_data":[{"unique_id":"5jGsAa410yT1L6QvSKAej","model_hash":872792023,"door_coords":{"z":3.36585807800292,"y":-4850.216796875,"x":4768.34228515625}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 4 Front","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":143,"door_type":"single","door_data":[{"unique_id":"cGVoKHRLDDV618Z3V1Hro","model_hash":-337294686,"door_coords":{"z":2.16825103759765,"y":-4844.5244140625,"x":4773.6328125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 4 Back 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":144,"door_type":"single","door_data":[{"unique_id":"AHl2Oi1QkGf0BIP9yYMEg","model_hash":-337294686,"door_coords":{"z":2.16825103759765,"y":-4852.9296875,"x":4776.38330078125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 4 Back 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":145,"door_type":"single","door_data":[{"unique_id":"LGIb0yrNhStKLE42mM6v7","model_hash":872792023,"door_coords":{"z":3.36585807800292,"y":-4897.16015625,"x":4741.787109375}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 5 Front","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":146,"door_type":"single","door_data":[{"unique_id":"6bT0R7aAEE516u_UbDu6D","model_hash":-337294686,"door_coords":{"z":2.16573238372802,"y":-4902.40625,"x":4736.4580078125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 5 Back 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":147,"door_type":"single","door_data":[{"unique_id":"Wt0ZGkpqXUN5qq3GWPjq4","model_hash":-337294686,"door_coords":{"z":2.16755938529968,"y":-4894.595703125,"x":4733.85986328125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 5 Back 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":148,"door_type":"single","door_data":[{"unique_id":"mOiJyZUAfGPjLZlne06tW","model_hash":872792023,"door_coords":{"z":3.36585807800292,"y":-4882.99560546875,"x":4780.67724609375}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 6 Front","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":149,"door_type":"single","door_data":[{"unique_id":"UBnLgEIaI1pCMYw19i3xL","model_hash":-337294686,"door_coords":{"z":2.16825103759765,"y":-4877.28076171875,"x":4785.94384765625}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 6 Back 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":150,"door_type":"single","door_data":[{"unique_id":"_2jPcJLZP1_G4SNMJ5Zgj","model_hash":-337294686,"door_coords":{"z":2.1675682067871,"y":-4885.0859375,"x":4788.35888671875}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 6 Back 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":151,"door_type":"single","door_data":[{"unique_id":"HOfPBVrklEHvwtiwhVKoC","model_hash":872792023,"door_coords":{"z":3.27884817123413,"y":-4934.251953125,"x":4687.1171875}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Villa Large 4 Front 1","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":152,"door_type":"single","door_data":[{"unique_id":"C_lFvMww3ugN48EO-kzTD","model_hash":872792023,"door_coords":{"z":3.27888941764831,"y":-4927.99365234375,"x":4693.0166015625}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Villa Large 4 Front 2","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":153,"door_type":"single","door_data":[{"unique_id":"K3rxHbah08ssM51mjHBsP","model_hash":-337294686,"door_coords":{"z":2.17072343826293,"y":-4927.22998046875,"x":4682.24462890625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Large 4 Back 2","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":154,"door_type":"single","door_data":[{"unique_id":"nMxzePBBS1zujBQYnQCpP","model_hash":872792023,"door_coords":{"z":3.27884936332702,"y":-5026.6767578125,"x":4667.623046875}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Large 1 Front 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":155,"door_type":"single","door_data":[{"unique_id":"6cT0rqr3ssFcB8qj7T83w","model_hash":-337294686,"door_coords":{"z":2.17072343826293,"y":-4935.6357421875,"x":4679.447265625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Large 4 Back 1","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":156,"door_type":"single","door_data":[{"unique_id":"XIOiwVYuse-5D8zsXc8lq","model_hash":872792023,"door_coords":{"z":3.27889060974121,"y":-5018.81005859375,"x":4664.14501953125}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Large 1 Front 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":157,"door_type":"single","door_data":[{"unique_id":"cAATAmd0vui_JTm2YIxHx","model_hash":-337294686,"door_coords":{"z":2.1700325012207,"y":-5028.5751953125,"x":4659.51806640625}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Large 1 Back 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":158,"door_type":"single","door_data":[{"unique_id":"rn4sPrMbzryscQgLG_6TE","model_hash":872792023,"door_coords":{"z":3.27884912490844,"y":-4965.14404296875,"x":4668.6181640625}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Villa Large 3 Front 1","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":159,"door_type":"single","door_data":[{"unique_id":"qaS5NZitlpRZnrK3r-i5j","model_hash":-337294686,"door_coords":{"z":2.16820359230041,"y":-5033.88134765625,"x":4665.64111328125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Large 1 Back 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":160,"door_type":"single","door_data":[{"unique_id":"yi2XwP1bXkBDvy1VHZ880","model_hash":872792023,"door_coords":{"z":3.27889037132263,"y":-4957.36376953125,"x":4664.951171875}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Villa Large 3 Front 2","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":161,"door_type":"single","door_data":[{"unique_id":"oCCpizEzsC7AKUT9h1XVv","model_hash":-337294686,"door_coords":{"z":2.1702435016632,"y":-4967.10888671875,"x":4660.30322265625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Large 3 Back 2","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":162,"door_type":"single","door_data":[{"unique_id":"eHuAE_4cUdg0oGSJVD4A2","model_hash":-337294686,"door_coords":{"z":2.17072439193725,"y":-4972.7880859375,"x":4667.10009765625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Large 3 Back 1","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":163,"door_type":"single","door_data":[{"unique_id":"TjTnjWkiGKw1bcTtH7nU_","model_hash":872792023,"door_coords":{"z":3.27884888648986,"y":-5031.0166015625,"x":4702.30712890625}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Large 2 Front 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":164,"door_type":"single","door_data":[{"unique_id":"UrvSeszQWSWJuknWnAfAj","model_hash":872792023,"door_coords":{"z":3.27889013290405,"y":-5031.6640625,"x":4693.73046875}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Large 2 Front 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":165,"door_type":"single","door_data":[{"unique_id":"KbR44iLjc8QZZDlvMImjT","model_hash":-337294686,"door_coords":{"z":2.16805624961853,"y":-5039.39306640625,"x":4701.275390625}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Large 2 Back 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Cayo Lagoon","id":166,"door_type":"single","door_data":[{"unique_id":"2hJubjCt0OI8kEZ4tC_5s","model_hash":-337294686,"door_coords":{"z":2.17072415351867,"y":-5035.16357421875,"x":4708.90576171875}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Large 2 Back1","state":true}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Downtown_Impound.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Downtown_Impound.json
new file mode 100644
index 000000000..1e24bb1cc
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Downtown_Impound.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Downtown_Impound.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Downtown Impound","id":359,"door_type":"gates","door_data":[{"unique_id":"v4dhcjVf3_7FwCAotMekx","model_hash":538893099,"door_coords":{"z":28.62784194946289,"y":-1143.8802490234376,"x":446.295166015625}},{"unique_id":"Q53WbxBaLl6jFocXHuSbx","model_hash":538893099,"door_coords":{"z":28.62784194946289,"y":-1143.8802490234376,"x":458.5320434570313}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Downtown Impound","id":360,"door_type":"double","door_data":[{"unique_id":"gmoJF3ZuV9V88JrYbHSwp","model_hash":-2119445875,"door_coords":{"z":29.62925910949707,"y":-1156.3865966796876,"x":462.0157165527344}},{"unique_id":"rOVhOKfcLH2L2luqYrXty","model_hash":-2119445875,"door_coords":{"z":29.62925910949707,"y":-1156.3865966796876,"x":464.2543640136719}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_East_Highway.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_East_Highway.json
new file mode 100644
index 000000000..60329db38
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_East_Highway.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Fleeca_East_Highway.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"state":false,"distance":2,"location_group":"Fleeca Bank East Highway","index":57,"door_type":"double","id":56,"door_data":[{"unique_id":"SzCS2gZT9Cx-4jecPpyxY","model_hash":321307715,"door_coords":{"z":16.04801559448242,"y":484.21929931640627,"x":-2965.710205078125}},{"unique_id":"4NfOog_mG1gwED-np3yHq","model_hash":1174415861,"door_coords":{"z":16.04801559448242,"y":481.62890625,"x":-2965.8212890625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Main Entrance","secret":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank East Highway","id":58,"door_type":"single","door_data":[{"unique_id":"HpjaKH1Ua5shutOUI68A3","model_hash":1138019403,"door_coords":{"z":15.84694194793701,"y":485.81292724609377,"x":-2958.03369140625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Security Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank East Highway","id":60,"door_type":"single","door_data":[{"unique_id":"mMgn4xJ8g_B4eeN_C4W77","model_hash":1138019403,"door_coords":{"z":15.84694194793701,"y":483.500732421875,"x":-2957.18212890625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank East Highway","id":61,"door_type":"single","door_data":[{"unique_id":"BxM0mWCVqGxZJ1DBhZjdh","model_hash":1138019403,"door_coords":{"z":15.84694194793701,"y":476.65863037109377,"x":-2958.4765625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Teller Line","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank East Highway","id":62,"door_type":"double","door_data":[{"unique_id":"2bg6R6tAlYrXsKLQaCKrQ","model_hash":1701326175,"door_coords":{"z":14.69364547729492,"y":480.2824401855469,"x":-2954.66748046875}},{"unique_id":"ajV_lgpDHyJVlTfuYYtoN","model_hash":1531484448,"door_coords":{"z":14.69482326507568,"y":482.1956176757813,"x":-2954.58544921875}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Vault","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank East Highway","id":63,"door_type":"double","door_data":[{"unique_id":"F9J2wt2w7B6cbPwyCDpe0","model_hash":-1869718918,"door_coords":{"z":14.69694137573242,"y":483.2097473144531,"x":-2952.502685546875}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Inside Vault 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank East Highway","id":65,"door_type":"double","door_data":[{"unique_id":"z4YORlKSzcz4Bv5Pa7T4H","model_hash":-1869718918,"door_coords":{"z":14.69694137573242,"y":479.0935363769531,"x":-2952.679443359375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Inside Vault 2","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Legion_Square.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Legion_Square.json
new file mode 100644
index 000000000..a1cb5741c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Legion_Square.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Fleeca_Legion_Square.json","imported":false,"data":[{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Legion Square","id":69,"door_type":"double","door_data":[{"unique_id":"quoQqjuLsW-Lt-w-s6QmA","model_hash":1174415861,"door_coords":{"z":29.71900367736816,"y":-1037.2305908203126,"x":149.62905883789066}},{"unique_id":"6J-z5OakLYHAkHsTPahmq","model_hash":321307715,"door_coords":{"z":29.71900367736816,"y":-1038.1239013671876,"x":152.06307983398438}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Main Entrance","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Legion Square","id":73,"door_type":"single","door_data":[{"unique_id":"64h3vMx7NzuD2mnZzLLEf","model_hash":1138019403,"door_coords":{"z":29.51792907714843,"y":-1045.92138671875,"x":151.24794006347657}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Security Room","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Legion Square","id":76,"door_type":"single","door_data":[{"unique_id":"fkz12sWq52n6HD-lVxCR3","model_hash":1138019403,"door_coords":{"z":29.51792907714843,"y":-1046.0299072265626,"x":148.78627014160157}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Office","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Legion Square","id":77,"door_type":"single","door_data":[{"unique_id":"SSHLFs-S0NqchpQHy-6OC","model_hash":1138019403,"door_coords":{"z":29.51792907714843,"y":-1042.716796875,"x":142.6614532470703}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Teller Line","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Legion Square","id":78,"door_type":"double","door_data":[{"unique_id":"BWSB8P-4uOb9viQG2h0Xm","model_hash":1531484448,"door_coords":{"z":28.36463737487793,"y":-1048.4398193359376,"x":147.65606689453126}},{"unique_id":"Ex0zbZQzJWougkbK4nDLN","model_hash":1701326175,"door_coords":{"z":28.3653392791748,"y":-1047.1148681640626,"x":144.04888916015626}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Vault","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Legion Square","id":79,"door_type":"double","door_data":[{"unique_id":"26vrPWVH1S5k3xRD_47Hh","model_hash":-1869718918,"door_coords":{"z":28.36721801757812,"y":-1050.3973388671876,"x":147.08689880371098}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Inside Vault 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Legion Square","id":80,"door_type":"double","door_data":[{"unique_id":"grIFH17M5xiWrgJiKr-vL","model_hash":-1869718918,"door_coords":{"z":28.36792945861816,"y":-1048.9798583984376,"x":143.2190093994141}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Inside Vault 2","state":true}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Movie_Studio.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Movie_Studio.json
new file mode 100644
index 000000000..abf873292
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Movie_Studio.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Fleeca_Movie_Studio.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Movie Studio","id":67,"door_type":"double","door_data":[{"unique_id":"ifL5Rwxs3gJntRRN9sh43","model_hash":321307715,"door_coords":{"z":38.13196182250976,"y":-327.34368896484377,"x":-1213.0872802734376}},{"unique_id":"ZzYig0oto0fT1H_aLBccR","model_hash":1174415861,"door_coords":{"z":38.13196182250976,"y":-328.5207824707031,"x":-1215.3974609375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Main Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Movie Studio","id":68,"door_type":"single","door_data":[{"unique_id":"rI6EJNGYEtYWfdd2yGYs7","model_hash":1138019403,"door_coords":{"z":37.93088912963867,"y":-333.2439270019531,"x":-1207.9246826171876}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Security Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Movie Studio","id":70,"door_type":"single","door_data":[{"unique_id":"WRfIgxIa8re9QVP3p7M4w","model_hash":1138019403,"door_coords":{"z":37.93088912963867,"y":-335.12255859375,"x":-1209.51904296875}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Movie Studio","id":71,"door_type":"single","door_data":[{"unique_id":"5YXsfkgYyB2VGP2nJwNnv","model_hash":1138019403,"door_coords":{"z":37.93088912963867,"y":-337.3601684570313,"x":-1216.1134033203126}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Teller Line","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Movie Studio","id":72,"door_type":"double","door_data":[{"unique_id":"igxijr7lI4xFloNbEj2kv","model_hash":1531484448,"door_coords":{"z":36.77872848510742,"y":-338.025146484375,"x":-1209.3785400390626}},{"unique_id":"SCwKqi7LlK9zm7OMj04Fd","model_hash":1701326175,"door_coords":{"z":36.78003311157226,"y":-338.8951721191406,"x":-1211.08447265625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Vault","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Movie Studio","id":74,"door_type":"double","door_data":[{"unique_id":"XDEiqG-GqaeSGbVTSDHnu","model_hash":-1869718918,"door_coords":{"z":36.78088760375976,"y":-339.34002685546877,"x":-1207.47119140625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Inside Vault 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Movie Studio","id":75,"door_type":"double","door_data":[{"unique_id":"EMg5Xd9Zp0OPJGi38yqhd","model_hash":-1869718918,"door_coords":{"z":36.78088760375976,"y":-341.2104797363281,"x":-1211.14208984375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Inside Vault 2","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Sandy.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Sandy.json
new file mode 100644
index 000000000..176dd5c0d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Sandy.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Fleeca_Sandy.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"state":false,"distance":2,"location_group":"Fleeca Bank Sandy","index":46,"door_type":"single","id":45,"door_data":[{"unique_id":"pLoEVkY-fCIXU3hwHvbIH","model_hash":321307715,"door_coords":{"z":38.43896102905273,"y":2703.61279296875,"x":1173.9027099609376}},{"unique_id":"j3rndhosFTEKFTwcN_u3C","model_hash":1174415861,"door_coords":{"z":38.43896102905273,"y":2703.61279296875,"x":1176.4954833984376}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Main Entrance","secret":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Sandy","id":47,"door_type":"single","door_data":[{"unique_id":"LSfeRwP-o28p-JsNi103u","model_hash":1138019403,"door_coords":{"z":38.23788833618164,"y":2711.16357421875,"x":1181.146240234375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Teller Line","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Sandy","id":48,"door_type":"single","door_data":[{"unique_id":"xSJwJjcTW2JtnsM_emj9J","model_hash":1138019403,"door_coords":{"z":38.23788833618164,"y":2711.213623046875,"x":1171.9813232421876}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Security Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Sandy","id":49,"door_type":"single","door_data":[{"unique_id":"rkH4o7AE9brNSuowQSX2U","model_hash":1138019403,"door_coords":{"z":38.23788833618164,"y":2712.16357421875,"x":1174.2548828125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Sandy","id":50,"door_type":"double","door_data":[{"unique_id":"-slzCqb-E7Ea1u9Gs1t25","model_hash":1701326175,"door_coords":{"z":37.08458709716797,"y":2714.81396484375,"x":1178.3284912109376}},{"unique_id":"c4VZIQUtGOR4MnmJYF6hh","model_hash":1531484448,"door_coords":{"z":37.08458709716797,"y":2714.81396484375,"x":1174.485595703125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Vault","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Sandy","id":51,"door_type":"double","door_data":[{"unique_id":"Mk055wCt6_WjdpB4jb8zz","model_hash":-1869718918,"door_coords":{"z":37.08436584472656,"y":2716.7763671875,"x":1174.344970703125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Inside Vault 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Sandy","id":52,"door_type":"double","door_data":[{"unique_id":"o9vEQlKp1SJOWe5HHKPTT","model_hash":-1869718918,"door_coords":{"z":37.08746337890625,"y":2716.84912109375,"x":1178.4649658203126}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Inside Vault 2","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Vinewood.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Vinewood.json
new file mode 100644
index 000000000..fd5a92a17
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Vinewood.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Fleeca_Vinewood.json","imported":false,"data":[{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood","id":32,"door_type":"double","door_data":[{"unique_id":"m7kc7mFD3ara7ecaFC9cS","model_hash":321307715,"door_coords":{"z":49.38750457763672,"y":-47.26210403442383,"x":-348.81103515625}},{"unique_id":"JncGzTa2RuKREjafnZDcx","model_hash":1174415861,"door_coords":{"z":49.38750457763672,"y":-46.41198348999023,"x":-351.260498046875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Main Entrance ","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood","id":36,"door_type":"single","door_data":[{"unique_id":"glyCv4oZIl24Ku0TK9HuS","model_hash":1138019403,"door_coords":{"z":49.18643188476562,"y":-52.02065277099609,"x":-358.1299438476563}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Teller Line","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood","id":37,"door_type":"single","door_data":[{"unique_id":"xf4lcRcRgQh47H1JGCInY","model_hash":1138019403,"door_coords":{"z":49.18643188476562,"y":-55.07287216186523,"x":-349.4881286621094}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Security Room","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood","id":39,"door_type":"single","door_data":[{"unique_id":"co_1nfMpsLdhmy2wOV0VA","model_hash":1138019403,"door_coords":{"z":49.18643188476562,"y":-55.22489929199219,"x":-351.94744873046877}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Office","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"state":false,"distance":2,"location_group":"Fleeca Bank Vinewood","index":44,"door_type":"double","id":43,"door_data":[{"unique_id":"xo4XxrsdvVUWl9aG16c_-","model_hash":1531484448,"door_coords":{"z":48.03313446044922,"y":-57.6528091430664,"x":-353.0343017578125}},{"unique_id":"2vxV90_GOF0JwrbOtLviW","model_hash":1701326175,"door_coords":{"z":48.03313446044922,"y":-56.39305114746094,"x":-356.6648254394531}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Vault","secret":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood","id":44,"door_type":"double","door_data":[{"unique_id":"RxqEYePVIZUFKVCwCF_Nd","model_hash":-1869718918,"door_coords":{"z":48.03643035888672,"y":-59.6237564086914,"x":-353.5694274902344}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Inside Vault1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood","id":46,"door_type":"double","door_data":[{"unique_id":"k6jMqwHJm7yilY6tSSiix","model_hash":-1869718918,"door_coords":{"z":48.0350341796875,"y":-58.27107620239258,"x":-357.4608459472656}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Inside Vault 2","state":true}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Vinewood_Lower_Level.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Vinewood_Lower_Level.json
new file mode 100644
index 000000000..6c9a5062d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Fleeca_Vinewood_Lower_Level.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Fleeca_Vinewood_Lower_Level.json","imported":false,"data":[{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood (Lower Level)","id":53,"door_type":"double","door_data":[{"unique_id":"5MBPgk-TueYUGW2qyLj8i","model_hash":1174415861,"door_coords":{"z":54.51571655273437,"y":-275.5962829589844,"x":313.9579772949219}},{"unique_id":"bfIsotCYc-PUZHpmDVgU6","model_hash":321307715,"door_coords":{"z":54.51571655273437,"y":-276.48876953125,"x":316.3923034667969}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Main Entrance","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood (Lower Level)","id":54,"door_type":"single","door_data":[{"unique_id":"u1syZZcHZKv6HctvXuC4r","model_hash":1138019403,"door_coords":{"z":54.31464385986328,"y":-284.28662109375,"x":315.5798950195313}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Security Room","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood (Lower Level)","id":55,"door_type":"single","door_data":[{"unique_id":"J0vzkmy56FgqRn-3MWHJ9","model_hash":1138019403,"door_coords":{"z":54.31464385986328,"y":-284.3959655761719,"x":313.1182250976563}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Office","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood (Lower Level)","id":57,"door_type":"single","door_data":[{"unique_id":"c9T7rh80IWor279jm6KOo","model_hash":1138019403,"door_coords":{"z":54.31464385986328,"y":-281.0849609375,"x":306.9922790527344}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Teller Line","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood (Lower Level)","id":59,"door_type":"double","door_data":[{"unique_id":"szBR6XB2VFaWBthsQA-_e","model_hash":1701326175,"door_coords":{"z":53.16134643554687,"y":-285.8146057128906,"x":309.2883911132813}},{"unique_id":"o1Sxyy6KNGzVANB8kKoeZ","model_hash":1531484448,"door_coords":{"z":53.16134643554687,"y":-286.4737243652344,"x":311.0863037109375}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Vault","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood (Lower Level)","id":64,"door_type":"double","door_data":[{"unique_id":"blIg0PGqv8OygjU527B_M","model_hash":-1869718918,"door_coords":{"z":53.16194152832031,"y":-288.76409912109377,"x":311.4207763671875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Inside Vault 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Fleeca Bank Vinewood (Lower Level)","id":66,"door_type":"double","door_data":[{"unique_id":"3hwCSR1sqTL1Wi5VQSKSb","model_hash":-1869718918,"door_coords":{"z":53.16394805908203,"y":-287.3385314941406,"x":307.5552978515625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Inside Vault 2","state":true}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Jurrasic_Jackpot.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Jurrasic_Jackpot.json
new file mode 100644
index 000000000..968daa691
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Jurrasic_Jackpot.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Jurrasic_Jackpot.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Jurrasic Jackpot","id":1,"door_type":"double","door_data":[{"unique_id":"PeDq0IaGyknn5-35AuTPR","model_hash":-1654322689,"door_coords":{"z":32.67245483398437,"y":-904.9678344726564,"x":-262.3049926757813}},{"unique_id":"RaCdokZoTWUdhwmMBjHL9","model_hash":1963032047,"door_coords":{"z":32.67245483398437,"y":-904.1338500976564,"x":-264.5975646972656}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Jurrasic Jackpot","id":2,"door_type":"single","door_data":[{"unique_id":"AdpBuoUZtMghWdtADq3_J","model_hash":-667287640,"door_coords":{"z":32.57197570800781,"y":-915.1117553710938,"x":-234.09274291992188}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Office Entrance","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Jurrasic Jackpot","id":3,"door_type":"single","door_data":[{"unique_id":"7zkxh6pvZD3dRSCfxaX6a","model_hash":-667287640,"door_coords":{"z":32.57217407226562,"y":-910.1915893554688,"x":-231.6593017578125}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Office","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Jurrasic Jackpot","id":4,"door_type":"double","door_data":[{"unique_id":"IO7bnsqwI6UElMKtO2llo","model_hash":1419296196,"door_coords":{"z":32.57361602783203,"y":-926.1414794921876,"x":-235.01553344726569}},{"unique_id":"dStydq7RWnAuSnvhnb9Ez","model_hash":179710460,"door_coords":{"z":32.58091354370117,"y":-925.5774536132813,"x":-236.57713317871098}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Jurrasic Jackpot","id":5,"door_type":"double","door_data":[{"unique_id":"xpxappm0jZKQBu-nrUjKG","model_hash":1402432648,"door_coords":{"z":32.47398376464844,"y":-917.5099487304688,"x":-268.3333129882813}},{"unique_id":"jGg9IzBxPSIyt1yMlWbvo","model_hash":1402432648,"door_coords":{"z":32.47407913208008,"y":-916.9988403320313,"x":-269.7369689941406}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Elevator Bottom","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Jurrasic Jackpot","id":6,"door_type":"double","door_data":[{"unique_id":"bigN4AeLz8E2GLgB1anSF","model_hash":1402432648,"door_coords":{"z":52.94610214233398,"y":-917.483154296875,"x":-270.6281433105469}},{"unique_id":"qTlvaeer-eyE_Bu1K4QB8","model_hash":1402432648,"door_coords":{"z":52.94636535644531,"y":-916.974365234375,"x":-272.0438537597656}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Elevator Helipad","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Jurrasic Jackpot","id":7,"door_type":"double","door_data":[{"unique_id":"nL1O7ij93g6zXvOo2mUwK","model_hash":1402432648,"door_coords":{"z":46.4197883605957,"y":-917.5093383789064,"x":-268.3330993652344}},{"unique_id":"qq2qVoYtl4R_xTXhqIVR4","model_hash":1402432648,"door_coords":{"z":46.4194107055664,"y":-916.99951171875,"x":-269.7372131347656}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Elevator Boss Room","state":true}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Kebab_King.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Kebab_King.json
new file mode 100644
index 000000000..385a3415a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Kebab_King.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Kebab_King.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Kebab King","id":352,"door_type":"single","door_data":[{"unique_id":"gOiwWzjEiqyXbdepO2iVG","model_hash":-302968221,"door_coords":{"z":30.4904499053955,"y":-824.935546875,"x":249.3018493652344}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Kebab King","id":353,"door_type":"single","door_data":[{"unique_id":"wV67iVWEsm7QKNB4WHkfz","model_hash":-302968221,"door_coords":{"z":30.42673301696777,"y":-817.9434814453125,"x":246.52867126464845}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Terrace","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Kebab King","id":354,"door_type":"single","door_data":[{"unique_id":"iESEDtosOJ1QNGH8Tdq7K","model_hash":-910311142,"door_coords":{"z":30.36583709716797,"y":-815.4341430664063,"x":258.75653076171877}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Kebab King","id":355,"door_type":"single","door_data":[{"unique_id":"04mIFkEdJEd55WaPsboIP","model_hash":362477212,"door_coords":{"z":30.37517547607422,"y":-812.5686645507813,"x":250.90945434570313}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Kitchen","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_LSIA.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_LSIA.json
new file mode 100644
index 000000000..6c83fbd0d
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_LSIA.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_LSIA.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":365,"door_type":"double","door_data":[{"unique_id":"0MJP38DCnsJRHLj2SmyTI","model_hash":140573014,"door_coords":{"z":22.04737472534179,"y":-2746.609375,"x":-1044.798828125}},{"unique_id":"ikJ7CiK6jEMlXIytFxgC5","model_hash":140573014,"door_coords":{"z":22.04737472534179,"y":-2748.162109375,"x":-1042.029296875}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":366,"door_type":"double","door_data":[{"unique_id":"sbjoXZ2Cv0IE-rh6ZMEQg","model_hash":233019773,"door_coords":{"z":21.47148513793945,"y":-2763.970947265625,"x":-1056.4759521484376}},{"unique_id":"bYCEMXBo1N76KYUzdhqcG","model_hash":233019773,"door_coords":{"z":21.47148513793945,"y":-2765.27734375,"x":-1054.1478271484376}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Lobby 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":367,"door_type":"double","door_data":[{"unique_id":"kdxu3b4oDyM7BbjApoAt6","model_hash":233019773,"door_coords":{"z":21.47148513793945,"y":-2765.37158203125,"x":-1054.0499267578126}},{"unique_id":"gp-TMN9_HjSRD0zg1u6hy","model_hash":233019773,"door_coords":{"z":21.47148513793945,"y":-2766.677978515625,"x":-1051.7215576171876}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Lobby 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":368,"door_type":"single","door_data":[{"unique_id":"70kfCbeyFarnOBJ0qjWks","model_hash":1673782538,"door_coords":{"z":20.96968078613281,"y":-2777.831787109375,"x":-1045.3756103515626}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":369,"door_type":"single","door_data":[{"unique_id":"UQ-yngz3IMHmOgwCZXdgq","model_hash":1673782538,"door_coords":{"z":20.96968078613281,"y":-2785.448486328125,"x":-1049.773193359375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":370,"door_type":"single","door_data":[{"unique_id":"SqLLFlPV0gJSO5xWN_N6q","model_hash":1673782538,"door_coords":{"z":20.96968078613281,"y":-2788.5869140625,"x":-1051.585205078125}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 3","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":371,"door_type":"single","door_data":[{"unique_id":"b5J2lQ9ToLoeQANyvBjFZ","model_hash":1673782538,"door_coords":{"z":20.96968078613281,"y":-2796.074951171875,"x":-1055.908447265625}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 4","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":372,"door_type":"single","door_data":[{"unique_id":"UtOSJXhMaXmUapiJgeg1j","model_hash":1673782538,"door_coords":{"z":20.96968078613281,"y":-2803.63037109375,"x":-1060.2705078125}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 5","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":373,"door_type":"single","door_data":[{"unique_id":"80Lnkc2nRYmCi_lnYCtfs","model_hash":1673782538,"door_coords":{"z":20.96968078613281,"y":-2790.950927734375,"x":-1084.3223876953126}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 6","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":374,"door_type":"single","door_data":[{"unique_id":"AoUUYVZSfCwDybTeVoS_a","model_hash":1673782538,"door_coords":{"z":20.96968078613281,"y":-2783.395751953125,"x":-1079.9603271484376}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 7","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":375,"door_type":"single","door_data":[{"unique_id":"pHwBNjStzSb8b-HXcEugk","model_hash":1673782538,"door_coords":{"z":20.96968078613281,"y":-2775.90771484375,"x":-1075.6370849609376}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 8","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":376,"door_type":"single","door_data":[{"unique_id":"vLGl2WY159NDsCNFt_3-2","model_hash":1673782538,"door_coords":{"z":20.96968078613281,"y":-2772.76904296875,"x":-1073.8250732421876}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 9","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":377,"door_type":"single","door_data":[{"unique_id":"wsm7cnvO7sj458c0T2mhB","model_hash":1673782538,"door_coords":{"z":20.96968078613281,"y":-2765.15234375,"x":-1069.427490234375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 10","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":378,"door_type":"double","door_data":[{"unique_id":"J-ppWQacI5YHbmaoOyLw3","model_hash":-458248282,"door_coords":{"z":25.15653419494629,"y":-2815.755615234375,"x":-1085.345703125}},{"unique_id":"9PrmBSdY3c3iuZMVNy9NI","model_hash":-458248282,"door_coords":{"z":25.15608596801757,"y":-2815.26513671875,"x":-1086.1949462890626}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Slide Gate 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":379,"door_type":"double","door_data":[{"unique_id":"QFO4XoVmx3JowpXpEXDif","model_hash":-458248282,"door_coords":{"z":25.15564155578613,"y":-2813.34423828125,"x":-1089.525390625}},{"unique_id":"nyTYIS-yNw4fQ7efTz4j8","model_hash":-458248282,"door_coords":{"z":25.15301895141601,"y":-2813.8828125,"x":-1088.585693359375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Slide Gate 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":380,"door_type":"double","door_data":[{"unique_id":"azG1wmhyo_IcUHlxxkyDA","model_hash":-458248282,"door_coords":{"z":25.15560340881347,"y":-2811.954345703125,"x":-1091.9364013671876}},{"unique_id":"U_ltsroge2hKfgFTx9NBt","model_hash":-458248282,"door_coords":{"z":25.15560340881347,"y":-2811.4345703125,"x":-1092.8232421875}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Slide Gate 3","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":381,"door_type":"double","door_data":[{"unique_id":"0-JYbUbE1vtwXxPdCJ-b6","model_hash":-458248282,"door_coords":{"z":25.15556716918945,"y":-2818.293701171875,"x":-1080.9481201171876}},{"unique_id":"r3MwSOV-WYEamXoIOBaNQ","model_hash":-458248282,"door_coords":{"z":25.15467643737793,"y":-2817.623291015625,"x":-1082.1142578125}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Slide Gate 4","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":382,"door_type":"double","door_data":[{"unique_id":"80m7AizQOoJ54B6BYw49E","model_hash":-458248282,"door_coords":{"z":25.15604400634765,"y":-2819.52197265625,"x":-1078.82177734375}},{"unique_id":"O6JTQS5js-FFSCXQHGnq4","model_hash":-458248282,"door_coords":{"z":25.15604400634765,"y":-2820.318115234375,"x":-1077.443359375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Slide Gate 5","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":383,"door_type":"double","door_data":[{"unique_id":"UsVJ1Xyo2o7VE--wLn9dK","model_hash":-458248282,"door_coords":{"z":25.15653419494629,"y":-2822.093017578125,"x":-1074.368896484375}},{"unique_id":"YxqgYc96yqOp9elLSd_bf","model_hash":-458248282,"door_coords":{"z":25.15592002868652,"y":-2821.548828125,"x":-1075.309814453125}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Slide Gate 6","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":384,"door_type":"single","door_data":[{"unique_id":"ebJZAThk2m1pNdH2MJUal","model_hash":1167251902,"door_coords":{"z":26.27789688110351,"y":-2801.587158203125,"x":-1093.041748046875}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":385,"door_type":"single","door_data":[{"unique_id":"Ap4pY_P2fQEO1nt9MAXbc","model_hash":1167251902,"door_coords":{"z":26.27789688110351,"y":-2797.877197265625,"x":-1090.8997802734376}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"LSIA","id":386,"door_type":"double","door_data":[{"unique_id":"qvkWWMVu5qAtL_Hj6gFEG","model_hash":-1922281023,"door_coords":{"z":26.79128456115722,"y":-2796.10400390625,"x":-1113.4671630859376}},{"unique_id":"GVrvsCjZYgt9P1zBrUaqV","model_hash":-1922281023,"door_coords":{"z":26.79128456115722,"y":-2797.16259765625,"x":-1111.6336669921876}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Ponsonbys","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Laundromat_Banyon_Canyon.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Laundromat_Banyon_Canyon.json
new file mode 100644
index 000000000..7a20df7cb
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Laundromat_Banyon_Canyon.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Laundromat_Banyon_Canyon.json","imported":false,"data":[{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Laundromat Dollar Pills Banyon Canyon","id":25,"door_type":"double","door_data":[{"unique_id":"G8hoaPsA7VAvspqDVlErR","model_hash":-1354628308,"door_coords":{"z":7.60054492950439,"y":633.0004272460938,"x":-3053.745849609375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Front","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Laundromat Dollar Pills Banyon Canyon","id":27,"door_type":"single","door_data":[{"unique_id":"46jchywYBxn3MuDcv60wP","model_hash":-952356348,"door_coords":{"z":7.53919839859008,"y":627.4707641601563,"x":-3062.81787109375}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Office","state":true}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Laundromat_Davis.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Laundromat_Davis.json
new file mode 100644
index 000000000..5edff1449
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Laundromat_Davis.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Laundromat_Davis.json","imported":false,"data":[{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Laundromat Dollar Pills Davis","id":14,"door_type":"double","door_data":[{"unique_id":"sChjUtSW_rbKG9_S8-mOt","model_hash":-1354628308,"door_coords":{"z":29.79930114746093,"y":-1610.363525390625,"x":56.1301155090332}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Front","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Laundromat Dollar Pills Davis","id":17,"door_type":"single","door_data":[{"unique_id":"sUe6BTGAxxRkgp1vc0B-b","model_hash":-952356348,"door_coords":{"z":29.73795318603515,"y":-1601.0386962890626,"x":61.22207260131836}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Office","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Laundromat Dollar Pills Davis","id":22,"door_type":"double","door_data":[{"unique_id":"BV7KvjgdUfgnSIIzoXa3p","model_hash":67701526,"door_coords":{"z":29.74461364746093,"y":-1603.0107421875,"x":67.25186157226563}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Back","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Laundromat_Paleto_Bay.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Laundromat_Paleto_Bay.json
new file mode 100644
index 000000000..676e7d421
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Laundromat_Paleto_Bay.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Laundromat_Paleto_Bay.json","imported":false,"data":[{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Laundromat Dollar Pills Paleto Bay","id":8,"door_type":"double","door_data":[{"unique_id":"3xSqU63n7oA6EcJHZdrGF","model_hash":-1354628308,"door_coords":{"z":31.7122745513916,"y":6459.8447265625,"x":-50.20425415039062}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Front","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Laundromat Dollar Pills Paleto Bay","id":9,"door_type":"single","door_data":[{"unique_id":"x7d8vImUzMudSLlLEhoZy","model_hash":-952356348,"door_coords":{"z":31.65092658996582,"y":6453.96240234375,"x":-41.3567886352539}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Office","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Laundromat Dollar Pills Paleto Bay","id":11,"door_type":"double","door_data":[{"unique_id":"z77cvi9MOdu9yM8s2qcpV","model_hash":67701526,"door_coords":{"z":31.6575870513916,"y":6448.126953125,"x":-43.84483337402344}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Back","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Leapfrog_Cafe.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Leapfrog_Cafe.json
new file mode 100644
index 000000000..8affdc9df
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Leapfrog_Cafe.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Leapfrog_Cafe.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Leapfrog Cafe","id":276,"door_type":"double","door_data":[{"unique_id":"x5GIdYNcjfMJ7DFJ-ddGg","model_hash":1031834285,"door_coords":{"z":56.92129135131836,"y":-646.7437133789063,"x":1120.9024658203126}},{"unique_id":"831xR5TzbYNBEL3mqV9cf","model_hash":-224037640,"door_coords":{"z":56.92129135131836,"y":-645.1931762695313,"x":1120.5869140625}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Leapfrog Cafe","id":277,"door_type":"single","door_data":[{"unique_id":"AX8RUF1CNYNclMlA5Ujrr","model_hash":-1139131506,"door_coords":{"z":56.91297149658203,"y":-639.603271484375,"x":1118.750244140625}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Leapfrog Cafe","id":278,"door_type":"single","door_data":[{"unique_id":"4zkIwb7lcVXMwOHMWDiI_","model_hash":-1139131506,"door_coords":{"z":53.21297454833984,"y":-652.3416137695313,"x":1119.4913330078126}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Leapfrog Cafe","id":279,"door_type":"double","door_data":[{"unique_id":"jBF5N6UsSpWbbTFa1p9jn","model_hash":-224037640,"door_coords":{"z":56.92129135131836,"y":-648.0953369140625,"x":1114.26123046875}},{"unique_id":"22mB9Y06m-TvxnwwfComb","model_hash":1031834285,"door_coords":{"z":56.92129135131836,"y":-646.5447998046875,"x":1113.9456787109376}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Terrace Entrance","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_PDM_Vespucci.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_PDM_Vespucci.json
new file mode 100644
index 000000000..faf3f1b28
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_PDM_Vespucci.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_PDM_Vespucci.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"PDM Vespucci","id":344,"door_type":"double","door_data":[{"unique_id":"wnmzrus11KLkJgk_CplWU","model_hash":-709699574,"door_coords":{"z":5.93694686889648,"y":-1514.272216796875,"x":-1016.2203369140624}},{"unique_id":"yuZz4knyFF99u_lphoebk","model_hash":-709699574,"door_coords":{"z":5.93694686889648,"y":-1515.8409423828126,"x":-1015.1218872070313}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"PDM Vespucci","id":345,"door_type":"single","door_data":[{"unique_id":"OTqbU1x94E01hsJcjFfN8","model_hash":-730804183,"door_coords":{"z":5.92394113540649,"y":-1506.582275390625,"x":-996.4791870117188}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"CEO Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"PDM Vespucci","id":346,"door_type":"single","door_data":[{"unique_id":"FvajpDsiZ0CBvhRE0Ucya","model_hash":-1857898938,"door_coords":{"z":5.91064834594726,"y":-1496.0318603515626,"x":-1003.8759155273438}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"PDM Vespucci","id":347,"door_type":"garage","door_data":[{"unique_id":"NOv62Mk9Fi2Koc0LPR5bg","model_hash":-101253381,"door_coords":{"z":6.41972923278808,"y":-1505.8048095703126,"x":-989.2136840820313}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Rear Entrance","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Paleto_Cardealer.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Paleto_Cardealer.json
new file mode 100644
index 000000000..bcdf9d07a
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Paleto_Cardealer.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Paleto_Cardealer.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":312,"door_type":"double","door_data":[{"unique_id":"zrPCR3RQGnCdJnXmXbJbJ","model_hash":-2036790414,"door_coords":{"z":32.50603485107422,"y":6214.23291015625,"x":-248.12789916992188}},{"unique_id":"IXPWnUa0NRWb3kUXAKb5W","model_hash":-2036790414,"door_coords":{"z":32.50603485107422,"y":6212.5400390625,"x":-246.43533325195313}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":313,"door_type":"single","door_data":[{"unique_id":"_vE71REyP0DLVZVe7thQr","model_hash":-1321115454,"door_coords":{"z":32.10546875,"y":6243.14990234375,"x":-222.56240844726569}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Side Entrance 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":314,"door_type":"single","door_data":[{"unique_id":"OFWYahz1Gt0Bofh86chqC","model_hash":-1321115454,"door_coords":{"z":32.10546875,"y":6235.22265625,"x":-230.48971557617188}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Side Entrance 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":315,"door_type":"single","door_data":[{"unique_id":"JZyLxSy_IqsreH3iVWLf_","model_hash":-1321115454,"door_coords":{"z":32.10546875,"y":6233.9990234375,"x":-200.6229248046875}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Side Entrance 3","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":316,"door_type":"double","door_data":[{"unique_id":"pcMMGb594q4LeJWKXDjw0","model_hash":-2036790414,"door_coords":{"z":32.50603485107422,"y":6233.19970703125,"x":-221.4462432861328}},{"unique_id":"c9m-YtTeGplCASCyjq0Rw","model_hash":-2036790414,"door_coords":{"z":32.50603485107422,"y":6234.89208984375,"x":-223.13880920410157}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Meeting Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":317,"door_type":"double","door_data":[{"unique_id":"CtrC2NT_zrMCTiAU4vDJy","model_hash":-1781618211,"door_coords":{"z":32.45318222045898,"y":6220.2373046875,"x":-227.79739379882813}},{"unique_id":"-q4ljy2VRmp0PVHv-lHhs","model_hash":-1781618211,"door_coords":{"z":32.45318222045898,"y":6222.11572265625,"x":-225.9190216064453}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":318,"door_type":"double","door_data":[{"unique_id":"SnwqqBegxDAg0q0BxFBQO","model_hash":-1781618211,"door_coords":{"z":32.45318222045898,"y":6229.27880859375,"x":-227.62808227539066}},{"unique_id":"Q9-DreMp6GdXCbofU8iWo","model_hash":-1781618211,"door_coords":{"z":32.45318222045898,"y":6227.400390625,"x":-225.7497100830078}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 1 to Meeting room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":319,"door_type":"single","door_data":[{"unique_id":"vkkjrkFvrTIqkfRQLcryq","model_hash":-1575697815,"door_coords":{"z":32.49998092651367,"y":6220.07763671875,"x":-221.0166931152344}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":320,"door_type":"single","door_data":[{"unique_id":"XppXSZ-xEW-ManOHx30KL","model_hash":-1575697815,"door_coords":{"z":32.49998092651367,"y":6222.82666015625,"x":-218.26768493652345}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 3","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":321,"door_type":"single","door_data":[{"unique_id":"yUCW2uDYS9sfrHnc5c5Wa","model_hash":-1575697815,"door_coords":{"z":32.49998092651367,"y":6228.8349609375,"x":-212.2591094970703}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 4","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Paleto Cardealer","id":322,"door_type":"double","door_data":[{"unique_id":"JSDCk21IQ02i7b0H6149N","model_hash":-1781618211,"door_coords":{"z":32.44123077392578,"y":6215.20166015625,"x":-227.0910797119141}},{"unique_id":"YukIDJ8Q3m7qQUB8E3shz","model_hash":-1781618211,"door_coords":{"z":32.44123077392578,"y":6217.080078125,"x":-228.969467163086}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Offices","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pearls_Resort.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pearls_Resort.json
new file mode 100644
index 000000000..8a495faff
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pearls_Resort.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Pearls_Resort.json","imported":false,"data":[{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":81,"door_type":"single","door_data":[{"unique_id":"gnlVMkIDv9EJQpEGmdGIP","model_hash":2016389488,"door_coords":{"z":3.36585807800292,"y":-1459.9251708984376,"x":-1922.501220703125}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 01 Front","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":82,"door_type":"single","door_data":[{"unique_id":"KvbHt5eqfSTwBQQEb4Icl","model_hash":2016389488,"door_coords":{"z":3.27884912490844,"y":-1457.962646484375,"x":-2089.204833984375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 3 Front","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":83,"door_type":"single","door_data":[{"unique_id":"oGUTVFiZe_QcD3ccuP5Pq","model_hash":170316777,"door_coords":{"z":2.17072439193725,"y":-1465.3994140625,"x":-2091.535888671875}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 3 Back 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":84,"door_type":"single","door_data":[{"unique_id":"YU2yZ4n7P5FVxWpJrT_kH","model_hash":170316777,"door_coords":{"z":2.17072439193725,"y":-1459.0225830078126,"x":-2097.685546875}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 3 Back 2","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":85,"door_type":"single","door_data":[{"unique_id":"d6HGiTXVy7luZ0opbs-sh","model_hash":170316777,"door_coords":{"z":2.16560220718383,"y":-1459.82275390625,"x":-1915.623046875}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 1 Back 1","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":86,"door_type":"single","door_data":[{"unique_id":"NwnYWqqlhuiYh_Bick7w1","model_hash":2016389488,"door_coords":{"z":3.27889037132263,"y":-1449.833251953125,"x":-2092.013671875}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 3 Front 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":87,"door_type":"single","door_data":[{"unique_id":"6xPD9KQS3D1EXUvFKhEhx","model_hash":2016389488,"door_coords":{"z":3.27884912490844,"y":-1518.9010009765626,"x":-2008.02490234375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 2 Front 1","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":88,"door_type":"single","door_data":[{"unique_id":"XhWrfgk1VodOgWbp67kE0","model_hash":170316777,"door_coords":{"z":2.16553020477294,"y":-1466.5567626953126,"x":-1917.76416015625}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 2 Back 2","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":89,"door_type":"single","door_data":[{"unique_id":"iFYDSJxTNEOqTVLMghxk-","model_hash":2016389488,"door_coords":{"z":3.27889037132263,"y":-1518.769775390625,"x":-2016.624755859375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 2 Front 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":90,"door_type":"single","door_data":[{"unique_id":"ygNM8Zb1QJWwBDnvt5Iu-","model_hash":170316777,"door_coords":{"z":2.16721367835998,"y":-1527.2330322265626,"x":-2009.9189453125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 2 Back 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":91,"door_type":"single","door_data":[{"unique_id":"YXsZhAiQSXQ2HH0hbjoiV","model_hash":170316777,"door_coords":{"z":2.17072439193725,"y":-1523.6278076171876,"x":-2001.828369140625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 2 Back 1","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":92,"door_type":"single","door_data":[{"unique_id":"iUQsFiMqCq6bW_M0z2NLL","model_hash":2016389488,"door_coords":{"z":3.36585807800292,"y":-1499.521484375,"x":-1941.6341552734376}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 2 Front","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":93,"door_type":"single","door_data":[{"unique_id":"vMRehHjyzFlZOc48haXBO","model_hash":2016389488,"door_coords":{"z":3.27884912490844,"y":-1501.2728271484376,"x":-2058.191162109375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 1 Front 1","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":94,"door_type":"single","door_data":[{"unique_id":"KO4iQSEY3AF6AZAqWRhXJ","model_hash":170316777,"door_coords":{"z":2.1655433177948,"y":-1497.937744140625,"x":-1934.6280517578128}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 2 Back 1","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":95,"door_type":"single","door_data":[{"unique_id":"Lkj2OIr43JBOvdc_E6z2y","model_hash":2016389488,"door_coords":{"z":3.27889037132263,"y":-1496.2327880859376,"x":-2065.160400390625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 1 Front 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":96,"door_type":"single","door_data":[{"unique_id":"5OiYd0IXBU_7kHzbZm7xI","model_hash":170316777,"door_coords":{"z":2.17002511024475,"y":-1507.0126953125,"x":-2064.521484375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 1 Back 2","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":97,"door_type":"single","door_data":[{"unique_id":"Emhf2qzZST45p0pQnDfjn","model_hash":170316777,"door_coords":{"z":2.1668632030487,"y":-1505.8104248046876,"x":-1935.9376220703128}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 2 Back 2","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":98,"door_type":"single","door_data":[{"unique_id":"9C8STHV9ckzLIMfxAyBGV","model_hash":170316777,"door_coords":{"z":2.17072439193725,"y":-1508.698974609375,"x":-2055.826416015625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Large 1 Back 1","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":99,"door_type":"single","door_data":[{"unique_id":"3ac9Mfqb_24Yy3zX0yFo8","model_hash":2016389488,"door_coords":{"z":3.36585807800292,"y":-1515.5443115234376,"x":-1963.5037841796876}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 2 Front","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":100,"door_type":"single","door_data":[{"unique_id":"LHrAtOyB2RFD73W0UQnu5","model_hash":2016389488,"door_coords":{"z":3.36585807800292,"y":-1354.9229736328126,"x":-2049.630126953125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Villa Small 10 Front","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":101,"door_type":"single","door_data":[{"unique_id":"mrINd7cRQW3yil_6vNGfF","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1522.911865234375,"x":-1961.0301513671876}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 2 Back 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":102,"door_type":"single","door_data":[{"unique_id":"f-R7AQwIPtJwcLM8kI14e","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1521.3126220703126,"x":-1969.7281494140626}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 2 Back 2","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":103,"door_type":"single","door_data":[{"unique_id":"F9JLrSGYMuOOGa1ILSoa9","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1350.9610595703126,"x":-2056.31640625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Small 10 Back 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":104,"door_type":"single","door_data":[{"unique_id":"ATPaxbfpqK1TNPb1aEMbq","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1346.4893798828126,"x":-2048.686279296875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Small 10 Back 2","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":105,"door_type":"single","door_data":[{"unique_id":"h8UbDNYVQ9vedqIoY68T7","model_hash":2016389488,"door_coords":{"z":3.36585807800292,"y":-1477.7415771484376,"x":-1994.820068359375}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 4 Front","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":106,"door_type":"single","door_data":[{"unique_id":"Kn7ZYD1S_dC5VFJAm-AuU","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1472.0125732421876,"x":-2000.0716552734376}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 4 Back 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":107,"door_type":"single","door_data":[{"unique_id":"dwjpU1f8Rh3fMAH_facHN","model_hash":170316777,"door_coords":{"z":2.16489648818969,"y":-1469.9429931640626,"x":-1991.4757080078128}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 4 Back 2","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"state":false,"distance":2,"location_group":"Pearls Resort","index":109,"door_type":"single","id":108,"door_data":[{"unique_id":"g5yqlOx4iaWiJeYKxsR5-","model_hash":2016389488,"door_coords":{"z":3.36585807800292,"y":-1380.3896484375,"x":-2085.446533203125}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Villa Small 9 Front","secret":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":109,"door_type":"single","door_data":[{"unique_id":"vp2Th-nWbwrXl1O9EOOTc","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1375.443359375,"x":-2091.44091796875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Small 9 Back 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":110,"door_type":"single","door_data":[{"unique_id":"t0u_fVdeVD5vKrzJQBa1m","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1372.202880859375,"x":-2083.212646484375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Small 9 Back 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":111,"door_type":"single","door_data":[{"unique_id":"DBlIbeXtR4287CPqBYY-O","model_hash":2016389488,"door_coords":{"z":3.36585807800292,"y":-1405.5516357421876,"x":-2095.540283203125}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Villa Small 8 Front","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":112,"door_type":"single","door_data":[{"unique_id":"_wvvOKNdr_TOSP9xtxgxe","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1411.4881591796876,"x":-2100.55615234375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Small 8 Back 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":113,"door_type":"single","door_data":[{"unique_id":"oTJ4k1NliVvkpnTz5PYdg","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1403.2222900390626,"x":-2103.70068359375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Small 8 Back 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":114,"door_type":"single","door_data":[{"unique_id":"7sFrShWoEho8uckQPqo75","model_hash":2016389488,"door_coords":{"z":3.36585807800292,"y":-1397.928466796875,"x":-2040.8218994140626}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Villa Small 7 Front","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":115,"door_type":"single","door_data":[{"unique_id":"vf8vklfds2RqUH1fOK0wo","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1399.5797119140626,"x":-2033.2276611328128}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Small 7 Back 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":116,"door_type":"single","door_data":[{"unique_id":"NvIKeWqR3yOuNU0CAKI9k","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1406.2293701171876,"x":-2039.05810546875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Small 7 Back 2","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":117,"door_type":"single","door_data":[{"unique_id":"kTrXu3SnBFPSMbQE9xuqu","model_hash":2016389488,"door_coords":{"z":3.36585807800292,"y":-1461.034423828125,"x":-1967.669189453125}}],"camera":false,"door_sound":"door_wooden.ogg","lockpickable":false,"door_name":"Villa Small 5 Front","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":118,"door_type":"single","door_data":[{"unique_id":"RqGMLoXxfefX9LN9o40uS","model_hash":2016389488,"door_coords":{"z":3.36585807800292,"y":-1427.1837158203126,"x":-2053.3623046875}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Villa Small 6 Front","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":119,"door_type":"single","door_data":[{"unique_id":"hsD7qbh_UuwOnMQ1knXXJ","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1423.7537841796876,"x":-2046.388671875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Small 6 Back 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":120,"door_type":"single","door_data":[{"unique_id":"2A7Ey_u_FApDpZ0opeIrS","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1432.5870361328126,"x":-2046.8187255859376}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Villa Small 6 Back 2","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":121,"door_type":"single","door_data":[{"unique_id":"KovaFoL_YT-FnwlA3IHuT","model_hash":170316777,"door_coords":{"z":2.16755485534667,"y":-1459.4683837890626,"x":-1974.8807373046876}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 5 Back 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pearls Resort","id":122,"door_type":"single","door_data":[{"unique_id":"UExuD1tTYKdD0_qFwCmy0","model_hash":170316777,"door_coords":{"z":2.16825103759765,"y":-1452.8487548828126,"x":-1969.9073486328128}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Villa Small 5 Back 2","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":123,"door_type":"double","door_data":[{"unique_id":"Oab1I1wi16oRkLz11_Tyr","model_hash":-584429572,"door_coords":{"z":3.73016667366027,"y":-1307.267578125,"x":-1899.87158203125}},{"unique_id":"SB1ByCwxM3YM3dh33rYgo","model_hash":-584429572,"door_coords":{"z":3.73016667366027,"y":-1305.4237060546876,"x":-1902.0689697265626}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Restaurant Entrance Front","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":126,"door_type":"double","door_data":[{"unique_id":"mFCblkwgdOiwVGjhvPMRu","model_hash":-730047320,"door_coords":{"z":3.39269661903381,"y":-1322.5115966796876,"x":-1922.2393798828128}},{"unique_id":"c-IxF-hhsp7jNeuebJG5Z","model_hash":-730047320,"door_coords":{"z":3.39269661903381,"y":-1322.315185546875,"x":-1919.9537353515626}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Restaurant Kitchen","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":128,"door_type":"double","door_data":[{"unique_id":"kE5t2E7uforZFDJQ7GyIm","model_hash":-20598470,"door_coords":{"z":3.39269638061523,"y":-1327.8408203125,"x":-1913.4989013671876}},{"unique_id":"w4vBjQYQPk3-84KGsBCs-","model_hash":-20598470,"door_coords":{"z":3.39269638061523,"y":-1330.12646484375,"x":-1913.2957763671876}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Restaurant Toilets","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":131,"door_type":"double","door_data":[{"unique_id":"zLVVN6XAGhKSm9njgZ0i_","model_hash":-584429572,"door_coords":{"z":5.08280754089355,"y":-1353.460693359375,"x":-1932.4091796875}},{"unique_id":"Dw-Y77sOjahJZNIz-f4JL","model_hash":-584429572,"door_coords":{"z":5.08280754089355,"y":-1351.616455078125,"x":-1934.6070556640626}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Restaurant Rear Entrance 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":132,"door_type":"double","door_data":[{"unique_id":"oyjfRZdMYUHHGxfOAzk4G","model_hash":-584429572,"door_coords":{"z":5.08280754089355,"y":-1345.494873046875,"x":-1941.9024658203128}},{"unique_id":"DJemEagZ0rhG8ltDDkpZF","model_hash":-584429572,"door_coords":{"z":5.08280754089355,"y":-1347.34033203125,"x":-1939.7032470703128}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Restaurant Rear Entrance 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":135,"door_type":"double","door_data":[{"unique_id":"p85PmqXNPUBiOcBPR19qu","model_hash":21324050,"door_coords":{"z":0.20675301551818,"y":-1342.36279296875,"x":-1943.0074462890626}},{"unique_id":"crF5ySroxhW27giW2pL9D","model_hash":21324050,"door_coords":{"z":0.20675301551818,"y":-1343.9765625,"x":-1941.0838623046876}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Casino Entrance 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":137,"door_type":"double","door_data":[{"unique_id":"akL7cSbXA5HeQ7jNLYjvo","model_hash":21324050,"door_coords":{"z":0.20675301551818,"y":-1352.433837890625,"x":-1931.0982666015626}},{"unique_id":"PSI0GcOqan7D4chSLeUdV","model_hash":21324050,"door_coords":{"z":0.20675301551818,"y":-1354.047607421875,"x":-1929.17431640625}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Casino Entrance 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":139,"door_type":"single","door_data":[{"unique_id":"5PVAQTndgdc1LRcmVZBx7","model_hash":1237968025,"door_coords":{"z":-2.50260996818542,"y":-1324.9580078125,"x":-1919.978271484375}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Casino Cashier","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":140,"door_type":"single","door_data":[{"unique_id":"ZKnU-wr11KyVFvaU3Jf8r","model_hash":1237968025,"door_coords":{"z":-2.50260996818542,"y":-1329.255126953125,"x":-1909.119873046875}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Casino Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pearls Resort","id":141,"door_type":"single","door_data":[{"unique_id":"1WDtuPrf6ZOBwPJ7Nucag","model_hash":1237968025,"door_coords":{"z":-2.50260996818542,"y":-1332.3231201171876,"x":-1916.4344482421876}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Casino Security","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pier_76.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pier_76.json
new file mode 100644
index 000000000..fa8083f84
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pier_76.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Pier_76.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Pier 76","id":287,"door_type":"garage","door_data":[{"unique_id":"FmDjixLqsRqeiC3cP7vQv","model_hash":-1683927130,"door_coords":{"z":7.1756887435913,"y":-3060.016357421875,"x":528.4267578125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76","id":288,"door_type":"double","door_data":[{"unique_id":"RqrYQ8NyZkaGu2kf12z2p","model_hash":-28128560,"door_coords":{"z":6.19220781326293,"y":-3083.33447265625,"x":529.3767700195313}},{"unique_id":"FlU_ahcFAbPB4qmMYlvUk","model_hash":-28128560,"door_coords":{"z":6.19220781326293,"y":-3083.33447265625,"x":527.4027709960938}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Lounge Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76","id":289,"door_type":"single","door_data":[{"unique_id":"hEiwHZ573wh3IMrvYvm_z","model_hash":1167251902,"door_coords":{"z":6.2353925704956,"y":-3084.94482421875,"x":534.5029907226563}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76","id":290,"door_type":"single","door_data":[{"unique_id":"ZH0sPTU0TyikRM09_bqT-","model_hash":-662058193,"door_coords":{"z":9.46369361877441,"y":-3089.57470703125,"x":518.6832275390625}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Upstairs Lounge","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76","id":291,"door_type":"double","door_data":[{"unique_id":"k5dOs3HYFIuynTSia239L","model_hash":-28128560,"door_coords":{"z":9.43080520629882,"y":-3088.434814453125,"x":543.1178588867188}},{"unique_id":"RYxoS1QjCzUUf6-7-GGSq","model_hash":-28128560,"door_coords":{"z":9.43080520629882,"y":-3088.434814453125,"x":541.143798828125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76","id":292,"door_type":"single","door_data":[{"unique_id":"0wfe8f5FbwJMIGK6JLi8A","model_hash":-662058193,"door_coords":{"z":9.46369361877441,"y":-3083.324951171875,"x":538.4229736328125}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Balcony","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76","id":293,"door_type":"single","door_data":[{"unique_id":"dZu6ZEw2VlOP4_pKTtRN0","model_hash":-710818483,"door_coords":{"z":6.22700119018554,"y":-3083.428466796875,"x":541.6224975585938}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Basement Staircase","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76","id":294,"door_type":"single","door_data":[{"unique_id":"E4XOe3cRhUzSbn7vutKPJ","model_hash":-710818483,"door_coords":{"z":-1.77299880981445,"y":-3083.428466796875,"x":541.6224975585938}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Basement Staircase Bottom","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pier_76_La_Mesa.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pier_76_La_Mesa.json
new file mode 100644
index 000000000..6a2761b9e
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pier_76_La_Mesa.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Pier_76_La_Mesa.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Pier 76 La Mesa","id":295,"door_type":"garage","door_data":[{"unique_id":"UDPuhqBNOFRky6K_d7DiZ","model_hash":-1683927130,"door_coords":{"z":26.34646415710449,"y":-893.1464233398438,"x":844.4649047851563}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76 La Mesa","id":296,"door_type":"double","door_data":[{"unique_id":"VbXB30tqJVSbzux1ENroa","model_hash":-28128560,"door_coords":{"z":25.36298370361328,"y":-894.096435546875,"x":821.1468505859375}},{"unique_id":"feSX95_QXmavBe8ntOaUb","model_hash":-28128560,"door_coords":{"z":25.36298370361328,"y":-892.1224365234375,"x":821.1468505859375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Lounge Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76 La Mesa","id":297,"door_type":"single","door_data":[{"unique_id":"BzVfyGIZzt9YZkdOzTPjU","model_hash":1167251902,"door_coords":{"z":25.40616989135742,"y":-899.22265625,"x":819.5363159179688}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76 La Mesa","id":298,"door_type":"single","door_data":[{"unique_id":"9QbxjuccOuL-4qsA_rDHJ","model_hash":-662058193,"door_coords":{"z":28.63446998596191,"y":-883.4028930664063,"x":814.9064331054688}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Upstairs Lounge","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76 La Mesa","id":299,"door_type":"double","door_data":[{"unique_id":"NoepBDKCXeyv1XY2sihIY","model_hash":-28128560,"door_coords":{"z":28.60158157348632,"y":-907.8375244140624,"x":816.0464477539063}},{"unique_id":"SEMIo8VoHltE01aeU2v4q","model_hash":-28128560,"door_coords":{"z":28.60158157348632,"y":-905.8634643554688,"x":816.0464477539063}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76 La Mesa","id":300,"door_type":"single","door_data":[{"unique_id":"yNA3NYbiK9EfuhcvmVIsf","model_hash":-662058193,"door_coords":{"z":28.63446998596191,"y":-903.1426391601564,"x":821.15625}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Balcony","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76 La Mesa","id":301,"door_type":"single","door_data":[{"unique_id":"cwqmD4b_InkVqhhnMltoC","model_hash":-710818483,"door_coords":{"z":25.39777755737304,"y":-906.3421630859376,"x":821.052734375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Basement Staircase","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pier 76 La Mesa","id":302,"door_type":"single","door_data":[{"unique_id":"92I8x1zWhpdiagRLLROeS","model_hash":-710818483,"door_coords":{"z":17.39777755737304,"y":-906.3421630859376,"x":821.052734375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Basement Staircase Bottom","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pillbox_Medical.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pillbox_Medical.json
new file mode 100644
index 000000000..ecf629ad4
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Pillbox_Medical.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Pillbox_Medical.json","imported":false,"data":[{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":10,"location_group":"Pillbox Medical","id":167,"door_type":"double","door_data":[{"unique_id":"lq3SgLb14PCQDrjZAjg2Q","model_hash":-2110548371,"door_coords":{"z":27.98392677307129,"y":-562.6273193359375,"x":332.6545715332031}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Garage Entrance 1","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":10,"location_group":"Pillbox Medical","id":168,"door_type":"double","door_data":[{"unique_id":"1uV-hCLvt09zvjlU9TLfN","model_hash":-2110548371,"door_coords":{"z":27.98392677307129,"y":-560.2666015625,"x":326.1684875488281}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Garage Entrance 2","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pillbox Medical","id":171,"door_type":"double","door_data":[{"unique_id":"R8H0LLU9MoIpZGruJqRn4","model_hash":1091378806,"door_coords":{"z":22.56346893310547,"y":-658.78857421875,"x":319.8553771972656}},{"unique_id":"Z0uz8V1v9FroOMX77lule","model_hash":-262439668,"door_coords":{"z":22.56346893310547,"y":-657.84521484375,"x":317.41180419921877}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Employee Area","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pillbox Medical","id":174,"door_type":"double","door_data":[{"unique_id":"sk3722jza7L2wLPKinWe8","model_hash":-262439668,"door_coords":{"z":22.56346893310547,"y":-645.813720703125,"x":337.37060546875}},{"unique_id":"ur54PP8Hs-1ZjWbn_NeRK","model_hash":1091378806,"door_coords":{"z":22.56346893310547,"y":-643.3701782226563,"x":338.31396484375}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Reception","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pillbox Medical","id":184,"door_type":"double","door_data":[{"unique_id":"Pso1MR_QVOMJlWoXa2sZO","model_hash":-262439668,"door_coords":{"z":28.80945777893066,"y":-591.6857299804688,"x":356.5618591308594}},{"unique_id":"Dyc955gIGbYpMGKfwT534","model_hash":1091378806,"door_coords":{"z":28.80945777893066,"y":-589.2401123046875,"x":357.5059814453125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Lobby Back Entrance","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pillbox Medical","id":257,"door_type":"double","door_data":[{"unique_id":"iHJ_eh-KohyF34x9KjNXA","model_hash":220394186,"door_coords":{"z":43.44195938110351,"y":-584.0540771484375,"x":299.9062805175781}},{"unique_id":"V1iynceKJN2Xmjr--9gOD","model_hash":220394186,"door_coords":{"z":43.4422721862793,"y":-585.601318359375,"x":299.33660888671877}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Lobby Front Entrance","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pillbox Medical","id":258,"door_type":"double","door_data":[{"unique_id":"8fuHVKcP0pswfguQO7OrL","model_hash":1091378806,"door_coords":{"z":43.21231079101562,"y":-583.5427856445313,"x":300.1175231933594}},{"unique_id":"mXVVw6DA4kopoR5-PoMyb","model_hash":-262439668,"door_coords":{"z":43.21231079101562,"y":-585.986328125,"x":299.1741638183594}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Front Lobby Entrance","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pillbox Medical","id":259,"door_type":"single","door_data":[{"unique_id":"jpc_FKsHhHPdhKahNRWSg","model_hash":143458746,"door_coords":{"z":43.34223175048828,"y":-579.5714721679688,"x":306.6134033203125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Directors Office","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Pillbox Medical","id":260,"door_type":"double","door_data":[{"unique_id":"FzxSd3mFx9V7zgYcKoTHR","model_hash":1618686357,"door_coords":{"z":43.21234893798828,"y":-578.115234375,"x":337.9909973144531}},{"unique_id":"Jk5G-7cGrZsbAsjFkaFhB","model_hash":1618686357,"door_coords":{"z":43.21234893798828,"y":-580.5341796875,"x":337.1105651855469}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Surgery Room","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pillbox Medical","id":261,"door_type":"single","door_data":[{"unique_id":"_KBglRLlHf9QwC6WnilLk","model_hash":1469521869,"door_coords":{"z":43.21186065673828,"y":-599.162841796875,"x":317.3330688476563}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Front Lobby Employee Room","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Pillbox Medical","id":262,"door_type":"double","door_data":[{"unique_id":"xbtjBcV5yHfHN_lES_yJt","model_hash":-557933499,"door_coords":{"z":74.18048858642578,"y":-582.50146484375,"x":338.702392578125}},{"unique_id":"pbxevCuXQyY3zTLeaty5K","model_hash":1076387623,"door_coords":{"z":74.18048858642578,"y":-584.9157104492188,"x":337.8236999511719}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Helipad","state":true}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Red's_Tunershop.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Red's_Tunershop.json
new file mode 100644
index 000000000..1822d2025
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Red's_Tunershop.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Red's_Tunershop.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":8,"location_group":"Red's Tunershop","id":269,"door_type":"garage","door_data":[{"unique_id":"huXfZAi5ABX1D7p2ed8FX","model_hash":293931339,"door_coords":{"z":13.50199604034423,"y":-2453.866455078125,"x":-682.3585205078125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":8,"location_group":"Red's Tunershop","id":270,"door_type":"garage","door_data":[{"unique_id":"Dj2rddedWhzYi4KRIVOx2","model_hash":293931339,"door_coords":{"z":13.50199604034423,"y":-2449.51611328125,"x":-689.8935546875}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":8,"location_group":"Red's Tunershop","id":271,"door_type":"garage","door_data":[{"unique_id":"5vbAvLlMCuFEnDJEMRky_","model_hash":399644145,"door_coords":{"z":13.45349693298339,"y":-2420.444580078125,"x":-673.0060424804688}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Elevator Garage Door","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Red's Tunershop","id":272,"door_type":"single","door_data":[{"unique_id":"_k6b8xutdhypeSjNZrCx2","model_hash":-551608542,"door_coords":{"z":17.8159065246582,"y":-2437.255615234375,"x":-691.7789916992188}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Locker Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Red's Tunershop","id":273,"door_type":"single","door_data":[{"unique_id":"xPWpCJviYit-DEL1NNjYE","model_hash":-551608542,"door_coords":{"z":17.81590461730957,"y":-2431.3955078125,"x":-688.3956298828125}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Red's Tunershop","id":274,"door_type":"double","door_data":[{"unique_id":"dOKE1Xeab62-gjdWMjRSr","model_hash":1633628599,"door_coords":{"z":13.34532928466796,"y":-2458.327880859375,"x":-675.379150390625}},{"unique_id":"CwoxNMvwNW-GA0kEJJViI","model_hash":-168633628,"door_coords":{"z":13.34534263610839,"y":-2457.162841796875,"x":-677.399658203125}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Main Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Red's Tunershop","id":275,"door_type":"single","door_data":[{"unique_id":"S1MoM9ZYfI_9Chc4lgXAy","model_hash":217447762,"door_coords":{"z":14.41328048706054,"y":-2452.4931640625,"x":-676.4866943359375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Rockford_Church.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Rockford_Church.json
new file mode 100644
index 000000000..aa704ccf3
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Rockford_Church.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Rockford_Church.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Rockford Church","id":348,"door_type":"double","door_data":[{"unique_id":"ytvMY11PP2QHuf9nIQdfg","model_hash":-2022521076,"door_coords":{"z":41.49319839477539,"y":-23.34977340698242,"x":-768.1134033203125}},{"unique_id":"ObLGBBDDIeR50gPDTJpGt","model_hash":-1195169344,"door_coords":{"z":41.49319839477539,"y":-22.31998825073242,"x":-766.2928466796875}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Entrance 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Rockford Church","id":349,"door_type":"double","door_data":[{"unique_id":"-YwWB10OyNvw1R_gecn7q","model_hash":-1195169344,"door_coords":{"z":41.49319839477539,"y":-23.89784049987793,"x":-769.0821533203125}},{"unique_id":"Aizxo6IJkUpI1UTydmsor","model_hash":-2022521076,"door_coords":{"z":41.49319839477539,"y":-24.92762756347656,"x":-770.9025268554688}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Rockford Church","id":350,"door_type":"double","door_data":[{"unique_id":"inKgbSlxAcW-hfd7bQCTD","model_hash":-1195169344,"door_coords":{"z":41.49319839477539,"y":-20.75952529907226,"x":-763.5344848632813}},{"unique_id":"Fw_sYKZ3STAM2o1B1vaRp","model_hash":-2022521076,"door_coords":{"z":41.49319839477539,"y":-21.79017257690429,"x":-765.3562622070313}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance 3","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Rockford Church","id":351,"door_type":"single","door_data":[{"unique_id":"OeQLcx0KZFNTe_nU2AS3A","model_hash":2054182198,"door_coords":{"z":41.17411041259765,"y":-16.89305305480957,"x":-765.27734375}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Smokey's_Weed.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Smokey's_Weed.json
new file mode 100644
index 000000000..a42eb445e
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Smokey's_Weed.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Smokey's_Weed.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Smokey's Weed","id":356,"door_type":"single","door_data":[{"unique_id":"B8TL3yBoYTQLeyz2RPYQ1","model_hash":-1077639876,"door_coords":{"z":46.33377075195312,"y":-986.1337280273438,"x":1142.1365966796876}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Smokey's Weed","id":357,"door_type":"single","door_data":[{"unique_id":"tRvqq5PSzbb_tBjshr8JT","model_hash":-1042200064,"door_coords":{"z":46.50786209106445,"y":-988.4730224609376,"x":1130.6029052734376}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Rear Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Smokey's Weed","id":358,"door_type":"single","door_data":[{"unique_id":"ZQC2svo5qntqDRLX7kSG5","model_hash":-1230442770,"door_coords":{"z":46.51972961425781,"y":-988.23828125,"x":1121.3460693359376}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Grow Room","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Tattoo_Studio.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Tattoo_Studio.json
new file mode 100644
index 000000000..6f11f1073
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Tattoo_Studio.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Tattoo_Studio.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tattoo Studio","id":169,"door_type":"single","door_data":[{"unique_id":"I6N0j7l1FuSSRyc_cenrw","model_hash":457628103,"door_coords":{"z":20.91865539550781,"y":1074.8741455078126,"x":-3167.805419921875}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Chumash Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tattoo Studio","id":170,"door_type":"single","door_data":[{"unique_id":"gqtZrCnDTfbUBFkTIrM6R","model_hash":457628103,"door_coords":{"z":103.676025390625,"y":178.39027404785157,"x":321.822021484375}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Vinewood Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tattoo Studio","id":172,"door_type":"single","door_data":[{"unique_id":"tJCWmSR26LEbQPdM2leTK","model_hash":457628103,"door_coords":{"z":52.36409378051758,"y":-1650.6239013671876,"x":1321.3048095703126}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Murietta Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tattoo Studio","id":173,"door_type":"single","door_data":[{"unique_id":"zvx3hnNlRXWRWvDPIUDe6","model_hash":457628103,"door_coords":{"z":5.04394626617431,"y":-1424.0364990234376,"x":-1155.4368896484376}}],"camera":false,"door_sound":"door_metal.ogg","lockpickable":false,"door_name":"Beach Entrance","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Taxi_Paleto.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Taxi_Paleto.json
new file mode 100644
index 000000000..002650d04
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Taxi_Paleto.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Taxi_Paleto.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Paleto","id":329,"door_type":"single","door_data":[{"unique_id":"ybhYL9WazKVfrZjQTbYZY","model_hash":436922266,"door_coords":{"z":32.97991561889648,"y":6517.2900390625,"x":239.9705047607422}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Paleto","id":330,"door_type":"single","door_data":[{"unique_id":"sdC1BzCyAuxBs1CLK93ki","model_hash":436922266,"door_coords":{"z":32.97991561889648,"y":6508.185546875,"x":222.4392242431641}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Side Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Paleto","id":331,"door_type":"single","door_data":[{"unique_id":"apkZbJ-m-G3ubp3UWCeiQ","model_hash":1130379848,"door_coords":{"z":32.98657989501953,"y":6508.22412109375,"x":245.48312377929688}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Paleto","id":332,"door_type":"single","door_data":[{"unique_id":"2ITXf921yLNC5vsbYyl9U","model_hash":1130379848,"door_coords":{"z":32.97990798950195,"y":6510.1845703125,"x":250.30886840820313}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Paleto","id":333,"door_type":"single","door_data":[{"unique_id":"NnJhrXRqfcrVMf_B8ZKvG","model_hash":1167251902,"door_coords":{"z":32.5890007019043,"y":6506.46044921875,"x":250.70008850097657}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Taxi_Sandy.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Taxi_Sandy.json
new file mode 100644
index 000000000..76e7e9ddd
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Taxi_Sandy.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Taxi_Sandy.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Sandy","id":334,"door_type":"single","door_data":[{"unique_id":"1Hlxkd4_lzfn9TFbc7QqC","model_hash":436922266,"door_coords":{"z":37.37879180908203,"y":3582.81005859375,"x":1776.6480712890626}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Sandy","id":335,"door_type":"single","door_data":[{"unique_id":"UlCU6f6o2k5zn_4ohM4fp","model_hash":436922266,"door_coords":{"z":37.37879180908203,"y":3567.50537109375,"x":1764.158203125}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Side Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Sandy","id":336,"door_type":"single","door_data":[{"unique_id":"aLanyMPfw8nOrZ7I4DoQI","model_hash":1130379848,"door_coords":{"z":37.38545608520508,"y":3576.67041015625,"x":1785.3011474609376}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Sandy","id":337,"door_type":"single","door_data":[{"unique_id":"rg_3PE8l42xWB5D83G3W1","model_hash":1130379848,"door_coords":{"z":37.3787841796875,"y":3580.38232421875,"x":1788.955322265625}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Sandy","id":338,"door_type":"single","door_data":[{"unique_id":"kLH9kpsMp22iY2dfd6qPE","model_hash":1167251902,"door_coords":{"z":36.98787689208984,"y":3577.11767578125,"x":1790.7901611328126}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Taxi_Vespucci.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Taxi_Vespucci.json
new file mode 100644
index 000000000..b4d588270
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Taxi_Vespucci.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Taxi_Vespucci.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Vespucci","id":339,"door_type":"single","door_data":[{"unique_id":"riDW8XPA4OFGbrnSeGXZo","model_hash":436922266,"door_coords":{"z":12.35681819915771,"y":-463.9104919433594,"x":-2030.1202392578128}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Vespucci","id":340,"door_type":"single","door_data":[{"unique_id":"ekGwvhVX8dbZQjmWaQXT1","model_hash":1130379848,"door_coords":{"z":12.35681247711181,"y":-476.2895812988281,"x":-2028.090576171875}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Vespucci","id":341,"door_type":"single","door_data":[{"unique_id":"7OX_3lj0hxwIg1QGhXagj","model_hash":1130379848,"door_coords":{"z":12.36348342895507,"y":-474.1643371582031,"x":-2032.845947265625}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Vespucci","id":342,"door_type":"single","door_data":[{"unique_id":"626QeRJbBW-ke6FeR0v_A","model_hash":1167251902,"door_coords":{"z":11.96590328216552,"y":-479.1502075195313,"x":-2030.50732421875}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Taxi Vespucci","id":343,"door_type":"single","door_data":[{"unique_id":"pKaWKKGTQYktDlamc3DCE","model_hash":436922266,"door_coords":{"z":12.35681819915771,"y":-457.56158447265627,"x":-2048.826416015625}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Side Entrance","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Tropical_Heights.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Tropical_Heights.json
new file mode 100644
index 000000000..e6955463c
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Tropical_Heights.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Tropical_Heights.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tropical Heights","id":306,"door_type":"double","door_data":[{"unique_id":"OKJGE4cbVQLOibKS3ROvo","model_hash":-1047041716,"door_coords":{"z":29.6206111907959,"y":-919.0182495117188,"x":289.3401184082031}},{"unique_id":"hH--qIdPv9Z2d5jVPBA1i","model_hash":-1852068057,"door_coords":{"z":29.6206111907959,"y":-921.46240234375,"x":288.45013427734377}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tropical Heights","id":307,"door_type":"double","door_data":[{"unique_id":"CjAsdDflz2Vbfien6uMEV","model_hash":-1225363909,"door_coords":{"z":28.47756195068359,"y":-915.6144409179688,"x":309.6907043457031}},{"unique_id":"yiWFXQPx2SpnbZiU-iuuQ","model_hash":1219957182,"door_coords":{"z":28.47756195068359,"y":-917.0235595703124,"x":309.176513671875}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Elevator Bottom","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tropical Heights","id":308,"door_type":"double","door_data":[{"unique_id":"SHIqs6Wj056kvsnMdWbCm","model_hash":-1225363909,"door_coords":{"z":56.41101837158203,"y":-914.2274169921876,"x":314.32861328125}},{"unique_id":"F-e3VScaWMIujtGMubv_5","model_hash":1219957182,"door_coords":{"z":56.41101837158203,"y":-915.3174438476564,"x":315.3645324707031}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Elevator Rooftop","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tropical Heights","id":309,"door_type":"double","door_data":[{"unique_id":"U0g_Ka7GG04Yh-6UQFrcC","model_hash":-1225363909,"door_coords":{"z":51.80723571777344,"y":-915.6041870117188,"x":309.6687622070313}},{"unique_id":"nT92s9ePSATaqdRVaJezi","model_hash":1219957182,"door_coords":{"z":51.80723190307617,"y":-917.01416015625,"x":309.1464538574219}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Elevator Bar and Lounge","state":true},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tropical Heights","id":310,"door_type":"single","door_data":[{"unique_id":"z6ZlYm7vVaJDmLMDaiM-N","model_hash":-1276523023,"door_coords":{"z":52.9713134765625,"y":-931.3338012695313,"x":311.9466247558594}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tropical Heights","id":311,"door_type":"single","door_data":[{"unique_id":"5Gl047UMYPjO9BGvXTA2z","model_hash":-1276523023,"door_coords":{"z":52.95224380493164,"y":-914.3023071289064,"x":310.0513610839844}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Toilet","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Tuner_Shop_La_Mesa.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Tuner_Shop_La_Mesa.json
new file mode 100644
index 000000000..3fb471124
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Tuner_Shop_La_Mesa.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Tuner_Shop_La_Mesa.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Tuner Shop La Mesa","id":303,"door_type":"garage","door_data":[{"unique_id":"EqSKZdQjG-KjhQ5WeLDHP","model_hash":1303582716,"door_coords":{"z":27.20364570617675,"y":-1276.0726318359376,"x":734.5673828125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Tuner Shop La Mesa","id":304,"door_type":"garage","door_data":[{"unique_id":"vQBsydLd0QmLJyvld1Ehv","model_hash":1130813724,"door_coords":{"z":27.20364570617675,"y":-1284.2459716796876,"x":734.5673828125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Door 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Tuner Shop La Mesa","id":305,"door_type":"single","door_data":[{"unique_id":"u-gOrvi-CzHKuAohUi2Js","model_hash":-1207991715,"door_coords":{"z":26.43457794189453,"y":-1291.6649169921876,"x":754.1570434570313}}],"camera":false,"door_sound":"door_click.ogg","lockpickable":false,"door_name":"Lockers","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_VHotel_Estate.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_VHotel_Estate.json
new file mode 100644
index 000000000..6d5351139
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_VHotel_Estate.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_VHotel_Estate.json","imported":false,"data":[{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":10,"door_type":"double","door_data":[{"unique_id":"KGzBFOLqWPOd9xLxmUVag","model_hash":986146001,"door_coords":{"z":7.29221773147583,"y":-1088.41064453125,"x":-1343.621337890625}},{"unique_id":"H6ZaolEg23O4qEbORDimp","model_hash":1744518972,"door_coords":{"z":7.28977537155151,"y":-1086.9063720703126,"x":-1344.499755859375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Entrance Left","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":12,"door_type":"double","door_data":[{"unique_id":"id5hZ1eizBK-5ajU_JdZT","model_hash":-382070200,"door_coords":{"z":7.47434616088867,"y":-1080.857177734375,"x":-1351.4005126953126}},{"unique_id":"BwfXsVwchJc0XyV-HIM-z","model_hash":-382070200,"door_coords":{"z":7.47190380096435,"y":-1081.7274169921876,"x":-1352.90966796875}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Bar Area Entrance","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":13,"door_type":"double","door_data":[{"unique_id":"5z1hGrUBurq5T3vxhk44U","model_hash":986146001,"door_coords":{"z":7.47434616088867,"y":-1077.405517578125,"x":-1362.3316650390626}},{"unique_id":"Eyfc2ohTplY_aLxgGohez","model_hash":1744518972,"door_coords":{"z":7.47190380096435,"y":-1078.91455078125,"x":-1361.4615478515626}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Terrace","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":15,"door_type":"double","door_data":[{"unique_id":"tfjDH1GvjLmoe-JtMpO7b","model_hash":-382070200,"door_coords":{"z":7.47190380096435,"y":-1065.7625732421876,"x":-1354.916015625}},{"unique_id":"WB1_Pwq5whcAA3dPli4zv","model_hash":-382070200,"door_coords":{"z":7.47434616088867,"y":-1064.892333984375,"x":-1353.40673828125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Lobby Entrance Left","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":16,"door_type":"double","door_data":[{"unique_id":"6j-dxIdCL0jg1BHVEWChF","model_hash":-382070200,"door_coords":{"z":7.47190380096435,"y":-1062.16064453125,"x":-1348.7496337890626}},{"unique_id":"US_hhvfyapjCVvsOfVuM7","model_hash":-382070200,"door_coords":{"z":7.47434616088867,"y":-1061.2904052734376,"x":-1347.240478515625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Lobby Entrance Right","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":18,"door_type":"double","door_data":[{"unique_id":"vGRSnBz-kvErkSY4B5K4_","model_hash":-382070200,"door_coords":{"z":7.47190380096435,"y":-1044.4287109375,"x":-1345.6739501953126}},{"unique_id":"jp4zmacnlzYnwXnSW93XU","model_hash":-382070200,"door_coords":{"z":7.47434616088867,"y":-1045.2989501953126,"x":-1347.18310546875}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Kitchen","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":19,"door_type":"double","door_data":[{"unique_id":"XYCMiU1XrQcj1LF08s6W4","model_hash":529301228,"door_coords":{"z":7.47434616088867,"y":-1061.266845703125,"x":-1374.6158447265626}},{"unique_id":"13FP_ZoYFQ5TiLo-xrfzx","model_hash":529301228,"door_coords":{"z":7.47190380096435,"y":-1062.136962890625,"x":-1376.125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Downstairs Suite","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":20,"door_type":"single","door_data":[{"unique_id":"jkmJPlYzV7IULovbuqyED","model_hash":-1217613056,"door_coords":{"z":7.19454765319824,"y":-1056.907470703125,"x":-1380.359619140625}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Downstairs Room 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":21,"door_type":"single","door_data":[{"unique_id":"CHAL4-FlzfjlQDsBIxwnm","model_hash":-1217613056,"door_coords":{"z":7.19454765319824,"y":-1066.53173828125,"x":-1368.0517578125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Downstairs Suite Bathroom","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":23,"door_type":"single","door_data":[{"unique_id":"-GfUT8g9bUWQmki85ymRc","model_hash":-1217613056,"door_coords":{"z":7.19454765319824,"y":-1053.28857421875,"x":-1374.1641845703126}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Downstairs Room 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":24,"door_type":"single","door_data":[{"unique_id":"e3I3JCoL6UUP126LQXVsC","model_hash":-1217613056,"door_coords":{"z":7.19454765319824,"y":-1050.179443359375,"x":-1368.841552734375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Downstairs Bathroom","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":26,"door_type":"double","door_data":[{"unique_id":"VnI2hKtnGcaCQaPH2pFr3","model_hash":-382070200,"door_coords":{"z":7.47190380096435,"y":-1042.48681640625,"x":-1361.259033203125}},{"unique_id":"3aVchb6iLu9Yw7ak3PNuZ","model_hash":-382070200,"door_coords":{"z":7.47434616088867,"y":-1043.995849609375,"x":-1360.3887939453126}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Downstairs Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":28,"door_type":"double","door_data":[{"unique_id":"AFblckXg3NQi2OVdwM30v","model_hash":-382070200,"door_coords":{"z":12.00491142272949,"y":-1044.4287109375,"x":-1345.6739501953126}},{"unique_id":"oI5ZYE6Ddk75XCNnBSs_w","model_hash":-382070200,"door_coords":{"z":12.00735282897949,"y":-1045.2989501953126,"x":-1347.18310546875}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Roulette Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":29,"door_type":"double","door_data":[{"unique_id":"arjJf8bImmglLe4_EW3vm","model_hash":-382070200,"door_coords":{"z":12.00491142272949,"y":-1042.48681640625,"x":-1361.259033203125}},{"unique_id":"UUeZpIk1bpo8SNa-7_YYe","model_hash":-382070200,"door_coords":{"z":12.00735282897949,"y":-1043.995849609375,"x":-1360.3887939453126}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Upstairs Office","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":30,"door_type":"double","door_data":[{"unique_id":"aolomiEBHTyCj3_0h1Js0","model_hash":529301228,"door_coords":{"z":12.00735282897949,"y":-1051.6217041015626,"x":-1371.2525634765626}},{"unique_id":"vO2zHfKroYeMZ3-Cth-_n","model_hash":529301228,"door_coords":{"z":12.00491142272949,"y":-1050.7515869140626,"x":-1369.743408203125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Party Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":31,"door_type":"double","door_data":[{"unique_id":"My0WbxatIk7CQfLfwOj9y","model_hash":-382070200,"door_coords":{"z":12.00735282897949,"y":-1061.266845703125,"x":-1374.6158447265626}},{"unique_id":"_yhpfy-QpeGsM0jqLQZqG","model_hash":-382070200,"door_coords":{"z":12.00491142272949,"y":-1062.136962890625,"x":-1376.125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Dining Room","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":33,"door_type":"double","door_data":[{"unique_id":"R-XZJPQp7jirzPP2dUz-2","model_hash":986146001,"door_coords":{"z":11.71018981933593,"y":-1062.269287109375,"x":-1352.0579833984376}},{"unique_id":"ZcUu7bwsyLFQk1xA8r6s6","model_hash":1744518972,"door_coords":{"z":11.70774841308593,"y":-1061.399169921875,"x":-1350.548828125}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Upstairs Terrace","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":34,"door_type":"double","door_data":[{"unique_id":"Vfaq6e7m3SoqGXaE4DDjM","model_hash":-382070200,"door_coords":{"z":7.67434644699096,"y":-1066.63525390625,"x":-1339.8350830078126}},{"unique_id":"Ypc0WgWa9G9qrrTAL4-Z8","model_hash":-382070200,"door_coords":{"z":7.67190408706665,"y":-1068.3221435546876,"x":-1340.2696533203126}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Terrace Staircase Bottom","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":35,"door_type":"double","door_data":[{"unique_id":"L73dHQV2w9Yh1dGliXbvy","model_hash":986146001,"door_coords":{"z":12.70683479309082,"y":-1065.8736572265626,"x":-1332.93212890625}},{"unique_id":"6qG6RKVY7LxZPZKBr0-Ff","model_hash":1744518972,"door_coords":{"z":12.70927715301513,"y":-1066.743896484375,"x":-1334.4412841796876}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Terrace Staircase Top","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":38,"door_type":"single","door_data":[{"unique_id":"UQitLhQ3Z-Mv3auVst33P","model_hash":-2062889184,"door_coords":{"z":27.03947830200195,"y":-1054.8104248046876,"x":-1293.491943359375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Rooftop Exit 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":40,"door_type":"single","door_data":[{"unique_id":"OBDkxiQEN-ORFsoi3uRse","model_hash":-2062889184,"door_coords":{"z":28.81633377075195,"y":-1049.3214111328126,"x":-1296.35302734375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Rooftop Entrance 1","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":41,"door_type":"single","door_data":[{"unique_id":"z4PWM6BZwtwStaDOkotii","model_hash":-2062889184,"door_coords":{"z":28.81973457336425,"y":-1029.68408203125,"x":-1307.6124267578126}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Rooftop Entrance 2","state":false},{"perms":{"discord":[],"job":[{"name":"police","grade":0}],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"VHotel","id":42,"door_type":"single","door_data":[{"unique_id":"2_Obseh35LEAoC6drRGKx","model_hash":-2062889184,"door_coords":{"z":27.04306411743164,"y":-1024.43701171875,"x":-1311.0357666015626}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Rooftop Exit 2","state":false}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Vespucci_Medical.json b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Vespucci_Medical.json
new file mode 100644
index 000000000..714b87ac8
--- /dev/null
+++ b/resources/cd_doorlock/JSON files/import_locations/[TStudio_by_TurboSaif]_Vespucci_Medical.json
@@ -0,0 +1 @@
+{"name":"[TStudio_by_TurboSaif]_Vespucci_Medical.json","imported":false,"data":[{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Vespucci Medical","id":395,"door_type":"garage","door_data":[{"unique_id":"qiROy7d0yWMyaquBEp1Rw","model_hash":1345339084,"door_coords":{"z":7.96780729293823,"y":-1231.136962890625,"x":-851.047607421875}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Garage Door 2","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":10,"location_group":"Vespucci Medical","id":396,"door_type":"garage","door_data":[{"unique_id":"VBmVF46UOHqWVH-5nFtau","model_hash":1345339084,"door_coords":{"z":7.96780729293823,"y":-1234.6141357421876,"x":-846.9036865234375}}],"camera":false,"door_sound":"","lockpickable":false,"door_name":"Garage Door 1","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Vespucci Medical","id":397,"door_type":"double","door_data":[{"unique_id":"yLZrzQGHCBNMFG4NGryBE","model_hash":-1292274800,"door_coords":{"z":7.3600001335144,"y":-1221.1700439453126,"x":-823.219970703125}},{"unique_id":"Q6NySZkfVvZBs6URNG5w4","model_hash":-1292274800,"door_coords":{"z":7.3600001335144,"y":-1222.8699951171876,"x":-824.7100219726563}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Main Entrance","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Vespucci Medical","id":398,"door_type":"double","door_data":[{"unique_id":"QUx5twwRgGT0jrB-Hr2bZ","model_hash":1024751224,"door_coords":{"z":6.92890501022338,"y":-1245.3243408203126,"x":-845.2238159179688}},{"unique_id":"jf0yJKaDQ368CNMeJ3JYT","model_hash":1024751224,"door_coords":{"z":6.92879390716552,"y":-1243.848388671875,"x":-843.9173583984375}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Garage Side Entrance","state":true},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Vespucci Medical","id":399,"door_type":"double","door_data":[{"unique_id":"Hmb0GsWzCUkHS3RkBk9SC","model_hash":-553407332,"door_coords":{"z":5.80014324188232,"y":-1255.5107421875,"x":-785.4027709960938}},{"unique_id":"7EF5OsZwTIkTe_-E1y7XS","model_hash":-553407332,"door_coords":{"z":5.80014324188232,"y":-1254.273681640625,"x":-784.2852783203125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Rear Entrance","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Vespucci Medical","id":400,"door_type":"single","door_data":[{"unique_id":"TPv9nktnIJRkYykSw8pH8","model_hash":1191902381,"door_coords":{"z":11.33381652832031,"y":-1226.1136474609376,"x":-809.2146606445313}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Wardrobe","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":false,"secret":false,"distance":2,"location_group":"Vespucci Medical","id":401,"door_type":"single","door_data":[{"unique_id":"uUEjfqpzbPpOJCM_fcCZ5","model_hash":-298497281,"door_coords":{"z":11.46467494964599,"y":-1242.1239013671876,"x":-791.252197265625}}],"camera":false,"door_sound":"door_regular.ogg","lockpickable":false,"door_name":"Directors Office","state":false},{"perms":{"discord":[],"job":[],"identifier":[],"ace":[],"items":[]},"default_state":true,"secret":false,"distance":2,"location_group":"Vespucci Medical","id":402,"door_type":"double","door_data":[{"unique_id":"OM1KS_PKQN1VlZlWc4Uo0","model_hash":-553407332,"door_coords":{"z":11.42044448852539,"y":-1243.7740478515626,"x":-782.5874633789063}},{"unique_id":"Epmzi3jbJ5GZ1r2CTaI0a","model_hash":-553407332,"door_coords":{"z":11.42044448852539,"y":-1242.536865234375,"x":-781.469970703125}}],"camera":false,"door_sound":"door_switch.ogg","lockpickable":false,"door_name":"Directors Office Rear","state":true}]}
\ No newline at end of file
diff --git a/resources/cd_doorlock/JSON files/location_groups.json b/resources/cd_doorlock/JSON files/location_groups.json
deleted file mode 100644
index 0637a088a..000000000
--- a/resources/cd_doorlock/JSON files/location_groups.json
+++ /dev/null
@@ -1 +0,0 @@
-[]
\ No newline at end of file
diff --git a/resources/cd_doorlock/client/chat_commands.lua b/resources/cd_doorlock/client/chat_commands.lua
new file mode 100644
index 000000000..a0c691701
--- /dev/null
+++ b/resources/cd_doorlock/client/chat_commands.lua
@@ -0,0 +1,10 @@
+TriggerEvent('chat:addSuggestion', '/'..Config.OpenDoorMenu.command, Locale('command_opendoormenu'))
+RegisterCommand(Config.OpenDoorMenu.command, function()
+ TriggerEvent('cd_doorlock:OpenDoorLockMenu')
+end, false)
+
+RegisterKeyMapping(Config.ToggleDoorLock.command, Locale('command_toggledoorlock'), 'keyboard', Config.ToggleDoorLock.key)
+TriggerEvent('chat:addSuggestion', '/'..Config.ToggleDoorLock.command, Locale('command_toggledoorlock'))
+RegisterCommand(Config.ToggleDoorLock.command, function()
+ TriggerEvent('cd_doorlock:ToggleDoorState')
+end, false)
\ No newline at end of file
diff --git a/resources/cd_doorlock/client/client.lua b/resources/cd_doorlock/client/client.lua
index e3e245157..0b45f276a 100644
Binary files a/resources/cd_doorlock/client/client.lua and b/resources/cd_doorlock/client/client.lua differ
diff --git a/resources/cd_doorlock/client/door_perms.lua b/resources/cd_doorlock/client/door_perms.lua
new file mode 100644
index 000000000..d557b8655
--- /dev/null
+++ b/resources/cd_doorlock/client/door_perms.lua
@@ -0,0 +1,62 @@
+function GetPlayersDoorPerms()
+ local temp_table = {}
+
+ if Config.DoorAccessPerms.Framework then
+ local jobName = GetJobName()
+ local jobGrade = GetJobGrade()
+ local gangName = GetGangName()
+ local gangGrade = GetGangGrade()
+
+ temp_table.job = {job_name = jobName, job_grade = jobGrade, gang_name = gangName, gang_grade = gangGrade}
+ end
+
+ if Config.DoorAccessPerms.Identifiers or Config.DoorAccessPerms.Discord then
+ local perms = {
+ identifiers = Config.DoorAccessPerms.Identifiers == true or nil,
+ discord = Config.DoorAccessPerms.Discord == true or nil,
+ }
+ local callback = exports.cd_bridge:Callback('cd_doorlock:get_other_door_perms', perms)
+ if callback then
+ temp_table.identifiers = callback.identifiers
+ temp_table.discord = callback.discord
+ else
+ ERROR('4395', 'get_other_door_perms returned nil')
+ end
+ end
+
+ return temp_table
+end
+
+function HasDoorPerms(door_perms_data)
+ if Config.DoorAccessPerms.Framework then
+ local jobName = GetJobName()
+ local jobGrade = GetJobGrade()
+ local gangName = GetGangName()
+ local gangGrade = GetGangGrade()
+ local onDuty = GetJobDuty()
+
+ if Config.Framework ~= 'vrp' then
+ for _, d in pairs(door_perms_data.job) do
+ if (jobName == d.name and jobGrade >= d.grade and onDuty) or (gangName == d.name and gangGrade >= d.grade) then
+ return true
+ end
+ end
+ elseif Config.Framework == 'vrp' then
+ local vrpPerms = exports.cd_bridge:Callback('cd_doorlock:has_door_perms_vrp', door_perms_data.job)
+ if vrpPerms then
+ return true
+ end
+ end
+ end
+ if Config.DoorAccessPerms.Identifiers or Config.DoorAccessPerms.AcePerms or Config.DoorAccessPerms.Discord or Config.DoorAccessPerms.Items then
+ if (door_perms_data.identifier and #door_perms_data.identifier > 0) or (door_perms_data.ace and #door_perms_data.ace > 0) or (door_perms_data.discord and #door_perms_data.discord > 0) or (door_perms_data.items and #door_perms_data.items > 0) then
+ return exports.cd_bridge:Callback('cd_doorlock:has_door_perms', door_perms_data)
+ end
+ end
+
+ return false
+end
+
+function HasDoorlockAdminPerms()
+ return exports.cd_bridge:Callback('cd_doorlock:has_admin_perms')
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/client/error_handling.lua b/resources/cd_doorlock/client/error_handling.lua
new file mode 100644
index 000000000..c18a2fbbf
--- /dev/null
+++ b/resources/cd_doorlock/client/error_handling.lua
@@ -0,0 +1,27 @@
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ BRIDGE │
+-- └──────────────────────────────────────────────────────────────────┘
+
+local function HandleBridgeStart()
+ TriggerServerEvent('cd_doorlock:PlayerLoaded')
+end
+
+AddEventHandler('cd_bridge:TriggerStartEvents', function(resourceName)
+ if resourceName ~= GetCurrentResourceName() then return end
+ HandleBridgeStart()
+end)
+
+AddEventHandler('onClientResourceStart', function(resourceName)
+ if resourceName ~= GetCurrentResourceName() then return end
+ HandleBridgeStart()
+end)
+
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ DEBUG │
+-- └──────────────────────────────────────────────────────────────────┘
+
+-- client
+RegisterNetEvent('cd_doorlock:DebugPrint')
+AddEventHandler('cd_doorlock:DebugPrint', function(lines)
+ Citizen.Trace(table.concat(lines, '\n') .. '\n')
+end)
\ No newline at end of file
diff --git a/resources/cd_doorlock/client/functions.lua b/resources/cd_doorlock/client/functions.lua
index 7c6feb0ce..64ae0e97d 100644
--- a/resources/cd_doorlock/client/functions.lua
+++ b/resources/cd_doorlock/client/functions.lua
@@ -1,35 +1,23 @@
-RegisterNetEvent('cd_doorlock:ToggleNUIFocus_1')
-AddEventHandler('cd_doorlock:ToggleNUIFocus_1', function()
- Wait(100)
- NUI_status = true
- while NUI_status do
- Wait(5)
- SetNuiFocus(NUI_status, NUI_status)
- end
- SetNuiFocus(false, false)
-end)
-
-RegisterNetEvent('cd_doorlock:Callback')
-AddEventHandler('cd_doorlock:Callback', function(id, result)
- CB[id] = result
- Wait(5000)
- CB[id] = nil
-end)
-
-function Callback(action, data)
- CB_id = CB_id + 1
- TriggerServerEvent('cd_doorlock:Callback', CB_id, action, data)
- local timeout = 0 while CB[CB_id] == nil and timeout <= 100 do Wait(0) timeout=timeout+1 end
- return CB[CB_id]
-end
+DoingAnimation = false
local tablet_prop
-local function PlayAnimation(animDict, animName, duration)
- RequestAnimDict(animDict)
- while not HasAnimDictLoaded(animDict) do Citizen.Wait(0) end
- TaskPlayAnim(PlayerPedId(), animDict, animName, 1.0, -1.0, duration, 49, 1, false, false, false)
- RemoveAnimDict(animDict)
+function FindDoorEntityNear(coords, model_hash, radius)
+ local foundDoor = nil
+ local closest = 1000
+
+ local objects = GetGamePool('CObject')
+ for cd = 1, #objects do
+ local obj = objects[cd]
+ if DoesEntityExist(obj) and GetEntityModel(obj) == model_hash then
+ local distance = #(GetEntityCoords(obj) - coords)
+ if distance < radius and distance < closest then
+ foundDoor = obj
+ closest = distance
+ end
+ end
+ end
+ return foundDoor
end
function TabletAnimation(boolean)
@@ -42,25 +30,97 @@ function TabletAnimation(boolean)
else
StopAnimTask(ped, 'amb@world_human_seat_wall_tablet@female@base', 'base' ,8.0, -8.0, -1, 50, 0, false, false, false)
NetworkRequestControlOfEntity(tablet_prop)
- SetEntityAsMissionEntity(tablet_prop)
+ SetEntityAsMissionEntity(tablet_prop, true, true)
DeleteEntity(tablet_prop)
tablet_prop = nil
end
end
-function Draw3DText(coords, text)
- local cd, x, y = World3dToScreen2d(coords.x, coords.y, coords.z)
- SetTextScale(0.35, 0.35)
- SetTextFont(4)
- SetTextCentre(1)
- SetTextEntry('STRING')
- AddTextComponentString(text)
- DrawText(x, y)
- DrawRect(x, y+0.0125, 0.015+string.len(text)/400, 0.035, 71, 71, 71, 100)
+function CalculateDistance(door_coords)
+ local ped_coords = GetEntityCoords(PlayerPedId())
+ local dist = #(ped_coords-vec3(door_coords.x, door_coords.y, door_coords.z))
+ return dist*600
end
-function InVehicle()
- return IsPedInAnyVehicle(PlayerPedId())
+function DoKeyAnimation()
+ CreateThread(function()
+ RequestAnimDict('anim@heists@keycard@')
+ while not HasAnimDictLoaded('anim@heists@keycard@') do Wait(0) end
+ TaskPlayAnim(PlayerPedId(), 'anim@heists@keycard@', 'exit', 8.0, 1.0, 500, 48, 0, 0, 0, 0)
+ RemoveAnimDict('anim@heists@keycard@')
+ end)
+end
+
+function DoPasscodeAnimation(unique_id)
+ DoingAnimation = true
+ CreateThread(function()
+ local ped = PlayerPedId()
+ local ped_heading = GetEntityHeading(ped)
+ local door_data = DoorData[unique_id].door_data[1]
+ local entity = GetClosestObjectOfType(door_data.door_coords.x, door_data.door_coords.y, door_data.door_coords.z, DoorData[unique_id].distance+1.0, door_data.model_hash, false, false, false)
+ local coords = GetOffsetFromEntityInWorldCoords(entity, door_data.text_dimensions, 0, 0)
+ TaskGoStraightToCoord(ped, coords.x, coords.y, coords.z, 1.0, 1000.0, ped_heading, -1)
+ Wait(CalculateDistance(coords))
+ TaskTurnPedToFaceEntity(ped, entity, 1000)
+ RequestAnimDict('anim@heists@keypad@')
+ while not HasAnimDictLoaded('anim@heists@keypad@') do Wait(0) end
+ TaskPlayAnim(ped, 'anim@heists@keypad@', 'idle_a', 2.0, -2.0, -1, 1, 0, 0, 0, 0 )
+ RemoveAnimDict('anim@heists@keypad@')
+ if not DoingAnimation then Wait(1000) ClearPedTasks(ped) end
+ end)
+end
+
+function DoLockpickAnimation(unique_id)
+ DoingAnimation = true
+ CreateThread(function()
+ local ped = PlayerPedId()
+ local ped_heading = GetEntityHeading(ped)
+ local door_data = DoorData[unique_id].door_data[1]
+ local entity = GetClosestObjectOfType(door_data.door_coords.x, door_data.door_coords.y, door_data.door_coords.z, DoorData[unique_id].distance+1.0, door_data.model_hash, false, false, false)
+ local coords = GetOffsetFromEntityInWorldCoords(entity, door_data.text_dimensions, 0, 0)
+ TaskGoStraightToCoord(ped, coords.x, coords.y, coords.z, 1.0, 1000.0, ped_heading, -1)
+ Wait(CalculateDistance(coords))
+ TaskTurnPedToFaceEntity(ped, entity, 1000)
+ RequestAnimDict('veh@break_in@0h@p_m_one@')
+ while not HasAnimDictLoaded('veh@break_in@0h@p_m_one@') do Wait(0) end
+ FreezeEntityPosition(ped, true)
+ while DoingAnimation do
+ TaskPlayAnim(ped, 'veh@break_in@0h@p_m_one@', 'low_force_entry_ds', 2.0, -2.0, -1, 1, 0, 0, 0, 0 )
+ Wait(1000)
+ ClearPedTasks(ped)
+ end
+ FreezeEntityPosition(ped, false)
+ RemoveAnimDict('veh@break_in@0h@p_m_one@')
+ end)
+end
+
+function CalculateVolumeBasedonDistance(coords) --0.0 - 0.5
+ if type(coords) == 'table' then
+ coords = vec3(coords.x, coords.y, coords.z)
+ end
+ local ped_coords = GetEntityCoords(PlayerPedId())
+ local dist = #(ped_coords - coords)
+ local volume = 0.5 - (dist / 20.0)
+ if volume < 0.0 then volume = 0.0 end
+ return volume
+end
+
+function DoorlockDrawTextUI(action, text, doorLocked)
+ if Config.DoorlockDrawTextUI == 'cd_doorlock' then
+ if action == 'show' then
+ local colour
+ if doorLocked then
+ colour = 'rgba(255, 93, 87, 0.8)'
+ else
+ colour = 'rgba(25, 135, 84, 0.8)'
+ end
+ SendNUIMessage({action = 'showdrawtext', message = text, colour = colour})
+ elseif action == 'hide' then
+ SendNUIMessage({action = 'hidedrawtext'})
+ end
+ else
+ DrawTextUI(action, text)
+ end
end
AddEventHandler('onResourceStop', function(resource)
@@ -70,6 +130,10 @@ AddEventHandler('onResourceStop', function(resource)
TabletAnimation(false)
ClearPedTasks(ped)
FreezeEntityPosition(ped, false)
- DrawTextUI(false)
+ if NearbyDoors and next(NearbyDoors) then
+ for _, door in pairs(NearbyDoors) do
+ SetEntityDrawOutline(door, false)
+ end
+ end
end
end)
\ No newline at end of file
diff --git a/resources/cd_doorlock/client/lockpicking.lua b/resources/cd_doorlock/client/lockpicking.lua
new file mode 100644
index 000000000..130a4776a
--- /dev/null
+++ b/resources/cd_doorlock/client/lockpicking.lua
@@ -0,0 +1,42 @@
+function StartLockpicking()
+ if math.random(1, 100) <= Config.LockpickItems.police_alert_chance then
+ PoliceDispatchAlert()
+ end
+
+ if GetResourceState('cd_keymaster') == 'started' then
+ local result = exports['cd_keymaster']:StartKeyMaster()
+ return result
+ else
+ --Add your own lockpick/minigame here. You must return a boolean (true or false).
+ Citizen.Trace('^1You must configure a lockpick/minigame resource to use this feature.^0\n')
+ return false
+ end
+end
+
+function PoliceDispatchAlert()
+ local dispatch = GetResourceState('cd_dispatch3d') == 'started' and 'cd_dispatch3d' or (GetResourceState('cd_dispatch') == 'started' and 'cd_dispatch')
+ if dispatch then
+ local data = exports[dispatch]:GetPlayerInfo()
+ TriggerServerEvent('cd_dispatch:AddNotification', {
+ job_table = {'police'},
+ coords = data.coords,
+ title = '10-15 - Store Robbery',
+ message = ('A %s robbing a store at %s'):format(data.sex, data.street),
+ flash = false,
+ sound = 1,
+ unique_id = GenerateUniqueId(16),
+ blip = {
+ sprite = 431,
+ scale = 1.2,
+ colour = 3,
+ flashes = false,
+ text = '911 - Store Robbery',
+ time = 5,
+ radius = 0,
+ }
+ })
+ else
+ --Add your own police dispatch alert here.
+ Citizen.Trace('^1You must configure a dispatch resource to use this feature.^0\n')
+ end
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/configs/client_customise_me.lua b/resources/cd_doorlock/configs/client_customise_me.lua
deleted file mode 100644
index 4dc4e19f1..000000000
--- a/resources/cd_doorlock/configs/client_customise_me.lua
+++ /dev/null
@@ -1,334 +0,0 @@
---███████╗██████╗ █████╗ ███╗ ███╗███████╗██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗
---██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝
---█████╗ ██████╔╝███████║██╔████╔██║█████╗ ██║ █╗ ██║██║ ██║██████╔╝█████╔╝
---██╔══╝ ██╔══██╗██╔══██║██║╚██╔╝██║██╔══╝ ██║███╗██║██║ ██║██╔══██╗██╔═██╗
---██║ ██║ ██║██║ ██║██║ ╚═╝ ██║███████╗╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗
---╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
-
-
-ESX, QBCore = nil, nil
-JobData, GangData, on_duty = {}, {}, true
-
-CreateThread(function()
- if Config.Framework == 'esx' then
- while ESX == nil do
- pcall(function() ESX = exports[Config.FrameworkTriggers.resource_name]:getSharedObject() end)
- if ESX == nil then
- TriggerEvent(Config.FrameworkTriggers.main, function(obj) ESX = obj end)
- end
- Wait(100)
- end
- JobData = ESX.PlayerData.job or {}
- if JobData.onDuty ~= nil and Config.UseFrameworkDutySystem then on_duty = JobData.onDuty end
-
- RegisterNetEvent(Config.FrameworkTriggers.load)
- AddEventHandler(Config.FrameworkTriggers.load, function(xPlayer)
- JobData = xPlayer.job or {}
- if JobData.onDuty ~= nil and Config.UseFrameworkDutySystem then on_duty = JobData.onDuty end
- end)
-
- RegisterNetEvent(Config.FrameworkTriggers.job)
- AddEventHandler(Config.FrameworkTriggers.job, function(job)
- JobData = job or {}
- if JobData.onDuty ~= nil and Config.UseFrameworkDutySystem then on_duty = JobData.onDuty end
- end)
-
- elseif Config.Framework == 'qbcore' then
- while QBCore == nil do
- TriggerEvent(Config.FrameworkTriggers.main, function(obj) QBCore = obj end)
- if QBCore == nil then
- QBCore = exports[Config.FrameworkTriggers.resource_name]:GetCoreObject()
- end
- Wait(100)
- end
- JobData = QBCore.Functions.GetPlayerData().job or {}
- GangData = QBCore.Functions.GetPlayerData().gang or {}
- if JobData.onduty ~= nil and Config.UseFrameworkDutySystem then on_duty = JobData.onduty end
-
- RegisterNetEvent(Config.FrameworkTriggers.load)
- AddEventHandler(Config.FrameworkTriggers.load, function()
- JobData = QBCore.Functions.GetPlayerData().job or {}
- GangData = QBCore.Functions.GetPlayerData().gang or {}
- if JobData.onduty ~= nil and Config.UseFrameworkDutySystem then on_duty = JobData.onduty end
- end)
-
- RegisterNetEvent(Config.FrameworkTriggers.job)
- AddEventHandler(Config.FrameworkTriggers.job, function(JobInfo)
- JobData = JobInfo or {}
- end)
-
- RegisterNetEvent(Config.FrameworkTriggers.duty)
- AddEventHandler(Config.FrameworkTriggers.duty, function(boolean)
- if not Config.UseFrameworkDutySystem then return end
- on_duty = boolean
- end)
-
- RegisterNetEvent(Config.FrameworkTriggers.gang)
- AddEventHandler(Config.FrameworkTriggers.gang, function(GangInfo)
- GangData = GangInfo or {}
- end)
-
- elseif Config.Framework == 'other' then
- --add your framework code here.
-
- end
-
- while true do
- Wait(100)
- if NetworkIsSessionStarted() then
- TriggerServerEvent('cd_doorlock:PlayerLoaded')
- break
- end
- end
-end)
-
-function GetDoorPerms()
- local temp_table = {}
-
- if Config.DoorAccessPerms.Framework then
- if Config.Framework == 'esx' then
- while JobData.name == nil do Wait(0) end
- temp_table.job = {job_name = JobData.name, job_grade = JobData.grade}
-
- elseif Config.Framework == 'qbcore' then
- while JobData.name == nil do Wait(0) end
- while GangData.name == nil do Wait(0) end
- temp_table.job = {job_name = JobData.name, job_grade = JobData.grade.level, gang_name = GangData.name, gang_grade = GangData.grade.level}
-
- elseif Config.Framework == 'other' then
- temp_table.job = {job_name = 'unemployed', job_grade = 0} --return a players job name (string) and job grade (number).
- end
- end
-
- if Config.DoorAccessPerms.Identifiers or Config.DoorAccessPerms.Discord then
- local callback = Callback('get_door_perms_identifier_discord')
- temp_table.identifier = callback.identifiers
- temp_table.discord = callback.discord
- end
-
- return temp_table
-end
-
-function CheckDoorPerms(door_perms_data)
- if Config.DoorAccessPerms.Framework then
- if Config.Framework == 'esx' then
- for c, d in pairs(door_perms_data.job) do
- if JobData.name == d.name and JobData.grade >= d.grade and on_duty then
- return true
- end
- end
-
- elseif Config.Framework == 'qbcore' then
- for c, d in pairs(door_perms_data.job) do
- if (JobData.name == d.name and JobData.grade.level >= d.grade and on_duty) or (GangData.name == d.name and GangData.grade.level >= d.grade) then
- return true
- end
- end
-
- elseif Config.Framework == 'vrp' then
- return Callback('check_door_perms_vrp', door_perms_data.job)
-
- elseif Config.Framework == 'other' then
- --add your own permissions check here (boolean).
- return true
- end
- end
- if Config.DoorAccessPerms.Identifiers or Config.DoorAccessPerms.AcePerms or Config.DoorAccessPerms.Discord or Config.DoorAccessPerms.Items then
- if (door_perms_data.identifier and #door_perms_data.identifier > 0) or (door_perms_data.ace and #door_perms_data.ace > 0) or (door_perms_data.discord and #door_perms_data.discord > 0) or (door_perms_data.items and #door_perms_data.items > 0) then
- return Callback('check_door_perms_all', door_perms_data)
- end
- end
-
- return false
-end
-
-function CheckAdminPerms()
- return Callback('check_admin_perms')
-end
-
-
---██╗ ██╗███████╗██╗ ██╗███████╗ █████╗ ███╗ ██╗██████╗ ██████╗ ██████╗ ███╗ ███╗███╗ ███╗ █████╗ ███╗ ██╗██████╗ ███████╗
---██║ ██╔╝██╔════╝╚██╗ ██╔╝██╔════╝ ██╔══██╗████╗ ██║██╔══██╗ ██╔════╝██╔═══██╗████╗ ████║████╗ ████║██╔══██╗████╗ ██║██╔══██╗██╔════╝
---█████╔╝ █████╗ ╚████╔╝ ███████╗ ███████║██╔██╗ ██║██║ ██║ ██║ ██║ ██║██╔████╔██║██╔████╔██║███████║██╔██╗ ██║██║ ██║███████╗
---██╔═██╗ ██╔══╝ ╚██╔╝ ╚════██║ ██╔══██║██║╚██╗██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██║╚██╔╝██║██╔══██║██║╚██╗██║██║ ██║╚════██║
---██║ ██╗███████╗ ██║ ███████║ ██║ ██║██║ ╚████║██████╔╝ ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║██║ ██║██║ ╚████║██████╔╝███████║
---╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚══════╝
-
-
-TriggerEvent('chat:addSuggestion', '/'..Config.OpenDoorMenu.command, L('command_opendoormenu'))
-RegisterCommand(Config.OpenDoorMenu.command, function()
- TriggerEvent('cd_doorlock:OpenDoorLockMenu')
-end)
-
-RegisterKeyMapping(Config.ToggleDoorLock.command, L('command_toggledoorlock'), 'keyboard', Config.ToggleDoorLock.key)
-TriggerEvent('chat:addSuggestion', '/'..Config.ToggleDoorLock.command, L('command_toggledoorlock'))
-RegisterCommand(Config.ToggleDoorLock.command, function()
- TriggerEvent('cd_doorlock:ToggleDoorState')
-end)
-
-
--- ██╗ ██████╗ ██████╗██╗ ██╗██████╗ ██╗ ██████╗██╗ ██╗██╗███╗ ██╗ ██████╗
--- ██║ ██╔═══██╗██╔════╝██║ ██╔╝██╔══██╗██║██╔════╝██║ ██╔╝██║████╗ ██║██╔════╝
--- ██║ ██║ ██║██║ █████╔╝ ██████╔╝██║██║ █████╔╝ ██║██╔██╗ ██║██║ ███╗
--- ██║ ██║ ██║██║ ██╔═██╗ ██╔═══╝ ██║██║ ██╔═██╗ ██║██║╚██╗██║██║ ██║
--- ███████╗╚██████╔╝╚██████╗██║ ██╗██║ ██║╚██████╗██║ ██╗██║██║ ╚████║╚██████╔╝
--- ╚══════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝ ╚═════╝
-
-
-function StartLockpicking()
- if math.random(1, 100) <= Config.LockpickItems.police_alert_chance then
- PoliceDispatchAlert()
- end
-
- if GetResourceState('cd_keymaster') == 'started' then
- local result = exports['cd_keymaster']:StartKeyMaster()
- return result
- else
- --Add your own lockpick/minigame here. You must return a boolean (true or false).
- print('^1You must configure a lockpick/minigame resource to use this feature.^0')
- return false
- end
-end
-
-function PoliceDispatchAlert()
- if GetResourceState('cd_dispatch') == 'started' then
- local data = exports['cd_dispatch']:GetPlayerInfo()
- TriggerServerEvent('cd_dispatch:AddNotification', {
- job_table = {'police', },
- coords = data.coords,
- title = '10-15 - Lock picking',
- message = 'A '..data.sex..' is lock picking a door at '..data.street,
- flash = 0,
- unique_id = data.unique_id,
- sound = 1,
- blip = {
- sprite = 431,
- scale = 1.2,
- colour = 3,
- flashes = false,
- text = '911 - Lock picking',
- time = 5,
- radius = 0,
- }
- })
- else
- --Add your own police dispatch alert here.
- print('^1You must configure a dispatch resource to use this feature.^0')
- end
-end
-
-
---███╗ ██╗ ██████╗ ████████╗██╗███████╗██╗ ██████╗ █████╗ ████████╗██╗ ██████╗ ███╗ ██╗███████╗
---████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██║██╔════╝██╔══██╗╚══██╔══╝██║██╔═══██╗████╗ ██║██╔════╝
---██╔██╗ ██║██║ ██║ ██║ ██║█████╗ ██║██║ ███████║ ██║ ██║██║ ██║██╔██╗ ██║███████╗
---██║╚██╗██║██║ ██║ ██║ ██║██╔══╝ ██║██║ ██╔══██║ ██║ ██║██║ ██║██║╚██╗██║╚════██║
---██║ ╚████║╚██████╔╝ ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║╚██████╔╝██║ ╚████║███████║
---╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝
-
-
-function Notification(notif_type, message)
- if notif_type and message then
- if Config.Notification == 'esx' then
- ESX.ShowNotification(message)
-
- elseif Config.Notification == 'qbcore' then
- if notif_type == 1 then
- QBCore.Functions.Notify(message, 'success')
- elseif notif_type == 2 then
- QBCore.Functions.Notify(message, 'primary')
- elseif notif_type == 3 then
- QBCore.Functions.Notify(message, 'error')
- end
-
- elseif Config.Notification == 'cd_notifications' then
- if notif_type == 1 then
- TriggerEvent('cd_notifications:Add', {title = L('doorlock'), message = message, type = 'success', options = {duration = 5}})
- elseif notif_type == 2 then
- TriggerEvent('cd_notifications:Add', {title = L('doorlock'), message = message, type = 'inform', options = {duration = 5}})
- elseif notif_type == 3 then
- TriggerEvent('cd_notifications:Add', {title = L('doorlock'), message = message, type = 'error', options = {duration = 5}})
- end
-
- elseif Config.Notification == 'okokNotify' then
- if notif_type == 1 then
- exports['okokNotify']:Alert(L('doorlock'), message, 5000, 'success')
- elseif notif_type == 2 then
- exports['okokNotify']:Alert(L('doorlock'), message, 5000, 'info')
- elseif notif_type == 3 then
- exports['okokNotify']:Alert(L('doorlock'), message, 5000, 'error')
- end
-
- elseif Config.Notification == 'ps-ui' then
- if notif_type == 1 then
- exports['ps-ui']:Notify(message, 'success', 5000)
- elseif notif_type == 2 then
- exports['ps-ui']:Notify(message, 'primary', 5000)
- elseif notif_type == 3 then
- exports['ps-ui']:Notify(message, 'error', 5000)
- end
-
- elseif Config.Notification == 'ox_lib' then
- if notif_type == 1 then
- lib.notify({title = L('doorlock'), description = message, type = 'success'})
- elseif notif_type == 2 then
- lib.notify({title = L('doorlock'), description = message, type = 'inform'})
- elseif notif_type == 3 then
- lib.notify({title = L('doorlock'), description = message, type = 'error'})
- end
-
- elseif Config.Notification == 'chat' then
- TriggerEvent('chatMessage', message)
-
- elseif Config.Notification == 'other' then
- --add your own notification.
-
- end
- end
-end
-
-
---██████╗ ███████╗██████╗ ██╗ ██╗ ██████╗
---██╔══██╗██╔════╝██╔══██╗██║ ██║██╔════╝
---██║ ██║█████╗ ██████╔╝██║ ██║██║ ███╗
---██║ ██║██╔══╝ ██╔══██╗██║ ██║██║ ██║
---██████╔╝███████╗██████╔╝╚██████╔╝╚██████╔╝
---╚═════╝ ╚══════╝╚═════╝ ╚═════╝ ╚═════╝
-
-
-if Config.Debug then
- local function Debug()
- print('^6-----------------------^0')
- print('^1CODESIGN DEBUG^0')
- print(string.format('^6Resource Name:^0 %s', GetCurrentResourceName()))
- print(string.format('^6Framework:^0 %s', Config.Framework))
- print(string.format('^6Notification:^0 %s', Config.Notification))
- print(string.format('^6Language:^0 %s', Config.Language))
- if Config.Framework == 'esx' then
- while JobData.name == nil do Wait(0) end
- print(string.format('^6Job Name:^0 %s', JobData.name))
- print(string.format('^6Job Grade:^0 %s', JobData.grade))
- elseif Config.Framework == 'qbcore' then
- while JobData.name == nil do Wait(0) end
- print(string.format('^6Job Name:^0 %s', JobData.name))
- print(string.format('^6Job Grade:^0 %s', JobData.grade.level))
- print(string.format('^6Gang Name:^0 %s', GangData.name))
- print(string.format('^6Gang Grade:^0 %s', GangData.grade.level))
- end
- print(string.format('^6Use Framework Duty System:^0 %s', Config.UseFrameworkDutySystem))
- print(string.format('^6On Duty:^0 %s', on_duty))
- print(string.format('^6Config.AdminAccess: [Framework: ^0%s^6] [Identifiers: ^0%s^6] [AcePerms: ^0%s^6] [Discord: ^0%s^6]', Config.AdminAccess.Framework.ENABLE, Config.AdminAccess.Identifiers.ENABLE, Config.AdminAccess.AcePerms.ENABLE, Config.AdminAccess.Discord.ENABLE))
- print(string.format('^6Config.DoorAccessPerms: [Framework: ^0%s^6] [Identifiers: ^0%s^6] [AcePerms: ^0%s^6] [Discord: ^0%s^6] [Items: ^0%s^6]', Config.DoorAccessPerms.Framework, Config.DoorAccessPerms.Identifiers, Config.DoorAccessPerms.AcePerms, Config.DoorAccessPerms.Discord, Config.DoorAccessPerms.Items))
- print(string.format('^6Admin Access:^0 %s', CheckAdminPerms()))
- print('^6-----------------------^0')
- TriggerServerEvent('cd_doorlock:Debug')
- end
-
- CreateThread(function()
- Wait(3000)
- Debug()
- end)
-
- RegisterCommand('debug_doorlock', function()
- Debug()
- end)
-end
\ No newline at end of file
diff --git a/resources/cd_doorlock/configs/config.lua b/resources/cd_doorlock/configs/config.lua
index c2ece1087..1fae5844d 100644
--- a/resources/cd_doorlock/configs/config.lua
+++ b/resources/cd_doorlock/configs/config.lua
@@ -1,192 +1,152 @@
Config = {}
-function L(cd) if Locales[Config.Language][cd] then return Locales[Config.Language][cd] else print('Locale is nil ('..cd..')') end end
---███████╗██████╗ █████╗ ███╗ ███╗███████╗██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗
---██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝
---█████╗ ██████╔╝███████║██╔████╔██║█████╗ ██║ █╗ ██║██║ ██║██████╔╝█████╔╝
---██╔══╝ ██╔══██╗██╔══██║██║╚██╔╝██║██╔══╝ ██║███╗██║██║ ██║██╔══██╗██╔═██╗
---██║ ██║ ██║██║ ██║██║ ╚═╝ ██║███████╗╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗
---╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
+for c, d in pairs(Cfg) do
+ Config[c] = d
+end
+
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ IMPORTANT │
+-- └──────────────────────────────────────────────────────────────────┘
+
+Config.DoorDataStorageMethod = 'database'
+-- ['file', 'database']
+-- Where door data is stored: 'file' (JSON file: door_data.json) or 'database' (SQL database).
+
+Config.AutoInsertSQL = true
+-- Enable to automatically add and fix required SQL entries (recommended before updating).
---WHAT DOES 'auto_detect' DO?
---The 'auto_detect' feature automatically identifies your framework and notification resource and applies the appropriate default settings.
-
-Config.Framework = 'auto_detect' --[ 'auto_detect' / 'other' ] If you select 'auto_detect', only ESX, QBCore, vRP and Standalone frameworks will be detected. Use 'other' for custom frameworks.
-Config.Notification = 'auto_detect' --[ 'auto_detect' / 'other' ] If you select 'auto_detect', only ESX, QBCore, cd_notifications, okokNotify, ps-ui and ox_lib notifications will be detected. Use 'other' for custom notification resources.
-Config.Language = 'EN' --[ 'EN' / 'DE' / 'NL' ] You can add your own locales to Locales.lua, but be sure to update the Config.Language to match it.
-
-Config.FrameworkTriggers = {
- esx = { --If you have modified the default event names in the es_extended resource, change them here.
- resource_name = 'es_extended',
- main = 'esx:getSharedObject',
- load = 'esx:playerLoaded',
- job = 'esx:setJob'
- },
- qbcore = { --If you have modified the default event names in the qb-core resource, change them here.
- resource_name = 'qb-core',
- main = 'QBCore:GetObject',
- load = 'QBCore:Client:OnPlayerLoaded',
- job = 'QBCore:Client:OnJobUpdate',
- gang = 'QBCore:Client:OnGangUpdate',
- duty = 'QBCore:Client:SetDuty'
- }
-}
+Config.DoorlockDrawTextUI = 'cd_doorlock'
+-- ['cd_doorlock', 'auto_detect']
+-- Draw Text UI to use, or 'auto_detect' to use a compatible running UI automatically.
---██╗███╗ ███╗██████╗ ██████╗ ██████╗ ████████╗ █████╗ ███╗ ██╗████████╗
---██║████╗ ████║██╔══██╗██╔═══██╗██╔══██╗╚══██╔══╝██╔══██╗████╗ ██║╚══██╔══╝
---██║██╔████╔██║██████╔╝██║ ██║██████╔╝ ██║ ███████║██╔██╗ ██║ ██║
---██║██║╚██╔╝██║██╔═══╝ ██║ ██║██╔══██╗ ██║ ██╔══██║██║╚██╗██║ ██║
---██║██║ ╚═╝ ██║██║ ╚██████╔╝██║ ██║ ██║ ██║ ██║██║ ╚████║ ██║
---╚═╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═╝
+Config.Debug = false
+-- Enable console debug output.
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ MAIN │
+-- └──────────────────────────────────────────────────────────────────┘
-Config.Debug = false --To enable debug prints.
-Config.UseFrameworkDutySystem = false --Do you want to use your frameworks (esx/qbcore) built-in duty system?
-
-
---███╗ ███╗ █████╗ ██╗███╗ ██╗
---████╗ ████║██╔══██╗██║████╗ ██║
---██╔████╔██║███████║██║██╔██╗ ██║
---██║╚██╔╝██║██╔══██║██║██║╚██╗██║
---██║ ╚═╝ ██║██║ ██║██║██║ ╚████║
---╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝
-
-
-Config.AdminAccess = { --A list of different methods where you can define which players have admin permissions to create/edit/delete/import doors on the in-game UI.
- Framework = { --(ESX, QBcore & vRP only!) Ignore this framework section if you don't use a framework.
+Config.AdminAccess = { -- Defines who can create, edit, delete, and import doors via the in-game admin UI.
+ Framework = { -- Framework-based admin groups (ESX, QBCore, Qbox, vRP only).
['esx'] = {'superadmin', 'admin', },
['qbcore'] = {'god', 'admin', },
+ ['qbox'] = {'god', 'admin', },
['vrp'] = {5, 6, 7, 8, 9, 10, }
},
Identifiers = {
- ENABLE = false, --Do you want to allow players with specific fivem identifiers to use the admin features?
- identifier_list = {'steam:xxxxx', 'license:xxxxx', 'fivem:xxxxx', }, --You can use a players steam, license or fivem id etc.
+ ENABLE = false, -- Allow admin access based on player identifiers (license, steam, FiveM ID).
+ identifier_list = {'license:xxxxx', 'steam:xxxxx', }, -- List of allowed player identifiers.
},
- AcePerms = {
- ENABLE = false, --Do you want to allow players with specific ace perms to use the admin features?
- aceperms_list = {'doorlock.police', }, --Make sure you have your ace perms configured correctly in your server.cfg.
+ AcePerms = {
+ ENABLE = false, -- Allow admin access based on ACE permissions.
+ aceperms_list = {'doorlock.police', }, -- ACE permissions required (must be set in server.cfg).
},
- Discord = { --(REQUIRES Badger Discord API).
- ENABLE = false, --Do you want to allow players with specific discord roles in your discord to use the admin features?
- discord_list = {'xxxxx', 'xxxxx', }, --You must put the role id from your discord here (https://www.itgeared.com/how-to-get-role-id-on-discord).
+ Discord = { -- Requires Badger Discord API.
+ ENABLE = false, -- Allow admin access based on Discord roles.
+ discord_list = {'xxxxx', 'xxxxx', }, -- Discord role IDs allowed to use admin features.
}
}
-
-Config.DoorAccessPerms = { --When creating/editing/deleting/importing doors, you always need to define which permission groups can lock/unlock these doors. Here you can choose which perms options are available to choose from on the in-game UI.
- Identifiers = false, --Do you want to allow players to use doors based on their fivem identifiers? (license,steam,fivem etc)
- AcePerms = false, --Do you want to allow players to use doors based on their ace perms?
- Discord = false, --(REQUIRES Badger Discord API). Do you want to allow players to use doors based on their discord roles?
- Items = true, --(REQUIRES ESX/QBCore). Do you want to allow players to use doors based on the items they have in their inventory?
+Config.DoorAccessPerms = { -- Controls which permission types can be assigned to doors in the UI.
+ Identifiers = true, -- Allow door access based on player identifiers.
+ AcePerms = true, -- Allow door access based on ACE permissions.
+ Discord = true, -- Allow door access based on Discord roles (requires Badger Discord API).
+ Items = true -- Allow door access based on inventory items (requires ESX/QBCore/Qbox).
}
-
Config.DoorStateDisplay = {
- DrawTextUI = false, --Do you want doors to display the lock/unlock state via the built in draw text UI?
- Emojis = true, --Do you want doors to display the lock/unlock state via emojis?
- Draw3DText = false, --Do you want doors to display the lock/unlock state via draw 3d text UI?
- Notification = true --Do you want a notification to show after a door is locked/unlocked?
+ DrawTextUI = true, -- Show door lock state using built-in draw text UI.
+ Icon = true, -- Show door lock state using lock/unlock icons.
+ Notification = false -- Show a notification when a door is locked or unlocked.
}
+Config.IconSize = 0.5 -- Size of the lock/unlock icon displayed above doors.
+
Config.LockpickItems = {
- ENABLE = true, --(ESX & QBcore only!) Do you want to require a playern to have an item in their inventory to lockpick a door?
- usable_lockpick_item = true, --In addition to pressing E to lockpick a door, do you want to allow players to use a usable lockpick item from their inventory?
- police_alert_chance = 50, --(0 = 0% chance, 100 = 100% chance) When a player is lockpicking a door, there is a chance that the police will be alerted. This is the percentage chance of this happening.
- lockpick_items = { --Having at least 1 of these items in your inventory will allow a player to lockpick a door.
+ ENABLE = false, -- Require an inventory item to lockpick doors (ESX & QBCore only).
+ usable_lockpick_item = true, -- Allow lockpicking via usable inventory item.
+ police_alert_chance = 50, -- Chance (0–100%) to alert police during lockpicking.
+ lockpick_items = { -- Items that allow a player to lockpick doors.
'lockpick',
- 'advanced_lockpick',
--'add_more_here',
}
}
+Config.DoorDetection = { -- Controls whether only doors or most objects can be targeted.
+ ENABLE = false, -- When true, only doors are detected; when false, most targeted objects are detected.
---██╗ ██╗███████╗██╗ ██╗███████╗ █████╗ ███╗ ██╗██████╗ ██████╗ ██████╗ ███╗ ███╗███╗ ███╗ █████╗ ███╗ ██╗██████╗ ███████╗
---██║ ██╔╝██╔════╝╚██╗ ██╔╝██╔════╝ ██╔══██╗████╗ ██║██╔══██╗ ██╔════╝██╔═══██╗████╗ ████║████╗ ████║██╔══██╗████╗ ██║██╔══██╗██╔════╝
---█████╔╝ █████╗ ╚████╔╝ ███████╗ ███████║██╔██╗ ██║██║ ██║ ██║ ██║ ██║██╔████╔██║██╔████╔██║███████║██╔██╗ ██║██║ ██║███████╗
---██╔═██╗ ██╔══╝ ╚██╔╝ ╚════██║ ██╔══██║██║╚██╗██║██║ ██║ ██║ ██║ ██║██║╚██╔╝██║██║╚██╔╝██║██╔══██║██║╚██╗██║██║ ██║╚════██║
---██║ ██╗███████╗ ██║ ███████║ ██║ ██║██║ ╚████║██████╔╝ ╚██████╗╚██████╔╝██║ ╚═╝ ██║██║ ╚═╝ ██║██║ ██║██║ ╚████║██████╔╝███████║
---╚═╝ ╚═╝╚══════╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚══════╝
+ OutlineAllDoorsInBuildingInBuilding = true, -- Outline all detected doors in the building.
+ DoorModelAllowList = {}, -- Models always treated as doors, regardless of size. Usage: { "model", `model`, -12345678 }
+ DoorModelDenyList = {}, -- -- Models never treated as doors, regardless of size. Usage: { "model", `model`, -12345678 }
+ Dimensions = {
+ normal = {
+ max_height = 3.0,
+ min_height = 1.5,
+
+ max_width = 2.0,
+ min_width = 1.0,
+
+ max_depth = 0.4,
+ min_depth = 0.05,
+ },
+
+ garage = {
+ max_height = 8.0,
+ min_height = 3.0,
+
+ max_width = 8.0,
+ min_width = 3.0,
+
+ max_depth = 0.3,
+ min_depth = 0.05,
+ },
+
+ gate = {
+ max_height = 10.0,
+ min_height = 3.0,
+
+ max_width = 10.0,
+ min_width = 5.0,
+
+ max_depth = 0.6,
+ min_depth = 0.1,
+ }
+ }
+}
+
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ KEYS & COMMANDS │
+-- └──────────────────────────────────────────────────────────────────┘
Config.OpenDoorMenu = {
- ENABLE = true, --Do you want to allow player's open the door lock UI?
- command = 'doorlockui' --The chat command.
+ ENABLE = true, -- Allow players to open the door lock UI.
+ command = 'doorlockui' -- Chat command to open the door UI.
}
Config.ToggleDoorLock = {
- ENABLE = true, --Do you want to allow player's to toggle door locks?
- command = 'doorlock', --The chat command.
- key = 'e' --The keypress.
+ ENABLE = true, -- Allow players to lock and unlock doors.
+ command = 'doorlocktoggle', -- Chat command to toggle door locks.
+ key = 'e' -- Key used to toggle the door lock.
}
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ AUTO DETECT │
+-- └──────────────────────────────────────────────────────────────────┘
--- ██████╗ ████████╗██╗ ██╗███████╗██████╗
---██╔═══██╗╚══██╔══╝██║ ██║██╔════╝██╔══██╗
---██║ ██║ ██║ ███████║█████╗ ██████╔╝
---██║ ██║ ██║ ██╔══██║██╔══╝ ██╔══██╗
---╚██████╔╝ ██║ ██║ ██║███████╗██║ ██║
--- ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
-
-
-function Round(cd) return math.floor(cd+0.5) end
-function Trim(cd) return cd:gsub('%s+', '') end
-
-
--- █████╗ ██╗ ██╗████████╗ ██████╗ ██████╗ ███████╗████████╗███████╗ ██████╗████████╗
---██╔══██╗██║ ██║╚══██╔══╝██╔═══██╗ ██╔══██╗██╔════╝╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝
---███████║██║ ██║ ██║ ██║ ██║ ██║ ██║█████╗ ██║ █████╗ ██║ ██║
---██╔══██║██║ ██║ ██║ ██║ ██║ ██║ ██║██╔══╝ ██║ ██╔══╝ ██║ ██║
---██║ ██║╚██████╔╝ ██║ ╚██████╔╝ ██████╔╝███████╗ ██║ ███████╗╚██████╗ ██║
---╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝
-
-
------DO NOT TOUCH ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING.-----
-if Config.Framework == 'auto_detect' then
- if GetResourceState(Config.FrameworkTriggers.esx.resource_name) == 'started' then
- Config.Framework = 'esx'
- elseif GetResourceState(Config.FrameworkTriggers.qbcore.resource_name) == 'started' then
- Config.Framework = 'qbcore'
- elseif GetResourceState('vrp') == 'started' then
- Config.Framework = 'vrp'
- else
- Config.Framework = 'standalone'
- end
- if Config.Framework == 'esx' or Config.Framework == 'qbcore' then
- for c, d in pairs(Config.FrameworkTriggers[Config.Framework]) do
- Config.FrameworkTriggers[c] = d
- end
- Config.FrameworkTriggers.esx, Config.FrameworkTriggers.qbcore = nil, nil
- end
+if Config.Database == 'none' then
+ Config.DoorDataStorageMethod = 'file'
end
-
-if Config.Notification == 'auto_detect' then
- if GetResourceState('cd_notifications') == 'started' then
- Config.Notification = 'cd_notifications'
- elseif GetResourceState('okokNotify') == 'started' then
- Config.Notification = 'okokNotify'
- elseif GetResourceState('ps-ui') == 'started' then
- Config.Notification = 'ps-ui'
- elseif GetResourceState('ox_lib') == 'started' then
- Config.Notification = 'ox_lib'
- else
- if Config.Framework == 'esx' or Config.Framework == 'qbcore' then
- Config.Notification = Config.Framework
- else
- Config.Notification = 'chat'
- end
- end
-end
-
if GetResourceState('Badger_Discord_API') ~= 'started' then
Config.AdminAccess.Discord.ENABLE = false
Config.DoorAccessPerms.Discord = false
end
-if Config.Framework == 'esx' or Config.Framework == 'qbcore' or Config.Framework == 'other' then
+if Config.Framework == 'esx' or Config.Framework == 'qbcore' or Config.Framework == 'qbox' or Config.Framework == 'other' then
Config.AdminAccess.Framework.ENABLE = true
Config.DoorAccessPerms.Framework = true
else
@@ -195,4 +155,8 @@ else
Config.LockpickItems.ENABLE = false
Config.DoorAccessPerms.Items = false
end
------DO NOT TOUCH ANYTHING ABOVE THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING.-----
\ No newline at end of file
+----- DO NOT CHANGE ANYTHING ABOVE THIS LINE. INCORRECT EDITS MAY BREAK THE SCRIPT. -----
+
+function GetConfig()
+ return Config
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/configs/config_ui.js b/resources/cd_doorlock/configs/config_ui.js
index e34a1308b..65ea59731 100644
--- a/resources/cd_doorlock/configs/config_ui.js
+++ b/resources/cd_doorlock/configs/config_ui.js
@@ -1,11 +1,11 @@
window['config'] = {
"door_name_max_length": 32,
- "door_name_match": new RegExp(/[^a-zA-Z-\/\s\\0-9]/guis),
+ "door_name_match": new RegExp(/[^a-zA-Z-\/\s\\0-9\\_]/guis),
"door_passcode_max_length": 8,
"job_name_max_length": 32,
- "job_name_match": new RegExp(/[^a-zA-Z0-9]/guis),
+ "job_name_match": new RegExp(/[^a-zA-Z0-9_]/guis),
"job_grade_max": 16,
diff --git a/resources/cd_doorlock/configs/locales.lua b/resources/cd_doorlock/configs/locales.lua
index b73cf12ee..7b2517259 100644
--- a/resources/cd_doorlock/configs/locales.lua
+++ b/resources/cd_doorlock/configs/locales.lua
@@ -1,4 +1,4 @@
-Locales = {
+LocalesTable = {
['EN'] = { --english
['data_not_cached'] = 'Please try again in a few seconds...',
['camera_unavailable'] = 'Camera unavailable. Try again when you are closer to the door',
@@ -18,11 +18,9 @@ Locales = {
['command_opendoormenu'] = 'Open door lock UI',
['command_toggledoorlock'] = 'Toogle door lock',
['drawtextui_door_locked'] = 'Locked
Press E to unlock',
- ['drawtextui_door_unlocked'] = 'Unlocked Press E to lock',
+ ['drawtextui_door_unlocked'] = 'Unlocked Press E to lock',
['draw3dtext_door_locked'] = 'Press [E] to unlock',
['draw3dtext_door_unlocked'] = 'Press [E] to lock',
- ['emoji_door_locked'] = '🔒',
- ['emoji_door_unlocked'] = '🔓',
['lockpick_door_prompt'] = 'Press [E] again to lockpick this door',
['doorlock'] = 'Door Lock',
['missing_lockpick'] = 'You are missing the required lockpick item',
@@ -31,71 +29,668 @@ Locales = {
['door_cant_be_lockpicked'] = 'This door cannot be lockpicked',
['lockdown_group'] = 'This building is currently in lockdown. All dorrs are locked!',
['unlockdown_group'] = 'This building is no longer in lockdown. All doors are unlocked!',
+ ['title'] = 'Doorlock',
},
-
+
+ ['ES'] = { --spanish
+ ['data_not_cached'] = 'Por favor intenta de nuevo en unos segundos...',
+ ['camera_unavailable'] = 'Cámara no disponible. Intenta de nuevo cuando estés más cerca de la puerta',
+ ['door_locked'] = 'Puerta cerrada',
+ ['door_unlocked'] = 'Puerta abierta',
+ ['webhook_message_1'] = '**Información del jugador**\nFuente: **%s**\nNombre del jugador: **%s**\nIdentificador: **%s**\n\n**Datos de la puerta**\nGrupo de ubicación: **%s**\nNombre de la puerta: **%s**\nTipo de puerta: **%s**',
+ ['webhook_message_2'] = '**Información del jugador**\nFuente: **%s**\nNombre del jugador: **%s**\nIdentificador: **%s**\n\n**Datos del archivo de importación**\nNombre del archivo: **%s**\nNúmero de puertas: **%s**',
+ ['webhook_message_3'] = '**Información del jugador**\nFuente: **%s**\nNombre del jugador: **%s**\nIdentificador: **%s**\n\n**Datos del grupo de ubicación**\nNombre del grupo: **%s**\nNúmero de puertas: **%s**',
+ ['create'] = 'Nueva puerta creada',
+ ['delete'] = 'Puerta eliminada',
+ ['edit'] = 'Puerta editada',
+ ['add_import_data'] = 'Puertas importadas añadidas',
+ ['remove_import_data'] = 'Puertas importadas eliminadas',
+ ['remove_full_locationgroup'] = 'Eliminadas todas las puertas del grupo de ubicación',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Punto de ruta establecido',
+ ['command_opendoormenu'] = 'Abrir interfaz de bloqueo de puertas',
+ ['command_toggledoorlock'] = 'Alternar bloqueo de puerta',
+ ['drawtextui_door_locked'] = 'Cerrada Pulsa E para abrir',
+ ['drawtextui_door_unlocked'] = 'Abierta Pulsa E para cerrar',
+ ['draw3dtext_door_locked'] = 'Pulsa [E] para abrir',
+ ['draw3dtext_door_unlocked'] = 'Pulsa [E] para cerrar',
+ ['lockpick_door_prompt'] = 'Pulsa [E] de nuevo para forzar esta puerta',
+ ['doorlock'] = 'Cerradura',
+ ['missing_lockpick'] = 'Te falta la ganzúa requerida',
+ ['cant_lockpick_while_in_vehicle'] = 'Sal del vehículo para forzar una puerta',
+ ['cant_lockpick_unlocked_door'] = 'Esta puerta ya está abierta',
+ ['door_cant_be_lockpicked'] = 'Esta puerta no se puede forzar',
+ ['lockdown_group'] = 'Este edificio está actualmente confinado. ¡Todas las puertas están cerradas!',
+ ['unlockdown_group'] = 'Este edificio ya no está confinado. ¡Todas las puertas están abiertas!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['FR'] = { --french
+ ['data_not_cached'] = 'Veuillez réessayer dans quelques secondes...',
+ ['camera_unavailable'] = 'Caméra indisponible. Réessayez lorsque vous êtes plus proche de la porte',
+ ['door_locked'] = 'Porte verrouillée',
+ ['door_unlocked'] = 'Porte déverrouillée',
+ ['webhook_message_1'] = '**Infos joueur**\nSource : **%s**\nNom du joueur : **%s**\nIdentifiant : **%s**\n\n**Données de la porte**\nGroupe de lieu : **%s**\nNom de la porte : **%s**\nType de porte : **%s**',
+ ['webhook_message_2'] = '**Infos joueur**\nSource : **%s**\nNom du joueur : **%s**\nIdentifiant : **%s**\n\n**Données du fichier d\'importation**\nNom du fichier : **%s**\nNombre de portes : **%s**',
+ ['webhook_message_3'] = '**Infos joueur**\nSource : **%s**\nNom du joueur : **%s**\nIdentifiant : **%s**\n\n**Données du groupe de lieu**\nNom du groupe : **%s**\nNombre de portes : **%s**',
+ ['create'] = 'Nouvelle porte créée',
+ ['delete'] = 'Porte supprimée',
+ ['edit'] = 'Porte modifiée',
+ ['add_import_data'] = 'Portes importées ajoutées',
+ ['remove_import_data'] = 'Portes importées supprimées',
+ ['remove_full_locationgroup'] = 'Toutes les portes du groupe de lieu ont été supprimées',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Point de passage défini',
+ ['command_opendoormenu'] = 'Ouvrir l’interface de verrouillage des portes',
+ ['command_toggledoorlock'] = 'Basculer le verrouillage de la porte',
+ ['drawtextui_door_locked'] = 'Verrouillée Appuyez sur E pour déverrouiller',
+ ['drawtextui_door_unlocked'] = 'Déverrouillée Appuyez sur E pour verrouiller',
+ ['draw3dtext_door_locked'] = 'Appuyez sur [E] pour déverrouiller',
+ ['draw3dtext_door_unlocked'] = 'Appuyez sur [E] pour verrouiller',
+ ['lockpick_door_prompt'] = 'Appuyez à nouveau sur [E] pour crocheter cette porte',
+ ['doorlock'] = 'Verrou de porte',
+ ['missing_lockpick'] = 'Il vous manque l\'outil de crochetage requis',
+ ['cant_lockpick_while_in_vehicle'] = 'Sortez du véhicule pour crocheter une porte',
+ ['cant_lockpick_unlocked_door'] = 'Cette porte est déjà déverrouillée',
+ ['door_cant_be_lockpicked'] = 'Cette porte ne peut pas être crochetée',
+ ['lockdown_group'] = 'Ce bâtiment est actuellement en confinement. Toutes les portes sont verrouillées !',
+ ['unlockdown_group'] = 'Ce bâtiment n\'est plus en confinement. Toutes les portes sont déverrouillées !',
+ ['title'] = 'Doorlock',
+ },
+
['DE'] = { --german
- ['data_not_cached'] = 'Versuche es in ein paar Sekunden erneut...',
- ['camera_unavailable'] = 'Kamera nicht verfügbar, Bitte geh näher zur Tür!',
- ['door_locked'] = 'Tür Abgeschlossen',
- ['door_unlocked'] = 'Tür Aufgeschlossen',
- ['webhook_message_1'] = '**Spieler Info**\nQuelle: **%s**\nSpieler Name: **%s**\nIdentifier: **%s**\n\n**Tür Daten**\nStandort Gruppe: **%s**\nTür Name: **%s**\nTür Typ: **%s**',
- ['webhook_message_2'] = '**Spieler Info**\nQuelle: **%s**\nSpieler Name: **%s**\nIdentifier: **%s**\n\n**Importierte Daten**\nDatei Name: **%s**\nTür Anzahl: **%s**',
- ['webhook_message_3'] = '**Spieler Info**\nQuelle: **%s**\nSpieler Name: **%s**\nIdentifier: **%s**\n\n**Standort Gruppen Daten**\nGruppen Name: **%s**\nTür Anzahl: **%s**',
+ ['data_not_cached'] = 'Bitte versuche es in ein paar Sekunden erneut...',
+ ['camera_unavailable'] = 'Kamera nicht verfügbar. Versuche es erneut, wenn du näher an der Tür bist',
+ ['door_locked'] = 'Tür verschlossen',
+ ['door_unlocked'] = 'Tür geöffnet',
+ ['webhook_message_1'] = '**Spielerinfo**\nQuelle: **%s**\nSpielername: **%s**\nIdentifier: **%s**\n\n**Türdaten**\nStandortgruppe: **%s**\nTürname: **%s**\nTürtyp: **%s**',
+ ['webhook_message_2'] = '**Spielerinfo**\nQuelle: **%s**\nSpielername: **%s**\nIdentifier: **%s**\n\n**Importdatei**\nDateiname: **%s**\nAnzahl Türen: **%s**',
+ ['webhook_message_3'] = '**Spielerinfo**\nQuelle: **%s**\nSpielername: **%s**\nIdentifier: **%s**\n\n**Standortgruppe**\nGruppenname: **%s**\nAnzahl Türen: **%s**',
['create'] = 'Neue Tür erstellt',
['delete'] = 'Tür gelöscht',
['edit'] = 'Tür bearbeitet',
['add_import_data'] = 'Importierte Türen hinzugefügt',
- ['remove_import_data'] = 'Importierte Türen gelöscht',
- ['remove_full_locationgroup'] = 'Alle Türen für Ort gelöscht',
+ ['remove_import_data'] = 'Importierte Türen entfernt',
+ ['remove_full_locationgroup'] = 'Alle Türen der Standortgruppe entfernt',
['bot_name'] = 'Doorlock',
['waypoint_set'] = 'Wegpunkt gesetzt',
- ['command_opendoormenu'] = 'Öffne Türschloss UI',
- ['command_toggledoorlock'] = 'Benutze Türschloss',
- ['drawtextui_door_locked'] = 'Locked Press E to unlock',
- ['drawtextui_door_unlocked'] = 'Unlocked Press E to lock',
- ['draw3dtext_door_locked'] = 'Press [E] to unlock',
- ['draw3dtext_door_unlocked'] = 'Press [E] to lock',
- ['emoji_door_locked'] = '🔒',
- ['emoji_door_unlocked'] = '🔓',
- ['lockpick_door_prompt'] = 'Press [E] again to lockpick this door',
- ['doorlock'] = 'Door Lock',
- ['missing_lockpick'] = 'You are missing the required lockpick item',
- ['cant_lockpick_while_in_vehicle'] = 'Get out of the vehicle to lockpick a door',
- ['cant_lockpick_unlocked_door'] = 'This door is already unlocked',
- ['door_cant_be_lockpicked'] = 'This door cannot be lockpicked',
- ['lockdown_group'] = 'This building is currently in lockdown. All dorrs are locked!',
- ['unlockdown_group'] = 'This building is no longer in lockdown. All doors are unlocked!',
+ ['command_opendoormenu'] = 'Türschloss-UI öffnen',
+ ['command_toggledoorlock'] = 'Türschloss umschalten',
+ ['drawtextui_door_locked'] = 'Verschlossen Drücke E zum Öffnen',
+ ['drawtextui_door_unlocked'] = 'Geöffnet Drücke E zum Schließen',
+ ['draw3dtext_door_locked'] = 'Drücke [E], um zu öffnen',
+ ['draw3dtext_door_unlocked'] = 'Drücke [E], um zu schließen',
+ ['lockpick_door_prompt'] = 'Drücke [E] erneut, um diese Tür aufzubrechen',
+ ['doorlock'] = 'Türschloss',
+ ['missing_lockpick'] = 'Dir fehlt das benötigte Dietrich-Item',
+ ['cant_lockpick_while_in_vehicle'] = 'Steige aus dem Fahrzeug aus, um eine Tür aufzubrechen',
+ ['cant_lockpick_unlocked_door'] = 'Diese Tür ist bereits geöffnet',
+ ['door_cant_be_lockpicked'] = 'Diese Tür kann nicht aufgebrochen werden',
+ ['lockdown_group'] = 'Dieses Gebäude befindet sich derzeit im Lockdown. Alle Türen sind verschlossen!',
+ ['unlockdown_group'] = 'Dieses Gebäude ist nicht mehr im Lockdown. Alle Türen sind geöffnet!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['IT'] = { --italian
+ ['data_not_cached'] = 'Per favore riprova tra qualche secondo...',
+ ['camera_unavailable'] = 'Camera non disponibile. Riprova quando sei più vicino alla porta',
+ ['door_locked'] = 'Porta chiusa a chiave',
+ ['door_unlocked'] = 'Porta aperta',
+ ['webhook_message_1'] = '**Info giocatore**\nSorgente: **%s**\nNome giocatore: **%s**\nIdentificatore: **%s**\n\n**Dati porta**\nGruppo posizione: **%s**\nNome porta: **%s**\nTipo di porta: **%s**',
+ ['webhook_message_2'] = '**Info giocatore**\nSorgente: **%s**\nNome giocatore: **%s**\nIdentificatore: **%s**\n\n**Dati file di importazione**\nNome file: **%s**\nNumero di porte: **%s**',
+ ['webhook_message_3'] = '**Info giocatore**\nSorgente: **%s**\nNome giocatore: **%s**\nIdentificatore: **%s**\n\n**Dati gruppo posizione**\nNome gruppo: **%s**\nNumero di porte: **%s**',
+ ['create'] = 'Nuova porta creata',
+ ['delete'] = 'Porta eliminata',
+ ['edit'] = 'Porta modificata',
+ ['add_import_data'] = 'Porte importate aggiunte',
+ ['remove_import_data'] = 'Porte importate rimosse',
+ ['remove_full_locationgroup'] = 'Rimosse tutte le porte del gruppo posizione',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Punto di riferimento impostato',
+ ['command_opendoormenu'] = 'Apri l\'interfaccia del blocco porte',
+ ['command_toggledoorlock'] = 'Attiva/disattiva il blocco della porta',
+ ['drawtextui_door_locked'] = 'Chiusa Premi E per aprire',
+ ['drawtextui_door_unlocked'] = 'Aperta Premi E per chiudere',
+ ['draw3dtext_door_locked'] = 'Premi [E] per aprire',
+ ['draw3dtext_door_unlocked'] = 'Premi [E] per chiudere',
+ ['lockpick_door_prompt'] = 'Premi di nuovo [E] per scassinare questa porta',
+ ['doorlock'] = 'Serratura',
+ ['missing_lockpick'] = 'Ti manca l\'attrezzo da scasso richiesto',
+ ['cant_lockpick_while_in_vehicle'] = 'Scendi dal veicolo per scassinare una porta',
+ ['cant_lockpick_unlocked_door'] = 'Questa porta è già aperta',
+ ['door_cant_be_lockpicked'] = 'Questa porta non può essere scassinata',
+ ['lockdown_group'] = 'Questo edificio è attualmente in lockdown. Tutte le porte sono bloccate!',
+ ['unlockdown_group'] = 'Questo edificio non è più in lockdown. Tutte le porte sono sbloccate!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['PT'] = { --portuguese (eu)
+ ['data_not_cached'] = 'Por favor, tente novamente em alguns segundos...',
+ ['camera_unavailable'] = 'Câmara indisponível. Tente novamente quando estiver mais perto da porta',
+ ['door_locked'] = 'Porta trancada',
+ ['door_unlocked'] = 'Porta destrancada',
+ ['webhook_message_1'] = '**Informações do jogador**\nFonte: **%s**\nNome do jogador: **%s**\nIdentificador: **%s**\n\n**Dados da porta**\nGrupo de localização: **%s**\nNome da porta: **%s**\nTipo de porta: **%s**',
+ ['webhook_message_2'] = '**Informações do jogador**\nFonte: **%s**\nNome do jogador: **%s**\nIdentificador: **%s**\n\n**Dados do arquivo de importação**\nNome do arquivo: **%s**\nQuantidade de portas: **%s**',
+ ['webhook_message_3'] = '**Informações do jogador**\nFonte: **%s**\nNome do jogador: **%s**\nIdentificador: **%s**\n\n**Dados do grupo de localização**\nNome do grupo: **%s**\nQuantidade de portas: **%s**',
+ ['create'] = 'Nova porta criada',
+ ['delete'] = 'Porta excluída',
+ ['edit'] = 'Porta editada',
+ ['add_import_data'] = 'Portas importadas adicionadas',
+ ['remove_import_data'] = 'Portas importadas removidas',
+ ['remove_full_locationgroup'] = 'Removidas todas as portas do grupo de localização',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Ponto de rota definido',
+ ['command_opendoormenu'] = 'Abrir interface de bloqueio de portas',
+ ['command_toggledoorlock'] = 'Alternar bloqueio da porta',
+ ['drawtextui_door_locked'] = 'Trancada Pressione E para destrancar',
+ ['drawtextui_door_unlocked'] = 'Destrancada Pressione E para trancar',
+ ['draw3dtext_door_locked'] = 'Pressione [E] para destrancar',
+ ['draw3dtext_door_unlocked'] = 'Pressione [E] para trancar',
+ ['lockpick_door_prompt'] = 'Pressione [E] novamente para arrombar esta porta',
+ ['doorlock'] = 'Tranca da porta',
+ ['missing_lockpick'] = 'Você não tem o item de gazua necessário',
+ ['cant_lockpick_while_in_vehicle'] = 'Saia do veículo para arrombar uma porta',
+ ['cant_lockpick_unlocked_door'] = 'Esta porta já está destrancada',
+ ['door_cant_be_lockpicked'] = 'Esta porta não pode ser arrombada',
+ ['lockdown_group'] = 'Este prédio está atualmente em lockdown. Todas as portas estão trancadas!',
+ ['unlockdown_group'] = 'Este prédio não está mais em lockdown. Todas as portas estão destrancadas!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['RU'] = { --russian
+ ['data_not_cached'] = 'Пожалуйста, попробуйте ещё раз через несколько секунд...',
+ ['camera_unavailable'] = 'Камера недоступна. Попробуйте ещё раз, когда будете ближе к двери',
+ ['door_locked'] = 'Дверь закрыта',
+ ['door_unlocked'] = 'Дверь открыта',
+ ['webhook_message_1'] = '**Информация об игроке**\nИсточник: **%s**\nИмя игрока: **%s**\nИдентификатор: **%s**\n\n**Данные двери**\nГруппа локации: **%s**\nНазвание двери: **%s**\nТип двери: **%s**',
+ ['webhook_message_2'] = '**Информация об игроке**\nИсточник: **%s**\nИмя игрока: **%s**\nИдентификатор: **%s**\n\n**Данные файла импорта**\nИмя файла: **%s**\nКоличество дверей: **%s**',
+ ['webhook_message_3'] = '**Информация об игроке**\nИсточник: **%s**\nИмя игрока: **%s**\nИдентификатор: **%s**\n\n**Данные группы локации**\nНазвание группы: **%s**\nКоличество дверей: **%s**',
+ ['create'] = 'Создана новая дверь',
+ ['delete'] = 'Дверь удалена',
+ ['edit'] = 'Дверь изменена',
+ ['add_import_data'] = 'Добавлены импортированные двери',
+ ['remove_import_data'] = 'Удалены импортированные двери',
+ ['remove_full_locationgroup'] = 'Удалены все двери группы локации',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Точка маршрута установлена',
+ ['command_opendoormenu'] = 'Открыть интерфейс замка двери',
+ ['command_toggledoorlock'] = 'Переключить состояние замка двери',
+ ['drawtextui_door_locked'] = 'Закрыта Нажмите E, чтобы открыть',
+ ['drawtextui_door_unlocked'] = 'Открыта Нажмите E, чтобы закрыть',
+ ['draw3dtext_door_locked'] = 'Нажмите [E], чтобы открыть',
+ ['draw3dtext_door_unlocked'] = 'Нажмите [E], чтобы закрыть',
+ ['lockpick_door_prompt'] = 'Нажмите [E] ещё раз, чтобы взломать эту дверь',
+ ['doorlock'] = 'Замок двери',
+ ['missing_lockpick'] = 'У вас нет необходимой отмычки',
+ ['cant_lockpick_while_in_vehicle'] = 'Выйдите из транспортного средства, чтобы взломать дверь',
+ ['cant_lockpick_unlocked_door'] = 'Эта дверь уже открыта',
+ ['door_cant_be_lockpicked'] = 'Эту дверь нельзя взломать',
+ ['lockdown_group'] = 'Это здание сейчас на карантине. Все двери закрыты!',
+ ['unlockdown_group'] = 'Это здание больше не на карантине. Все двери открыты!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['TR'] = { --turkish
+ ['data_not_cached'] = 'Lütfen birkaç saniye sonra tekrar deneyin...',
+ ['camera_unavailable'] = 'Kamera kullanılamıyor. Kapıya daha yakın olduğunuzda tekrar deneyin',
+ ['door_locked'] = 'Kapı kilitli',
+ ['door_unlocked'] = 'Kapı kilidi açıldı',
+ ['webhook_message_1'] = '**Oyuncu Bilgisi**\nKaynak: **%s**\nOyuncu Adı: **%s**\nKimlik: **%s**\n\n**Kapı Verisi**\nLokasyon Grubu: **%s**\nKapı Adı: **%s**\nKapı Tipi: **%s**',
+ ['webhook_message_2'] = '**Oyuncu Bilgisi**\nKaynak: **%s**\nOyuncu Adı: **%s**\nKimlik: **%s**\n\n**İçe Aktarma Dosyası Verisi**\nDosya Adı: **%s**\nKapı Sayısı: **%s**',
+ ['webhook_message_3'] = '**Oyuncu Bilgisi**\nKaynak: **%s**\nOyuncu Adı: **%s**\nKimlik: **%s**\n\n**Lokasyon Grubu Verisi**\nGrup Adı: **%s**\nKapı Sayısı: **%s**',
+ ['create'] = 'Yeni kapı oluşturuldu',
+ ['delete'] = 'Kapı silindi',
+ ['edit'] = 'Kapı düzenlendi',
+ ['add_import_data'] = 'İçe aktarılan kapılar eklendi',
+ ['remove_import_data'] = 'İçe aktarılan kapılar kaldırıldı',
+ ['remove_full_locationgroup'] = 'Tüm lokasyon grubu kapıları kaldırıldı',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Rota işaretlendi',
+ ['command_opendoormenu'] = 'Kapı kilidi arayüzünü aç',
+ ['command_toggledoorlock'] = 'Kapı kilidini değiştir',
+ ['drawtextui_door_locked'] = 'Kilitli Açmak için E tuşuna bas',
+ ['drawtextui_door_unlocked'] = 'Kilidi Açık Kilitlemek için E tuşuna bas',
+ ['draw3dtext_door_locked'] = 'Açmak için [E] tuşuna bas',
+ ['draw3dtext_door_unlocked'] = 'Kilitlemek için [E] tuşuna bas',
+ ['lockpick_door_prompt'] = 'Bu kapıyı maymuncuklamak için [E] tuşuna tekrar bas',
+ ['doorlock'] = 'Kapı Kilidi',
+ ['missing_lockpick'] = 'Gerekli maymuncuk eşyası sende yok',
+ ['cant_lockpick_while_in_vehicle'] = 'Bir kapıyı maymuncuklamak için araçtan inmelisin',
+ ['cant_lockpick_unlocked_door'] = 'Bu kapının kilidi zaten açık',
+ ['door_cant_be_lockpicked'] = 'Bu kapı maymuncuklanamaz',
+ ['lockdown_group'] = 'Bu bina şu anda kilit altında. Tüm kapılar kilitli!',
+ ['unlockdown_group'] = 'Bu bina artık kilit altında değil. Tüm kapılar kilidi açık!',
+ ['title'] = 'Doorlock',
},
['NL'] = { --dutch
['data_not_cached'] = 'Probeer het over een paar seconden opnieuw...',
- ['camera_unavailable'] = 'Camera niet beschikbaar. Probeer het opnieuw wanneer u dichter bij de deur bent',
- ['door_locked'] = 'Deur op slot',
+ ['camera_unavailable'] = 'Camera niet beschikbaar. Probeer het opnieuw wanneer je dichter bij de deur bent',
+ ['door_locked'] = 'Deur vergrendeld',
['door_unlocked'] = 'Deur ontgrendeld',
- ['webhook_message_1'] = '**Spelerinfo**\nBron: **%s**\nSpelernaam: **%s**\nID: **%s**\n\n**Deurgegevens* *\nLocatiegroep: **%s**\nDeurnaam: **%s**\nDeurtype: **%s**',
- ['webhook_message_2'] = '**Spelerinfo**\nBron: **%s**\nSpelernaam: **%s**\nID: **%s**\n\n**Bestandsgegevens importeren **\nBestandsnaam: **%s**\nDoor Count: **%s**',
- ['webhook_message_3'] = '**Spelerinfo**\nBron: **%s**\nSpelernaam: **%s**\nID: **%s**\n\n**Locatiegroepsgegevens **\nGroepsnaam: **%s**\nAantal deuren: **%s**',
- ['create'] = 'Nieuwe deur gemaakt',
- ['delete'] = 'Delete Deur',
- ['edit'] = 'Bewerkte deur',
+ ['webhook_message_1'] = '**Spelerinfo**\nBron: **%s**\nSpelernaam: **%s**\nIdentifier: **%s**\n\n**Deurgegevens**\nLocatiegroep: **%s**\nDeurnaam: **%s**\nDeurtype: **%s**',
+ ['webhook_message_2'] = '**Spelerinfo**\nBron: **%s**\nSpelernaam: **%s**\nIdentifier: **%s**\n\n**Importbestand gegevens**\nBestandsnaam: **%s**\nAantal deuren: **%s**',
+ ['webhook_message_3'] = '**Spelerinfo**\nBron: **%s**\nSpelernaam: **%s**\nIdentifier: **%s**\n\n**Locatiegroep gegevens**\nGroepsnaam: **%s**\nAantal deuren: **%s**',
+ ['create'] = 'Nieuwe deur aangemaakt',
+ ['delete'] = 'Deur verwijderd',
+ ['edit'] = 'Deur bewerkt',
['add_import_data'] = 'Geïmporteerde deuren toegevoegd',
['remove_import_data'] = 'Geïmporteerde deuren verwijderd',
- ['remove_full_locationgroup'] = 'Volledige locatiegroepsdeuren verwijderd',
- ['bot_name'] = 'Deurslot',
- ['waypoint_set'] = 'Waypoint-set',
- ['command_opendoormenu'] = 'UI deurslot openen',
- ['command_toggledoorlock'] = 'Toogle deurslot',
+ ['remove_full_locationgroup'] = 'Alle deuren van de locatiegroep verwijderd',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Waypoint ingesteld',
+ ['command_opendoormenu'] = 'Deurvergrendelings-UI openen',
+ ['command_toggledoorlock'] = 'Deurvergrendeling schakelen',
['drawtextui_door_locked'] = 'Vergrendeld Druk op E om te ontgrendelen',
['drawtextui_door_unlocked'] = 'Ontgrendeld Druk op E om te vergrendelen',
['draw3dtext_door_locked'] = 'Druk op [E] om te ontgrendelen',
['draw3dtext_door_unlocked'] = 'Druk op [E] om te vergrendelen',
- ['emoji_door_locked'] = '🔒',
- ['emoji_door_unlocked'] = '🔓',
- ['missing_lockpick'] = 'You are missing the required lockpick item',
- ['cant_lockpick_while_in_vehicle'] = 'Get out of the vehicle to lockpick a door',
- ['cant_lockpick_unlocked_door'] = 'This door is already unlocked',
- ['door_cant_be_lockpicked'] = 'This door cannot be lockpicked',
- ['lockdown_group'] = 'This building is currently in lockdown. All dorrs are locked!',
- ['unlockdown_group'] = 'This building is no longer in lockdown. All doors are unlocked!',
+ ['lockpick_door_prompt'] = 'Druk nogmaals op [E] om deze deur open te breken',
+ ['doorlock'] = 'Deurslot',
+ ['missing_lockpick'] = 'Je mist het vereiste lockpick-item',
+ ['cant_lockpick_while_in_vehicle'] = 'Stap uit het voertuig om een deur open te breken',
+ ['cant_lockpick_unlocked_door'] = 'Deze deur is al ontgrendeld',
+ ['door_cant_be_lockpicked'] = 'Deze deur kan niet worden opengebroken',
+ ['lockdown_group'] = 'Dit gebouw is momenteel in lockdown. Alle deuren zijn vergrendeld!',
+ ['unlockdown_group'] = 'Dit gebouw is niet langer in lockdown. Alle deuren zijn ontgrendeld!',
+ ['title'] = 'Doorlock',
},
-}
+
+ ['PL'] = { --polish
+ ['data_not_cached'] = 'Spróbuj ponownie za kilka sekund...',
+ ['camera_unavailable'] = 'Kamera niedostępna. Spróbuj ponownie, gdy będziesz bliżej drzwi',
+ ['door_locked'] = 'Drzwi zamknięte',
+ ['door_unlocked'] = 'Drzwi otwarte',
+ ['webhook_message_1'] = '**Informacje o graczu**\nŹródło: **%s**\nNazwa gracza: **%s**\nIdentyfikator: **%s**\n\n**Dane drzwi**\nGrupa lokalizacji: **%s**\nNazwa drzwi: **%s**\nTyp drzwi: **%s**',
+ ['webhook_message_2'] = '**Informacje o graczu**\nŹródło: **%s**\nNazwa gracza: **%s**\nIdentyfikator: **%s**\n\n**Dane pliku importu**\nNazwa pliku: **%s**\nLiczba drzwi: **%s**',
+ ['webhook_message_3'] = '**Informacje o graczu**\nŹródło: **%s**\nNazwa gracza: **%s**\nIdentyfikator: **%s**\n\n**Dane grupy lokalizacji**\nNazwa grupy: **%s**\nLiczba drzwi: **%s**',
+ ['create'] = 'Utworzono nowe drzwi',
+ ['delete'] = 'Drzwi usunięte',
+ ['edit'] = 'Drzwi edytowane',
+ ['add_import_data'] = 'Dodano zaimportowane drzwi',
+ ['remove_import_data'] = 'Usunięto zaimportowane drzwi',
+ ['remove_full_locationgroup'] = 'Usunięto wszystkie drzwi z grupy lokalizacji',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Punkt nawigacyjny ustawiony',
+ ['command_opendoormenu'] = 'Otwórz interfejs zamka drzwi',
+ ['command_toggledoorlock'] = 'Przełącz zamek drzwi',
+ ['drawtextui_door_locked'] = 'Zamknięte Naciśnij E, aby otworzyć',
+ ['drawtextui_door_unlocked'] = 'Otwarte Naciśnij E, aby zamknąć',
+ ['draw3dtext_door_locked'] = 'Naciśnij [E], aby otworzyć',
+ ['draw3dtext_door_unlocked'] = 'Naciśnij [E], aby zamknąć',
+ ['lockpick_door_prompt'] = 'Naciśnij ponownie [E], aby wyłamać te drzwi',
+ ['doorlock'] = 'Zamek drzwi',
+ ['missing_lockpick'] = 'Brakuje wymaganego wytrychu',
+ ['cant_lockpick_while_in_vehicle'] = 'Wyjdź z pojazdu, aby wyłamać drzwi',
+ ['cant_lockpick_unlocked_door'] = 'Te drzwi są już otwarte',
+ ['door_cant_be_lockpicked'] = 'Tych drzwi nie można wyłamać',
+ ['lockdown_group'] = 'Ten budynek jest obecnie w lockdownie. Wszystkie drzwi są zamknięte!',
+ ['unlockdown_group'] = 'Ten budynek nie jest już w lockdownie. Wszystkie drzwi są otwarte!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['ZH'] = { --chinese (simplified)
+ ['data_not_cached'] = '请在几秒钟后重试...',
+ ['camera_unavailable'] = '摄像头不可用。请在靠近门一点时再试',
+ ['door_locked'] = '门已上锁',
+ ['door_unlocked'] = '门已解锁',
+ ['webhook_message_1'] = '**玩家信息**\n来源: **%s**\n玩家名称: **%s**\n标识符: **%s**\n\n**门数据**\n位置组: **%s**\n门名称: **%s**\n门类型: **%s**',
+ ['webhook_message_2'] = '**玩家信息**\n来源: **%s**\n玩家名称: **%s**\n标识符: **%s**\n\n**导入文件数据**\n文件名: **%s**\n门数量: **%s**',
+ ['webhook_message_3'] = '**玩家信息**\n来源: **%s**\n玩家名称: **%s**\n标识符: **%s**\n\n**位置组数据**\n组名: **%s**\n门数量: **%s**',
+ ['create'] = '已创建新门',
+ ['delete'] = '已删除门',
+ ['edit'] = '已编辑门',
+ ['add_import_data'] = '已添加导入的门',
+ ['remove_import_data'] = '已移除导入的门',
+ ['remove_full_locationgroup'] = '已移除位置组中的所有门',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = '已设置路径点',
+ ['command_opendoormenu'] = '打开门锁界面',
+ ['command_toggledoorlock'] = '切换门锁',
+ ['drawtextui_door_locked'] = '已上锁 按 E 解锁',
+ ['drawtextui_door_unlocked'] = '未上锁 按 E 上锁',
+ ['draw3dtext_door_locked'] = '按 [E] 解锁',
+ ['draw3dtext_door_unlocked'] = '按 [E] 上锁',
+ ['lockpick_door_prompt'] = '再次按 [E] 撬锁此门',
+ ['doorlock'] = '门锁',
+ ['missing_lockpick'] = '你缺少所需的撬锁工具',
+ ['cant_lockpick_while_in_vehicle'] = '请先下车再撬锁门',
+ ['cant_lockpick_unlocked_door'] = '这扇门已经解锁',
+ ['door_cant_be_lockpicked'] = '这扇门无法被撬锁',
+ ['lockdown_group'] = '此建筑当前处于封锁状态。所有门已上锁!',
+ ['unlockdown_group'] = '此建筑已解除封锁。所有门已解锁!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['JA'] = { --japanese
+ ['data_not_cached'] = '数秒後にもう一度お試しください...',
+ ['camera_unavailable'] = 'カメラは使用できません。ドアに近づいてから再度お試しください',
+ ['door_locked'] = 'ドアが施錠されました',
+ ['door_unlocked'] = 'ドアの施錠が解除されました',
+ ['webhook_message_1'] = '**プレイヤー情報**\nソース: **%s**\nプレイヤー名: **%s**\n識別子: **%s**\n\n**ドア情報**\nロケーショングループ: **%s**\nドア名: **%s**\nドアタイプ: **%s**',
+ ['webhook_message_2'] = '**プレイヤー情報**\nソース: **%s**\nプレイヤー名: **%s**\n識別子: **%s**\n\n**インポートファイル情報**\nファイル名: **%s**\nドア数: **%s**',
+ ['webhook_message_3'] = '**プレイヤー情報**\nソース: **%s**\nプレイヤー名: **%s**\n識別子: **%s**\n\n**ロケーショングループ情報**\nグループ名: **%s**\nドア数: **%s**',
+ ['create'] = '新しいドアを作成しました',
+ ['delete'] = 'ドアを削除しました',
+ ['edit'] = 'ドアを編集しました',
+ ['add_import_data'] = 'インポートされたドアを追加しました',
+ ['remove_import_data'] = 'インポートされたドアを削除しました',
+ ['remove_full_locationgroup'] = 'ロケーショングループ内のすべてのドアを削除しました',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'ウェイポイントを設定しました',
+ ['command_opendoormenu'] = 'ドアロックUIを開く',
+ ['command_toggledoorlock'] = 'ドアロックを切り替える',
+ ['drawtextui_door_locked'] = '施錠中 Eを押して解除',
+ ['drawtextui_door_unlocked'] = '解錠中 Eを押して施錠',
+ ['draw3dtext_door_locked'] = '[E]を押して解除',
+ ['draw3dtext_door_unlocked'] = '[E]を押して施錠',
+ ['lockpick_door_prompt'] = 'このドアをピッキングするにはもう一度[E]を押してください',
+ ['doorlock'] = 'ドアロック',
+ ['missing_lockpick'] = '必要なピッキングツールを所持していません',
+ ['cant_lockpick_while_in_vehicle'] = 'ドアをピッキングするには車両から降りてください',
+ ['cant_lockpick_unlocked_door'] = 'このドアはすでに解錠されています',
+ ['door_cant_be_lockpicked'] = 'このドアはピッキングできません',
+ ['lockdown_group'] = 'この建物は現在ロックダウン中です。すべてのドアが施錠されています!',
+ ['unlockdown_group'] = 'この建物はロックダウン解除されました。すべてのドアが解錠されています!',
+ ['title'] = 'Doorlock',
+ },
+
+ -- NEW ONES BELOW --
+
+ ['PT-BR'] = { --brazilian portuguese
+ ['data_not_cached'] = 'Por favor, tente novamente em alguns segundos...',
+ ['camera_unavailable'] = 'Câmera indisponível. Tente novamente quando estiver mais perto da porta',
+ ['door_locked'] = 'Porta trancada',
+ ['door_unlocked'] = 'Porta destrancada',
+ ['webhook_message_1'] = '**Informações do jogador**\nFonte: **%s**\nNome do jogador: **%s**\nIdentificador: **%s**\n\n**Dados da porta**\nGrupo de localização: **%s**\nNome da porta: **%s**\nTipo de porta: **%s**',
+ ['webhook_message_2'] = '**Informações do jogador**\nFonte: **%s**\nNome do jogador: **%s**\nIdentificador: **%s**\n\n**Dados do arquivo de importação**\nNome do arquivo: **%s**\nQuantidade de portas: **%s**',
+ ['webhook_message_3'] = '**Informações do jogador**\nFonte: **%s**\nNome do jogador: **%s**\nIdentificador: **%s**\n\n**Dados do grupo de localização**\nNome do grupo: **%s**\nQuantidade de portas: **%s**',
+ ['create'] = 'Nova porta criada',
+ ['delete'] = 'Porta removida',
+ ['edit'] = 'Porta editada',
+ ['add_import_data'] = 'Portas importadas adicionadas',
+ ['remove_import_data'] = 'Portas importadas removidas',
+ ['remove_full_locationgroup'] = 'Todas as portas do grupo de localização foram removidas',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Ponto de rota definido',
+ ['command_opendoormenu'] = 'Abrir interface de bloqueio de portas',
+ ['command_toggledoorlock'] = 'Alternar bloqueio da porta',
+ ['drawtextui_door_locked'] = 'Trancada Aperte E para destrancar',
+ ['drawtextui_door_unlocked'] = 'Destrancada Aperte E para trancar',
+ ['draw3dtext_door_locked'] = 'Aperte [E] para destrancar',
+ ['draw3dtext_door_unlocked'] = 'Aperte [E] para trancar',
+ ['lockpick_door_prompt'] = 'Aperte [E] novamente para arrombar esta porta',
+ ['doorlock'] = 'Tranca da porta',
+ ['missing_lockpick'] = 'Você não tem o item de gazua necessário',
+ ['cant_lockpick_while_in_vehicle'] = 'Saia do veículo para arrombar uma porta',
+ ['cant_lockpick_unlocked_door'] = 'Esta porta já está destrancada',
+ ['door_cant_be_lockpicked'] = 'Esta porta não pode ser arrombada',
+ ['lockdown_group'] = 'Este prédio está em lockdown. Todas as portas estão trancadas!',
+ ['unlockdown_group'] = 'Este prédio não está mais em lockdown. Todas as portas estão destrancadas!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['AR'] = { --arabic
+ ['data_not_cached'] = 'الرجاء المحاولة مرة أخرى بعد بضع ثوانٍ...',
+ ['camera_unavailable'] = 'الكاميرا غير متاحة. جرّب مرة أخرى عندما تكون أقرب إلى الباب',
+ ['door_locked'] = 'تم قفل الباب',
+ ['door_unlocked'] = 'تم فتح قفل الباب',
+ ['webhook_message_1'] = '**معلومات اللاعب**\nالمصدر: **%s**\nاسم اللاعب: **%s**\nالمعرّف: **%s**\n\n**بيانات الباب**\nمجموعة الموقع: **%s**\nاسم الباب: **%s**\nنوع الباب: **%s**',
+ ['webhook_message_2'] = '**معلومات اللاعب**\nالمصدر: **%s**\nاسم اللاعب: **%s**\nالمعرّف: **%s**\n\n**بيانات ملف الاستيراد**\nاسم الملف: **%s**\nعدد الأبواب: **%s**',
+ ['webhook_message_3'] = '**معلومات اللاعب**\nالمصدر: **%s**\nاسم اللاعب: **%s**\nالمعرّف: **%s**\n\n**بيانات مجموعة الموقع**\nاسم المجموعة: **%s**\nعدد الأبواب: **%s**',
+ ['create'] = 'تم إنشاء باب جديد',
+ ['delete'] = 'تم حذف الباب',
+ ['edit'] = 'تم تعديل الباب',
+ ['add_import_data'] = 'تمت إضافة الأبواب المستوردة',
+ ['remove_import_data'] = 'تمت إزالة الأبواب المستوردة',
+ ['remove_full_locationgroup'] = 'تمت إزالة جميع الأبواب في مجموعة الموقع',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'تم تعيين نقطة الطريق',
+ ['command_opendoormenu'] = 'فتح واجهة قفل الباب',
+ ['command_toggledoorlock'] = 'تبديل حالة قفل الباب',
+ ['drawtextui_door_locked'] = 'مقفول اضغط E للفتح',
+ ['drawtextui_door_unlocked'] = 'مفتوح اضغط E للإقفال',
+ ['draw3dtext_door_locked'] = 'اضغط [E] للفتح',
+ ['draw3dtext_door_unlocked'] = 'اضغط [E] للإقفال',
+ ['lockpick_door_prompt'] = 'اضغط [E] مرة أخرى لفتح هذا الباب بالأدوات',
+ ['doorlock'] = 'قفل الباب',
+ ['missing_lockpick'] = 'تفتقد أداة فتح الأقفال المطلوبة',
+ ['cant_lockpick_while_in_vehicle'] = 'انزل من المركبة لفتح الباب بالأدوات',
+ ['cant_lockpick_unlocked_door'] = 'هذا الباب مفتوح بالفعل',
+ ['door_cant_be_lockpicked'] = 'لا يمكن فتح هذا الباب بالأدوات',
+ ['lockdown_group'] = 'هذا المبنى حالياً في حالة إغلاق كامل. جميع الأبواب مقفلة!',
+ ['unlockdown_group'] = 'هذا المبنى لم يعد في حالة إغلاق. جميع الأبواب مفتوحة!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['UA'] = { --ukrainian
+ ['data_not_cached'] = 'Будь ласка, спробуйте ще раз за кілька секунд...',
+ ['camera_unavailable'] = 'Камера недоступна. Спробуйте ще раз, коли будете ближче до дверей',
+ ['door_locked'] = 'Двері зачинені',
+ ['door_unlocked'] = 'Двері відчинені',
+ ['webhook_message_1'] = '**Інформація про гравця**\nДжерело: **%s**\nІм\'я гравця: **%s**\nІдентифікатор: **%s**\n\n**Дані дверей**\nГрупа локації: **%s**\nНазва дверей: **%s**\nТип дверей: **%s**',
+ ['webhook_message_2'] = '**Інформація про гравця**\nДжерело: **%s**\nІм\'я гравця: **%s**\nІдентифікатор: **%s**\n\n**Дані файлу імпорту**\nНазва файлу: **%s**\nКількість дверей: **%s**',
+ ['webhook_message_3'] = '**Інформація про гравця**\nДжерело: **%s**\nІм\'я гравця: **%s**\nІдентифікатор: **%s**\n\n**Дані групи локації**\nНазва групи: **%s**\nКількість дверей: **%s**',
+ ['create'] = 'Створено нові двері',
+ ['delete'] = 'Двері видалено',
+ ['edit'] = 'Двері змінено',
+ ['add_import_data'] = 'Додано імпортовані двері',
+ ['remove_import_data'] = 'Видалено імпортовані двері',
+ ['remove_full_locationgroup'] = 'Видалено всі двері групи локації',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Точку маршруту встановлено',
+ ['command_opendoormenu'] = 'Відкрити інтерфейс замка дверей',
+ ['command_toggledoorlock'] = 'Перемкнути стан замка дверей',
+ ['drawtextui_door_locked'] = 'Зачинено Натисніть E, щоб відчинити',
+ ['drawtextui_door_unlocked'] = 'Відчинено Натисніть E, щоб зачинити',
+ ['draw3dtext_door_locked'] = 'Натисніть [E], щоб відчинити',
+ ['draw3dtext_door_unlocked'] = 'Натисніть [E], щоб зачинити',
+ ['lockpick_door_prompt'] = 'Натисніть [E] ще раз, щоб зламати ці двері',
+ ['doorlock'] = 'Замок дверей',
+ ['missing_lockpick'] = 'У вас немає потрібної відмички',
+ ['cant_lockpick_while_in_vehicle'] = 'Щоб зламати двері, вийдіть з транспортного засобу',
+ ['cant_lockpick_unlocked_door'] = 'Ці двері вже відчинені',
+ ['door_cant_be_lockpicked'] = 'Ці двері не можна зламати',
+ ['lockdown_group'] = 'Ця будівля зараз на карантині. Усі двері зачинені!',
+ ['unlockdown_group'] = 'Ця будівля більше не на карантині. Усі двері відчинені!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['CZ'] = { --czech
+ ['data_not_cached'] = 'Zkuste to prosím znovu za několik sekund...',
+ ['camera_unavailable'] = 'Kamera není k dispozici. Zkuste to znovu, až budete blíže u dveří',
+ ['door_locked'] = 'Dveře zamčené',
+ ['door_unlocked'] = 'Dveře odemčené',
+ ['webhook_message_1'] = '**Informace o hráči**\nZdroj: **%s**\nJméno hráče: **%s**\nIdentifikátor: **%s**\n\n**Data dveří**\nSkupina lokace: **%s**\nNázev dveří: **%s**\nTyp dveří: **%s**',
+ ['webhook_message_2'] = '**Informace o hráči**\nZdroj: **%s**\nJméno hráče: **%s**\nIdentifikátor: **%s**\n\n**Data importovaného souboru**\nNázev souboru: **%s**\nPočet dveří: **%s**',
+ ['webhook_message_3'] = '**Informace o hráči**\nZdroj: **%s**\nJméno hráče: **%s**\nIdentifikátor: **%s**\n\n**Data skupiny lokace**\nNázev skupiny: **%s**\nPočet dveří: **%s**',
+ ['create'] = 'Vytvořeny nové dveře',
+ ['delete'] = 'Dveře odstraněny',
+ ['edit'] = 'Dveře upraveny',
+ ['add_import_data'] = 'Přidány importované dveře',
+ ['remove_import_data'] = 'Odstraněny importované dveře',
+ ['remove_full_locationgroup'] = 'Odstraněny všechny dveře ve skupině lokace',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Waypoint nastaven',
+ ['command_opendoormenu'] = 'Otevřít rozhraní zámku dveří',
+ ['command_toggledoorlock'] = 'Přepnout zámek dveří',
+ ['drawtextui_door_locked'] = 'Zamčeno Stiskni E pro odemčení',
+ ['drawtextui_door_unlocked'] = 'Odemčeno Stiskni E pro zamčení',
+ ['draw3dtext_door_locked'] = 'Stiskni [E] pro odemčení',
+ ['draw3dtext_door_unlocked'] = 'Stiskni [E] pro zamčení',
+ ['lockpick_door_prompt'] = 'Stiskni znovu [E], abys vypáčil tyto dveře',
+ ['doorlock'] = 'Zámek dveří',
+ ['missing_lockpick'] = 'Chybí ti potřebný paklíč',
+ ['cant_lockpick_while_in_vehicle'] = 'Pro vypáčení dveří musíš vystoupit z vozidla',
+ ['cant_lockpick_unlocked_door'] = 'Tyto dveře jsou již odemčené',
+ ['door_cant_be_lockpicked'] = 'Tyto dveře nelze vypáčit',
+ ['lockdown_group'] = 'Tato budova je momentálně v lockdownu. Všechny dveře jsou zamčené!',
+ ['unlockdown_group'] = 'Tato budova již není v lockdownu. Všechny dveře jsou odemčené!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['DK'] = { --danish
+ ['data_not_cached'] = 'Prøv igen om et par sekunder...',
+ ['camera_unavailable'] = 'Kamera er ikke tilgængeligt. Prøv igen, når du er tættere på døren',
+ ['door_locked'] = 'Dør låst',
+ ['door_unlocked'] = 'Dør låst op',
+ ['webhook_message_1'] = '**Spillerinfo**\nKilde: **%s**\nSpillernavn: **%s**\nIdentifikator: **%s**\n\n**Dørdata**\nLokationsgruppe: **%s**\nDørnavn: **%s**\nDørtype: **%s**',
+ ['webhook_message_2'] = '**Spillerinfo**\nKilde: **%s**\nSpillernavn: **%s**\nIdentifikator: **%s**\n\n**Importfil data**\nFilnavn: **%s**\nAntal døre: **%s**',
+ ['webhook_message_3'] = '**Spillerinfo**\nKilde: **%s**\nSpillernavn: **%s**\nIdentifikator: **%s**\n\n**Lokationsgruppe data**\nGruppenavn: **%s**\nAntal døre: **%s**',
+ ['create'] = 'Ny dør oprettet',
+ ['delete'] = 'Dør slettet',
+ ['edit'] = 'Dør redigeret',
+ ['add_import_data'] = 'Importerede døre tilføjet',
+ ['remove_import_data'] = 'Importerede døre fjernet',
+ ['remove_full_locationgroup'] = 'Alle døre i lokationsgruppen fjernet',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Waypoint sat',
+ ['command_opendoormenu'] = 'Åbn dørlåse-UI',
+ ['command_toggledoorlock'] = 'Skift dørlås',
+ ['drawtextui_door_locked'] = 'Låst Tryk E for at låse op',
+ ['drawtextui_door_unlocked'] = 'Ulåst Tryk E for at låse',
+ ['draw3dtext_door_locked'] = 'Tryk [E] for at låse op',
+ ['draw3dtext_door_unlocked'] = 'Tryk [E] for at låse',
+ ['lockpick_door_prompt'] = 'Tryk [E] igen for at dirke denne dør op',
+ ['doorlock'] = 'Dørlås',
+ ['missing_lockpick'] = 'Du mangler det krævede dirkeværktøj',
+ ['cant_lockpick_while_in_vehicle'] = 'Stig ud af køretøjet for at dirke en dør op',
+ ['cant_lockpick_unlocked_door'] = 'Denne dør er allerede ulåst',
+ ['door_cant_be_lockpicked'] = 'Denne dør kan ikke dirkes op',
+ ['lockdown_group'] = 'Denne bygning er i lockdown. Alle døre er låst!',
+ ['unlockdown_group'] = 'Denne bygning er ikke længere i lockdown. Alle døre er ulåste!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['SE'] = { --swedish
+ ['data_not_cached'] = 'Försök igen om några sekunder...',
+ ['camera_unavailable'] = 'Kameran är otillgänglig. Försök igen när du är närmare dörren',
+ ['door_locked'] = 'Dörr låst',
+ ['door_unlocked'] = 'Dörr upplåst',
+ ['webhook_message_1'] = '**Spelarinformation**\nKälla: **%s**\nSpelarnamn: **%s**\nIdentifierare: **%s**\n\n**Dörrdata**\nPlatsgrupp: **%s**\nDörrnamn: **%s**\nDörrtyp: **%s**',
+ ['webhook_message_2'] = '**Spelarinformation**\nKälla: **%s**\nSpelarnamn: **%s**\nIdentifierare: **%s**\n\n**Importfil data**\nFilnamn: **%s**\nAntal dörrar: **%s**',
+ ['webhook_message_3'] = '**Spelarinformation**\nKälla: **%s**\nSpelarnamn: **%s**\nIdentifierare: **%s**\n\n**Platsgrupp data**\nGruppnamn: **%s**\nAntal dörrar: **%s**',
+ ['create'] = 'Ny dörr skapad',
+ ['delete'] = 'Dörr raderad',
+ ['edit'] = 'Dörr redigerad',
+ ['add_import_data'] = 'Importerade dörrar tillagda',
+ ['remove_import_data'] = 'Importerade dörrar borttagna',
+ ['remove_full_locationgroup'] = 'Alla dörrar i platsgruppen borttagna',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Waypoint satt',
+ ['command_opendoormenu'] = 'Öppna dörrlås-UI',
+ ['command_toggledoorlock'] = 'Växla dörrlås',
+ ['drawtextui_door_locked'] = 'Låst Tryck E för att låsa upp',
+ ['drawtextui_door_unlocked'] = 'Upplåst Tryck E för att låsa',
+ ['draw3dtext_door_locked'] = 'Tryck [E] för att låsa upp',
+ ['draw3dtext_door_unlocked'] = 'Tryck [E] för att låsa',
+ ['lockpick_door_prompt'] = 'Tryck [E] igen för att dyrka upp denna dörr',
+ ['doorlock'] = 'Dörrlås',
+ ['missing_lockpick'] = 'Du saknar det nödvändiga dyrkverktyget',
+ ['cant_lockpick_while_in_vehicle'] = 'Kliv ur fordonet för att dyrka upp en dörr',
+ ['cant_lockpick_unlocked_door'] = 'Denna dörr är redan upplåst',
+ ['door_cant_be_lockpicked'] = 'Denna dörr kan inte dyrkas upp',
+ ['lockdown_group'] = 'Denna byggnad är för närvarande i lockdown. Alla dörrar är låsta!',
+ ['unlockdown_group'] = 'Denna byggnad är inte längre i lockdown. Alla dörrar är upplåsta!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['NO'] = { --norwegian
+ ['data_not_cached'] = 'Prøv igjen om noen sekunder...',
+ ['camera_unavailable'] = 'Kamera utilgjengelig. Prøv igjen når du er nærmere døren',
+ ['door_locked'] = 'Dør låst',
+ ['door_unlocked'] = 'Dør låst opp',
+ ['webhook_message_1'] = '**Spillerinfo**\nKilde: **%s**\nSpillernavn: **%s**\nIdentifikator: **%s**\n\n**Dørdata**\nLokasjonsgruppe: **%s**\nDørnavn: **%s**\nDørtype: **%s**',
+ ['webhook_message_2'] = '**Spillerinfo**\nKilde: **%s**\nSpillernavn: **%s**\nIdentifikator: **%s**\n\n**Importfil data**\nFilnavn: **%s**\nAntall dører: **%s**',
+ ['webhook_message_3'] = '**Spillerinfo**\nKilde: **%s**\nSpillernavn: **%s**\nIdentifikator: **%s**\n\n**Lokasjonsgruppe data**\nGruppenavn: **%s**\nAntall dører: **%s**',
+ ['create'] = 'Ny dør opprettet',
+ ['delete'] = 'Dør slettet',
+ ['edit'] = 'Dør redigert',
+ ['add_import_data'] = 'Importerte dører lagt til',
+ ['remove_import_data'] = 'Importerte dører fjernet',
+ ['remove_full_locationgroup'] = 'Alle dører i lokasjonsgruppen fjernet',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'Veipunkt satt',
+ ['command_opendoormenu'] = 'Åpne dørlås-UI',
+ ['command_toggledoorlock'] = 'Bytt dørlås',
+ ['drawtextui_door_locked'] = 'Låst Trykk E for å låse opp',
+ ['drawtextui_door_unlocked'] = 'Ulåst Trykk E for å låse',
+ ['draw3dtext_door_locked'] = 'Trykk [E] for å låse opp',
+ ['draw3dtext_door_unlocked'] = 'Trykk [E] for å låse',
+ ['lockpick_door_prompt'] = 'Trykk [E] igjen for å dirke opp denne døren',
+ ['doorlock'] = 'Dørlås',
+ ['missing_lockpick'] = 'Du mangler nødvendig dirkeverktøy',
+ ['cant_lockpick_while_in_vehicle'] = 'Gå ut av kjøretøyet for å dirke opp en dør',
+ ['cant_lockpick_unlocked_door'] = 'Denne døren er allerede ulåst',
+ ['door_cant_be_lockpicked'] = 'Denne døren kan ikke dirkes opp',
+ ['lockdown_group'] = 'Denne bygningen er for øyeblikket i lockdown. Alle dører er låst!',
+ ['unlockdown_group'] = 'Denne bygningen er ikke lenger i lockdown. Alle dører er ulåste!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['KR'] = { --korean
+ ['data_not_cached'] = '몇 초 후에 다시 시도해주세요...',
+ ['camera_unavailable'] = '카메라를 사용할 수 없습니다. 문에 더 가까이 갔을 때 다시 시도하세요',
+ ['door_locked'] = '문이 잠겼습니다',
+ ['door_unlocked'] = '문이 열렸습니다',
+ ['webhook_message_1'] = '**플레이어 정보**\n소스: **%s**\n플레이어 이름: **%s**\n식별자: **%s**\n\n**문 데이터**\n위치 그룹: **%s**\n문 이름: **%s**\n문 타입: **%s**',
+ ['webhook_message_2'] = '**플레이어 정보**\n소스: **%s**\n플레이어 이름: **%s**\n식별자: **%s**\n\n**가져오기 파일 데이터**\n파일 이름: **%s**\n문 개수: **%s**',
+ ['webhook_message_3'] = '**플레이어 정보**\n소스: **%s**\n플레이어 이름: **%s**\n식별자: **%s**\n\n**위치 그룹 데이터**\n그룹 이름: **%s**\n문 개수: **%s**',
+ ['create'] = '새 문이 생성되었습니다',
+ ['delete'] = '문이 삭제되었습니다',
+ ['edit'] = '문이 수정되었습니다',
+ ['add_import_data'] = '가져온 문이 추가되었습니다',
+ ['remove_import_data'] = '가져온 문이 제거되었습니다',
+ ['remove_full_locationgroup'] = '위치 그룹의 모든 문이 제거되었습니다',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = '웨이포인트가 설정되었습니다',
+ ['command_opendoormenu'] = '도어락 UI 열기',
+ ['command_toggledoorlock'] = '도어락 상태 전환',
+ ['drawtextui_door_locked'] = '잠김 E를 눌러 해제',
+ ['drawtextui_door_unlocked'] = '열림 E를 눌러 잠그기',
+ ['draw3dtext_door_locked'] = '[E]를 눌러 해제',
+ ['draw3dtext_door_unlocked'] = '[E]를 눌러 잠그기',
+ ['lockpick_door_prompt'] = '이 문을 따기 위해 [E]를 한 번 더 누르세요',
+ ['doorlock'] = '도어락',
+ ['missing_lockpick'] = '필요한 락픽 아이템이 없습니다',
+ ['cant_lockpick_while_in_vehicle'] = '문을 따려면 차량에서 내려야 합니다',
+ ['cant_lockpick_unlocked_door'] = '이 문은 이미 열려 있습니다',
+ ['door_cant_be_lockpicked'] = '이 문은 락픽으로 열 수 없습니다',
+ ['lockdown_group'] = '이 건물은 현재 봉쇄 상태입니다. 모든 문이 잠겨 있습니다!',
+ ['unlockdown_group'] = '이 건물은 더 이상 봉쇄 상태가 아닙니다. 모든 문이 열려 있습니다!',
+ ['title'] = 'Doorlock',
+ },
+
+ ['HI'] = { --hindi
+ ['data_not_cached'] = 'कृपया कुछ सेकंड बाद फिर से प्रयास करें...',
+ ['camera_unavailable'] = 'कैमरा उपलब्ध नहीं है। जब आप दरवाज़े के पास हों तब फिर से प्रयास करें',
+ ['door_locked'] = 'दरवाज़ा बंद है',
+ ['door_unlocked'] = 'दरवाज़ा खुला है',
+ ['webhook_message_1'] = '**खिलाड़ी जानकारी**\nस्रोत: **%s**\nखिलाड़ी का नाम: **%s**\nपहचान: **%s**\n\n**दरवाज़ा डेटा**\nस्थान समूह: **%s**\nदरवाज़ा नाम: **%s**\nदरवाज़ा प्रकार: **%s**',
+ ['webhook_message_2'] = '**खिलाड़ी जानकारी**\nस्रोत: **%s**\nखिलाड़ी का नाम: **%s**\nपहचान: **%s**\n\n**आयात फ़ाइल डेटा**\nफ़ाइल नाम: **%s**\nदरवाज़ों की संख्या: **%s**',
+ ['webhook_message_3'] = '**खिलाड़ी जानकारी**\nस्रोत: **%s**\nखिलाड़ी का नाम: **%s**\nपहचान: **%s**\n\n**स्थान समूह डेटा**\nसमूह नाम: **%s**\nदरवाज़ों की संख्या: **%s**',
+ ['create'] = 'नया दरवाज़ा बनाया गया',
+ ['delete'] = 'दरवाज़ा हटाया गया',
+ ['edit'] = 'दरवाज़ा संपादित किया गया',
+ ['add_import_data'] = 'आयात किए गए दरवाज़े जोड़े गए',
+ ['remove_import_data'] = 'आयात किए गए दरवाज़े हटाए गए',
+ ['remove_full_locationgroup'] = 'स्थान समूह के सभी दरवाज़े हटाए गए',
+ ['bot_name'] = 'Doorlock',
+ ['waypoint_set'] = 'वेपॉइंट सेट किया गया',
+ ['command_opendoormenu'] = 'दरवाज़ा लॉक UI खोलें',
+ ['command_toggledoorlock'] = 'दरवाज़ा लॉक टॉगल करें',
+ ['drawtextui_door_locked'] = 'बंद खोलने के लिए E दबाएँ',
+ ['drawtextui_door_unlocked'] = 'खुला बंद करने के लिए E दबाएँ',
+ ['draw3dtext_door_locked'] = 'खोलने के लिए [E] दबाएँ',
+ ['draw3dtext_door_unlocked'] = 'बंद करने के लिए [E] दबाएँ',
+ ['lockpick_door_prompt'] = 'इस दरवाज़े को लॉकपिक करने के लिए [E] फिर से दबाएँ',
+ ['doorlock'] = 'दरवाज़ा लॉक',
+ ['missing_lockpick'] = 'आपके पास आवश्यक लॉकपिक आइटम नहीं है',
+ ['cant_lockpick_while_in_vehicle'] = 'दरवाज़ा लॉकपिक करने के लिए वाहन से बाहर निकलें',
+ ['cant_lockpick_unlocked_door'] = 'यह दरवाज़ा पहले से खुला है',
+ ['door_cant_be_lockpicked'] = 'इस दरवाज़े को लॉकपिक नहीं किया जा सकता',
+ ['lockdown_group'] = 'यह इमारत वर्तमान में लॉकडाउन में है। सभी दरवाज़े बंद हैं!',
+ ['unlockdown_group'] = 'यह इमारत अब लॉकडाउन में नहीं है। सभी दरवाज़े खुले हैं!',
+ ['title'] = 'Doorlock',
+ },
+}
\ No newline at end of file
diff --git a/resources/cd_doorlock/configs/locales_ui.js b/resources/cd_doorlock/configs/locales_ui.js
index c5cb0a3c6..d8ad34703 100644
--- a/resources/cd_doorlock/configs/locales_ui.js
+++ b/resources/cd_doorlock/configs/locales_ui.js
@@ -1,7 +1,7 @@
window['locales'] = {
main: {
info: "Door management",
- version: "Doorlock 1.1.0",
+ version: "Doorlock 2.1.14",
logo: ``,
alerts: {
@@ -52,6 +52,7 @@ window['locales'] = {
door_created: "Door successfully created.",
},
+ creating: "Creating",
state_editing: "Editing",
state_create: "Create a door",
@@ -98,7 +99,8 @@ window['locales'] = {
identifier: "The identifier(s) of people which can access the door controls.",
ace: "The ace identifier which will be allowed to access the door.",
discord: "The discord role ID which will be allowed to access the door",
- sound: "The sound which will be played when a door is locked and unlocked.",
+ sound: "The sound which will be played when a door is locked",
+ sound_unlock: "The sound which will be played when a door is unlocked.",
sound_select: "Select the sound file",
locked: "The default state of the door. Ticked = locked",
lockpick: "Enables or disabled lockpicking. Ticket = enabled",
@@ -107,7 +109,10 @@ window['locales'] = {
passcode: "A passcode which will be used to unlock the door. If there is no passcode set the door will not require it.",
distance: "The distance at which the door will become usable.",
autolock: "The amount of time in seconds after which the door will automatically lock.",
- item: "The name of the item which will be allowed to open the door"
+ item_management: "Manage items which can be used to open this door.",
+ keep_open: "If checked it will keep the door open if unlocked.",
+ item: "The item name which will be used to open the door.",
+ item_placeholder: "eg. keycard",
},
door_name: "Name",
@@ -119,7 +124,8 @@ window['locales'] = {
ace_placeholder: "doorlock.police",
discord: "Discord",
discord_placeholder: "779469416273281035",
- sound: "Sound",
+ sound: "Lock sound",
+ sound_unlock: "Unlock sound",
locked: "Locked",
lockpick: "Lockpick",
secret: "Secret",
@@ -128,10 +134,12 @@ window['locales'] = {
distance: "Distance",
add: "Add",
autolock: "Auto lock",
+ keep_open: "Keep open",
item: "Item",
- item_placeholder: "Item name"
+ item_placeholder: "eg. keycard",
+ amount_required: "Amount required",
+ destroy: "Destroy on use"
},
-
selection: {
select: ["Press", "LMB", "to select a door"],
cancel: ["Press", "RMB", "to cancel selection"],
@@ -154,26 +162,96 @@ window['locales'] = {
import: {
select: "Select to import",
- select_helper: "Select a GABZ map to import its doors.",
+ select_helper: "Select a map to import its doors.",
imported: "Imported",
- imported_helper: "Remove doors from a GABZ map for unused maps",
+ imported_helper: "Remove doors from a map for unused maps",
+ import_search_placeholder: "Search for MLOs",
+ imported_search_placeholder: "Search for imported MLOs",
permissions: ["Default permissions", "When importing doors this job / grade will be used as a default.", "When importing doors this identifier will be used as a default."],
-
job: "Job",
grade: "Grade",
identifier: "Identifier",
- no_permissions: "You need to add at least one permission in order to import doors."
+ no_permissions: "You need to add at least one permission in order to import doors.",
+ no_imports: "No imports available.",
+ doors: 'door(s)',
+ },
+ export: {
+ info_message: `Are you an MLO creator? We'd love to include doors for your creations out of the box! Please contact us on`,
+ location_groups: "Location groups",
+ no_location_groups: "No location groups found. Please create one first.",
+
+ export_settings: "Export settings",
+ none_selected: "Please select a location group to export doors from.",
+
+ export_group_name: "Export group name",
+ export_group_name_helper: "The exported doors with the same group name will be displayed under the same section on the import screen.",
+ export_group_name_placeholder: "Eg. MLO CREATOR",
+
+ export_name: "Export name",
+ export_name_helper: "Name for this particular export. Usually a location or MLO.",
+ export_name_placeholder: "Eg. LSPD Station",
+ export_doors: "Export doors",
+
+ name_required: "Export name is required.",
+ too_long: "Filename too long!",
+ already_exists: "An export with the same group name and export name already exists!",
+ no_doors: "No doors found in the selected location group!",
+ success: "Export successful! Your files should be in /import_locations",
+ failed: "Export failed!"
+ },
+
+ converter: {
+ label: "Converter",
+ description: "Handles conversions from other systems to cd_doorlock",
+ warning: `*
+ Some doors might not convert fully and need adjustment afterwards.`,
+ ox: `Ox Doorlock`,
+ oxdb: `Ox Doorlock (Database)`,
+ qb: `QBCore Doorlock`,
+ qbdb: `QBCore Doorlock (Config)`,
+ no_data: "No data found in",
+ data_preview: {
+ label: "Data preview",
+ close: "Close preview",
+ },
+
+ door_data: "Door data",
+ parser_option: "Parser options",
+ json: "JSON",
+ json_helper: "JSON format exported from qb-doorlock",
+ sql: "SQL",
+ parser_warning: "In case the SQL parser fails, please try the JSON parser as it should be more stable.",
+ convert: "Convert",
+ converted_output: "Converted output",
+ import_doors: "Import doors",
+ import_selected: "Import selected",
+ view_data: "View data",
+ clear_data: "Clear data",
+
+ alerts: {
+ location_group: "Please input a location group.",
+ location_group_exists: "This location group already exists.",
+ door_data: "Missing door data.",
+ json_fail: "Failed to parse JSON data!",
+ format: "Bad format!",
+ door_failed_array: "Failed to process door data!",
+ door_failed: "Failed to process door!",
+ invalid_structure: "Invalid door structure!",
+
+ }
},
navigation: {
create_edit: "Create / Edit",
control: "Control",
import: "Import",
+ export: "Export",
+ converter: "Converter",
settings: "Settings",
},
diff --git a/resources/cd_doorlock/configs/server_customise_me.lua b/resources/cd_doorlock/configs/server_customise_me.lua
deleted file mode 100644
index 986d22b7e..000000000
--- a/resources/cd_doorlock/configs/server_customise_me.lua
+++ /dev/null
@@ -1,464 +0,0 @@
---███████╗██████╗ █████╗ ███╗ ███╗███████╗██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗
---██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝
---█████╗ ██████╔╝███████║██╔████╔██║█████╗ ██║ █╗ ██║██║ ██║██████╔╝█████╔╝
---██╔══╝ ██╔══██╗██╔══██║██║╚██╔╝██║██╔══╝ ██║███╗██║██║ ██║██╔══██╗██╔═██╗
---██║ ██║ ██║██║ ██║██║ ╚═╝ ██║███████╗╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗
---╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
-
-
-ESX, QBCore, vRP = nil, nil, nil
-
-if Config.Framework == 'esx' then
- pcall(function() ESX = exports[Config.FrameworkTriggers.resource_name]:getSharedObject() end)
- if ESX == nil then
- TriggerEvent(Config.FrameworkTriggers.main, function(obj) ESX = obj end)
- end
-
-elseif Config.Framework == 'qbcore' then
- TriggerEvent(Config.FrameworkTriggers.main, function(obj) QBCore = obj end)
- if QBCore == nil then
- QBCore = exports[Config.FrameworkTriggers.resource_name]:GetCoreObject()
- end
-
-elseif Config.Framework == 'vrp' then
- local Proxy = module('vrp', 'lib/Proxy')
- vRP = Proxy.getInterface('vRP')
-
-elseif Config.Framework == 'other' then
- --Add your own code here.
-end
-
-function GetIdentifier(source)
- if Config.Framework == 'esx' then
- local xPlayer = ESX.GetPlayerFromId(source)
- return xPlayer.identifier
-
- elseif Config.Framework == 'qbcore' then
- local xPlayer = QBCore.Functions.GetPlayer(source)
- return xPlayer.PlayerData.citizenid
-
- elseif Config.Framework == 'vrp' then
- local user_id = vRP.getUserId({source})
- return user_id
-
- elseif Config.Framework == 'standalone' then
- return GetPlayerIdentifiers(source)[2]
-
- elseif Config.Framework == 'other' then
- return GetPlayerIdentifiers(source)[2] --return the players identifier here (string).
-
- end
-end
-
-
---██████╗ ███████╗██████╗ ███╗ ███╗███████╗ ██████╗██╗ ██╗███████╗ ██████╗██╗ ██╗███████╗
---██╔══██╗██╔════╝██╔══██╗████╗ ████║██╔════╝ ██╔════╝██║ ██║██╔════╝██╔════╝██║ ██╔╝██╔════╝
---██████╔╝█████╗ ██████╔╝██╔████╔██║███████╗ ██║ ███████║█████╗ ██║ █████╔╝ ███████╗
---██╔═══╝ ██╔══╝ ██╔══██╗██║╚██╔╝██║╚════██║ ██║ ██╔══██║██╔══╝ ██║ ██╔═██╗ ╚════██║
---██║ ███████╗██║ ██║██║ ╚═╝ ██║███████║ ╚██████╗██║ ██║███████╗╚██████╗██║ ██╗███████║
---╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝ ╚═════╝╚═╝ ╚═╝╚══════╝
-
-
-local function GetAllFivemIdentifiers(source)
- local temp_table = {}
- for c, d in pairs(GetPlayerIdentifiers(source)) do
- temp_table[#temp_table+1] = {full = d, trimmed = d:sub(d:find(':')+1, #d)}
- end
- return temp_table
-end
-local function PermsCheck_Identifiers(source, data, perms_type)
- local identifier = GetIdentifier(source)
- for c, d in pairs(data) do
- for cc, dd in pairs(GetAllFivemIdentifiers(source)) do
- if (dd.full == d:lower()) or (dd.trimmed == d:lower()) then
- return true
- end
- end
- if (perms_type == 'admin_perms' and Config.AdminAccess.Framework.ENABLE) or (perms_type == 'door_perms' and Config.DoorAccessPerms.Framework) then
- if d:lower() == identifier:lower() then
- return true
- end
- end
- end
- return false
-end
-
-local function PermsCheck_AcePerms(source, data)
- for c, d in pairs(data) do
- if IsPlayerAceAllowed(source, d) then
- return true
- end
- end
- return false
-end
-
-local function GetAllDiscordRoles(source)
- return exports.Badger_Discord_API:GetDiscordRoles(source)
-end
-local function PermsCheck_Discord(source, data)
- local discord_roles = GetAllDiscordRoles(source)
- for c, d in pairs(data) do
- for cc, dd in pairs(discord_roles) do
- if d == dd then
- return true
- end
- end
- end
- return false
-end
-
-local function PermsCheck_Items(source, data)
- if Config.Framework == 'esx' then
- for c, d in pairs(data) do
- local xPlayer = ESX.GetPlayerFromId(source)
- local get_item = xPlayer.getInventoryItem(d)
- if get_item then
- local count = get_item.count
- if count > 0 then
- return true
- end
- else
- E('6034 - ['..d..'] is not a valid item.')
- end
- end
-
- elseif Config.Framework == 'qbcore' then
- for c, d in pairs(data) do
- if QBCore.Functions.HasItem(source, d, 1) then
- return true
- end
- end
-
- elseif Config.Framework == 'other' then
- --add your own framework item checks here.
- end
-
- if GetResourceState('ox_inventory') == 'started' then
- for c, d in pairs(data) do
- if exports.ox_inventory:GetItem(source, d, false, true) >= 1 then
- return true
- end
- end
- end
- return false
-end
-
-function CheckAdminPerms(source)
- if Config.AdminAccess.Framework.ENABLE then
- if Config.Framework == 'esx' then
- local perms = ESX.GetPlayerFromId(source).getGroup()
- for c, d in pairs(Config.AdminAccess.Framework[Config.Framework]) do
- if perms == d then
- return true
- end
- end
- elseif Config.Framework == 'qbcore' then
- local perms = QBCore.Functions.GetPermission(source)
- for c, d in pairs(Config.AdminAccess.Framework[Config.Framework]) do
- if type(perms) == 'string' then
- if perms == d then
- return true
- end
- elseif type(perms) == 'table' then
- if perms[d] then
- return true
- end
- end
- end
- elseif Config.Framework == 'vrp' then
- local perms = vRP.getUserAdminLevel(vRP.getUserId({source}))
- for c, d in pairs(Config.AdminAccess.Framework[Config.Framework]) do
- if perms == d then
- return true
- end
- end
- elseif Config.Framework == 'other' then
- --Add your own permissions check here (boolean).
- return true
- end
- end
- if Config.AdminAccess.Identifiers.ENABLE then
- local perms = PermsCheck_Identifiers(source, Config.AdminAccess.Identifiers.identifier_list, 'admin_perms')
- if perms then return true end
- end
- if Config.AdminAccess.AcePerms.ENABLE then
- local perms = PermsCheck_AcePerms(source, Config.AdminAccess.AcePerms.aceperms_list)
- if perms then return true end
- end
- if Config.AdminAccess.Discord.ENABLE then
- local perms = PermsCheck_Discord(source, Config.AdminAccess.Discord.discord_list)
- if perms then return true end
- end
- return false
-end
-
-function CheckDoorPerms_All(source, door_perms_data)
- if Config.DoorAccessPerms.Identifiers and door_perms_data.identifier and #door_perms_data.identifier > 0 then
- local perms = PermsCheck_Identifiers(source, door_perms_data.identifier, 'door_perms')
- if perms then return true end
- end
- if Config.DoorAccessPerms.AcePerms and door_perms_data.ace and #door_perms_data.ace > 0 then
- local perms = PermsCheck_AcePerms(source, door_perms_data.ace)
- if perms then return true end
- end
- if Config.DoorAccessPerms.Discord and door_perms_data.discord and #door_perms_data.discord > 0 then
- local perms = PermsCheck_Discord(source, door_perms_data.discord)
- if perms then return true end
- end
- if Config.DoorAccessPerms.Items and door_perms_data.items and #door_perms_data.items > 0 then
- local perms = PermsCheck_Items(source, door_perms_data.items)
- if perms then return true end
- end
- return false
-end
-
-
---██╗ ██████╗ ██████╗██╗ ██╗██████╗ ██╗ ██████╗██╗ ██╗
---██║ ██╔═══██╗██╔════╝██║ ██╔╝██╔══██╗██║██╔════╝██║ ██╔╝
---██║ ██║ ██║██║ █████╔╝ ██████╔╝██║██║ █████╔╝
---██║ ██║ ██║██║ ██╔═██╗ ██╔═══╝ ██║██║ ██╔═██╗
---███████╗╚██████╔╝╚██████╗██║ ██╗██║ ██║╚██████╗██║ ██╗
---╚══════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
-
-
-if Config.LockpickItems.ENABLE and Config.LockpickItems.usable_lockpick_item then
- for c, d in pairs(Config.LockpickItems.lockpick_items) do
- if Config.Framework == 'esx' then
- ESX.RegisterUsableItem(d, function(source)
- TriggerClientEvent('cd_doorlock:LockpickDoor_usableitem', source)
- end)
-
- elseif Config.Framework == 'qbcore' then
- QBCore.Functions.CreateUseableItem(d, function(source, item)
- TriggerClientEvent('cd_doorlock:LockpickDoor_usableitem', source)
- end)
-
- elseif Config.Framework == 'other' then
- --add your own framework code here.
- end
- end
-end
-
-function RemoveLockpickItem(source)
- if Config.Framework == 'esx' then
- for c, d in pairs(Config.LockpickItems.lockpick_items) do
- local xPlayer = ESX.GetPlayerFromId(source)
- local get_item = xPlayer.getInventoryItem(d)
- if get_item then
- local count = get_item.count
- if count > 0 then
- xPlayer.removeInventoryItem(d, 1)
- return true
- end
- else
- E('6035 - "'..d..'" is not a valid item.')
- end
- end
-
- elseif Config.Framework == 'qbcore' then
- local xPlayer = QBCore.Functions.GetPlayer(source)
- for c, d in pairs(Config.LockpickItems.lockpick_items) do
- if xPlayer.Functions.RemoveItem(d, 1) then
- return true
- end
- end
-
- elseif Config.Framework == 'other' then
- --add your own framework checks here.
- end
-
- if GetResourceState('ox_inventory') == 'started' then
- for c, d in pairs(data) do
- if exports.ox_inventory:GetItem(source, d, false, true) >= 1 then
- if Config.Framework == 'esx' then
- local xPlayer = ESX.GetPlayerFromId(source)
- xPlayer.removeInventoryItem(d, 1)
- return true
-
- elseif Config.Framework == 'qbcore' then
- local xPlayer = QBCore.Functions.GetPlayer(source)
- xPlayer.Functions.RemoveItem(d, 1)
- return true
-
- elseif Config.Framework == 'other' then
- --add your own framework code here.
- end
- end
- end
- end
- return false
-end
-
-
---███████╗██╗ ██╗███╗ ██╗ ██████╗████████╗██╗ ██████╗ ███╗ ██╗███████╗
---██╔════╝██║ ██║████╗ ██║██╔════╝╚══██╔══╝██║██╔═══██╗████╗ ██║██╔════╝
---█████╗ ██║ ██║██╔██╗ ██║██║ ██║ ██║██║ ██║██╔██╗ ██║███████╗
---██╔══╝ ██║ ██║██║╚██╗██║██║ ██║ ██║██║ ██║██║╚██╗██║╚════██║
---██║ ╚██████╔╝██║ ╚████║╚██████╗ ██║ ██║╚██████╔╝██║ ╚████║███████║
---╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝
-
-
-local function GetDoorPerms_Ideitifier_Discord(source)
- local temp_table = {}
- if Config.DoorAccessPerms.Identifiers then
- temp_table.identifiers = GetAllFivemIdentifiers(source)
- end
- if Config.DoorAccessPerms.Discord then
- temp_table.discord = GetAllDiscordRoles(source)
- end
- return temp_table
-end
-
-local function CheckDoorPerms_Vrp(source, door_perms_data)
- local user_id = vRP.getUserId(source)
- for c, d in pairs(door_perms_data) do
- if vRP.getUserFaction(user_id) == d.name and vRP.getFactionRank(faction) >= d.grade then
- return true
- end
- end
- return false
-end
-
-local function CheckDoorPerms_Ace(source, data)
- local temp_table = {}
- for c, d in pairs(data) do
- if IsPlayerAceAllowed(source, d) then
- temp_table[#temp_table+1] = d
- end
- end
- return temp_table
-end
-
-
--- ██████╗ █████╗ ██╗ ██╗ ██████╗ █████╗ ██████╗██╗ ██╗███████╗
---██╔════╝██╔══██╗██║ ██║ ██╔══██╗██╔══██╗██╔════╝██║ ██╔╝██╔════╝
---██║ ███████║██║ ██║ ██████╔╝███████║██║ █████╔╝ ███████╗
---██║ ██╔══██║██║ ██║ ██╔══██╗██╔══██║██║ ██╔═██╗ ╚════██║
---╚██████╗██║ ██║███████╗███████╗██████╔╝██║ ██║╚██████╗██║ ██╗███████║
--- ╚═════╝╚═╝ ╚═╝╚══════╝╚══════╝╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝
-
-
-RegisterServerEvent('cd_doorlock:Callback')
-AddEventHandler('cd_doorlock:Callback', function(id, action, data)
- local _source = source
- if action == 'check_admin_perms' then
- TriggerClientEvent('cd_doorlock:Callback', _source, id, CheckAdminPerms(_source))
-
- elseif action == 'get_door_perms_identifier_discord' then
- TriggerClientEvent('cd_doorlock:Callback', _source, id, GetDoorPerms_Ideitifier_Discord(_source))
-
- elseif action == 'check_door_perms_all' then
- TriggerClientEvent('cd_doorlock:Callback', _source, id, CheckDoorPerms_All(_source, data))
-
- elseif action == 'check_door_perms_vrp' then
- TriggerClientEvent('cd_doorlock:Callback', _source, id, CheckDoorPerms_Vrp(_source, data))
-
- elseif action == 'check_door_perms_ace' then
- TriggerClientEvent('cd_doorlock:Callback', _source, id, CheckDoorPerms_Ace(_source, data))
-
- elseif action == 'remove_lockpick_item' then
- TriggerClientEvent('cd_doorlock:Callback', _source, id, RemoveLockpickItem(_source))
-
- end
-end)
-
-
---███╗ ██╗ ██████╗ ████████╗██╗███████╗██╗ ██████╗ █████╗ ████████╗██╗ ██████╗ ███╗ ██╗███████╗
---████╗ ██║██╔═══██╗╚══██╔══╝██║██╔════╝██║██╔════╝██╔══██╗╚══██╔══╝██║██╔═══██╗████╗ ██║██╔════╝
---██╔██╗ ██║██║ ██║ ██║ ██║█████╗ ██║██║ ███████║ ██║ ██║██║ ██║██╔██╗ ██║███████╗
---██║╚██╗██║██║ ██║ ██║ ██║██╔══╝ ██║██║ ██╔══██║ ██║ ██║██║ ██║██║╚██╗██║╚════██║
---██║ ╚████║╚██████╔╝ ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║╚██████╔╝██║ ╚████║███████║
---╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝
-
-
-function Notification(source, notif_type, message)
- if source and notif_type and message then
- if Config.Notification == 'esx' then
- TriggerClientEvent('esx:showNotification', source, message)
-
- elseif Config.Notification == 'qbcore' then
- if notif_type == 1 then
- TriggerClientEvent('QBCore:Notify', source, message, 'success')
- elseif notif_type == 2 then
- TriggerClientEvent('QBCore:Notify', source, message, 'primary')
- elseif notif_type == 3 then
- TriggerClientEvent('QBCore:Notify', source, message, 'error')
- end
-
- elseif Config.Notification == 'cd_notifications' then
- if notif_type == 1 then
- TriggerClientEvent('cd_notifications:Add', source, {title = L('doorlock'), message = message, type = 'success', options = {duration = 5}})
- elseif notif_type == 2 then
- TriggerClientEvent('cd_notifications:Add', source, {title = L('doorlock'), message = message, type = 'inform', options = {duration = 5}})
- elseif notif_type == 3 then
- TriggerClientEvent('cd_notifications:Add', source, {title = L('doorlock'), message = message, type = 'error', options = {duration = 5}})
- end
-
- elseif Config.Notification == 'okokNotify' then
- if notif_type == 1 then
- TriggerClientEvent('okokNotify:Alert', source, L('doorlock'), message, 5000, 'success')
- elseif notif_type == 2 then
- TriggerClientEvent('okokNotify:Alert', source, L('doorlock'), message, 5000, 'info')
- elseif notif_type == 3 then
- TriggerClientEvent('okokNotify:Alert', source, L('doorlock'), message, 5000, 'error')
- end
-
- elseif Config.Notification == 'ps-ui' then
- if notif_type == 1 then
- TriggerClientEvent('ps-ui:Notify', source, message, 'success')
- elseif notif_type == 2 then
- TriggerClientEvent('ps-ui:Notify', source, message, 'primary')
- elseif notif_type == 3 then
- TriggerClientEvent('ps-ui:Notify', source, message, 'error')
- end
-
- elseif Config.Notification == 'ox_lib' then
- if notif_type == 1 then
- lib.notify({title = L('doorlock'), description = message, type = 'success'})
- elseif notif_type == 2 then
- lib.notify({title = L('doorlock'), description = message, type = 'inform'})
- elseif notif_type == 3 then
- lib.notify({title = L('doorlock'), description = message, type = 'error'})
- end
-
- elseif Config.Notification == 'chat' then
- TriggerClientEvent('chatMessage', source, message)
-
- elseif Config.Notification == 'other' then
- --add your own notification.
-
- end
- end
-end
-
-
--- ██████╗ ████████╗██╗ ██╗███████╗██████╗
---██╔═══██╗╚══██╔══╝██║ ██║██╔════╝██╔══██╗
---██║ ██║ ██║ ███████║█████╗ ██████╔╝
---██║ ██║ ██║ ██╔══██║██╔══╝ ██╔══██╗
---╚██████╔╝ ██║ ██║ ██║███████╗██║ ██║
--- ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
-
-
-RegisterServerEvent('cd_doorlock:Debug')
-AddEventHandler('cd_doorlock:Debug', function()
- local _source = source
- print('^6-----------------------^0')
- print('^1CODESIGN DEBUG^0')
- print(string.format('^6Framework Identifier:^0 %s', GetIdentifier(_source)))
- if Config.DoorAccessPerms.Identifiers or Config.AdminAccess.Identifiers.ENABLE then
- for c, d in pairs(GetAllFivemIdentifiers(_source)) do
- print(string.format('^6Fivem Identifier: [Full: ^0%s^6] [Trimmed: ^0%s^6]', d.full, d.trimmed))
- end
- end
-
- if Config.DoorAccessPerms.Discord or Config.AdminAccess.Discord.ENABLE then
- if GetResourceState('cd_devtools') == 'started' then
- print('^6Devtools debug table sent to client.^0')
- TriggerClientEvent('table', _source, GetAllDiscordRoles(_source))
- else
- print('^6cd_devtools is not started.^0')
- end
- end
- print('^6-----------------------^0')
-end)
diff --git a/resources/cd_doorlock/configs/server_webhooks.lua b/resources/cd_doorlock/configs/server_webhooks.lua
index f7e9ca699..5856ac5fc 100644
--- a/resources/cd_doorlock/configs/server_webhooks.lua
+++ b/resources/cd_doorlock/configs/server_webhooks.lua
@@ -1,6 +1,6 @@
-------------------------------------------------------------------------------------------------------
-------------------------------------------- WEBHOOK URLS ---------------------------------------------
-------------------------------------------------------------------------------------------------------
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ WEBHOK URLS │
+-- └──────────────────────────────────────────────────────────────────┘
--56108 green
@@ -18,35 +18,35 @@ local Webhook_Data = {
}
-------------------------------------------------------------------------------------------------------
-------------------------------------------- WEBHOOK DATA ---------------------------------------------
-------------------------------------------------------------------------------------------------------
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ WEBHOOK DATA │
+-- └──────────────────────────────────────────────────────────────────┘
function SendWebhook(source, action, data)
local webhook_data = Webhook_Data[action]
if webhook_data.webhook and #webhook_data.webhook > 10 then
- local player_name = GetPlayerName(source) or L('unknown')
- local identifier = GetIdentifier(source) or L('unknown')
+ local player_name = GetPlayerName(source) or Locale('unknown')
+ local identifier = GetIdentifier(source) or Locale('unknown')
local message
if action == 'create' or action == 'delete' or action == 'edit' then
- message = string.format(L('webhook_message_1'), source, player_name, identifier, data.location_group, data.door_name, data.door_type)
+ message = string.format(Locale('webhook_message_1'), source, player_name, identifier, data.location_group, data.door_name, data.door_type)
elseif action == 'add_import_data' or action == 'remove_import_data' then
- message = string.format(L('webhook_message_2'), source, player_name, identifier, data.name, #data.data)
+ message = string.format(Locale('webhook_message_2'), source, player_name, identifier, data.file_name, data.door_count)
elseif action == 'remove_full_locationgroup' then
- message = string.format(L('webhook_message_3'), source, player_name, identifier, data.name, data.door_count)
+ message = string.format(Locale('webhook_message_3'), source, player_name, identifier, data.name, data.door_count)
end
local data = {{
['color'] = webhook_data.colour,
- ['title'] = L(action),
+ ['title'] = Locale(action),
['description'] = message,
['footer'] = {
['text'] = os.date('%c'),
['icon_url'] = 'https://i.imgur.com/VMPGPTQ.png',
},
}}
- PerformHttpRequest(webhook_data.webhook, function(err, text, headers) end, 'POST', json.encode({username = L('bot_name'), embeds = data}), { ['Content-Type'] = 'application/json' })
+ PerformHttpRequest(webhook_data.webhook, function(err, text, headers) end, 'POST', json.encode({username = Locale('bot_name'), embeds = data}), { ['Content-Type'] = 'application/json' })
end
end
\ No newline at end of file
diff --git a/resources/cd_doorlock/fxmanifest.lua b/resources/cd_doorlock/fxmanifest.lua
index 0bae57de3..8dedc15d0 100644
--- a/resources/cd_doorlock/fxmanifest.lua
+++ b/resources/cd_doorlock/fxmanifest.lua
@@ -2,34 +2,36 @@ fx_version 'cerulean'
game 'gta5'
author 'discord.gg/codesign'
description 'Codesign Door Lock'
-version '1.1.1'
+version '2.1.15'
lua54 'yes'
+dependency 'cd_bridge'
+
shared_scripts {
+ '@cd_bridge/shared/config.lua',
+ '@cd_bridge/shared/auto_detect.lua',
'configs/locales.lua',
'configs/config.lua'
- --'@ox_lib/init.lua' --⚠️PLEASE READ⚠️; Uncomment this line if you use 'ox_lib'.⚠️
}
client_scripts {
- 'configs/client_customise_me.lua',
+ '@cd_bridge/client/init.lua',
+ 'integrations/client/*.lua',
'client/*.lua'
}
server_scripts {
- 'configs/server_customise_me.lua',
+ '@cd_bridge/server/init.lua',
'configs/server_webhooks.lua',
+ 'integrations/server/*.lua',
'server/*.lua',
- 'server/*.js',
- --'@vrp/lib/utils.lua', --⚠️PLEASE READ⚠️; Uncomment this line if you use 'vrp'.⚠️
- --'@vrp/lib/Tunnel.lua', --⚠️PLEASE READ⚠️; Uncomment this line if you use 'vrp'.⚠️
- --'@vrp/lib/Proxy.lua', --⚠️PLEASE READ⚠️; Uncomment this line if you use 'vrp'.⚠️
+ 'server/*.js'
}
-
ui_page {
'html/index.html',
}
+
files {
'configs/locales_ui.js',
'configs/config_ui.js',
@@ -38,32 +40,47 @@ files {
'html/assets/*.js',
'html/fonts/*.woff2',
'html/css/vendor/*.css',
- 'sounds/*.ogg'
+ 'sounds/*.ogg',
+ 'html/images/*.png',
}
-exports {
- 'GetDoorState_closest',
- 'GetDoorState_name',
- 'GetDoorDataFull_closest',
- 'GetDoorDataFull_name',
- 'GetDoorID',
-}
+export 'GetDoorID'
+export 'GetAllDoors'
+export 'GetDoorState_closest'
+export 'GetDoorState_name'
+export 'GetDoorState_uniqueid'
+export 'GetDoorDataFull_closest'
+export 'GetDoorDataFull_name'
+export 'GetDoorDataFull_uniqueid'
-Server_exports {
- 'GetDoorState_closest',
- 'GetDoorState_name',
- 'GetDoorDataFull_closest',
- 'GetDoorDataFull_name',
- 'GetDoorID',
-}
+server_export 'GetDoorID'
+server_export 'GetAllDoors'
+server_export 'GetDoorState_closest'
+server_export 'GetDoorState_name'
+server_export 'GetDoorState_uniqueid'
+server_export 'GetDoorDataFull_closest'
+server_export 'GetDoorDataFull_name'
+server_export 'GetDoorDataFull_uniqueid'
dependencies {
'/server:4960' -- ⚠️PLEASE READ⚠️; Requires at least server build 4960.
}
escrow_ignore {
+ 'client/chat_commands.lua',
+ 'client/door_perms.lua',
+ 'client/error_handling.lua',
'client/functions.lua',
+ 'client/lockpicking.lua',
'configs/*.lua',
+ 'integrations/**/*.lua',
+ 'server/auto_insert_sql.lua',
+ 'server/callbacks.lua',
+ 'server/door_perms.lua',
+ 'server/error_handling.lua',
+ 'server/functions.lua',
+ 'server/lockpick.lua',
+ 'server/read_files.js',
'server/version_check.lua'
}
dependency '/assetpacks'
\ No newline at end of file
diff --git a/resources/cd_doorlock/html/assets/index.css b/resources/cd_doorlock/html/assets/index.css
index 296ab784e..98ef73839 100644
--- a/resources/cd_doorlock/html/assets/index.css
+++ b/resources/cd_doorlock/html/assets/index.css
@@ -1 +1 @@
-*{box-sizing:border-box}.alert-hidden.svelte-1xfidhd{display:none}.cursor-pointer{cursor:pointer;color:#00000080}.cursor-pointer:hover{color:#000}.btn-xs{--bs-btn-padding-y:.2rem;--bs-btn-padding-x:.4rem;--bs-btn-font-size:.6rem}.delete-job:hover{background-color:#ff5d57!important;cursor:pointer}.scrollbar.svelte-1847jqf{max-height:320px;overflow-y:auto;overflow-x:hidden}.scrollbar.svelte-1847jqf::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f5f5f5;border-bottom-right-radius:.3rem}.scrollbar.svelte-1847jqf::-webkit-scrollbar{width:8px;background-color:#f5f5f5}.scrollbar.svelte-1847jqf::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#999}.nav-item.svelte-1847jqf{cursor:pointer}#permission-list.svelte-1847jqf{font-size:90%}#header-text.svelte-a3mjdl{display:flex;justify-content:space-between;align-items:center}body{overflow:hidden}.scale-placeholder{display:none;position:absolute;left:var(--pseudo-left);top:var(--pseudo-top);content:" ";width:var(--pseudo-width);height:var(--pseudo-height);z-index:999;pointer-events:none;border:1px dashed #ff5d57;border-radius:.5rem;transform:scale(var(--pseudo-scale));will-change:transform}.placeholder-show{display:block!important}.scale{transform:scale(var(--scale))}#keypad-button-wrapper.svelte-11vz8gd.svelte-11vz8gd{padding:1rem;display:flex;flex-direction:column;gap:1rem}.keypad-button-row.svelte-11vz8gd.svelte-11vz8gd{display:flex;justify-content:space-between;align-items:center;gap:1rem}.keypad-button.svelte-11vz8gd.svelte-11vz8gd{padding:1rem;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.25)),to(#e6e6e6));text-shadow:0px -1px 0px rgba(0,0,0,.4);text-decoration:none;cursor:pointer;position:relative;display:inline-block;box-shadow:inset 0 1px #fff,0 1px 3px #0000004d;outline:none;border:1px solid #ba6;border-color:#7c7c7c;color:#fff;border-radius:5px;min-width:64px;text-align:center;user-select:none}.keypad-button.svelte-11vz8gd.svelte-11vz8gd:active{-webkit-transform:translateY(2px);transform:translateY(2px)}#keypad-screen.svelte-11vz8gd.svelte-11vz8gd{position:relative}#keypad-screen.svelte-11vz8gd>input.svelte-11vz8gd{height:48px;letter-spacing:.5rem;text-align:center;font-weight:900;outline:0;background-color:#1f1f1f4d;border:1px solid rgba(31,31,31,.5);-webkit-box-shadow:inset 0 0 10px #000000;box-shadow:inset 0 0 10px #000;border-radius:.2rem;color:#fff;user-select:none;cursor:auto;text-shadow:0 0 10px #fff}#keypad.svelte-11vz8gd.svelte-11vz8gd{background-color:var(--bs-gray-900);border-radius:.5rem;overflow:hidden;border:12px solid var(--bs-gray-900)}#keypad-round-wrapper.svelte-11vz8gd.svelte-11vz8gd{padding:1rem;border-radius:.5rem;overflow:hidden;background-color:#474747;box-shadow:#32325d40 0 30px 60px -12px inset,#0000004d 0 18px 36px -18px inset}.backspace.svelte-11vz8gd.svelte-11vz8gd{display:flex;justify-content:center;align-items:center;color:#ffffff80;cursor:pointer;user-select:none;pointer-events:all!important}.backspace.svelte-11vz8gd.svelte-11vz8gd:hover{color:#fffc}.led-box.svelte-11vz8gd.svelte-11vz8gd{height:24px;width:25%;margin:10px 0;float:left}.led-green.svelte-11vz8gd.svelte-11vz8gd{margin:0 auto;width:16px;height:16px;background-color:#abff004d;border-radius:50%;box-shadow:#0003 0 -1px 7px 1px,inset #304701 0 -1px 9px,#89ff00 0 0}.led-green-active.svelte-11vz8gd.svelte-11vz8gd{background-color:#abff00;box-shadow:#0003 0 -1px 7px 1px,inset #304701 0 -1px 9px,#89ff0080 0 2px 12px}.led-red.svelte-11vz8gd.svelte-11vz8gd{margin:0 auto;width:16px;height:16px;background-color:#ff5d574d;border-radius:50%;box-shadow:#0003 0 -1px 7px 1px,inset #441313 0 -1px 9px,#ff000080 0 0}.led-red-active.svelte-11vz8gd.svelte-11vz8gd{background-color:#ff5d57;box-shadow:#0003 0 -1px 7px 1px,inset #441313 0 -1px 9px,#ff000080 0 2px 12px}.led-yellow.svelte-11vz8gd.svelte-11vz8gd{margin:0 auto;width:16px;height:16px;background-color:#ffff004d;border-radius:50%;box-shadow:#0003 0 -1px 7px 1px,inset #808002 0 -1px 9px,#ffff0080 0 0}.led-yellow-active.svelte-11vz8gd.svelte-11vz8gd{background-color:#ff0;box-shadow:#0003 0 -1px 7px 1px,inset #808002 0 -1px 9px,#ffff0080 0 2px 12px}#status-led.svelte-11vz8gd.svelte-11vz8gd{display:flex;justify-content:center}#suggest-container.svelte-11vz8gd.svelte-11vz8gd{position:absolute;left:0;top:0;padding-right:1rem;width:100%;height:48px;display:flex;justify-content:flex-end;align-items:center;gap:.5rem;pointer-events:none}#keypad-speaker.svelte-11vz8gd.svelte-11vz8gd{width:100%;height:8px;background-color:#000;border-bottom-left-radius:50%;border-bottom-right-radius:50%;background-size:50%;overflow:hidden;-webkit-box-shadow:inset 0 0 5px #000000;box-shadow:inset 0 0 5px #000;background-blend-mode:difference}.import-item.svelte-1b1fi6t{display:flex;justify-content:space-between}.cursor.svelte-1b1fi6t{cursor:pointer}.scrollbar.svelte-1b1fi6t{height:320px;overflow-y:auto;overflow-x:hidden}.scrollbar.svelte-1b1fi6t::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f5f5f5;border-bottom-right-radius:.3rem}.scrollbar.svelte-1b1fi6t::-webkit-scrollbar{width:8px;background-color:#f5f5f5}.scrollbar.svelte-1b1fi6t::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#999}.nav-item.svelte-1b1fi6t{cursor:pointer}#selector.svelte-2ba962{width:100%;height:100%;position:absolute;left:0;top:0;display:flex;justify-content:center;align-items:center}#selector>i{font-size:3vh;color:#ff5f57b3}@font-face{font-family:VCR;src:local("VCR"),local("VCR"),url(../fonts/vcr.woff2) format("woff2")}#camera.svelte-qaw9gz{width:100vw;height:100vh;overflow:hidden;position:absolute;left:0;top:0;display:flex;justify-content:center;align-items:flex-end;font-family:VCR;font-size:32px;color:#fff;padding:3rem}#camera-container.svelte-qaw9gz{background-color:#0000004d;padding:.3rem .75rem;width:100%;display:flex;justify-content:space-between;align-items:center;flex-direction:column}#camera-time-location.svelte-qaw9gz{width:100%;display:flex;justify-content:space-between;align-items:center}#camera-info.svelte-qaw9gz{display:flex;justify-content:space-around;align-items:center;position:absolute;left:0;top:1rem;padding:.3rem .75rem}.camera-tooltip-item.svelte-qaw9gz{background-color:#0000004d;margin-left:1rem;margin-right:1rem;padding:.3rem;font-size:1rem}#game-instructions.svelte-4d2wf{position:absolute;display:flex;justify-content:center;align-items:center;right:1rem;top:50%;transform:translateY(-50%);padding:1rem}.instructions.svelte-4d2wf{font-size:1.5vh;color:#fff;background-color:#00000080;padding:.75rem 2rem;border-radius:.5rem}body{background-color:transparent}.border-cd{border:12px solid var(--bs-gray-900);background-color:var(--bs-gray-900)}.border-cd-sm{border:6px solid var(--bs-gray-900);background-color:var(--bs-gray-900)}#server-logo.svelte-vrcv47{display:flex;align-items:center}#server-logo>svg{height:16px;margin-left:1rem}#create-doors.svelte-vrcv47{transform-origin:center}main.svelte-vrcv47{overflow:hidden}
+*{box-sizing:border-box}body{--sb-track-color: rgba(0, 0, 0, .3);--sb-thumb-color: rgba(255, 255, 255, .6);--sb-size: 4px}::-webkit-scrollbar{height:var(--sb-size);width:var(--sb-size)}::-webkit-scrollbar-track{background:var(--sb-track-color);border-radius:0}::-webkit-scrollbar-thumb{background:var(--sb-thumb-color);border-radius:0}@supports not selector(::-webkit-scrollbar){body{scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}}.alert-hidden.svelte-l6ygyj{display:none}.cursor-pointer{cursor:pointer;color:#00000080}.cursor-pointer:hover{color:#000}.table-head.svelte-26impj{font-weight:400!important}.modal-open,.overflow-noscroll{overflow:hidden;padding-right:0}.btn-xs{--bs-btn-padding-y: .2rem;--bs-btn-padding-x: .4rem;--bs-btn-font-size: .6rem;border:0!important}.delete-job:hover{background-color:#ff5d57!important;cursor:pointer}.scrollbar{max-height:320px;overflow-y:auto;overflow-x:hidden}.nav-item.svelte-64rodn{cursor:pointer}.nav-item.svelte-64rodn .active:where(.svelte-64rodn){background-color:#dee2e608}#permission-list.svelte-64rodn{font-size:90%}#header-text.svelte-n60wi9{display:flex;justify-content:space-between;align-items:center}.dropdown-item.svelte-n60wi9{color:#fff}.bg-lighter.svelte-n60wi9{background-color:#212529!important}.nav.svelte-1aswg0r{background-color:#1a1a1a}.nav-link.active.svelte-1aswg0r{background-color:#212529}.nav-item.svelte-1aswg0r:first-child>.nav-link:where(.svelte-1aswg0r){// border: 0;border-top-left-radius:0;border-left:0}body{overflow:hidden}.scale-placeholder{display:none;position:absolute;left:var(--pseudo-left);top:var(--pseudo-top);content:" ";width:var(--pseudo-width);height:var(--pseudo-height);z-index:999;pointer-events:none;border:1px dashed #ff5d57;border-radius:.5rem;transform:scale(var(--pseudo-scale));will-change:transform}.placeholder-show{display:block!important}.scale{transform:scale(var(--scale))}#keypad-button-wrapper.svelte-cwdo31{padding:1rem;display:flex;flex-direction:column;gap:1rem}.keypad-button-row.svelte-cwdo31{display:flex;justify-content:space-between;align-items:center;gap:1rem}.keypad-button.svelte-cwdo31{padding:1rem;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.25)),to(#e6e6e6));text-shadow:0px -1px 0px rgba(0,0,0,.4);text-decoration:none;cursor:pointer;position:relative;display:inline-block;box-shadow:inset 0 1px #fff,0 1px 3px #0000004d;outline:none;border:1px solid #ba6;border-color:#7c7c7c;color:#fff;border-radius:5px;min-width:64px;text-align:center;-webkit-user-select:none;user-select:none}.keypad-button.svelte-cwdo31:active{-webkit-transform:translateY(2px);transform:translateY(2px)}#keypad-screen.svelte-cwdo31{position:relative}#keypad-screen.svelte-cwdo31>input:where(.svelte-cwdo31){height:48px;letter-spacing:.5rem;text-align:center;font-weight:900;outline:0;background-color:#1f1f1f4d;border:1px solid rgba(31,31,31,.5);-webkit-box-shadow:inset 0 0 10px #000000;box-shadow:inset 0 0 10px #000;border-radius:.2rem;color:#fff;-webkit-user-select:none;user-select:none;cursor:auto;text-shadow:0 0 10px #fff}#keypad.svelte-cwdo31{background-color:var(--bs-gray-900);border-radius:.5rem;overflow:hidden;border:12px solid var(--bs-gray-900)}#keypad-round-wrapper.svelte-cwdo31{padding:1rem;border-radius:.5rem;overflow:hidden;background-color:#474747;box-shadow:#32325d40 0 30px 60px -12px inset,#0000004d 0 18px 36px -18px inset}.backspace.svelte-cwdo31{display:flex;justify-content:center;align-items:center;color:#ffffff80;cursor:pointer;-webkit-user-select:none;user-select:none;pointer-events:all!important}.backspace.svelte-cwdo31:hover{color:#fffc}.led-box.svelte-cwdo31{height:24px;width:25%;margin:10px 0;float:left}.led-green.svelte-cwdo31{margin:0 auto;width:16px;height:16px;background-color:#abff004d;border-radius:50%;box-shadow:#0003 0 -1px 7px 1px,inset #304701 0 -1px 9px,#89ff00 0 0}.led-green-active.svelte-cwdo31{background-color:#abff00;box-shadow:#0003 0 -1px 7px 1px,inset #304701 0 -1px 9px,#89ff0080 0 2px 12px}.led-red.svelte-cwdo31{margin:0 auto;width:16px;height:16px;background-color:#ff5d574d;border-radius:50%;box-shadow:#0003 0 -1px 7px 1px,inset #441313 0 -1px 9px,#ff000080 0 0}.led-red-active.svelte-cwdo31{background-color:#ff5d57;box-shadow:#0003 0 -1px 7px 1px,inset #441313 0 -1px 9px,#ff000080 0 2px 12px}.led-yellow.svelte-cwdo31{margin:0 auto;width:16px;height:16px;background-color:#ffff004d;border-radius:50%;box-shadow:#0003 0 -1px 7px 1px,inset #808002 0 -1px 9px,#ffff0080 0 0}.led-yellow-active.svelte-cwdo31{background-color:#ff0;box-shadow:#0003 0 -1px 7px 1px,inset #808002 0 -1px 9px,#ffff0080 0 2px 12px}#status-led.svelte-cwdo31{display:flex;justify-content:center}#suggest-container.svelte-cwdo31{position:absolute;left:0;top:0;padding-right:1rem;width:100%;height:48px;display:flex;justify-content:flex-end;align-items:center;gap:.5rem;pointer-events:none}#keypad-speaker.svelte-cwdo31{width:100%;height:8px;background-color:#000;border-bottom-left-radius:50%;border-bottom-right-radius:50%;background-size:50%;overflow:hidden;-webkit-box-shadow:inset 0 0 5px #000000;box-shadow:inset 0 0 5px #000;background-blend-mode:difference}.import-item.svelte-11o6njv{display:flex;justify-content:space-between}.cursor.svelte-11o6njv{cursor:pointer}.scrollbar.svelte-11o6njv{height:320px;overflow-y:auto;overflow-x:hidden}.nav-item.svelte-11o6njv{cursor:pointer}.nav-item.svelte-11o6njv .active:where(.svelte-11o6njv){background-color:#dee2e608}.category-header.svelte-11o6njv{background:linear-gradient(#dee2e608,#dee2e608),linear-gradient(#212529,#212529);font-weight:600}#selector.svelte-1ipca2z{width:100%;height:100%;position:absolute;left:0;top:0;display:flex;justify-content:center;align-items:center}#selector>i{font-size:3vh;color:#ff5f57b3}@font-face{font-family:VCR;src:local("VCR"),local("VCR"),url(../fonts/vcr.woff2) format("woff2")}#camera.svelte-zk2q7b{width:100vw;height:100vh;overflow:hidden;position:absolute;left:0;top:0;display:flex;justify-content:center;align-items:flex-end;font-family:VCR;font-size:32px;color:#fff;padding:3rem}#camera-container.svelte-zk2q7b{background-color:#0000004d;padding:.3rem .75rem;width:100%;display:flex;justify-content:space-between;align-items:center;flex-direction:column}#camera-time-location.svelte-zk2q7b{width:100%;display:flex;justify-content:space-between;align-items:center}#camera-info.svelte-zk2q7b{display:flex;justify-content:space-around;align-items:center;position:absolute;left:0;top:1rem;padding:.3rem .75rem}.camera-tooltip-item.svelte-zk2q7b{background-color:#0000004d;margin-left:1rem;margin-right:1rem;padding:.3rem;font-size:1rem}#game-instructions.svelte-ee28rf{position:absolute;display:flex;justify-content:center;align-items:center;right:1rem;top:50%;transform:translateY(-50%);padding:1rem}.instructions.svelte-ee28rf{font-size:1.5vh;color:#fff;background-color:#00000080;padding:.75rem 2rem;border-radius:.5rem}.list-group-item-action.svelte-1ce7pwp{cursor:pointer}.data-preview-wrapper.svelte-1i4wvuj{width:100%;height:100%;position:absolute;top:0;left:0;background-color:#000000b3;display:grid;place-items:center;z-index:999}.data-preview-wrapper.svelte-1i4wvuj .data-preview:where(.svelte-1i4wvuj){width:50%;max-height:75%}.data-preview-wrapper.svelte-1i4wvuj .data-preview:where(.svelte-1i4wvuj) .dp-header:where(.svelte-1i4wvuj),.data-preview-wrapper.svelte-1i4wvuj .data-preview:where(.svelte-1i4wvuj) .dp-footer:where(.svelte-1i4wvuj){background-color:#1a1a1a}.data-preview-wrapper.svelte-1i4wvuj .data-preview:where(.svelte-1i4wvuj) .dp-body:where(.svelte-1i4wvuj){background-color:#25282b}.converter.svelte-i4mmvz{width:100%}.nav-item.svelte-i4mmvz:first-child .nav-link:where(.svelte-i4mmvz){border-left:0!important;border-top-left-radius:0!important}.nav-item.svelte-i4mmvz{cursor:pointer}.nav-item.svelte-i4mmvz .active:where(.svelte-i4mmvz){background-color:#25282b}.card-header.svelte-1n46o8q,.card-footer.svelte-1n46o8q{background-color:#1a1a1a}.content.svelte-1n46o8q{background-color:#212529}.card-header.svelte-1n46o8q{border-bottom:0}.card.svelte-1n46o8q{background-color:#212529}body{background-color:transparent}.border-cd{border:8px solid #1a1d20;background-color:#1a1d20}.border-cd-sm{border:4px solid #1a1d20;background-color:#1a1d20}#server-logo.svelte-1n46o8q{display:flex;align-items:center}#server-logo>svg{height:16px;margin-left:1rem}#create-doors.svelte-1n46o8q{transform-origin:center}main.svelte-1n46o8q{overflow:hidden}.label{font-variant:small-caps;letter-spacing:1px;text-transform:lowercase;white-space:nowrap}.nav-link:hover{isolation:auto!important}
\ No newline at end of file
diff --git a/resources/cd_doorlock/html/assets/index.js b/resources/cd_doorlock/html/assets/index.js
index 39bf3d46f..55925af2b 100644
--- a/resources/cd_doorlock/html/assets/index.js
+++ b/resources/cd_doorlock/html/assets/index.js
@@ -1,30 +1,19 @@
-var Qa=Object.defineProperty;var Xa=(n,e,t)=>e in n?Qa(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Xt=(n,e,t)=>(Xa(n,typeof e!="symbol"?e+"":e,t),t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const o of l.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerpolicy&&(l.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?l.credentials="include":i.crossorigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(i){if(i.ep)return;i.ep=!0;const l=t(i);fetch(i.href,l)}})();function ue(){}const Pi=n=>n;function Lo(n,e){for(const t in e)n[t]=e[t];return n}function Pr(n){return n()}function Do(){return Object.create(null)}function Ee(n){n.forEach(Pr)}function Kn(n){return typeof n=="function"}function rt(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}function Ja(n){return Object.keys(n).length===0}function Xs(n,...e){if(n==null)return ue;const t=n.subscribe(...e);return t.unsubscribe?()=>t.unsubscribe():t}function Io(n){let e;return Xs(n,t=>e=t)(),e}function be(n,e,t){n.$$.on_destroy.push(Xs(e,t))}function T(n,e,t){return n.set(t),e}function Za(n){return n&&Kn(n.destroy)?n.destroy:ue}const Rr=typeof window<"u";let Ri=Rr?()=>window.performance.now():()=>Date.now(),ji=Rr?n=>requestAnimationFrame(n):ue;const Hn=new Set;function jr(n){Hn.forEach(e=>{e.c(n)||(Hn.delete(e),e.f())}),Hn.size!==0&&ji(jr)}function Hi(n){let e;return Hn.size===0&&ji(jr),{promise:new Promise(t=>{Hn.add(e={c:n,f:t})}),abort(){Hn.delete(e)}}}function r(n,e){n.appendChild(e)}function Hr(n){if(!n)return document;const e=n.getRootNode?n.getRootNode():n.ownerDocument;return e&&e.host?e:n.ownerDocument}function xa(n){const e=_("style");return ec(Hr(n),e),e.sheet}function ec(n,e){r(n.head||n,e)}function D(n,e,t){n.insertBefore(e,t||null)}function L(n){n.parentNode.removeChild(n)}function _(n){return document.createElement(n)}function V(n){return document.createTextNode(n)}function k(){return V(" ")}function qe(){return V("")}function P(n,e,t,s){return n.addEventListener(e,t,s),()=>n.removeEventListener(e,t,s)}function tc(n){return function(e){return e.preventDefault(),n.call(this,e)}}function Se(n){return function(e){return e.stopPropagation(),n.call(this,e)}}function zt(n){return function(e){e.isTrusted&&n.call(this,e)}}function a(n,e,t){t==null?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function ln(n){return n===""?null:+n}function nc(n){return Array.from(n.childNodes)}function fe(n,e){e=""+e,n.wholeText!==e&&(n.data=e)}function pe(n,e){n.value=e==null?"":e}function tt(n,e,t,s){t===null?n.style.removeProperty(e):n.style.setProperty(e,t,s?"important":"")}function jt(n,e,t){n.classList[t?"add":"remove"](e)}function sc(n,e,{bubbles:t=!1,cancelable:s=!1}={}){const i=document.createEvent("CustomEvent");return i.initCustomEvent(n,t,s,e),i}const Ws=new Map;let Fs=0;function ic(n){let e=5381,t=n.length;for(;t--;)e=(e<<5)-e^n.charCodeAt(t);return e>>>0}function oc(n,e){const t={stylesheet:xa(e),rules:{}};return Ws.set(n,t),t}function zs(n,e,t,s,i,l,o,f=0){const d=16.666/s;let p=`{
-`;for(let y=0;y<=1;y+=d){const E=e+(t-e)*l(y);p+=y*100+`%{${o(E,1-E)}}
-`}const u=p+`100% {${o(t,1-t)}}
-}`,c=`__svelte_${ic(u)}_${f}`,m=Hr(n),{stylesheet:h,rules:g}=Ws.get(m)||oc(m,n);g[c]||(g[c]=!0,h.insertRule(`@keyframes ${c} ${u}`,h.cssRules.length));const A=n.style.animation||"";return n.style.animation=`${A?`${A}, `:""}${c} ${s}ms linear ${i}ms 1 both`,Fs+=1,c}function Gs(n,e){const t=(n.style.animation||"").split(", "),s=t.filter(e?l=>l.indexOf(e)<0:l=>l.indexOf("__svelte")===-1),i=t.length-s.length;i&&(n.style.animation=s.join(", "),Fs-=i,Fs||lc())}function lc(){ji(()=>{Fs||(Ws.forEach(n=>{const{stylesheet:e}=n;let t=e.cssRules.length;for(;t--;)e.deleteRule(t);n.rules={}}),Ws.clear())})}let os;function ts(n){os=n}function Vr(){if(!os)throw new Error("Function called outside component initialization");return os}function Yn(n){Vr().$$.on_mount.push(n)}function Vi(n){Vr().$$.on_destroy.push(n)}function xn(n,e){const t=n.$$.callbacks[e.type];t&&t.slice().forEach(s=>s.call(this,e))}const es=[],Mo=[],js=[],$o=[],rc=Promise.resolve();let Ti=!1;function ac(){Ti||(Ti=!0,rc.then(Br))}function it(n){js.push(n)}const di=new Set;let Ns=0;function Br(){const n=os;do{for(;Ns{Xn=null})),Xn}function mn(n,e,t){n.dispatchEvent(sc(`${e?"intro":"outro"}${t}`))}const Hs=new Set;let Ht;function ft(){Ht={r:0,c:[],p:Ht}}function pt(){Ht.r||Ee(Ht.c),Ht=Ht.p}function ce(n,e){n&&n.i&&(Hs.delete(n),n.i(e))}function ge(n,e,t,s){if(n&&n.o){if(Hs.has(n))return;Hs.add(n),Ht.c.push(()=>{Hs.delete(n),s&&(t&&n.d(1),s())}),n.o(e)}else s&&s()}const Wi={duration:0};function Js(n,e,t){let s=e(n,t),i=!1,l,o,f=0;function d(){l&&Gs(n,l)}function p(){const{delay:c=0,duration:m=300,easing:h=Pi,tick:g=ue,css:A}=s||Wi;A&&(l=zs(n,0,1,m,c,h,A,f++)),g(0,1);const y=Ri()+c,E=y+m;o&&o.abort(),i=!0,it(()=>mn(n,!0,"start")),o=Hi(C=>{if(i){if(C>=E)return g(1,0),mn(n,!0,"end"),d(),i=!1;if(C>=y){const N=h((C-y)/m);g(N,1-N)}}return i})}let u=!1;return{start(){u||(u=!0,Gs(n),Kn(s)?(s=s(),Bi().then(p)):p())},invalidate(){u=!1},end(){i&&(d(),i=!1)}}}function Zs(n,e,t){let s=e(n,t),i=!0,l;const o=Ht;o.r+=1;function f(){const{delay:d=0,duration:p=300,easing:u=Pi,tick:c=ue,css:m}=s||Wi;m&&(l=zs(n,1,0,p,d,u,m));const h=Ri()+d,g=h+p;it(()=>mn(n,!1,"start")),Hi(A=>{if(i){if(A>=g)return c(0,1),mn(n,!1,"end"),--o.r||Ee(o.c),!1;if(A>=h){const y=u((A-h)/p);c(1-y,y)}}return i})}return Kn(s)?Bi().then(()=>{s=s(),f()}):f(),{end(d){d&&s.tick&&s.tick(1,0),i&&(l&&Gs(n,l),i=!1)}}}function Bt(n,e,t,s){let i=e(n,t),l=s?0:1,o=null,f=null,d=null;function p(){d&&Gs(n,d)}function u(m,h){const g=m.b-l;return h*=Math.abs(g),{a:l,b:m.b,d:g,duration:h,start:m.start,end:m.start+h,group:m.group}}function c(m){const{delay:h=0,duration:g=300,easing:A=Pi,tick:y=ue,css:E}=i||Wi,C={start:Ri()+h,b:m};m||(C.group=Ht,Ht.r+=1),o||f?f=C:(E&&(p(),d=zs(n,l,m,g,h,A,E)),m&&y(0,1),o=u(C,g),it(()=>mn(n,m,"start")),Hi(N=>{if(f&&N>f.start&&(o=u(f,g),f=null,mn(n,o.b,"start"),E&&(p(),d=zs(n,l,o.b,o.duration,0,A,i.css))),o){if(N>=o.end)y(l=o.b,1-l),mn(n,o.b,"end"),f||(o.b?p():--o.group.r||Ee(o.group.c)),o=null;else if(N>=o.start){const b=N-o.start;l=o.a+o.d*A(b/o.duration),y(l,1-l)}}return!!(o||f)}))}return{run(m){Kn(i)?Bi().then(()=>{i=i(),c(m)}):c(m)},end(){p(),o=f=null}}}const uc=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function Ke(n,e){n.d(1),e.delete(n.key)}function Po(n,e){ge(n,1,1,()=>{e.delete(n.key)})}function Ve(n,e,t,s,i,l,o,f,d,p,u,c){let m=n.length,h=l.length,g=m;const A={};for(;g--;)A[n[g].key]=g;const y=[],E=new Map,C=new Map;for(g=h;g--;){const w=c(i,l,g),S=t(w);let M=o.get(S);M?s&&M.p(w,e):(M=p(S,w),M.c()),E.set(S,y[g]=M),S in A&&C.set(S,Math.abs(g-A[S]))}const N=new Set,b=new Set;function v(w){ce(w,1),w.m(f,u),o.set(w.key,w),u=w.first,h--}for(;m&&h;){const w=y[h-1],S=n[m-1],M=w.key,G=S.key;w===S?(u=w.first,m--,h--):E.has(G)?!o.has(M)||N.has(M)?v(w):b.has(G)?m--:C.get(M)>C.get(G)?(b.add(M),v(w)):(N.add(G),m--):(d(S,o),m--)}for(;m--;){const w=n[m];E.has(w.key)||d(w,o)}for(;h;)v(y[h-1]);return y}function _t(n){n&&n.c()}function ot(n,e,t,s){const{fragment:i,on_mount:l,on_destroy:o,after_update:f}=n.$$;i&&i.m(e,t),s||it(()=>{const d=l.map(Pr).filter(Kn);o?o.push(...d):Ee(d),n.$$.on_mount=[]}),f.forEach(it)}function lt(n,e){const t=n.$$;t.fragment!==null&&(Ee(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function dc(n,e){n.$$.dirty[0]===-1&&(es.push(n),ac(),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<{const g=h.length?h[0]:m;return p.ctx&&i(p.ctx[c],p.ctx[c]=g)&&(!p.skip_bound&&p.bound[c]&&p.bound[c](g),u&&dc(n,c)),m}):[],p.update(),u=!0,Ee(p.before_update),p.fragment=s?s(p.ctx):!1,e.target){if(e.hydrate){const c=nc(e.target);p.fragment&&p.fragment.l(c),c.forEach(L)}else p.fragment&&p.fragment.c();e.intro&&ce(n.$$.fragment),ot(n,e.target,e.anchor,e.customElement),Br()}ts(d)}class bt{$destroy(){lt(this,1),this.$destroy=ue}$on(e,t){const s=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return s.push(t),()=>{const i=s.indexOf(t);i!==-1&&s.splice(i,1)}}$set(e){this.$$set&&!Ja(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Dn=[];function St(n,e=ue){let t;const s=new Set;function i(f){if(rt(n,f)&&(n=f,t)){const d=!Dn.length;for(const p of s)p[1](),Dn.push(p,n);if(d){for(let p=0;p{s.delete(p),s.size===0&&(t(),t=null)}}return{set:i,update:l,subscribe:o}}let ye=St([]);function Ro(n,e,t){const s=n.slice();return s[8]=e[t],s[10]=t,s}function jo(n){let e,t,s;return{c(){e=_("i"),a(e,"class","bi bi-caret-left-fill cursor-pointer")},m(i,l){D(i,e,l),t||(s=P(e,"click",Se(n[5])),t=!0)},p:ue,d(i){i&&L(e),t=!1,s()}}}function Ho(n){let e,t,s;return{c(){e=_("i"),a(e,"class","bi bi-caret-right-fill cursor-pointer")},m(i,l){D(i,e,l),t||(s=P(e,"click",Se(n[6])),t=!0)},p:ue,d(i){i&&L(e),t=!1,s()}}}function Vo(n,e){let t,s,i=e[8].message+"",l,o,f,d,p,u,c,m=e[1]+1+"",h,g,A,y=e[0].length+"",E,C,N,b,v,w,S,M=e[1]!=0&&jo(e),G=e[1]!=e[0].length-1&&Ho(e);return{key:n,first:null,c(){t=_("div"),s=_("span"),l=k(),o=_("button"),f=k(),d=_("hr"),p=k(),u=_("div"),c=_("small"),h=V(m),g=V(" of "),A=_("strong"),E=V(y),C=k(),M&&M.c(),N=k(),G&&G.c(),b=k(),a(s,"class","message"),a(o,"type","button"),a(o,"class","btn-close btn-sm"),a(d,"class","mb-1"),a(u,"class","container-fluid d-flex justify-content-end align-items-center p-0"),a(t,"id","create-doors-alert"),a(t,"class",v="w-100 alert "+e[8].type+" alert-dismissible fade show rounded-0 mb-0 "+(e[10]!=e[1]?"alert-hidden":"")+" svelte-1xfidhd"),a(t,"role","alert"),this.first=t},m(U,K){D(U,t,K),r(t,s),s.innerHTML=i,r(t,l),r(t,o),r(t,f),r(t,d),r(t,p),r(t,u),r(u,c),r(c,h),r(c,g),r(c,A),r(A,E),r(c,C),M&&M.m(c,null),r(c,N),G&&G.m(c,null),r(t,b),w||(S=P(o,"click",Se(e[3])),w=!0)},p(U,K){e=U,K&1&&i!==(i=e[8].message+"")&&(s.innerHTML=i),K&2&&m!==(m=e[1]+1+"")&&fe(h,m),K&1&&y!==(y=e[0].length+"")&&fe(E,y),e[1]!=0?M?M.p(e,K):(M=jo(e),M.c(),M.m(c,N)):M&&(M.d(1),M=null),e[1]!=e[0].length-1?G?G.p(e,K):(G=Ho(e),G.c(),G.m(c,null)):G&&(G.d(1),G=null),K&3&&v!==(v="w-100 alert "+e[8].type+" alert-dismissible fade show rounded-0 mb-0 "+(e[10]!=e[1]?"alert-hidden":"")+" svelte-1xfidhd")&&a(t,"class",v)},d(U){U&&L(t),M&&M.d(),G&&G.d(),w=!1,S()}}}function fc(n){let e=[],t=new Map,s,i=n[0];const l=o=>o[10];for(let o=0;ot(0,i=u));let{type:l="alert-success"}=e;function o(u){t(1,s=s+u)}function f(){T(ye,i.length=0,i)}const d=()=>{o(-1)},p=()=>{o(1)};return n.$$set=u=>{"type"in u&&t(4,l=u.type)},n.$$.update=()=>{n.$$.dirty&1&&t(1,s=i.length-1)},[i,s,o,f,l,d,p]}class _c extends bt{constructor(e){super(),gt(this,e,pc,fc,rt,{type:4})}}class He{constructor(){Xt(this,"resource");Xt(this,"run",!0);this.resource=GetParentResourceName(),this.resource!="cd_doorlock"&&this.resource!="gabz-doorlock"&&(this.run=!1)}send(e,t){!this.run||fetch(`https://${this.resource}/${e}`,{method:"POST",body:JSON.stringify(t)}).then(s=>{}).catch(s=>{})}static send(e,t){GetParentResourceName()!="cd_doorlock"&&GetParentResourceName()!="gabz-doorlock"||fetch(`https://${GetParentResourceName()}/${e}`,{method:"POST",body:JSON.stringify(t)}).then(s=>{}).catch(s=>{})}}function Fi(n){const e=n-1;return e*e*e+1}function hc(n){return--n*n*n*n*n+1}/*! *****************************************************************************
-Copyright (c) Microsoft Corporation.
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-***************************************************************************** */function mc(n,e){var t={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i`
- transform: ${p} translate(${(1-c)*i}px, ${(1-c)*l}px);
- opacity: ${d-u*m}`}}function Wt(n,{delay:e=0,duration:t=400,easing:s=Fi}={}){const i=getComputedStyle(n),l=+i.opacity,o=parseFloat(i.height),f=parseFloat(i.paddingTop),d=parseFloat(i.paddingBottom),p=parseFloat(i.marginTop),u=parseFloat(i.marginBottom),c=parseFloat(i.borderTopWidth),m=parseFloat(i.borderBottomWidth);return{delay:e,duration:t,easing:s,css:h=>`overflow: hidden;opacity: ${Math.min(h*20,1)*l};height: ${h*o}px;padding-top: ${h*f}px;padding-bottom: ${h*d}px;margin-top: ${h*p}px;margin-bottom: ${h*u}px;border-top-width: ${h*c}px;border-bottom-width: ${h*m}px;`}}function gc(n){var{fallback:e}=n,t=mc(n,["fallback"]);const s=new Map,i=new Map;function l(f,d,p){const{delay:u=0,duration:c=w=>Math.sqrt(w)*30,easing:m=Fi}=Lo(Lo({},t),p),h=d.getBoundingClientRect(),g=f.left-h.left,A=f.top-h.top,y=f.width/h.width,E=f.height/h.height,C=Math.sqrt(g*g+A*A),N=getComputedStyle(d),b=N.transform==="none"?"":N.transform,v=+N.opacity;return{delay:u,duration:Kn(c)?c(C):c,easing:m,css:(w,S)=>`
- opacity: ${w*v};
- transform-origin: top left;
- transform: ${b} translate(${S*g}px,${S*A}px) scale(${w+(1-w)*y}, ${w+(1-w)*E});
- `}}function o(f,d,p){return(u,c)=>(f.set(c.key,{rect:u.getBoundingClientRect()}),()=>{if(d.has(c.key)){const{rect:m}=d.get(c.key);return d.delete(c.key),l(m,u,c)}return f.delete(c.key),e&&e(u,c,p)})}return[o(i,s,!1),o(s,i,!0)]}let Me=St([]),j=St({status:!1,creating:!1,door_count:1,doors_selected:!1,doors_data:null,group_type:"job",editing:{state:!1,door:-1,selection:!1},delete:{state:!1,door:-1,name:"",type:"door"},keypad:!1,keypad_processing:!1,keypad_success:!1,keypad_error:!1,selection_icon:!1,camera:{state:!1,door_id:-1,name:"",group:""}}),kt=St({});var nt="top",ht="bottom",mt="right",st="left",xs="auto",qn=[nt,ht,mt,st],bn="start",Vn="end",Wr="clippingParents",zi="viewport",$n="popper",Fr="reference",Ci=qn.reduce(function(n,e){return n.concat([e+"-"+bn,e+"-"+Vn])},[]),Gi=[].concat(qn,[xs]).reduce(function(n,e){return n.concat([e,e+"-"+bn,e+"-"+Vn])},[]),zr="beforeRead",Gr="read",Kr="afterRead",Yr="beforeMain",qr="main",Ur="afterMain",Qr="beforeWrite",Xr="write",Jr="afterWrite",Zr=[zr,Gr,Kr,Yr,qr,Ur,Qr,Xr,Jr];function Ft(n){return n?(n.nodeName||"").toLowerCase():null}function Tt(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function vn(n){var e=Tt(n).Element;return n instanceof e||n instanceof Element}function Et(n){var e=Tt(n).HTMLElement;return n instanceof e||n instanceof HTMLElement}function Ki(n){if(typeof ShadowRoot>"u")return!1;var e=Tt(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function bc(n){var e=n.state;Object.keys(e.elements).forEach(function(t){var s=e.styles[t]||{},i=e.attributes[t]||{},l=e.elements[t];!Et(l)||!Ft(l)||(Object.assign(l.style,s),Object.keys(i).forEach(function(o){var f=i[o];f===!1?l.removeAttribute(o):l.setAttribute(o,f===!0?"":f)}))})}function vc(n){var e=n.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(s){var i=e.elements[s],l=e.attributes[s]||{},o=Object.keys(e.styles.hasOwnProperty(s)?e.styles[s]:t[s]),f=o.reduce(function(d,p){return d[p]="",d},{});!Et(i)||!Ft(i)||(Object.assign(i.style,f),Object.keys(l).forEach(function(d){i.removeAttribute(d)}))})}}const Yi={name:"applyStyles",enabled:!0,phase:"write",fn:bc,effect:vc,requires:["computeStyles"]};function Vt(n){return n.split("-")[0]}var gn=Math.max,Ys=Math.min,Bn=Math.round;function Oi(){var n=navigator.userAgentData;return n!=null&&n.brands?n.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function xr(){return!/^((?!chrome|android).)*safari/i.test(Oi())}function Wn(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var s=n.getBoundingClientRect(),i=1,l=1;e&&Et(n)&&(i=n.offsetWidth>0&&Bn(s.width)/n.offsetWidth||1,l=n.offsetHeight>0&&Bn(s.height)/n.offsetHeight||1);var o=vn(n)?Tt(n):window,f=o.visualViewport,d=!xr()&&t,p=(s.left+(d&&f?f.offsetLeft:0))/i,u=(s.top+(d&&f?f.offsetTop:0))/l,c=s.width/i,m=s.height/l;return{width:c,height:m,top:u,right:p+c,bottom:u+m,left:p,x:p,y:u}}function qi(n){var e=Wn(n),t=n.offsetWidth,s=n.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-s)<=1&&(s=e.height),{x:n.offsetLeft,y:n.offsetTop,width:t,height:s}}function ea(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&Ki(t)){var s=e;do{if(s&&n.isSameNode(s))return!0;s=s.parentNode||s.host}while(s)}return!1}function tn(n){return Tt(n).getComputedStyle(n)}function wc(n){return["table","td","th"].indexOf(Ft(n))>=0}function un(n){return((vn(n)?n.ownerDocument:n.document)||window.document).documentElement}function ei(n){return Ft(n)==="html"?n:n.assignedSlot||n.parentNode||(Ki(n)?n.host:null)||un(n)}function Bo(n){return!Et(n)||tn(n).position==="fixed"?null:n.offsetParent}function yc(n){var e=/firefox/i.test(Oi()),t=/Trident/i.test(Oi());if(t&&Et(n)){var s=tn(n);if(s.position==="fixed")return null}var i=ei(n);for(Ki(i)&&(i=i.host);Et(i)&&["html","body"].indexOf(Ft(i))<0;){var l=tn(i);if(l.transform!=="none"||l.perspective!=="none"||l.contain==="paint"||["transform","perspective"].indexOf(l.willChange)!==-1||e&&l.willChange==="filter"||e&&l.filter&&l.filter!=="none")return i;i=i.parentNode}return null}function as(n){for(var e=Tt(n),t=Bo(n);t&&wc(t)&&tn(t).position==="static";)t=Bo(t);return t&&(Ft(t)==="html"||Ft(t)==="body"&&tn(t).position==="static")?e:t||yc(n)||e}function Ui(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function ns(n,e,t){return gn(n,Ys(e,t))}function kc(n,e,t){var s=ns(n,e,t);return s>t?t:s}function ta(){return{top:0,right:0,bottom:0,left:0}}function na(n){return Object.assign({},ta(),n)}function sa(n,e){return e.reduce(function(t,s){return t[s]=n,t},{})}var Ec=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,na(typeof e!="number"?e:sa(e,qn))};function Ac(n){var e,t=n.state,s=n.name,i=n.options,l=t.elements.arrow,o=t.modifiersData.popperOffsets,f=Vt(t.placement),d=Ui(f),p=[st,mt].indexOf(f)>=0,u=p?"height":"width";if(!(!l||!o)){var c=Ec(i.padding,t),m=qi(l),h=d==="y"?nt:st,g=d==="y"?ht:mt,A=t.rects.reference[u]+t.rects.reference[d]-o[d]-t.rects.popper[u],y=o[d]-t.rects.reference[d],E=as(l),C=E?d==="y"?E.clientHeight||0:E.clientWidth||0:0,N=A/2-y/2,b=c[h],v=C-m[u]-c[g],w=C/2-m[u]/2+N,S=ns(b,w,v),M=d;t.modifiersData[s]=(e={},e[M]=S,e.centerOffset=S-w,e)}}function Tc(n){var e=n.state,t=n.options,s=t.element,i=s===void 0?"[data-popper-arrow]":s;i!=null&&(typeof i=="string"&&(i=e.elements.popper.querySelector(i),!i)||!ea(e.elements.popper,i)||(e.elements.arrow=i))}const ia={name:"arrow",enabled:!0,phase:"main",fn:Ac,effect:Tc,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fn(n){return n.split("-")[1]}var Cc={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Oc(n){var e=n.x,t=n.y,s=window,i=s.devicePixelRatio||1;return{x:Bn(e*i)/i||0,y:Bn(t*i)/i||0}}function Wo(n){var e,t=n.popper,s=n.popperRect,i=n.placement,l=n.variation,o=n.offsets,f=n.position,d=n.gpuAcceleration,p=n.adaptive,u=n.roundOffsets,c=n.isFixed,m=o.x,h=m===void 0?0:m,g=o.y,A=g===void 0?0:g,y=typeof u=="function"?u({x:h,y:A}):{x:h,y:A};h=y.x,A=y.y;var E=o.hasOwnProperty("x"),C=o.hasOwnProperty("y"),N=st,b=nt,v=window;if(p){var w=as(t),S="clientHeight",M="clientWidth";if(w===Tt(t)&&(w=un(t),tn(w).position!=="static"&&f==="absolute"&&(S="scrollHeight",M="scrollWidth")),w=w,i===nt||(i===st||i===mt)&&l===Vn){b=ht;var G=c&&w===v&&v.visualViewport?v.visualViewport.height:w[S];A-=G-s.height,A*=d?1:-1}if(i===st||(i===nt||i===ht)&&l===Vn){N=mt;var U=c&&w===v&&v.visualViewport?v.visualViewport.width:w[M];h-=U-s.width,h*=d?1:-1}}var K=Object.assign({position:f},p&&Cc),J=u===!0?Oc({x:h,y:A}):{x:h,y:A};if(h=J.x,A=J.y,d){var q;return Object.assign({},K,(q={},q[b]=C?"0":"",q[N]=E?"0":"",q.transform=(v.devicePixelRatio||1)<=1?"translate("+h+"px, "+A+"px)":"translate3d("+h+"px, "+A+"px, 0)",q))}return Object.assign({},K,(e={},e[b]=C?A+"px":"",e[N]=E?h+"px":"",e.transform="",e))}function Nc(n){var e=n.state,t=n.options,s=t.gpuAcceleration,i=s===void 0?!0:s,l=t.adaptive,o=l===void 0?!0:l,f=t.roundOffsets,d=f===void 0?!0:f,p={placement:Vt(e.placement),variation:Fn(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:i,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Wo(Object.assign({},p,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:o,roundOffsets:d})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Wo(Object.assign({},p,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:d})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Qi={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Nc,data:{}};var Ss={passive:!0};function Sc(n){var e=n.state,t=n.instance,s=n.options,i=s.scroll,l=i===void 0?!0:i,o=s.resize,f=o===void 0?!0:o,d=Tt(e.elements.popper),p=[].concat(e.scrollParents.reference,e.scrollParents.popper);return l&&p.forEach(function(u){u.addEventListener("scroll",t.update,Ss)}),f&&d.addEventListener("resize",t.update,Ss),function(){l&&p.forEach(function(u){u.removeEventListener("scroll",t.update,Ss)}),f&&d.removeEventListener("resize",t.update,Ss)}}const Xi={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Sc,data:{}};var Lc={left:"right",right:"left",bottom:"top",top:"bottom"};function Vs(n){return n.replace(/left|right|bottom|top/g,function(e){return Lc[e]})}var Dc={start:"end",end:"start"};function Fo(n){return n.replace(/start|end/g,function(e){return Dc[e]})}function Ji(n){var e=Tt(n),t=e.pageXOffset,s=e.pageYOffset;return{scrollLeft:t,scrollTop:s}}function Zi(n){return Wn(un(n)).left+Ji(n).scrollLeft}function Ic(n,e){var t=Tt(n),s=un(n),i=t.visualViewport,l=s.clientWidth,o=s.clientHeight,f=0,d=0;if(i){l=i.width,o=i.height;var p=xr();(p||!p&&e==="fixed")&&(f=i.offsetLeft,d=i.offsetTop)}return{width:l,height:o,x:f+Zi(n),y:d}}function Mc(n){var e,t=un(n),s=Ji(n),i=(e=n.ownerDocument)==null?void 0:e.body,l=gn(t.scrollWidth,t.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=gn(t.scrollHeight,t.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),f=-s.scrollLeft+Zi(n),d=-s.scrollTop;return tn(i||t).direction==="rtl"&&(f+=gn(t.clientWidth,i?i.clientWidth:0)-l),{width:l,height:o,x:f,y:d}}function xi(n){var e=tn(n),t=e.overflow,s=e.overflowX,i=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+i+s)}function oa(n){return["html","body","#document"].indexOf(Ft(n))>=0?n.ownerDocument.body:Et(n)&&xi(n)?n:oa(ei(n))}function ss(n,e){var t;e===void 0&&(e=[]);var s=oa(n),i=s===((t=n.ownerDocument)==null?void 0:t.body),l=Tt(s),o=i?[l].concat(l.visualViewport||[],xi(s)?s:[]):s,f=e.concat(o);return i?f:f.concat(ss(ei(o)))}function Ni(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function $c(n,e){var t=Wn(n,!1,e==="fixed");return t.top=t.top+n.clientTop,t.left=t.left+n.clientLeft,t.bottom=t.top+n.clientHeight,t.right=t.left+n.clientWidth,t.width=n.clientWidth,t.height=n.clientHeight,t.x=t.left,t.y=t.top,t}function zo(n,e,t){return e===zi?Ni(Ic(n,t)):vn(e)?$c(e,t):Ni(Mc(un(n)))}function Pc(n){var e=ss(ei(n)),t=["absolute","fixed"].indexOf(tn(n).position)>=0,s=t&&Et(n)?as(n):n;return vn(s)?e.filter(function(i){return vn(i)&&ea(i,s)&&Ft(i)!=="body"}):[]}function Rc(n,e,t,s){var i=e==="clippingParents"?Pc(n):[].concat(e),l=[].concat(i,[t]),o=l[0],f=l.reduce(function(d,p){var u=zo(n,p,s);return d.top=gn(u.top,d.top),d.right=Ys(u.right,d.right),d.bottom=Ys(u.bottom,d.bottom),d.left=gn(u.left,d.left),d},zo(n,o,s));return f.width=f.right-f.left,f.height=f.bottom-f.top,f.x=f.left,f.y=f.top,f}function la(n){var e=n.reference,t=n.element,s=n.placement,i=s?Vt(s):null,l=s?Fn(s):null,o=e.x+e.width/2-t.width/2,f=e.y+e.height/2-t.height/2,d;switch(i){case nt:d={x:o,y:e.y-t.height};break;case ht:d={x:o,y:e.y+e.height};break;case mt:d={x:e.x+e.width,y:f};break;case st:d={x:e.x-t.width,y:f};break;default:d={x:e.x,y:e.y}}var p=i?Ui(i):null;if(p!=null){var u=p==="y"?"height":"width";switch(l){case bn:d[p]=d[p]-(e[u]/2-t[u]/2);break;case Vn:d[p]=d[p]+(e[u]/2-t[u]/2);break}}return d}function zn(n,e){e===void 0&&(e={});var t=e,s=t.placement,i=s===void 0?n.placement:s,l=t.strategy,o=l===void 0?n.strategy:l,f=t.boundary,d=f===void 0?Wr:f,p=t.rootBoundary,u=p===void 0?zi:p,c=t.elementContext,m=c===void 0?$n:c,h=t.altBoundary,g=h===void 0?!1:h,A=t.padding,y=A===void 0?0:A,E=na(typeof y!="number"?y:sa(y,qn)),C=m===$n?Fr:$n,N=n.rects.popper,b=n.elements[g?C:m],v=Rc(vn(b)?b:b.contextElement||un(n.elements.popper),d,u,o),w=Wn(n.elements.reference),S=la({reference:w,element:N,strategy:"absolute",placement:i}),M=Ni(Object.assign({},N,S)),G=m===$n?M:w,U={top:v.top-G.top+E.top,bottom:G.bottom-v.bottom+E.bottom,left:v.left-G.left+E.left,right:G.right-v.right+E.right},K=n.modifiersData.offset;if(m===$n&&K){var J=K[i];Object.keys(U).forEach(function(q){var ne=[mt,ht].indexOf(q)>=0?1:-1,O=[nt,ht].indexOf(q)>=0?"y":"x";U[q]+=J[O]*ne})}return U}function jc(n,e){e===void 0&&(e={});var t=e,s=t.placement,i=t.boundary,l=t.rootBoundary,o=t.padding,f=t.flipVariations,d=t.allowedAutoPlacements,p=d===void 0?Gi:d,u=Fn(s),c=u?f?Ci:Ci.filter(function(g){return Fn(g)===u}):qn,m=c.filter(function(g){return p.indexOf(g)>=0});m.length===0&&(m=c);var h=m.reduce(function(g,A){return g[A]=zn(n,{placement:A,boundary:i,rootBoundary:l,padding:o})[Vt(A)],g},{});return Object.keys(h).sort(function(g,A){return h[g]-h[A]})}function Hc(n){if(Vt(n)===xs)return[];var e=Vs(n);return[Fo(n),e,Fo(e)]}function Vc(n){var e=n.state,t=n.options,s=n.name;if(!e.modifiersData[s]._skip){for(var i=t.mainAxis,l=i===void 0?!0:i,o=t.altAxis,f=o===void 0?!0:o,d=t.fallbackPlacements,p=t.padding,u=t.boundary,c=t.rootBoundary,m=t.altBoundary,h=t.flipVariations,g=h===void 0?!0:h,A=t.allowedAutoPlacements,y=e.options.placement,E=Vt(y),C=E===y,N=d||(C||!g?[Vs(y)]:Hc(y)),b=[y].concat(N).reduce(function(Z,de){return Z.concat(Vt(de)===xs?jc(e,{placement:de,boundary:u,rootBoundary:c,padding:p,flipVariations:g,allowedAutoPlacements:A}):de)},[]),v=e.rects.reference,w=e.rects.popper,S=new Map,M=!0,G=b[0],U=0;U=0,O=ne?"width":"height",X=zn(e,{placement:K,boundary:u,rootBoundary:c,altBoundary:m,padding:p}),I=ne?q?mt:st:q?ht:nt;v[O]>w[O]&&(I=Vs(I));var le=Vs(I),se=[];if(l&&se.push(X[J]<=0),f&&se.push(X[I]<=0,X[le]<=0),se.every(function(Z){return Z})){G=K,M=!1;break}S.set(K,se)}if(M)for(var ie=g?3:1,_e=function(de){var ke=b.find(function(ae){var oe=S.get(ae);if(oe)return oe.slice(0,de).every(function(Ae){return Ae})});if(ke)return G=ke,"break"},B=ie;B>0;B--){var Q=_e(B);if(Q==="break")break}e.placement!==G&&(e.modifiersData[s]._skip=!0,e.placement=G,e.reset=!0)}}const ra={name:"flip",enabled:!0,phase:"main",fn:Vc,requiresIfExists:["offset"],data:{_skip:!1}};function Go(n,e,t){return t===void 0&&(t={x:0,y:0}),{top:n.top-e.height-t.y,right:n.right-e.width+t.x,bottom:n.bottom-e.height+t.y,left:n.left-e.width-t.x}}function Ko(n){return[nt,mt,ht,st].some(function(e){return n[e]>=0})}function Bc(n){var e=n.state,t=n.name,s=e.rects.reference,i=e.rects.popper,l=e.modifiersData.preventOverflow,o=zn(e,{elementContext:"reference"}),f=zn(e,{altBoundary:!0}),d=Go(o,s),p=Go(f,i,l),u=Ko(d),c=Ko(p);e.modifiersData[t]={referenceClippingOffsets:d,popperEscapeOffsets:p,isReferenceHidden:u,hasPopperEscaped:c},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":c})}const aa={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Bc};function Wc(n,e,t){var s=Vt(n),i=[st,nt].indexOf(s)>=0?-1:1,l=typeof t=="function"?t(Object.assign({},e,{placement:n})):t,o=l[0],f=l[1];return o=o||0,f=(f||0)*i,[st,mt].indexOf(s)>=0?{x:f,y:o}:{x:o,y:f}}function Fc(n){var e=n.state,t=n.options,s=n.name,i=t.offset,l=i===void 0?[0,0]:i,o=Gi.reduce(function(u,c){return u[c]=Wc(c,e.rects,l),u},{}),f=o[e.placement],d=f.x,p=f.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=d,e.modifiersData.popperOffsets.y+=p),e.modifiersData[s]=o}const ca={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Fc};function zc(n){var e=n.state,t=n.name;e.modifiersData[t]=la({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const eo={name:"popperOffsets",enabled:!0,phase:"read",fn:zc,data:{}};function Gc(n){return n==="x"?"y":"x"}function Kc(n){var e=n.state,t=n.options,s=n.name,i=t.mainAxis,l=i===void 0?!0:i,o=t.altAxis,f=o===void 0?!1:o,d=t.boundary,p=t.rootBoundary,u=t.altBoundary,c=t.padding,m=t.tether,h=m===void 0?!0:m,g=t.tetherOffset,A=g===void 0?0:g,y=zn(e,{boundary:d,rootBoundary:p,padding:c,altBoundary:u}),E=Vt(e.placement),C=Fn(e.placement),N=!C,b=Ui(E),v=Gc(b),w=e.modifiersData.popperOffsets,S=e.rects.reference,M=e.rects.popper,G=typeof A=="function"?A(Object.assign({},e.rects,{placement:e.placement})):A,U=typeof G=="number"?{mainAxis:G,altAxis:G}:Object.assign({mainAxis:0,altAxis:0},G),K=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,J={x:0,y:0};if(!!w){if(l){var q,ne=b==="y"?nt:st,O=b==="y"?ht:mt,X=b==="y"?"height":"width",I=w[b],le=I+y[ne],se=I-y[O],ie=h?-M[X]/2:0,_e=C===bn?S[X]:M[X],B=C===bn?-M[X]:-S[X],Q=e.elements.arrow,Z=h&&Q?qi(Q):{width:0,height:0},de=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:ta(),ke=de[ne],ae=de[O],oe=ns(0,S[X],Z[X]),Ae=N?S[X]/2-ie-oe-ke-U.mainAxis:_e-oe-ke-U.mainAxis,Ne=N?-S[X]/2+ie+oe+ae+U.mainAxis:B+oe+ae+U.mainAxis,$=e.elements.arrow&&as(e.elements.arrow),Y=$?b==="y"?$.clientTop||0:$.clientLeft||0:0,R=(q=K==null?void 0:K[b])!=null?q:0,W=I+Ae-R-Y,x=I+Ne-R,Le=ns(h?Ys(le,W):le,I,h?gn(se,x):se);w[b]=Le,J[b]=Le-I}if(f){var Re,et=b==="x"?nt:st,he=b==="x"?ht:mt,me=w[v],Te=v==="y"?"height":"width",F=me+y[et],Oe=me-y[he],Be=[nt,st].indexOf(E)!==-1,at=(Re=K==null?void 0:K[v])!=null?Re:0,Ye=Be?F:me-S[Te]-M[Te]-at+U.altAxis,We=Be?me+S[Te]+M[Te]-at-U.altAxis:Oe,vt=h&&Be?kc(Ye,me,We):ns(h?Ye:F,me,h?We:Oe);w[v]=vt,J[v]=vt-me}e.modifiersData[s]=J}}const ua={name:"preventOverflow",enabled:!0,phase:"main",fn:Kc,requiresIfExists:["offset"]};function Yc(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function qc(n){return n===Tt(n)||!Et(n)?Ji(n):Yc(n)}function Uc(n){var e=n.getBoundingClientRect(),t=Bn(e.width)/n.offsetWidth||1,s=Bn(e.height)/n.offsetHeight||1;return t!==1||s!==1}function Qc(n,e,t){t===void 0&&(t=!1);var s=Et(e),i=Et(e)&&Uc(e),l=un(e),o=Wn(n,i,t),f={scrollLeft:0,scrollTop:0},d={x:0,y:0};return(s||!s&&!t)&&((Ft(e)!=="body"||xi(l))&&(f=qc(e)),Et(e)?(d=Wn(e,!0),d.x+=e.clientLeft,d.y+=e.clientTop):l&&(d.x=Zi(l))),{x:o.left+f.scrollLeft-d.x,y:o.top+f.scrollTop-d.y,width:o.width,height:o.height}}function Xc(n){var e=new Map,t=new Set,s=[];n.forEach(function(l){e.set(l.name,l)});function i(l){t.add(l.name);var o=[].concat(l.requires||[],l.requiresIfExists||[]);o.forEach(function(f){if(!t.has(f)){var d=e.get(f);d&&i(d)}}),s.push(l)}return n.forEach(function(l){t.has(l.name)||i(l)}),s}function Jc(n){var e=Xc(n);return Zr.reduce(function(t,s){return t.concat(e.filter(function(i){return i.phase===s}))},[])}function Zc(n){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(n())})})),e}}function xc(n){var e=n.reduce(function(t,s){var i=t[s.name];return t[s.name]=i?Object.assign({},i,s,{options:Object.assign({},i.options,s.options),data:Object.assign({},i.data,s.data)}):s,t},{});return Object.keys(e).map(function(t){return e[t]})}var Yo={placement:"bottom",modifiers:[],strategy:"absolute"};function qo(){for(var n=arguments.length,e=new Array(n),t=0;tn==null?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase(),ru=n=>{do n+=Math.floor(Math.random()*iu);while(document.getElementById(n));return n},fa=n=>{let e=n.getAttribute("data-bs-target");if(!e||e==="#"){let t=n.getAttribute("href");if(!t||!t.includes("#")&&!t.startsWith("."))return null;t.includes("#")&&!t.startsWith("#")&&(t=`#${t.split("#")[1]}`),e=t&&t!=="#"?t.trim():null}return e},pa=n=>{const e=fa(n);return e&&document.querySelector(e)?e:null},Zt=n=>{const e=fa(n);return e?document.querySelector(e):null},au=n=>{if(!n)return 0;let{transitionDuration:e,transitionDelay:t}=window.getComputedStyle(n);const s=Number.parseFloat(e),i=Number.parseFloat(t);return!s&&!i?0:(e=e.split(",")[0],t=t.split(",")[0],(Number.parseFloat(e)+Number.parseFloat(t))*ou)},_a=n=>{n.dispatchEvent(new Event(Si))},xt=n=>!n||typeof n!="object"?!1:(typeof n.jquery<"u"&&(n=n[0]),typeof n.nodeType<"u"),rn=n=>xt(n)?n.jquery?n[0]:n:typeof n=="string"&&n.length>0?document.querySelector(n):null,Un=n=>{if(!xt(n)||n.getClientRects().length===0)return!1;const e=getComputedStyle(n).getPropertyValue("visibility")==="visible",t=n.closest("details:not([open])");if(!t)return e;if(t!==n){const s=n.closest("summary");if(s&&s.parentNode!==t||s===null)return!1}return e},an=n=>!n||n.nodeType!==Node.ELEMENT_NODE||n.classList.contains("disabled")?!0:typeof n.disabled<"u"?n.disabled:n.hasAttribute("disabled")&&n.getAttribute("disabled")!=="false",ha=n=>{if(!document.documentElement.attachShadow)return null;if(typeof n.getRootNode=="function"){const e=n.getRootNode();return e instanceof ShadowRoot?e:null}return n instanceof ShadowRoot?n:n.parentNode?ha(n.parentNode):null},qs=()=>{},cs=n=>{n.offsetHeight},ma=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,fi=[],cu=n=>{document.readyState==="loading"?(fi.length||document.addEventListener("DOMContentLoaded",()=>{for(const e of fi)e()}),fi.push(n)):n()},At=()=>document.documentElement.dir==="rtl",Ct=n=>{cu(()=>{const e=ma();if(e){const t=n.NAME,s=e.fn[t];e.fn[t]=n.jQueryInterface,e.fn[t].Constructor=n,e.fn[t].noConflict=()=>(e.fn[t]=s,n.jQueryInterface)}})},Jt=n=>{typeof n=="function"&&n()},ga=(n,e,t=!0)=>{if(!t){Jt(n);return}const s=5,i=au(e)+s;let l=!1;const o=({target:f})=>{f===e&&(l=!0,e.removeEventListener(Si,o),Jt(n))};e.addEventListener(Si,o),setTimeout(()=>{l||_a(e)},i)},no=(n,e,t,s)=>{const i=n.length;let l=n.indexOf(e);return l===-1?!t&&s?n[i-1]:n[0]:(l+=t?1:-1,s&&(l=(l+i)%i),n[Math.max(0,Math.min(l,i-1))])},uu=/[^.]*(?=\..*)\.|.*/,du=/\..*/,fu=/::\d+$/,pi={};let Uo=1;const ba={mouseenter:"mouseover",mouseleave:"mouseout"},pu=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function va(n,e){return e&&`${e}::${Uo++}`||n.uidEvent||Uo++}function wa(n){const e=va(n);return n.uidEvent=e,pi[e]=pi[e]||{},pi[e]}function _u(n,e){return function t(s){return so(s,{delegateTarget:n}),t.oneOff&&z.off(n,s.type,e),e.apply(n,[s])}}function hu(n,e,t){return function s(i){const l=n.querySelectorAll(e);for(let{target:o}=i;o&&o!==this;o=o.parentNode)for(const f of l)if(f===o)return so(i,{delegateTarget:o}),s.oneOff&&z.off(n,i.type,e,t),t.apply(o,[i])}}function ya(n,e,t=null){return Object.values(n).find(s=>s.callable===e&&s.delegationSelector===t)}function ka(n,e,t){const s=typeof e=="string",i=s?t:e||t;let l=Ea(n);return pu.has(l)||(l=n),[s,i,l]}function Qo(n,e,t,s,i){if(typeof e!="string"||!n)return;let[l,o,f]=ka(e,t,s);e in ba&&(o=(g=>function(A){if(!A.relatedTarget||A.relatedTarget!==A.delegateTarget&&!A.delegateTarget.contains(A.relatedTarget))return g.call(this,A)})(o));const d=wa(n),p=d[f]||(d[f]={}),u=ya(p,o,l?t:null);if(u){u.oneOff=u.oneOff&&i;return}const c=va(o,e.replace(uu,"")),m=l?hu(n,t,o):_u(n,o);m.delegationSelector=l?t:null,m.callable=o,m.oneOff=i,m.uidEvent=c,p[c]=m,n.addEventListener(f,m,l)}function Li(n,e,t,s,i){const l=ya(e[t],s,i);!l||(n.removeEventListener(t,l,Boolean(i)),delete e[t][l.uidEvent])}function mu(n,e,t,s){const i=e[t]||{};for(const l of Object.keys(i))if(l.includes(s)){const o=i[l];Li(n,e,t,o.callable,o.delegationSelector)}}function Ea(n){return n=n.replace(du,""),ba[n]||n}const z={on(n,e,t,s){Qo(n,e,t,s,!1)},one(n,e,t,s){Qo(n,e,t,s,!0)},off(n,e,t,s){if(typeof e!="string"||!n)return;const[i,l,o]=ka(e,t,s),f=o!==e,d=wa(n),p=d[o]||{},u=e.startsWith(".");if(typeof l<"u"){if(!Object.keys(p).length)return;Li(n,d,o,l,i?t:null);return}if(u)for(const c of Object.keys(d))mu(n,d,c,e.slice(1));for(const c of Object.keys(p)){const m=c.replace(fu,"");if(!f||e.includes(m)){const h=p[c];Li(n,d,o,h.callable,h.delegationSelector)}}},trigger(n,e,t){if(typeof e!="string"||!n)return null;const s=ma(),i=Ea(e),l=e!==i;let o=null,f=!0,d=!0,p=!1;l&&s&&(o=s.Event(e,t),s(n).trigger(o),f=!o.isPropagationStopped(),d=!o.isImmediatePropagationStopped(),p=o.isDefaultPrevented());let u=new Event(e,{bubbles:f,cancelable:!0});return u=so(u,t),p&&u.preventDefault(),d&&n.dispatchEvent(u),u.defaultPrevented&&o&&o.preventDefault(),u}};function so(n,e){for(const[t,s]of Object.entries(e||{}))try{n[t]=s}catch{Object.defineProperty(n,t,{configurable:!0,get(){return s}})}return n}const sn=new Map,_i={set(n,e,t){sn.has(n)||sn.set(n,new Map);const s=sn.get(n);if(!s.has(e)&&s.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`);return}s.set(e,t)},get(n,e){return sn.has(n)&&sn.get(n).get(e)||null},remove(n,e){if(!sn.has(n))return;const t=sn.get(n);t.delete(e),t.size===0&&sn.delete(n)}};function Xo(n){if(n==="true")return!0;if(n==="false")return!1;if(n===Number(n).toString())return Number(n);if(n===""||n==="null")return null;if(typeof n!="string")return n;try{return JSON.parse(decodeURIComponent(n))}catch{return n}}function hi(n){return n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const en={setDataAttribute(n,e,t){n.setAttribute(`data-bs-${hi(e)}`,t)},removeDataAttribute(n,e){n.removeAttribute(`data-bs-${hi(e)}`)},getDataAttributes(n){if(!n)return{};const e={},t=Object.keys(n.dataset).filter(s=>s.startsWith("bs")&&!s.startsWith("bsConfig"));for(const s of t){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=Xo(n.dataset[s])}return e},getDataAttribute(n,e){return Xo(n.getAttribute(`data-bs-${hi(e)}`))}};class us{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const s=xt(t)?en.getDataAttribute(t,"config"):{};return{...this.constructor.Default,...typeof s=="object"?s:{},...xt(t)?en.getDataAttributes(t):{},...typeof e=="object"?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const s of Object.keys(t)){const i=t[s],l=e[s],o=xt(l)?"element":lu(l);if(!new RegExp(i).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${i}".`)}}}const gu="5.2.0";class Lt extends us{constructor(e,t){super(),e=rn(e),e&&(this._element=e,this._config=this._getConfig(t),_i.set(this._element,this.constructor.DATA_KEY,this))}dispose(){_i.remove(this._element,this.constructor.DATA_KEY),z.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,s=!0){ga(e,t,s)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return _i.get(rn(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,typeof t=="object"?t:null)}static get VERSION(){return gu}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const ni=(n,e="hide")=>{const t=`click.dismiss${n.EVENT_KEY}`,s=n.NAME;z.on(document,t,`[data-bs-dismiss="${s}"]`,function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),an(this))return;const l=Zt(this)||this.closest(`.${s}`);n.getOrCreateInstance(l)[e]()})},bu="alert",vu="bs.alert",Aa=`.${vu}`,wu=`close${Aa}`,yu=`closed${Aa}`,ku="fade",Eu="show";class si extends Lt{static get NAME(){return bu}close(){if(z.trigger(this._element,wu).defaultPrevented)return;this._element.classList.remove(Eu);const t=this._element.classList.contains(ku);this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),z.trigger(this._element,yu),this.dispose()}static jQueryInterface(e){return this.each(function(){const t=si.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}ni(si,"close");Ct(si);const Au="button",Tu="bs.button",Cu=`.${Tu}`,Ou=".data-api",Nu="active",Jo='[data-bs-toggle="button"]',Su=`click${Cu}${Ou}`;class ii extends Lt{static get NAME(){return Au}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Nu))}static jQueryInterface(e){return this.each(function(){const t=ii.getOrCreateInstance(this);e==="toggle"&&t[e]()})}}z.on(document,Su,Jo,n=>{n.preventDefault();const e=n.target.closest(Jo);ii.getOrCreateInstance(e).toggle()});Ct(ii);const we={find(n,e=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(e,n))},findOne(n,e=document.documentElement){return Element.prototype.querySelector.call(e,n)},children(n,e){return[].concat(...n.children).filter(t=>t.matches(e))},parents(n,e){const t=[];let s=n.parentNode.closest(e);for(;s;)t.push(s),s=s.parentNode.closest(e);return t},prev(n,e){let t=n.previousElementSibling;for(;t;){if(t.matches(e))return[t];t=t.previousElementSibling}return[]},next(n,e){let t=n.nextElementSibling;for(;t;){if(t.matches(e))return[t];t=t.nextElementSibling}return[]},focusableChildren(n){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,n).filter(t=>!an(t)&&Un(t))}},Lu="swipe",Qn=".bs.swipe",Du=`touchstart${Qn}`,Iu=`touchmove${Qn}`,Mu=`touchend${Qn}`,$u=`pointerdown${Qn}`,Pu=`pointerup${Qn}`,Ru="touch",ju="pen",Hu="pointer-event",Vu=40,Bu={endCallback:null,leftCallback:null,rightCallback:null},Wu={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Us extends us{constructor(e,t){super(),this._element=e,!(!e||!Us.isSupported())&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Bu}static get DefaultType(){return Wu}static get NAME(){return Lu}dispose(){z.off(this._element,Qn)}_start(e){if(!this._supportPointerEvents){this._deltaX=e.touches[0].clientX;return}this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX)}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),Jt(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=Vu)return;const t=e/this._deltaX;this._deltaX=0,t&&Jt(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(z.on(this._element,$u,e=>this._start(e)),z.on(this._element,Pu,e=>this._end(e)),this._element.classList.add(Hu)):(z.on(this._element,Du,e=>this._start(e)),z.on(this._element,Iu,e=>this._move(e)),z.on(this._element,Mu,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&(e.pointerType===ju||e.pointerType===Ru)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Fu="carousel",zu="bs.carousel",dn=`.${zu}`,Ta=".data-api",Gu="ArrowLeft",Ku="ArrowRight",Yu=500,Jn="next",In="prev",Pn="left",Bs="right",qu=`slide${dn}`,mi=`slid${dn}`,Uu=`keydown${dn}`,Qu=`mouseenter${dn}`,Xu=`mouseleave${dn}`,Ju=`dragstart${dn}`,Zu=`load${dn}${Ta}`,xu=`click${dn}${Ta}`,Ca="carousel",Ls="active",ed="slide",td="carousel-item-end",nd="carousel-item-start",sd="carousel-item-next",id="carousel-item-prev",Oa=".active",Na=".carousel-item",od=Oa+Na,ld=".carousel-item img",rd=".carousel-indicators",ad="[data-bs-slide], [data-bs-slide-to]",cd='[data-bs-ride="carousel"]',ud={[Gu]:Bs,[Ku]:Pn},dd={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},fd={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ds extends Lt{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=we.findOne(rd,this._element),this._addEventListeners(),this._config.ride===Ca&&this.cycle()}static get Default(){return dd}static get DefaultType(){return fd}static get NAME(){return Fu}next(){this._slide(Jn)}nextWhenVisible(){!document.hidden&&Un(this._element)&&this.next()}prev(){this._slide(In)}pause(){this._isSliding&&_a(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(!!this._config.ride){if(this._isSliding){z.one(this._element,mi,()=>this.cycle());return}this.cycle()}}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding){z.one(this._element,mi,()=>this.to(e));return}const s=this._getItemIndex(this._getActive());if(s===e)return;const i=e>s?Jn:In;this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&z.on(this._element,Uu,e=>this._keydown(e)),this._config.pause==="hover"&&(z.on(this._element,Qu,()=>this.pause()),z.on(this._element,Xu,()=>this._maybeEnableCycle())),this._config.touch&&Us.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const s of we.find(ld,this._element))z.on(s,Ju,i=>i.preventDefault());const t={leftCallback:()=>this._slide(this._directionToOrder(Pn)),rightCallback:()=>this._slide(this._directionToOrder(Bs)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),Yu+this._config.interval))}};this._swipeHelper=new Us(this._element,t)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=ud[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=we.findOne(Oa,this._indicatorsElement);t.classList.remove(Ls),t.removeAttribute("aria-current");const s=we.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);s&&(s.classList.add(Ls),s.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const s=this._getActive(),i=e===Jn,l=t||no(this._getItems(),s,i,this._config.wrap);if(l===s)return;const o=this._getItemIndex(l),f=h=>z.trigger(this._element,h,{relatedTarget:l,direction:this._orderToDirection(e),from:this._getItemIndex(s),to:o});if(f(qu).defaultPrevented||!s||!l)return;const p=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=l;const u=i?nd:td,c=i?sd:id;l.classList.add(c),cs(l),s.classList.add(u),l.classList.add(u);const m=()=>{l.classList.remove(u,c),l.classList.add(Ls),s.classList.remove(Ls,c,u),this._isSliding=!1,f(mi)};this._queueCallback(m,s,this._isAnimated()),p&&this.cycle()}_isAnimated(){return this._element.classList.contains(ed)}_getActive(){return we.findOne(od,this._element)}_getItems(){return we.find(Na,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return At()?e===Pn?In:Jn:e===Pn?Jn:In}_orderToDirection(e){return At()?e===In?Pn:Bs:e===In?Bs:Pn}static jQueryInterface(e){return this.each(function(){const t=ds.getOrCreateInstance(this,e);if(typeof e=="number"){t.to(e);return}if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}z.on(document,xu,ad,function(n){const e=Zt(this);if(!e||!e.classList.contains(Ca))return;n.preventDefault();const t=ds.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");if(s){t.to(s),t._maybeEnableCycle();return}if(en.getDataAttribute(this,"slide")==="next"){t.next(),t._maybeEnableCycle();return}t.prev(),t._maybeEnableCycle()});z.on(window,Zu,()=>{const n=we.find(cd);for(const e of n)ds.getOrCreateInstance(e)});Ct(ds);const pd="collapse",_d="bs.collapse",fs=`.${_d}`,hd=".data-api",md=`show${fs}`,gd=`shown${fs}`,bd=`hide${fs}`,vd=`hidden${fs}`,wd=`click${fs}${hd}`,gi="show",jn="collapse",Ds="collapsing",yd="collapsed",kd=`:scope .${jn} .${jn}`,Ed="collapse-horizontal",Ad="width",Td="height",Cd=".collapse.show, .collapse.collapsing",Di='[data-bs-toggle="collapse"]',Od={parent:null,toggle:!0},Nd={parent:"(null|element)",toggle:"boolean"};class ls extends Lt{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const s=we.find(Di);for(const i of s){const l=pa(i),o=we.find(l).filter(f=>f===this._element);l!==null&&o.length&&this._triggerArray.push(i)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Od}static get DefaultType(){return Nd}static get NAME(){return pd}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(Cd).filter(f=>f!==this._element).map(f=>ls.getOrCreateInstance(f,{toggle:!1}))),e.length&&e[0]._isTransitioning||z.trigger(this._element,md).defaultPrevented)return;for(const f of e)f.hide();const s=this._getDimension();this._element.classList.remove(jn),this._element.classList.add(Ds),this._element.style[s]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=()=>{this._isTransitioning=!1,this._element.classList.remove(Ds),this._element.classList.add(jn,gi),this._element.style[s]="",z.trigger(this._element,gd)},o=`scroll${s[0].toUpperCase()+s.slice(1)}`;this._queueCallback(i,this._element,!0),this._element.style[s]=`${this._element[o]}px`}hide(){if(this._isTransitioning||!this._isShown()||z.trigger(this._element,bd).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,cs(this._element),this._element.classList.add(Ds),this._element.classList.remove(jn,gi);for(const i of this._triggerArray){const l=Zt(i);l&&!this._isShown(l)&&this._addAriaAndCollapsedClass([i],!1)}this._isTransitioning=!0;const s=()=>{this._isTransitioning=!1,this._element.classList.remove(Ds),this._element.classList.add(jn),z.trigger(this._element,vd)};this._element.style[t]="",this._queueCallback(s,this._element,!0)}_isShown(e=this._element){return e.classList.contains(gi)}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=rn(e.parent),e}_getDimension(){return this._element.classList.contains(Ed)?Ad:Td}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(Di);for(const t of e){const s=Zt(t);s&&this._addAriaAndCollapsedClass([t],this._isShown(s))}}_getFirstLevelChildren(e){const t=we.find(kd,this._config.parent);return we.find(e,this._config.parent).filter(s=>!t.includes(s))}_addAriaAndCollapsedClass(e,t){if(!!e.length)for(const s of e)s.classList.toggle(yd,!t),s.setAttribute("aria-expanded",t)}static jQueryInterface(e){const t={};return typeof e=="string"&&/show|hide/.test(e)&&(t.toggle=!1),this.each(function(){const s=ls.getOrCreateInstance(this,t);if(typeof e=="string"){if(typeof s[e]>"u")throw new TypeError(`No method named "${e}"`);s[e]()}})}}z.on(document,wd,Di,function(n){(n.target.tagName==="A"||n.delegateTarget&&n.delegateTarget.tagName==="A")&&n.preventDefault();const e=pa(this),t=we.find(e);for(const s of t)ls.getOrCreateInstance(s,{toggle:!1}).toggle()});Ct(ls);const Zo="dropdown",Sd="bs.dropdown",yn=`.${Sd}`,io=".data-api",Ld="Escape",xo="Tab",Dd="ArrowUp",el="ArrowDown",Id=2,Md=`hide${yn}`,$d=`hidden${yn}`,Pd=`show${yn}`,Rd=`shown${yn}`,Sa=`click${yn}${io}`,La=`keydown${yn}${io}`,jd=`keyup${yn}${io}`,Rn="show",Hd="dropup",Vd="dropend",Bd="dropstart",Wd="dropup-center",Fd="dropdown-center",oi='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',zd=`${oi}.${Rn}`,Da=".dropdown-menu",Gd=".navbar",Kd=".navbar-nav",Yd=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",qd=At()?"top-end":"top-start",Ud=At()?"top-start":"top-end",Qd=At()?"bottom-end":"bottom-start",Xd=At()?"bottom-start":"bottom-end",Jd=At()?"left-start":"right-start",Zd=At()?"right-start":"left-start",xd="top",ef="bottom",tf={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},nf={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Nt extends Lt{constructor(e,t){super(e,t),this._popper=null,this._parent=this._element.parentNode,this._menu=we.findOne(Da,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return tf}static get DefaultType(){return nf}static get NAME(){return Zo}toggle(){return this._isShown()?this.hide():this.show()}show(){if(an(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!z.trigger(this._element,Pd,e).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(Kd))for(const s of[].concat(...document.body.children))z.on(s,"mouseover",qs);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Rn),this._element.classList.add(Rn),z.trigger(this._element,Rd,e)}}hide(){if(an(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){if(!z.trigger(this._element,Md,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(const s of[].concat(...document.body.children))z.off(s,"mouseover",qs);this._popper&&this._popper.destroy(),this._menu.classList.remove(Rn),this._element.classList.remove(Rn),this._element.setAttribute("aria-expanded","false"),en.removeDataAttribute(this._menu,"popper"),z.trigger(this._element,$d,e)}}_getConfig(e){if(e=super._getConfig(e),typeof e.reference=="object"&&!xt(e.reference)&&typeof e.reference.getBoundingClientRect!="function")throw new TypeError(`${Zo.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(){if(typeof da>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;this._config.reference==="parent"?e=this._parent:xt(this._config.reference)?e=rn(this._config.reference):typeof this._config.reference=="object"&&(e=this._config.reference);const t=this._getPopperConfig();this._popper=to(e,this._menu,t)}_isShown(){return this._menu.classList.contains(Rn)}_getPlacement(){const e=this._parent;if(e.classList.contains(Vd))return Jd;if(e.classList.contains(Bd))return Zd;if(e.classList.contains(Wd))return xd;if(e.classList.contains(Fd))return ef;const t=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return e.classList.contains(Hd)?t?Ud:qd:t?Xd:Qd}_detectNavbar(){return this._element.closest(Gd)!==null}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map(t=>Number.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(en.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,...typeof this._config.popperConfig=="function"?this._config.popperConfig(e):this._config.popperConfig}}_selectMenuItem({key:e,target:t}){const s=we.find(Yd,this._menu).filter(i=>Un(i));!s.length||no(s,t,e===el,!s.includes(t)).focus()}static jQueryInterface(e){return this.each(function(){const t=Nt.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}static clearMenus(e){if(e.button===Id||e.type==="keyup"&&e.key!==xo)return;const t=we.find(zd);for(const s of t){const i=Nt.getInstance(s);if(!i||i._config.autoClose===!1)continue;const l=e.composedPath(),o=l.includes(i._menu);if(l.includes(i._element)||i._config.autoClose==="inside"&&!o||i._config.autoClose==="outside"&&o||i._menu.contains(e.target)&&(e.type==="keyup"&&e.key===xo||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const f={relatedTarget:i._element};e.type==="click"&&(f.clickEvent=e),i._completeHide(f)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),s=e.key===Ld,i=[Dd,el].includes(e.key);if(!i&&!s||t&&!s)return;e.preventDefault();const l=we.findOne(oi,e.delegateTarget.parentNode),o=Nt.getOrCreateInstance(l);if(i){e.stopPropagation(),o.show(),o._selectMenuItem(e);return}o._isShown()&&(e.stopPropagation(),o.hide(),l.focus())}}z.on(document,La,oi,Nt.dataApiKeydownHandler);z.on(document,La,Da,Nt.dataApiKeydownHandler);z.on(document,Sa,Nt.clearMenus);z.on(document,jd,Nt.clearMenus);z.on(document,Sa,oi,function(n){n.preventDefault(),Nt.getOrCreateInstance(this).toggle()});Ct(Nt);const tl=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",nl=".sticky-top",Is="padding-right",sl="margin-right";class Ii{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Is,t=>t+e),this._setElementAttributes(tl,Is,t=>t+e),this._setElementAttributes(nl,sl,t=>t-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Is),this._resetElementAttributes(tl,Is),this._resetElementAttributes(nl,sl)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,s){const i=this.getWidth(),l=o=>{if(o!==this._element&&window.innerWidth>o.clientWidth+i)return;this._saveInitialAttribute(o,t);const f=window.getComputedStyle(o).getPropertyValue(t);o.style.setProperty(t,`${s(Number.parseFloat(f))}px`)};this._applyManipulationCallback(e,l)}_saveInitialAttribute(e,t){const s=e.style.getPropertyValue(t);s&&en.setDataAttribute(e,t,s)}_resetElementAttributes(e,t){const s=i=>{const l=en.getDataAttribute(i,t);if(l===null){i.style.removeProperty(t);return}en.removeDataAttribute(i,t),i.style.setProperty(t,l)};this._applyManipulationCallback(e,s)}_applyManipulationCallback(e,t){if(xt(e)){t(e);return}for(const s of we.find(e,this._element))t(s)}}const Ia="backdrop",sf="fade",il="show",ol=`mousedown.bs.${Ia}`,of={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},lf={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ma extends us{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return of}static get DefaultType(){return lf}static get NAME(){return Ia}show(e){if(!this._config.isVisible){Jt(e);return}this._append();const t=this._getElement();this._config.isAnimated&&cs(t),t.classList.add(il),this._emulateAnimation(()=>{Jt(e)})}hide(e){if(!this._config.isVisible){Jt(e);return}this._getElement().classList.remove(il),this._emulateAnimation(()=>{this.dispose(),Jt(e)})}dispose(){!this._isAppended||(z.off(this._element,ol),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add(sf),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=rn(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),z.on(e,ol,()=>{Jt(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){ga(e,this._getElement(),this._config.isAnimated)}}const rf="focustrap",af="bs.focustrap",Qs=`.${af}`,cf=`focusin${Qs}`,uf=`keydown.tab${Qs}`,df="Tab",ff="forward",ll="backward",pf={autofocus:!0,trapElement:null},_f={autofocus:"boolean",trapElement:"element"};class $a extends us{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return pf}static get DefaultType(){return _f}static get NAME(){return rf}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),z.off(document,Qs),z.on(document,cf,e=>this._handleFocusin(e)),z.on(document,uf,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){!this._isActive||(this._isActive=!1,z.off(document,Qs))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const s=we.focusableChildren(t);s.length===0?t.focus():this._lastTabNavDirection===ll?s[s.length-1].focus():s[0].focus()}_handleKeydown(e){e.key===df&&(this._lastTabNavDirection=e.shiftKey?ll:ff)}}const hf="modal",mf="bs.modal",Gt=`.${mf}`,gf=".data-api",bf="Escape",vf=`hide${Gt}`,wf=`hidePrevented${Gt}`,Pa=`hidden${Gt}`,Ra=`show${Gt}`,yf=`shown${Gt}`,kf=`resize${Gt}`,Ef=`mousedown.dismiss${Gt}`,Af=`keydown.dismiss${Gt}`,Tf=`click${Gt}${gf}`,rl="modal-open",Cf="fade",al="show",bi="modal-static",Of=".modal.show",Nf=".modal-dialog",Sf=".modal-body",Lf='[data-bs-toggle="modal"]',Df={backdrop:!0,focus:!0,keyboard:!0},If={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class wn extends Lt{constructor(e,t){super(e,t),this._dialog=we.findOne(Nf,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ii,this._addEventListeners()}static get Default(){return Df}static get DefaultType(){return If}static get NAME(){return hf}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||this._isTransitioning||z.trigger(this._element,Ra,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(rl),this._adjustDialog(),this._backdrop.show(()=>this._showElement(e)))}hide(){!this._isShown||this._isTransitioning||z.trigger(this._element,vf).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(al),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){for(const e of[window,this._dialog])z.off(e,Gt);this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ma({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new $a({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const t=we.findOne(Sf,this._dialog);t&&(t.scrollTop=0),cs(this._element),this._element.classList.add(al);const s=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,z.trigger(this._element,yf,{relatedTarget:e})};this._queueCallback(s,this._dialog,this._isAnimated())}_addEventListeners(){z.on(this._element,Af,e=>{if(e.key===bf){if(this._config.keyboard){e.preventDefault(),this.hide();return}this._triggerBackdropTransition()}}),z.on(window,kf,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),z.on(this._element,Ef,e=>{if(e.target===e.currentTarget){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(rl),this._resetAdjustments(),this._scrollBar.reset(),z.trigger(this._element,Pa)})}_isAnimated(){return this._element.classList.contains(Cf)}_triggerBackdropTransition(){if(z.trigger(this._element,wf).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,s=this._element.style.overflowY;s==="hidden"||this._element.classList.contains(bi)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(bi),this._queueCallback(()=>{this._element.classList.remove(bi),this._queueCallback(()=>{this._element.style.overflowY=s},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._scrollBar.getWidth(),s=t>0;if(s&&!e){const i=At()?"paddingLeft":"paddingRight";this._element.style[i]=`${t}px`}if(!s&&e){const i=At()?"paddingRight":"paddingLeft";this._element.style[i]=`${t}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each(function(){const s=wn.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof s[e]>"u")throw new TypeError(`No method named "${e}"`);s[e](t)}})}}z.on(document,Tf,Lf,function(n){const e=Zt(this);["A","AREA"].includes(this.tagName)&&n.preventDefault(),z.one(e,Ra,i=>{i.defaultPrevented||z.one(e,Pa,()=>{Un(this)&&this.focus()})});const t=we.findOne(Of);t&&wn.getInstance(t).hide(),wn.getOrCreateInstance(e).toggle(this)});ni(wn);Ct(wn);const Mf="offcanvas",$f="bs.offcanvas",nn=`.${$f}`,ja=".data-api",Pf=`load${nn}${ja}`,Rf="Escape",cl="show",ul="showing",dl="hiding",jf="offcanvas-backdrop",Ha=".offcanvas.show",Hf=`show${nn}`,Vf=`shown${nn}`,Bf=`hide${nn}`,fl=`hidePrevented${nn}`,Va=`hidden${nn}`,Wf=`resize${nn}`,Ff=`click${nn}${ja}`,zf=`keydown.dismiss${nn}`,Gf='[data-bs-toggle="offcanvas"]',Kf={backdrop:!0,keyboard:!0,scroll:!1},Yf={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class cn extends Lt{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Kf}static get DefaultType(){return Yf}static get NAME(){return Mf}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown||z.trigger(this._element,Hf,{relatedTarget:e}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Ii().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ul);const s=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(cl),this._element.classList.remove(ul),z.trigger(this._element,Vf,{relatedTarget:e})};this._queueCallback(s,this._element,!0)}hide(){if(!this._isShown||z.trigger(this._element,Bf).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(dl),this._backdrop.hide();const t=()=>{this._element.classList.remove(cl,dl),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Ii().reset(),z.trigger(this._element,Va)};this._queueCallback(t,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=()=>{if(this._config.backdrop==="static"){z.trigger(this._element,fl);return}this.hide()},t=Boolean(this._config.backdrop);return new Ma({className:jf,isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?e:null})}_initializeFocusTrap(){return new $a({trapElement:this._element})}_addEventListeners(){z.on(this._element,zf,e=>{if(e.key===Rf){if(!this._config.keyboard){z.trigger(this._element,fl);return}this.hide()}})}static jQueryInterface(e){return this.each(function(){const t=cn.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}z.on(document,Ff,Gf,function(n){const e=Zt(this);if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),an(this))return;z.one(e,Va,()=>{Un(this)&&this.focus()});const t=we.findOne(Ha);t&&t!==e&&cn.getInstance(t).hide(),cn.getOrCreateInstance(e).toggle(this)});z.on(window,Pf,()=>{for(const n of we.find(Ha))cn.getOrCreateInstance(n).show()});z.on(window,Wf,()=>{for(const n of we.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(n).position!=="fixed"&&cn.getOrCreateInstance(n).hide()});ni(cn);Ct(cn);const qf=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Uf=/^aria-[\w-]*$/i,Qf=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Xf=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Jf=(n,e)=>{const t=n.nodeName.toLowerCase();return e.includes(t)?qf.has(t)?Boolean(Qf.test(n.nodeValue)||Xf.test(n.nodeValue)):!0:e.filter(s=>s instanceof RegExp).some(s=>s.test(t))},Ba={"*":["class","dir","id","lang","role",Uf],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]};function Zf(n,e,t){if(!n.length)return n;if(t&&typeof t=="function")return t(n);const i=new window.DOMParser().parseFromString(n,"text/html"),l=[].concat(...i.body.querySelectorAll("*"));for(const o of l){const f=o.nodeName.toLowerCase();if(!Object.keys(e).includes(f)){o.remove();continue}const d=[].concat(...o.attributes),p=[].concat(e["*"]||[],e[f]||[]);for(const u of d)Jf(u,p)||o.removeAttribute(u.nodeName)}return i.body.innerHTML}const xf="TemplateFactory",ep={allowList:Ba,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:""},tp={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},np={entry:"(string|element|function|null)",selector:"(string|element)"};class sp extends us{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return ep}static get DefaultType(){return tp}static get NAME(){return xf}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[i,l]of Object.entries(this._config.content))this._setContent(e,l,i);const t=e.children[0],s=this._resolvePossibleFunction(this._config.extraClass);return s&&t.classList.add(...s.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,s]of Object.entries(e))super._typeCheckConfig({selector:t,entry:s},np)}_setContent(e,t,s){const i=we.findOne(s,e);if(!!i){if(t=this._resolvePossibleFunction(t),!t){i.remove();return}if(xt(t)){this._putElementInTemplate(rn(t),i);return}if(this._config.html){i.innerHTML=this._maybeSanitize(t);return}i.textContent=t}}_maybeSanitize(e){return this._config.sanitize?Zf(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return typeof e=="function"?e(this):e}_putElementInTemplate(e,t){if(this._config.html){t.innerHTML="",t.append(e);return}t.textContent=e.textContent}}const ip="tooltip",op=new Set(["sanitize","allowList","sanitizeFn"]),vi="fade",lp="modal",Ms="show",rp=".tooltip-inner",pl=`.${lp}`,_l="hide.bs.modal",Zn="hover",wi="focus",ap="click",cp="manual",up="hide",dp="hidden",fp="show",pp="shown",_p="inserted",hp="click",mp="focusin",gp="focusout",bp="mouseenter",vp="mouseleave",wp={AUTO:"auto",TOP:"top",RIGHT:At()?"left":"right",BOTTOM:"bottom",LEFT:At()?"right":"left"},yp={allowList:Ba,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},kp={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class kn extends Lt{constructor(e,t){if(typeof da>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=!1,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners()}static get Default(){return yp}static get DefaultType(){return kp}static get NAME(){return ip}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(e){if(!!this._isEnabled){if(e){const t=this._initializeOnDelegatedTarget(e);t._activeTrigger.click=!t._activeTrigger.click,t._isWithActiveTrigger()?t._enter():t._leave();return}if(this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),z.off(this._element.closest(pl),_l,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const e=z.trigger(this._element,this.constructor.eventName(fp)),s=(ha(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!s)return;this.tip&&(this.tip.remove(),this.tip=null);const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:l}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(l.append(i),z.trigger(this._element,this.constructor.eventName(_p))),this._popper?this._popper.update():this._popper=this._createPopper(i),i.classList.add(Ms),"ontouchstart"in document.documentElement)for(const f of[].concat(...document.body.children))z.on(f,"mouseover",qs);const o=()=>{const f=this._isHovered;this._isHovered=!1,z.trigger(this._element,this.constructor.eventName(pp)),f&&this._leave()};this._queueCallback(o,this.tip,this._isAnimated())}hide(){if(!this._isShown()||z.trigger(this._element,this.constructor.eventName(up)).defaultPrevented)return;const t=this._getTipElement();if(t.classList.remove(Ms),"ontouchstart"in document.documentElement)for(const i of[].concat(...document.body.children))z.off(i,"mouseover",qs);this._activeTrigger[ap]=!1,this._activeTrigger[wi]=!1,this._activeTrigger[Zn]=!1,this._isHovered=!1;const s=()=>{this._isWithActiveTrigger()||(this._isHovered||t.remove(),this._element.removeAttribute("aria-describedby"),z.trigger(this._element,this.constructor.eventName(dp)),this._disposePopper())};this._queueCallback(s,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove(vi,Ms),t.classList.add(`bs-${this.constructor.NAME}-auto`);const s=ru(this.constructor.NAME).toString();return t.setAttribute("id",s),this._isAnimated()&&t.classList.add(vi),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new sp({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[rp]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._config.originalTitle}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(vi)}_isShown(){return this.tip&&this.tip.classList.contains(Ms)}_createPopper(e){const t=typeof this._config.placement=="function"?this._config.placement.call(this,e,this._element):this._config.placement,s=wp[t.toUpperCase()];return to(this._element,e,this._getPopperConfig(s))}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map(t=>Number.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_resolvePossibleFunction(e){return typeof e=="function"?e.call(this._element):e}_getPopperConfig(e){const t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:s=>{this._getTipElement().setAttribute("data-popper-placement",s.state.placement)}}]};return{...t,...typeof this._config.popperConfig=="function"?this._config.popperConfig(t):this._config.popperConfig}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if(t==="click")z.on(this._element,this.constructor.eventName(hp),this._config.selector,s=>this.toggle(s));else if(t!==cp){const s=t===Zn?this.constructor.eventName(bp):this.constructor.eventName(mp),i=t===Zn?this.constructor.eventName(vp):this.constructor.eventName(gp);z.on(this._element,s,this._config.selector,l=>{const o=this._initializeOnDelegatedTarget(l);o._activeTrigger[l.type==="focusin"?wi:Zn]=!0,o._enter()}),z.on(this._element,i,this._config.selector,l=>{const o=this._initializeOnDelegatedTarget(l);o._activeTrigger[l.type==="focusout"?wi:Zn]=o._element.contains(l.relatedTarget),o._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},z.on(this._element.closest(pl),_l,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const e=this._config.originalTitle;!e||(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",e),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=en.getDataAttributes(this._element);for(const s of Object.keys(t))op.has(s)&&delete t[s];return e={...t,...typeof e=="object"&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=e.container===!1?document.body:rn(e.container),typeof e.delay=="number"&&(e.delay={show:e.delay,hide:e.delay}),e.originalTitle=this._element.getAttribute("title")||"",typeof e.title=="number"&&(e.title=e.title.toString()),typeof e.content=="number"&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const t in this._config)this.constructor.Default[t]!==this._config[t]&&(e[t]=this._config[t]);return e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(e){return this.each(function(){const t=kn.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}}Ct(kn);const Ep="popover",Ap=".popover-header",Tp=".popover-body",Cp={...kn.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Op={...kn.DefaultType,content:"(null|string|element|function)"};class oo extends kn{static get Default(){return Cp}static get DefaultType(){return Op}static get NAME(){return Ep}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Ap]:this._getTitle(),[Tp]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each(function(){const t=oo.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}}Ct(oo);const Np="scrollspy",Sp="bs.scrollspy",lo=`.${Sp}`,Lp=".data-api",Dp=`activate${lo}`,hl=`click${lo}`,Ip=`load${lo}${Lp}`,Mp="dropdown-item",Mn="active",$p='[data-bs-spy="scroll"]',yi="[href]",Pp=".nav, .list-group",ml=".nav-link",Rp=".nav-item",jp=".list-group-item",Hp=`${ml}, ${Rp} > ${ml}, ${jp}`,Vp=".dropdown",Bp=".dropdown-toggle",Wp={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null},Fp={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element"};class li extends Lt{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Wp}static get DefaultType(){return Fp}static get NAME(){return Np}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=rn(e.target)||document.body,e}_maybeEnableSmoothScroll(){!this._config.smoothScroll||(z.off(this._config.target,hl),z.on(this._config.target,hl,yi,e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const s=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(s.scrollTo){s.scrollTo({top:i,behavior:"smooth"});return}s.scrollTop=i}}))}_getNewObserver(){const e={root:this._rootElement,threshold:[.1,.5,1],rootMargin:this._getRootMargin()};return new IntersectionObserver(t=>this._observerCallback(t),e)}_observerCallback(e){const t=o=>this._targetLinks.get(`#${o.target.id}`),s=o=>{this._previousScrollData.visibleEntryTop=o.target.offsetTop,this._process(t(o))},i=(this._rootElement||document.documentElement).scrollTop,l=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const f=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(l&&f){if(s(o),!i)return;continue}!l&&!f&&s(o)}}_getRootMargin(){return this._config.offset?`${this._config.offset}px 0px -30%`:this._config.rootMargin}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=we.find(yi,this._config.target);for(const t of e){if(!t.hash||an(t))continue;const s=we.findOne(t.hash,this._element);Un(s)&&(this._targetLinks.set(t.hash,t),this._observableSections.set(t.hash,s))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add(Mn),this._activateParents(e),z.trigger(this._element,Dp,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains(Mp)){we.findOne(Bp,e.closest(Vp)).classList.add(Mn);return}for(const t of we.parents(e,Pp))for(const s of we.prev(t,Hp))s.classList.add(Mn)}_clearActiveClass(e){e.classList.remove(Mn);const t=we.find(`${yi}.${Mn}`,e);for(const s of t)s.classList.remove(Mn)}static jQueryInterface(e){return this.each(function(){const t=li.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}z.on(window,Ip,()=>{for(const n of we.find($p))li.getOrCreateInstance(n)});Ct(li);const zp="tab",Gp="bs.tab",En=`.${Gp}`,Kp=`hide${En}`,Yp=`hidden${En}`,qp=`show${En}`,Up=`shown${En}`,Qp=`click${En}`,Xp=`keydown${En}`,Jp=`load${En}`,Zp="ArrowLeft",gl="ArrowRight",xp="ArrowUp",bl="ArrowDown",on="active",vl="fade",ki="show",e_="dropdown",t_=".dropdown-toggle",n_=".dropdown-menu",s_=".dropdown-item",Ei=":not(.dropdown-toggle)",i_='.list-group, .nav, [role="tablist"]',o_=".nav-item, .list-group-item",l_=`.nav-link${Ei}, .list-group-item${Ei}, [role="tab"]${Ei}`,Wa='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Ai=`${l_}, ${Wa}`,r_=`.${on}[data-bs-toggle="tab"], .${on}[data-bs-toggle="pill"], .${on}[data-bs-toggle="list"]`;class Gn extends Lt{constructor(e){super(e),this._parent=this._element.closest(i_),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),z.on(this._element,Xp,t=>this._keydown(t)))}static get NAME(){return zp}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),s=t?z.trigger(t,Kp,{relatedTarget:e}):null;z.trigger(e,qp,{relatedTarget:t}).defaultPrevented||s&&s.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){if(!e)return;e.classList.add(on),this._activate(Zt(e));const s=()=>{if(e.getAttribute("role")!=="tab"){e.classList.add(ki);return}e.focus(),e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),z.trigger(e,Up,{relatedTarget:t})};this._queueCallback(s,e,e.classList.contains(vl))}_deactivate(e,t){if(!e)return;e.classList.remove(on),e.blur(),this._deactivate(Zt(e));const s=()=>{if(e.getAttribute("role")!=="tab"){e.classList.remove(ki);return}e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),z.trigger(e,Yp,{relatedTarget:t})};this._queueCallback(s,e,e.classList.contains(vl))}_keydown(e){if(![Zp,gl,xp,bl].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=[gl,bl].includes(e.key),s=no(this._getChildren().filter(i=>!an(i)),e.target,t,!0);s&&Gn.getOrCreateInstance(s).show()}_getChildren(){return we.find(Ai,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const s of t)this._setInitialAttributesOnChild(s)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),s=this._getOuterElement(e);e.setAttribute("aria-selected",t),s!==e&&this._setAttributeIfNotExists(s,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=Zt(e);!t||(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`#${e.id}`))}_toggleDropDown(e,t){const s=this._getOuterElement(e);if(!s.classList.contains(e_))return;const i=(l,o)=>{const f=we.findOne(l,s);f&&f.classList.toggle(o,t)};i(t_,on),i(n_,ki),i(s_,on),s.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,s){e.hasAttribute(t)||e.setAttribute(t,s)}_elemIsActive(e){return e.classList.contains(on)}_getInnerElement(e){return e.matches(Ai)?e:we.findOne(Ai,e)}_getOuterElement(e){return e.closest(o_)||e}static jQueryInterface(e){return this.each(function(){const t=Gn.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}z.on(document,Qp,Wa,function(n){["A","AREA"].includes(this.tagName)&&n.preventDefault(),!an(this)&&Gn.getOrCreateInstance(this).show()});z.on(window,Jp,()=>{for(const n of we.find(r_))Gn.getOrCreateInstance(n)});Ct(Gn);const a_="toast",c_="bs.toast",fn=`.${c_}`,u_=`mouseover${fn}`,d_=`mouseout${fn}`,f_=`focusin${fn}`,p_=`focusout${fn}`,__=`hide${fn}`,h_=`hidden${fn}`,m_=`show${fn}`,g_=`shown${fn}`,b_="fade",wl="hide",$s="show",Ps="showing",v_={animation:"boolean",autohide:"boolean",delay:"number"},w_={animation:!0,autohide:!0,delay:5e3};class ri extends Lt{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return w_}static get DefaultType(){return v_}static get NAME(){return a_}show(){if(z.trigger(this._element,m_).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(b_);const t=()=>{this._element.classList.remove(Ps),z.trigger(this._element,g_),this._maybeScheduleHide()};this._element.classList.remove(wl),cs(this._element),this._element.classList.add($s,Ps),this._queueCallback(t,this._element,this._config.animation)}hide(){if(!this.isShown()||z.trigger(this._element,__).defaultPrevented)return;const t=()=>{this._element.classList.add(wl),this._element.classList.remove(Ps,$s),z.trigger(this._element,h_)};this._element.classList.add(Ps),this._queueCallback(t,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove($s),super.dispose()}isShown(){return this._element.classList.contains($s)}_maybeScheduleHide(){!this._config.autohide||this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t;break}if(t){this._clearTimeout();return}const s=e.relatedTarget;this._element===s||this._element.contains(s)||this._maybeScheduleHide()}_setListeners(){z.on(this._element,u_,e=>this._onInteraction(e,!0)),z.on(this._element,d_,e=>this._onInteraction(e,!1)),z.on(this._element,f_,e=>this._onInteraction(e,!0)),z.on(this._element,p_,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each(function(){const t=ri.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}ni(ri);Ct(ri);let rs=St([]),H=St({name:"",locationGroup:"",jobs:[],identifier:[],ace:[],discord:[],locked:!0,lockpick:!1,garage:!1,passcode:"",sound:"",door_data:[],locationGroups:[],secret:!1,camera:!1,distance:2,auto_lock:null,items:[]});function y_(n){let e,t,s,i,l,o=window.locales.delete.notification+"",f,d,p,u,c,m,h,g,A,y,E,C=window.locales.delete.irreversible+"",N,b,v,w,S,M,G,U,K,J;return{c(){e=_("div"),t=_("div"),s=_("div"),i=_("div"),l=_("h6"),f=V(o),d=k(),p=_("strong"),u=V("'"),c=V(n[0]),m=V("'"),h=k(),g=_("div"),A=_("div"),y=_("i"),E=k(),N=V(C),b=k(),v=_("p"),v.textContent=`${window.locales.delete.are_you_sure} ${n[1]=="door"?window.locales.delete.type[0]:window.locales.delete.type[1]}?`,w=k(),S=_("div"),M=_("button"),M.textContent=`${window.locales.delete.yes}`,G=k(),U=_("button"),U.textContent=`${window.locales.delete.no}`,a(l,"class","modal-title"),a(i,"class","modal-header"),a(y,"class","bi bi-exclamation-triangle"),a(A,"class","alert alert-warning w-100"),a(g,"class","modal-body text-dark"),a(M,"type","button"),a(M,"class","btn btn-danger text-light"),a(U,"type","button"),a(U,"class","btn btn-secondary"),a(S,"class","modal-footer"),a(s,"class","modal-content shadow-sm text-dark"),a(t,"class","modal-dialog modal-dialog-centered"),a(e,"class","modal"),a(e,"tabindex","-1"),a(e,"data-bs-backdrop","static"),a(e,"data-bs-keyboard","false")},m(q,ne){D(q,e,ne),r(e,t),r(t,s),r(s,i),r(i,l),r(l,f),r(l,d),r(l,p),r(p,u),r(p,c),r(p,m),r(s,h),r(s,g),r(g,A),r(A,y),r(A,E),r(A,N),r(g,b),r(g,v),r(s,w),r(s,S),r(S,M),r(S,G),r(S,U),K||(J=[P(M,"click",Se(n[2])),P(U,"click",Se(n[3]))],K=!0)},p(q,[ne]){ne&1&&fe(c,q[0])},i:ue,o:ue,d(q){q&&L(e),K=!1,Ee(J)}}}function k_(n,e,t){let s,i,l,o,f;be(n,j,h=>t(5,s=h)),be(n,ye,h=>t(6,i=h)),be(n,Me,h=>t(7,l=h)),be(n,H,h=>t(8,o=h)),be(n,rs,h=>t(9,f=h));let{name:d}=e,p=s.delete.type;function u(){p=="door"?He.send("deletedoor",l[s.delete.door]):He.send("delete_location_group",{location_group:l[s.delete.door].location_group}),i.push({message:`${window.locales.delete.alerts.success} ${p}.`,type:"alert-success"});let h=l[s.delete.door].location_group;if(p=="group"){for(let g=l.length-1;g>=0;g--)h==l[g].location_group&&l.splice(g,1);for(let g=0;g{c=new wn(document.getElementsByClassName("modal")[0],{}),c.show()}),Vi(()=>{c.dispose()});function m(h){xn.call(this,n,h)}return n.$$set=h=>{"name"in h&&t(0,d=h.name)},[d,p,u,m]}class Fa extends bt{constructor(e){super(),gt(this,e,k_,y_,rt,{name:0})}}function yl(n,e,t){const s=n.slice();return s[44]=e[t],s[46]=t,s}function kl(n,e,t){const s=n.slice();return s[47]=e[t],s[46]=t,s}function El(n,e,t){const s=n.slice();return s[47]=e[t],s[46]=t,s}function Al(n){let e,t;return e=new Fa({props:{name:n[9].delete.name}}),e.$on("click",n[18]),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p(s,i){const l={};i[0]&512&&(l.name=s[9].delete.name),e.$set(l)},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Tl(n){let e,t,s;return{c(){e=_("th"),e.textContent=`${window.locales.control.delete}`,t=k(),s=_("th"),s.textContent=`${window.locales.control.delete_group}`,a(e,"scope","col"),a(s,"scope","col")},m(i,l){D(i,e,l),D(i,t,l),D(i,s,l)},p:ue,d(i){i&&L(e),i&&L(t),i&&L(s)}}}function E_(n){let e,t=[],s=new Map,i=n[0];const l=o=>o[46];for(let o=0;oo[46];for(let o=0;o',y=k(),E=_("td"),E.innerHTML='',C=k(),q.c(),N=k(),b=_("td"),b.innerHTML='',v=k(),O&&O.c(),w=k(),a(t,"scope","row"),a(A,"class","text-center"),a(E,"class","text-center"),a(b,"class","text-center")},m(X,I){D(X,e,I),r(e,t),r(t,s),r(s,l),r(e,o),r(e,f),r(f,p),r(e,u),r(e,c),r(c,h),r(e,g),r(e,A),r(e,y),r(e,E),r(e,C),q.m(e,null),r(e,N),r(e,b),r(e,v),O&&O.m(e,null),r(e,w),S||(M=[P(A,"click",G),P(E,"click",U),P(b,"click",ne)],S=!0)},p(X,I){n=X,I[0]&1&&i!==(i=n[46]+1+"")&&fe(l,i),I[0]&1&&d!==(d=n[47].location_group+"")&&fe(p,d),I[0]&1&&m!==(m=n[47].door_name+"")&&fe(h,m),J===(J=K(n))&&q?q.p(n,I):(q.d(1),q=J(n),q&&(q.c(),q.m(e,N))),n[5].permissions?O?O.p(n,I):(O=Ol(n),O.c(),O.m(e,w)):O&&(O.d(1),O=null)},d(X){X&&L(e),q.d(),O&&O.d(),S=!1,Ee(M)}}}function T_(n){let e;return{c(){e=_("td"),e.innerHTML='',a(e,"class","text-center")},m(t,s){D(t,e,s)},p:ue,d(t){t&&L(e)}}}function C_(n){let e,t,s;function i(){return n[34](n[47])}return{c(){e=_("td"),e.innerHTML='',a(e,"class","text-center")},m(l,o){D(l,e,o),t||(s=P(e,"click",i),t=!0)},p(l,o){n=l},d(l){l&&L(e),t=!1,s()}}}function Ol(n){let e,t,s,i,l;function o(){return n[36](n[46])}function f(){return n[37](n[46])}return{c(){e=_("td"),e.innerHTML='',t=k(),s=_("td"),s.innerHTML='',a(e,"class","text-center"),a(s,"class","text-center")},m(d,p){D(d,e,p),D(d,t,p),D(d,s,p),i||(l=[P(e,"click",o),P(s,"click",f)],i=!0)},p(d,p){n=d},d(d){d&&L(e),d&&L(t),d&&L(s),i=!1,Ee(l)}}}function Nl(n,e){let t,s,i=e[46]>=e[3]*7&&e[46]=e[3]*7&&e[46]',y=k(),E=_("td"),E.innerHTML='',C=k(),q.c(),N=k(),b=_("td"),b.innerHTML='',v=k(),O&&O.c(),w=k(),a(t,"scope","row"),a(A,"class","text-center"),a(E,"class","text-center"),a(b,"class","text-center")},m(X,I){D(X,e,I),r(e,t),r(t,s),r(s,l),r(e,o),r(e,f),r(f,p),r(e,u),r(e,c),r(c,h),r(e,g),r(e,A),r(e,y),r(e,E),r(e,C),q.m(e,null),r(e,N),r(e,b),r(e,v),O&&O.m(e,null),r(e,w),S||(M=[P(A,"click",G),P(E,"click",U),P(b,"click",ne)],S=!0)},p(X,I){n=X,I[0]&16&&i!==(i=n[46]+1+"")&&fe(l,i),I[0]&16&&d!==(d=n[47].location_group+"")&&fe(p,d),I[0]&16&&m!==(m=n[47].door_name+"")&&fe(h,m),J===(J=K(n))&&q?q.p(n,I):(q.d(1),q=J(n),q&&(q.c(),q.m(e,N))),n[5].permissions?O?O.p(n,I):(O=Ll(n),O.c(),O.m(e,w)):O&&(O.d(1),O=null)},d(X){X&&L(e),q.d(),O&&O.d(),S=!1,Ee(M)}}}function O_(n){let e;return{c(){e=_("td"),e.innerHTML='',a(e,"class","text-center")},m(t,s){D(t,e,s)},p:ue,d(t){t&&L(e)}}}function N_(n){let e,t,s;function i(){return n[28](n[47])}return{c(){e=_("td"),e.innerHTML='',a(e,"class","text-center")},m(l,o){D(l,e,o),t||(s=P(e,"click",i),t=!0)},p(l,o){n=l},d(l){l&&L(e),t=!1,s()}}}function Ll(n){let e,t,s,i,l;function o(){return n[30](n[47])}function f(){return n[31](n[47])}return{c(){e=_("td"),e.innerHTML='',t=k(),s=_("td"),s.innerHTML='',a(e,"class","text-center"),a(s,"class","text-center")},m(d,p){D(d,e,p),D(d,t,p),D(d,s,p),i||(l=[P(e,"click",o),P(s,"click",f)],i=!0)},p(d,p){n=d},d(d){d&&L(e),d&&L(t),d&&L(s),i=!1,Ee(l)}}}function Dl(n,e){let t,s,i=e[46]>=e[3]*7&&e[46]=e[3]*7&&e[46]0?n[4].length:n[6])+"",I,le,se=window.locales.control.found[1]+"",ie,_e,B,Q,Z,de,ke,ae,oe,Ae,Ne,$,Y,R,W,x,Le,Re,et,he,me,Te,F,Oe,Be,at,Ye=[],We=new Map,vt,Ue,Fe,Je,Ze,ze,wt,Pe=n[9].delete.state&&Al(n),De=n[5].permissions&&Tl();function Dt(re,Ie){return re[4].length>0?A_:E_}let xe=Dt(n),Ce=xe(n),Ge=n[1];const ct=re=>re[46];for(let re=0;re',p=k(),u=_("div"),c=_("div"),m=_("input"),h=k(),g=_("label"),g.textContent=`${window.locales.control.search_by_name}`,A=k(),y=_("div"),E=_("input"),C=k(),N=_("label"),N.textContent=`${window.locales.control.search_by_group}`,b=k(),v=_("div"),w=_("hr"),S=k(),M=_("div"),G=_("div"),U=_("div"),K=_("table"),J=_("caption"),ne=V(q),O=k(),I=V(X),le=k(),ie=V(se),_e=k(),B=_("thead"),Q=_("tr"),Z=_("th"),Z.textContent=`${window.locales.control.number}`,de=k(),ke=_("th"),ke.textContent=`${window.locales.control.group}`,ae=k(),oe=_("th"),oe.textContent=`${window.locales.control.name}`,Ae=k(),Ne=_("th"),Ne.textContent=`${window.locales.control.lock}`,$=k(),Y=_("th"),Y.textContent=`${window.locales.control.unlock}`,R=k(),W=_("th"),W.textContent=`${window.locales.control.camera}`,x=k(),Le=_("th"),Le.textContent=`${window.locales.control.visit}`,Re=k(),De&&De.c(),et=k(),Ce.c(),he=k(),me=_("div"),Te=_("nav"),F=_("ul"),Oe=_("li"),Be=_("a"),Be.textContent=`${window.locales.control.previous}`,at=k();for(let re=0;re=n[2]),a(F,"class","pagination pagination pagination-sm rounded mb-0"),a(Te,"class","rounded overflow-hidden"),a(me,"class","col-12 d-flex justify-content-center align-items-center"),a(M,"class","row"),a(e,"class","container")},m(re,Ie){D(re,e,Ie),Pe&&Pe.m(e,null),r(e,t),r(e,s),r(s,i),r(s,l),r(s,o),pe(o,n[8]),r(s,f),r(s,d),r(e,p),r(e,u),r(u,c),r(c,m),m.checked=m.__value===n[7],r(c,h),r(c,g),r(u,A),r(u,y),r(y,E),E.checked=E.__value===n[7],r(y,C),r(y,N),r(e,b),r(e,v),r(v,w),r(v,S),r(v,M),r(M,G),r(G,U),r(U,K),r(K,J),r(J,ne),r(J,O),r(J,I),r(J,le),r(J,ie),r(K,_e),r(K,B),r(B,Q),r(Q,Z),r(Q,de),r(Q,ke),r(Q,ae),r(Q,oe),r(Q,Ae),r(Q,Ne),r(Q,$),r(Q,Y),r(Q,R),r(Q,W),r(Q,x),r(Q,Le),r(Q,Re),De&&De.m(Q,null),r(K,et),Ce.m(K,null),r(M,he),r(M,me),r(me,Te),r(Te,F),r(F,Oe),r(Oe,Be),r(F,at);for(let je=0;je{Pe=null}),pt()),Ie[0]&256&&o.value!==re[8]&&pe(o,re[8]),Ie[0]&128&&(m.checked=m.__value===re[7]),Ie[0]&128&&(E.checked=E.__value===re[7]),(!Ze||Ie[0]&80)&&X!==(X=(re[4].length>0?re[4].length:re[6])+"")&&fe(I,X),re[5].permissions?De?De.p(re,Ie):(De=Tl(),De.c(),De.m(Q,null)):De&&(De.d(1),De=null),xe===(xe=Dt(re))&&Ce?Ce.p(re,Ie):(Ce.d(1),Ce=xe(re),Ce&&(Ce.c(),Ce.m(K,null))),Ie[0]&8&&jt(Oe,"disabled",re[3]-1<0),Ie[0]&10&&(Ge=re[1],Ye=Ve(Ye,Ie,ct,1,re,Ge,We,F,Ke,Il,vt,yl)),Ie[0]&12&&jt(Ue,"disabled",re[3]+1>=re[2])},i(re){Ze||(ce(Pe),it(()=>{Je||(Je=Bt(e,Wt,{duration:100},!0)),Je.run(1)}),Ze=!0)},o(re){ge(Pe),Je||(Je=Bt(e,Wt,{duration:100},!1)),Je.run(0),Ze=!1},d(re){re&&L(e),Pe&&Pe.d(),n[22][0].splice(n[22][0].indexOf(m),1),n[22][0].splice(n[22][0].indexOf(E),1),De&&De.d(),Ce.d();for(let Ie=0;Iet(5,u=$)),be(n,j,$=>t(9,c=$)),be(n,Me,$=>t(19,m=$));let h,g;function A(){clearTimeout(h),h=setTimeout(y,400)}function y(){setTimeout(()=>{if(t(4,i.length=0,i),t(4,i),g=s.toLowerCase().trim(),g==""){t(3,o=0);return}for(let $=0;$W.door_data[0].unique_id===Y.door_data[0].unique_id);T(j,c.delete.state=!0,c),T(j,c.delete.door=R,c),T(j,c.delete.name=Y.door_name,c),T(j,c.delete.type="door",c);return}}function S($,Y){if($!=-1){T(j,c.delete.state=!0,c),T(j,c.delete.door=$,c),T(j,c.delete.name=m[$].door_name,c),T(j,c.delete.type="group",c);return}else{let R=m.findIndex(W=>W.door_data[0].unique_id===Y.door_data[0].unique_id);T(j,c.delete.state=!0,c),T(j,c.delete.door=R,c),T(j,c.delete.name=Y.door_name,c),T(j,c.delete.type="group",c);return}}function M(){T(j,c.delete.state=!1,c),T(j,c.delete.door=-1,c),T(j,c.delete.name="",c),T(j,c.delete.type="door",c)}function G($,Y){if(u.permissions)return!0;if($.perms.job&&$.perms.job.length>0){for(let R of $.perms.job)if(u.job&&R.name==u.job.job&&R.grade<=u.job.grade||u.gang&&R.name==u.gang.gang&&R.grade<=u.gang.grade)return!0}if($.perms.identifier&&$.perms.identifier.length>0){for(let R of $.perms.identifier)for(let W of u.identifier)if(W.trimmed==R.trimmed||W.full==R.full)return!0}if($.perms.ace&&$.perms.ace.length>0){for(let R of $.perms.ace)if(u.ace.includes(R))return!0}if($.perms.discord&&$.perms.discord.length>0){for(let R of $.perms.discord)if(u.discord.includes(R))return!0}return!1}const U=[[]];function K(){s=this.value,t(8,s)}function J(){l=this.__value,t(7,l)}const q=()=>{y()};function ne(){l=this.__value,t(7,l)}const O=()=>{y()},X=$=>{C($)},I=$=>{N($)},le=$=>{b($)},se=$=>{v($)},ie=$=>{w(-1,$)},_e=$=>{S(-1,$)},B=$=>{C($)},Q=$=>{N($)},Z=$=>{b($)},de=$=>{v($)},ke=$=>{w($)},ae=$=>{S($)},oe=()=>{o-1<0||t(3,o-=1)},Ae=$=>{$.number!=-1&&t(3,o=$.index)},Ne=()=>{o+1==d||t(3,o+=1)};return n.$$.update=()=>{if(n.$$.dirty[0]&524351)if(i.length>0)if(t(1,f.length=0,f),t(2,d=Math.ceil(i.length/7)),d>Pt){let $=!1,Y=1,R=Pt;o+3Pt?(f.push({number:1,index:0}),f.push({number:"...",index:-1}),Y=o-Pt+3,$?R=o+2:R=d-1):o+3>Pt&&(R=o+2);for(let W=Y;W<=R;W++)f.push({number:W,index:W-1});$?(f.push({number:"...",index:-1}),f.push({number:d,index:d-1})):f.push({number:d,index:d-1})}else for(let $=1;$<=d;$++)f.push({number:$,index:$-1});else{if(t(1,f.length=0,f),t(0,E.length=0,E),u.permissions){for(let $ of m)E.push($);t(6,p=m.length)}else{for(let $ of m)G($)&&E.push($);t(6,p=E.length)}if(t(2,d=Math.ceil(u.permissions?m.length/7:E.length/7)),d>Pt){let $=!1,Y=1,R=Pt;o+3Pt?(f.push({number:1,index:0}),f.push({number:"...",index:-1}),Y=o-Pt+3,$?R=o+2:R=d-1):o+3>Pt&&(R=o+2);for(let W=Y;W<=R;W++)f.push({number:W,index:W-1});$?(f.push({number:"...",index:-1}),f.push({number:d,index:d-1})):f.push({number:d,index:d-1})}else for(let $=1;$<=d;$++)f.push({number:$,index:$-1})}},t(8,s=""),t(4,i=[]),t(7,l=!0),t(3,o=0),t(1,f=[]),t(2,d=0),t(6,p=0),[E,f,d,o,i,u,p,l,s,c,A,y,C,N,b,v,w,S,M,m,K,J,U,q,ne,O,X,I,le,se,ie,_e,B,Q,Z,de,ke,ae,oe,Ae,Ne]}class D_ extends bt{constructor(e){super(),gt(this,e,L_,S_,rt,{},null,[-1,-1])}}function Mi(){return[...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map(t=>new kn(t,{container:"body",animation:!1}))}function za(){return[...document.querySelectorAll(".dropdown-toggle")].map(t=>new Nt(t))}let I_=(n=21)=>crypto.getRandomValues(new Uint8Array(n)).reduce((e,t)=>(t&=63,t<36?e+=t.toString(36):t<62?e+=(t-26).toString(36).toUpperCase():t>62?e+="-":e+="_",e),"");function ro(){return I_()}class M_{constructor(e,t){Xt(this,"sounds",new Map);Xt(this,"volume");e&&this.batchAdd(e),t?this.volume=t:this.volume=.5}add(e,t){let s=new Audio(t);this.sounds.set(e,s)}remove(e){this.sounds.delete(e)}batchAdd(e){for(let t=0;tconsole.error(s))}else console.error("Sound does not exist.")}async stop(e){this.sounds.get(e).stop()}}let $i=St(["_notification.ogg","_key_press.ogg"]),ps=St(new M_(["_notification.ogg","_key_press.ogg"],.5)),is=St(["Framework","Identifiers","AcePerms","Discord","Items"]);function Ml(n,e,t){const s=n.slice();return s[55]=e[t],s[57]=t,s}function $l(n,e,t){const s=n.slice();return s[66]=e[t],s[57]=t,s}function Pl(n,e,t){const s=n.slice();return s[64]=e[t],s[57]=t,s}function Rl(n,e,t){const s=n.slice();return s[62]=e[t],s[57]=t,s}function jl(n,e,t){const s=n.slice();return s[60]=e[t],s[57]=t,s}function Hl(n,e,t){const s=n.slice();return s[58]=e[t],s[57]=t,s}function Vl(n,e,t){const s=n.slice();return s[68]=e[t],s[57]=t,s}function Bl(n,e,t){const s=n.slice();return s[70]=e[t],s[57]=t,s}function $_(n){let e=[],t=new Map,s,i=n[9].locationGroups;const l=o=>o[70].id;for(let o=0;o',f=k(),a(o,"type","button"),a(o,"class","btn btn-xs btn-danger text-light cursor-pointer"),a(s,"class","dropdown-item d-flex justify-content-between"),a(t,"class","d-flex justify-content-center align-items-center cursor-pointer"),this.first=t},m(m,h){D(m,t,h),r(t,s),r(s,l),r(s,o),r(t,f),d||(p=[P(o,"click",Se(u),{once:!0}),P(t,"click",c)],d=!0)},p(m,h){e=m,h[0]&512&&i!==(i=e[70].name+"")&&fe(l,i)},d(m){m&&L(t),d=!1,Ee(p)}}}function Fl(n,e){let t,s,i=window.locales.permissions[e[68].toLowerCase()]+"",l,o,f,d,p;function u(){return e[30](e[68])}return{key:n,first:null,c(){t=_("li"),s=_("span"),l=V(i),f=k(),a(s,"class",o="nav-link text-light"+(e[0]==e[68]?" active":"")),a(s,"aria-current","page"),a(t,"class","nav-item svelte-1847jqf"),this.first=t},m(c,m){D(c,t,m),r(t,s),r(s,l),r(t,f),d||(p=P(t,"click",u),d=!0)},p(c,m){e=c,m[0]&2&&i!==(i=window.locales.permissions[e[68].toLowerCase()]+"")&&fe(l,i),m[0]&3&&o!==(o="nav-link text-light"+(e[0]==e[68]?" active":""))&&a(s,"class",o)},d(c){c&&L(t),d=!1,p()}}}function R_(n){let e,t=window.locales.create.form.item+"",s,i,l,o,f,d,p,u,c,m,h,g=[],A=new Map,y,E,C=n[9].items;const N=b=>b[57];for(let b=0;bb[57];for(let b=0;bb[57];for(let b=0;bb[57];for(let b=0;bw[57];for(let w=0;w',p=k(),a(f,"class","btn btn-xs btn-outline-secondary"),a(s,"id",d=e[55]+e[57]),a(s,"class","dropdown-item d-flex justify-content-between align-items-center px-1 cursor-pointer svelte-1847jqf"),this.first=t},m(g,A){D(g,t,A),r(t,s),r(s,l),r(s,o),r(s,f),r(t,p),u||(c=[P(f,"click",Se(tc(m))),P(t,"click",h)],u=!0)},p(g,A){e=g,A[0]&1024&&i!==(i=e[55]+"")&&fe(l,i),A[0]&1024&&d!==(d=e[55]+e[57])&&a(s,"id",d)},d(g){g&&L(t),u=!1,Ee(c)}}}function G_(n){let e,t,s,i,l=window.locales.create.form.door_name+"",o,f,d,p,u,c,m,h,g,A=window.locales.create.form.location_group+"",y,E,C,N,b,v,w,S=(n[9].locationGroup==""?window.locales.create.form.helpers.location_group_select:n[9].locationGroup)+"",M,G,U,K,J,q,ne,O,X,I,le,se,ie,_e,B,Q,Z=[],de=new Map,ke,ae,oe,Ae,Ne,$,Y,R=window.locales.create.form.autolock+"",W,x,Le,Re,et,he,me,Te,F,Oe=window.locales.create.form.sound+"",Be,at,Ye,We,vt,Ue,Fe,Je,Ze,ze=[],wt=new Map,Pe,De,Dt,xe,Ce,Ge,ct,re=window.locales.create.form.locked+"",Ie,je,pn,Ot,ut,Kt,Yt,te,$e,Qe,Ka=window.locales.create.form.lockpick+"",ao,co,_s,An,uo,hs,Tn,qt,fo,_n,Ya=window.locales.create.form.secret+"",po,_o,ms,Cn,ho,gs,On,Ut,mo,hn,qa=window.locales.create.form.camera+"",go,bo,bs,Nn,vo,vs,ws,Sn,Qt,Ua=window.locales.create.form.distance+"",wo,yo,ai,ys=n[9].distance+"",ci,ko,ks,Ln,Eo,yt,ui,Ao;function To(ee,ve){return ee[9].locationGroups.length==0?P_:$_}let Es=To(n),It=Es(n),As=n[1];const Co=ee=>ee[57];for(let ee=0;eeee[55];for(let ee=0;ee',X=k(),I=_("li"),I.innerHTML='
',le=k(),It.c(),se=k(),ie=_("div"),_e=_("div"),_e.textContent=`${window.locales.create.form.permissions}`,B=k(),Q=_("ul");for(let ee=0;eet(9,c=F)),be(n,ps,F=>t(52,m=F)),be(n,$i,F=>t(10,h=F)),be(n,ye,F=>t(53,g=F)),be(n,Me,F=>t(54,A=F)),be(n,is,F=>t(1,y=F));let E;Yn(async()=>{E=Mi(),za()}),Vi(()=>{for(let F=0;F{He.send("location_groups",{location_groups:c.locationGroups})},200)}}function N(){if(s.length!=0){for(let F=0;F{He.send("location_groups",{location_groups:c.locationGroups})},200)}}function b(F){for(let Oe=0;Oewindow.config.identifier_max_length||f.length==0)&&(g.push({message:window.locales.create.form.alerts.identifier_too_long,type:"alert-danger"}),ye.set(g),m.play("_notification.ogg"),F=!0),!F&&(c.identifier.push(f),H.set(c))}function w(){let F=!1;(l.length>window.config.job_name_max_length||l.length==0)&&(g.push({message:window.locales.create.form.alerts.job_name_too_long,type:"alert-danger"}),ye.set(g),m.play("_notification.ogg"),F=!0),l.match(window.config.job_name_match)&&(g.push({message:window.locales.create.form.alerts.job_name_out_of_scope,type:"alert-danger"}),ye.set(g),m.play("_notification.ogg"),F=!0),Number.isInteger(o)||(g.push({message:window.locales.create.form.alerts.job_grade_nan,type:"alert-danger"}),ye.set(g),m.play("_notification.ogg"),F=!0),(o<0||o>window.config.job_grade_max)&&(g.push({message:window.locales.create.form.alerts.job_grade_too_large,type:"alert-danger"}),ye.set(g),m.play("_notification.ogg"),F=!0),!F&&(c.jobs.push({name:l.toLowerCase(),grade:o}),H.set(c))}function S(){c.ace.push(d),H.set(c)}function M(F){c.ace.splice(F,1),H.set(c)}function G(){c.discord.push(p),H.set(c)}function U(F){c.discord.splice(F,1),H.set(c)}function K(){c.items.push(u),H.set(c)}function J(F){c.items.splice(F,1),H.set(c)}function q(F){T(H,c.sound=h[F],c)}function ne(F){m.play(F)}function O(F){c.jobs.splice(F,1),H.set(c)}function X(F){c.identifier.splice(F,1),H.set(c)}function I(){c.name=this.value,H.set(c)}function le(){s=this.value,t(8,s)}const se=F=>{C(F.id)},ie=F=>{b(F.id)},_e=F=>{t(0,i=F)};function B(){l=this.value,t(6,l)}function Q(){o=ln(this.value),t(5,o)}const Z=F=>{O(F)};function de(){f=this.value,t(7,f)}const ke=F=>{X(F)};function ae(){d=this.value,t(4,d)}const oe=F=>{M(F)};function Ae(){p=this.value,t(3,p)}const Ne=F=>{U(F)};function $(){c.passcode=this.value,H.set(c)}function Y(){u=this.value,t(2,u)}const R=F=>{J(F)};function W(){c.auto_lock=ln(this.value),H.set(c)}const x=F=>{ne(F)},Le=F=>{q(F)};function Re(){c.locked=this.checked,H.set(c)}function et(){c.lockpick=this.checked,H.set(c)}function he(){c.secret=this.checked,H.set(c)}function me(){c.camera=this.checked,H.set(c)}function Te(){c.distance=ln(this.value),H.set(c)}return n.$$.update=()=>{n.$$.dirty[0]&2&&t(0,i=y[0]),n.$$.dirty[0]&1&&i!=""&&setTimeout(()=>{E=Mi()},500)},t(8,s=""),t(6,l=""),t(5,o=0),t(7,f=""),t(4,d=""),t(3,p=""),t(2,u=""),[i,y,u,p,d,o,l,f,s,c,h,C,N,b,v,w,S,M,G,U,K,J,q,ne,O,X,I,le,se,ie,_e,B,Q,Z,de,ke,ae,oe,Ae,Ne,$,Y,R,W,x,Le,Re,et,he,me,Te]}class Y_ extends bt{constructor(e){super(),gt(this,e,K_,G_,rt,{},null,[-1,-1,-1])}}let Xe=St({locationGroup:"",jobs:[],identifier:[],ace:[],discord:[],items:[],locked:!0,lockpick:!1,garage:!1,passcode:"",sound:"",secret:!1,camera:!1,hasData:!1,distance:2,auto_lock:""});function Ql(n,e,t){const s=n.slice();return s[35]=e[t],s[37]=t,s}function Xl(n,e,t){const s=n.slice();return s[40]=e[t],s[37]=t,s}function Jl(n,e,t){const s=n.slice();return s[38]=e[t],s[37]=t,s}function q_(n){let e;return{c(){e=_("div"),e.textContent=`${window.locales.create.state_create}`,a(e,"class","infotext")},m(t,s){D(t,e,s)},p:ue,d(t){t&&L(e)}}}function U_(n){let e,t=window.locales.create.state_editing+"",s,i,l=n[4][n[7].editing.door].door_name+"",o;return{c(){e=_("div"),s=V(t),i=k(),o=V(l),a(e,"class","infotext")},m(f,d){D(f,e,d),r(e,s),r(e,i),r(e,o)},p(f,d){d[0]&144&&l!==(l=f[4][f[7].editing.door].door_name+"")&&fe(o,l)},d(f){f&&L(e)}}}function Zl(n){let e,t,s,i,l,o=window.locales.create.paste+"",f,d,p,u;return{c(){e=_("div"),t=_("div"),s=_("button"),s.textContent=`${window.locales.create.copy}`,i=k(),l=_("button"),f=V(o),a(s,"type","button"),a(s,"class","btn btn-outline-primary btn-xs"),a(l,"type","button"),a(l,"class","btn btn-outline-success btn-xs"),l.disabled=d=!n[6].hasData,a(t,"class","btn-group"),a(t,"role","group"),a(e,"class","copy-paste")},m(c,m){D(c,e,m),r(e,t),r(t,s),r(t,i),r(t,l),r(l,f),p||(u=[P(s,"click",Se(n[16])),P(l,"click",Se(n[17]))],p=!0)},p(c,m){m[0]&64&&d!==(d=!c[6].hasData)&&(l.disabled=d)},d(c){c&&L(e),p=!1,Ee(u)}}}function Q_(n){let e,t;return{c(){e=_("div"),t=_("span"),t.textContent=`${window.locales.create.select_a_door}`,a(t,"class",""),a(e,"class","container text-muted user-select-none w-100 h-100 d-flex justify-content-center align-items-center text-center")},m(s,i){D(s,e,i),r(e,t)},p:ue,i:ue,o:ue,d(s){s&&L(e)}}}function X_(n){let e,t;return e=new Y_({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p:ue,i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function xl(n){let e,t=(n[7].editing.state?window.locales.create.button_update:window.locales.create.button_submit)+"",s,i,l,o,f;function d(c,m){return c[7].editing.state?Z_:J_}let p=d(n),u=p(n);return{c(){e=_("button"),s=V(t),i=k(),u.c(),l=qe(),a(e,"class","btn btn-success btn-sm")},m(c,m){D(c,e,m),r(e,s),D(c,i,m),u.m(c,m),D(c,l,m),o||(f=P(e,"click",Se(n[11])),o=!0)},p(c,m){m[0]&128&&t!==(t=(c[7].editing.state?window.locales.create.button_update:window.locales.create.button_submit)+"")&&fe(s,t),p===(p=d(c))&&u?u.p(c,m):(u.d(1),u=p(c),u&&(u.c(),u.m(l.parentNode,l)))},d(c){c&&L(e),c&&L(i),u.d(c),c&&L(l),o=!1,f()}}}function J_(n){let e,t,s;return{c(){e=_("button"),e.textContent=`${window.locales.create.button_clear}`,a(e,"class","btn btn-danger btn-sm text-light ms-1")},m(i,l){D(i,e,l),t||(s=P(e,"click",Se(n[12])),t=!0)},p:ue,d(i){i&&L(e),t=!1,s()}}}function Z_(n){let e,t,s,i,l;return{c(){e=_("button"),e.textContent=`${window.locales.create.button_delete}`,t=k(),s=_("button"),s.textContent=`${window.locales.create.button_cancel}`,a(e,"class","btn btn-danger btn-sm text-light ms-1"),a(s,"class","btn btn-secondary btn-sm text-light ms-1")},m(o,f){D(o,e,f),D(o,t,f),D(o,s,f),i||(l=[P(e,"click",Se(n[14])),P(s,"click",Se(n[15]))],i=!0)},p:ue,d(o){o&&L(e),o&&L(t),o&&L(s),i=!1,Ee(l)}}}function x_(n){let e=[],t=new Map,s,i=n[4];const l=o=>o[37];for(let o=0;oo[37];for(let o=0;o=n[2]*12&&n[37]=s[2]*12&&s[37]=e[2]*12&&e[37]=e[2]*12&&e[37]0?eh:x_}let Ot=pn(n),ut=Ot(n),Kt=n[0];const Yt=te=>te[37];for(let te=0;te',le=k(),se=_("li"),ie=_("span"),_e=_("i"),B=k(),Z=V(Q),de=k(),ke=_("div"),je&&je.c(),ae=k(),oe=_("div"),Ae=_("div"),Ae.textContent=`${window.locales.create.all_doors}`,Ne=k(),$=_("div"),Y=_("div"),R=_("input"),W=k(),x=_("span"),x.innerHTML='',Le=k(),Re=_("ul"),ut.c(),et=k(),he=_("div"),me=_("div"),Te=_("nav"),F=_("ul"),Oe=_("li"),Be=_("span"),Be.textContent=`${window.locales.control.previous}`,Ye=k();for(let te=0;te{re[Qe]=null}),pt(),p=re[d],p?p.p(te,$e):(p=re[d]=ct[d](te),p.c()),ce(p,1),p.m(f,null)),te[7].doors_selected||te[7].editing.state?je?je.p(te,$e):(je=xl(te),je.c(),je.m(ke,null)):je&&(je.d(1),je=null),$e[0]&32&&R.value!==te[5]&&pe(R,te[5]),Ot===(Ot=pn(te))&&ut?ut.p(te,$e):(ut.d(1),ut=Ot(te),ut&&(ut.c(),ut.m(Re,null))),(!wt||$e[0]&4&&at!==(at="page-item rounded-0 "+(te[2]-1<0?"disabled":"cursor-pointer")))&&a(Oe,"class",at),$e[0]&5&&(Kt=te[0],We=Ve(We,$e,Yt,1,te,Kt,vt,F,Ke,or,Ue,Ql)),(!wt||$e[0]&6&&Ze!==(Ze="page-item rounded-0 "+(te[2]+1==te[1]?"disabled":"cursor-pointer")))&&a(Fe,"class",Ze)},i(te){wt||(ce(p),it(()=>{ze||(ze=Bt(e,Wt,{duration:100},!0)),ze.run(1)}),wt=!0)},o(te){ge(p),ze||(ze=Bt(e,Wt,{duration:100},!1)),ze.run(0),wt=!1},d(te){te&&L(e),Ce.d(),Ge&&Ge.d(),re[d].d(),je&&je.d(),ut.d();for(let $e=0;$et(4,d=B)),be(n,Xe,B=>t(6,p=B)),be(n,H,B=>t(31,u=B)),be(n,j,B=>t(7,c=B)),be(n,ps,B=>t(32,m=B)),be(n,ye,B=>t(33,h=B));function g(B){He.send("select_doors",{action:1,door_count:B==1?1:B==2?2:1,door_type:B==1?"single":B==2?"double":B==3?"garage":B==4?"gates":"double_gate"}),T(j,c.status=!1,c),T(j,c.creating=!0,c),T(j,c.door_count=B,c),T(j,c.editing.state=!1,c),T(j,c.editing.door=-1,c),T(j,c.selection_icon=!0,c)}function A(){T(j,c.status=!1,c),T(j,c.creating=!1,c),T(j,c.editing.selection=!0,c),T(j,c.door_count=1,c),T(j,c.editing.state=!1,c),T(j,c.editing.door=-1,c),T(j,c.selection_icon=!0,c),He.send("select_doors",{action:1,door_count:1,door_type:1})}let y,E="";function C(){clearTimeout(y),y=setTimeout(N,500)}function N(){if(t(3,i.length=0,i),t(3,i),s=E,t(2,l=0),s!="")for(let B=0;B{za()});function b(){let B=!1;if((u.name.length>window.config.door_name_max_length||u.name.length<=0)&&(h.push({message:window.locales.create.alerts.name_too_long,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0),u.name.match(window.config.door_name_match)&&(h.push({message:window.locales.create.alerts.name_out_of_scope,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0),u.locationGroup.length==0&&(h.push({message:window.locales.create.alerts.location_group_not_set,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0),u.passcode===""?u.jobs.length+u.identifier.length+u.ace.length+u.discord.length==0&&(h.push({message:window.locales.create.alerts.permissions_not_set,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg")):(u.passcode&&u.passcode.length!=0&&u.passcode.match(/[^0-9]/g)&&(h.push({message:window.locales.create.alerts.passcode_out_of_scope,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0),u.passcode&&u.passcode.length>window.config.door_passcode_max_length&&(h.push({message:window.locales.create.alerts.passcode_length_bad,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0)),u.auto_lock!=null&&u.auto_lock.toString().match(/[^0-9]/g)?(h.push({message:window.locales.create.alerts.auto_lock_nan,type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0):u.auto_lock!=""&&u.auto_lock>window.config.auto_lock_max_time&&(h.push({message:window.locales.create.alerts.auto_lock_too_large[0]+window.config.auto_lock_max_time+window.locales.create.alerts.auto_lock_too_large[1],type:"alert-danger"}),ye.set(h),m.play("_notification.ogg"),B=!0),(u.distance<1||u.distance>10)&&T(H,u.distance=2,u),B)return;let Q={perms:{job:u.jobs,identifier:u.identifier,ace:u.ace,discord:u.discord,items:u.items},passcode:u.passcode?u.passcode:null,lockpickable:u.lockpick,door_name:u.name,location_group:u.locationGroup,door_sound:u.sound,distance:u.distance,state:!1,default_state:u.locked,door_type:c.door_count==1?"single":c.door_count==2?"double":c.door_count==3?"garage":"gates",door_data:u.door_data,secret:u.secret,camera:u.camera,auto_lock:u.auto_lock==""?null:u.auto_lock};c.editing.state?(T(Me,d[c.editing.door].perms=Q.perms,d),T(Me,d[c.editing.door].passcode=Q.passcode,d),T(Me,d[c.editing.door].lockpickable=Q.lockpickable,d),T(Me,d[c.editing.door].door_name=Q.door_name,d),T(Me,d[c.editing.door].location_group=Q.location_group,d),T(Me,d[c.editing.door].door_sound=Q.door_sound,d),T(Me,d[c.editing.door].distance=Q.distance,d),T(Me,d[c.editing.door].state=Q.state,d),T(Me,d[c.editing.door].default_state=Q.default_state,d),T(Me,d[c.editing.door].door_type=Q.door_type,d),T(Me,d[c.editing.door].door_data=Q.door_data,d),T(Me,d[c.editing.door].secret=Q.secret,d),T(Me,d[c.editing.door].camera=Q.camera,d),T(Me,d[c.editing.door].auto_lock=Q.auto_lock,d),He.send("updatedoor",d[c.editing.door]),h.push({message:window.locales.create.alerts.door_updated,type:"alert-success"}),ye.set(h),m.play("_notification.ogg")):(He.send("create_door",Q),d.push(Q),Me.set(d),h.push({message:window.locales.create.alerts.door_created,type:"alert-success"}),ye.set(h),m.play("_notification.ogg")),v(),T(j,c.creating=!1,c),T(j,c.doors_selected=!1,c),T(j,c.editing.state=!1,c)}function v(){T(H,u.name="",u),T(H,u.locationGroup="",u),T(H,u.jobs=[],u),T(H,u.identifier=[],u),T(H,u.ace=[],u),T(H,u.discord=[],u),T(H,u.locked=!0,u),T(H,u.lockpick=!1,u),T(H,u.garage=!1,u),T(H,u.passcode="",u),T(H,u.sound="",u),T(H,u.door_data=[],u),T(H,u.secret=!1,u),T(H,u.camera=!1,u),T(H,u.distance=2,u),T(H,u.auto_lock="",u),T(H,u.items=[],u)}function w(B,Q){let Z=B==-1?Q:d[B];!Z||(T(H,u.name=Z.door_name,u),T(H,u.locationGroup=Z.location_group,u),T(H,u.jobs=Z.perms.job?Z.perms.job:[],u),T(H,u.identifier=Z.perms.identifier?Z.perms.identifier:[],u),T(H,u.ace=Z.perms.ace?Z.perms.ace:[],u),T(H,u.discord=Z.perms.discord?Z.perms.discord:[],u),T(H,u.items=Z.perms.items?Z.perms.items:[],u),T(H,u.locked=Z.default_state,u),T(H,u.lockpick=Z.lockpickable,u),T(H,u.passcode=Z.passcode,u),T(H,u.sound=Z.door_sound,u),T(H,u.door_data=Z.door_data,u),T(H,u.secret=Z.secret,u),T(H,u.camera=Z.camera,u),T(H,u.distance=Z.distance,u),T(H,u.auto_lock=Z.auto_lock,u),T(j,c.editing.state=!0,c),T(j,c.editing.door=B==-1?d.findIndex(de=>de.door_data[0].unique_id===Q.door_data[0].unique_id):B,c))}function S(){if(c.editing.state)T(j,c.delete.state=!0,c),T(j,c.delete.door=c.editing.door,c),T(j,c.delete.name=d[c.editing.door].door_name,c),T(j,c.delete.type="door",c);else return}function M(){v(),T(j,c.doors_data=null,c),T(j,c.editing.door=-1,c),T(j,c.creating=!1,c),T(j,c.doors_selected=!1,c),T(j,c.editing.state=!1,c),j.set(c)}function G(){T(Xe,p.locationGroup=u.locationGroup,p),T(Xe,p.jobs=u.jobs,p),T(Xe,p.identifier=u.identifier,p),T(Xe,p.ace=u.ace,p),T(Xe,p.discord=u.discord,p),T(Xe,p.items=u.items,p),T(Xe,p.locked=u.locked,p),T(Xe,p.lockpick=u.lockpick,p),T(Xe,p.garage=u.garage,p),T(Xe,p.passcode=u.passcode,p),T(Xe,p.sound=u.sound,p),T(Xe,p.secret=u.secret,p),T(Xe,p.camera=u.camera,p),T(Xe,p.distance=u.distance,p),T(Xe,p.auto_lock=u.auto_lock,p),T(Xe,p.hasData=!0,p),Xe.set(p)}function U(){!p.hasData||(T(H,u.locationGroup=p.locationGroup,u),T(H,u.jobs=p.jobs,u),T(H,u.identifier=p.identifier,u),T(H,u.ace=p.ace,u),T(H,u.discord=p.discord,u),T(H,u.items=p.items,u),T(H,u.locked=p.locked,u),T(H,u.lockpick=p.lockpick,u),T(H,u.garage=p.garage,u),T(H,u.passcode=p.passcode,u),T(H,u.sound=p.sound,u),T(H,u.secret=p.secret,u),T(H,u.camera=p.camera,u),T(H,u.distance=p.distance,u),T(H,u.auto_lock=p.auto_lock,u))}const K=()=>{g(1)},J=()=>{g(2)},q=()=>{g(3)},ne=()=>{g(4)},O=()=>{g(5)};function X(){E=this.value,t(5,E)}const I=B=>{w(-1,B)},le=B=>{w(B)},se=()=>{l-1<0||t(2,l-=1)},ie=B=>{B.index!=-1&&t(2,l=B.index)},_e=()=>{l+1==f||t(2,l+=1)};return n.$$.update=()=>{if(n.$$.dirty[0]&31)if(i.length>0)if(t(0,o.length=0,o),t(1,f=Math.ceil(i.length/12)),f>Rt){let B=!1,Q=1,Z=Rt;l+3Rt?(o.push({number:1,index:0}),o.push({number:"...",index:-1}),Q=l-Rt+3,B?Z=l+2:Z=f-1):l+3>Rt&&(Z=l+2);for(let de=Q;de<=Z;de++)o.push({number:de,index:de-1});B?(o.push({number:"...",index:-1}),o.push({number:f,index:f-1})):o.push({number:f,index:f-1})}else for(let B=1;B<=f;B++)o.push({number:B,index:B-1});else if(t(0,o.length=0,o),t(1,f=Math.ceil(d.length/12)),f>Rt){let B=!1,Q=1,Z=Rt;l+3Rt?(o.push({number:1,index:0}),o.push({number:"...",index:-1}),Q=l-Rt+3,B?Z=l+2:Z=f-1):l+3>Rt&&(Z=l+2);for(let de=Q;de<=Z;de++)o.push({number:de,index:de-1});B?(o.push({number:"...",index:-1}),o.push({number:f,index:f-1})):o.push({number:f,index:f-1})}else for(let B=1;B<=f;B++)o.push({number:B,index:B-1})},s="",t(3,i=[]),t(2,l=0),t(0,o=[]),t(1,f=0),[o,f,l,i,d,E,p,c,g,A,C,b,v,w,S,M,G,U,K,J,q,ne,O,X,I,le,se,ie,_e]}class sh extends bt{constructor(e){super(),gt(this,e,nh,th,rt,{},null,[-1,-1])}}function lr(n){let e,t,s=window.locales.navigation.create_edit+"",i,l,o,f,d,p;return{c(){e=_("li"),t=_("a"),i=V(s),l=k(),o=_("i"),a(o,"class","bi bi-pencil-square"),a(t,"href","#"),a(t,"class",f="text-light nav-link "+(n[0]=="create"?"active":"")),a(e,"class","nav-item"),a(e,"data-name","create")},m(u,c){D(u,e,c),r(e,t),r(t,i),r(t,l),r(t,o),d||(p=P(e,"click",n[5]),d=!0)},p(u,c){c&1&&f!==(f="text-light nav-link "+(u[0]=="create"?"active":""))&&a(t,"class",f)},d(u){u&&L(e),d=!1,p()}}}function rr(n){let e,t,s=window.locales.navigation.import+"",i,l,o,f,d,p;return{c(){e=_("li"),t=_("a"),i=V(s),l=k(),o=_("i"),a(o,"class","bi bi-box-arrow-in-down-right"),a(t,"href","#"),a(t,"class",f="text-light nav-link "+(n[0]=="import"?"active":"")),a(e,"class","nav-item"),a(e,"data-name","import")},m(u,c){D(u,e,c),r(e,t),r(t,i),r(t,l),r(t,o),d||(p=P(e,"click",n[3]),d=!0)},p(u,c){c&1&&f!==(f="text-light nav-link "+(u[0]=="import"?"active":""))&&a(t,"class",f)},d(u){u&&L(e),d=!1,p()}}}function ih(n){let e,t,s,i,l=window.locales.navigation.control+"",o,f,d,p,u,c,m,h,g=window.locales.navigation.settings+"",A,y,E,C,N,b,v=n[1]&&lr(n),w=n[1]&&rr(n);return{c(){e=_("ul"),v&&v.c(),t=k(),s=_("li"),i=_("a"),o=V(l),f=k(),d=_("i"),u=k(),w&&w.c(),c=k(),m=_("li"),h=_("a"),A=V(g),y=k(),E=_("i"),a(d,"class","bi bi-dpad"),a(i,"href","#"),a(i,"class",p="text-light nav-link "+(n[0]=="control"?"active":"")),a(s,"class","nav-item"),a(s,"data-name","control"),a(E,"class","bi bi-gear"),a(h,"href","#"),a(h,"class",C="text-light nav-link "+(n[0]=="settings"?"active":"")),a(m,"class","nav-item"),a(m,"data-name","settings"),a(e,"class","nav nav-tabs mt-3")},m(S,M){D(S,e,M),v&&v.m(e,null),r(e,t),r(e,s),r(s,i),r(i,o),r(i,f),r(i,d),r(e,u),w&&w.m(e,null),r(e,c),r(e,m),r(m,h),r(h,A),r(h,y),r(h,E),N||(b=[P(s,"click",n[4]),P(m,"click",n[2])],N=!0)},p(S,[M]){S[1]?v?v.p(S,M):(v=lr(S),v.c(),v.m(e,t)):v&&(v.d(1),v=null),M&1&&p!==(p="text-light nav-link "+(S[0]=="control"?"active":""))&&a(i,"class",p),S[1]?w?w.p(S,M):(w=rr(S),w.c(),w.m(e,c)):w&&(w.d(1),w=null),M&1&&C!==(C="text-light nav-link "+(S[0]=="settings"?"active":""))&&a(h,"class",C)},i:ue,o:ue,d(S){S&&L(e),v&&v.d(),w&&w.d(),N=!1,Ee(b)}}}function oh(n,e,t){let{active:s="create"}=e,{permissions:i}=e;i?s="create":s="control";function l(p){xn.call(this,n,p)}function o(p){xn.call(this,n,p)}function f(p){xn.call(this,n,p)}function d(p){xn.call(this,n,p)}return n.$$set=p=>{"active"in p&&t(0,s=p.active),"permissions"in p&&t(1,i=p.permissions)},[s,i,l,o,f,d]}class lh extends bt{constructor(e){super(),gt(this,e,oh,ih,rt,{active:0,permissions:1})}}function rh(n,e){if(!n){console.error("[Scale] - Scaling function needs an element passed");return}if(!e){console.error("[Scale] - Scaling function needs a value passed");return}if(e<0){console.error("[Scale] - Scaling function needs a value higher than 0");return}n.style.setProperty("--scale",e)}function ah(n){let e,t,s,i,l,o,f,d=n[1].toFixed(0)+"",p,u,c,m,h,g;return{c(){e=_("div"),t=_("div"),s=_("label"),s.textContent=`${window.locales.settings.scale}`,i=k(),l=_("input"),o=k(),f=_("span"),p=V(d),u=V("%"),a(s,"for","scale"),a(s,"class","form-label"),a(l,"type","range"),a(l,"class","form-range"),a(l,"id","scale"),a(l,"min","50"),a(l,"max","300"),a(l,"step","10"),a(t,"class","col-6 col-sm-6"),a(e,"class","row")},m(A,y){D(A,e,y),r(e,t),r(t,s),r(t,i),r(t,l),pe(l,n[1]),r(t,o),r(t,f),r(f,p),r(f,u),m=!0,h||(g=[P(l,"change",n[4]),P(l,"input",n[4]),P(l,"change",n[2]),P(l,"input",ch),P(l,"mouseup",Ga)],h=!0)},p(A,[y]){y&2&&pe(l,A[1]),(!m||y&2)&&d!==(d=A[1].toFixed(0)+"")&&fe(p,d)},i(A){m||(it(()=>{c||(c=Bt(e,Wt,{duration:100},!0)),c.run(1)}),m=!0)},o(A){c||(c=Bt(e,Wt,{duration:100},!1)),c.run(0),m=!1},d(A){A&&L(e),A&&c&&c.end(),h=!1,Ee(g)}}}function ch(n){document.documentElement.style.setProperty("--pseudo-scale",(n.target.value/100).toString()),document.querySelector(".scale-placeholder").classList.add("placeholder-show")}function Ga(){document.querySelector(".scale-placeholder").classList.remove("placeholder-show")}function uh(n,e,t){let s,i,l=ue,o=()=>(l(),l=Xs(d,c=>t(5,i=c)),d);n.$$.on_destroy.push(()=>l());let{settings:f}=e,{store:d}=e;o();function p(c){rh(document.getElementById("create-doors"),s/100),Ga(),T(d,i.scale=(s/100).toFixed(2),i),f.update(i)}Yn(async()=>{t(1,s=i.scale?i.scale*100:100),p(),setTimeout(()=>{document.documentElement.style.setProperty("--pseudo-width",document.getElementById("create-doors").offsetWidth+"px"),document.documentElement.style.setProperty("--pseudo-height",document.getElementById("create-doors").offsetHeight+"px")},500)});function u(){s=ln(this.value),t(1,s)}return n.$$set=c=>{"settings"in c&&t(3,f=c.settings),"store"in c&&o(t(0,d=c.store))},t(1,s=100),[d,s,p,f,u]}class dh extends bt{constructor(e){super(),gt(this,e,uh,ah,rt,{settings:3,store:0})}}class fh{constructor(e,t,s){Xt(this,"settings");Xt(this,"version");Xt(this,"resource");Xt(this,"subscription");this.settings=St({}),this.version=e,this.resource=t;let i=window.localStorage.getItem(t);i?(i=JSON.parse(i),!i.version||this.version!=i.version?s?this.set(s):(this.removeLocal(),this.set({})):this.set(i)):s?this.set(this.versioned(s)):(this.removeLocal(),this.set({}))}get(){return Io(this.settings)}set(e){this.settings.set(this.versioned(e)),this.updateLocal()}update(e,t){let s=this.get();s[e]=t,this.settings.set(s),this.updateLocal()}updateLocal(){window.localStorage.setItem(this.resource,JSON.stringify(Io(this.settings)))}removeLocal(){window.localStorage.removeItem(this.resource)}versioned(e){let t=e;return t.version=this.version,t}}function ph(n,e){let t=!1,s,i;setTimeout(()=>{s=n.style.left.length==0||n.style.left=="0px"?window.outerWidth/2-n.getBoundingClientRect().width/2:parseFloat(n.style.left),i=n.style.top.length==0||n.style.top=="0px"?window.outerHeight/2-n.getBoundingClientRect().height/2:parseFloat(n.style.top)},100),e=document.getElementById(e),n.style.position="absolute",n.style.top=`${i}px`,n.style.left=`${s}px`,e.style.cursor="grab",e.style.userSelect="none",e.addEventListener("mousedown",()=>{const l=new DragEvent("dragstart");window.dispatchEvent(l),t=!0}),window.addEventListener("mousemove",l=>{t&&(s+=l.movementX,i+=l.movementY,n.style.top=`${i}px`,n.style.left=`${s}px`)}),window.addEventListener("mouseup",()=>{t=!1;const l=new DragEvent("dragend");window.dispatchEvent(l)})}const _h="data:image/webp;base64,UklGRiIBAABXRUJQVlA4WAoAAAAQAAAA/wAA/wAAQUxQSF4AAAABN6CYkSQ4Os9BuJZhCVZkIyJw+uVATdtI0oEYAPdh2Pqq65c/ptSJ6L8it22bzI47HzHwOS96Zqb/I8/q4g/+c/Cr8B/8of/u6L87+u+O/ruj/+7ovzsW4I7+uzMBVlA4IJ4AAADQEACdASoAAQABPikUiUOhoSEQFAAYAoS0t3C7WI2gBPYB77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJwoAD+//JMAAAAAAAAAAAAAA==";function ar(n){let e,t,s,i,l,o;return{c(){e=_("div"),t=_("div"),t.innerHTML='',s=k(),i=_("div"),i.innerHTML='',a(t,"class","backspace svelte-11vz8gd"),a(i,"class","backspace svelte-11vz8gd"),a(e,"id","suggest-container"),a(e,"class","svelte-11vz8gd")},m(f,d){D(f,e,d),r(e,t),r(e,s),r(e,i),l||(o=[P(t,"click",n[7]),P(i,"click",n[8])],l=!0)},p:ue,d(f){f&&L(e),l=!1,Ee(o)}}}function hh(n){let e,t,s,i,l,o,f,d,p,u,c,m,h,g,A,y,E,C,N,b,v,w,S,M,G,U,K,J,q,ne,O,X,I,le,se,ie,_e,B,Q,Z,de,ke,ae,oe,Ae,Ne,$,Y,R,W,x,Le,Re,et,he=n[1]&&ar(n);return{c(){e=_("div"),t=_("div"),s=_("div"),i=_("div"),l=_("div"),f=k(),d=_("div"),p=_("div"),c=k(),m=_("div"),h=_("div"),A=k(),y=_("div"),E=_("div"),C=_("input"),N=k(),he&&he.c(),b=k(),v=_("div"),w=_("div"),S=_("div"),S.textContent="1",M=k(),G=_("div"),G.textContent="2",U=k(),K=_("div"),K.textContent="3",J=k(),q=_("div"),ne=_("div"),ne.textContent="4",O=k(),X=_("div"),X.textContent="5",I=k(),le=_("div"),le.textContent="6",se=k(),ie=_("div"),_e=_("div"),_e.textContent="7",B=k(),Q=_("div"),Q.textContent="8",Z=k(),de=_("div"),de.textContent="9",ke=k(),ae=_("div"),oe=_("div"),oe.innerHTML='',Ae=k(),Ne=_("div"),Ne.textContent="0",$=k(),Y=_("div"),Y.innerHTML='',R=k(),W=_("div"),a(l,"class",o="led-green "+(n[5]?"led-green-active":"")+" svelte-11vz8gd"),a(i,"class","led-box svelte-11vz8gd"),a(p,"class",u="led-yellow "+(n[3]?"led-yellow-active":"")+" svelte-11vz8gd"),a(d,"class","led-box svelte-11vz8gd"),a(h,"class",g="led-red "+(n[4]?"led-red-active":"")+" svelte-11vz8gd"),a(m,"class","led-box svelte-11vz8gd"),a(s,"id","status-led"),a(s,"class","svelte-11vz8gd"),a(C,"type","password"),a(C,"class","w-100 svelte-11vz8gd"),a(E,"id","keypad-screen"),a(E,"class","position-relative svelte-11vz8gd"),a(y,"id","keypad-screen-wrapper"),a(S,"class","keypad-button svelte-11vz8gd"),a(G,"class","keypad-button svelte-11vz8gd"),a(K,"class","keypad-button svelte-11vz8gd"),a(w,"class","keypad-button-row w-100 svelte-11vz8gd"),a(ne,"class","keypad-button svelte-11vz8gd"),a(X,"class","keypad-button svelte-11vz8gd"),a(le,"class","keypad-button svelte-11vz8gd"),a(q,"class","keypad-button-row w-100 svelte-11vz8gd"),a(_e,"class","keypad-button svelte-11vz8gd"),a(Q,"class","keypad-button svelte-11vz8gd"),a(de,"class","keypad-button svelte-11vz8gd"),a(ie,"class","keypad-button-row w-100 svelte-11vz8gd"),a(oe,"class","keypad-button svelte-11vz8gd"),tt(oe,"color","#d0fe1d"),a(Ne,"class","keypad-button svelte-11vz8gd"),a(Y,"class","keypad-button text-warning svelte-11vz8gd"),a(ae,"class","keypad-button-row w-100 svelte-11vz8gd"),a(v,"id","keypad-button-wrapper"),a(v,"class","svelte-11vz8gd"),a(W,"id","keypad-speaker"),tt(W,"background-image","url("+_h+")"),a(W,"class","svelte-11vz8gd"),a(t,"id","keypad-round-wrapper"),a(t,"class","svelte-11vz8gd"),a(e,"id","keypad"),a(e,"class","shadow-sm svelte-11vz8gd")},m(me,Te){D(me,e,Te),r(e,t),r(t,s),r(s,i),r(i,l),r(s,f),r(s,d),r(d,p),r(s,c),r(s,m),r(m,h),r(t,A),r(t,y),r(y,E),r(E,C),pe(C,n[2]),r(E,N),he&&he.m(E,null),r(t,b),r(t,v),r(v,w),r(w,S),r(w,M),r(w,G),r(w,U),r(w,K),r(v,J),r(v,q),r(q,ne),r(q,O),r(q,X),r(q,I),r(q,le),r(v,se),r(v,ie),r(ie,_e),r(ie,B),r(ie,Q),r(ie,Z),r(ie,de),r(v,ke),r(v,ae),r(ae,oe),r(ae,Ae),r(ae,Ne),r(ae,$),r(ae,Y),r(t,R),r(t,W),Le=!0,Re||(et=[P(C,"input",n[13]),P(C,"input",n[11]),P(C,"paste",n[11]),P(S,"click",n[14]),P(G,"click",n[15]),P(K,"click",n[16]),P(ne,"click",n[17]),P(X,"click",n[18]),P(le,"click",n[19]),P(_e,"click",n[20]),P(Q,"click",n[21]),P(de,"click",n[22]),P(oe,"click",n[10]),P(Ne,"click",n[23]),P(Y,"click",n[9])],Re=!0)},p(me,[Te]){(!Le||Te&32&&o!==(o="led-green "+(me[5]?"led-green-active":"")+" svelte-11vz8gd"))&&a(l,"class",o),(!Le||Te&8&&u!==(u="led-yellow "+(me[3]?"led-yellow-active":"")+" svelte-11vz8gd"))&&a(p,"class",u),(!Le||Te&16&&g!==(g="led-red "+(me[4]?"led-red-active":"")+" svelte-11vz8gd"))&&a(h,"class",g),Te&4&&C.value!==me[2]&&pe(C,me[2]),me[1]?he?he.p(me,Te):(he=ar(me),he.c(),he.m(E,null)):he&&(he.d(1),he=null)},i(me){Le||(it(()=>{x||(x=Bt(e,Wt,{duration:100},!0)),x.run(1)}),Le=!0)},o(me){x||(x=Bt(e,Wt,{duration:100},!1)),x.run(0),Le=!1},d(me){me&&L(e),he&&he.d(),me&&x&&x.end(),Re=!1,Ee(et)}}}function mh(n,e,t){let s,i,l,o,f,d,p,u=ue,c=()=>(u(),u=Xs(h,O=>t(25,p=O)),h),m;be(n,j,O=>t(12,m=O)),n.$$.on_destroy.push(()=>u());let{sound:h}=e;c();function g(O){s.length!=8&&(t(2,s+=O),t(1,i=!0),p.play("_key_press.ogg"))}function A(){if(s.length>0)t(2,s=s.slice(0,-1)),s.length==0&&t(1,i=!1);else return}function y(){l=="password"?l="text":l="password",document.querySelector("#keypad-screen > input").type=l}function E(){t(3,f=!0),He.send("send_passcode",{passcode:s})}function C(){He.send("start_lockpick",{door:null})}function N(O){if(s.length>8){t(2,s=s.slice(0,-(s.length-8))),t(2,s=s.replace(/([^0-9])*/gim,""));return}if(t(2,s=s.replace(/([^0-9])*/gim,"")),s.length==0){t(1,i=!1);return}t(1,i=!0)}function b(){s=this.value,t(2,s)}const v=()=>{g(1)},w=()=>{g(2)},S=()=>{g(3)},M=()=>{g(4)},G=()=>{g(5)},U=()=>{g(6)},K=()=>{g(7)},J=()=>{g(8)},q=()=>{g(9)},ne=()=>{g(0)};return n.$$set=O=>{"sound"in O&&c(t(0,h=O.sound))},n.$$.update=()=>{n.$$.dirty&4096&&t(5,o=m.keypad_success),n.$$.dirty&4096&&t(3,f=m.keypad_processing),n.$$.dirty&4096&&t(4,d=m.keypad_error)},t(2,s=""),t(1,i=!1),l="password",[h,i,s,f,d,o,g,A,y,E,C,N,m,b,v,w,S,M,G,U,K,J,q,ne]}class gh extends bt{constructor(e){super(),gt(this,e,mh,hh,rt,{sound:0})}}function cr(n,e,t){const s=n.slice();return s[49]=e[t],s[51]=t,s}function ur(n,e,t){const s=n.slice();return s[49]=e[t],s[51]=t,s}function dr(n,e,t){const s=n.slice();return s[49]=e[t],s[51]=t,s}function fr(n,e,t){const s=n.slice();return s[59]=e[t],s[51]=t,s}function pr(n,e,t){const s=n.slice();return s[57]=e[t],s[51]=t,s}function _r(n,e,t){const s=n.slice();return s[55]=e[t],s[51]=t,s}function hr(n,e,t){const s=n.slice();return s[53]=e[t],s[51]=t,s}function mr(n,e,t){const s=n.slice();return s[62]=e[t],s[51]=t,s}function bh(n){let e=window.locales.import.permissions[1]+"",t;return{c(){t=V(e)},m(s,i){D(s,t,i)},p:ue,d(s){s&&L(t)}}}function vh(n){let e=window.locales.import.permissions[2]+"",t;return{c(){t=V(e)},m(s,i){D(s,t,i)},p:ue,d(s){s&&L(t)}}}function gr(n){let e,t,s=window.locales.permissions[n[62].toLowerCase()]+"",i,l,o,f,d;function p(){return n[27](n[62])}return{c(){e=_("li"),t=_("span"),i=V(s),o=k(),a(t,"class",l="nav-link text-light"+(n[0]==n[62]?" active":"")),a(t,"aria-current","page"),a(e,"class","nav-item svelte-1b1fi6t")},m(u,c){D(u,e,c),r(e,t),r(t,i),r(e,o),f||(d=P(e,"click",p),f=!0)},p(u,c){n=u,c[0]&2&&s!==(s=window.locales.permissions[n[62].toLowerCase()]+"")&&fe(i,s),c[0]&3&&l!==(l="nav-link text-light"+(n[0]==n[62]?" active":""))&&a(t,"class",l)},d(u){u&&L(e),f=!1,d()}}}function br(n,e){let t,s,i=e[62]!="Passcode"&&gr(e);return{key:n,first:null,c(){t=qe(),i&&i.c(),s=qe(),this.first=t},m(l,o){D(l,t,o),i&&i.m(l,o),D(l,s,o)},p(l,o){e=l,e[62]!="Passcode"?i?i.p(e,o):(i=gr(e),i.c(),i.m(s.parentNode,s)):i&&(i.d(1),i=null)},d(l){l&&L(t),i&&i.d(l),l&&L(s)}}}function wh(n){let e,t=window.locales.create.form.item+"",s,i,l,o,f,d,p,u,c,m,h,g=[],A=new Map,y,E,C=n[2];const N=b=>b[51];for(let b=0;bb[51];for(let b=0;bb[51];for(let b=0;bb[51];for(let b=0;bw[51];for(let w=0;w{d&&d.end(1),f=Js(e,n[15],{key:n[51]}),f.start()}),p=!0)},o(h){f&&f.invalidate(),d=Zs(e,n[14],{key:n[51]}),p=!1},d(h){h&&L(e),h&&d&&d.end(),u=!1,c()}}}function Tr(n,e){let t,s,i,l=!e[49].imported&&Ar(e);return{key:n,first:null,c(){t=qe(),l&&l.c(),s=qe(),this.first=t},m(o,f){D(o,t,f),l&&l.m(o,f),D(o,s,f),i=!0},p(o,f){e=o,e[49].imported?l&&(ft(),ge(l,1,1,()=>{l=null}),pt()):l?(l.p(e,f),f[0]&4096&&ce(l,1)):(l=Ar(e),l.c(),ce(l,1),l.m(s.parentNode,s))},i(o){i||(ce(l),i=!0)},o(o){ge(l),i=!1},d(o){o&&L(t),l&&l.d(o),o&&L(s)}}}function Cr(n){let e,t=n[49].name+"",s,i,l,o,f,d,p,u,c;function m(){return n[40](n[51])}return{c(){e=_("li"),s=V(t),i=k(),l=_("i"),o=k(),a(l,"class","bi bi-x-square-fill text-danger"),a(e,"class","list-group-item list-group-item-action cursor import-item text-capitalize svelte-1b1fi6t")},m(h,g){D(h,e,g),r(e,s),r(e,i),r(e,l),r(e,o),p=!0,u||(c=P(e,"click",m),u=!0)},p(h,g){n=h,(!p||g[0]&4096)&&t!==(t=n[49].name+"")&&fe(s,t)},i(h){p||(it(()=>{d&&d.end(1),f=Js(e,n[15],{key:n[51]}),f.start()}),p=!0)},o(h){f&&f.invalidate(),d=Zs(e,n[14],{key:n[51]}),p=!1},d(h){h&&L(e),h&&d&&d.end(),u=!1,c()}}}function Or(n,e){let t,s,i,l=e[49].imported&&Cr(e);return{key:n,first:null,c(){t=qe(),l&&l.c(),s=qe(),this.first=t},m(o,f){D(o,t,f),l&&l.m(o,f),D(o,s,f),i=!0},p(o,f){e=o,e[49].imported?l?(l.p(e,f),f[0]&4096&&ce(l,1)):(l=Cr(e),l.c(),ce(l,1),l.m(s.parentNode,s)):l&&(ft(),ge(l,1,1,()=>{l=null}),pt())},i(o){i||(ce(l),i=!0)},o(o){ge(l),i=!1},d(o){o&&L(t),l&&l.d(o),o&&L(s)}}}function Th(n){let e,t,s,i,l,o,f,d,p=[],u=new Map,c,m,h,g,A,y,E,C,N,b,v,w,S,M=[],G=new Map,U,K,J,q,ne,O,X,I=[],le=new Map,se,ie;function _e(R,W){return R[13].identifier?vh:bh}let B=_e(n),Q=B(n),Z=n[1];const de=R=>R[51];for(let R=0;RR[51];for(let R=0;RR[51];for(let R=0;R<$.length;R+=1){let W=cr(n,$,R),x=Y(W);le.set(x,I[R]=Or(x,W))}return{c(){e=_("div"),t=_("div"),s=_("h5"),s.textContent=`${window.locales.import.permissions[0]}`,i=k(),l=_("small"),Q.c(),o=k(),f=_("div"),d=_("ul");for(let R=0;R{se||(se=Bt(e,Wt,{duration:100},!0)),se.run(1)}),ie=!0}},o(R){for(let W=0;Wt(44,A=Y)),be(n,ye,Y=>t(45,y=Y)),be(n,H,Y=>t(46,E=Y)),be(n,is,Y=>t(1,C=Y)),be(n,rs,Y=>t(26,N=Y)),be(n,kt,Y=>t(13,b=Y));const[v,w]=gc({fallback(Y,R){const W=getComputedStyle(Y),x=W.transform==="none"?"":W.transform;return{duration:100,easing:hc,css:Le=>`
- transform: ${x} scale(${Le});
- opacity: ${Le}
- `}}});let S=!1;function M(Y){if(S)return;if(S=!0,o.length+d.length+u.length+m.length+h.length==0){y.push({message:window.locales.import.no_permissions,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg"),S=!1;return}let R=[];for(let x=0;x{S=!1},1e3)}function G(Y){if(S)return;S=!0;let R=[];for(let W=0;W{S=!1},1e3)}function U(){if(i.length>window.config.job_name_max_length||i.length==0){y.push({message:window.locales.create.form.alerts.job_name_too_long,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg");return}else if(i.match(window.config.job_name_match)){y.push({message:window.locales.create.form.alerts.job_name_out_of_scope,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg");return}else if(Number.isInteger(l)){if(l<0||l>window.config.job_grade_max){y.push({message:window.locales.create.form.alerts.job_grade_too_large,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg");return}}else{y.push({message:window.locales.create.form.alerts.job_grade_nan,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg");return}o.push({name:i,grade:l}),t(6,o),t(11,i=""),t(10,l=0)}function K(){if(f.length==0||f.length>64){y.push({message:window.locales.create.form.alerts.identifier_too_long,type:"alert-danger"}),ye.set(y),A.play("_notification.ogg");return}d.push(f),t(5,d)}function J(){u.push(p),t(4,u)}function q(){m.push(c),t(3,m)}function ne(Y){o.splice(Y,1),t(6,o)}function O(Y){d.splice(Y,1),t(5,d)}function X(Y){u.splice(Y,1),t(4,u)}function I(Y){m.splice(Y,1),t(3,m)}const le=Y=>{t(0,g=Y)};function se(){i=this.value,t(11,i)}function ie(){l=ln(this.value),t(10,l)}const _e=Y=>{ne(Y)};function B(){f=this.value,t(9,f)}const Q=Y=>{O(Y)};function Z(){p=this.value,t(8,p)}const de=Y=>{X(Y)};function ke(){c=this.value,t(7,c)}const ae=Y=>{I(Y)};function oe(){c=this.value,t(7,c)}const Ae=Y=>{I(Y)},Ne=Y=>{M(Y)},$=Y=>{G(Y)};return n.$$.update=()=>{n.$$.dirty[0]&67108864&&t(12,s=N),n.$$.dirty[0]&2&&t(0,g=C[0]),n.$$.dirty[0]&1&&g!=""&&setTimeout(()=>{Mi()},500)},t(11,i=""),t(10,l=0),t(6,o=[]),t(9,f=""),t(5,d=[]),t(8,p=""),t(4,u=[]),t(7,c=""),t(3,m=[]),t(2,h=[]),[g,C,h,m,u,d,o,c,p,f,l,i,s,b,v,w,M,G,U,K,J,q,ne,O,X,I,N,le,se,ie,_e,B,Q,Z,de,ke,ae,oe,Ae,Ne,$]}class Oh extends bt{constructor(e){super(),gt(this,e,Ch,Th,rt,{},null,[-1,-1,-1])}}function Nh(n){let e,t=window.locales.selector.icon+"";return{c(){e=_("div"),a(e,"id","selector"),a(e,"class","svelte-2ba962")},m(s,i){D(s,e,i),e.innerHTML=t},p:ue,i:ue,o:ue,d(s){s&&L(e)}}}class Sh extends bt{constructor(e){super(),gt(this,e,null,Nh,rt,{})}}function Lh(n){let e,t,s,i,l,o,f,d,p,u,c,m,h,g=n[2].toISOString()+"",A,y,E,C,N,b,v,w,S;return{c(){e=_("div"),t=_("div"),s=_("div"),s.textContent=`${window.locales.camera.move}`,i=k(),l=_("div"),l.textContent=`${window.locales.camera.zoom}`,o=k(),f=_("div"),f.textContent=`${window.locales.camera.reverse}`,d=k(),p=_("div"),p.textContent=`${window.locales.camera.exit}`,u=k(),c=_("div"),m=_("div"),h=_("div"),A=V(g),y=k(),E=_("div"),C=_("strong"),N=V("["),b=V(n[1]),v=V("]"),w=V(" - "),S=V(n[0]),a(s,"class","camera-tooltip-item svelte-qaw9gz"),a(l,"class","camera-tooltip-item svelte-qaw9gz"),a(f,"class","camera-tooltip-item svelte-qaw9gz"),a(p,"class","camera-tooltip-item svelte-qaw9gz"),a(t,"id","camera-info"),a(t,"class","svelte-qaw9gz"),a(h,"id","camera-timestamp"),a(E,"id","camera-door-name"),a(m,"id","camera-time-location"),a(m,"class","svelte-qaw9gz"),a(c,"id","camera-container"),a(c,"class","svelte-qaw9gz"),a(e,"id","camera"),a(e,"class","svelte-qaw9gz")},m(M,G){D(M,e,G),r(e,t),r(t,s),r(t,i),r(t,l),r(t,o),r(t,f),r(t,d),r(t,p),r(e,u),r(e,c),r(c,m),r(m,h),r(h,A),r(m,y),r(m,E),r(E,C),r(C,N),r(C,b),r(C,v),r(E,w),r(E,S)},p(M,[G]){G&4&&g!==(g=M[2].toISOString()+"")&&fe(A,g),G&2&&fe(b,M[1]),G&1&&fe(S,M[0])},i:ue,o:ue,d(M){M&&L(e)}}}function Dh(n,e,t){let s,{name:i=""}=e,{group:l=""}=e,o;return Yn(()=>{o=setInterval(()=>{t(2,s=new Date)},1e3)}),Vi(()=>{clearInterval(o)}),n.$$set=f=>{"name"in f&&t(0,i=f.name),"group"in f&&t(1,l=f.group)},t(2,s=new Date),[i,l,s]}class Ih extends bt{constructor(e){super(),gt(this,e,Dh,Lh,rt,{name:0,group:1})}}function Mh(n){let e,t,s=n[0].drawTextMessage+"",i,l,o;return{c(){e=_("div"),t=_("div"),a(t,"id","game-start"),a(t,"class","instructions svelte-4d2wf"),a(t,"style",n[1]),a(e,"id","game-instructions"),a(e,"class","svelte-4d2wf")},m(f,d){D(f,e,d),r(e,t),t.innerHTML=s,o=!0},p(f,[d]){(!o||d&1)&&s!==(s=f[0].drawTextMessage+"")&&(t.innerHTML=s),(!o||d&2)&&a(t,"style",f[1])},i(f){o||(it(()=>{l&&l.end(1),i=Js(e,Ks,{x:500,duration:500}),i.start()}),o=!0)},o(f){i&&i.invalidate(),l=Zs(e,Ks,{x:500,duration:500}),o=!1},d(f){f&&L(e),f&&l&&l.end()}}}function $h(n,e,t){let s,i;return be(n,kt,l=>t(0,i=l)),n.$$.update=()=>{n.$$.dirty&1&&i.drawTextColor&&t(1,s="box-shadow: 0px 0px 5px "+i.drawTextColor+";background-color:"+i.drawTextColor+";")},t(1,s=""),[i,s]}class Ph extends bt{constructor(e){super(),gt(this,e,$h,Mh,rt,{})}}const{window:Rs}=uc;function Nr(n){let e,t;return e=new Ph({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Sr(n){let e,t;return e=new Ih({props:{name:n[0].camera.name,group:n[0].camera.group}}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p(s,i){const l={};i&1&&(l.name=s[0].camera.name),i&1&&(l.group=s[0].camera.group),e.$set(l)},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Lr(n){let e,t;return e=new Fa({props:{name:n[0].delete.name}}),e.$on("click",n[14]),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p(s,i){const l={};i&1&&(l.name=s[0].delete.name),e.$set(l)},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Dr(n){let e,t;return e=new Sh({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Ir(n){let e,t;return e=new gh({props:{sound:ps}}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p:ue,i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Mr(n){let e,t,s,i,l,o=window.locales.main.info+"",f,d,p,u,c,m,h,g,A,y,E,C,N,b,v,w,S=window.locales.main.logo+"",M,G,U,K,J,q;c=new _c({props:{type:n[8]}}),h=new lh({props:{active:n[7],permissions:n[9].permissions}}),h.$on("click",n[10]);const ne=[Vh,Hh,jh,Rh],O=[];function X(I,le){return I[7]=="create"?0:I[7]=="control"?1:I[7]=="settings"?2:I[7]=="import"?3:-1}return~(y=X(n))&&(E=O[y]=ne[y](n)),{c(){e=_("div"),t=k(),s=_("div"),i=_("div"),l=_("div"),f=V(o),d=k(),p=_("small"),p.innerHTML='',u=k(),_t(c.$$.fragment),m=k(),_t(h.$$.fragment),g=k(),A=_("div"),E&&E.c(),C=k(),N=_("div"),b=_("small"),b.textContent=`${window.locales.main.version}`,v=k(),w=_("small"),a(e,"class","scale-placeholder"),a(p,"class","float-end text-small text-muted"),a(l,"class","card-header"),a(l,"id","handle"),a(A,"class","card-body row"),a(w,"id","server-logo"),a(w,"class","text-small svelte-vrcv47"),a(N,"class","card-footer d-flex justify-content-between"),a(i,"class","card col"),a(s,"id","create-doors"),a(s,"style",M="position:absolute; "+n[1]),a(s,"class","w-50 border-cd rounded shadow-sm scale svelte-vrcv47")},m(I,le){D(I,e,le),D(I,t,le),D(I,s,le),r(s,i),r(i,l),r(l,f),r(l,d),r(l,p),r(i,u),ot(c,i,null),r(i,m),ot(h,i,null),r(i,g),r(i,A),~y&&O[y].m(A,null),r(i,C),r(i,N),r(N,b),r(N,v),r(N,w),w.innerHTML=S,K=!0,J||(q=Za(ph.call(null,s,"handle")),J=!0)},p(I,le){const se={};le&256&&(se.type=I[8]),c.$set(se);const ie={};le&128&&(ie.active=I[7]),le&512&&(ie.permissions=I[9].permissions),h.$set(ie);let _e=y;y=X(I),y===_e?~y&&O[y].p(I,le):(E&&(ft(),ge(O[_e],1,1,()=>{O[_e]=null}),pt()),~y?(E=O[y],E?E.p(I,le):(E=O[y]=ne[y](I),E.c()),ce(E,1),E.m(A,null)):E=null),(!K||le&2&&M!==(M="position:absolute; "+I[1]))&&a(s,"style",M)},i(I){K||(ce(c.$$.fragment,I),ce(h.$$.fragment,I),ce(E),it(()=>{U&&U.end(1),G=Js(s,Ks,{y:500,duration:300}),G.start()}),K=!0)},o(I){ge(c.$$.fragment,I),ge(h.$$.fragment,I),ge(E),G&&G.invalidate(),U=Zs(s,Ks,{y:500,duration:300}),K=!1},d(I){I&&L(e),I&&L(t),I&&L(s),lt(c),lt(h),~y&&O[y].d(),I&&U&&U.end(),J=!1,q()}}}function Rh(n){let e,t;return e=new Oh({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p:ue,i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function jh(n){let e,t;return e=new dh({props:{settings:n[4],store:n[4].settings}}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p(s,i){const l={};i&16&&(l.settings=s[4]),i&16&&(l.store=s[4].settings),e.$set(l)},i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Hh(n){let e,t;return e=new D_({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p:ue,i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function Vh(n){let e,t;return e=new sh({}),{c(){_t(e.$$.fragment)},m(s,i){ot(e,s,i),t=!0},p:ue,i(s){t||(ce(e.$$.fragment,s),t=!0)},o(s){ge(e.$$.fragment,s),t=!1},d(s){lt(e,s)}}}function $r(n){let e,t,s,i,l=window.locales.create.selection.select[0]+"",o,f,d,p,u,c=window.locales.create.selection.select[1]+"",m,h,g=window.locales.create.selection.select[2]+"",A,y,E,C=window.locales.create.selection.cancel[0]+"",N,b,v,w,S,M=window.locales.create.selection.cancel[1]+"",G,U,K=window.locales.create.selection.cancel[2]+"",J,q,ne,O,X=window.locales.create.selection.amount_selected[0]+"",I,le,se,ie,_e,B=(n[0].door_count==3||n[0].door_count==4||n[0].door_count==5?1:n[0].door_count)+"",Q,Z,de=window.locales.create.selection.amount_selected[1]+"",ke;return{c(){e=_("div"),t=_("div"),s=_("div"),i=_("div"),o=V(l),f=k(),d=_("kbd"),p=_("i"),u=k(),m=V(c),h=k(),A=V(g),y=k(),E=_("div"),N=V(C),b=k(),v=_("kbd"),w=_("i"),S=k(),G=V(M),U=k(),J=V(K),q=k(),ne=_("div"),O=_("div"),I=V(X),le=k(),se=_("span"),ie=V(n[6]),_e=V("/"),Q=V(B),Z=k(),ke=V(de),a(p,"class","bi bi-mouse-fill"),a(i,"class","col-12 text-center"),a(w,"class","bi bi-mouse-fill"),a(E,"class","col-12 text-center"),a(s,"class","row"),a(se,"class","badge text-bg-dark"),a(O,"class","col-12 text-center"),a(ne,"class","row"),a(t,"class","card-body user-select-none bg-secondary rounded"),a(e,"id","selection-helper"),a(e,"class","card position-absolute shadow-sm border-cd-sm"),tt(e,"bottom","5%"),tt(e,"left","50%"),tt(e,"transform","translateX(-50%)")},m(ae,oe){D(ae,e,oe),r(e,t),r(t,s),r(s,i),r(i,o),r(i,f),r(i,d),r(d,p),r(d,u),r(d,m),r(i,h),r(i,A),r(s,y),r(s,E),r(E,N),r(E,b),r(E,v),r(v,w),r(v,S),r(v,G),r(E,U),r(E,J),r(t,q),r(t,ne),r(ne,O),r(O,I),r(O,le),r(O,se),r(se,ie),r(se,_e),r(se,Q),r(O,Z),r(O,ke)},p(ae,oe){oe&64&&fe(ie,ae[6]),oe&1&&B!==(B=(ae[0].door_count==3||ae[0].door_count==4||ae[0].door_count==5?1:ae[0].door_count)+"")&&fe(Q,B)},d(ae){ae&&L(e)}}}function Bh(n){let e,t,s,i,l,o,f,d,p,u,c=n[5]&&Nr(),m=n[0].camera.state&&Sr(n),h=n[0].delete.state&&Lr(n),g=n[3]&&Dr(),A=n[0].keypad&&Ir(),y=n[2]&&Mr(n),E=n[0].creating&&$r(n);return{c(){c&&c.c(),e=k(),m&&m.c(),t=k(),h&&h.c(),s=k(),g&&g.c(),i=k(),l=_("main"),A&&A.c(),o=k(),y&&y.c(),f=k(),E&&E.c(),a(l,"class","d-flex justify-content-center align-items-center overflow-hidden svelte-vrcv47"),tt(l,"width","100%"),tt(l,"height","100vh")},m(C,N){c&&c.m(C,N),D(C,e,N),m&&m.m(C,N),D(C,t,N),h&&h.m(C,N),D(C,s,N),g&&g.m(C,N),D(C,i,N),D(C,l,N),A&&A.m(l,null),r(l,o),y&&y.m(l,null),r(l,f),E&&E.m(l,null),d=!0,p||(u=[P(Rs,"dragend",n[11]),P(Rs,"message",n[12]),P(Rs,"keydown",n[13]),P(Rs,"mousedown",n[15])],p=!0)},p(C,[N]){C[5]?c?N&32&&ce(c,1):(c=Nr(),c.c(),ce(c,1),c.m(e.parentNode,e)):c&&(ft(),ge(c,1,1,()=>{c=null}),pt()),C[0].camera.state?m?(m.p(C,N),N&1&&ce(m,1)):(m=Sr(C),m.c(),ce(m,1),m.m(t.parentNode,t)):m&&(ft(),ge(m,1,1,()=>{m=null}),pt()),C[0].delete.state?h?(h.p(C,N),N&1&&ce(h,1)):(h=Lr(C),h.c(),ce(h,1),h.m(s.parentNode,s)):h&&(ft(),ge(h,1,1,()=>{h=null}),pt()),C[3]?g?N&8&&ce(g,1):(g=Dr(),g.c(),ce(g,1),g.m(i.parentNode,i)):g&&(ft(),ge(g,1,1,()=>{g=null}),pt()),C[0].keypad?A?(A.p(C,N),N&1&&ce(A,1)):(A=Ir(),A.c(),ce(A,1),A.m(l,o)):A&&(ft(),ge(A,1,1,()=>{A=null}),pt()),C[2]?y?(y.p(C,N),N&4&&ce(y,1)):(y=Mr(C),y.c(),ce(y,1),y.m(l,f)):y&&(ft(),ge(y,1,1,()=>{y=null}),pt()),C[0].creating?E?E.p(C,N):(E=$r(C),E.c(),E.m(l,null)):E&&(E.d(1),E=null)},i(C){d||(ce(c),ce(m),ce(h),ce(g),ce(A),ce(y),d=!0)},o(C){ge(c),ge(m),ge(h),ge(g),ge(A),ge(y),d=!1},d(C){c&&c.d(C),C&&L(e),m&&m.d(C),C&&L(t),h&&h.d(C),C&&L(s),g&&g.d(C),C&&L(i),C&&L(l),A&&A.d(),y&&y.d(),E&&E.d(),p=!1,Ee(u)}}}function Wh(n,e,t){let s,i,l,o,f,d,p,u,c,m,h,g,A,y,E,C;be(n,j,O=>t(0,u=O)),be(n,H,O=>t(18,c=O)),be(n,Me,O=>t(19,m=O)),be(n,kt,O=>t(9,h=O)),be(n,rs,O=>t(20,g=O)),be(n,$i,O=>t(21,A=O)),be(n,ps,O=>t(22,y=O)),be(n,is,O=>t(23,E=O)),be(n,ye,O=>t(24,C=O));function N(O){t(7,s=O.currentTarget.dataset.name)}function b(O){u.keypad!=!0&&(document.documentElement.style.setProperty("--pseudo-left",document.getElementById("create-doors").style.left),document.documentElement.style.setProperty("--pseudo-top",document.getElementById("create-doors").style.top),l.update("position",{left:document.getElementById("create-doors").style.left,top:document.getElementById("create-doors").style.top}))}function v(O){const X=u.door_count==3?2:0;for(let I=0;I=se.door_coords.x-X&&le.door_coords.x<=se.door_coords.x+X&&le.door_coords.y>=se.door_coords.y-X&&le.door_coords.y<=se.door_coords.y+X&&le.door_coords.z>=se.door_coords.z-X&&le.door_coords.z<=se.door_coords.z+X)return u.editing.selection==!0?(T(j,u.editing.state=!0,u),T(j,u.editing.door=I,u),T(j,u.editing.selection=!1,u),T(j,u.doors_selected=!0,u),T(j,u.doors_data=O,u),t(6,f=0),C.push({message:`${window.locales.main.alerts.door_selected[0]} "[ ${m[I].location_group} ] ${m[I].door_name}" ${window.locales.main.alerts.door_selected[1]}`,type:"alert-success"}),ye.set(C),y.play("_notification.ogg"),T(H,c.name=m[I].door_name,c),T(H,c.locationGroup=m[I].location_group,c),T(H,c.jobs=m[I].perms.job,c),T(H,c.identifier=m[I].perms.identifier,c),T(H,c.ace=m[I].perms.ace?m[I].perms.ace:[],c),T(H,c.discord=m[I].perms.discord?m[I].perms.discord:[],c),T(H,c.locked=m[I].default_state,c),T(H,c.lockpick=m[I].lockpickable,c),T(H,c.passcode=m[I].passcode,c),T(H,c.sound=m[I].door_sound,c),T(H,c.door_data=m[I].door_data,c),T(H,c.secret=m[I].secret,c),T(H,c.items=m[I].perms.items?m[I].perms.items:[],c),!0):(C.push({message:`${window.locales.main.alerts.door_exists}[ ${m[I].location_group} ] ${m[I].door_name}`,type:"alert-danger"}),ye.set(C),y.play("_notification.ogg"),!0)}return!1}let w;async function S(O){switch(O.data.action){case"play_sound":y.play(O.data.data);break;case"openui":T(Me,m=O.data.door_data,m),Me.set(m),O.data.door_perms.job&&(O.data.door_perms.job.job_name&&T(kt,h.job={job:O.data.door_perms.job.job_name,grade:O.data.door_perms.job.job_grade},h),O.data.door_perms.job.gang_name&&T(kt,h.gang={gang:O.data.door_perms.job.gang_name,grade:O.data.door_perms.job.gang_grade},h)),O.data.door_perms.identifier&&T(kt,h.identifier=O.data.door_perms.identifier,h),O.data.door_perms.ace&&T(kt,h.ace=O.data.door_perms.ace,h),O.data.door_perms.discord&&T(kt,h.discord=O.data.door_perms.discord,h),T(kt,h.permissions=O.data.admin_perms,h),O.data.admin_perms?t(7,s="create"):t(7,s="control"),T(j,u.doors_selected=!1,u),T(j,u.doors_data=null,u),T(j,u.status=!0,u),T(j,u.editing.status=!1,u),t(2,o=!0);break;case"closeui":t(2,o=!1);break;case"door_selected":t(6,f+=1);break;case"cancel_select_doors":t(6,f=0),T(j,u.status=!0,u),T(j,u.creating=!1,u),T(j,u.editing.state=!1,u),T(j,u.editing.door=-1,u),T(j,u.selection_icon=!1,u),U();break;case"select_doors":if(U(),T(j,u.selection_icon=!1,u),T(j,u.status=!0,u),T(j,u.creating=!1,u),T(j,u.editing.state=!1,u),T(j,u.editing.door=-1,u),w=O.data.data,v(w))return;if(u.editing.selection==!0){T(j,u.editing.selection=!1,u),C.push({message:window.locales.main.alerts.door_does_not_exist,type:"alert-warning"}),ye.set(C),y.play("_notification.ogg");return}T(j,u.doors_selected=!0,u),T(j,u.doors_data=w,u),t(6,f=0);for(let I=0;I{He.send("keypad_closed",{ok:!0}),T(j,u.keypad=!1,u),T(j,u.keypad_processing=!1,u),T(j,u.keypad_success=!1,u),T(j,u.keypad_error=!1,u)},1e3);break;case"close_camera":T(j,u.status=!0,u),T(j,u.camera.state=!1,u),T(j,u.camera.door_id=-1,u);break;case"start_data":He.send("start_data_received",{ok:!0}),T(Me,m=O.data.door_data,m),Me.set(m),T($i,A=O.data.load_sounds,A),T(is,E.length=0,E),O.data.door_access_perms.Framework&&E.push("Framework"),O.data.door_access_perms.Identifiers&&E.push("Identifiers"),O.data.door_access_perms.AcePerms&&E.push("AcePerms"),O.data.door_access_perms.Discord&&E.push("Discord"),O.data.door_access_perms.Items&&E.push("Items"),E.push("Passcode"),is.set(E),A.length>0&&y.batchAdd(A);for(let I=0;I{K=l.get(),t(1,J=K.position.left=="0px"&&K.position.top=="0px"?`--scale:${K.scale};`:`top: ${K.position.top}; left: ${K.position.left};--scale:${K.scale};`)});function q(){T(j,u.delete.state=!1,u),T(j,u.delete.door=-1,u),T(j,u.delete.name="",u),T(j,u.delete.type="door",u)}function ne(O){if(!(u.camera.state||u.delete.state||u.keypad||d))if(o)if(!document.getElementById("create-doors").contains(O.target))G({key:"Escape"});else return;else return}return n.$$.update=()=>{n.$$.dirty&1&&t(2,o=u.status),n.$$.dirty&1&&t(3,d=u.selection_icon)},t(7,s="create"),t(8,i="alert-success"),t(4,l=new fh("1.0.3","cd_doorlock",{scale:1,position:{left:"0px",top:"0px"}})),t(6,f=0),t(5,p=!1),[u,J,o,d,l,p,f,s,i,h,N,b,S,G,q,ne]}class Fh extends bt{constructor(e){super(),gt(this,e,Wh,Bh,rt,{})}}new Fh({target:document.getElementById("app")});
+(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))o(n);new MutationObserver(n=>{for(const s of n)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function t(n){const s={};return n.integrity&&(s.integrity=n.integrity),n.referrerPolicy&&(s.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?s.credentials="include":n.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function o(n){if(n.ep)return;n.ep=!0;const s=t(n);fetch(n.href,s)}})();const ms=!1;var Ps=Array.isArray,Jd=Array.prototype.indexOf,js=Array.from,$l=Object.defineProperty,sn=Object.getOwnPropertyDescriptor,Sl=Object.getOwnPropertyDescriptors,Qd=Object.prototype,Xd=Array.prototype,Ms=Object.getPrototypeOf,Ca=Object.isExtensible;function Zd(r){return typeof r=="function"}const Sr=()=>{};function eu(r){return r()}function hs(r){for(var e=0;e{r=o,e=n});return{promise:t,resolve:r,reject:e}}const Vt=2,Rs=4,Si=8,Br=16,so=32,qo=64,Oi=128,Nr=512,jt=1024,rr=2048,Fr=4096,lr=8192,Xr=16384,Ni=32768,mo=65536,$a=1<<17,Nl=1<<18,bn=1<<19,Dl=1<<20,jo=32768,gs=1<<21,Vs=1<<22,po=1<<23,Zr=Symbol("$state"),tu=Symbol("legacy props"),ru=Symbol(""),rn=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function Ll(r){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function ou(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function nu(r){throw new Error("https://svelte.dev/e/effect_in_teardown")}function iu(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function su(r){throw new Error("https://svelte.dev/e/effect_orphan")}function au(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function lu(r){throw new Error("https://svelte.dev/e/props_invalid_value")}function cu(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function du(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function uu(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function fu(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Il=1,Pl=2,jl=4,pu=8,vu=16,_u=1,mu=2,Ml=4,hu=8,gu=16,bu=1,wu=2,yu=4,xu=1,Eu=2,Pt=Symbol(),ku="http://www.w3.org/1999/xhtml",Au="@attach";function Tu(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Cu(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Rl(r){return r===this.v}function Gs(r,e){return r!=r?e==e:r!==e||r!==null&&typeof r=="object"||typeof r=="function"}function Vl(r){return!Gs(r,this.v)}let wn=!1,$u=!1;function Su(){wn=!0}let bt=null;function ln(r){bt=r}function kt(r,e=!1,t){bt={p:bt,i:!1,c:null,e:null,s:r,x:null,l:wn&&!e?{s:null,u:null,$:[]}:null}}function At(r){var e=bt,t=e.e;if(t!==null){e.e=null;for(var o of t)rc(o)}return e.i=!0,bt=e.p,{}}function zn(){return!wn||bt!==null&&bt.l===null}let No=[];function Gl(){var r=No;No=[],hs(r)}function Gr(r){if(No.length===0&&!Pn){var e=No;queueMicrotask(()=>{e===No&&Gl()})}No.push(r)}function Ou(){for(;No.length>0;)Gl()}function ql(r){var e=Qe;if(e===null)return ot.f|=po,r;if((e.f&Ni)===0){if((e.f&Oi)===0)throw r;e.b.error(r)}else cn(r,e)}function cn(r,e){for(;e!==null;){if((e.f&Oi)!==0)try{e.b.error(r);return}catch(t){r=t}e=e.parent}throw r}const si=new Set;let vt=null,mi=null,gr=null,hr=[],Di=null,bs=!1,Pn=!1;class Mr{committed=!1;current=new Map;previous=new Map;#e=new Set;#t=new Set;#o=0;#r=0;#l=null;#i=[];#n=[];skipped_effects=new Set;is_fork=!1;is_deferred(){return this.is_fork||this.#r>0}process(e){hr=[],mi=null,this.apply();var t={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(const o of e)this.#s(o,t);this.is_fork||this.#d(),this.is_deferred()?(this.#a(t.effects),this.#a(t.render_effects),this.#a(t.block_effects)):(mi=this,vt=null,Sa(t.render_effects),Sa(t.effects),mi=null,this.#l?.resolve()),gr=null}#s(e,t){e.f^=jt;for(var o=e.first;o!==null;){var n=o.f,s=(n&(so|qo))!==0,a=s&&(n&jt)!==0,u=a||(n&lr)!==0||this.skipped_effects.has(o);if((o.f&Oi)!==0&&o.b?.is_pending()&&(t={parent:t,effect:o,effects:[],render_effects:[],block_effects:[]}),!u&&o.fn!==null){s?o.f^=jt:(n&Rs)!==0?t.effects.push(o):En(o)&&((o.f&Br)!==0&&t.block_effects.push(o),un(o));var c=o.first;if(c!==null){o=c;continue}}var l=o.parent;for(o=o.next;o===null&&l!==null;)l===t.effect&&(this.#a(t.effects),this.#a(t.render_effects),this.#a(t.block_effects),t=t.parent),o=l.next,l=l.parent}}#a(e){for(const t of e)((t.f&rr)!==0?this.#i:this.#n).push(t),this.#c(t.deps),Rt(t,jt)}#c(e){if(e!==null)for(const t of e)(t.f&Vt)===0||(t.f&jo)===0||(t.f^=jo,this.#c(t.deps))}capture(e,t){this.previous.has(e)||this.previous.set(e,t),(e.f&po)===0&&(this.current.set(e,e.v),gr?.set(e,e.v))}activate(){vt=this,this.apply()}deactivate(){vt===this&&(vt=null,gr=null)}flush(){if(this.activate(),hr.length>0){if(Bl(),vt!==null&&vt!==this)return}else this.#o===0&&this.process([]);this.deactivate()}discard(){for(const e of this.#t)e(this);this.#t.clear()}#d(){if(this.#r===0){for(const e of this.#e)e();this.#e.clear()}this.#o===0&&this.#u()}#u(){if(si.size>1){this.previous.clear();var e=gr,t=!0,o={parent:null,effect:null,effects:[],render_effects:[],block_effects:[]};for(const s of si){if(s===this){t=!1;continue}const a=[];for(const[c,l]of this.current){if(s.current.has(c))if(t&&l!==s.current.get(c))s.current.set(c,l);else continue;a.push(c)}if(a.length===0)continue;const u=[...s.current.keys()].filter(c=>!this.current.has(c));if(u.length>0){var n=hr;hr=[];const c=new Set,l=new Map;for(const p of a)Fl(p,u,c,l);if(hr.length>0){vt=s,s.apply();for(const p of hr)s.#s(p,o);s.deactivate()}hr=n}}vt=null,gr=e}this.committed=!0,si.delete(this)}increment(e){this.#o+=1,e&&(this.#r+=1)}decrement(e){this.#o-=1,e&&(this.#r-=1),this.revive()}revive(){for(const e of this.#i)Rt(e,rr),Mo(e);for(const e of this.#n)Rt(e,Fr),Mo(e);this.#i=[],this.#n=[],this.flush()}oncommit(e){this.#e.add(e)}ondiscard(e){this.#t.add(e)}settled(){return(this.#l??=Ol()).promise}static ensure(){if(vt===null){const e=vt=new Mr;si.add(vt),Pn||Mr.enqueue(()=>{vt===e&&e.flush()})}return vt}static enqueue(e){Gr(e)}apply(){}}function Nu(r){var e=Pn;Pn=!0;try{for(var t;;){if(Ou(),hr.length===0&&(vt?.flush(),hr.length===0))return Di=null,t;Bl()}}finally{Pn=e}}function Bl(){var r=_o;bs=!0;var e=null;try{var t=0;for(yi(!0);hr.length>0;){var o=Mr.ensure();if(t++>1e3){var n,s;Du()}o.process(hr),vo.clear()}}finally{bs=!1,yi(r),Di=null}}function Du(){try{au()}catch(r){cn(r,Di)}}let Jr=null;function Sa(r){var e=r.length;if(e!==0){for(var t=0;t0)){vo.clear();for(const n of Jr){if((n.f&(Xr|lr))!==0)continue;const s=[n];let a=n.parent;for(;a!==null;)Jr.has(a)&&(Jr.delete(a),s.push(a)),a=a.parent;for(let u=s.length-1;u>=0;u--){const c=s[u];(c.f&(Xr|lr))===0&&un(c)}}Jr.clear()}}Jr=null}}function Fl(r,e,t,o){if(!t.has(r)&&(t.add(r),r.reactions!==null))for(const n of r.reactions){const s=n.f;(s&Vt)!==0?Fl(n,e,t,o):(s&(Vs|Br))!==0&&(s&rr)===0&&Hl(n,e,o)&&(Rt(n,rr),Mo(n))}}function Hl(r,e,t){const o=t.get(r);if(o!==void 0)return o;if(r.deps!==null)for(const n of r.deps){if(e.includes(n))return!0;if((n.f&Vt)!==0&&Hl(n,e,t))return t.set(n,!0),!0}return t.set(r,!1),!1}function Mo(r){for(var e=Di=r;e.parent!==null;){e=e.parent;var t=e.f;if(bs&&e===Qe&&(t&Br)!==0&&(t&Nl)===0)return;if((t&(qo|so))!==0){if((t&jt)===0)return;e.f^=jt}}hr.push(e)}function Lu(r){let e=0,t=ho(0),o;return()=>{Li()&&(i(t),yo(()=>(e===0&&(o=v(()=>r(()=>jn(t)))),e+=1,()=>{Gr(()=>{e-=1,e===0&&(o?.(),o=void 0,jn(t))})})))}}var Iu=mo|bn|Oi;function Pu(r,e,t){new ju(r,e,t)}class ju{parent;#e=!1;#t;#o=null;#r;#l;#i;#n=null;#s=null;#a=null;#c=null;#d=null;#u=0;#f=0;#v=!1;#p=null;#b=Lu(()=>(this.#p=ho(this.#u),()=>{this.#p=null}));constructor(e,t,o){this.#t=e,this.#r=t,this.#l=o,this.parent=Qe.b,this.#e=!!this.#r.pending,this.#i=xn(()=>{Qe.b=this;{var n=this.#h();try{this.#n=Zt(()=>o(n))}catch(s){this.error(s)}this.#f>0?this.#m():this.#e=!1}return()=>{this.#d?.remove()}},Iu)}#w(){try{this.#n=Zt(()=>this.#l(this.#t))}catch(e){this.error(e)}this.#e=!1}#y(){const e=this.#r.pending;e&&(this.#s=Zt(()=>e(this.#t)),Mr.enqueue(()=>{var t=this.#h();this.#n=this.#_(()=>(Mr.ensure(),Zt(()=>this.#l(t)))),this.#f>0?this.#m():(an(this.#s,()=>{this.#s=null}),this.#e=!1)}))}#h(){var e=this.#t;return this.#e&&(this.#d=oo(),this.#t.before(this.#d),e=this.#d),e}is_pending(){return this.#e||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!this.#r.pending}#_(e){var t=Qe,o=ot,n=bt;wr(this.#i),tr(this.#i),ln(this.#i.ctx);try{return e()}catch(s){return ql(s),null}finally{wr(t),tr(o),ln(n)}}#m(){const e=this.#r.pending;this.#n!==null&&(this.#c=document.createDocumentFragment(),this.#c.append(this.#d),cc(this.#n,this.#c)),this.#s===null&&(this.#s=Zt(()=>e(this.#t)))}#g(e){if(!this.has_pending_snippet()){this.parent&&this.parent.#g(e);return}this.#f+=e,this.#f===0&&(this.#e=!1,this.#s&&an(this.#s,()=>{this.#s=null}),this.#c&&(this.#t.before(this.#c),this.#c=null))}update_pending_count(e){this.#g(e),this.#u+=e,this.#p&&dn(this.#p,this.#u)}get_effect_pending(){return this.#b(),i(this.#p)}error(e){var t=this.#r.onerror;let o=this.#r.failed;if(this.#v||!t&&!o)throw e;this.#n&&(Mt(this.#n),this.#n=null),this.#s&&(Mt(this.#s),this.#s=null),this.#a&&(Mt(this.#a),this.#a=null);var n=!1,s=!1;const a=()=>{if(n){Cu();return}n=!0,s&&fu(),Mr.ensure(),this.#u=0,this.#a!==null&&an(this.#a,()=>{this.#a=null}),this.#e=this.has_pending_snippet(),this.#n=this.#_(()=>(this.#v=!1,Zt(()=>this.#l(this.#t)))),this.#f>0?this.#m():this.#e=!1};var u=ot;try{tr(null),s=!0,t?.(e,a),s=!1}catch(c){cn(c,this.#i&&this.#i.parent)}finally{tr(u)}o&&Gr(()=>{this.#a=this.#_(()=>{Mr.ensure(),this.#v=!0;try{return Zt(()=>{o(this.#t,()=>e,()=>a)})}catch(c){return cn(c,this.#i.parent),null}finally{this.#v=!1}})})}}function ft(r,e){return e}function Mu(r,e,t){for(var o=[],n=e.length,s=0;s{var a=o.length===0&&t!==null;if(a){var u=t,c=u.parentNode;zu(c),c.append(u),r.items.clear(),Pr(r,e[0].prev,e[n-1].next)}for(var l=0;l{var E=t();return Ps(E)?E:E==null?[]:js(E)}),x,b=!0;function y(){Ru(C,x,a,e,o),_!==null&&(x.length===0?(_.fragment?(a.before(_.fragment),_.fragment=null):Ws(_.effect),R.first=_.effect):an(_.effect,()=>{_=null}))}var R=xn(()=>{x=i(m);for(var E=x.length,N=new Set,I=vt,q=null,B=ec(),U=0;Us(a))};else{var fe=document.createDocumentFragment(),be=oo();fe.append(be),_={fragment:fe,effect:Zt(()=>s(be))}}if(!b)if(B){for(const[Oe,Ee]of u)N.has(Oe)||I.skipped_effects.add(Ee.e);I.oncommit(y),I.ondiscard(()=>{})}else y();i(m)}),C={effect:R,items:u,first:c};b=!1}function Ru(r,e,t,o,n){var s=(o&pu)!==0,a=e.length,u=r.items,c=r.first,l,p=null,h,g=[],_=[],m,x,b,y;if(s)for(y=0;y0){var U=(o&jl)!==0&&a===0?t:null;if(s){for(y=0;y{if(h!==void 0)for(b of h)b.a?.apply()})}function Vu(r,e,t,o,n,s,a,u){var c=(a&Il)!==0,l=(a&vu)===0,p=c?l?jr(t,!1,!1):ho(t):t,h=(a&Pl)===0?n:ho(n),g={i:h,v:p,k:o,a:null,e:null,o:!1,prev:e,next:null};try{if(r===null){var _=document.createDocumentFragment();_.append(r=oo())}return g.e=Zt(()=>s(r,p,h,u)),e!==null&&(e.next=g),g}finally{}}function Yi(r,e,t){for(var o=r.next?r.next.e.nodes_start:t,n=e?e.e.nodes_start:t,s=r.e.nodes_start;s!==null&&s!==o;){var a=Yn(s);n.before(s),s=a}}function Pr(r,e,t){e===null?(r.first=t,r.effect.first=t&&t.e):(e.e.next&&(e.e.next.prev=null),e.next=t,e.e.next=t&&t.e),t===null?r.effect.last=e&&e.e:(t.e.prev&&(t.e.prev.next=null),t.prev=e,t.e.prev=e&&e.e)}function Wl(r,e,t,o){const n=zn()?Kn:qs;if(t.length===0&&r.length===0){o(e.map(n));return}var s=vt,a=Qe,u=Gu();function c(){Promise.all(t.map(l=>qu(l))).then(l=>{u();try{o([...e.map(n),...l])}catch(p){(a.f&Xr)===0&&cn(p,a)}s?.deactivate(),wi()}).catch(l=>{cn(l,a)})}r.length>0?Promise.all(r).then(()=>{u();try{return c()}finally{s?.deactivate(),wi()}}):c()}function Gu(){var r=Qe,e=ot,t=bt,o=vt;return function(s=!0){wr(r),tr(e),ln(t),s&&o?.activate()}}function wi(){wr(null),tr(null),ln(null)}function Kn(r){var e=Vt|rr,t=ot!==null&&(ot.f&Vt)!==0?ot:null;return Qe!==null&&(Qe.f|=bn),{ctx:bt,deps:null,effects:null,equals:Rl,f:e,fn:r,reactions:null,rv:0,v:Pt,wv:0,parent:t??Qe,ac:null}}function qu(r,e){let t=Qe;t===null&&ou();var o=t.b,n=void 0,s=ho(Pt),a=!ot,u=new Map;return Zu(()=>{var c=Ol();n=c.promise;try{Promise.resolve(r()).then(c.resolve,c.reject).then(()=>{l===vt&&l.committed&&l.deactivate(),wi()})}catch(g){c.reject(g),wi()}var l=vt;if(a){var p=!o.is_pending();o.update_pending_count(1),l.increment(p),u.get(l)?.reject(rn),u.delete(l),u.set(l,c)}const h=(g,_=void 0)=>{if(l.activate(),_)_!==rn&&(s.f|=po,dn(s,_));else{(s.f&po)!==0&&(s.f^=po),dn(s,g);for(const[m,x]of u){if(u.delete(m),m===l)break;x.reject(rn)}}a&&(o.update_pending_count(-1),l.decrement(p))};c.promise.then(h,g=>h(null,g||"unknown"))}),Un(()=>{for(const c of u.values())c.reject(rn)}),new Promise(c=>{function l(p){function h(){p===n?c(s):l(n)}p.then(h,h)}l(n)})}function Bu(r){const e=Kn(r);return dc(e),e}function qs(r){const e=Kn(r);return e.equals=Vl,e}function zl(r){var e=r.effects;if(e!==null){r.effects=null;for(var t=0;t0&&!Yl&&Hu()}return e}function Hu(){Yl=!1;var r=_o;yi(!0);const e=Array.from(ws);try{for(const t of e)(t.f&jt)!==0&&Rt(t,Fr),En(t)&&un(t)}finally{yi(r)}ws.clear()}function Oa(r,e=1){var t=i(r),o=e===1?t++:t--;return T(r,t),o}function jn(r){T(r,r.v+1)}function Ul(r,e){var t=r.reactions;if(t!==null)for(var o=zn(),n=t.length,s=0;s{if(Io===s)return u();var c=ot,l=Io;tr(null),Ia(s);var p=u();return tr(c),Ia(l),p};return o&&t.set("length",X(r.length)),new Proxy(r,{defineProperty(u,c,l){(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&cu();var p=t.get(c);return p===void 0?p=a(()=>{var h=X(l.value);return t.set(c,h),h}):T(p,l.value,!0),!0},deleteProperty(u,c){var l=t.get(c);if(l===void 0){if(c in u){const p=a(()=>X(Pt));t.set(c,p),jn(n)}}else T(l,Pt),jn(n);return!0},get(u,c,l){if(c===Zr)return r;var p=t.get(c),h=c in u;if(p===void 0&&(!h||sn(u,c)?.writable)&&(p=a(()=>{var _=We(h?u[c]:Pt),m=X(_);return m}),t.set(c,p)),p!==void 0){var g=i(p);return g===Pt?void 0:g}return Reflect.get(u,c,l)},getOwnPropertyDescriptor(u,c){var l=Reflect.getOwnPropertyDescriptor(u,c);if(l&&"value"in l){var p=t.get(c);p&&(l.value=i(p))}else if(l===void 0){var h=t.get(c),g=h?.v;if(h!==void 0&&g!==Pt)return{enumerable:!0,configurable:!0,value:g,writable:!0}}return l},has(u,c){if(c===Zr)return!0;var l=t.get(c),p=l!==void 0&&l.v!==Pt||Reflect.has(u,c);if(l!==void 0||Qe!==null&&(!p||sn(u,c)?.writable)){l===void 0&&(l=a(()=>{var g=p?We(u[c]):Pt,_=X(g);return _}),t.set(c,l));var h=i(l);if(h===Pt)return!1}return p},set(u,c,l,p){var h=t.get(c),g=c in u;if(o&&c==="length")for(var _=l;_X(Pt)),t.set(_+"",m))}if(h===void 0)(!g||sn(u,c)?.writable)&&(h=a(()=>X(void 0)),T(h,We(l)),t.set(c,h));else{g=h.v!==Pt;var x=a(()=>We(l));T(h,x)}var b=Reflect.getOwnPropertyDescriptor(u,c);if(b?.set&&b.set.call(p,l),!g){if(o&&typeof c=="string"){var y=t.get("length"),R=Number(c);Number.isInteger(R)&&R>=y.v&&T(y,R+1)}jn(n)}return!0},ownKeys(u){i(n);var c=Reflect.ownKeys(u).filter(h=>{var g=t.get(h);return g===void 0||g.v!==Pt});for(var[l,p]of t)p.v!==Pt&&!(l in u)&&c.push(l);return c},setPrototypeOf(){du()}})}function Na(r){try{if(r!==null&&typeof r=="object"&&Zr in r)return r[Zr]}catch{}return r}function Jl(r,e){return Object.is(Na(r),Na(e))}var on,Ql,Xl,Zl;function Wu(){if(on===void 0){on=window,Ql=/Firefox/.test(navigator.userAgent);var r=Element.prototype,e=Node.prototype,t=Text.prototype;Xl=sn(e,"firstChild").get,Zl=sn(e,"nextSibling").get,Ca(r)&&(r.__click=void 0,r.__className=void 0,r.__attributes=null,r.__style=void 0,r.__e=void 0),Ca(t)&&(t.__t=void 0)}}function oo(r=""){return document.createTextNode(r)}function fo(r){return Xl.call(r)}function Yn(r){return Zl.call(r)}function d(r,e){return fo(r)}function re(r,e=!1){{var t=fo(r);return t instanceof Comment&&t.data===""?Yn(t):t}}function f(r,e=1,t=!1){let o=r;for(;e--;)o=Yn(o);return o}function zu(r){r.textContent=""}function ec(){return!1}function Ku(r,e){if(e){const t=document.body;r.autofocus=!0,Gr(()=>{document.activeElement===t&&r.focus()})}}let Da=!1;function Yu(){Da||(Da=!0,document.addEventListener("reset",r=>{Promise.resolve().then(()=>{if(!r.defaultPrevented)for(const e of r.target.elements)e.__on_r?.()})},{capture:!0}))}function yn(r){var e=ot,t=Qe;tr(null),wr(null);try{return r()}finally{tr(e),wr(t)}}function Fs(r,e,t,o=t){r.addEventListener(e,()=>yn(t));const n=r.__on_r;n?r.__on_r=()=>{n(),o(!0)}:r.__on_r=()=>o(!0),Yu()}function tc(r){Qe===null&&(ot===null&&su(),iu()),Bo&&nu()}function Uu(r,e){var t=e.last;t===null?e.last=e.first=r:(t.next=r,r.prev=t,e.last=r)}function Hr(r,e,t){var o=Qe;o!==null&&(o.f&lr)!==0&&(r|=lr);var n={ctx:bt,deps:null,nodes_start:null,nodes_end:null,f:r|rr|Nr,first:null,fn:e,last:null,next:null,parent:o,b:o&&o.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(t)try{un(n),n.f|=Ni}catch(u){throw Mt(n),u}else e!==null&&Mo(n);var s=n;if(t&&s.deps===null&&s.teardown===null&&s.nodes_start===null&&s.first===s.last&&(s.f&bn)===0&&(s=s.first,(r&Br)!==0&&(r&mo)!==0&&s!==null&&(s.f|=mo)),s!==null&&(s.parent=o,o!==null&&Uu(s,o),ot!==null&&(ot.f&Vt)!==0&&(r&qo)===0)){var a=ot;(a.effects??=[]).push(s)}return n}function Li(){return ot!==null&&!Rr}function Un(r){const e=Hr(Si,null,!1);return Rt(e,jt),e.teardown=r,e}function Gn(r){tc();var e=Qe.f,t=!ot&&(e&so)!==0&&(e&Ni)===0;if(t){var o=bt;(o.e??=[]).push(r)}else return rc(r)}function rc(r){return Hr(Rs|Dl,r,!1)}function Ju(r){return tc(),Hr(Si|Dl,r,!0)}function Qu(r){Mr.ensure();const e=Hr(qo|bn,r,!0);return(t={})=>new Promise(o=>{t.outro?an(e,()=>{Mt(e),o(void 0)}):(Mt(e),o(void 0))})}function Jn(r){return Hr(Rs,r,!1)}function Ko(r,e){var t=bt,o={effect:null,ran:!1,deps:r};t.l.$.push(o),o.effect=yo(()=>{r(),!o.ran&&(o.ran=!0,v(e))})}function Xu(){var r=bt;yo(()=>{for(var e of r.l.$){e.deps();var t=e.effect;(t.f&jt)!==0&&Rt(t,Fr),En(t)&&un(t),e.ran=!1}})}function Zu(r){return Hr(Vs|bn,r,!0)}function yo(r,e=0){return Hr(Si|e,r,!0)}function de(r,e=[],t=[],o=[]){Wl(o,e,t,n=>{Hr(Si,()=>r(...n.map(i)),!0)})}function xn(r,e=0){var t=Hr(Br|e,r,!0);return t}function Zt(r){return Hr(so|bn,r,!0)}function oc(r){var e=r.teardown;if(e!==null){const t=Bo,o=ot;La(!0),tr(null);try{e.call(null)}finally{La(t),tr(o)}}}function nc(r,e=!1){var t=r.first;for(r.first=r.last=null;t!==null;){const n=t.ac;n!==null&&yn(()=>{n.abort(rn)});var o=t.next;(t.f&qo)!==0?t.parent=null:Mt(t,e),t=o}}function ef(r){for(var e=r.first;e!==null;){var t=e.next;(e.f&so)===0&&Mt(e),e=t}}function Mt(r,e=!0){var t=!1;(e||(r.f&Nl)!==0)&&r.nodes_start!==null&&r.nodes_end!==null&&(ic(r.nodes_start,r.nodes_end),t=!0),nc(r,e&&!t),xi(r,0),Rt(r,Xr);var o=r.transitions;if(o!==null)for(const s of o)s.stop();oc(r);var n=r.parent;n!==null&&n.first!==null&&sc(r),r.next=r.prev=r.teardown=r.ctx=r.deps=r.fn=r.nodes_start=r.nodes_end=r.ac=null}function ic(r,e){for(;r!==null;){var t=r===e?null:Yn(r);r.remove(),r=t}}function sc(r){var e=r.parent,t=r.prev,o=r.next;t!==null&&(t.next=o),o!==null&&(o.prev=t),e!==null&&(e.first===r&&(e.first=o),e.last===r&&(e.last=t))}function an(r,e,t=!0){var o=[];Hs(r,o,!0),ac(o,()=>{t&&Mt(r),e&&e()})}function ac(r,e){var t=r.length;if(t>0){var o=()=>--t||e();for(var n of r)n.out(o)}else e()}function Hs(r,e,t){if((r.f&lr)===0){if(r.f^=lr,r.transitions!==null)for(const a of r.transitions)(a.is_global||t)&&e.push(a);for(var o=r.first;o!==null;){var n=o.next,s=(o.f&mo)!==0||(o.f&so)!==0&&(r.f&Br)!==0;Hs(o,e,s?t:!1),o=n}}}function Ws(r){lc(r,!0)}function lc(r,e){if((r.f&lr)!==0){r.f^=lr,(r.f&jt)===0&&(Rt(r,rr),Mo(r));for(var t=r.first;t!==null;){var o=t.next,n=(t.f&mo)!==0||(t.f&so)!==0;lc(t,n?e:!1),t=o}if(r.transitions!==null)for(const s of r.transitions)(s.is_global||e)&&s.in()}}function cc(r,e){for(var t=r.nodes_start,o=r.nodes_end;t!==null;){var n=t===o?null:Yn(t);e.append(t),t=n}}let _o=!1;function yi(r){_o=r}let Bo=!1;function La(r){Bo=r}let ot=null,Rr=!1;function tr(r){ot=r}let Qe=null;function wr(r){Qe=r}let eo=null;function dc(r){ot!==null&&(eo===null?eo=[r]:eo.push(r))}let Kt=null,ar=0,_r=null;function tf(r){_r=r}let uc=1,qn=0,Io=qn;function Ia(r){Io=r}function fc(){return++uc}function En(r){var e=r.f;if((e&rr)!==0)return!0;if(e&Vt&&(r.f&=~jo),(e&Fr)!==0){var t=r.deps;if(t!==null)for(var o=t.length,n=0;nr.wv)return!0}(e&Nr)!==0&&gr===null&&Rt(r,jt)}return!1}function pc(r,e,t=!0){var o=r.reactions;if(o!==null&&!eo?.includes(r))for(var n=0;n{r.ac.abort(rn)}),r.ac=null);try{r.f|=gs;var p=r.fn,h=p(),g=r.deps;if(Kt!==null){var _;if(xi(r,ar),g!==null&&ar>0)for(g.length=ar+Kt.length,_=0;_t?.call(this,s))}return r.startsWith("pointer")||r.startsWith("touch")||r==="wheel"?Gr(()=>{e.addEventListener(r,n,o)}):e.addEventListener(r,n,o),n}function Xo(r,e,t,o,n){var s={capture:o,passive:n},a=gc(r,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Un(()=>{e.removeEventListener(r,a,s)})}function Gt(r){for(var e=0;e{throw b});throw g}}finally{r.__root=e,delete r.currentTarget,tr(p),wr(h)}}}function bc(r){var e=document.createElement("template");return e.innerHTML=r.replaceAll("",""),e.content}function Bn(r,e){var t=Qe;t.nodes_start===null&&(t.nodes_start=r,t.nodes_end=e)}function j(r,e){var t=(e&xu)!==0,o=(e&Eu)!==0,n,s=!r.startsWith("");return()=>{n===void 0&&(n=bc(s?r:""+r),t||(n=fo(n)));var a=o||Ql?document.importNode(n,!0):n.cloneNode(!0);if(t){var u=fo(a),c=a.lastChild;Bn(u,c)}else Bn(a,a);return a}}function gt(r=""){{var e=oo(r+"");return Bn(e,e),e}}function qe(){var r=document.createDocumentFragment(),e=document.createComment(""),t=oo();return r.append(e,t),Bn(e,t),r}function k(r,e){r!==null&&r.before(e)}let Es=!0;function ce(r,e){var t=e==null?"":typeof e=="object"?e+"":e;t!==(r.__t??=r.nodeValue)&&(r.__t=t,r.nodeValue=t+"")}function pf(r,e){return vf(r,e)}const Yo=new Map;function vf(r,{target:e,anchor:t,props:o={},events:n,context:s,intro:a=!0}){Wu();var u=new Set,c=h=>{for(var g=0;g{var h=t??e.appendChild(oo());return Pu(h,{pending:()=>{}},g=>{if(s){kt({});var _=bt;_.c=s}n&&(o.$$events=n),Es=a,l=r(g,o)||{},Es=!0,s&&At()}),()=>{for(var g of u){e.removeEventListener(g,Ln);var _=Yo.get(g);--_===0?(document.removeEventListener(g,Ln),Yo.delete(g)):Yo.set(g,_)}xs.delete(c),h!==t&&h.parentNode?.removeChild(h)}});return _f.set(l,p),l}let _f=new WeakMap;class wc{anchor;#e=new Map;#t=new Map;#o=new Map;#r=new Set;#l=!0;constructor(e,t=!0){this.anchor=e,this.#l=t}#i=()=>{var e=vt;if(this.#e.has(e)){var t=this.#e.get(e),o=this.#t.get(t);if(o)Ws(o),this.#r.delete(t);else{var n=this.#o.get(t);n&&(this.#t.set(t,n.effect),this.#o.delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),o=n.effect)}for(const[s,a]of this.#e){if(this.#e.delete(s),s===e)break;const u=this.#o.get(a);u&&(Mt(u.effect),this.#o.delete(a))}for(const[s,a]of this.#t){if(s===t||this.#r.has(s))continue;const u=()=>{if(Array.from(this.#e.values()).includes(s)){var l=document.createDocumentFragment();cc(a,l),l.append(oo()),this.#o.set(s,{effect:a,fragment:l})}else Mt(a);this.#r.delete(s),this.#t.delete(s)};this.#l||!o?(this.#r.add(s),an(a,u,!1)):u()}}};#n=e=>{this.#e.delete(e);const t=Array.from(this.#e.values());for(const[o,n]of this.#o)t.includes(o)||(Mt(n.effect),this.#o.delete(o))};ensure(e,t){var o=vt,n=ec();if(t&&!this.#t.has(e)&&!this.#o.has(e))if(n){var s=document.createDocumentFragment(),a=oo();s.append(a),this.#o.set(e,{effect:Zt(()=>t(a)),fragment:s})}else this.#t.set(e,Zt(()=>t(this.anchor)));if(this.#e.set(o,e),n){for(const[u,c]of this.#t)u===e?o.skipped_effects.delete(c):o.skipped_effects.add(c);for(const[u,c]of this.#o)u===e?o.skipped_effects.delete(c.effect):o.skipped_effects.add(c.effect);o.oncommit(this.#i),o.ondiscard(this.#n)}else this.#i()}}function Y(r,e,t=!1){var o=new wc(r),n=t?mo:0;function s(a,u){o.ensure(a,u)}xn(()=>{var a=!1;e((u,c=!0)=>{a=!0,s(c,u)}),a||s(!1,null)},n)}function xo(r,e,t=!1,o=!1,n=!1){var s=r,a="";de(()=>{var u=Qe;if(a!==(a=e()??"")&&(u.nodes_start!==null&&(ic(u.nodes_start,u.nodes_end),u.nodes_start=u.nodes_end=null),a!=="")){var c=a+"";t?c=``:o&&(c=``);var l=bc(c);if((t||o)&&(l=fo(l)),Bn(fo(l),l.lastChild),t||o)for(;fo(l);)s.before(fo(l));else s.before(l)}})}function zs(r,e,t,o,n){var s=e.$$slots?.[t],a=!1;s===!0&&(s=e.children,a=!0),s===void 0||s(r,a?()=>o:o)}function mf(r,e,t){var o=new wc(r);xn(()=>{var n=e()??null;o.ensure(n,n&&(s=>t(s,n)))},mo)}function hf(r,e,t){Jn(()=>{var o=v(()=>e(r,t?.())||{});if(t&&o?.update){var n=!1,s={};yo(()=>{var a=t();$r(a),n&&Gs(s,a)&&(s=a,o.update(a))}),n=!0}if(o?.destroy)return()=>o.destroy()})}function gf(r,e){var t=void 0,o;xn(()=>{t!==(t=e())&&(o&&(Mt(o),o=null),t&&(o=Zt(()=>{Jn(()=>t(r))})))})}function yc(r){var e,t,o="";if(typeof r=="string"||typeof r=="number")o+=r;else if(typeof r=="object")if(Array.isArray(r)){var n=r.length;for(e=0;e=0;){var u=a+s;(a===0||ja.includes(o[a-1]))&&(u===o.length||ja.includes(o[u]))?o=(a===0?"":o.substring(0,a))+o.substring(u+1):a=u}}return o===""?null:o}function Ma(r,e=!1){var t=e?" !important;":";",o="";for(var n in r){var s=r[n];s!=null&&s!==""&&(o+=" "+n+": "+s+t)}return o}function Ui(r){return r[0]!=="-"||r[1]!=="-"?r.toLowerCase():r}function xf(r,e){if(e){var t="",o,n;if(Array.isArray(e)?(o=e[0],n=e[1]):o=e,r){r=String(r).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,a=0,u=!1,c=[];o&&c.push(...Object.keys(o).map(Ui)),n&&c.push(...Object.keys(n).map(Ui));var l=0,p=-1;const x=r.length;for(var h=0;h{ks(r,r.__value)});e.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Un(()=>{e.disconnect()})}function Ra(r){return"__value"in r?r.__value:r.value}const Sn=Symbol("class"),On=Symbol("style"),xc=Symbol("is custom element"),Ec=Symbol("is html");function fn(r,e){var t=Ks(r);t.value===(t.value=e??void 0)||r.value===e&&(e!==0||r.nodeName!=="PROGRESS")||(r.value=e??"")}function kf(r,e){e?r.hasAttribute("selected")||r.setAttribute("selected",""):r.removeAttribute("selected")}function Ae(r,e,t,o){var n=Ks(r);n[e]!==(n[e]=t)&&(e==="loading"&&(r[ru]=t),t==null?r.removeAttribute(e):typeof t!="string"&&Ac(r).includes(e)?r[e]=t:r.setAttribute(e,t))}function Af(r,e,t,o,n=!1,s=!1){var a=Ks(r),u=a[xc],c=!a[Ec],l=e||{},p=r.tagName==="OPTION";for(var h in e)h in t||(t[h]=null);t.class?t.class=wf(t.class):t[Sn]&&(t.class=null),t[On]&&(t.style??=null);var g=Ac(r);for(const E in t){let N=t[E];if(p&&E==="value"&&N==null){r.value=r.__value="",l[E]=N;continue}if(E==="class"){var _=r.namespaceURI==="http://www.w3.org/1999/xhtml";pt(r,_,N,o,e?.[Sn],t[Sn]),l[E]=N,l[Sn]=t[Sn];continue}if(E==="style"){Fn(r,N,e?.[On],t[On]),l[E]=N,l[On]=t[On];continue}var m=l[E];if(!(N===m&&!(N===void 0&&r.hasAttribute(E)))){l[E]=N;var x=E[0]+E[1];if(x!=="$$")if(x==="on"){const I={},q="$$"+E;let B=E.slice(2);var b=lf(B);if(sf(B)&&(B=B.slice(0,-7),I.capture=!0),!b&&m){if(N!=null)continue;r.removeEventListener(B,l[q],I),l[q]=null}if(N!=null)if(b)r[`__${B}`]=N,Gt([B]);else{let U=function(J){l[E].call(this,J)};var C=U;l[q]=gc(B,r,U,I)}else b&&(r[`__${B}`]=void 0)}else if(E==="style")Ae(r,E,N);else if(E==="autofocus")Ku(r,!!N);else if(!u&&(E==="__value"||E==="value"&&N!=null))r.value=r.__value=N;else if(E==="selected"&&p)kf(r,N);else{var y=E;c||(y=df(y));var R=y==="defaultValue"||y==="defaultChecked";if(N==null&&!u&&!R)if(a[E]=null,y==="value"||y==="checked"){let I=r;const q=e===void 0;if(y==="value"){let B=I.defaultValue;I.removeAttribute(y),I.defaultValue=B,I.value=I.__value=q?B:null}else{let B=I.defaultChecked;I.removeAttribute(y),I.defaultChecked=B,I.checked=q?B:!1}}else r.removeAttribute(E);else R||g.includes(y)&&(u||typeof N!="string")?(r[y]=N,y in a&&(a[y]=Pt)):typeof N!="function"&&Ae(r,y,N)}}}return l}function kc(r,e,t=[],o=[],n=[],s,a=!1,u=!1){Wl(n,t,o,c=>{var l=void 0,p={},h=r.nodeName==="SELECT",g=!1;if(xn(()=>{var m=e(...c.map(i)),x=Af(r,l,m,s,a,u);g&&h&&"value"in m&&ks(r,m.value);for(let y of Object.getOwnPropertySymbols(p))m[y]||Mt(p[y]);for(let y of Object.getOwnPropertySymbols(m)){var b=m[y];y.description===Au&&(!l||b!==l[y])&&(p[y]&&Mt(p[y]),p[y]=Zt(()=>gf(r,()=>b))),x[y]=b}l=x}),h){var _=r;Jn(()=>{ks(_,l.value,!0),Ef(_)})}g=!0})}function Ks(r){return r.__attributes??={[xc]:r.nodeName.includes("-"),[Ec]:r.namespaceURI===ku}}var Va=new Map;function Ac(r){var e=r.getAttribute("is")||r.nodeName,t=Va.get(e);if(t)return t;Va.set(e,t=[]);for(var o,n=r,s=Element.prototype;s!==n;){o=Sl(n);for(var a in o)o[a].set&&t.push(a);n=Ms(n)}return t}const Tf=()=>performance.now(),Qr={tick:r=>requestAnimationFrame(r),now:()=>Tf(),tasks:new Set};function Tc(){const r=Qr.now();Qr.tasks.forEach(e=>{e.c(r)||(Qr.tasks.delete(e),e.f())}),Qr.tasks.size!==0&&Qr.tick(Tc)}function Cf(r){let e;return Qr.tasks.size===0&&Qr.tick(Tc),{promise:new Promise(t=>{Qr.tasks.add(e={c:r,f:t})}),abort(){Qr.tasks.delete(e)}}}function ai(r,e){yn(()=>{r.dispatchEvent(new CustomEvent(e))})}function $f(r){if(r==="float")return"cssFloat";if(r==="offset")return"cssOffset";if(r.startsWith("--"))return r;const e=r.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(t=>t[0].toUpperCase()+t.slice(1)).join("")}function Ga(r){const e={},t=r.split(";");for(const o of t){const[n,s]=o.split(":");if(!n||s===void 0)break;const a=$f(n.trim());e[a]=s.trim()}return e}const Sf=r=>r;function Yt(r,e,t,o){var n=(r&bu)!==0,s=(r&wu)!==0,a=n&&s,u=(r&yu)!==0,c=a?"both":n?"in":"out",l,p=e.inert,h=e.style.overflow,g,_;function m(){return yn(()=>l??=t()(e,o?.()??{},{direction:c}))}var x={is_global:u,in(){if(e.inert=p,!n){_?.abort(),_?.reset?.();return}s||g?.abort(),ai(e,"introstart"),g=As(e,m(),_,1,()=>{ai(e,"introend"),g?.abort(),g=l=void 0,e.style.overflow=h})},out(C){if(!s){C?.(),l=void 0;return}e.inert=!0,ai(e,"outrostart"),_=As(e,m(),g,0,()=>{ai(e,"outroend"),C?.()})},stop:()=>{g?.abort(),_?.abort()}},b=Qe;if((b.transitions??=[]).push(x),n&&Es){var y=u;if(!y){for(var R=b.parent;R&&(R.f&mo)!==0;)for(;(R=R.parent)&&(R.f&Br)===0;);y=!R||(R.f&Ni)!==0}y&&Jn(()=>{v(()=>x.in())})}}function As(r,e,t,o,n){var s=o===1;if(Zd(e)){var a,u=!1;return Gr(()=>{if(!u){var b=e({direction:s?"in":"out"});a=As(r,b,t,o,n)}}),{abort:()=>{u=!0,a?.abort()},deactivate:()=>a.deactivate(),reset:()=>a.reset(),t:()=>a.t()}}if(t?.deactivate(),!e?.duration)return n(),{abort:Sr,deactivate:Sr,reset:Sr,t:()=>o};const{delay:c=0,css:l,tick:p,easing:h=Sf}=e;var g=[];if(s&&t===void 0&&(p&&p(0,1),l)){var _=Ga(l(0,1));g.push(_,_)}var m=()=>1-o,x=r.animate(g,{duration:c,fill:"forwards"});return x.onfinish=()=>{x.cancel();var b=t?.t()??1-o;t?.abort();var y=o-b,R=e.duration*Math.abs(y),C=[];if(R>0){var E=!1;if(l)for(var N=Math.ceil(R/16.666666666666668),I=0;I<=N;I+=1){var q=b+y*h(I/N),B=Ga(l(q,1-q));C.push(B),E||=B.overflow==="hidden"}E&&(r.style.overflow="hidden"),m=()=>{var U=x.currentTime;return b+y*h(U/R)},p&&Cf(()=>{if(x.playState!=="running")return!1;var U=m();return p(U,1-U),!0})}x=r.animate(C,{duration:R,fill:"forwards"}),x.onfinish=()=>{m=()=>o,p?.(o,1-o),n()}},{abort:()=>{x&&(x.cancel(),x.effect=null,x.onfinish=Sr)},deactivate:()=>{n=Sr},reset:()=>{o===0&&p?.(1,0)},t:()=>m()}}function tt(r,e,t=e){var o=new WeakSet;Fs(r,"input",async n=>{var s=n?r.defaultValue:r.value;if(s=Xi(r)?Zi(s):s,t(s),vt!==null&&o.add(vt),await of(),s!==(s=e())){var a=r.selectionStart,u=r.selectionEnd,c=r.value.length;if(r.value=s??"",u!==null){var l=r.value.length;a===u&&u===c&&l>c?(r.selectionStart=l,r.selectionEnd=l):(r.selectionStart=a,r.selectionEnd=Math.min(u,l))}}}),v(e)==null&&r.value&&(t(Xi(r)?Zi(r.value):r.value),vt!==null&&o.add(vt)),yo(()=>{var n=e();if(r===document.activeElement){var s=mi??vt;if(o.has(s))return}Xi(r)&&n===Zi(r.value)||r.type==="date"&&!n&&!r.value||n!==r.value&&(r.value=n??"")})}const Qi=new Set;function Hn(r,e,t,o,n=o){var s=t.getAttribute("type")==="checkbox",a=r;if(e!==null)for(var u of e)a=a[u]??=[];a.push(t),Fs(t,"change",()=>{var c=t.__value;s&&(c=Of(a,c,t.checked)),n(c)},()=>n(s?[]:null)),yo(()=>{var c=o();s?(c=c||[],t.checked=c.includes(t.__value)):t.checked=Jl(t.__value,c)}),Un(()=>{var c=a.indexOf(t);c!==-1&&a.splice(c,1)}),Qi.has(a)||(Qi.add(a),Gr(()=>{a.sort((c,l)=>c.compareDocumentPosition(l)===4?-1:1),Qi.delete(a)})),Gr(()=>{})}function Oo(r,e,t=e){Fs(r,"change",o=>{var n=o?r.defaultChecked:r.checked;t(n)}),v(e)==null&&t(r.checked),yo(()=>{var o=e();r.checked=!!o})}function Of(r,e,t){for(var o=new Set,n=0;n{var n,s;return yo(()=>{n=s,s=[],v(()=>{r!==t(...s)&&(e(r,...s),n&&qa(t(...n),r)&&e(null,...n))})}),()=>{Gr(()=>{s&&qa(t(...s),r)&&e(null,...s)})}}),r}function $c(r=!1){const e=bt,t=e.l.u;if(!t)return;let o=()=>$r(e.s);if(r){let n=0,s={};const a=Kn(()=>{let u=!1;const c=e.s;for(const l in c)c[l]!==s[l]&&(s[l]=c[l],u=!0);return u&&n++,n});o=()=>i(a)}t.b.length&&Ju(()=>{Ba(e,o),hs(t.b)}),Gn(()=>{const n=v(()=>t.m.map(eu));return()=>{for(const s of n)typeof s=="function"&&s()}}),t.a.length&&Gn(()=>{Ba(e,o),hs(t.a)})}function Ba(r,e){if(r.l.s)for(const t of r.l.s)i(t);e()}function Sc(r,e,t){if(r==null)return e(void 0),Sr;const o=v(()=>r.subscribe(e,t));return o.unsubscribe?()=>o.unsubscribe():o}const Uo=[];function Eo(r,e=Sr){let t=null;const o=new Set;function n(u){if(Gs(r,u)&&(r=u,t)){const c=!Uo.length;for(const l of o)l[1](),Uo.push(l,r);if(c){for(let l=0;l{o.delete(l),o.size===0&&t&&(t(),t=null)}}return{set:n,update:s,subscribe:a}}function Nf(r){let e;return Sc(r,t=>e=t)(),e}let li=!1,Ts=Symbol();function Ve(r,e,t){const o=t[e]??={store:null,source:jr(void 0),unsubscribe:Sr};if(o.store!==r&&!(Ts in t))if(o.unsubscribe(),o.store=r??null,r==null)o.source.v=void 0,o.unsubscribe=Sr;else{var n=!0;o.unsubscribe=Sc(r,s=>{n?o.source.v=s:T(o.source,s)}),n=!1}return r&&Ts in t?Nf(r):i(o.source)}function le(r,e){return r.set(e),e}function Qt(){const r={};function e(){Un(()=>{for(var t in r)r[t].unsubscribe();$l(r,Ts,{enumerable:!1,value:!0})})}return[r,e]}function $(r,e,t){return r.set(t),e}function Df(r){var e=li;try{return li=!1,[r(),li]}finally{li=e}}const Lf={get(r,e){if(!r.exclude.includes(e))return i(r.version),e in r.special?r.special[e]():r.props[e]},set(r,e,t){if(!(e in r.special)){var o=Qe;try{wr(r.parent_effect),r.special[e]=_t({get[e](){return r.props[e]}},e,Ml)}finally{wr(o)}}return r.special[e](t),Oa(r.version),!0},getOwnPropertyDescriptor(r,e){if(!r.exclude.includes(e)&&e in r.props)return{enumerable:!0,configurable:!0,value:r.props[e]}},deleteProperty(r,e){return r.exclude.includes(e)||(r.exclude.push(e),Oa(r.version)),!0},has(r,e){return r.exclude.includes(e)?!1:e in r.props},ownKeys(r){return Reflect.ownKeys(r.props).filter(e=>!r.exclude.includes(e))}};function Ei(r,e){return new Proxy({props:r,exclude:e,special:{},version:ho(0),parent_effect:Qe},Lf)}function _t(r,e,t,o){var n=!wn||(t&mu)!==0,s=(t&hu)!==0,a=(t&gu)!==0,u=o,c=!0,l=()=>(c&&(c=!1,u=a?v(o):o),u),p;if(s){var h=Zr in r||tu in r;p=sn(r,e)?.set??(h&&e in r?C=>r[e]=C:void 0)}var g,_=!1;s?[g,_]=Df(()=>r[e]):g=r[e],g===void 0&&o!==void 0&&(g=l(),p&&(n&&lu(),p(g)));var m;if(n?m=()=>{var C=r[e];return C===void 0?l():(c=!0,C)}:m=()=>{var C=r[e];return C!==void 0&&(u=void 0),C===void 0?u:C},n&&(t&Ml)===0)return m;if(p){var x=r.$$legacy;return(function(C,E){return arguments.length>0?((!n||!E||x||_)&&p(E?m():C),C):m()})}var b=!1,y=((t&_u)!==0?Kn:qs)(()=>(b=!1,m()));s&&i(y);var R=Qe;return(function(C,E){if(arguments.length>0){const N=E?i(y):n&&s?We(C):C;return T(y,N),b=!0,u!==void 0&&(u=N),C}return Bo&&b||(R.f&Xr)!==0?y.v:i(y)})}function Dr(r){bt===null&&Ll(),wn&&bt.l!==null?If(bt).m.push(r):Gn(()=>{const e=v(r);if(typeof e=="function")return e})}function Ii(r){bt===null&&Ll(),Dr(()=>()=>v(r))}function If(r){var e=r.l;return e.u??={a:[],b:[],m:[]}}const Pf="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Pf);let te=Eo([]);var jf=j(''),Mf=j(''),Rf=j('');function Vf(r,e){kt(e,!0);const t=()=>Ve(te,"$alerts",o),[o,n]=Qt();_t(e,"type",3,"alert-success");let s=Bu(()=>t().length-1);function a(p){T(s,i(s)+p)}function u(p){p.stopPropagation(),$(te,v(t).length=0,v(t))}var c=qe(),l=re(c);He(l,1,t,ft,(p,h,g)=>{var _=Rf(),m=d(_),x=d(m);xo(x,()=>i(h).message);var b=f(m,2);b.__click=u;var y=f(b,4),R=d(y),C=d(R),E=f(C),N=d(E),I=f(E,2);{var q=J=>{var H=jf();H.__click=W=>{W.stopPropagation(),a(-1)},k(J,H)};Y(I,J=>{i(s)!=0&&J(q)})}var B=f(I,2);{var U=J=>{var H=Mf();H.__click=W=>{W.stopPropagation(),a(1)},k(J,H)};Y(B,J=>{i(s)!=t().length-1&&J(U)})}de(()=>{pt(_,1,`w-100 alert ${i(h).type??""} alert-dismissible fade show rounded-0 mb-0 ${g!=i(s)?"alert-hidden":""}`,"svelte-l6ygyj"),ce(C,`${i(s)+1} of `),ce(N,t().length)}),k(p,_)}),k(r,c),At(),n()}Gt(["click"]);class rt{resource;run=!0;constructor(){this.resource=GetParentResourceName(),this.resource!="cd_doorlock"&&(this.run=!1)}send(e,t,o){this.run&&fetch(`https://${this.resource}/${e}`,{method:"POST",body:JSON.stringify(t)}).then(n=>{o&&n.json().then(s=>{o()})}).catch(n=>{})}static send(e,t,o){GetParentResourceName()=="cd_doorlock"&&fetch(`https://${GetParentResourceName()}/${e}`,{method:"POST",body:JSON.stringify(t)}).then(n=>{o&&n.json().then(s=>{o(s)})}).catch(n=>{})}static async sendAndReceive(e,t){return new Promise((o,n)=>{if(GetParentResourceName()!="cd_doorlock"){n("Cannot send messages.");return}fetch(`https://${GetParentResourceName()}/${e}`,{method:"POST",body:JSON.stringify(t)}).then(s=>{s&&s.ok?s.json().then(a=>{o(a||null)}).catch(()=>{n("Response is not valid JSON.")}):n("Response is not present.")}).catch(s=>{console.error(s),n("Error while sending message.")})})}}const Gf=r=>r;function Ys(r){const e=r-1;return e*e*e+1}function Fa(r){const e=typeof r=="string"&&r.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return e?[parseFloat(e[1]),e[2]||"px"]:[r,"px"]}function qf(r,{delay:e=0,duration:t=400,easing:o=Gf}={}){const n=+getComputedStyle(r).opacity;return{delay:e,duration:t,easing:o,css:s=>`opacity: ${s*n}`}}function ki(r,{delay:e=0,duration:t=400,easing:o=Ys,x:n=0,y:s=0,opacity:a=0}={}){const u=getComputedStyle(r),c=+u.opacity,l=u.transform==="none"?"":u.transform,p=c*(1-a),[h,g]=Fa(n),[_,m]=Fa(s);return{delay:e,duration:t,easing:o,css:(x,b)=>`
+ transform: ${l} translate(${(1-x)*h}${g}, ${(1-x)*_}${m});
+ opacity: ${c-p*b}`}}function kn(r,{delay:e=0,duration:t=400,easing:o=Ys,axis:n="y"}={}){const s=getComputedStyle(r),a=+s.opacity,u=n==="y"?"height":"width",c=parseFloat(s[u]),l=n==="y"?["top","bottom"]:["left","right"],p=l.map(y=>`${y[0].toUpperCase()}${y.slice(1)}`),h=parseFloat(s[`padding${p[0]}`]),g=parseFloat(s[`padding${p[1]}`]),_=parseFloat(s[`margin${p[0]}`]),m=parseFloat(s[`margin${p[1]}`]),x=parseFloat(s[`border${p[0]}Width`]),b=parseFloat(s[`border${p[1]}Width`]);return{delay:e,duration:t,easing:o,css:y=>`overflow: hidden;opacity: ${Math.min(y*20,1)*a};${u}: ${y*c}px;padding-${l[0]}: ${y*h}px;padding-${l[1]}: ${y*g}px;margin-${l[0]}: ${y*_}px;margin-${l[1]}: ${y*m}px;border-${l[0]}-width: ${y*x}px;border-${l[1]}-width: ${y*b}px;min-${u}: 0`}}function Ha(r,e){for(const t in e)r[t]=e[t];return r}function Bf({fallback:r,...e}){const t=new Map,o=new Map;function n(a,u,c){const{delay:l=0,duration:p=I=>Math.sqrt(I)*30,easing:h=Ys}=Ha(Ha({},e),c),g=a.getBoundingClientRect(),_=u.getBoundingClientRect(),m=g.left-_.left,x=g.top-_.top,b=g.width/_.width,y=g.height/_.height,R=Math.sqrt(m*m+x*x),C=getComputedStyle(u),E=C.transform==="none"?"":C.transform,N=+C.opacity;return{delay:l,duration:typeof p=="function"?p(R):p,easing:h,css:(I,q)=>`
+ opacity: ${I*N};
+ transform-origin: top left;
+ transform: ${E} translate(${q*m}px,${q*x}px) scale(${I+(1-I)*b}, ${I+(1-I)*y});
+ `}}function s(a,u,c){return(l,p)=>(a.set(p.key,l),()=>{if(u.has(p.key)){const h=u.get(p.key);return u.delete(p.key),n(h,l,p)}return a.delete(p.key),r&&r(l,p,c)})}return[s(o,t,!1),s(t,o,!0)]}let mr=Eo({});var Ut="top",cr="bottom",dr="right",Jt="left",Pi="auto",An=[Ut,cr,dr,Jt],Ro="start",pn="end",Oc="clippingParents",Us="viewport",Zo="popper",Nc="reference",Cs=An.reduce(function(r,e){return r.concat([e+"-"+Ro,e+"-"+pn])},[]),Js=[].concat(An,[Pi]).reduce(function(r,e){return r.concat([e,e+"-"+Ro,e+"-"+pn])},[]),Dc="beforeRead",Lc="read",Ic="afterRead",Pc="beforeMain",jc="main",Mc="afterMain",Rc="beforeWrite",Vc="write",Gc="afterWrite",qc=[Dc,Lc,Ic,Pc,jc,Mc,Rc,Vc,Gc];function qr(r){return r?(r.nodeName||"").toLowerCase():null}function ur(r){if(r==null)return window;if(r.toString()!=="[object Window]"){var e=r.ownerDocument;return e&&e.defaultView||window}return r}function Vo(r){var e=ur(r).Element;return r instanceof e||r instanceof Element}function br(r){var e=ur(r).HTMLElement;return r instanceof e||r instanceof HTMLElement}function Qs(r){if(typeof ShadowRoot>"u")return!1;var e=ur(r).ShadowRoot;return r instanceof e||r instanceof ShadowRoot}function Ff(r){var e=r.state;Object.keys(e.elements).forEach(function(t){var o=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];!br(s)||!qr(s)||(Object.assign(s.style,o),Object.keys(n).forEach(function(a){var u=n[a];u===!1?s.removeAttribute(a):s.setAttribute(a,u===!0?"":u)}))})}function Hf(r){var e=r.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(o){var n=e.elements[o],s=e.attributes[o]||{},a=Object.keys(e.styles.hasOwnProperty(o)?e.styles[o]:t[o]),u=a.reduce(function(c,l){return c[l]="",c},{});!br(n)||!qr(n)||(Object.assign(n.style,u),Object.keys(s).forEach(function(c){n.removeAttribute(c)}))})}}const Xs={name:"applyStyles",enabled:!0,phase:"write",fn:Ff,effect:Hf,requires:["computeStyles"]};function Vr(r){return r.split("-")[0]}var Po=Math.max,Ai=Math.min,vn=Math.round;function $s(){var r=navigator.userAgentData;return r!=null&&r.brands&&Array.isArray(r.brands)?r.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Bc(){return!/^((?!chrome|android).)*safari/i.test($s())}function _n(r,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var o=r.getBoundingClientRect(),n=1,s=1;e&&br(r)&&(n=r.offsetWidth>0&&vn(o.width)/r.offsetWidth||1,s=r.offsetHeight>0&&vn(o.height)/r.offsetHeight||1);var a=Vo(r)?ur(r):window,u=a.visualViewport,c=!Bc()&&t,l=(o.left+(c&&u?u.offsetLeft:0))/n,p=(o.top+(c&&u?u.offsetTop:0))/s,h=o.width/n,g=o.height/s;return{width:h,height:g,top:p,right:l+h,bottom:p+g,left:l,x:l,y:p}}function Zs(r){var e=_n(r),t=r.offsetWidth,o=r.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-o)<=1&&(o=e.height),{x:r.offsetLeft,y:r.offsetTop,width:t,height:o}}function Fc(r,e){var t=e.getRootNode&&e.getRootNode();if(r.contains(e))return!0;if(t&&Qs(t)){var o=e;do{if(o&&r.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function no(r){return ur(r).getComputedStyle(r)}function Wf(r){return["table","td","th"].indexOf(qr(r))>=0}function ko(r){return((Vo(r)?r.ownerDocument:r.document)||window.document).documentElement}function ji(r){return qr(r)==="html"?r:r.assignedSlot||r.parentNode||(Qs(r)?r.host:null)||ko(r)}function Wa(r){return!br(r)||no(r).position==="fixed"?null:r.offsetParent}function zf(r){var e=/firefox/i.test($s()),t=/Trident/i.test($s());if(t&&br(r)){var o=no(r);if(o.position==="fixed")return null}var n=ji(r);for(Qs(n)&&(n=n.host);br(n)&&["html","body"].indexOf(qr(n))<0;){var s=no(n);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||e&&s.willChange==="filter"||e&&s.filter&&s.filter!=="none")return n;n=n.parentNode}return null}function Qn(r){for(var e=ur(r),t=Wa(r);t&&Wf(t)&&no(t).position==="static";)t=Wa(t);return t&&(qr(t)==="html"||qr(t)==="body"&&no(t).position==="static")?e:t||zf(r)||e}function ea(r){return["top","bottom"].indexOf(r)>=0?"x":"y"}function Mn(r,e,t){return Po(r,Ai(e,t))}function Kf(r,e,t){var o=Mn(r,e,t);return o>t?t:o}function Hc(){return{top:0,right:0,bottom:0,left:0}}function Wc(r){return Object.assign({},Hc(),r)}function zc(r,e){return e.reduce(function(t,o){return t[o]=r,t},{})}var Yf=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,Wc(typeof e!="number"?e:zc(e,An))};function Uf(r){var e,t=r.state,o=r.name,n=r.options,s=t.elements.arrow,a=t.modifiersData.popperOffsets,u=Vr(t.placement),c=ea(u),l=[Jt,dr].indexOf(u)>=0,p=l?"height":"width";if(!(!s||!a)){var h=Yf(n.padding,t),g=Zs(s),_=c==="y"?Ut:Jt,m=c==="y"?cr:dr,x=t.rects.reference[p]+t.rects.reference[c]-a[c]-t.rects.popper[p],b=a[c]-t.rects.reference[c],y=Qn(s),R=y?c==="y"?y.clientHeight||0:y.clientWidth||0:0,C=x/2-b/2,E=h[_],N=R-g[p]-h[m],I=R/2-g[p]/2+C,q=Mn(E,I,N),B=c;t.modifiersData[o]=(e={},e[B]=q,e.centerOffset=q-I,e)}}function Jf(r){var e=r.state,t=r.options,o=t.element,n=o===void 0?"[data-popper-arrow]":o;n!=null&&(typeof n=="string"&&(n=e.elements.popper.querySelector(n),!n)||Fc(e.elements.popper,n)&&(e.elements.arrow=n))}const Kc={name:"arrow",enabled:!0,phase:"main",fn:Uf,effect:Jf,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function mn(r){return r.split("-")[1]}var Qf={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Xf(r,e){var t=r.x,o=r.y,n=e.devicePixelRatio||1;return{x:vn(t*n)/n||0,y:vn(o*n)/n||0}}function za(r){var e,t=r.popper,o=r.popperRect,n=r.placement,s=r.variation,a=r.offsets,u=r.position,c=r.gpuAcceleration,l=r.adaptive,p=r.roundOffsets,h=r.isFixed,g=a.x,_=g===void 0?0:g,m=a.y,x=m===void 0?0:m,b=typeof p=="function"?p({x:_,y:x}):{x:_,y:x};_=b.x,x=b.y;var y=a.hasOwnProperty("x"),R=a.hasOwnProperty("y"),C=Jt,E=Ut,N=window;if(l){var I=Qn(t),q="clientHeight",B="clientWidth";if(I===ur(t)&&(I=ko(t),no(I).position!=="static"&&u==="absolute"&&(q="scrollHeight",B="scrollWidth")),I=I,n===Ut||(n===Jt||n===dr)&&s===pn){E=cr;var U=h&&I===N&&N.visualViewport?N.visualViewport.height:I[q];x-=U-o.height,x*=c?1:-1}if(n===Jt||(n===Ut||n===cr)&&s===pn){C=dr;var J=h&&I===N&&N.visualViewport?N.visualViewport.width:I[B];_-=J-o.width,_*=c?1:-1}}var H=Object.assign({position:u},l&&Qf),W=p===!0?Xf({x:_,y:x},ur(t)):{x:_,y:x};if(_=W.x,x=W.y,c){var fe;return Object.assign({},H,(fe={},fe[E]=R?"0":"",fe[C]=y?"0":"",fe.transform=(N.devicePixelRatio||1)<=1?"translate("+_+"px, "+x+"px)":"translate3d("+_+"px, "+x+"px, 0)",fe))}return Object.assign({},H,(e={},e[E]=R?x+"px":"",e[C]=y?_+"px":"",e.transform="",e))}function Zf(r){var e=r.state,t=r.options,o=t.gpuAcceleration,n=o===void 0?!0:o,s=t.adaptive,a=s===void 0?!0:s,u=t.roundOffsets,c=u===void 0?!0:u,l={placement:Vr(e.placement),variation:mn(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:n,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,za(Object.assign({},l,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:a,roundOffsets:c})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,za(Object.assign({},l,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const ta={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Zf,data:{}};var ci={passive:!0};function ep(r){var e=r.state,t=r.instance,o=r.options,n=o.scroll,s=n===void 0?!0:n,a=o.resize,u=a===void 0?!0:a,c=ur(e.elements.popper),l=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&l.forEach(function(p){p.addEventListener("scroll",t.update,ci)}),u&&c.addEventListener("resize",t.update,ci),function(){s&&l.forEach(function(p){p.removeEventListener("scroll",t.update,ci)}),u&&c.removeEventListener("resize",t.update,ci)}}const ra={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:ep,data:{}};var tp={left:"right",right:"left",bottom:"top",top:"bottom"};function hi(r){return r.replace(/left|right|bottom|top/g,function(e){return tp[e]})}var rp={start:"end",end:"start"};function Ka(r){return r.replace(/start|end/g,function(e){return rp[e]})}function oa(r){var e=ur(r),t=e.pageXOffset,o=e.pageYOffset;return{scrollLeft:t,scrollTop:o}}function na(r){return _n(ko(r)).left+oa(r).scrollLeft}function op(r,e){var t=ur(r),o=ko(r),n=t.visualViewport,s=o.clientWidth,a=o.clientHeight,u=0,c=0;if(n){s=n.width,a=n.height;var l=Bc();(l||!l&&e==="fixed")&&(u=n.offsetLeft,c=n.offsetTop)}return{width:s,height:a,x:u+na(r),y:c}}function np(r){var e,t=ko(r),o=oa(r),n=(e=r.ownerDocument)==null?void 0:e.body,s=Po(t.scrollWidth,t.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),a=Po(t.scrollHeight,t.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),u=-o.scrollLeft+na(r),c=-o.scrollTop;return no(n||t).direction==="rtl"&&(u+=Po(t.clientWidth,n?n.clientWidth:0)-s),{width:s,height:a,x:u,y:c}}function ia(r){var e=no(r),t=e.overflow,o=e.overflowX,n=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+n+o)}function Yc(r){return["html","body","#document"].indexOf(qr(r))>=0?r.ownerDocument.body:br(r)&&ia(r)?r:Yc(ji(r))}function Rn(r,e){var t;e===void 0&&(e=[]);var o=Yc(r),n=o===((t=r.ownerDocument)==null?void 0:t.body),s=ur(o),a=n?[s].concat(s.visualViewport||[],ia(o)?o:[]):o,u=e.concat(a);return n?u:u.concat(Rn(ji(a)))}function Ss(r){return Object.assign({},r,{left:r.x,top:r.y,right:r.x+r.width,bottom:r.y+r.height})}function ip(r,e){var t=_n(r,!1,e==="fixed");return t.top=t.top+r.clientTop,t.left=t.left+r.clientLeft,t.bottom=t.top+r.clientHeight,t.right=t.left+r.clientWidth,t.width=r.clientWidth,t.height=r.clientHeight,t.x=t.left,t.y=t.top,t}function Ya(r,e,t){return e===Us?Ss(op(r,t)):Vo(e)?ip(e,t):Ss(np(ko(r)))}function sp(r){var e=Rn(ji(r)),t=["absolute","fixed"].indexOf(no(r).position)>=0,o=t&&br(r)?Qn(r):r;return Vo(o)?e.filter(function(n){return Vo(n)&&Fc(n,o)&&qr(n)!=="body"}):[]}function ap(r,e,t,o){var n=e==="clippingParents"?sp(r):[].concat(e),s=[].concat(n,[t]),a=s[0],u=s.reduce(function(c,l){var p=Ya(r,l,o);return c.top=Po(p.top,c.top),c.right=Ai(p.right,c.right),c.bottom=Ai(p.bottom,c.bottom),c.left=Po(p.left,c.left),c},Ya(r,a,o));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function Uc(r){var e=r.reference,t=r.element,o=r.placement,n=o?Vr(o):null,s=o?mn(o):null,a=e.x+e.width/2-t.width/2,u=e.y+e.height/2-t.height/2,c;switch(n){case Ut:c={x:a,y:e.y-t.height};break;case cr:c={x:a,y:e.y+e.height};break;case dr:c={x:e.x+e.width,y:u};break;case Jt:c={x:e.x-t.width,y:u};break;default:c={x:e.x,y:e.y}}var l=n?ea(n):null;if(l!=null){var p=l==="y"?"height":"width";switch(s){case Ro:c[l]=c[l]-(e[p]/2-t[p]/2);break;case pn:c[l]=c[l]+(e[p]/2-t[p]/2);break}}return c}function hn(r,e){e===void 0&&(e={});var t=e,o=t.placement,n=o===void 0?r.placement:o,s=t.strategy,a=s===void 0?r.strategy:s,u=t.boundary,c=u===void 0?Oc:u,l=t.rootBoundary,p=l===void 0?Us:l,h=t.elementContext,g=h===void 0?Zo:h,_=t.altBoundary,m=_===void 0?!1:_,x=t.padding,b=x===void 0?0:x,y=Wc(typeof b!="number"?b:zc(b,An)),R=g===Zo?Nc:Zo,C=r.rects.popper,E=r.elements[m?R:g],N=ap(Vo(E)?E:E.contextElement||ko(r.elements.popper),c,p,a),I=_n(r.elements.reference),q=Uc({reference:I,element:C,placement:n}),B=Ss(Object.assign({},C,q)),U=g===Zo?B:I,J={top:N.top-U.top+y.top,bottom:U.bottom-N.bottom+y.bottom,left:N.left-U.left+y.left,right:U.right-N.right+y.right},H=r.modifiersData.offset;if(g===Zo&&H){var W=H[n];Object.keys(J).forEach(function(fe){var be=[dr,cr].indexOf(fe)>=0?1:-1,Oe=[Ut,cr].indexOf(fe)>=0?"y":"x";J[fe]+=W[Oe]*be})}return J}function lp(r,e){e===void 0&&(e={});var t=e,o=t.placement,n=t.boundary,s=t.rootBoundary,a=t.padding,u=t.flipVariations,c=t.allowedAutoPlacements,l=c===void 0?Js:c,p=mn(o),h=p?u?Cs:Cs.filter(function(m){return mn(m)===p}):An,g=h.filter(function(m){return l.indexOf(m)>=0});g.length===0&&(g=h);var _=g.reduce(function(m,x){return m[x]=hn(r,{placement:x,boundary:n,rootBoundary:s,padding:a})[Vr(x)],m},{});return Object.keys(_).sort(function(m,x){return _[m]-_[x]})}function cp(r){if(Vr(r)===Pi)return[];var e=hi(r);return[Ka(r),e,Ka(e)]}function dp(r){var e=r.state,t=r.options,o=r.name;if(!e.modifiersData[o]._skip){for(var n=t.mainAxis,s=n===void 0?!0:n,a=t.altAxis,u=a===void 0?!0:a,c=t.fallbackPlacements,l=t.padding,p=t.boundary,h=t.rootBoundary,g=t.altBoundary,_=t.flipVariations,m=_===void 0?!0:_,x=t.allowedAutoPlacements,b=e.options.placement,y=Vr(b),R=y===b,C=c||(R||!m?[hi(b)]:cp(b)),E=[b].concat(C).reduce(function($e,Le){return $e.concat(Vr(Le)===Pi?lp(e,{placement:Le,boundary:p,rootBoundary:h,padding:l,flipVariations:m,allowedAutoPlacements:x}):Le)},[]),N=e.rects.reference,I=e.rects.popper,q=new Map,B=!0,U=E[0],J=0;J=0,Oe=be?"width":"height",Ee=hn(e,{placement:H,boundary:p,rootBoundary:h,altBoundary:g,padding:l}),ee=be?fe?dr:Jt:fe?cr:Ut;N[Oe]>I[Oe]&&(ee=hi(ee));var ve=hi(ee),ue=[];if(s&&ue.push(Ee[W]<=0),u&&ue.push(Ee[ee]<=0,Ee[ve]<=0),ue.every(function($e){return $e})){U=H,B=!1;break}q.set(H,ue)}if(B)for(var Te=m?3:1,Se=function(Le){var Q=E.find(function(ie){var ge=q.get(ie);if(ge)return ge.slice(0,Le).every(function(Ce){return Ce})});if(Q)return U=Q,"break"},ye=Te;ye>0;ye--){var xe=Se(ye);if(xe==="break")break}e.placement!==U&&(e.modifiersData[o]._skip=!0,e.placement=U,e.reset=!0)}}const Jc={name:"flip",enabled:!0,phase:"main",fn:dp,requiresIfExists:["offset"],data:{_skip:!1}};function Ua(r,e,t){return t===void 0&&(t={x:0,y:0}),{top:r.top-e.height-t.y,right:r.right-e.width+t.x,bottom:r.bottom-e.height+t.y,left:r.left-e.width-t.x}}function Ja(r){return[Ut,dr,cr,Jt].some(function(e){return r[e]>=0})}function up(r){var e=r.state,t=r.name,o=e.rects.reference,n=e.rects.popper,s=e.modifiersData.preventOverflow,a=hn(e,{elementContext:"reference"}),u=hn(e,{altBoundary:!0}),c=Ua(a,o),l=Ua(u,n,s),p=Ja(c),h=Ja(l);e.modifiersData[t]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:p,hasPopperEscaped:h},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":h})}const Qc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:up};function fp(r,e,t){var o=Vr(r),n=[Jt,Ut].indexOf(o)>=0?-1:1,s=typeof t=="function"?t(Object.assign({},e,{placement:r})):t,a=s[0],u=s[1];return a=a||0,u=(u||0)*n,[Jt,dr].indexOf(o)>=0?{x:u,y:a}:{x:a,y:u}}function pp(r){var e=r.state,t=r.options,o=r.name,n=t.offset,s=n===void 0?[0,0]:n,a=Js.reduce(function(p,h){return p[h]=fp(h,e.rects,s),p},{}),u=a[e.placement],c=u.x,l=u.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=c,e.modifiersData.popperOffsets.y+=l),e.modifiersData[o]=a}const Xc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:pp};function vp(r){var e=r.state,t=r.name;e.modifiersData[t]=Uc({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const sa={name:"popperOffsets",enabled:!0,phase:"read",fn:vp,data:{}};function _p(r){return r==="x"?"y":"x"}function mp(r){var e=r.state,t=r.options,o=r.name,n=t.mainAxis,s=n===void 0?!0:n,a=t.altAxis,u=a===void 0?!1:a,c=t.boundary,l=t.rootBoundary,p=t.altBoundary,h=t.padding,g=t.tether,_=g===void 0?!0:g,m=t.tetherOffset,x=m===void 0?0:m,b=hn(e,{boundary:c,rootBoundary:l,padding:h,altBoundary:p}),y=Vr(e.placement),R=mn(e.placement),C=!R,E=ea(y),N=_p(E),I=e.modifiersData.popperOffsets,q=e.rects.reference,B=e.rects.popper,U=typeof x=="function"?x(Object.assign({},e.rects,{placement:e.placement})):x,J=typeof U=="number"?{mainAxis:U,altAxis:U}:Object.assign({mainAxis:0,altAxis:0},U),H=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,W={x:0,y:0};if(I){if(s){var fe,be=E==="y"?Ut:Jt,Oe=E==="y"?cr:dr,Ee=E==="y"?"height":"width",ee=I[E],ve=ee+b[be],ue=ee-b[Oe],Te=_?-B[Ee]/2:0,Se=R===Ro?q[Ee]:B[Ee],ye=R===Ro?-B[Ee]:-q[Ee],xe=e.elements.arrow,$e=_&&xe?Zs(xe):{width:0,height:0},Le=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Hc(),Q=Le[be],ie=Le[Oe],ge=Mn(0,q[Ee],$e[Ee]),Ce=C?q[Ee]/2-Te-ge-Q-J.mainAxis:Se-ge-Q-J.mainAxis,Ie=C?-q[Ee]/2+Te+ge+ie+J.mainAxis:ye+ge+ie+J.mainAxis,ke=e.elements.arrow&&Qn(e.elements.arrow),Re=ke?E==="y"?ke.clientTop||0:ke.clientLeft||0:0,A=(fe=H?.[E])!=null?fe:0,K=ee+Ce-A-Re,w=ee+Ie-A,O=Mn(_?Ai(ve,K):ve,ee,_?Po(ue,w):ue);I[E]=O,W[E]=O-ee}if(u){var L,S=E==="x"?Ut:Jt,z=E==="x"?cr:dr,me=I[N],Ne=N==="y"?"height":"width",Pe=me+b[S],ze=me-b[z],nt=[Ut,Jt].indexOf(y)!==-1,wt=(L=H?.[N])!=null?L:0,yt=nt?Pe:me-q[Ne]-B[Ne]-wt+J.altAxis,xt=nt?me+q[Ne]+B[Ne]-wt-J.altAxis:ze,Tt=_&&nt?Kf(yt,me,xt):Mn(_?yt:Pe,me,_?xt:ze);I[N]=Tt,W[N]=Tt-me}e.modifiersData[o]=W}}const Zc={name:"preventOverflow",enabled:!0,phase:"main",fn:mp,requiresIfExists:["offset"]};function hp(r){return{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}}function gp(r){return r===ur(r)||!br(r)?oa(r):hp(r)}function bp(r){var e=r.getBoundingClientRect(),t=vn(e.width)/r.offsetWidth||1,o=vn(e.height)/r.offsetHeight||1;return t!==1||o!==1}function wp(r,e,t){t===void 0&&(t=!1);var o=br(e),n=br(e)&&bp(e),s=ko(e),a=_n(r,n,t),u={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(o||!o&&!t)&&((qr(e)!=="body"||ia(s))&&(u=gp(e)),br(e)?(c=_n(e,!0),c.x+=e.clientLeft,c.y+=e.clientTop):s&&(c.x=na(s))),{x:a.left+u.scrollLeft-c.x,y:a.top+u.scrollTop-c.y,width:a.width,height:a.height}}function yp(r){var e=new Map,t=new Set,o=[];r.forEach(function(s){e.set(s.name,s)});function n(s){t.add(s.name);var a=[].concat(s.requires||[],s.requiresIfExists||[]);a.forEach(function(u){if(!t.has(u)){var c=e.get(u);c&&n(c)}}),o.push(s)}return r.forEach(function(s){t.has(s.name)||n(s)}),o}function xp(r){var e=yp(r);return qc.reduce(function(t,o){return t.concat(e.filter(function(n){return n.phase===o}))},[])}function Ep(r){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(r())})})),e}}function kp(r){var e=r.reduce(function(t,o){var n=t[o.name];return t[o.name]=n?Object.assign({},n,o,{options:Object.assign({},n.options,o.options),data:Object.assign({},n.data,o.data)}):o,t},{});return Object.keys(e).map(function(t){return e[t]})}var Qa={placement:"bottom",modifiers:[],strategy:"absolute"};function Xa(){for(var r=arguments.length,e=new Array(r),t=0;t(r&&window.CSS&&window.CSS.escape&&(r=r.replace(/#([^\s"#']+)/g,(e,t)=>`#${CSS.escape(t)}`)),r),Np=r=>r==null?`${r}`:Object.prototype.toString.call(r).match(/\s([a-z]+)/i)[1].toLowerCase(),Dp=r=>{do r+=Math.floor(Math.random()*Sp);while(document.getElementById(r));return r},Lp=r=>{if(!r)return 0;let{transitionDuration:e,transitionDelay:t}=window.getComputedStyle(r);const o=Number.parseFloat(e),n=Number.parseFloat(t);return!o&&!n?0:(e=e.split(",")[0],t=t.split(",")[0],(Number.parseFloat(e)+Number.parseFloat(t))*Op)},rd=r=>{r.dispatchEvent(new Event(Os))},to=r=>!r||typeof r!="object"?!1:(typeof r.jquery<"u"&&(r=r[0]),typeof r.nodeType<"u"),go=r=>to(r)?r.jquery?r[0]:r:typeof r=="string"&&r.length>0?document.querySelector(td(r)):null,Tn=r=>{if(!to(r)||r.getClientRects().length===0)return!1;const e=getComputedStyle(r).getPropertyValue("visibility")==="visible",t=r.closest("details:not([open])");if(!t)return e;if(t!==r){const o=r.closest("summary");if(o&&o.parentNode!==t||o===null)return!1}return e},bo=r=>!r||r.nodeType!==Node.ELEMENT_NODE||r.classList.contains("disabled")?!0:typeof r.disabled<"u"?r.disabled:r.hasAttribute("disabled")&&r.getAttribute("disabled")!=="false",od=r=>{if(!document.documentElement.attachShadow)return null;if(typeof r.getRootNode=="function"){const e=r.getRootNode();return e instanceof ShadowRoot?e:null}return r instanceof ShadowRoot?r:r.parentNode?od(r.parentNode):null},Ti=()=>{},Xn=r=>{r.offsetHeight},nd=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,ts=[],Ip=r=>{document.readyState==="loading"?(ts.length||document.addEventListener("DOMContentLoaded",()=>{for(const e of ts)e()}),ts.push(r)):r()},yr=()=>document.documentElement.dir==="rtl",Er=r=>{Ip(()=>{const e=nd();if(e){const t=r.NAME,o=e.fn[t];e.fn[t]=r.jQueryInterface,e.fn[t].Constructor=r,e.fn[t].noConflict=()=>(e.fn[t]=o,r.jQueryInterface)}})},er=(r,e=[],t=r)=>typeof r=="function"?r.call(...e):t,id=(r,e,t=!0)=>{if(!t){er(r);return}const n=Lp(e)+5;let s=!1;const a=({target:u})=>{u===e&&(s=!0,e.removeEventListener(Os,a),er(r))};e.addEventListener(Os,a),setTimeout(()=>{s||rd(e)},n)},aa=(r,e,t,o)=>{const n=r.length;let s=r.indexOf(e);return s===-1?!t&&o?r[n-1]:r[0]:(s+=t?1:-1,o&&(s=(s+n)%n),r[Math.max(0,Math.min(s,n-1))])},Pp=/[^.]*(?=\..*)\.|.*/,jp=/\..*/,Mp=/::\d+$/,rs={};let Za=1;const sd={mouseenter:"mouseover",mouseleave:"mouseout"},Rp=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function ad(r,e){return e&&`${e}::${Za++}`||r.uidEvent||Za++}function ld(r){const e=ad(r);return r.uidEvent=e,rs[e]=rs[e]||{},rs[e]}function Vp(r,e){return function t(o){return la(o,{delegateTarget:r}),t.oneOff&&V.off(r,o.type,e),e.apply(r,[o])}}function Gp(r,e,t){return function o(n){const s=r.querySelectorAll(e);for(let{target:a}=n;a&&a!==this;a=a.parentNode)for(const u of s)if(u===a)return la(n,{delegateTarget:a}),o.oneOff&&V.off(r,n.type,e,t),t.apply(a,[n])}}function cd(r,e,t=null){return Object.values(r).find(o=>o.callable===e&&o.delegationSelector===t)}function dd(r,e,t){const o=typeof e=="string",n=o?t:e||t;let s=ud(r);return Rp.has(s)||(s=r),[o,n,s]}function el(r,e,t,o,n){if(typeof e!="string"||!r)return;let[s,a,u]=dd(e,t,o);e in sd&&(a=(m=>function(x){if(!x.relatedTarget||x.relatedTarget!==x.delegateTarget&&!x.delegateTarget.contains(x.relatedTarget))return m.call(this,x)})(a));const c=ld(r),l=c[u]||(c[u]={}),p=cd(l,a,s?t:null);if(p){p.oneOff=p.oneOff&&n;return}const h=ad(a,e.replace(Pp,"")),g=s?Gp(r,t,a):Vp(r,a);g.delegationSelector=s?t:null,g.callable=a,g.oneOff=n,g.uidEvent=h,l[h]=g,r.addEventListener(u,g,s)}function Ns(r,e,t,o,n){const s=cd(e[t],o,n);s&&(r.removeEventListener(t,s,!!n),delete e[t][s.uidEvent])}function qp(r,e,t,o){const n=e[t]||{};for(const[s,a]of Object.entries(n))s.includes(o)&&Ns(r,e,t,a.callable,a.delegationSelector)}function ud(r){return r=r.replace(jp,""),sd[r]||r}const V={on(r,e,t,o){el(r,e,t,o,!1)},one(r,e,t,o){el(r,e,t,o,!0)},off(r,e,t,o){if(typeof e!="string"||!r)return;const[n,s,a]=dd(e,t,o),u=a!==e,c=ld(r),l=c[a]||{},p=e.startsWith(".");if(typeof s<"u"){if(!Object.keys(l).length)return;Ns(r,c,a,s,n?t:null);return}if(p)for(const h of Object.keys(c))qp(r,c,h,e.slice(1));for(const[h,g]of Object.entries(l)){const _=h.replace(Mp,"");(!u||e.includes(_))&&Ns(r,c,a,g.callable,g.delegationSelector)}},trigger(r,e,t){if(typeof e!="string"||!r)return null;const o=nd(),n=ud(e),s=e!==n;let a=null,u=!0,c=!0,l=!1;s&&o&&(a=o.Event(e,t),o(r).trigger(a),u=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),l=a.isDefaultPrevented());const p=la(new Event(e,{bubbles:u,cancelable:!0}),t);return l&&p.preventDefault(),c&&r.dispatchEvent(p),p.defaultPrevented&&a&&a.preventDefault(),p}};function la(r,e={}){for(const[t,o]of Object.entries(e))try{r[t]=o}catch{Object.defineProperty(r,t,{configurable:!0,get(){return o}})}return r}function tl(r){if(r==="true")return!0;if(r==="false")return!1;if(r===Number(r).toString())return Number(r);if(r===""||r==="null")return null;if(typeof r!="string")return r;try{return JSON.parse(decodeURIComponent(r))}catch{return r}}function os(r){return r.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}const ro={setDataAttribute(r,e,t){r.setAttribute(`data-bs-${os(e)}`,t)},removeDataAttribute(r,e){r.removeAttribute(`data-bs-${os(e)}`)},getDataAttributes(r){if(!r)return{};const e={},t=Object.keys(r.dataset).filter(o=>o.startsWith("bs")&&!o.startsWith("bsConfig"));for(const o of t){let n=o.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1),e[n]=tl(r.dataset[o])}return e},getDataAttribute(r,e){return tl(r.getAttribute(`data-bs-${os(e)}`))}};class Zn{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const o=to(t)?ro.getDataAttribute(t,"config"):{};return{...this.constructor.Default,...typeof o=="object"?o:{},...to(t)?ro.getDataAttributes(t):{},...typeof e=="object"?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[o,n]of Object.entries(t)){const s=e[o],a=to(s)?"element":Np(s);if(!new RegExp(n).test(a))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${o}" provided type "${a}" but expected type "${n}".`)}}}const Bp="5.3.8";class Lr extends Zn{constructor(e,t){super(),e=go(e),e&&(this._element=e,this._config=this._getConfig(t),es.set(this._element,this.constructor.DATA_KEY,this))}dispose(){es.remove(this._element,this.constructor.DATA_KEY),V.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,o=!0){id(e,t,o)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return es.get(go(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,typeof t=="object"?t:null)}static get VERSION(){return Bp}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const ns=r=>{let e=r.getAttribute("data-bs-target");if(!e||e==="#"){let t=r.getAttribute("href");if(!t||!t.includes("#")&&!t.startsWith("."))return null;t.includes("#")&&!t.startsWith("#")&&(t=`#${t.split("#")[1]}`),e=t&&t!=="#"?t.trim():null}return e?e.split(",").map(t=>td(t)).join(","):null},he={find(r,e=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(e,r))},findOne(r,e=document.documentElement){return Element.prototype.querySelector.call(e,r)},children(r,e){return[].concat(...r.children).filter(t=>t.matches(e))},parents(r,e){const t=[];let o=r.parentNode.closest(e);for(;o;)t.push(o),o=o.parentNode.closest(e);return t},prev(r,e){let t=r.previousElementSibling;for(;t;){if(t.matches(e))return[t];t=t.previousElementSibling}return[]},next(r,e){let t=r.nextElementSibling;for(;t;){if(t.matches(e))return[t];t=t.nextElementSibling}return[]},focusableChildren(r){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(t=>`${t}:not([tabindex^="-"])`).join(",");return this.find(e,r).filter(t=>!bo(t)&&Tn(t))},getSelectorFromElement(r){const e=ns(r);return e&&he.findOne(e)?e:null},getElementFromSelector(r){const e=ns(r);return e?he.findOne(e):null},getMultipleElementsFromSelector(r){const e=ns(r);return e?he.find(e):[]}},Vi=(r,e="hide")=>{const t=`click.dismiss${r.EVENT_KEY}`,o=r.NAME;V.on(document,t,`[data-bs-dismiss="${o}"]`,function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),bo(this))return;const s=he.getElementFromSelector(this)||this.closest(`.${o}`);r.getOrCreateInstance(s)[e]()})},Fp="alert",Hp="bs.alert",fd=`.${Hp}`,Wp=`close${fd}`,zp=`closed${fd}`,Kp="fade",Yp="show";class Gi extends Lr{static get NAME(){return Fp}close(){if(V.trigger(this._element,Wp).defaultPrevented)return;this._element.classList.remove(Yp);const t=this._element.classList.contains(Kp);this._queueCallback(()=>this._destroyElement(),this._element,t)}_destroyElement(){this._element.remove(),V.trigger(this._element,zp),this.dispose()}static jQueryInterface(e){return this.each(function(){const t=Gi.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}Vi(Gi,"close");Er(Gi);const Up="button",Jp="bs.button",Qp=`.${Jp}`,Xp=".data-api",Zp="active",rl='[data-bs-toggle="button"]',ev=`click${Qp}${Xp}`;class qi extends Lr{static get NAME(){return Up}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(Zp))}static jQueryInterface(e){return this.each(function(){const t=qi.getOrCreateInstance(this);e==="toggle"&&t[e]()})}}V.on(document,ev,rl,r=>{r.preventDefault();const e=r.target.closest(rl);qi.getOrCreateInstance(e).toggle()});Er(qi);const tv="swipe",Cn=".bs.swipe",rv=`touchstart${Cn}`,ov=`touchmove${Cn}`,nv=`touchend${Cn}`,iv=`pointerdown${Cn}`,sv=`pointerup${Cn}`,av="touch",lv="pen",cv="pointer-event",dv=40,uv={endCallback:null,leftCallback:null,rightCallback:null},fv={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Ci extends Zn{constructor(e,t){super(),this._element=e,!(!e||!Ci.isSupported())&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return uv}static get DefaultType(){return fv}static get NAME(){return tv}dispose(){V.off(this._element,Cn)}_start(e){if(!this._supportPointerEvents){this._deltaX=e.touches[0].clientX;return}this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX)}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),er(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=dv)return;const t=e/this._deltaX;this._deltaX=0,t&&er(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(V.on(this._element,iv,e=>this._start(e)),V.on(this._element,sv,e=>this._end(e)),this._element.classList.add(cv)):(V.on(this._element,rv,e=>this._start(e)),V.on(this._element,ov,e=>this._move(e)),V.on(this._element,nv,e=>this._end(e)))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&(e.pointerType===lv||e.pointerType===av)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const pv="carousel",vv="bs.carousel",Ao=`.${vv}`,pd=".data-api",_v="ArrowLeft",mv="ArrowRight",hv=500,Nn="next",Jo="prev",en="left",gi="right",gv=`slide${Ao}`,is=`slid${Ao}`,bv=`keydown${Ao}`,wv=`mouseenter${Ao}`,yv=`mouseleave${Ao}`,xv=`dragstart${Ao}`,Ev=`load${Ao}${pd}`,kv=`click${Ao}${pd}`,vd="carousel",di="active",Av="slide",Tv="carousel-item-end",Cv="carousel-item-start",$v="carousel-item-next",Sv="carousel-item-prev",_d=".active",md=".carousel-item",Ov=_d+md,Nv=".carousel-item img",Dv=".carousel-indicators",Lv="[data-bs-slide], [data-bs-slide-to]",Iv='[data-bs-ride="carousel"]',Pv={[_v]:gi,[mv]:en},jv={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Mv={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ei extends Lr{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=he.findOne(Dv,this._element),this._addEventListeners(),this._config.ride===vd&&this.cycle()}static get Default(){return jv}static get DefaultType(){return Mv}static get NAME(){return pv}next(){this._slide(Nn)}nextWhenVisible(){!document.hidden&&Tn(this._element)&&this.next()}prev(){this._slide(Jo)}pause(){this._isSliding&&rd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){V.one(this._element,is,()=>this.cycle());return}this.cycle()}}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding){V.one(this._element,is,()=>this.to(e));return}const o=this._getItemIndex(this._getActive());if(o===e)return;const n=e>o?Nn:Jo;this._slide(n,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&V.on(this._element,bv,e=>this._keydown(e)),this._config.pause==="hover"&&(V.on(this._element,wv,()=>this.pause()),V.on(this._element,yv,()=>this._maybeEnableCycle())),this._config.touch&&Ci.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const o of he.find(Nv,this._element))V.on(o,xv,n=>n.preventDefault());const t={leftCallback:()=>this._slide(this._directionToOrder(en)),rightCallback:()=>this._slide(this._directionToOrder(gi)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),hv+this._config.interval))}};this._swipeHelper=new Ci(this._element,t)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=Pv[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=he.findOne(_d,this._indicatorsElement);t.classList.remove(di),t.removeAttribute("aria-current");const o=he.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);o&&(o.classList.add(di),o.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const o=this._getActive(),n=e===Nn,s=t||aa(this._getItems(),o,n,this._config.wrap);if(s===o)return;const a=this._getItemIndex(s),u=_=>V.trigger(this._element,_,{relatedTarget:s,direction:this._orderToDirection(e),from:this._getItemIndex(o),to:a});if(u(gv).defaultPrevented||!o||!s)return;const l=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(a),this._activeElement=s;const p=n?Cv:Tv,h=n?$v:Sv;s.classList.add(h),Xn(s),o.classList.add(p),s.classList.add(p);const g=()=>{s.classList.remove(p,h),s.classList.add(di),o.classList.remove(di,h,p),this._isSliding=!1,u(is)};this._queueCallback(g,o,this._isAnimated()),l&&this.cycle()}_isAnimated(){return this._element.classList.contains(Av)}_getActive(){return he.findOne(Ov,this._element)}_getItems(){return he.find(md,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return yr()?e===en?Jo:Nn:e===en?Nn:Jo}_orderToDirection(e){return yr()?e===Jo?en:gi:e===Jo?gi:en}static jQueryInterface(e){return this.each(function(){const t=ei.getOrCreateInstance(this,e);if(typeof e=="number"){t.to(e);return}if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}V.on(document,kv,Lv,function(r){const e=he.getElementFromSelector(this);if(!e||!e.classList.contains(vd))return;r.preventDefault();const t=ei.getOrCreateInstance(e),o=this.getAttribute("data-bs-slide-to");if(o){t.to(o),t._maybeEnableCycle();return}if(ro.getDataAttribute(this,"slide")==="next"){t.next(),t._maybeEnableCycle();return}t.prev(),t._maybeEnableCycle()});V.on(window,Ev,()=>{const r=he.find(Iv);for(const e of r)ei.getOrCreateInstance(e)});Er(ei);const Rv="collapse",Vv="bs.collapse",ti=`.${Vv}`,Gv=".data-api",qv=`show${ti}`,Bv=`shown${ti}`,Fv=`hide${ti}`,Hv=`hidden${ti}`,Wv=`click${ti}${Gv}`,ss="show",nn="collapse",ui="collapsing",zv="collapsed",Kv=`:scope .${nn} .${nn}`,Yv="collapse-horizontal",Uv="width",Jv="height",Qv=".collapse.show, .collapse.collapsing",Ds='[data-bs-toggle="collapse"]',Xv={parent:null,toggle:!0},Zv={parent:"(null|element)",toggle:"boolean"};class Wn extends Lr{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const o=he.find(Ds);for(const n of o){const s=he.getSelectorFromElement(n),a=he.find(s).filter(u=>u===this._element);s!==null&&a.length&&this._triggerArray.push(n)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Xv}static get DefaultType(){return Zv}static get NAME(){return Rv}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(Qv).filter(u=>u!==this._element).map(u=>Wn.getOrCreateInstance(u,{toggle:!1}))),e.length&&e[0]._isTransitioning||V.trigger(this._element,qv).defaultPrevented)return;for(const u of e)u.hide();const o=this._getDimension();this._element.classList.remove(nn),this._element.classList.add(ui),this._element.style[o]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=()=>{this._isTransitioning=!1,this._element.classList.remove(ui),this._element.classList.add(nn,ss),this._element.style[o]="",V.trigger(this._element,Bv)},a=`scroll${o[0].toUpperCase()+o.slice(1)}`;this._queueCallback(n,this._element,!0),this._element.style[o]=`${this._element[a]}px`}hide(){if(this._isTransitioning||!this._isShown()||V.trigger(this._element,Fv).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,Xn(this._element),this._element.classList.add(ui),this._element.classList.remove(nn,ss);for(const n of this._triggerArray){const s=he.getElementFromSelector(n);s&&!this._isShown(s)&&this._addAriaAndCollapsedClass([n],!1)}this._isTransitioning=!0;const o=()=>{this._isTransitioning=!1,this._element.classList.remove(ui),this._element.classList.add(nn),V.trigger(this._element,Hv)};this._element.style[t]="",this._queueCallback(o,this._element,!0)}_isShown(e=this._element){return e.classList.contains(ss)}_configAfterMerge(e){return e.toggle=!!e.toggle,e.parent=go(e.parent),e}_getDimension(){return this._element.classList.contains(Yv)?Uv:Jv}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(Ds);for(const t of e){const o=he.getElementFromSelector(t);o&&this._addAriaAndCollapsedClass([t],this._isShown(o))}}_getFirstLevelChildren(e){const t=he.find(Kv,this._config.parent);return he.find(e,this._config.parent).filter(o=>!t.includes(o))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const o of e)o.classList.toggle(zv,!t),o.setAttribute("aria-expanded",t)}static jQueryInterface(e){const t={};return typeof e=="string"&&/show|hide/.test(e)&&(t.toggle=!1),this.each(function(){const o=Wn.getOrCreateInstance(this,t);if(typeof e=="string"){if(typeof o[e]>"u")throw new TypeError(`No method named "${e}"`);o[e]()}})}}V.on(document,Wv,Ds,function(r){(r.target.tagName==="A"||r.delegateTarget&&r.delegateTarget.tagName==="A")&&r.preventDefault();for(const e of he.getMultipleElementsFromSelector(this))Wn.getOrCreateInstance(e,{toggle:!1}).toggle()});Er(Wn);const ol="dropdown",e_="bs.dropdown",Fo=`.${e_}`,ca=".data-api",t_="Escape",nl="Tab",r_="ArrowUp",il="ArrowDown",o_=2,n_=`hide${Fo}`,i_=`hidden${Fo}`,s_=`show${Fo}`,a_=`shown${Fo}`,hd=`click${Fo}${ca}`,gd=`keydown${Fo}${ca}`,l_=`keyup${Fo}${ca}`,tn="show",c_="dropup",d_="dropend",u_="dropstart",f_="dropup-center",p_="dropdown-center",Do='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',v_=`${Do}.${tn}`,bi=".dropdown-menu",__=".navbar",m_=".navbar-nav",h_=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",g_=yr()?"top-end":"top-start",b_=yr()?"top-start":"top-end",w_=yr()?"bottom-end":"bottom-start",y_=yr()?"bottom-start":"bottom-end",x_=yr()?"left-start":"right-start",E_=yr()?"right-start":"left-start",k_="top",A_="bottom",T_={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},C_={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Or extends Lr{constructor(e,t){super(e,t),this._popper=null,this._parent=this._element.parentNode,this._menu=he.next(this._element,bi)[0]||he.prev(this._element,bi)[0]||he.findOne(bi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return T_}static get DefaultType(){return C_}static get NAME(){return ol}toggle(){return this._isShown()?this.hide():this.show()}show(){if(bo(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!V.trigger(this._element,s_,e).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(m_))for(const o of[].concat(...document.body.children))V.on(o,"mouseover",Ti);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(tn),this._element.classList.add(tn),V.trigger(this._element,a_,e)}}hide(){if(bo(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){if(!V.trigger(this._element,n_,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(const o of[].concat(...document.body.children))V.off(o,"mouseover",Ti);this._popper&&this._popper.destroy(),this._menu.classList.remove(tn),this._element.classList.remove(tn),this._element.setAttribute("aria-expanded","false"),ro.removeDataAttribute(this._menu,"popper"),V.trigger(this._element,i_,e)}}_getConfig(e){if(e=super._getConfig(e),typeof e.reference=="object"&&!to(e.reference)&&typeof e.reference.getBoundingClientRect!="function")throw new TypeError(`${ol.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(){if(typeof ed>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");let e=this._element;this._config.reference==="parent"?e=this._parent:to(this._config.reference)?e=go(this._config.reference):typeof this._config.reference=="object"&&(e=this._config.reference);const t=this._getPopperConfig();this._popper=Ri(e,this._menu,t)}_isShown(){return this._menu.classList.contains(tn)}_getPlacement(){const e=this._parent;if(e.classList.contains(d_))return x_;if(e.classList.contains(u_))return E_;if(e.classList.contains(f_))return k_;if(e.classList.contains(p_))return A_;const t=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return e.classList.contains(c_)?t?b_:g_:t?y_:w_}_detectNavbar(){return this._element.closest(__)!==null}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map(t=>Number.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(ro.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,...er(this._config.popperConfig,[void 0,e])}}_selectMenuItem({key:e,target:t}){const o=he.find(h_,this._menu).filter(n=>Tn(n));o.length&&aa(o,t,e===il,!o.includes(t)).focus()}static jQueryInterface(e){return this.each(function(){const t=Or.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}static clearMenus(e){if(e.button===o_||e.type==="keyup"&&e.key!==nl)return;const t=he.find(v_);for(const o of t){const n=Or.getInstance(o);if(!n||n._config.autoClose===!1)continue;const s=e.composedPath(),a=s.includes(n._menu);if(s.includes(n._element)||n._config.autoClose==="inside"&&!a||n._config.autoClose==="outside"&&a||n._menu.contains(e.target)&&(e.type==="keyup"&&e.key===nl||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const u={relatedTarget:n._element};e.type==="click"&&(u.clickEvent=e),n._completeHide(u)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),o=e.key===t_,n=[r_,il].includes(e.key);if(!n&&!o||t&&!o)return;e.preventDefault();const s=this.matches(Do)?this:he.prev(this,Do)[0]||he.next(this,Do)[0]||he.findOne(Do,e.delegateTarget.parentNode),a=Or.getOrCreateInstance(s);if(n){e.stopPropagation(),a.show(),a._selectMenuItem(e);return}a._isShown()&&(e.stopPropagation(),a.hide(),s.focus())}}V.on(document,gd,Do,Or.dataApiKeydownHandler);V.on(document,gd,bi,Or.dataApiKeydownHandler);V.on(document,hd,Or.clearMenus);V.on(document,l_,Or.clearMenus);V.on(document,hd,Do,function(r){r.preventDefault(),Or.getOrCreateInstance(this).toggle()});Er(Or);const bd="backdrop",$_="fade",sl="show",al=`mousedown.bs.${bd}`,S_={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},O_={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class wd extends Zn{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return S_}static get DefaultType(){return O_}static get NAME(){return bd}show(e){if(!this._config.isVisible){er(e);return}this._append();const t=this._getElement();this._config.isAnimated&&Xn(t),t.classList.add(sl),this._emulateAnimation(()=>{er(e)})}hide(e){if(!this._config.isVisible){er(e);return}this._getElement().classList.remove(sl),this._emulateAnimation(()=>{this.dispose(),er(e)})}dispose(){this._isAppended&&(V.off(this._element,al),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add($_),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=go(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),V.on(e,al,()=>{er(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(e){id(e,this._getElement(),this._config.isAnimated)}}const N_="focustrap",D_="bs.focustrap",$i=`.${D_}`,L_=`focusin${$i}`,I_=`keydown.tab${$i}`,P_="Tab",j_="forward",ll="backward",M_={autofocus:!0,trapElement:null},R_={autofocus:"boolean",trapElement:"element"};class yd extends Zn{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return M_}static get DefaultType(){return R_}static get NAME(){return N_}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),V.off(document,$i),V.on(document,L_,e=>this._handleFocusin(e)),V.on(document,I_,e=>this._handleKeydown(e)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,V.off(document,$i))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const o=he.focusableChildren(t);o.length===0?t.focus():this._lastTabNavDirection===ll?o[o.length-1].focus():o[0].focus()}_handleKeydown(e){e.key===P_&&(this._lastTabNavDirection=e.shiftKey?ll:j_)}}const cl=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",dl=".sticky-top",fi="padding-right",ul="margin-right";class Ls{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,fi,t=>t+e),this._setElementAttributes(cl,fi,t=>t+e),this._setElementAttributes(dl,ul,t=>t-e)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,fi),this._resetElementAttributes(cl,fi),this._resetElementAttributes(dl,ul)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,o){const n=this.getWidth(),s=a=>{if(a!==this._element&&window.innerWidth>a.clientWidth+n)return;this._saveInitialAttribute(a,t);const u=window.getComputedStyle(a).getPropertyValue(t);a.style.setProperty(t,`${o(Number.parseFloat(u))}px`)};this._applyManipulationCallback(e,s)}_saveInitialAttribute(e,t){const o=e.style.getPropertyValue(t);o&&ro.setDataAttribute(e,t,o)}_resetElementAttributes(e,t){const o=n=>{const s=ro.getDataAttribute(n,t);if(s===null){n.style.removeProperty(t);return}ro.removeDataAttribute(n,t),n.style.setProperty(t,s)};this._applyManipulationCallback(e,o)}_applyManipulationCallback(e,t){if(to(e)){t(e);return}for(const o of he.find(e,this._element))t(o)}}const V_="modal",G_="bs.modal",xr=`.${G_}`,q_=".data-api",B_="Escape",F_=`hide${xr}`,H_=`hidePrevented${xr}`,xd=`hidden${xr}`,Ed=`show${xr}`,W_=`shown${xr}`,z_=`resize${xr}`,K_=`click.dismiss${xr}`,Y_=`mousedown.dismiss${xr}`,U_=`keydown.dismiss${xr}`,J_=`click${xr}${q_}`,fl="modal-open",Q_="fade",pl="show",as="modal-static",X_=".modal.show",Z_=".modal-dialog",em=".modal-body",tm='[data-bs-toggle="modal"]',rm={backdrop:!0,focus:!0,keyboard:!0},om={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Go extends Lr{constructor(e,t){super(e,t),this._dialog=he.findOne(Z_,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ls,this._addEventListeners()}static get Default(){return rm}static get DefaultType(){return om}static get NAME(){return V_}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){this._isShown||this._isTransitioning||V.trigger(this._element,Ed,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(fl),this._adjustDialog(),this._backdrop.show(()=>this._showElement(e)))}hide(){!this._isShown||this._isTransitioning||V.trigger(this._element,F_).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(pl),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){V.off(window,xr),V.off(this._dialog,xr),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new wd({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new yd({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const t=he.findOne(em,this._dialog);t&&(t.scrollTop=0),Xn(this._element),this._element.classList.add(pl);const o=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,V.trigger(this._element,W_,{relatedTarget:e})};this._queueCallback(o,this._dialog,this._isAnimated())}_addEventListeners(){V.on(this._element,U_,e=>{if(e.key===B_){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),V.on(window,z_,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),V.on(this._element,Y_,e=>{V.one(this._element,K_,t=>{if(!(this._element!==e.target||this._element!==t.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(fl),this._resetAdjustments(),this._scrollBar.reset(),V.trigger(this._element,xd)})}_isAnimated(){return this._element.classList.contains(Q_)}_triggerBackdropTransition(){if(V.trigger(this._element,H_).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,o=this._element.style.overflowY;o==="hidden"||this._element.classList.contains(as)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(as),this._queueCallback(()=>{this._element.classList.remove(as),this._queueCallback(()=>{this._element.style.overflowY=o},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._scrollBar.getWidth(),o=t>0;if(o&&!e){const n=yr()?"paddingLeft":"paddingRight";this._element.style[n]=`${t}px`}if(!o&&e){const n=yr()?"paddingRight":"paddingLeft";this._element.style[n]=`${t}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each(function(){const o=Go.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof o[e]>"u")throw new TypeError(`No method named "${e}"`);o[e](t)}})}}V.on(document,J_,tm,function(r){const e=he.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&r.preventDefault(),V.one(e,Ed,n=>{n.defaultPrevented||V.one(e,xd,()=>{Tn(this)&&this.focus()})});const t=he.findOne(X_);t&&Go.getInstance(t).hide(),Go.getOrCreateInstance(e).toggle(this)});Vi(Go);Er(Go);const nm="offcanvas",im="bs.offcanvas",ao=`.${im}`,kd=".data-api",sm=`load${ao}${kd}`,am="Escape",vl="show",_l="showing",ml="hiding",lm="offcanvas-backdrop",Ad=".offcanvas.show",cm=`show${ao}`,dm=`shown${ao}`,um=`hide${ao}`,hl=`hidePrevented${ao}`,Td=`hidden${ao}`,fm=`resize${ao}`,pm=`click${ao}${kd}`,vm=`keydown.dismiss${ao}`,_m='[data-bs-toggle="offcanvas"]',mm={backdrop:!0,keyboard:!0,scroll:!1},hm={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class wo extends Lr{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return mm}static get DefaultType(){return hm}static get NAME(){return nm}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown||V.trigger(this._element,cm,{relatedTarget:e}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new Ls().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(_l);const o=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(vl),this._element.classList.remove(_l),V.trigger(this._element,dm,{relatedTarget:e})};this._queueCallback(o,this._element,!0)}hide(){if(!this._isShown||V.trigger(this._element,um).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ml),this._backdrop.hide();const t=()=>{this._element.classList.remove(vl,ml),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new Ls().reset(),V.trigger(this._element,Td)};this._queueCallback(t,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=()=>{if(this._config.backdrop==="static"){V.trigger(this._element,hl);return}this.hide()},t=!!this._config.backdrop;return new wd({className:lm,isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?e:null})}_initializeFocusTrap(){return new yd({trapElement:this._element})}_addEventListeners(){V.on(this._element,vm,e=>{if(e.key===am){if(this._config.keyboard){this.hide();return}V.trigger(this._element,hl)}})}static jQueryInterface(e){return this.each(function(){const t=wo.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}V.on(document,pm,_m,function(r){const e=he.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&r.preventDefault(),bo(this))return;V.one(e,Td,()=>{Tn(this)&&this.focus()});const t=he.findOne(Ad);t&&t!==e&&wo.getInstance(t).hide(),wo.getOrCreateInstance(e).toggle(this)});V.on(window,sm,()=>{for(const r of he.find(Ad))wo.getOrCreateInstance(r).show()});V.on(window,fm,()=>{for(const r of he.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(r).position!=="fixed"&&wo.getOrCreateInstance(r).hide()});Vi(wo);Er(wo);const gm=/^aria-[\w-]*$/i,Cd={"*":["class","dir","id","lang","role",gm],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},bm=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),wm=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,ym=(r,e)=>{const t=r.nodeName.toLowerCase();return e.includes(t)?bm.has(t)?!!wm.test(r.nodeValue):!0:e.filter(o=>o instanceof RegExp).some(o=>o.test(t))};function xm(r,e,t){if(!r.length)return r;if(t&&typeof t=="function")return t(r);const n=new window.DOMParser().parseFromString(r,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const a of s){const u=a.nodeName.toLowerCase();if(!Object.keys(e).includes(u)){a.remove();continue}const c=[].concat(...a.attributes),l=[].concat(e["*"]||[],e[u]||[]);for(const p of c)ym(p,l)||a.removeAttribute(p.nodeName)}return n.body.innerHTML}const Em="TemplateFactory",km={allowList:Cd,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:""},Am={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Tm={entry:"(string|element|function|null)",selector:"(string|element)"};class Cm extends Zn{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return km}static get DefaultType(){return Am}static get NAME(){return Em}getContent(){return Object.values(this._config.content).map(e=>this._resolvePossibleFunction(e)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[n,s]of Object.entries(this._config.content))this._setContent(e,s,n);const t=e.children[0],o=this._resolvePossibleFunction(this._config.extraClass);return o&&t.classList.add(...o.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,o]of Object.entries(e))super._typeCheckConfig({selector:t,entry:o},Tm)}_setContent(e,t,o){const n=he.findOne(o,e);if(n){if(t=this._resolvePossibleFunction(t),!t){n.remove();return}if(to(t)){this._putElementInTemplate(go(t),n);return}if(this._config.html){n.innerHTML=this._maybeSanitize(t);return}n.textContent=t}}_maybeSanitize(e){return this._config.sanitize?xm(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return er(e,[void 0,this])}_putElementInTemplate(e,t){if(this._config.html){t.innerHTML="",t.append(e);return}t.textContent=e.textContent}}const $m="tooltip",Sm=new Set(["sanitize","allowList","sanitizeFn"]),ls="fade",Om="modal",pi="show",Nm=".tooltip-inner",gl=`.${Om}`,bl="hide.bs.modal",Dn="hover",cs="focus",ds="click",Dm="manual",Lm="hide",Im="hidden",Pm="show",jm="shown",Mm="inserted",Rm="click",Vm="focusin",Gm="focusout",qm="mouseenter",Bm="mouseleave",Fm={AUTO:"auto",TOP:"top",RIGHT:yr()?"left":"right",BOTTOM:"bottom",LEFT:yr()?"right":"left"},Hm={allowList:Cd,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},Wm={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};let ri=class $d extends Lr{constructor(e,t){if(typeof ed>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Hm}static get DefaultType(){return Wm}static get NAME(){return $m}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),V.off(this._element.closest(gl),bl,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const e=V.trigger(this._element,this.constructor.eventName(Pm)),o=(od(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!o)return;this._disposePopper();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(n),V.trigger(this._element,this.constructor.eventName(Mm))),this._popper=this._createPopper(n),n.classList.add(pi),"ontouchstart"in document.documentElement)for(const u of[].concat(...document.body.children))V.on(u,"mouseover",Ti);const a=()=>{V.trigger(this._element,this.constructor.eventName(jm)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(a,this.tip,this._isAnimated())}hide(){if(!this._isShown()||V.trigger(this._element,this.constructor.eventName(Lm)).defaultPrevented)return;if(this._getTipElement().classList.remove(pi),"ontouchstart"in document.documentElement)for(const n of[].concat(...document.body.children))V.off(n,"mouseover",Ti);this._activeTrigger[ds]=!1,this._activeTrigger[cs]=!1,this._activeTrigger[Dn]=!1,this._isHovered=null;const o=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),V.trigger(this._element,this.constructor.eventName(Im)))};this._queueCallback(o,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove(ls,pi),t.classList.add(`bs-${this.constructor.NAME}-auto`);const o=Dp(this.constructor.NAME).toString();return t.setAttribute("id",o),this._isAnimated()&&t.classList.add(ls),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new Cm({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Nm]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ls)}_isShown(){return this.tip&&this.tip.classList.contains(pi)}_createPopper(e){const t=er(this._config.placement,[this,e,this._element]),o=Fm[t.toUpperCase()];return Ri(this._element,e,this._getPopperConfig(o))}_getOffset(){const{offset:e}=this._config;return typeof e=="string"?e.split(",").map(t=>Number.parseInt(t,10)):typeof e=="function"?t=>e(t,this._element):e}_resolvePossibleFunction(e){return er(e,[this._element,this._element])}_getPopperConfig(e){const t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:o=>{this._getTipElement().setAttribute("data-popper-placement",o.state.placement)}}]};return{...t,...er(this._config.popperConfig,[void 0,t])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if(t==="click")V.on(this._element,this.constructor.eventName(Rm),this._config.selector,o=>{const n=this._initializeOnDelegatedTarget(o);n._activeTrigger[ds]=!(n._isShown()&&n._activeTrigger[ds]),n.toggle()});else if(t!==Dm){const o=t===Dn?this.constructor.eventName(qm):this.constructor.eventName(Vm),n=t===Dn?this.constructor.eventName(Bm):this.constructor.eventName(Gm);V.on(this._element,o,this._config.selector,s=>{const a=this._initializeOnDelegatedTarget(s);a._activeTrigger[s.type==="focusin"?cs:Dn]=!0,a._enter()}),V.on(this._element,n,this._config.selector,s=>{const a=this._initializeOnDelegatedTarget(s);a._activeTrigger[s.type==="focusout"?cs:Dn]=a._element.contains(s.relatedTarget),a._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},V.on(this._element.closest(gl),bl,this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=ro.getDataAttributes(this._element);for(const o of Object.keys(t))Sm.has(o)&&delete t[o];return e={...t,...typeof e=="object"&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=e.container===!1?document.body:go(e.container),typeof e.delay=="number"&&(e.delay={show:e.delay,hide:e.delay}),typeof e.title=="number"&&(e.title=e.title.toString()),typeof e.content=="number"&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,o]of Object.entries(this._config))this.constructor.Default[t]!==o&&(e[t]=o);return e.selector=!1,e.trigger="manual",e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(e){return this.each(function(){const t=$d.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}};Er(ri);const zm="popover",Km=".popover-header",Ym=".popover-body",Um={...ri.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},Jm={...ri.DefaultType,content:"(null|string|element|function)"};class da extends ri{static get Default(){return Um}static get DefaultType(){return Jm}static get NAME(){return zm}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Km]:this._getTitle(),[Ym]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each(function(){const t=da.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e]()}})}}Er(da);const Qm="scrollspy",Xm="bs.scrollspy",ua=`.${Xm}`,Zm=".data-api",eh=`activate${ua}`,wl=`click${ua}`,th=`load${ua}${Zm}`,rh="dropdown-item",Qo="active",oh='[data-bs-spy="scroll"]',us="[href]",nh=".nav, .list-group",yl=".nav-link",ih=".nav-item",sh=".list-group-item",ah=`${yl}, ${ih} > ${yl}, ${sh}`,lh=".dropdown",ch=".dropdown-toggle",dh={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},uh={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Bi extends Lr{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return dh}static get DefaultType(){return uh}static get NAME(){return Qm}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=go(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,typeof e.threshold=="string"&&(e.threshold=e.threshold.split(",").map(t=>Number.parseFloat(t))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(V.off(this._config.target,wl),V.on(this._config.target,wl,us,e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const o=this._rootElement||window,n=t.offsetTop-this._element.offsetTop;if(o.scrollTo){o.scrollTo({top:n,behavior:"smooth"});return}o.scrollTop=n}}))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(t=>this._observerCallback(t),e)}_observerCallback(e){const t=a=>this._targetLinks.get(`#${a.target.id}`),o=a=>{this._previousScrollData.visibleEntryTop=a.target.offsetTop,this._process(t(a))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const a of e){if(!a.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(a));continue}const u=a.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&u){if(o(a),!n)return;continue}!s&&!u&&o(a)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=he.find(us,this._config.target);for(const t of e){if(!t.hash||bo(t))continue;const o=he.findOne(decodeURI(t.hash),this._element);Tn(o)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,o))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add(Qo),this._activateParents(e),V.trigger(this._element,eh,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains(rh)){he.findOne(ch,e.closest(lh)).classList.add(Qo);return}for(const t of he.parents(e,nh))for(const o of he.prev(t,ah))o.classList.add(Qo)}_clearActiveClass(e){e.classList.remove(Qo);const t=he.find(`${us}.${Qo}`,e);for(const o of t)o.classList.remove(Qo)}static jQueryInterface(e){return this.each(function(){const t=Bi.getOrCreateInstance(this,e);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}V.on(window,th,()=>{for(const r of he.find(oh))Bi.getOrCreateInstance(r)});Er(Bi);const fh="tab",ph="bs.tab",Ho=`.${ph}`,vh=`hide${Ho}`,_h=`hidden${Ho}`,mh=`show${Ho}`,hh=`shown${Ho}`,gh=`click${Ho}`,bh=`keydown${Ho}`,wh=`load${Ho}`,yh="ArrowLeft",xl="ArrowRight",xh="ArrowUp",El="ArrowDown",fs="Home",kl="End",Lo="active",Al="fade",ps="show",Eh="dropdown",Sd=".dropdown-toggle",kh=".dropdown-menu",vs=`:not(${Sd})`,Ah='.list-group, .nav, [role="tablist"]',Th=".nav-item, .list-group-item",Ch=`.nav-link${vs}, .list-group-item${vs}, [role="tab"]${vs}`,Od='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',_s=`${Ch}, ${Od}`,$h=`.${Lo}[data-bs-toggle="tab"], .${Lo}[data-bs-toggle="pill"], .${Lo}[data-bs-toggle="list"]`;class gn extends Lr{constructor(e){super(e),this._parent=this._element.closest(Ah),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),V.on(this._element,bh,t=>this._keydown(t)))}static get NAME(){return fh}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),o=t?V.trigger(t,vh,{relatedTarget:e}):null;V.trigger(e,mh,{relatedTarget:t}).defaultPrevented||o&&o.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){if(!e)return;e.classList.add(Lo),this._activate(he.getElementFromSelector(e));const o=()=>{if(e.getAttribute("role")!=="tab"){e.classList.add(ps);return}e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),V.trigger(e,hh,{relatedTarget:t})};this._queueCallback(o,e,e.classList.contains(Al))}_deactivate(e,t){if(!e)return;e.classList.remove(Lo),e.blur(),this._deactivate(he.getElementFromSelector(e));const o=()=>{if(e.getAttribute("role")!=="tab"){e.classList.remove(ps);return}e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),V.trigger(e,_h,{relatedTarget:t})};this._queueCallback(o,e,e.classList.contains(Al))}_keydown(e){if(![yh,xl,xh,El,fs,kl].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter(n=>!bo(n));let o;if([fs,kl].includes(e.key))o=t[e.key===fs?0:t.length-1];else{const n=[xl,El].includes(e.key);o=aa(t,e.target,n,!0)}o&&(o.focus({preventScroll:!0}),gn.getOrCreateInstance(o).show())}_getChildren(){return he.find(_s,this._parent)}_getActiveElem(){return this._getChildren().find(e=>this._elemIsActive(e))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const o of t)this._setInitialAttributesOnChild(o)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),o=this._getOuterElement(e);e.setAttribute("aria-selected",t),o!==e&&this._setAttributeIfNotExists(o,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=he.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleDropDown(e,t){const o=this._getOuterElement(e);if(!o.classList.contains(Eh))return;const n=(s,a)=>{const u=he.findOne(s,o);u&&u.classList.toggle(a,t)};n(Sd,Lo),n(kh,ps),o.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,o){e.hasAttribute(t)||e.setAttribute(t,o)}_elemIsActive(e){return e.classList.contains(Lo)}_getInnerElement(e){return e.matches(_s)?e:he.findOne(_s,e)}_getOuterElement(e){return e.closest(Th)||e}static jQueryInterface(e){return this.each(function(){const t=gn.getOrCreateInstance(this);if(typeof e=="string"){if(t[e]===void 0||e.startsWith("_")||e==="constructor")throw new TypeError(`No method named "${e}"`);t[e]()}})}}V.on(document,gh,Od,function(r){["A","AREA"].includes(this.tagName)&&r.preventDefault(),!bo(this)&&gn.getOrCreateInstance(this).show()});V.on(window,wh,()=>{for(const r of he.find($h))gn.getOrCreateInstance(r)});Er(gn);const Sh="toast",Oh="bs.toast",To=`.${Oh}`,Nh=`mouseover${To}`,Dh=`mouseout${To}`,Lh=`focusin${To}`,Ih=`focusout${To}`,Ph=`hide${To}`,jh=`hidden${To}`,Mh=`show${To}`,Rh=`shown${To}`,Vh="fade",Tl="hide",vi="show",_i="showing",Gh={animation:"boolean",autohide:"boolean",delay:"number"},qh={animation:!0,autohide:!0,delay:5e3};class Fi extends Lr{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return qh}static get DefaultType(){return Gh}static get NAME(){return Sh}show(){if(V.trigger(this._element,Mh).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(Vh);const t=()=>{this._element.classList.remove(_i),V.trigger(this._element,Rh),this._maybeScheduleHide()};this._element.classList.remove(Tl),Xn(this._element),this._element.classList.add(vi,_i),this._queueCallback(t,this._element,this._config.animation)}hide(){if(!this.isShown()||V.trigger(this._element,Ph).defaultPrevented)return;const t=()=>{this._element.classList.add(Tl),this._element.classList.remove(_i,vi),V.trigger(this._element,jh)};this._element.classList.add(_i),this._queueCallback(t,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(vi),super.dispose()}isShown(){return this._element.classList.contains(vi)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=t;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=t;break}}if(t){this._clearTimeout();return}const o=e.relatedTarget;this._element===o||this._element.contains(o)||this._maybeScheduleHide()}_setListeners(){V.on(this._element,Nh,e=>this._onInteraction(e,!0)),V.on(this._element,Dh,e=>this._onInteraction(e,!1)),V.on(this._element,Lh,e=>this._onInteraction(e,!0)),V.on(this._element,Ih,e=>this._onInteraction(e,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each(function(){const t=Fi.getOrCreateInstance(this,e);if(typeof e=="string"){if(typeof t[e]>"u")throw new TypeError(`No method named "${e}"`);t[e](this)}})}}Vi(Fi);Er(Fi);let D=Eo({name:"",locationGroup:"",jobs:[],identifier:[],ace:[],discord:[],locked:!0,lockpick:!1,garage:!1,passcode:"",sound:"",sound_unlock:"",door_data:[],locationGroups:[],secret:!1,camera:!1,distance:2,auto_lock:null,keep_open:!1,items:[]});var Bh=j('');function Nd(r,e){kt(e,!0);const t=()=>Ve(te,"$alerts",o),[o,n]=Qt();let s=_t(e,"display",15);function a(B){s().delete.type=="door"?rt.send("deletedoor",e.doors[s().delete.door]):rt.send("delete_location_group_and_doors",{location_group:e.doors[s().delete.door].location_group}),t().push({message:`${window.locales.delete.alerts.success} ${s().delete.type}.`,type:"alert-success"}),le(te,t()),s(s().editing.state=!1,!0),s(s().delete.state=!1,!0),s(s().delete.door=null,!0),s(s().delete.name=null,!0),s(s().delete.type="door",!0),s().delete.callback&&s().delete.callback(!0)}let u;Dr(()=>{u=new Go(document.getElementsByClassName("modal")[0],{}),u.show()}),Ii(()=>{u.dispose()});var c=Bh(),l=d(c),p=d(l),h=d(p),g=d(h),_=d(g);_.nodeValue=`${window.locales.delete.notification??""} `;var m=f(_),x=d(m),b=f(h,2),y=d(b),R=f(d(y));R.nodeValue=` ${window.locales.delete.irreversible??""}`;var C=f(y,2),E=d(C),N=f(b,2),I=d(N);I.__click=a,I.textContent=window.locales.delete.yes;var q=f(I,2);q.__click=function(...B){e.click?.apply(this,B)},q.textContent=window.locales.delete.no,de(()=>{ce(x,`'${e.name??""}'`),ce(E,`${window.locales.delete.are_you_sure??""}
+ ${(s().delete.type=="door"?window.locales.delete.type[0]:window.locales.delete.type[1])??""}?`)}),k(r,c),At(),n()}Gt(["click"]);var Fh=j(' | | ',1),Hh=j(' | '),Wh=j(' | '),zh=j(' | | ',1),Kh=j(' | | | | | |
'),Yh=j(""),Uh=j(' | '),Jh=j(' | '),Qh=j(' | | ',1),Xh=j(' | | | | | |
'),Zh=j(""),eg=j(' '),tg=j('');function rg(r,e){kt(e,!0);const t=()=>Ve(mr,"$general",o),[o,n]=Qt(),s=[];let a,u=X(""),c,l=X(We([])),p=_t(e,"doors",15),h=_t(e,"display",15);function g(){clearTimeout(a),a=setTimeout(_,400)}function _(){setTimeout(()=>{if(i(l).length=0,T(l,i(l),!0),c=i(u).toLowerCase().trim(),c==""){T(x,0),H();return}for(let F=0;F{H(),h(h().delete.callback=null,!0)},!0);return}else{let _e=p().findIndex(ne=>ne.door_data[0].unique_id===pe.door_data[0].unique_id);h(h().delete.state=!0,!0),h(h().delete.door=_e,!0),h(h().delete.name=pe.door_name,!0),h(h().delete.type="door",!0),h(h().delete.callback=ne=>{H(),h(h().delete.callback=null,!0)},!0);return}}function U(F,pe){if(F!=-1){h(h().delete.state=!0,!0),h(h().delete.door=F,!0),h(h().delete.name=p()[F].door_name,!0),h(h().delete.type="group",!0),h(h().delete.callback=_e=>{H(),h(h().delete.callback=null,!0)},!0);return}else{let _e=p().findIndex(ne=>ne.door_data[0].unique_id===pe.door_data[0].unique_id);h(h().delete.state=!0,!0),h(h().delete.door=_e,!0),h(h().delete.name=pe.door_name,!0),h(h().delete.type="group",!0),h(h().delete.callback=ne=>{H(),h(h().delete.callback=null,!0)},!0);return}}function J(){h(h().delete.state=!1,!0),h(h().delete.door=-1,!0),h(h().delete.name="",!0),h(h().delete.type="door",!0)}function H(){if(i(l).length>0)if(b.length=0,T(y,Math.ceil(i(l).length/7),!0),i(y)>C){let F=!1,pe=1,_e=C;i(x)+3C?(b.push({number:1,index:0}),b.push({number:"...",index:-1}),pe=i(x)-C+3,F?_e=i(x)+2:_e=i(y)-1):i(x)+3>C&&(_e=i(x)+2);for(let ne=pe;ne<=_e;ne++)b.push({number:ne,index:ne-1});F?(b.push({number:"...",index:-1}),b.push({number:i(y),index:i(y)-1})):b.push({number:i(y),index:i(y)-1})}else for(let F=1;F<=i(y);F++)b.push({number:F,index:F-1});else if(b.length=0,T(R,p().length,!0),T(y,Math.ceil(p().length/7),!0),i(y)>C){let F=!1,pe=1,_e=C;i(x)+3C?(b.push({number:1,index:0}),b.push({number:"...",index:-1}),pe=i(x)-C+3,F?_e=i(x)+2:_e=i(y)-1):i(x)+3>C&&(_e=i(x)+2);for(let ne=pe;ne<=_e;ne++)b.push({number:ne,index:ne-1});F?(b.push({number:"...",index:-1}),b.push({number:i(y),index:i(y)-1})):b.push({number:i(y),index:i(y)-1})}else for(let F=1;F<=i(y);F++)b.push({number:F,index:F-1})}Dr(()=>{H()});var W=tg(),fe=d(W);{var be=F=>{Nd(F,{click:J,get name(){return h().delete.name},get display(){return h()},set display(pe){h(pe)},get doors(){return p()},set doors(pe){p(pe)}})};Y(fe,F=>{h().delete.state&&F(be)})}var Oe=f(fe,2),Ee=d(Oe);Ee.textContent=window.locales.control.search;var ee=f(Ee,4);ee.__input=g,Ae(ee,"placeholder",window.locales.control.search_placeholder);var ve=f(Oe,2),ue=d(ve),Te=d(ue);Te.__click=()=>{_()},Te.value=Te.__value=!0;var Se=f(Te,2);Se.textContent=window.locales.control.search_by_name;var ye=f(ue,2),xe=d(ye);xe.__click=()=>{_()},xe.value=xe.__value=!1;var $e=f(xe,2);$e.textContent=window.locales.control.search_by_group;var Le=f(ve,2),Q=f(d(Le),2),ie=d(Q),ge=d(ie),Ce=d(ge),Ie=d(Ce),ke=d(Ie),Re=f(Ie),A=d(Re),K=d(A);K.textContent=window.locales.control.number;var w=f(K);w.textContent=window.locales.control.group;var O=f(w);O.textContent=window.locales.control.name;var L=f(O);L.textContent=window.locales.control.lock;var S=f(L);S.textContent=window.locales.control.unlock;var z=f(S);z.textContent=window.locales.control.camera;var me=f(z);me.textContent=window.locales.control.visit;var Ne=f(me);{var Pe=F=>{var pe=Fh(),_e=re(pe);_e.textContent=window.locales.control.delete;var ne=f(_e,2);ne.textContent=window.locales.control.delete_group,k(F,pe)};Y(Ne,F=>{t().permissions&&F(Pe)})}var ze=f(Re);{var nt=F=>{var pe=Yh();He(pe,21,()=>i(l),ft,(_e,ne,De)=>{var Ue=qe(),Ze=re(Ue);{var ht=Fe=>{var et=Kh(),it=d(et),Ge=d(it);Ge.textContent=De+1;var st=f(it),dt=d(st),at=f(st),ut=d(at),M=f(at);M.__click=()=>{E(i(ne))};var Z=f(M);Z.__click=()=>{N(i(ne))};var G=f(Z);{var Be=je=>{var Me=Hh();Me.__click=()=>{I(i(ne))},k(je,Me)},Je=je=>{var Me=Wh();k(je,Me)};Y(G,je=>{i(ne).camera?je(Be):je(Je,!1)})}var ct=f(G);ct.__click=()=>{q(i(ne))};var Dt=f(ct);{var Ct=je=>{var Me=zh(),$t=re(Me);$t.__click=()=>{B(-1,i(ne))};var Ot=f($t,2);Ot.__click=()=>{U(-1,i(ne))},k(je,Me)};Y(Dt,je=>{t().permissions&&je(Ct)})}de(()=>{ce(dt,i(ne).location_group),ce(ut,i(ne).door_name)}),k(Fe,et)};Y(Ze,Fe=>{De>=i(x)*12&&De{var pe=Zh();He(pe,21,p,ft,(_e,ne,De)=>{var Ue=qe(),Ze=re(Ue);{var ht=Fe=>{var et=Xh(),it=d(et),Ge=d(it);Ge.textContent=De+1;var st=f(it),dt=d(st),at=f(st),ut=d(at),M=f(at);M.__click=()=>{E(i(ne))};var Z=f(M);Z.__click=()=>{N(i(ne))};var G=f(Z);{var Be=je=>{var Me=Uh();Me.__click=()=>{I(i(ne))},k(je,Me)},Je=je=>{var Me=Jh();k(je,Me)};Y(G,je=>{i(ne).camera?je(Be):je(Je,!1)})}var ct=f(G);ct.__click=()=>{q(i(ne))};var Dt=f(ct);{var Ct=je=>{var Me=Qh(),$t=re(Me);$t.__click=()=>{B(De)};var Ot=f($t,2);Ot.__click=()=>{U(De)},k(je,Me)};Y(Dt,je=>{t().permissions&&je(Ct)})}de(()=>{ce(dt,i(ne).location_group),ce(ut,i(ne).door_name)}),k(Fe,et)};Y(Ze,Fe=>{De>=i(x)*12&&De{i(l).length>0?F(nt):F(wt,!1)})}var yt=f(ie,2),xt=d(yt),Tt=d(xt),oe=d(Tt);oe.__click=()=>{i(x)-1<0||T(x,i(x)-1),H()};let we;var Ke=d(oe);Ke.textContent=window.locales.control.previous;var Xe=f(oe,2);He(Xe,17,()=>b,ft,(F,pe)=>{var _e=eg();_e.__click=Ze=>{i(pe).number!=-1&&T(x,i(pe).index,!0),H()};let ne;var De=d(_e),Ue=d(De);de(()=>{ne=pt(_e,1,`page-item rounded-0 ${i(pe).number==-1?"disabled":""}`,null,ne,{active:i(x)==i(pe).index}),ce(Ue,i(pe).number)}),k(F,_e)});var Ye=f(Xe,2);Ye.__click=()=>{i(x)+1==i(y)||T(x,i(x)+1),H()};let lt;var mt=d(Ye);mt.textContent=window.locales.control.next,de(()=>{ce(ke,`${window.locales.control.found[0]??""}
+ ${(i(l).length>0?i(l).length:i(R))??""}
+ ${window.locales.control.found[1]??""}`),we=pt(oe,1,"page-item rounded-0",null,we,{disabled:i(x)-1<0}),lt=pt(Ye,1,"page-item rounded-0",null,lt,{disabled:i(x)+1>=i(y)})}),tt(ee,()=>i(u),F=>T(u,F)),Hn(s,[],Te,()=>i(m),F=>T(m,F)),Hn(s,[],xe,()=>i(m),F=>T(m,F)),Yt(3,W,()=>kn,()=>({duration:100})),k(r,W),At(),n()}Gt(["input","click"]);function Dd(){return[...document.querySelectorAll(".dropdown-toggle")].map(t=>new Or(t))}const og="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let ng=(r=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(r|=0));for(;r--;)e+=og[t[r]&63];return e};function In(){return ng()}class ig{sounds=new Map;volume;constructor(e,t){e&&this.batchAdd(e),t?this.volume=t:this.volume=.5}add(e,t){let o=new Audio(t);this.sounds.set(e,o)}remove(e){this.sounds.delete(e)}batchAdd(e){for(let t=0;t{n===e&&(t=n)}),t){const o=this.sounds.get(e);o.pause(),o.currentTime=0,o.volume=this.volume,o.play().catch(n=>console.error(n))}else console.error("Sound does not exist.")}async stop(e){this.sounds.get(e).stop()}}let Is=Eo(["_notification.ogg","_key_press.ogg"]),io=Eo(new ig(["_notification.ogg","_key_press.ogg"],.5)),Vn=Eo(["Framework","Identifiers","AcePerms","Discord","Items"]);Su();function Ld(r){let e="";if(typeof r=="string"||typeof r=="number")e+=r;else if(typeof r=="object")if(Array.isArray(r))e=r.map(Ld).filter(Boolean).join(" ");else for(let t in r)r[t]&&(e&&(e+=" "),e+=t);return e}const sg=(...r)=>r.map(Ld).filter(Boolean).join(" ");function ag(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{const e=Math.random()*16|0;return(r==="x"?e:e&3|8).toString(16)})}var lg=j("");function cg(r,e){var t=lg(),o=d(t);zs(o,e,"default",{}),k(r,t)}var dg=j("");function Cl(r,e){const t=Ei(e,["children","$$slots","$$events","$$legacy"]),o=Ei(t,[]);kt(e,!1);let n=jr(),s;Dr(()=>{s=document.createElement("div"),document.body.appendChild(s),s.appendChild(i(n))}),Ii(()=>{s&&document.body.removeChild(s)}),$c();var a=dg();kc(a,()=>({...o}));var u=d(a);zs(u,e,"default",{}),Cc(a,c=>T(n,c),()=>i(n)),k(r,a),At()}const Id=Eo(ug());Id.subscribe(r=>fg(r));function ug(){const r=globalThis.document?.documentElement.getAttribute("data-bs-theme")||"light",e=typeof globalThis.window?.matchMedia=="function"?globalThis.window?.matchMedia("(prefers-color-scheme: dark)").matches:!1;return r==="dark"||r==="auto"&&e?"dark":"light"}function fg(r,e){let t=r;if(arguments.length===1){if(t=globalThis.document?.documentElement,!t)return;e=r,Id.update(()=>e)}t.setAttribute("data-bs-theme",e)}var pg=j('');function It(r,e){const t=Ei(e,["children","$$slots","$$events","$$legacy"]),o=Ei(t,["class","animation","content","container","id","isOpen","placement","target","theme","delay"]);kt(e,!1);const n=jr(),s=jr();let a=_t(e,"class",8,""),u=_t(e,"animation",8,!0),c=_t(e,"content",8,""),l=_t(e,"container",8,void 0),p=_t(e,"id",24,()=>`tooltip_${ag()}`),h=_t(e,"isOpen",12,!1),g=_t(e,"placement",8,"top"),_=_t(e,"target",8,""),m=_t(e,"theme",8,null),x=_t(e,"delay",8,0),b=jr(),y=jr(),R=jr(g()),C=jr(),E=jr(),N;const I={name:"checkPopperPlacement",enabled:!0,phase:"main",fn({state:be}){T(R,be.placement)}},q=()=>{clearTimeout(N),N=setTimeout(()=>h(!0),x())},B=()=>{clearTimeout(N),h(!1)};Dr(U),Ii(()=>{J(),clearTimeout(N)});function U(){if(_()==null||!_()){T(C,null);return}try{_()instanceof HTMLElement&&T(C,_())}catch{}if(i(C)==null)try{T(C,document.querySelector(`#${_()}`))}catch{}i(C)&&(i(C).addEventListener("mouseover",q),i(C).addEventListener("mouseleave",B),i(C).addEventListener("focus",q),i(C).addEventListener("blur",B))}function J(){i(C)&&(i(C).removeEventListener("mouseover",q),i(C).removeEventListener("mouseleave",B),i(C).removeEventListener("focus",q),i(C).removeEventListener("blur",B),i(C).removeAttribute("aria-describedby"))}Ko(()=>($r(h()),i(E),i(y),i(C),$r(g())),()=>{h()&&i(E)?T(y,Ri(i(C),i(E),{placement:g(),modifiers:[I]})):i(y)&&(i(y).destroy(),T(y,void 0))}),Ko(()=>$r(_()),()=>{_()&&(J(),U())}),Ko(()=>(i(C),$r(h()),$r(p())),()=>{i(C)&&(h()?i(C).setAttribute("aria-describedby",p()):i(C).removeAttribute("aria-describedby"))}),Ko(()=>i(R),()=>{i(R)==="left"?T(b,"start"):i(R)==="right"?T(b,"end"):T(b,i(R))}),Ko(()=>($r(a()),i(b),$r(u()),$r(h())),()=>{T(n,sg(a(),"tooltip",`bs-tooltip-${i(b)}`,u()?"fade":!1,h()?"show":!1))}),Ko(()=>($r(l()),Cl),()=>{T(s,l()==="inline"?cg:Cl)}),Xu(),$c();var H=qe(),W=re(H);{var fe=be=>{var Oe=qe(),Ee=re(Oe);mf(Ee,()=>i(s),(ee,ve)=>{ve(ee,{children:(ue,Te)=>{var Se=pg();kc(Se,()=>({...o,class:i(n),id:p(),role:"tooltip","data-bs-theme":m(),"data-bs-delay":x(),"x-placement":i(R)}));var ye=f(d(Se),2),xe=d(ye);{var $e=Q=>{var ie=gt();de(()=>ce(ie,c())),k(Q,ie)},Le=Q=>{var ie=qe(),ge=re(ie);zs(ge,e,"default",{}),k(Q,ie)};Y(xe,Q=>{c()?Q($e):Q(Le,!1)})}Cc(Se,Q=>T(E,Q),()=>i(E)),k(ue,Se)},$$slots:{default:!0}})}),k(be,Oe)};Y(W,be=>{h()&&be(fe)})}k(r,H),At()}var vg=j(''),_g=j(' '),mg=j(' '),hg=j(' '),gg=j('
',1),bg=j(' '),wg=j('
',1),yg=j(' '),xg=j('
',1),Eg=j(' '),kg=j('
',1),Ag=j(' ',1),Tg=j(' '),Cg=j(' ',1),$g=j(' '),Sg=j(' '),Og=j('');function Ng(r,e){kt(e,!0);const t=()=>Ve(Vn,"$permissionsList",u),o=()=>Ve(D,"$createStore",u),n=()=>Ve(te,"$alerts",u),s=()=>Ve(io,"$soundController",u),a=()=>Ve(Is,"$sounds",u),[u,c]=Qt();let l=X(""),p=X(We(t()[0])),h=X(""),g=X(0),_=X(""),m=X(""),x=X(""),b=We({name:"",destroy:!1,amount:1});Dr(async()=>{Dd()});function y(P){return function(se){P&&P.call(this,se),P=null}}function R(P){for(let se=0;se{rt.send("delete_location_group",{location_group:o().locationGroups[se].name})},200)}}function C(){if(i(l).length!=0){for(let P=0;P{rt.send("create_location_group",{location_group:i(l)})},200)}}function E(P){for(let se=0;sewindow.config.identifier_max_length||i(_).length==0)&&(n().push({message:window.locales.create.form.alerts.identifier_too_long,type:"alert-danger"}),le(te,n()),s().play("_notification.ogg"),P=!0),!P&&(o().identifier.push(i(_)),$(D,v(o).identifier=o().identifier,v(o)))}function I(){let P=!1;(i(h).length>window.config.job_name_max_length||i(h).length==0)&&(n().push({message:window.locales.create.form.alerts.job_name_too_long,type:"alert-danger"}),le(te,n()),s().play("_notification.ogg"),P=!0),i(h).match(window.config.job_name_match)&&(n().push({message:window.locales.create.form.alerts.job_name_out_of_scope,type:"alert-danger"}),le(te,n()),s().play("_notification.ogg"),P=!0),Number.isInteger(i(g))||(n().push({message:window.locales.create.form.alerts.job_grade_nan,type:"alert-danger"}),le(te,n()),s().play("_notification.ogg"),P=!0),(i(g)<0||i(g)>window.config.job_grade_max)&&(n().push({message:window.locales.create.form.alerts.job_grade_too_large,type:"alert-danger"}),le(te,n()),s().play("_notification.ogg"),P=!0),!P&&(o().jobs.push({name:i(h).toLowerCase(),grade:i(g)}),$(D,v(o).jobs=o().jobs,v(o)))}function q(){o().ace.push(i(m)),$(D,v(o).ace=o().ace,v(o))}function B(P){o().ace.splice(P,1),$(D,v(o).ace=o().ace,v(o))}function U(){o().discord.push(i(x)),$(D,v(o).discord=o().discord,v(o))}function J(P){o().discord.splice(P,1),$(D,v(o).discord=o().discord,v(o))}function H(){o().items.push({name:b.name,destroy:b.destroy,amount:b.amount}),$(D,v(o).items=o().items,v(o)),b.name="",b.destroy=!1,b.amount=1}function W(P){const se=P.target;let ae=parseInt(se.value);isNaN(ae)||ae<1?ae=1:ae>1e3&&(ae=1e3),b.amount=ae}function fe(P){o().items.splice(P,1),$(D,v(o).items=o().items,v(o))}function be(P,se){se?$(D,v(o).sound_unlock=a()[P],v(o)):$(D,v(o).sound=a()[P],v(o))}function Oe(P){s().play(P)}function Ee(P){o().jobs.splice(P,1),$(D,v(o).jobs=o().jobs,v(o))}function ee(P){o().identifier.splice(P,1),$(D,v(o).identifier=o().identifier,v(o))}var ve=Og(),ue=d(ve),Te=d(ue),Se=d(Te),ye=d(Se);ye.nodeValue=`${window.locales.create.form.door_name??""} `;var xe=f(ye,3);It(xe,{target:"tooltip-door-name",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.door_name,k(P,ae)},$$slots:{default:!0}});var $e=f(Se,2),Le=f(Te,2),Q=d(Le),ie=d(Q);ie.nodeValue=`${window.locales.create.form.location_group??""} `;var ge=f(ie,3);It(ge,{target:"tooltip-location-group",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.location_group,k(P,ae)},$$slots:{default:!0}});var Ce=f(Q,2),Ie=d(Ce),ke=d(Ie),Re=f(Ie,2),A=d(Re),K=d(A),w=d(K);Ae(w,"placeholder",window.locales.create.form.helpers.location_group_new);var O=f(w,2);O.__click=C;var L=f(A,4);{var S=P=>{var se=vg();se.textContent=window.locales.create.form.helpers.location_group_none,k(P,se)},z=P=>{var se=qe(),ae=re(se);He(ae,3,()=>o().locationGroups,Nt=>Nt.id,(Nt,Bt)=>{var Et=_g();Et.__click=()=>{E(i(Bt).id)};var Ft=d(Et),Ht=d(Ft),zr=f(Ht);zr.__click=zo=>{y(R(i(Bt).id))},de(()=>ce(Ht,`${i(Bt).name??""} `)),k(Nt,Et)}),k(P,se)};Y(L,P=>{o().locationGroups.length==0?P(S):P(z,!1)})}var me=f(ue,2),Ne=d(me);Ne.textContent=window.locales.create.form.permissions;var Pe=f(Ne,2);He(Pe,5,t,ft,(P,se)=>{var ae=mg();ae.__click=()=>{T(p,i(se),!0)};var Nt=d(ae),Bt=d(Nt);de(Et=>{pt(Nt,1,`nav-link py-1 ${i(p)==i(se)?"active":""}`,"svelte-64rodn"),ce(Bt,Et)},[()=>window.locales.permissions[i(se).toLowerCase()]]),k(P,ae)});var ze=f(Pe,2),nt=d(ze);{var wt=P=>{var se=gg(),ae=re(se),Nt=d(ae);Nt.nodeValue=`${window.locales.create.form.permissions??""} `;var Bt=f(Nt,3);It(Bt,{target:"tooltip-job",children:(Lt,ir)=>{var fr=gt();fr.nodeValue=window.locales.create.form.helpers.job,k(Lt,fr)},$$slots:{default:!0}});var Et=f(ae,2),Ft=d(Et);Ae(Ft,"placeholder",window.locales.create.form.job[0]);var Ht=f(Ft,2);Ae(Ht,"placeholder",window.locales.create.form.job[1]);var zr=f(Ht,2);zr.__click=I,zr.textContent=window.locales.create.form.add;var zo=f(Et,2);He(zo,5,()=>o().jobs,ft,(Lt,ir,fr)=>{var Ir=hg();Ir.__click=Kr=>{Ee(fr)};var Ar=d(Ir),Wt=d(Ar),qt=d(Wt),sr=f(Wt);de(()=>{ce(qt,i(ir).name),ce(sr,` - ${i(ir).grade??""} `)}),k(Lt,Ir)}),tt(Ft,()=>i(h),Lt=>T(h,Lt)),tt(Ht,()=>i(g),Lt=>T(g,Lt)),k(P,se)},yt=P=>{var se=qe(),ae=re(se);{var Nt=Et=>{var Ft=wg(),Ht=re(Ft),zr=d(Ht);zr.nodeValue=`${window.locales.create.form.identifier??""} `;var zo=f(zr,3);It(zo,{target:"tooltip-identifier",children:(Ar,Wt)=>{var qt=gt();qt.nodeValue=window.locales.create.form.helpers.identifier,k(Ar,qt)},$$slots:{default:!0}});var Lt=f(Ht,2),ir=d(Lt);Ae(ir,"placeholder",window.locales.create.form.identifier);var fr=f(ir,2);fr.__click=N,fr.textContent=window.locales.create.form.add;var Ir=f(Lt,2);He(Ir,5,()=>o().identifier,ft,(Ar,Wt,qt)=>{var sr=bg();sr.__click=zt=>{ee(qt)};var Kr=d(sr),Tr=d(Kr),Xt=d(Tr);de(()=>ce(Xt,i(Wt))),k(Ar,sr)}),tt(ir,()=>i(_),Ar=>T(_,Ar)),k(Et,Ft)},Bt=Et=>{var Ft=qe(),Ht=re(Ft);{var zr=Lt=>{var ir=xg(),fr=re(ir),Ir=d(fr);Ir.nodeValue=`${window.locales.create.form.ace??""} `;var Ar=f(Ir,3);It(Ar,{target:"tooltip-ace",children:(Tr,Xt)=>{var zt=gt();zt.nodeValue=window.locales.create.form.helpers.ace,k(Tr,zt)},$$slots:{default:!0}});var Wt=f(fr,2),qt=d(Wt);Ae(qt,"placeholder",window.locales.create.form.ace_placeholder);var sr=f(qt,2);sr.__click=q,sr.textContent=window.locales.create.form.add;var Kr=f(Wt,2);He(Kr,5,()=>o().ace,ft,(Tr,Xt,zt)=>{var pr=yg();pr.__click=vr=>{B(zt)};var Yr=d(pr),Cr=d(Yr),Ur=d(Cr);de(()=>ce(Ur,i(Xt))),k(Tr,pr)}),tt(qt,()=>i(m),Tr=>T(m,Tr)),k(Lt,ir)},zo=Lt=>{var ir=qe(),fr=re(ir);{var Ir=Wt=>{var qt=kg(),sr=re(qt),Kr=d(sr);Kr.nodeValue=`${window.locales.create.form.discord??""} `;var Tr=f(Kr,3);It(Tr,{target:"tooltip-discord",children:(Cr,Ur)=>{var vr=gt();vr.nodeValue=window.locales.create.form.helpers.discord,k(Cr,vr)},$$slots:{default:!0}});var Xt=f(sr,2),zt=d(Xt);Ae(zt,"placeholder",window.locales.create.form.discord_placeholder);var pr=f(zt,2);pr.__click=U,pr.textContent=window.locales.create.form.add;var Yr=f(Xt,2);He(Yr,5,()=>o().discord,ft,(Cr,Ur,vr)=>{var Co=Eg();Co.__click=ya=>{J(vr)};var $o=d(Co),zi=d($o),ni=d(zi);de(()=>ce(ni,i(Ur))),k(Cr,Co)}),tt(zt,()=>i(x),Cr=>T(x,Cr)),k(Wt,qt)},Ar=Wt=>{var qt=qe(),sr=re(qt);{var Kr=Xt=>{var zt=Ag(),pr=re(zt),Yr=d(pr);Yr.nodeValue=`${window.locales.create.form.passcode??""} `;var Cr=f(Yr,3);It(Cr,{target:"tooltip-passcode",children:(vr,Co)=>{var $o=gt();$o.nodeValue=window.locales.create.form.helpers.passcode,k(vr,$o)},$$slots:{default:!0}});var Ur=f(pr,2);tt(Ur,()=>o().passcode,vr=>$(D,v(o).passcode=vr,v(o))),k(Xt,zt)},Tr=Xt=>{var zt=Cg(),pr=re(zt),Yr=d(pr);Yr.nodeValue=`${window.locales.create.form.item??""} `;var Cr=f(Yr,3);It(Cr,{target:"tooltip-item",children:(So,$n)=>{var ii=gt();ii.nodeValue=window.locales.create.form.helpers.item,k(So,ii)},$$slots:{default:!0}});var Ur=f(pr,2),vr=d(Ur),Co=d(vr),$o=d(Co),zi=f($o,2);zi.textContent=window.locales.create.form.destroy;var ni=f(Co,2);Ae(ni,"placeholder",window.locales.create.form.item_placeholder);var ya=f(vr,2),xa=d(ya);xa.textContent=window.locales.create.form.amount_required;var Ea=f(xa,2);Ea.__input=W;var Wd=f(Ur,2),ka=d(Wd);He(ka,5,()=>o().items,ft,(So,$n,ii)=>{var Ki=Tg();Ki.__click=mw=>{fe(ii)};var Kd=d(Ki),Yd=d(Kd),Ta=d(Yd),Ud=f(Ta);xo(Ud,()=>i($n).destroy?'':""),de(()=>ce(Ta,`${i($n).amount?i($n).amount+" x ":""}
+ ${i($n).name??""} `)),k(So,Ki)});var Aa=f(ka,2);Aa.__click=H;var zd=f(d(Aa));zd.nodeValue=` ${window.locales.create.form.add??""}`,de(()=>fn(Ea,b.amount)),Oo($o,()=>b.destroy,So=>b.destroy=So),tt(ni,()=>b.name,So=>b.name=So),k(Xt,zt)};Y(sr,Xt=>{i(p)=="Passcode"?Xt(Kr):Xt(Tr,!1)},!0)}k(Wt,qt)};Y(fr,Wt=>{i(p)=="Discord"?Wt(Ir):Wt(Ar,!1)},!0)}k(Lt,ir)};Y(Ht,Lt=>{i(p)=="AcePerms"?Lt(zr):Lt(zo,!1)},!0)}k(Et,Ft)};Y(ae,Et=>{i(p)=="Identifiers"?Et(Nt):Et(Bt,!1)},!0)}k(P,se)};Y(nt,P=>{i(p)=="Framework"?P(wt):P(yt,!1)})}var xt=f(me,2),Tt=d(xt),oe=d(Tt),we=d(oe);we.nodeValue=`${window.locales.create.form.autolock??""} `;var Ke=f(we,3);It(Ke,{target:"tooltip-autolock",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.autolock,k(P,ae)},$$slots:{default:!0}});var Xe=f(oe,2),Ye=f(Tt,2),lt=d(Ye),mt=d(lt);mt.nodeValue=`${window.locales.create.form.sound_unlock??""} `;var F=f(mt,3);It(F,{target:"tooltip-sound-unlock",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.sound_unlock,k(P,ae)},$$slots:{default:!0}});var pe=f(lt,2),_e=d(pe),ne=d(_e);{var De=P=>{var se=gt();se.nodeValue=window.locales.create.form.helpers.sound_select,k(P,se)},Ue=P=>{var se=gt();de(()=>ce(se,o().sound_unlock)),k(P,se)};Y(ne,P=>{o().sound_unlock.length==0?P(De):P(Ue,!1)})}var Ze=f(_e,2);He(Ze,7,a,P=>P,(P,se,ae)=>{var Nt=$g();Nt.__click=()=>{be(i(ae),!0)};var Bt=d(Nt),Et=d(Bt),Ft=f(Et);Ft.__click=Ht=>{Ht.preventDefault(),Oe(i(se))},de(()=>{Ae(Bt,"id",i(se)+i(ae)),ce(Et,`${i(se)??""} `)}),k(P,Nt)});var ht=f(Ye,2),Fe=d(ht),et=d(Fe);et.nodeValue=`${window.locales.create.form.sound??""} `;var it=f(et,3);It(it,{target:"tooltip-sound",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.sound,k(P,ae)},$$slots:{default:!0}});var Ge=f(Fe,2),st=d(Ge),dt=d(st);{var at=P=>{var se=gt();se.nodeValue=window.locales.create.form.helpers.sound_select,k(P,se)},ut=P=>{var se=gt();de(()=>ce(se,o().sound)),k(P,se)};Y(dt,P=>{o().sound.length==0?P(at):P(ut,!1)})}var M=f(st,2);He(M,7,a,P=>P,(P,se,ae)=>{var Nt=Sg();Nt.__click=()=>{be(i(ae))};var Bt=d(Nt),Et=d(Bt),Ft=f(Et);Ft.__click=Ht=>{Ht.preventDefault(),Oe(i(se))},de(()=>{Ae(Bt,"id",i(se)+i(ae)),ce(Et,`${i(se)??""} `)}),k(P,Nt)});var Z=f(xt,2),G=d(Z),Be=d(G),Je=d(Be),ct=f(Je,2),Dt=d(ct);Dt.nodeValue=`${window.locales.create.form.locked??""} `;var Ct=f(Dt,3);It(Ct,{target:"tooltip-locked",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.locked,k(P,ae)},$$slots:{default:!0}});var je=f(G,2),Me=d(je),$t=d(Me),Ot=f($t,2),or=d(Ot);or.nodeValue=`${window.locales.create.form.lockpick??""} `;var kr=f(or,3);It(kr,{target:"tooltip-lockpick",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.lockpick,k(P,ae)},$$slots:{default:!0}});var nr=f(je,2),lo=d(nr),co=d(lo),Wr=f(co,2),Wo=d(Wr);Wo.nodeValue=`${window.locales.create.form.secret??""} `;var oi=f(Wo,3);It(oi,{target:"tooltip-secret",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.secret,k(P,ae)},$$slots:{default:!0}});var Wi=f(nr,2),fa=d(Wi),pa=d(fa),Pd=f(pa,2),va=d(Pd);va.nodeValue=`${window.locales.create.form.camera??""} `;var jd=f(va,3);It(jd,{target:"tooltip-camera",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.camera,k(P,ae)},$$slots:{default:!0}});var Md=f(Z,2),_a=d(Md),Rd=d(_a),ma=d(Rd),Vd=f(ma,2),ha=d(Vd);ha.nodeValue=`${window.locales.create.form.keep_open??""} `;var Gd=f(ha,3);It(Gd,{target:"tooltip-keep-open",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.keep_open,k(P,ae)},$$slots:{default:!0}});var qd=f(_a,2),ga=d(qd),ba=d(ga);ba.nodeValue=`${window.locales.create.form.distance??""} - `;var wa=f(ba),Bd=d(wa),Fd=f(wa,4);It(Fd,{target:"tooltip-distance",children:(P,se)=>{var ae=gt();ae.nodeValue=window.locales.create.form.helpers.distance,k(P,ae)},$$slots:{default:!0}});var Hd=f(ga,2);de(()=>{ce(ke,o().locationGroup==""?window.locales.create.form.helpers.location_group_select:o().locationGroup),ce(Bd,o().distance)}),tt($e,()=>o().name,P=>$(D,v(o).name=P,v(o))),tt(w,()=>i(l),P=>T(l,P)),tt(Xe,()=>o().auto_lock,P=>$(D,v(o).auto_lock=P,v(o))),Oo(Je,()=>o().locked,P=>$(D,v(o).locked=P,v(o))),Oo($t,()=>o().lockpick,P=>$(D,v(o).lockpick=P,v(o))),Oo(co,()=>o().secret,P=>$(D,v(o).secret=P,v(o))),Oo(pa,()=>o().camera,P=>$(D,v(o).camera=P,v(o))),Oo(ma,()=>o().keep_open,P=>$(D,v(o).keep_open=P,v(o))),tt(Hd,()=>o().distance,P=>$(D,v(o).distance=P,v(o))),k(r,ve),At(),c()}Gt(["click","input"]);let St=Eo({locationGroup:"",jobs:[],identifier:[],ace:[],discord:[],items:[],locked:!0,lockpick:!1,garage:!1,passcode:"",sound:"",sound_unlock:"",secret:!1,camera:!1,hasData:!1,distance:2,auto_lock:"",keep_open:!1});var Dg=j('
'),Lg=j(''),Ig=j('
'),Pg=j('
'),jg=j(' ',1),Mg=j(''),Rg=j(' ',1),Vg=j(''),Gg=j(''),qg=j(' '),Bg=j('');function Fg(r,e){kt(e,!0);const t=()=>Ve(D,"$createStore",a),o=()=>Ve(te,"$alerts",a),n=()=>Ve(io,"$soundController",a),s=()=>Ve(St,"$copyStore",a),[a,u]=Qt();let c=_t(e,"doors",15),l=_t(e,"display",15);function p(M){rt.send("select_doors",{action:1,door_count:M==1?1:M==2?2:1,door_type:M==1?"single":M==2?"double":M==3?"garage":M==4?"gates":"double_gate"}),l(l().status=!1,!0),l(l().creating=!0,!0),l(l().door_count=M,!0),l(l().editing.state=!1,!0),l(l().editing.door=-1,!0),l(l().selection_icon=!0,!0)}function h(){l(l().status=!1,!0),l(l().creating=!1,!0),l(l().editing.selection=!0,!0),l(l().door_count=3,!0),l(l().editing.state=!1,!0),l(l().editing.door=-1,!0),l(l().selection_icon=!0,!0),rt.send("select_doors",{action:1,door_count:1,door_type:"edit"})}let g,_="",m=X(void 0),x=We([]),b=X(0);function y(){clearTimeout(g),g=setTimeout(R,500)}function R(){if(x.length=0,T(m,_,!0),T(b,0),i(m)==""){fe();return}for(let M=0;M{Dd(),fe()});function C(M){let Z=!1;if((t().name.length>window.config.door_name_max_length||t().name.length<=0)&&(o().push({message:window.locales.create.alerts.name_too_long,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"),Z=!0),t().name.match(window.config.door_name_match)&&(o().push({message:window.locales.create.alerts.name_out_of_scope,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"),Z=!0),t().locationGroup.length==0&&(o().push({message:window.locales.create.alerts.location_group_not_set,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"),Z=!0),t().passcode===""?t().jobs.length+t().identifier.length+t().ace.length+t().discord.length==0&&(o().push({message:window.locales.create.alerts.permissions_not_set,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg")):(t().passcode&&t().passcode.length!=0&&t().passcode.match(/[^0-9]/g)&&(o().push({message:window.locales.create.alerts.passcode_out_of_scope,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"),Z=!0),t().passcode&&t().passcode.length>window.config.door_passcode_max_length&&(o().push({message:window.locales.create.alerts.passcode_length_bad,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"),Z=!0)),t().auto_lock!=null&&t().auto_lock.toString().match(/[^0-9]/g)?(o().push({message:window.locales.create.alerts.auto_lock_nan,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"),Z=!0):t().auto_lock!=""&&t().auto_lock>window.config.auto_lock_max_time&&(o().push({message:window.locales.create.alerts.auto_lock_too_large[0]+window.config.auto_lock_max_time+window.locales.create.alerts.auto_lock_too_large[1],type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"),Z=!0),(t().distance<1||t().distance>10)&&$(D,v(t).distance=2,v(t)),Z)return;let G={perms:{job:t().jobs,identifier:t().identifier,ace:t().ace,discord:t().discord,items:t().items,passcode:t().passcode},passcode:t().passcode?t().passcode:null,lockpickable:t().lockpick,door_name:t().name,location_group:t().locationGroup,door_sound:t().sound,door_unlock_sound:t().sound_unlock,distance:t().distance,state:!1,default_state:t().locked,door_type:l().door_count==1?"single":l().door_count==2?"double":l().door_count==3?"garage":"gates",door_data:t().door_data,secret:t().secret,camera:t().camera,auto_lock:t().auto_lock==""?null:t().auto_lock,keep_open:t().keep_open,items:t().items};l().editing.state?(c(c()[l().editing.door].perms=G.perms,!0),c(c()[l().editing.door].passcode=G.passcode,!0),c(c()[l().editing.door].lockpickable=G.lockpickable,!0),c(c()[l().editing.door].door_name=G.door_name,!0),c(c()[l().editing.door].location_group=G.location_group,!0),c(c()[l().editing.door].door_sound=G.door_sound,!0),c(c()[l().editing.door].door_unlock_sound=G.door_unlock_sound,!0),c(c()[l().editing.door].distance=G.distance,!0),c(c()[l().editing.door].state=G.state,!0),c(c()[l().editing.door].default_state=G.default_state,!0),c(c()[l().editing.door].door_type=G.door_type,!0),c(c()[l().editing.door].door_data=G.door_data,!0),c(c()[l().editing.door].secret=G.secret,!0),c(c()[l().editing.door].camera=G.camera,!0),c(c()[l().editing.door].auto_lock=G.auto_lock,!0),c(c()[l().editing.door].keep_open=G.keep_open,!0),c(c()[l().editing.door].items=G.items,!0),rt.send("updatedoor",c()[l().editing.door]),o().push({message:window.locales.create.alerts.door_updated,type:"alert-success"}),le(te,o()),n().play("_notification.ogg")):(rt.send("create_door",G),o().push({message:window.locales.create.alerts.door_created,type:"alert-success"}),le(te,o()),n().play("_notification.ogg")),E(),l(l().creating=!1,!0),l(l().doors_selected=!1,!0),l(l().editing.state=!1,!0)}function E(M){$(D,v(t).name="",v(t)),$(D,v(t).locationGroup="",v(t)),$(D,v(t).jobs=[],v(t)),$(D,v(t).identifier=[],v(t)),$(D,v(t).ace=[],v(t)),$(D,v(t).discord=[],v(t)),$(D,v(t).locked=!0,v(t)),$(D,v(t).lockpick=!1,v(t)),$(D,v(t).garage=!1,v(t)),$(D,v(t).passcode="",v(t)),$(D,v(t).sound="",v(t)),$(D,v(t).sound_unlock="",v(t)),$(D,v(t).door_data=[],v(t)),$(D,v(t).secret=!1,v(t)),$(D,v(t).camera=!1,v(t)),$(D,v(t).distance=2,v(t)),$(D,v(t).auto_lock="",v(t)),$(D,v(t).keep_open=!1,v(t)),$(D,v(t).items=[],v(t))}function N(M,Z){let G=M==-1?Z:c()[M];G&&($(D,v(t).name=G.door_name,v(t)),$(D,v(t).locationGroup=G.location_group,v(t)),$(D,v(t).jobs=G.perms.job?G.perms.job:[],v(t)),$(D,v(t).identifier=G.perms.identifier?G.perms.identifier:[],v(t)),$(D,v(t).ace=G.perms.ace?G.perms.ace:[],v(t)),$(D,v(t).discord=G.perms.discord?G.perms.discord:[],v(t)),$(D,v(t).items=G.perms.items?G.perms.items:[],v(t)),$(D,v(t).locked=G.default_state,v(t)),$(D,v(t).lockpick=G.lockpickable,v(t)),$(D,v(t).passcode=G.passcode||G.perms.passcode||"",v(t)),$(D,v(t).sound=G.door_sound,v(t)),$(D,v(t).sound_unlock=G.door_unlock_sound?G.door_unlock_sound:"",v(t)),$(D,v(t).door_data=G.door_data,v(t)),$(D,v(t).secret=G.secret,v(t)),$(D,v(t).camera=G.camera,v(t)),$(D,v(t).distance=G.distance,v(t)),$(D,v(t).auto_lock=G.auto_lock,v(t)),$(D,v(t).keep_open=G.keep_open?G.keep_open:!1,v(t)),l(l().editing.state=!0,!0),l(l().editing.door=M==-1?c().findIndex(Be=>Be.unique_id===Z.unique_id):M,!0))}function I(M){if(l().editing.state)l(l().delete.state=!0,!0),l(l().delete.door=l().editing.door,!0),l(l().delete.name=c()[l().editing.door].door_name,!0),l(l().delete.type="door",!0);else return}function q(M){E(),l(l().doors_data=null,!0),l(l().editing.door=-1,!0),l(l().creating=!1,!0),l(l().doors_selected=!1,!0),l(l().editing.state=!1,!0),l(l())}function B(M){$(St,v(s).locationGroup=t().locationGroup,v(s)),$(St,v(s).jobs=t().jobs,v(s)),$(St,v(s).identifier=t().identifier,v(s)),$(St,v(s).ace=t().ace,v(s)),$(St,v(s).discord=t().discord,v(s)),$(St,v(s).items=t().items,v(s)),$(St,v(s).locked=t().locked,v(s)),$(St,v(s).lockpick=t().lockpick,v(s)),$(St,v(s).garage=t().garage,v(s)),$(St,v(s).passcode=t().passcode,v(s)),$(St,v(s).sound=t().sound,v(s)),$(St,v(s).sound_unlock=t().sound_unlock,v(s)),$(St,v(s).secret=t().secret,v(s)),$(St,v(s).camera=t().camera,v(s)),$(St,v(s).distance=t().distance,v(s)),$(St,v(s).auto_lock=t().auto_lock,v(s)),$(St,v(s).keep_open=t().keep_open,v(s)),$(St,v(s).hasData=!0,v(s)),le(St,s())}function U(M){s().hasData&&($(D,v(t).locationGroup=s().locationGroup,v(t)),$(D,v(t).jobs=s().jobs,v(t)),$(D,v(t).identifier=s().identifier,v(t)),$(D,v(t).ace=s().ace,v(t)),$(D,v(t).discord=s().discord,v(t)),$(D,v(t).items=s().items,v(t)),$(D,v(t).locked=s().locked,v(t)),$(D,v(t).lockpick=s().lockpick,v(t)),$(D,v(t).garage=s().garage,v(t)),$(D,v(t).passcode=s().passcode,v(t)),$(D,v(t).sound=s().sound,v(t)),$(D,v(t).sound_unlock=s().sound_unlock,v(t)),$(D,v(t).secret=s().secret,v(t)),$(D,v(t).camera=s().camera,v(t)),$(D,v(t).distance=s().distance,v(t)),$(D,v(t).auto_lock=s().auto_lock,v(t)),$(D,v(t).keep_open=s().keep_open,v(t)))}const J=5;let H=We([]),W=X(0);function fe(){if(x.length>0)if(H.length=0,T(W,Math.ceil(x.length/12),!0),i(W)>J){let M=!1,Z=1,G=J;i(b)+3J?(H.push({number:1,index:0}),H.push({number:"...",index:-1}),Z=i(b)-J+3,M?G=i(b)+2:G=i(W)-1):i(b)+3>J&&(G=i(b)+2);for(let Be=Z;Be<=G;Be++)H.push({number:Be,index:Be-1});M?(H.push({number:"...",index:-1}),H.push({number:i(W),index:i(W)-1})):H.push({number:i(W),index:i(W)-1})}else for(let M=1;M<=i(W);M++)H.push({number:M,index:M-1});else if(H.length=0,T(W,Math.ceil(c().length/12),!0),i(W)>J){let M=!1,Z=1,G=J;i(b)+3J?(H.push({number:1,index:0}),H.push({number:"...",index:-1}),Z=i(b)-J+3,M?G=i(b)+2:G=i(W)-1):i(b)+3>J&&(G=i(b)+2);for(let Be=Z;Be<=G;Be++)H.push({number:Be,index:Be-1});M?(H.push({number:"...",index:-1}),H.push({number:i(W),index:i(W)-1})):H.push({number:i(W),index:i(W)-1})}else for(let M=1;M<=i(W);M++)H.push({number:M,index:M-1})}var be=Bg(),Oe=d(be),Ee=d(Oe),ee=d(Ee),ve=d(ee);{var ue=M=>{var Z=Dg(),G=d(Z);de(()=>ce(G,`${window.locales.create.state_editing??""}
+ ${c()[l().editing.door].door_name??""}`)),k(M,Z)},Te=M=>{var Z=Lg();Z.textContent=window.locales.create.state_create,k(M,Z)};Y(ve,M=>{l().editing.state?M(ue):M(Te,!1)})}var Se=f(ve,2);{var ye=M=>{var Z=Ig(),G=d(Z);G.__click=B;var Be=f(d(G));Be.nodeValue=` ${window.locales.create.copy??""}`;var Je=f(G,2);Je.__click=U;var ct=f(d(Je));ct.nodeValue=` ${window.locales.create.paste??""}`,de(()=>Je.disabled=!s().hasData),k(M,Z)};Y(Se,M=>{(l().editing.state||l().doors_selected)&&M(ye)})}var xe=f(Ee,2),$e=d(xe);{var Le=M=>{Ng(M,{get doors(){return c()}})},Q=M=>{var Z=Pg(),G=d(Z);G.textContent=window.locales.create.select_a_door,k(M,Z)};Y($e,M=>{l().doors_selected||l().editing.state?M(Le):M(Q,!1)})}var ie=f(xe,2),ge=d(ie),Ce=d(ge),Ie=d(Ce),ke=d(Ie),Re=f(d(ke));Re.nodeValue=` ${window.locales.create.door_selection??""}`;var A=f(ke,2),K=d(A),w=d(K);w.textContent=window.locales.create.creating;var O=f(K,2);O.__click=()=>{p(1)};var L=d(O);L.textContent=window.locales.create.door_single;var S=f(O,2);S.__click=()=>{p(2)};var z=d(S);z.textContent=window.locales.create.door_double;var me=f(S,2);me.__click=()=>{p(3)};var Ne=d(me);Ne.textContent=window.locales.create.door_garage;var Pe=f(me,2);Pe.__click=()=>{p(4)};var ze=d(Pe);ze.textContent=window.locales.create.door_gate;var nt=f(Pe,2);nt.__click=()=>{p(5)};var wt=d(nt);wt.textContent=window.locales.create.door_double_gate;var yt=f(nt,2),xt=d(yt);xt.textContent=window.locales.create.state_editing;var Tt=f(yt,4);Tt.__click=h;var oe=d(Tt),we=f(d(oe));we.nodeValue=` ${window.locales.create.door_edit??""}`;var Ke=f(Ce,2),Xe=d(Ke);{var Ye=M=>{var Z=Rg(),G=re(Z);G.__click=C;var Be=f(d(G)),Je=f(G,2);{var ct=Ct=>{var je=jg(),Me=re(je);Me.__click=I;var $t=f(d(Me));$t.nodeValue=` ${window.locales.create.button_delete??""}`;var Ot=f(Me,2);Ot.__click=q;var or=f(d(Ot));or.nodeValue=` ${window.locales.create.button_cancel??""}`,k(Ct,je)},Dt=Ct=>{var je=Mg();je.__click=E;var Me=f(d(je));Me.nodeValue=` ${window.locales.create.button_clear??""}`,k(Ct,je)};Y(Je,Ct=>{l().editing.state?Ct(ct):Ct(Dt,!1)})}de(()=>ce(Be,` ${(l().editing.state?window.locales.create.button_update:window.locales.create.button_submit)??""}`)),k(M,Z)};Y(Xe,M=>{(l().doors_selected||l().editing.state)&&M(Ye)})}var lt=f(Oe,2),mt=d(lt);mt.textContent=window.locales.create.all_doors;var F=f(mt,2),pe=d(F),_e=f(d(pe),2);_e.__keyup=y,Ae(_e,"placeholder",window.locales.create.location),Ae(_e,"aria-label",window.locales.create.location);var ne=f(pe,2),De=d(ne);{var Ue=M=>{var Z=qe(),G=re(Z);He(G,17,()=>x,ft,(Be,Je,ct)=>{var Dt=qe(),Ct=re(Dt);{var je=Me=>{var $t=Vg();$t.__click=Wr=>{N(-1,i(Je))};let Ot;var or=d($t),kr=d(or),nr=d(kr),lo=f(kr,2),co=d(lo);de(()=>{Ot=pt($t,1,"list-group-item list-group-item-action cursor-pointer d-flex justify-content-between align-items-center text-light",null,Ot,{active:l().editing.door!=-1&&c()[l().editing.door].unique_id===i(Je).unique_id}),pt(kr,1,`badge ${l().editing.door!=-1&&c()[l().editing.door].unique_id===i(Je).unique_id?"text-bg-light":"text-bg-secondary"} label lh-1`),ce(nr,i(Je).location_group),ce(co,i(Je).door_name)}),k(Me,$t)};Y(Ct,Me=>{ct>=i(b)*12&&ct{var Z=qe(),G=re(Z);{var Be=Je=>{var ct=qe(),Dt=re(ct);He(Dt,16,()=>({length:12}),ft,(Ct,je,Me)=>{var $t=qe(),Ot=re($t);{var or=kr=>{var nr=Gg();nr.__click=fa=>{N(i(b)*12+Me)};let lo;var co=d(nr),Wr=d(co),Wo=d(Wr),oi=f(Wr,2),Wi=d(oi);de(()=>{lo=pt(nr,1,"list-group-item list-group-item-action cursor-pointer d-flex justify-content-between align-items-center text-light",null,lo,{active:i(b)*12+Me===l().editing.door}),pt(Wr,1,`badge ${i(b)*12+Me===l().editing.door?"text-bg-light":"text-bg-secondary"} label lh-1`),ce(Wo,c()[i(b)*12+Me].location_group),ce(Wi,c()[i(b)*12+Me].door_name)}),k(kr,nr)};Y(Ot,kr=>{c()[i(b)*12+Me]&&kr(or)})}k(Ct,$t)}),k(Je,ct)};Y(G,Je=>{c().length>0&&Je(Be)},!0)}k(M,Z)};Y(De,M=>{x.length>0?M(Ue):M(Ze,!1)})}var ht=f(F,2),Fe=d(ht),et=d(Fe),it=d(et),Ge=d(it);Ge.__click=M=>{i(b)-1<0||T(b,i(b)-1),fe()};var st=d(Ge);st.textContent=window.locales.control.previous;var dt=f(Ge,2);He(dt,17,()=>H,ft,(M,Z)=>{var G=qg();G.__click=ct=>{i(Z).index!=-1&&T(b,i(Z).index,!0),fe()};var Be=d(G),Je=d(Be);de(()=>{pt(G,1,`page-item rounded-0 ${i(b)==i(Z).index?"active":i(Z).index==-1?"disabled":"cursor-pointer"}`),ce(Je,i(Z).number)}),k(M,G)});var at=f(dt,2);at.__click=M=>{i(b)+1==i(W)||T(b,i(b)+1),fe()};var ut=d(at);ut.textContent=window.locales.control.next,de(()=>{pt(Ge,1,`page-item rounded-0 ${i(b)-1<0?"disabled":"cursor-pointer"}`),pt(at,1,`page-item rounded-0 ${i(b)+1==i(W)?"disabled":"cursor-pointer"}`)}),tt(_e,()=>_,M=>_=M),Yt(3,be,()=>kn,()=>({duration:100})),k(r,be),At(),u()}Gt(["click","keyup"]);var Hg=j(' '),Wg=j(' ',1),zg=j('');function Kg(r,e){kt(e,!0);let t=_t(e,"active",15,"create");e.permissions?t("create"):t("control");var o=zg(),n=d(o);{var s=m=>{var x=Hg();x.__click=function(...R){e.click?.apply(this,R)};var b=d(x),y=f(d(b));y.nodeValue=` ${window.locales.navigation.create_edit??""}`,de(()=>pt(b,1,`text-light nav-link ${t()=="create"?"active":""}`,"svelte-1aswg0r")),k(m,x)};Y(n,m=>{e.permissions&&m(s)})}var a=f(n,2);a.__click=function(...m){e.click?.apply(this,m)};var u=d(a),c=f(d(u));c.nodeValue=` ${window.locales.navigation.control??""}`;var l=f(a,2);{var p=m=>{var x=Wg(),b=re(x);b.__click=function(...U){e.click?.apply(this,U)};var y=d(b),R=f(d(y));R.nodeValue=` ${window.locales.navigation.import??""}`;var C=f(b,2);C.__click=function(...U){e.click?.apply(this,U)};var E=d(C),N=f(d(E));N.nodeValue=` ${window.locales.navigation.export??""}`;var I=f(C,2);I.__click=function(...U){e.click?.apply(this,U)};var q=d(I),B=f(d(q));B.nodeValue=` ${window.locales.navigation.converter??""}`,de(()=>{pt(y,1,`text-light nav-link ${t()=="import"?"active":""}`,"svelte-1aswg0r"),pt(E,1,`text-light nav-link ${t()=="export"?"active":""}`,"svelte-1aswg0r"),pt(q,1,`text-light nav-link ${t()=="converter"?"active":""}`,"svelte-1aswg0r")}),k(m,x)};Y(l,m=>{e.permissions&&m(p)})}var h=f(l,2);h.__click=function(...m){e.click?.apply(this,m)};var g=d(h),_=f(d(g));_.nodeValue=` ${window.locales.navigation.settings??""}`,de(()=>{pt(u,1,`text-light nav-link ${t()=="control"?"active":""}`,"svelte-1aswg0r"),pt(g,1,`text-light nav-link ${t()=="settings"?"active":""}`,"svelte-1aswg0r")}),k(r,o),At()}Gt(["click"]);var Yg=j('');function Ug(r,e){kt(e,!0);let t=_t(e,"settings",7),o=X(100);function n(){a(),t().scale=Number((i(o)/100).toFixed(2)),window.localStorage.setItem("cd_doorlock_settings",JSON.stringify(t()))}function s(_){document.documentElement.style.setProperty("--pseudo-scale",(_.target.value/100).toString()),document.querySelector(".scale-placeholder").classList.add("placeholder-show")}function a(){document.querySelector(".scale-placeholder").classList.remove("placeholder-show")}Dr(async()=>{T(o,t().scale?t().scale*100:100,!0),setTimeout(()=>{document.documentElement.style.setProperty("--pseudo-width",document.getElementById("create-doors").offsetWidth+"px"),document.documentElement.style.setProperty("--pseudo-height",document.getElementById("create-doors").offsetHeight+"px")},500)});var u=Yg(),c=d(u),l=d(c);l.textContent=window.locales.settings.scale;var p=f(l,2);p.__change=n,p.__input=s,p.__mouseup=a;var h=f(p,2),g=d(h);de(_=>ce(g,`${_??""}%`),[()=>i(o).toFixed(0)]),tt(p,()=>i(o),_=>T(o,_)),Yt(3,u,()=>kn,()=>({duration:100})),k(r,u),At()}Gt(["change","input","mouseup"]);const Jg=(r,e)=>{let t;e&&e.handle?typeof e.handle=="string"?t=document.querySelector(e.handle):e.handle instanceof HTMLElement&&(t=e.handle):t=r;function o(){e&&e.cursorDragging&&(t.style.cursor=e.cursorDragging),t.addEventListener("mouseup",n),document.addEventListener("mousemove",s)}function n(){e&&e.cursorOver&&(t.style.cursor=e.cursorOver),r.dispatchEvent(new CustomEvent("finish",{detail:{x:r.style.left,y:r.style.top}})),t.removeEventListener("mouseup",n),document.removeEventListener("mousemove",s)}function s(u){const{movementX:c,movementY:l,shiftKey:p,buttons:h}=u;if(h!==1){n();return}const g=r.getBoundingClientRect().width/r.offsetWidth;let _=c/g,m=l/g,x=null;e&&e.boundingBox?x=e.boundingBox:x=window.document.body;const b=r.getBoundingClientRect();if(x){const y=x.getBoundingClientRect();b.left/g+_y.right/g&&(_=y.right/g-b.right/g),b.top/g+my.bottom/g&&(m=y.bottom/g-b.bottom/g)}p&&(Math.abs(_)>Math.abs(m)?m=0:_=0),r.style.left=r.offsetLeft+_+"px",r.style.top=r.offsetTop+m+"px",r.dispatchEvent(new CustomEvent("move",{detail:{x:r.style.left,y:r.style.top}}))}const a=r.getBoundingClientRect();return r.style.bottom="",r.style.right="",r.style.position="absolute",t.addEventListener("mousedown",o),e&&e.x&&e.y?(r.style.left=e.x,r.style.top=e.y):(r.style.left=a.x+"px",r.style.top=a.y+"px"),{update:()=>{},destroy:()=>{t.removeEventListener("mousedown",o)}}},Qg="data:image/webp;base64,UklGRiIBAABXRUJQVlA4WAoAAAAQAAAA/wAA/wAAQUxQSF4AAAABN6CYkSQ4Os9BuJZhCVZkIyJw+uVATdtI0oEYAPdh2Pqq65c/ptSJ6L8it22bzI47HzHwOS96Zqb/I8/q4g/+c/Cr8B/8of/u6L87+u+O/ruj/+7ovzsW4I7+uzMBVlA4IJ4AAADQEACdASoAAQABPikUiUOhoSEQFAAYAoS0t3C7WI2gBPYB77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJwoAD+//JMAAAAAAAAAAAAAA==";var Xg=j(''),Zg=j('');function eb(r,e){kt(e,!0);const t=()=>Ve(e.sound,"$sound",o),[o,n]=Qt();let s=_t(e,"display",15),a=X(""),u=X(!1),c=X("password");function l(ke){i(a).length!=8&&(T(a,i(a)+ke),T(u,!0),t().play("_key_press.ogg"))}function p(){if(i(a).length>0)T(a,i(a).slice(0,-1),!0),i(a).length==0&&T(u,!1);else return}function h(){i(c)=="password"?T(c,"text"):T(c,"password"),document.querySelector("#keypad-screen > input").type=i(c)}function g(){s(s().keypad_processing=!0,!0),rt.send("send_passcode",{passcode:i(a)})}function _(){rt.send("start_lockpick",{door:null})}function m(ke){if(i(a).length>8){T(a,i(a).slice(0,-(i(a).length-8)),!0),T(a,i(a).replace(/([^0-9])*/gim,""),!0);return}if(T(a,i(a).replace(/([^0-9])*/gim,""),!0),i(a).length==0){T(u,!1);return}T(u,!0)}var x=Zg(),b=d(x),y=d(b),R=d(y),C=d(R),E=f(R,2),N=d(E),I=f(E,2),q=d(I),B=f(y,2),U=d(B),J=d(U);J.__input=m;var H=f(J,2);{var W=ke=>{var Re=Xg(),A=d(Re);A.__click=p;var K=f(A,2);K.__click=h,k(ke,Re)};Y(H,ke=>{i(u)&&ke(W)})}var fe=f(B,2),be=d(fe),Oe=d(be);Oe.__click=()=>{l(1)};var Ee=f(Oe,2);Ee.__click=()=>{l(2)};var ee=f(Ee,2);ee.__click=()=>{l(3)};var ve=f(be,2),ue=d(ve);ue.__click=()=>{l(4)};var Te=f(ue,2);Te.__click=()=>{l(5)};var Se=f(Te,2);Se.__click=()=>{l(6)};var ye=f(ve,2),xe=d(ye);xe.__click=()=>{l(7)};var $e=f(xe,2);$e.__click=()=>{l(8)};var Le=f($e,2);Le.__click=()=>{l(9)};var Q=f(ye,2),ie=d(Q);ie.__click=_;var ge=f(ie,2);ge.__click=()=>{l(0)};var Ce=f(ge,2);Ce.__click=g;var Ie=f(fe,2);de(()=>{pt(C,1,`led-green ${s().keypad_success?"led-green-active":""}`,"svelte-cwdo31"),pt(N,1,`led-yellow ${s().keypad_processing?"led-yellow-active":""}`,"svelte-cwdo31"),pt(q,1,`led-red ${s().keypad_error?"led-red-active":""}`,"svelte-cwdo31"),Fn(Ie,`background-image: url(${Qg})`)}),Xo("paste",J,m),tt(J,()=>i(a),ke=>T(a,ke)),Yt(3,x,()=>kn,()=>({duration:100})),k(r,x),At(),n()}Gt(["input","click"]);function tb(r){return--r*r*r*r*r+1}function rb(){return[...document.querySelectorAll('[data-bs-toggle="tooltip"]')].map(t=>new ri(t,{container:"body",animation:!1}))}var ob=j('
'),nb=j(' '),ib=j('
',1),sb=j(' '),ab=j('
',1),lb=j(' '),cb=j('
',1),db=j(' '),ub=j('
',1),fb=j(' '),pb=j(' ',1),vb=j(''),_b=j(''),mb=j(''),hb=j(''),gb=j(''),bb=j(''),wb=j('');function yb(r,e){kt(e,!0);const t=()=>Ve(Vn,"$permissionsList",a),o=()=>Ve(te,"$alerts",a),n=()=>Ve(io,"$soundController",a),s=()=>Ve(mr,"$general",a),[a,u]=Qt();let c=X(""),l=X(0),p=X(We([])),h=X(""),g=X(We([])),_=X(""),m=X(We([])),x=X(""),b=X(We([])),y=We([]),R=X(""),C=X(""),E=X(We(t()[0])),N=We({name:"",destroy:!1,amount:1});Gn(()=>{i(E)!=""&&setTimeout(()=>{rb()},500)});const[I,q]=Bf({fallback(oe,we){const Ke=getComputedStyle(oe),Xe=Ke.transform==="none"?"":Ke.transform;return{duration:100,easing:tb,css:Ye=>`
+ transform: ${Xe} scale(${Ye});
+ opacity: ${Ye}
+ `}}});let B=!1;function U(oe,we){if(B)return;if(B=!0,i(p).length+i(g).length+i(m).length+i(b).length+y.length==0){o().push({message:window.locales.import.no_permissions,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"),B=!1;return}let Ke={file_name:e.importData[oe].items[we].fileName,identifier:i(g),job:i(p),ace:i(m),discord:i(b),items:y};rt.send("import_location_group",Ke),setTimeout(()=>{B=!1},1e3)}function J(oe,we){B||(B=!0,rt.send("remove_imported_data",{file_name:e.importData[oe].items[we].fileName}),setTimeout(()=>{B=!1},1e3))}function H(){if(i(c).length>window.config.job_name_max_length||i(c).length==0){o().push({message:window.locales.create.form.alerts.job_name_too_long,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}else if(i(c).match(window.config.job_name_match)){o().push({message:window.locales.create.form.alerts.job_name_out_of_scope,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}else if(Number.isInteger(i(l))){if(i(l)<0||i(l)>window.config.job_grade_max){o().push({message:window.locales.create.form.alerts.job_grade_too_large,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}}else{o().push({message:window.locales.create.form.alerts.job_grade_nan,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}i(p).push({name:i(c),grade:i(l)}),T(p,i(p),!0),T(c,""),T(l,0)}function W(){if(i(h).length==0||i(h).length>64){o().push({message:window.locales.create.form.alerts.identifier_too_long,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}i(g).push(i(h)),T(g,i(g),!0)}function fe(){i(m).push(i(_)),T(m,i(m),!0)}function be(){i(b).push(i(x)),T(b,i(b),!0)}function Oe(){y.push(JSON.parse(JSON.stringify(N))),N.name="",N.destroy=!1,N.amount=1}function Ee(oe){const we=oe.target;let Ke=parseInt(we.value);isNaN(Ke)||Ke<1?Ke=1:Ke>1e3&&(Ke=1e3),N.amount=Ke}function ee(oe){i(p).splice(oe,1),T(p,i(p),!0)}function ve(oe){i(g).splice(oe,1),T(g,i(g),!0)}function ue(oe){i(m).splice(oe,1),T(m,i(m),!0)}function Te(oe){i(b).splice(oe,1),T(b,i(b),!0)}function Se(oe){y.splice(oe,1)}function ye(){if(i(R)=="")return;const oe=document.querySelector(".import-categories"),we=document.querySelector(`.import-item[data-name*="${i(R).toLowerCase()}"]`);we&&oe.scrollTo({top:we.getBoundingClientRect().top-oe.getBoundingClientRect().top+oe.scrollTop-36,behavior:"smooth"})}function xe(){if(i(C)=="")return;const oe=document.querySelector(".import-categories"),we=document.querySelector(`.imported-item[data-name*="${i(R).toLowerCase()}"]`);we&&oe.scrollTo({top:we.getBoundingClientRect().top-oe.getBoundingClientRect().top+oe.scrollTop-36,behavior:"smooth"})}var $e=wb(),Le=d($e),Q=d(Le);Q.textContent=window.locales.import.permissions[0];var ie=f(Q,2),ge=d(ie);{var Ce=oe=>{var we=gt();we.nodeValue=window.locales.import.permissions[2],k(oe,we)},Ie=oe=>{var we=gt();we.nodeValue=window.locales.import.permissions[1],k(oe,we)};Y(ge,oe=>{s().identifier?oe(Ce):oe(Ie,!1)})}var ke=f(Le,2),Re=d(ke);He(Re,5,t,ft,(oe,we)=>{var Ke=qe(),Xe=re(Ke);{var Ye=lt=>{var mt=ob();mt.__click=()=>{T(E,i(we),!0)};var F=d(mt),pe=d(F);de(_e=>{pt(F,1,`nav-link text-light ${i(E)==i(we)?" active":""}`,"svelte-11o6njv"),ce(pe,_e)},[()=>window.locales.permissions[i(we).toLowerCase()]]),k(lt,mt)};Y(Xe,lt=>{i(we)!="Passcode"&<(Ye)})}k(oe,Ke)});var A=f(Re,2),K=d(A);{var w=oe=>{var we=ib(),Ke=re(we),Xe=d(Ke);Xe.nodeValue=`${window.locales.create.form.permissions??""} `;var Ye=f(Xe),lt=d(Ye);Ae(lt,"data-bs-title",window.locales.create.form.helpers.job);var mt=f(Ke,2),F=d(mt);Ae(F,"placeholder",window.locales.create.form.job[0]);var pe=f(F,2);Ae(pe,"placeholder",window.locales.create.form.job[1]);var _e=f(pe,2);_e.__click=H,_e.textContent=window.locales.create.form.add;var ne=f(mt,2);He(ne,21,()=>i(p),ft,(De,Ue,Ze)=>{var ht=nb();ht.__click=st=>{st.stopPropagation(),ee(Ze)};var Fe=d(ht),et=d(Fe),it=d(et),Ge=f(et);de(()=>{ce(it,i(Ue).name),ce(Ge,` - ${i(Ue).grade??""} `)}),k(De,ht)}),tt(F,()=>i(c),De=>T(c,De)),tt(pe,()=>i(l),De=>T(l,De)),k(oe,we)},O=oe=>{var we=qe(),Ke=re(we);{var Xe=lt=>{var mt=ab(),F=re(mt),pe=d(F);pe.nodeValue=`${window.locales.create.form.identifier??""} `;var _e=f(pe),ne=d(_e);Ae(ne,"data-bs-title",window.locales.create.form.helpers.identifier);var De=f(F,2),Ue=d(De);Ae(Ue,"placeholder",window.locales.create.form.identifier);var Ze=f(Ue,2);Ze.__click=W,Ze.textContent=window.locales.create.form.add;var ht=f(De,2);He(ht,21,()=>i(g),ft,(Fe,et,it)=>{var Ge=sb();Ge.__click=ut=>{ut.stopPropagation(),ve(it)};var st=d(Ge),dt=d(st),at=d(dt);de(()=>ce(at,i(et))),k(Fe,Ge)}),tt(Ue,()=>i(h),Fe=>T(h,Fe)),k(lt,mt)},Ye=lt=>{var mt=qe(),F=re(mt);{var pe=ne=>{var De=cb(),Ue=re(De),Ze=d(Ue);Ze.nodeValue=`${window.locales.create.form.ace??""} `;var ht=f(Ze),Fe=d(ht);Ae(Fe,"data-bs-title",window.locales.create.form.helpers.ace);var et=f(Ue,2),it=d(et);Ae(it,"placeholder",window.locales.create.form.ace_placeholder);var Ge=f(it,2);Ge.__click=fe,Ge.textContent=window.locales.create.form.add;var st=f(et,2);He(st,21,()=>i(m),ft,(dt,at,ut)=>{var M=lb();M.__click=Je=>{Je.stopPropagation(),ue(ut)};var Z=d(M),G=d(Z),Be=d(G);de(()=>ce(Be,i(at))),k(dt,M)}),tt(it,()=>i(_),dt=>T(_,dt)),k(ne,De)},_e=ne=>{var De=qe(),Ue=re(De);{var Ze=Fe=>{var et=ub(),it=re(et),Ge=d(it);Ge.nodeValue=`${window.locales.create.form.discord??""} `;var st=f(Ge),dt=d(st);Ae(dt,"data-bs-title",window.locales.create.form.helpers.discord);var at=f(it,2),ut=d(at);Ae(ut,"placeholder",window.locales.create.form.discord_placeholder);var M=f(ut,2);M.__click=be,M.textContent=window.locales.create.form.add;var Z=f(at,2);He(Z,21,()=>i(b),ft,(G,Be,Je)=>{var ct=db();ct.__click=Me=>{Me.stopPropagation(),Te(Je)};var Dt=d(ct),Ct=d(Dt),je=d(Ct);de(()=>ce(je,i(Be))),k(G,ct)}),tt(ut,()=>i(x),G=>T(x,G)),k(Fe,et)},ht=Fe=>{var et=pb(),it=re(et),Ge=d(it);Ge.nodeValue=`${window.locales.create.form.item??""} `;var st=f(Ge),dt=d(st);Ae(dt,"data-bs-title",window.locales.create.form.helpers.discord);var at=f(it,2),ut=d(at),M=d(ut),Z=d(M),G=f(Z,2);G.textContent=window.locales.create.form.destroy;var Be=f(M,2);Ae(Be,"placeholder",window.locales.create.form.item_placeholder);var Je=f(ut,2),ct=d(Je);ct.textContent=window.locales.create.form.amount_required;var Dt=f(ct,2);Dt.__input=Ee;var Ct=f(at,2),je=d(Ct);He(je,21,()=>y,ft,(Ot,or,kr)=>{var nr=fb();nr.__click=oi=>{Se(kr)};var lo=d(nr),co=d(lo),Wr=d(co),Wo=f(Wr);xo(Wo,()=>i(or).destroy?'':""),de(()=>ce(Wr,`${i(or).amount?i(or).amount+" x ":""}
+ ${i(or).name??""} `)),k(Ot,nr)});var Me=f(je,2);Me.__click=Oe;var $t=f(d(Me));$t.nodeValue=` ${window.locales.create.form.add??""}`,de(()=>fn(Dt,N.amount)),Oo(Z,()=>N.destroy,Ot=>N.destroy=Ot),tt(Be,()=>N.name,Ot=>N.name=Ot),k(Fe,et)};Y(Ue,Fe=>{i(E)=="Discord"?Fe(Ze):Fe(ht,!1)},!0)}k(ne,De)};Y(F,ne=>{i(E)=="AcePerms"?ne(pe):ne(_e,!1)},!0)}k(lt,mt)};Y(Ke,lt=>{i(E)=="Identifiers"?lt(Xe):lt(Ye,!1)},!0)}k(oe,we)};Y(K,oe=>{i(E)=="Framework"?oe(w):oe(O,!1)})}var L=f(ke,2),S=d(L);S.textContent=window.locales.import.select;var z=f(S,2);z.textContent=window.locales.import.select_helper;var me=f(z,2),Ne=f(d(me),2);Ne.__input=ye,Ae(Ne,"placeholder",window.locales.import.import_search_placeholder);var Pe=f(me,2);He(Pe,21,()=>e.importData,ft,(oe,we,Ke)=>{var Xe=mb(),Ye=d(Xe),lt=d(Ye),mt=f(lt),F=d(mt),pe=f(Ye,2),_e=d(pe);{var ne=Ue=>{var Ze=vb();Ze.textContent=window.locales.import.no_imports,k(Ue,Ze)},De=Ue=>{var Ze=qe(),ht=re(Ze);He(ht,17,()=>i(we).items,ft,(Fe,et,it)=>{var Ge=qe(),st=re(Ge);{var dt=at=>{var ut=_b();ut.__click=()=>{U(Ke,it)};var M=d(ut),Z=d(M);de(G=>{Ae(M,"data-name",G),ce(Z,i(et).name)},[()=>i(et).name.toLowerCase()]),Yt(1,ut,()=>q,()=>({key:it})),Yt(2,ut,()=>I,()=>({key:it})),k(at,ut)};Y(st,at=>{i(et).imported||at(dt)})}k(Fe,Ge)}),k(Ue,Ze)};Y(_e,Ue=>{i(we).items.length===0?Ue(ne):Ue(De,!1)})}de(()=>{ce(lt,`${i(we).category??""} - `),ce(F,`${i(we).items.length??""} MLOs`)}),k(oe,Xe)});var ze=f(L,2),nt=d(ze);nt.textContent=window.locales.import.imported;var wt=f(nt,2);wt.textContent=window.locales.import.imported_helper;var yt=f(wt,2),xt=f(d(yt),2);xt.__input=xe,Ae(xt,"placeholder",window.locales.import.imported_search_placeholder);var Tt=f(yt,2);He(Tt,21,()=>e.importData,ft,(oe,we,Ke)=>{var Xe=bb(),Ye=d(Xe),lt=d(Ye),mt=f(Ye,2),F=d(mt);{var pe=ne=>{var De=hb();De.textContent=window.locales.import.no_imports,k(ne,De)},_e=ne=>{var De=qe(),Ue=re(De);He(Ue,17,()=>i(we).items,ft,(Ze,ht,Fe)=>{var et=qe(),it=re(et);{var Ge=st=>{var dt=gb();dt.__click=()=>{J(Ke,Fe)};var at=d(dt),ut=d(at);de(M=>{Ae(at,"data-name",M),ce(ut,i(ht).name)},[()=>i(ht).name.toLowerCase()]),Yt(1,dt,()=>q,()=>({key:Fe})),Yt(2,dt,()=>I,()=>({key:Fe})),k(st,dt)};Y(it,st=>{i(ht).imported&&st(Ge)})}k(Ze,et)}),k(ne,De)};Y(F,ne=>{i(we).items.length===0?ne(pe):ne(_e,!1)})}de(()=>ce(lt,i(we).category)),k(oe,Xe)}),tt(Ne,()=>i(R),oe=>T(R,oe)),tt(xt,()=>i(C),oe=>T(C,oe)),Yt(3,$e,()=>kn,()=>({duration:100})),k(r,$e),At(),u()}Gt(["click","input"]);var xb=j('');function Eb(r){var e=xb(),t=d(e);xo(t,()=>window.locales.selector.icon),k(r,e)}var kb=j('');function Ab(r,e){kt(e,!0);let t=_t(e,"name",3,""),o=_t(e,"group",3,""),n=X(We(new Date)),s;Dr(()=>{s=setInterval(()=>{T(n,new Date,!0)},1e3)}),Ii(()=>{clearInterval(s)});var a=kb(),u=d(a),c=d(u);c.textContent=window.locales.camera.move;var l=f(c,2);l.textContent=window.locales.camera.zoom;var p=f(l,2);p.textContent=window.locales.camera.reverse;var h=f(p,2);h.textContent=window.locales.camera.exit;var g=f(u,2),_=d(g),m=d(_),x=d(m),b=f(m,2),y=d(b),R=d(y),C=f(y);de(E=>{ce(x,E),ce(R,`[${o()??""}]`),ce(C,` - ${t()??""}`)},[()=>i(n).toISOString()]),k(r,a),At()}var Tb=j('');function Cb(r,e){kt(e,!0);const t=()=>Ve(mr,"$general",o),[o,n]=Qt();let s=X("");Gn(()=>{t().drawTextColor&&T(s,"box-shadow: 0px 0px 5px "+t().drawTextColor+";background-color:"+t().drawTextColor+";")});var a=Tb(),u=d(a),c=d(u);xo(c,()=>t().drawTextMessage),de(()=>Fn(u,i(s))),Yt(1,a,()=>ki,()=>({x:500,duration:500})),Yt(2,a,()=>ki,()=>({x:500,duration:500})),k(r,a),At(),n()}function $b(r){window.invokeNative("openUrl",r.target.dataset.link)}var Sb=j(''),Ob=j(''),Nb=j(''),Db=j('
',1),Lb=j('');function Ib(r,e){kt(e,!0);const t=()=>Ve(te,"$alerts",s),o=()=>Ve(io,"$soundController",s),n=()=>Ve(D,"$createStore",s),[s,a]=Qt();let u=X(-1),c=We({group_name:"",export_name:""});function l(ee){let ue=ee.target.value;ue=ue.replace(/[\\\/:\*\?"<>\|]/g,""),c.group_name=ue}function p(ee){let ue=ee.target.value;ue=ue.replace(/[\\\/:\*\?"<>\|]/g,""),c.export_name=ue}function h(){if(c.export_name==""){t().push({message:window.locales.export.name_required,type:"alert-danger"}),le(te,t());return}let ee=c.export_name.trim();ee=ee.replace(/\s+/g,"_");const ve=new TextEncoder;let ue="";if(c.group_name=="")ue=c.export_name+".json";else{let ye=c.group_name.trim();ye=ye.replace(/\s+/g,"_"),ue=`[${ye}]_${ee}.json`}if(ve.encode(ue).length>255){t().push({message:window.locales.export.too_long,type:"alert-danger"}),le(te,t()),o().play("_notification.ogg");return}if(e.importData.find(ye=>ye.fileName===ue)){t().push({message:window.locales.export.already_exists,type:"alert-danger"}),le(te,t()),o().play("_notification.ogg");return}let Te=[];const Se=n().locationGroups[i(u)];for(let ye of e.doors)ye.location_group==Se.name&&Te.push(ye);if(Te.length==0){t().push({message:window.locales.export.no_doors,type:"alert-danger"}),le(te,t()),o().play("_notification.ogg");return}rt.send("export_location_group",{name:ue,imported:!1,data:Te},g)}function g(ee){ee?(t().push({message:window.locales.export.success,type:"alert-success"}),le(te,t()),o().play("_notification.ogg")):(t().push({message:window.locales.export.failed,type:"alert-danger"}),le(te,t()),o().play("_notification.ogg"))}var _=Lb(),m=d(_),x=d(m);x.textContent=window.locales.export.export_doors;var b=f(x,2),y=d(b);xo(y,()=>window.locales.export.info_message);var R=f(y,2);R.__click=function(...ee){$b?.apply(this,ee)};var C=f(m,2),E=d(C),N=d(E),I=d(N);I.textContent=window.locales.export.location_groups;var q=f(I,2),B=d(q),U=d(B);{var J=ee=>{var ve=Sb(),ue=f(d(ve),2);ue.textContent=window.locales.export.no_location_groups,k(ee,ve)},H=ee=>{var ve=qe(),ue=re(ve);He(ue,1,()=>n().locationGroups,ft,(Te,Se,ye)=>{var xe=Ob();xe.__click=()=>{T(u,ye,!0),c.export_name=n().locationGroups[i(u)].name};var $e=d(xe),Le=d($e);de(()=>{pt(xe,1,`list-group-item list-group-item-action ${i(u)===ye?"active":""} px-1 d-flex justify-content-between align-items-center`,"svelte-1ce7pwp"),ce(Le,i(Se).name)}),k(Te,xe)}),k(ee,ve)};Y(U,ee=>{n().locationGroups.length==0?ee(J):ee(H,!1)})}var W=f(N,2),fe=d(W);fe.textContent=window.locales.export.export_settings;var be=f(fe,2);{var Oe=ee=>{var ve=Nb(),ue=f(d(ve),2);ue.textContent=window.locales.export.none_selected,k(ee,ve)},Ee=ee=>{var ve=Db(),ue=re(ve),Te=d(ue),Se=f(ue,2),ye=d(Se);ye.textContent=window.locales.export.export_group_name;var xe=f(ye,2);xe.__input=l,Ae(xe,"placeholder",window.locales.export.export_group_name_placeholder);var $e=f(xe,2);$e.textContent=window.locales.export.export_group_name_helper;var Le=f(Se,2),Q=d(Le),ie=f(d(Q),1,!0);ie.nodeValue=window.locales.export.export_name;var ge=f(Q,2);ge.__input=p,Ae(ge,"placeholder",window.locales.export.export_name_placeholder);var Ce=f(ge,2);Ce.textContent=window.locales.export.export_name_helper;var Ie=f(Le,2),ke=d(Ie);ke.__click=h;var Re=f(d(ke));Re.nodeValue=` ${window.locales.export.export_doors??""}`,de(()=>{ce(Te,n().locationGroups[i(u)].name),fn(xe,c.group_name),fn(ge,c.export_name)}),k(ee,ve)};Y(be,ee=>{i(u)==-1?ee(Oe):ee(Ee,!1)})}Yt(3,_,()=>kn,()=>({duration:100})),k(r,_),At(),a()}Gt(["click","input"]);var Pb=j('');function Hi(r,e){var t=Pb(),o=d(t),n=d(o);n.textContent=window.locales.converter.data_preview.label;var s=f(n,2),a=d(s),u=d(a),c=d(u),l=f(s,2),p=d(l);p.__click=function(...h){e.close?.apply(this,h)},p.textContent=window.locales.converter.data_preview.close,de(h=>ce(c,h),[()=>JSON.stringify(e.data,null,4)]),Yt(3,t,()=>qf,()=>({duration:200})),k(r,t)}Gt(["click"]);var jb=j(''),Mb=j(' '),Rb=j(''),Vb=j(' ',1),Gb=j(' ',1);function qb(r,e){kt(e,!0);const t=()=>Ve(D,"$createStore",o),[o,n]=Qt(),s=[];let a=_t(e,"convert_form",31,()=>We([])),u=_t(e,"output_form",31,()=>We([])),c=X(""),l=X(!1),p=X(null);function h(S){T(p,S,!0),T(l,!0)}function g(){T(l,!1)}var _=Gb(),m=re(_);{var x=S=>{Hi(S,{get data(){return i(p)},close:g})};Y(m,S=>{i(l)&&S(x)})}var b=f(m,2),y=d(b),R=d(y),C=d(R);C.nodeValue=`${window.locales.create.form.location_group??""} `;var E=f(C),N=d(E);Ae(N,"data-bs-title",window.locales.create.form.helpers.location_group);var I=f(R,2),q=d(I),B=d(q),U=f(q,2),J=d(U),H=d(J),W=d(H);Ae(W,"placeholder",window.locales.create.form.helpers.location_group_new);var fe=f(W,2);fe.__click=()=>{e.createNewLocationGroup(i(c))};var be=f(J,4);{var Oe=S=>{var z=jb();z.textContent=window.locales.create.form.helpers.location_group_none,k(S,z)},Ee=S=>{var z=qe(),me=re(z);He(me,3,()=>t().locationGroups,Ne=>Ne.id,(Ne,Pe)=>{var ze=Mb();ze.__click=()=>{e.selectLocationGroup(i(Pe).id)};var nt=d(ze),wt=d(nt),yt=f(wt);yt.__click=xt=>{e.once(e.removeLocationGroup(i(Pe).id))},de(()=>ce(wt,`${i(Pe).name??""} `)),k(Ne,ze)}),k(S,z)};Y(be,S=>{t().locationGroups.length==0?S(Oe):S(Ee,!1)})}var ee=f(y,2),ve=d(ee);ve.textContent=window.locales.converter.door_data;var ue=f(ve,2),Te=f(ee,2),Se=d(Te);Se.textContent=window.locales.converter.parser_option;var ye=f(Se,2),xe=d(ye);xe.value=xe.__value="json";var $e=f(xe,2);$e.textContent=window.locales.converter.json;var Le=f(ye,2),Q=d(Le);Q.value=Q.__value="sql";var ie=f(Q,2);ie.textContent=window.locales.converter.sql;var ge=f(Le,2);ge.textContent=window.locales.converter.parser_warning;var Ce=f(Te,2),Ie=d(Ce);Ie.__click=function(...S){e.handleConvert?.apply(this,S)};var ke=f(d(Ie));ke.nodeValue=` ${window.locales.converter.convert??""}`;var Re=f(b,2),A=d(Re);A.textContent=window.locales.converter.converted_output;var K=f(A,2);He(K,21,u,ft,(S,z,me)=>{var Ne=Rb();Ae(Ne,"data-id",me);var Pe=d(Ne),ze=f(d(Pe),2),nt=f(Pe,2);nt.__click=()=>{h(i(z))};var wt=f(nt,2);wt.__click=()=>{e.handleRemoveDoor(u(),me)},tt(ze,()=>i(z).door_name,yt=>i(z).door_name=yt),k(S,Ne)});var w=f(K,2),O=d(w);{var L=S=>{var z=Vb(),me=re(z);me.__click=()=>{u(u().length=0,!0)};var Ne=f(d(me));Ne.nodeValue=` ${window.locales.converter.clear_data??""}`;var Pe=f(me,2);Pe.__click=()=>{e.handleImport(u())};var ze=f(d(Pe));ze.nodeValue=` ${window.locales.converter.import_doors??""}`,k(S,z)};Y(O,S=>{u().length>0&&S(L)})}de(()=>ce(B,t().locationGroup==""?window.locales.create.form.helpers.location_group_select:t().locationGroup)),tt(W,()=>i(c),S=>T(c,S)),tt(ue,()=>a().data,S=>a(a().data=S,!0)),Hn(s,[],xe,()=>a().parser,S=>a(a().parser=S,!0)),Hn(s,[],Q,()=>a().parser,S=>a(a().parser=S,!0)),k(r,_),At(),n()}Gt(["click"]);var Bb=j('
'),Fb=j(''),Hb=j(' '),Wb=j(''),zb=j(''),Kb=j(' ',1),Yb=j(" ",1);function Ub(r,e){kt(e,!0);const t=()=>Ve(te,"$alerts",s),o=()=>Ve(io,"$soundController",s),n=()=>Ve(D,"$createStore",s),[s,a]=Qt();let u=X(!1),c=X(null);function l(){T(u,!1)}function p(){for(let E of i(g))if(E.door_name.match(window.config.door_name_match)){t().push({message:window.locales.create.alerts.name_out_of_scope,type:"alert-danger"}),le(te,t()),o().play("_notification.ogg");return}e.handleImport(i(g))}let h=X(""),g=X(We([]));function _(E){T(c,E,!0),T(u,!0)}var m=Yb(),x=re(m);{var b=E=>{Hi(E,{get data(){return i(c)},close:l})};Y(x,E=>{i(u)&&E(b)})}var y=f(x,2);{var R=E=>{var N=Bb(),I=d(N);I.textContent=`${window.locales.converter.no_data??""}
+ ${window.locales.converter.oxdb??""}`,k(E,N)},C=E=>{var N=Kb(),I=re(N),q=d(I),B=d(q),U=d(B);U.nodeValue=`${window.locales.create.form.location_group??""} `;var J=f(U),H=d(J);Ae(H,"data-bs-title",window.locales.create.form.helpers.location_group);var W=f(B,2),fe=d(W),be=d(fe),Oe=f(fe,2),Ee=d(Oe),ee=d(Ee),ve=d(ee);Ae(ve,"placeholder",window.locales.create.form.helpers.location_group_new);var ue=f(ve,2);ue.__click=()=>{e.createNewLocationGroup(i(h))};var Te=f(Ee,4);{var Se=Q=>{var ie=Fb();ie.textContent=window.locales.create.form.helpers.location_group_none,k(Q,ie)},ye=Q=>{var ie=qe(),ge=re(ie);He(ge,3,()=>n().locationGroups,Ce=>Ce.id,(Ce,Ie)=>{var ke=Hb();ke.__click=()=>{e.selectLocationGroup(i(Ie).id)};var Re=d(ke),A=d(Re),K=f(A);K.__click=w=>{e.once(e.removeLocationGroup(i(Ie).id))},de(()=>ce(A,`${i(Ie).name??""} `)),k(Ce,ke)}),k(Q,ie)};Y(Te,Q=>{n().locationGroups.length==0?Q(Se):Q(ye,!1)})}var xe=f(q,2);{var $e=Q=>{var ie=Wb();ie.__click=p;var ge=f(d(ie));ge.nodeValue=` ${window.locales.converter.import_selected??""}`,k(Q,ie)};Y(xe,Q=>{i(g).length>0&&Q($e)})}var Le=f(I,2);He(Le,21,()=>e.ox_db,ft,(Q,ie,ge)=>{var Ce=zb();Ae(Ce,"for",`oxdb-item-${ge}`),Ae(Ce,"data-id",ge);var Ie=d(Ce),ke=d(Ie),Re=d(ke);fn(Re,ge),Ae(Re,"id",`oxdb-item-${ge}`),Re.__change=L=>{L.target.checked?T(g,[...i(g),e.ox_db[L.target.value]],!0):T(g,i(g).filter(S=>S!=e.ox_db[L.target.value]),!0)};var A=f(Re,2),K=f(d(A),2),w=f(Ie,2);w.__click=()=>{_(i(ie))};var O=f(d(w));O.nodeValue=` ${window.locales.converter.view_data??""}`,tt(K,()=>i(ie).door_name,L=>i(ie).door_name=L),k(Q,Ce)}),de(()=>ce(be,n().locationGroup==""?window.locales.create.form.helpers.location_group_select:n().locationGroup)),tt(ve,()=>i(h),Q=>T(h,Q)),k(E,N)};Y(y,E=>{e.ox_db.length===0?E(R):E(C,!1)})}k(r,m),At(),a()}Gt(["click","change"]);var Jb=j(''),Qb=j(' '),Xb=j(''),Zb=j(' ',1),ew=j(' ',1);function tw(r,e){kt(e,!0);const t=()=>Ve(D,"$createStore",o),[o,n]=Qt(),s=[];let a=_t(e,"convert_form",31,()=>We([])),u=_t(e,"output_form",31,()=>We([])),c=X(""),l=X(!1),p=X(null);function h(){T(l,!1)}function g(w){T(p,w,!0),T(l,!0)}Dr(()=>{a(a().parser="json",!0)});var _=ew(),m=re(_);{var x=w=>{Hi(w,{get data(){return i(p)},close:h})};Y(m,w=>{i(l)&&w(x)})}var b=f(m,2),y=d(b),R=d(y),C=d(R);C.nodeValue=`${window.locales.create.form.location_group??""} `;var E=f(C),N=d(E);Ae(N,"data-bs-title",window.locales.create.form.helpers.location_group);var I=f(R,2),q=d(I),B=d(q),U=f(q,2),J=d(U),H=d(J),W=d(H);Ae(W,"placeholder",window.locales.create.form.helpers.location_group_new);var fe=f(W,2);fe.__click=()=>{e.createNewLocationGroup(i(c))};var be=f(J,4);{var Oe=w=>{var O=Jb();O.textContent=window.locales.create.form.helpers.location_group_none,k(w,O)},Ee=w=>{var O=qe(),L=re(O);He(L,3,()=>t().locationGroups,S=>S.id,(S,z)=>{var me=Qb();me.__click=()=>{e.selectLocationGroup(i(z).id)};var Ne=d(me),Pe=d(Ne),ze=f(Pe);ze.__click=nt=>{e.once(e.removeLocationGroup(i(z).id))},de(()=>ce(Pe,`${i(z).name??""} `)),k(S,me)}),k(w,O)};Y(be,w=>{t().locationGroups.length==0?w(Oe):w(Ee,!1)})}var ee=f(y,2),ve=d(ee);ve.textContent=window.locales.converter.door_data;var ue=f(ve,2),Te=f(ue,2);Te.textContent=window.locales.converter.json_helper;var Se=f(ee,2),ye=d(Se);ye.textContent=window.locales.converter.parser_option;var xe=f(ye,2),$e=d(xe);$e.value=$e.__value="json";var Le=f($e,2);Le.textContent=window.locales.converter.json;var Q=f(Se,2),ie=d(Q);ie.__click=function(...w){e.handleConvert?.apply(this,w)};var ge=f(d(ie));ge.nodeValue=` ${window.locales.converter.convert??""}`;var Ce=f(b,2),Ie=d(Ce);Ie.textContent=window.locales.converter.converted_output;var ke=f(Ie,2);He(ke,21,u,ft,(w,O,L)=>{var S=Xb();Ae(S,"data-id",L);var z=d(S),me=f(d(z),2),Ne=f(z,2);Ne.__click=()=>{g(i(O))};var Pe=f(Ne,2);Pe.__click=()=>{e.handleRemoveDoor(u(),L)},tt(me,()=>i(O).door_name,ze=>i(O).door_name=ze),k(w,S)});var Re=f(ke,2),A=d(Re);{var K=w=>{var O=Zb(),L=re(O);L.__click=()=>{u(u().length=0,!0)};var S=f(d(L));S.nodeValue=` ${window.locales.converter.clear_data??""}`;var z=f(L,2);z.__click=()=>{e.handleImport(u())};var me=f(d(z));me.nodeValue=` ${window.locales.converter.import_doors??""}`,k(w,O)};Y(A,w=>{u().length>0&&w(K)})}de(()=>ce(B,t().locationGroup==""?window.locales.create.form.helpers.location_group_select:t().locationGroup)),tt(W,()=>i(c),w=>T(c,w)),tt(ue,()=>a().data,w=>a(a().data=w,!0)),Hn(s,[],$e,()=>a().parser,w=>a(a().parser=w,!0)),k(r,_),At(),n()}Gt(["click"]);var rw=j('
'),ow=j(''),nw=j(' '),iw=j(''),sw=j(''),aw=j(' ',1),lw=j(" ",1);function cw(r,e){kt(e,!0);const t=()=>Ve(te,"$alerts",s),o=()=>Ve(io,"$soundController",s),n=()=>Ve(D,"$createStore",s),[s,a]=Qt();let u=X(!1),c=X(null);function l(){T(u,!1)}function p(){for(let E of i(g))if(E.door_name.match(window.config.door_name_match)){t().push({message:window.locales.create.alerts.name_out_of_scope,type:"alert-danger"}),le(te,t()),o().play("_notification.ogg");return}e.handleImport(i(g))}let h=X(""),g=X(We([]));function _(E){T(c,E,!0),T(u,!0)}var m=lw(),x=re(m);{var b=E=>{Hi(E,{get data(){return i(c)},close:l})};Y(x,E=>{i(u)&&E(b)})}var y=f(x,2);{var R=E=>{var N=rw(),I=d(N);I.textContent=`${window.locales.converter.no_data??""}
+ ${window.locales.converter.qbdb??""}`,k(E,N)},C=E=>{var N=aw(),I=re(N),q=d(I),B=d(q),U=d(B);U.nodeValue=`${window.locales.create.form.location_group??""} `;var J=f(U),H=d(J);Ae(H,"data-bs-title",window.locales.create.form.helpers.location_group);var W=f(B,2),fe=d(W),be=d(fe),Oe=f(fe,2),Ee=d(Oe),ee=d(Ee),ve=d(ee);Ae(ve,"placeholder",window.locales.create.form.helpers.location_group_new);var ue=f(ve,2);ue.__click=()=>{e.createNewLocationGroup(i(h))};var Te=f(Ee,4);{var Se=Q=>{var ie=ow();ie.textContent=window.locales.create.form.helpers.location_group_none,k(Q,ie)},ye=Q=>{var ie=qe(),ge=re(ie);He(ge,3,()=>n().locationGroups,Ce=>Ce.id,(Ce,Ie)=>{var ke=nw();ke.__click=()=>{e.selectLocationGroup(i(Ie).id)};var Re=d(ke),A=d(Re),K=f(A);K.__click=w=>{e.once(e.removeLocationGroup(i(Ie).id))},de(()=>ce(A,`${i(Ie).name??""} `)),k(Ce,ke)}),k(Q,ie)};Y(Te,Q=>{n().locationGroups.length==0?Q(Se):Q(ye,!1)})}var xe=f(q,2);{var $e=Q=>{var ie=iw();ie.__click=p;var ge=f(d(ie));ge.nodeValue=` ${window.locales.converter.import_selected??""}`,k(Q,ie)};Y(xe,Q=>{i(g).length>0&&Q($e)})}var Le=f(I,2);He(Le,21,()=>e.qb_db,ft,(Q,ie,ge)=>{var Ce=sw();Ae(Ce,"for",`oxdb-item-${ge}`),Ae(Ce,"data-id",ge);var Ie=d(Ce),ke=d(Ie),Re=d(ke);fn(Re,ge),Ae(Re,"id",`oxdb-item-${ge}`),Re.__change=L=>{L.target.checked?T(g,[...i(g),e.qb_db[L.target.value]],!0):T(g,i(g).filter(S=>S!=e.qb_db[L.target.value]),!0)};var A=f(Re,2),K=f(d(A),2),w=f(Ie,2);w.__click=()=>{_(i(ie))};var O=f(d(w));O.nodeValue=` ${window.locales.converter.view_data??""}`,tt(K,()=>i(ie).door_name,L=>i(ie).door_name=L),k(Q,Ce)}),de(()=>ce(be,n().locationGroup==""?window.locales.create.form.helpers.location_group_select:n().locationGroup)),tt(ve,()=>i(h),Q=>T(h,Q)),k(E,N)};Y(y,E=>{!e.qb_db||e.qb_db.length===0?E(R):E(C,!1)})}k(r,m),At(),a()}Gt(["click","change"]);var dw=j('');function uw(r,e){kt(e,!0);const t=()=>Ve(D,"$createStore",s),o=()=>Ve(te,"$alerts",s),n=()=>Ve(io,"$soundController",s),[s,a]=Qt();let u=_t(e,"display",15),c=X(We([])),l=X(We({data:"",parser:"sql"})),p=X(We([])),h=X(We([])),g=X("ox");function _(){let A;if(i(l).parser==="json"){if(t().locationGroup.trim()===""){o().push({message:window.locales.converter.alerts.location_group,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}if(i(l).data.trim()===""){o().push({message:window.locales.converter.alerts.door_data,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}try{A=JSON.parse(i(l).data)}catch{o().push({message:window.locales.converter.alerts.json_fail,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}if(i(g)==="ox"||i(g)==="oxdb")if(A instanceof Array)for(let K of A){if(!K.doorLabel||K.doorLabel.trim()===""){o().push({message:window.locales.converter.alerts.format,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}const w=x(K,K.doorLabel,t().locationGroup);if(w)i(c).push(w);else{o().push({message:window.locales.converter.alerts.door_failed_array,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}}else{const K=x(A,"",t().locationGroup);K?i(c).push(K):(o().push({message:window.locales.converter.alerts.door_failed,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"))}else if(A instanceof Array)for(let K of A){const w=m(K,"",t().locationGroup);if(w)i(c).push(w);else{o().push({message:window.locales.converter.alerts.door_failed_array,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}}else{const K=m(A,"",t().locationGroup);K?i(c).push(K):(o().push({message:window.locales.converter.alerts.door_failed,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"))}}else{if(t().locationGroup.trim()===""){o().push({message:window.locales.converter.alerts.location_group,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}const w=i(l).data.split("VALUES")[1].split("),");for(let O of w){const L=O.split(",")[1].trim().slice(1,-1).trim(),S=O.indexOf("{"),z=O.lastIndexOf("}")+1,me=O.slice(S,z);let Ne;try{Ne=JSON.parse(me);const Pe=x(Ne,L,t().locationGroup);Pe?i(c).push(Pe):(o().push({message:window.locales.converter.alerts.door_failed+L,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"))}catch{o().push({message:window.locales.converter.alerts.json_fail+L,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");continue}}}}function m(A,K,w){const O={unique_id:"",perms:{job:[],identifier:[],items:[]},door_name:K,location_group:w,door_sound:A.audioLock||"",door_sound_unlock:A.audioUnlock||"",door_type:A.doorType==="double"||A.doors&&A.doors.length>1?"double":A.doorType==="garage"?"garage":"single",door_data:[],default_state:A.locked===!0,state:A.locked===!0,secret:A.hideLabel===!0,lockpickable:A.pickable===!0,camera:!1,distance:A.distance||A.maxDistance||2,autolock:A.autolock!=!1?A.autolock:void 0,keep_open:!1};if(A.authorizedJobs)for(let{name:L,grade:S}of A.authorizedJobs)O.perms.job.push({name:L,grade:S||0});if(A.authorizedGangs)for(let{name:L,grade:S}of A.authorizedGangs)O.perms.job.push({name:L,grade:S||0});if(A.authorizedCitizenIDs)for(let{cid:L,allowed:S}of A.authorizedCitizenIDs)S&&O.perms.identifier.push(L);if(Object.hasOwn(A,"items"))if(A.items instanceof Array)for(let{name:L,amount:S}of A.items)O.perms.items.push({name:L,amount:S||1,destroy:!1});else O.perms.items.push({name:A.items,amount:1,destroy:!1});if(A.doors&&A.doors.length>0)for(let{objName:L,objCoords:S,objHash:z}of A.doors){if(!L||!S||!z)return o().push({message:window.locales.converter.alerts.invalid_structure,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"),null;rt.send("get_hash_key",{objName:L,objHash:z},me=>{O.door_data.push({unique_id:In(),model_hash:me,door_coords:S})})}else{if(!Object.hasOwn(A,"objName")||!Object.hasOwn(A,"objCoords")||!Object.hasOwn(A,"objHash"))return o().push({message:window.locales.converter.alerts.invalid_structure,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg"),null;rt.send("get_hash_key",{objName:A.objName,objHash:A.objHash},L=>{O.door_data.push({unique_id:In(),model_hash:L,door_coords:A.objCoords})})}return O}function x(A,K,w){try{const O={unique_id:"",perms:{job:[],identifier:[],items:[]},door_name:K,location_group:w,door_sound:A.lockSound||"",door_sound_unlock:A.unlockSound||"",door_type:"",door_data:[],default_state:!1,state:!!A.state,secret:A.hideUi===!0,lockpickable:A.lockpick,camera:!1,distance:A.maxDistance||2,autolock:A.autolock!=!1?A.autolock:void 0,keep_open:A.holdOpen||!1};if(A.coords&&A.model?O.door_type="single":A.doors&&A.doors.length>1?O.door_type="double":A.auto&&A.doors&&A.doors.length>1?O.door_type="double-gate":A.auto&&(O.door_type="garage"),A.doors?A.doors.length>1:A.auto,A.doors&&A.doors.length>0)for(let L of A.doors)O.door_data.push({unique_id:In(),model_hash:L.model,door_coords:L.coords});else O.door_data.push({unique_id:In(),model_hash:A.model,door_coords:A.coords});if(A.groups&&A.groups.length>0)for(let L of A.groups)O.perms.job.push({name:L,grade:0});if(A.characters&&A.characters.length>0)for(let L of A.characters)O.perms.identifier.push(L);if(A.items&&A.items.length>0)for(let L of A.items)O.perms.items.push({name:L.name,amount:1,destroy:L.remove||!1});return A.passcode&&A.passcode.trim()!==""&&(isNaN(Number(A.passcode))||(O.perms.passcode=A.passcode.trim())),O}catch(O){return console.error(O),null}}function b(A){i(c).length=0,i(l).data="",i(l).parser="sql",A==="oxdb"?rt.send("get_doorlock_database_ox",{ok:!0},R):A==="qbdb"?rt.send("get_doorlock_database_qb",{ok:!0},y):T(g,A,!0)}function y(A){!A||A instanceof Array?(i(h).length=0,T(g,"qbdb")):A&&A.qb_doorlock&&(i(h).length=0,T(h,A.qb_doorlock,!0),T(g,"qbdb"))}function R(A){i(p).length=0,T(p,A.ox_doorlock,!0),T(g,"oxdb")}function C(A,K){A.splice(K,1)}function E(A){if(t().locationGroup.trim()===""){o().push({message:window.locales.converter.alerts.location_group,type:"alert-danger"}),le(te,o()),n().play("_notification.ogg");return}const K=document.querySelector(".import-list");for(let w=0;w{rt.send("get_doorlock_database_ox",{ok:!0},R)},1e3):i(g)==="qbdb"&&setTimeout(()=>{rt.send("get_doorlock_database_qb",{ok:!0},y)},1e3)}function N(A){return function(K){A&&A.call(this,K),A=null}}function I(A){for(let K=0;K{rt.send("delete_location_group",{location_group:t().locationGroups[K].name})},200)}}function q(A){if(A.length!=0){for(let K=0;K{rt.send("create_location_group",{location_group:A})},200)}}function B(A){for(let K=0;Kwindow.locales.converter.warning);var Ee=f(H,2),ee=d(Ee);ee.__click=()=>{b("ox")};var ve=d(ee),ue=f(d(ve));ue.nodeValue=` ${window.locales.converter.ox??""}`;var Te=f(ee,2);Te.__click=()=>{b("oxdb")};var Se=d(Te),ye=f(d(Se));ye.nodeValue=` ${window.locales.converter.oxdb??""}`;var xe=f(Te,2);xe.__click=()=>{b("qb")};var $e=d(xe),Le=f(d($e),1,!0);Le.nodeValue=window.locales.converter.qb;var Q=f(xe,2);Q.__click=()=>{b("qbdb")};var ie=d(Q),ge=f(d(ie));ge.nodeValue=` ${window.locales.converter.qbdb??""}`;var Ce=f(Ee,2),Ie=d(Ce);{var ke=A=>{qb(A,{handleConvert:_,handleImport:E,handleRemoveDoor:C,once:N,createNewLocationGroup:q,selectLocationGroup:B,removeLocationGroup:I,get convert_form(){return i(l)},set convert_form(K){T(l,K,!0)},get output_form(){return i(c)},set output_form(K){T(c,K,!0)}})},Re=A=>{var K=qe(),w=re(K);{var O=S=>{Ub(S,{handleConvert:_,handleImport:E,handleRemoveDoor:C,once:N,createNewLocationGroup:q,selectLocationGroup:B,removeLocationGroup:I,get ox_db(){return i(p)},set ox_db(z){T(p,z,!0)},get output_form(){return i(c)},set output_form(z){T(c,z,!0)}})},L=S=>{var z=qe(),me=re(z);{var Ne=ze=>{tw(ze,{handleConvert:_,handleImport:E,handleRemoveDoor:C,once:N,createNewLocationGroup:q,selectLocationGroup:B,removeLocationGroup:I,get convert_form(){return i(l)},set convert_form(nt){T(l,nt,!0)},get output_form(){return i(c)},set output_form(nt){T(c,nt,!0)}})},Pe=ze=>{var nt=qe(),wt=re(nt);{var yt=xt=>{cw(xt,{handleConvert:_,handleImport:E,handleRemoveDoor:C,once:N,createNewLocationGroup:q,selectLocationGroup:B,removeLocationGroup:I,get qb_db(){return i(h)},set qb_db(Tt){T(h,Tt,!0)},get output_form(){return i(c)},set output_form(Tt){T(c,Tt,!0)}})};Y(wt,xt=>{i(g)==="qbdb"&&xt(yt)},!0)}k(ze,nt)};Y(me,ze=>{i(g)==="qb"?ze(Ne):ze(Pe,!1)},!0)}k(S,z)};Y(w,S=>{i(g)==="oxdb"?S(O):S(L,!1)},!0)}k(A,K)};Y(Ie,A=>{i(g)==="ox"?A(ke):A(Re,!1)})}de(()=>{pt(ve,1,`text-light nav-link border-start-0 ${i(g)==="ox"?"active":""}`,"svelte-i4mmvz"),pt(Se,1,`text-light nav-link ${i(g)==="oxdb"?"active":""}`,"svelte-i4mmvz"),pt($e,1,`text-light nav-link ${i(g)==="qb"?"active":""}`,"svelte-i4mmvz"),pt(ie,1,`text-light nav-link ${i(g)==="qbdb"?"active":""}`,"svelte-i4mmvz")}),k(r,U),At(),a()}Gt(["click"]);var fw=j(' ',1),pw=j(''),vw=j(' ',1);function _w(r,e){kt(e,!0);const t=()=>Ve(te,"$alerts",c),o=()=>Ve(io,"$soundController",c),n=()=>Ve(D,"$createStore",c),s=()=>Ve(mr,"$general",c),a=()=>Ve(Is,"$sounds",c),u=()=>Ve(Vn,"$permissionsList",c),[c,l]=Qt();let p=X("create"),h="alert-success",g=X(We([])),_=X(We([])),m=X(We({status:!1,creating:!1,door_count:1,doors_selected:!1,doors_data:null,group_type:"job",editing:{state:!1,door:-1,selection:!1,status:!1},delete:{state:!1,door:-1,name:"",type:"door",callback:w=>{}},keypad:!1,keypad_processing:!1,keypad_success:!1,keypad_error:!1,selection_icon:!1,camera:{state:!1,door_id:-1,name:"",group:""},awaiting_backend:!1}));function x(w){w.currentTarget.dataset.name==="import"?i(g).length===0?rt.send("request_import_data",{ok:!0},O=>{b(O),T(p,"import")}):T(p,"import"):T(p,w.currentTarget.dataset.name,!0)}function b(w){if(w){T(g,[{category:"Uncategorized",id:"accordion-uncategorized",items:[]}],!0);for(let O=0;O=z.door_coords.x-O&&S.door_coords.x<=z.door_coords.x+O&&S.door_coords.y>=z.door_coords.y-O&&S.door_coords.y<=z.door_coords.y+O&&S.door_coords.z>=z.door_coords.z-O&&S.door_coords.z<=z.door_coords.z+O)return i(m).editing.selection==!0?(i(m).editing.state=!0,i(m).editing.door=L,i(m).editing.selection=!1,i(m).doors_selected=!0,i(m).doors_data=w,T(E,0),t().push({message:`${window.locales.main.alerts.door_selected[0]} "[ ${i(_)[L].location_group} ] ${i(_)[L].door_name}" ${window.locales.main.alerts.door_selected[1]}`,type:"alert-success"}),le(te,t()),o().play("_notification.ogg"),$(D,v(n).name=i(_)[L].door_name,v(n)),$(D,v(n).locationGroup=i(_)[L].location_group,v(n)),$(D,v(n).jobs=i(_)[L].perms.job,v(n)),$(D,v(n).identifier=i(_)[L].perms.identifier,v(n)),$(D,v(n).ace=i(_)[L].perms.ace?i(_)[L].perms.ace:[],v(n)),$(D,v(n).discord=i(_)[L].perms.discord?i(_)[L].perms.discord:[],v(n)),$(D,v(n).locked=i(_)[L].default_state,v(n)),$(D,v(n).lockpick=i(_)[L].lockpickable,v(n)),$(D,v(n).passcode=i(_)[L].passcode,v(n)),$(D,v(n).sound=i(_)[L].door_sound,v(n)),$(D,v(n).door_data=i(_)[L].door_data,v(n)),$(D,v(n).secret=i(_)[L].secret,v(n)),$(D,v(n).items=i(_)[L].perms.items?i(_)[L].perms.items:[],v(n)),!0):(t().push({message:`${window.locales.main.alerts.door_exists}[ ${i(_)[L].location_group} ] ${i(_)[L].door_name}`,type:"alert-danger"}),le(te,t()),o().play("_notification.ogg"),!0)}return!1}let C=X(We({version:"2.1.11",scale:1,position:{x:0,y:0}})),E=X(0),N=X(!1),I=X(void 0);function q(w){if(w&&Object.keys(w).length>0){let O=[];Object.keys(w).forEach(S=>{O.push(w[S])});const L=new Intl.Collator;return O.sort((S,z)=>L.compare(S.location_group,z.location_group)),O}else return[]}function B(w){if(i(_).length=0,w){w=q(w);for(let O=0;O0){if(w[O].items[0]instanceof String){let L=[];for(let S of w[O].items)L.push({name:S,destroy:!1,amount:1});w[O].items=L}}else w[O].items=[];T(_,w,!0)}}async function U(w){switch(window.rmd&&console.log("Received message => ",w.data.action,w.data),w.data.action){case"play_sound":o().setVolume(w.data.volume),o().play(w.data.sound);break;case"openui":let O=!1;w.data.door_perms.job&&(w.data.door_perms.job.job_name&&(s().job&&(s().job.job!=w.data.door_perms.job.job_name||s().job.grade!=w.data.door_perms.job.job_grade)&&(O=!0),$(mr,v(s).job={job:w.data.door_perms.job.job_name,grade:w.data.door_perms.job.job_grade},v(s))),w.data.door_perms.job.gang_name&&(s().gang&&(s().gang.gang!=w.data.door_perms.job.gang_name||s().gang.grade!=w.data.door_perms.job.gang_grade)&&(O=!0),$(mr,v(s).gang={gang:w.data.door_perms.job.gang_name,grade:w.data.door_perms.job.gang_grade},v(s)))),w.data.door_perms.identifier&&(s().identifier&&s().identifier!=w.data.door_perms.identifier&&(O=!0),$(mr,v(s).identifier=w.data.door_perms.identifier,v(s))),w.data.door_perms.ace&&(s().ace&&s().ace!=w.data.door_perms.ace&&(O=!0),$(mr,v(s).ace=w.data.door_perms.ace,v(s))),w.data.door_perms.discord&&(s().discord&&s().discord!=w.data.door_perms.discord&&(O=!0),$(mr,v(s).discord=w.data.door_perms.discord,v(s))),s().permissions&&s().permissions!=w.data.admin_perms&&(O=!0),$(mr,v(s).permissions=w.data.admin_perms,v(s)),i(_).length===0||O||w.data.total_doors!=i(_).length?rt.send("request_door_data",{ok:!0},S=>{B(S),w.data.admin_perms?T(p,"create"):T(p,"control"),i(m).doors_selected=!1,i(m).doors_data=null,i(m).status=!0,i(m).editing.status=!1}):(w.data.admin_perms?T(p,"create"):T(p,"control"),i(m).doors_selected=!1,i(m).doors_data=null,i(m).status=!0,i(m).editing.status=!1);break;case"closeui":i(m).status=!1;break;case"door_selected":T(E,i(E)+1);break;case"cancel_select_doors":T(E,0),i(m).status=!0,i(m).creating=!1,i(m).editing.state=!1,i(m).editing.door=-1,i(m).selection_icon=!1,fe();break;case"select_doors":if(fe(),i(m).selection_icon=!1,i(m).status=!0,i(m).creating=!1,i(m).editing.state=!1,i(m).editing.door=-1,T(I,w.data.data,!0),R(i(I)))return;if(i(m).editing.selection==!0){i(m).editing.selection=!1,t().push({message:window.locales.main.alerts.door_does_not_exist,type:"alert-warning"}),le(te,t()),o().play("_notification.ogg");return}i(m).doors_selected=!0,i(m).doors_data=i(I),T(E,0);for(let S=0;S{rt.send("keypad_closed",{ok:!0}),i(m).keypad=!1,i(m).keypad_processing=!1,i(m).keypad_success=!1,i(m).keypad_error=!1},1e3);break;case"close_camera":i(m).status=!0,i(m).camera.state=!1,i(m).camera.door_id=-1;break;case"start_data":rt.send("start_data_received",{ok:!0}),le(Is,w.data.load_sounds),$(Vn,v(u).length=0,v(u)),w.data.door_access_perms.Framework&&u().push("Framework"),w.data.door_access_perms.Identifiers&&u().push("Identifiers"),w.data.door_access_perms.AcePerms&&u().push("AcePerms"),w.data.door_access_perms.Discord&&u().push("Discord"),w.data.door_access_perms.Items&&u().push("Items"),u().push("Passcode"),le(Vn,u()),a().length>0&&o().batchAdd(a());break;case"doors_edited":if(w.data.doors){w.data.doors=q(w.data.doors);for(let S of w.data.doors){let z=!1;for(let me=0;me0){i(_).splice(z,0,w.data.doors[S]);break}if(z==i(_).length-1){i(_).push(w.data.doors[S]);break}}i(m).awaiting_backend&&(t().push({message:"Doors updated successfully.",type:"alert-success"}),le(te,t()),i(m).awaiting_backend=!1)}break;case"doors_deleted":if(w.data.doors){if(i(_).length==0)return;for(let S of w.data.doors)for(let z=i(_).length-1;z>=0;z--)if(i(_)[z].unique_id==S){i(_).splice(z,1);break}i(m).awaiting_backend&&(t().push({message:"Doors updated successfully.",type:"alert-success"}),le(te,t()),i(m).awaiting_backend=!1)}break;case"update_import_data":i(g).length=0;for(let S of w.data.data)J(S);break;case"showdrawtext":w.data.message&&(T(N,!0),$(mr,v(s).drawTextMessage=w.data.message,v(s)),$(mr,v(s).drawTextColor=w.data.colour,v(s)));break;case"hidedrawtext":T(N,!1);break;case"getaceperms":let L=await H();rt.send("aceperms",{aces:L});break;case"show_camera_overlay":i(m).camera.name=w.data.name,i(m).camera.group=w.data.group,i(m).camera.state=!0,i(m).camera=i(m).camera;break;case"hide_camera_overlay":i(m).camera.state=!1,i(m).camera=i(m).camera;break}}function J(w){let O=w.name;if(O.startsWith("[")&&O.includes("]")){let L=O.substring(O.indexOf("[")+1,O.indexOf("]"));L=L.replaceAll("_"," ").trim();let S=w.name.replaceAll("_"," ").replace(".json","");S=S.replace(/\[.*?\]/g,"").trim(),i(g).find(z=>z.category===L)?i(g).find(z=>z.category===L).items.push({fileName:w.name,name:S,data:w.data,imported:w.imported}):i(g).push({id:"accordion-"+L.toLowerCase().replace(/\s+/g,"-"),category:L,items:[{fileName:w.name,name:S,data:w.data,imported:w.imported}]})}else{let L=w.name.replaceAll("_"," ").replace(".json","");L=L.replace(/\[.*?\]/g,"").trim(),i(g)[0].items.push({fileName:w.name,name:L,data:w.data,imported:w.imported})}}async function H(){let w=[];for(let O of i(_))if(O.perms.ace)for(let L of O.perms.ace)w.includes(L)||w.push(L);return w}function W(w){if(w.key=="Escape")i(m).status=!1,i(m).editing.state=!1,i(m).editing.door=-1,i(m).keypad?(rt.send("keypad_closed",{ok:!0}),i(m).keypad=!1):rt.send("closeui",{ok:!0}),fe();else if(w.key=="F5"){let O=document.getElementById("create-doors");O.style.left=window.outerWidth/2-O.getBoundingClientRect().width/2+"px",O.style.top=window.outerHeight/2-O.getBoundingClientRect().height/2+"px"}}function fe(){$(D,v(n).name="",v(n)),$(D,v(n).locationGroup="",v(n)),$(D,v(n).jobs=[],v(n)),$(D,v(n).identifier=[],v(n)),$(D,v(n).ace=[],v(n)),$(D,v(n).discord=[],v(n)),$(D,v(n).locked=!0,v(n)),$(D,v(n).lockpick=!1,v(n)),$(D,v(n).garage=!1,v(n)),$(D,v(n).passcode="",v(n)),$(D,v(n).sound="",v(n)),$(D,v(n).door_data=[],v(n)),$(D,v(n).secret=!1,v(n)),$(D,v(n).camera=!1,v(n)),$(D,v(n).items=[],v(n)),le(D,n())}let be,Oe=X("");Dr(()=>{if(be=localStorage.getItem("cd_doorlock_settings"),be)try{be=JSON.parse(be),T(C,be,!0)}catch(w){console.error("Failed to parse settings from storage, using defaults.",w),window.localStorage.setItem("cd_doorlock_settings",JSON.stringify(i(C)))}else window.localStorage.setItem("cd_doorlock_settings",JSON.stringify(i(C)));T(Oe,i(C).position.x==0&&i(C).position.y==0?`--scale:${i(C).scale};`:`top: ${i(C).position.y}px; left: ${i(C).position.x}px;--scale:${i(C).scale};`,!0)});function Ee(){i(m).delete.state=!1,i(m).delete.door=-1,i(m).delete.name="",i(m).delete.type="door"}function ee(w){if(!(i(m).camera.state||i(m).delete.state||i(m).keypad||i(m).selection_icon))if(i(m).status)if(!document.getElementById("create-doors").contains(w.target))W({key:"Escape"});else return;else return}function ve(w){const{detail:O}=w;if(O){const{x:L,y:S}=O;i(C).position.x=Number(L.split("px")[0]),i(C).position.y=Number(S.split("px")[0]),window.localStorage.setItem("cd_doorlock_settings",JSON.stringify(i(C)))}}var ue=vw();Xo("dragend",on,y),Xo("message",on,U),Xo("keydown",on,W),Xo("mousedown",on,ee);var Te=re(ue);{var Se=w=>{Cb(w,{})};Y(Te,w=>{i(N)&&w(Se)})}var ye=f(Te,2);{var xe=w=>{Ab(w,{get name(){return i(m).camera.name},get group(){return i(m).camera.group}})};Y(ye,w=>{i(m).camera.state&&w(xe)})}var $e=f(ye,2);{var Le=w=>{Nd(w,{click:Ee,get name(){return i(m).delete.name},get doors(){return i(_)},set doors(O){T(_,O,!0)},get display(){return i(m)},set display(O){T(m,O,!0)}})};Y($e,w=>{i(m).delete.state&&w(Le)})}var Q=f($e,2);{var ie=w=>{Eb(w)};Y(Q,w=>{i(m).selection_icon&&w(ie)})}var ge=f(Q,2),Ce=d(ge);{var Ie=w=>{eb(w,{get sound(){return io},get display(){return i(m)},set display(O){T(m,O,!0)}})};Y(Ce,w=>{i(m).keypad&&w(Ie)})}var ke=f(Ce,2);{var Re=w=>{var O=fw(),L=re(O),S=f(L,2),z=d(S),me=d(z),Ne=d(me);Ne.nodeValue=`${window.locales.main.info??""} `;var Pe=f(me,2);Vf(Pe,{type:h});var ze=f(Pe,2);Kg(ze,{get active(){return i(p)},click:x,get permissions(){return s().permissions}});var nt=f(ze,2),wt=d(nt);{var yt=Xe=>{Fg(Xe,{get doors(){return i(_)},set doors(Ye){T(_,Ye,!0)},get display(){return i(m)},set display(Ye){T(m,Ye,!0)}})},xt=Xe=>{var Ye=qe(),lt=re(Ye);{var mt=pe=>{rg(pe,{get doors(){return i(_)},set doors(_e){T(_,_e,!0)},get display(){return i(m)},set display(_e){T(m,_e,!0)}})},F=pe=>{var _e=qe(),ne=re(_e);{var De=Ze=>{Ug(Ze,{get settings(){return i(C)}})},Ue=Ze=>{var ht=qe(),Fe=re(ht);{var et=Ge=>{yb(Ge,{get importData(){return i(g)},set importData(st){T(g,st,!0)}})},it=Ge=>{var st=qe(),dt=re(st);{var at=M=>{Ib(M,{get importData(){return i(g)},set importData(Z){T(g,Z,!0)},get doors(){return i(_)},set doors(Z){T(_,Z,!0)}})},ut=M=>{var Z=qe(),G=re(Z);{var Be=Je=>{uw(Je,{get doors(){return i(_)},set doors(ct){T(_,ct,!0)},get display(){return i(m)},set display(ct){T(m,ct,!0)}})};Y(G,Je=>{i(p)=="converter"&&Je(Be)},!0)}k(M,Z)};Y(dt,M=>{i(p)=="export"?M(at):M(ut,!1)},!0)}k(Ge,st)};Y(Fe,Ge=>{i(p)=="import"?Ge(et):Ge(it,!1)},!0)}k(Ze,ht)};Y(ne,Ze=>{i(p)=="settings"?Ze(De):Ze(Ue,!1)},!0)}k(pe,_e)};Y(lt,pe=>{i(p)=="control"?pe(mt):pe(F,!1)},!0)}k(Xe,Ye)};Y(wt,Xe=>{i(p)=="create"?Xe(yt):Xe(xt,!1)})}var Tt=f(nt,2),oe=d(Tt);oe.textContent=window.locales.main.version;var we=f(oe,2),Ke=d(we);xo(Ke,()=>window.locales.main.logo),hf(S,(Xe,Ye)=>Jg?.(Xe,Ye),()=>({cursorOver:"grab",cursorDragging:"grabbing",handle:"#handle",x:i(C).position.x+"px",y:i(C).position.y+"px"})),de(()=>{Fn(L,`left:${i(C).position.x??""}px;top:${i(C).position.y??""}px;position:absolute; --scale:${i(C).scale??""};`),Fn(S,`left:${i(C).position.x??""}px;top:${i(C).position.y??""}px;position:absolute; --scale:${i(C).scale??""};`)}),Xo("move",S,ve),Yt(1,S,()=>ki,()=>({y:500,duration:300})),Yt(2,S,()=>ki,()=>({y:500,duration:300})),k(w,O)};Y(ke,w=>{i(m).status&&i(m).creating===!1&&w(Re)})}var A=f(ke,2);{var K=w=>{var O=pw(),L=d(O),S=d(L),z=d(S),me=d(z);me.nodeValue=`${window.locales.create.selection.select[0]??""} `;var Ne=f(me),Pe=f(d(Ne));Pe.nodeValue=` ${window.locales.create.selection.select[1]??""}`;var ze=f(Ne);ze.nodeValue=` ${window.locales.create.selection.select[2]??""}`;var nt=f(z,2),wt=d(nt);wt.nodeValue=`${window.locales.create.selection.cancel[0]??""} `;var yt=f(wt),xt=f(d(yt));xt.nodeValue=` ${window.locales.create.selection.cancel[1]??""}`;var Tt=f(yt);Tt.nodeValue=` ${window.locales.create.selection.cancel[2]??""}`;var oe=f(S,2),we=d(oe),Ke=d(we);Ke.nodeValue=`${window.locales.create.selection.amount_selected[0]??""} `;var Xe=f(Ke),Ye=d(Xe),lt=f(Xe);lt.nodeValue=` ${window.locales.create.selection.amount_selected[1]??""}`,de(()=>ce(Ye,`${i(E)??""}/${(i(m).door_count==3||i(m).door_count==4||i(m).door_count==5?1:i(m).door_count)??""}`)),k(w,O)};Y(A,w=>{i(m).creating&&w(K)})}k(r,ue),At(),l()}pf(_w,{target:document.getElementById("app")});
diff --git a/resources/cd_doorlock/html/css/vendor/bootstrap-custom-1.0.0.min.css b/resources/cd_doorlock/html/css/vendor/bootstrap-custom-1.0.0.min.css
deleted file mode 100644
index 17b785025..000000000
--- a/resources/cd_doorlock/html/css/vendor/bootstrap-custom-1.0.0.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Bootstrap v5.2.0 (https://getbootstrap.com/)
- * Copyright 2011-2022 The Bootstrap Authors
- * Copyright 2011-2022 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */dd,legend{margin-bottom:.5rem}progress,sub,sup{vertical-align:baseline}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.g-0,.gy-0,.row{--bs-gutter-y:0}.btn-check,.form-floating>label{position:absolute;pointer-events:none}.btn,.btn-link{--bs-btn-font-weight:400}.carousel-indicators .active,.form-control:disabled,select:disabled{opacity:1}.dropdown-menu,.dropdown-menu-dark{--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd}.dropdown-header,.dropdown-item,.dropdown-toggle,.input-group-text,.navbar-brand{white-space:nowrap}.nav,.navbar-nav{--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;list-style:none}.btn-group-vertical,.navbar-nav{-webkit-box-orient:vertical;-webkit-box-direction:normal}.btn-group-vertical,.card,.navbar-nav{-webkit-box-direction:normal}.card,code{word-wrap:break-word}.breadcrumb,.carousel-indicators,.dropdown-menu,.nav,.navbar-nav,.pagination{list-style:none}.spinner-border,.spinner-grow{--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s}.hstack,.vr,.vstack{align-self:stretch}.border-danger,.border-dark,.border-info,.border-light,.border-primary,.border-secondary,.border-success,.border-warning,.border-white{--bs-border-opacity:1}.border-1,:root{--bs-border-width:1px}.text-black,.text-black-50,.text-body,.text-danger,.text-dark,.text-info,.text-light,.text-muted,.text-primary,.text-reset,.text-secondary,.text-success,.text-warning,.text-white,.text-white-50{--bs-text-opacity:1}.bg-black,.bg-body,.bg-danger,.bg-dark,.bg-info,.bg-light,.bg-primary,.bg-secondary,.bg-success,.bg-transparent,.bg-warning,.bg-white{--bs-bg-opacity:1}:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#ff5d57;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#474747;--bs-gray-dark:#333333;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#474747;--bs-gray-700:#3d3d3d;--bs-gray-800:#333333;--bs-gray-900:#1f1f1f;--bs-primary:#0d6efd;--bs-secondary:#474747;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#ff5d57;--bs-light:#f8f9fa;--bs-dark:#1f1f1f;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:71,71,71;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:255,93,87;--bs-light-rgb:248,249,250;--bs-dark-rgb:31,31,31;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:31,31,31;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#1f1f1f;--bs-body-bg:#fff;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#0d6efd;--bs-link-hover-color:#0a58ca;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}.alert-heading,a>code,hr,pre code{color:inherit}hr{margin:1rem 0;border:0;border-top:1px solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}address,dl,ol,p,ul{margin-bottom:1rem}address,legend{line-height:inherit}.h1,h1{font-size:calc(1.375rem + 1.5vw)}.h2,h2{font-size:calc(1.325rem + .9vw)}.h3,h3{font-size:calc(1.3rem + .6vw)}.h4,h4{font-size:calc(1.275rem + .3vw)}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}dl,ol,p,ul{margin-top:0}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}.btn,.form-control-color:not(:disabled):not([readonly]),.form-control[type=file]:not(:disabled):not([readonly]),[role=button],[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled),summary{cursor:pointer}address{font-style:normal}ol,ul{padding-left:2rem}.accordion-header,.blockquote>:last-child,.card-text:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.alert-link,dt{font-weight:700}dd{margin-left:0}blockquote,figure{margin:0 0 1rem}.blockquote,.blockquote-footer,pre{margin-bottom:1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}code,kbd,pre{font-size:.875em}pre{display:block;margin-top:0;overflow:auto}pre code{font-size:inherit;word-break:normal}code{color:var(--bs-code-color)}kbd{padding:.1875rem .375rem;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#ced4da;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}.figure,.list-inline-item,label,output{display:inline-block}.accordion-flush .accordion-item .accordion-button,.list-group-flush,.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header,button{border-radius:0}fieldset,iframe{border:0}.form-control-plaintext:focus,.form-range:focus,button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}select{word-wrap:normal}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0}legend{float:left;width:100%;padding:0;font-size:calc(1.275rem + .3vw)}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-weight:300;line-height:1.2}.form-control,.form-select{-webkit-appearance:none;font-weight:400}summary{display:list-item}.d-none,[hidden]{display:none!important}.input-group,.row{display:-webkit-box;display:-ms-flexbox}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw)}.display-2{font-size:calc(1.575rem + 3.9vw)}.display-3{font-size:calc(1.525rem + 3.3vw)}.display-4{font-size:calc(1.475rem + 2.7vw)}.display-5{font-size:calc(1.425rem + 2.1vw)}.display-6{font-size:calc(1.375rem + 1.5vw)}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{font-size:1.25rem}.blockquote-footer,.figure-caption{font-size:.875em;color:#474747}.blockquote-footer{margin-top:-1rem}.blockquote-footer::before{content:"\2014\00A0"}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem}.figure-img{margin-bottom:.5rem;line-height:1}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}.col-sm{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-sm-auto,.row-cols-sm-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-12,.row-cols-sm-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-sm-6,.row-cols-sm-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-4,.row-cols-sm-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-sm-3,.row-cols-sm-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-sm-2,.row-cols-sm-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}.col-md{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-md-auto,.row-cols-md-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-12,.row-cols-md-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-md-6,.row-cols-md-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-4,.row-cols-md-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-md-3,.row-cols-md-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-md-2,.row-cols-md-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}.col-lg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-lg-auto,.row-cols-lg-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-12,.row-cols-lg-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-lg-6,.row-cols-lg-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-4,.row-cols-lg-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-lg-3,.row-cols-lg-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-lg-2,.row-cols-lg-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.display-6,.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4,legend{font-size:1.5rem}.display-1{font-size:5rem}.display-2{font-size:4.5rem}.display-3{font-size:4rem}.display-4{font-size:3.5rem}.display-5{font-size:3rem}.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}.col-xl{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-xl-auto,.row-cols-xl-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-12,.row-cols-xl-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-xl-6,.row-cols-xl-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-4,.row-cols-xl-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-xl-3,.row-cols-xl-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-xl-2,.row-cols-xl-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}.row{--bs-gutter-x:1.5rem;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-auto,.row-cols-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-12,.row-cols-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-6,.row-cols-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-4,.row-cols-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-3,.row-cols-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-2,.row-cols-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-1,.col-5{-webkit-box-flex:0}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-7,.col-8{-webkit-box-flex:0}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-10,.col-9{-webkit-box-flex:0}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}.table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table-danger,.table-info,.table-light,.table-primary,.table-secondary,.table-success,.table-warning{--bs-table-color:#000;--bs-table-striped-color:#000;--bs-table-active-color:#000;--bs-table-hover-color:#000}.table>:not(caption)>*>*{padding:.5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;-webkit-box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg);box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.form-floating>.form-control-plaintext~label,.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.list-group-flush>.list-group-item:last-child,.table-borderless>:not(caption)>*>*{border-bottom-width:0}.list-group-item+.list-group-item,.table-borderless>:not(:first-child){border-top-width:0}.table-striped-columns>:not(caption)>tr>:nth-child(2n),.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-danger,.table-dark,.table-info,.table-light,.table-primary,.table-secondary,.table-success,.table-warning{color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-border-color:#bacbe6;--bs-table-striped-bg:#c5d7f2;--bs-table-active-bg:#bacbe6;--bs-table-hover-bg:#bfd1ec}.table-secondary{--bs-table-bg:#dadada;--bs-table-border-color:#c4c4c4;--bs-table-striped-bg:#cfcfcf;--bs-table-active-bg:#c4c4c4;--bs-table-hover-bg:#cacaca}.table-success{--bs-table-bg:#d1e7dd;--bs-table-border-color:#bcd0c7;--bs-table-striped-bg:#c7dbd2;--bs-table-active-bg:#bcd0c7;--bs-table-hover-bg:#c1d6cc}.table-info{--bs-table-bg:#cff4fc;--bs-table-border-color:#badce3;--bs-table-striped-bg:#c5e8ef;--bs-table-active-bg:#badce3;--bs-table-hover-bg:#bfe2e9}.table-warning{--bs-table-bg:#fff3cd;--bs-table-border-color:#e6dbb9;--bs-table-striped-bg:#f2e7c3;--bs-table-active-bg:#e6dbb9;--bs-table-hover-bg:#ece1be}.table-danger{--bs-table-bg:#ffdfdd;--bs-table-border-color:#e6c9c7;--bs-table-striped-bg:#f2d4d2;--bs-table-active-bg:#e6c9c7;--bs-table-hover-bg:#eccecc}.table-light{--bs-table-bg:#f8f9fa;--bs-table-border-color:#dfe0e1;--bs-table-striped-bg:#ecedee;--bs-table-active-bg:#dfe0e1;--bs-table-hover-bg:#e5e6e7}.table-dark{--bs-table-color:#fff;--bs-table-bg:#1f1f1f;--bs-table-border-color:#353535;--bs-table-striped-bg:#2a2a2a;--bs-table-striped-color:#fff;--bs-table-active-bg:#353535;--bs-table-active-color:#fff;--bs-table-hover-bg:#303030;--bs-table-hover-color:#fff}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.collapsing,.dropdown-divider,.form-control[type=file]{overflow:hidden}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#ced4da}.form-control,.form-control:focus{color:#1f1f1f;background-color:#fff}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;background-clip:padding-box;border:1px solid #ced4da;-moz-appearance:none;appearance:none;border-radius:.375rem;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.form-control:focus{border-color:#86b7fe;outline:0;-webkit-box-shadow:0 0 0 .25rem rgba(13,110,253,.25);box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control:disabled,.form-select:disabled{background-color:#e9ecef}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:#474747;opacity:1}.form-control:-ms-input-placeholder{color:#474747;opacity:1}.form-control::-ms-input-placeholder{color:#474747;opacity:1}.form-control::placeholder{color:#474747;opacity:1}.form-control-plaintext,.form-select,.input-group-text{line-height:1.5;color:#1f1f1f}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#1f1f1f;background-color:#e9ecef;pointer-events:none;border:0 solid;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;border-color:inherit}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;background-color:transparent;border:solid transparent;border-width:1px 0}.form-check-input,.form-select{background-color:#fff;-moz-appearance:none;background-repeat:no-repeat}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color::-moz-color-swatch{border:0!important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;appearance:none}.form-check-input:focus,.form-select:focus{border-color:#86b7fe;outline:0;-webkit-box-shadow:0 0 0 .25rem rgba(13,110,253,.25);box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #1f1f1f}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;appearance:none;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;-webkit-filter:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;-webkit-transition:background-position .15s ease-in-out;transition:background-position .15s ease-in-out}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{clip:rect(0,0,0,0)}.carousel,.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center,.form-floating,.input-group,.input-group .btn{position:relative}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;-webkit-filter:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25);box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid transparent;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transition:opacity .1s ease-in-out,-webkit-transform .1s ease-in-out;transition:opacity .1s ease-in-out,transform .1s ease-in-out,-webkit-transform .1s ease-in-out}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext::-webkit-input-placeholder,.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control-plaintext:-ms-input-placeholder,.form-floating>.form-control:-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-ms-input-placeholder,.form-floating>.form-control::-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.btn-toolbar,.input-group-text{display:-webkit-box;display:-ms-flexbox}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:3}.input-group .btn{z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;text-align:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.alert-dismissible,.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.invalid-tooltip,.valid-tooltip{z-index:5;display:none;padding:.25rem .5rem;border-radius:.375rem;top:100%;position:absolute;max-width:100%}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select,.input-group>:not(:first-child):not(.dropdown-menu):not(.form-floating):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;-webkit-box-shadow:0 0 0 .25rem rgba(25,135,84,.25);box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;-webkit-box-shadow:0 0 0 .25rem rgba(25,135,84,.25);box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{-webkit-box-shadow:0 0 0 .25rem rgba(25,135,84,.25);box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.invalid-feedback,.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#ff5d57}.invalid-tooltip{margin-top:.1rem;font-size:.875rem;color:#000;background-color:rgba(255,93,87,.9)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#ff5d57;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ff5d57'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ff5d57' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#ff5d57;-webkit-box-shadow:0 0 0 .25rem rgba(255,93,87,.25);box-shadow:0 0 0 .25rem rgba(255,93,87,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#ff5d57}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ff5d57'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ff5d57' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#ff5d57;-webkit-box-shadow:0 0 0 .25rem rgba(255,93,87,.25);box-shadow:0 0 0 .25rem rgba(255,93,87,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#ff5d57}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#ff5d57}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{-webkit-box-shadow:0 0 0 .25rem rgba(255,93,87,.25);box-shadow:0 0 0 .25rem rgba(255,93,87,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#ff5d57}.btn-check:focus+.btn,.btn:focus,.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-line-height:1.5;--bs-btn-color:#1f1f1f;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.btn-primary,.btn-secondary,.btn-success{--bs-btn-color:#fff;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff}.btn-check:focus+.btn,.btn:focus{outline:0;-webkit-box-shadow:var(--bs-btn-focus-box-shadow);box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:active+.btn,.btn-check:checked+.btn,.btn.active,.btn.show,.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:active+.btn:focus,.btn-check:checked+.btn:focus,.btn.active:focus,.btn.show:focus,.btn:active:focus{-webkit-box-shadow:var(--bs-btn-focus-box-shadow);box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.dropdown-toggle::after,.dropup .dropdown-toggle::after{vertical-align:.255em;content:"";border-right:.3em solid transparent;border-left:.3em solid transparent}.btn-primary{--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-bg:#474747;--bs-btn-border-color:#474747;--bs-btn-hover-bg:#3c3c3c;--bs-btn-hover-border-color:#393939;--bs-btn-focus-shadow-rgb:99,99,99;--bs-btn-active-bg:#393939;--bs-btn-active-border-color:#353535;--bs-btn-disabled-bg:#474747;--bs-btn-disabled-border-color:#474747}.btn-success{--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-danger,.btn-info,.btn-light,.btn-warning{--bs-btn-color:#000;--bs-btn-hover-color:#000;--bs-btn-active-color:#000;--bs-btn-disabled-color:#000;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125)}.btn-info{--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-bg:#ff5d57;--bs-btn-border-color:#ff5d57;--bs-btn-hover-bg:#ff7570;--bs-btn-hover-border-color:#ff6d68;--bs-btn-focus-shadow-rgb:217,79,74;--bs-btn-active-bg:#ff7d79;--bs-btn-active-border-color:#ff6d68;--bs-btn-disabled-bg:#ff5d57;--bs-btn-disabled-border-color:#ff5d57}.btn-light{--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#1f1f1f;--bs-btn-border-color:#1f1f1f;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#414141;--bs-btn-hover-border-color:#353535;--bs-btn-focus-shadow-rgb:65,65,65;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4c4c4c;--bs-btn-active-border-color:#353535;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#1f1f1f;--bs-btn-disabled-border-color:#1f1f1f}.btn-outline-primary,.btn-outline-secondary{--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-bg:transparent;--bs-gradient:none;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-outline-secondary{--bs-btn-color:#474747;--bs-btn-border-color:#474747;--bs-btn-hover-bg:#474747;--bs-btn-hover-border-color:#474747;--bs-btn-focus-shadow-rgb:71,71,71;--bs-btn-active-bg:#474747;--bs-btn-active-border-color:#474747;--bs-btn-disabled-color:#474747;--bs-btn-disabled-border-color:#474747}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-danger,.btn-outline-info,.btn-outline-light,.btn-outline-warning{--bs-btn-hover-color:#000;--bs-btn-active-color:#000;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-bg:transparent;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-outline-danger{--bs-btn-color:#ff5d57;--bs-btn-border-color:#ff5d57;--bs-btn-hover-bg:#ff5d57;--bs-btn-hover-border-color:#ff5d57;--bs-btn-focus-shadow-rgb:255,93,87;--bs-btn-active-bg:#ff5d57;--bs-btn-active-border-color:#ff5d57;--bs-btn-disabled-color:#ff5d57;--bs-btn-disabled-border-color:#ff5d57}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-outline-dark{--bs-btn-color:#1f1f1f;--bs-btn-border-color:#1f1f1f;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#1f1f1f;--bs-btn-hover-border-color:#1f1f1f;--bs-btn-focus-shadow-rgb:31,31,31;--bs-btn-active-color:#fff;--bs-btn-active-bg:#1f1f1f;--bs-btn-active-border-color:#1f1f1f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#1f1f1f;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#1f1f1f;--bs-gradient:none}.btn-link{--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#474747;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.dropdown-item,.nav-link,.navbar-brand,.navbar-toggler:focus,.navbar-toggler:hover,.page-link{text-decoration:none}.btn-link:focus{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.5rem}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem}.fade{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade:not(.show),.modal-backdrop.fade,.offcanvas-backdrop.fade,.toast.showing{opacity:0}.badge:empty,.collapse:not(.show),.navbar-expand .navbar-toggler,.navbar-expand .offcanvas .offcanvas-header,.popover-header:empty,.tab-content>.tab-pane,.toast:not(.show){display:none}.collapsing{height:0;-webkit-transition:height .35s;transition:height .35s}.collapsing.collapse-horizontal{width:0;height:auto;-webkit-transition:width .35s;transition:width .35s}.dropdown-toggle::after{display:inline-block;margin-left:.255em;border-top:.3em solid;border-bottom:0}.card>hr,.dropdown-toggle-split::after,.dropdown-toggle:empty::after,.dropend .dropdown-toggle-split::after,.dropend .dropdown-toggle:empty::after,.dropstart .dropdown-toggle:empty::after,.dropup .dropdown-toggle-split::after,.dropup .dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:#1f1f1f;--bs-dropdown-bg:#fff;--bs-dropdown-border-radius:0.375rem;--bs-dropdown-border-width:1px;--bs-dropdown-inner-border-radius:calc(0.375rem - 1px);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color:#1f1f1f;--bs-dropdown-link-hover-color:#1c1c1c;--bs-dropdown-link-hover-bg:#e9ecef;--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#474747;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:1000;display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;border-top:0;border-bottom:.3em solid}.dropend .dropdown-toggle::after,.dropstart .dropdown-toggle::before{border-top:.3em solid transparent;border-bottom:.3em solid transparent;content:""}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;border-right:0;border-left:.3em solid;vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;border-right:.3em solid;vertical-align:0}.card>hr,.dropstart .dropdown-toggle-split::before{margin-right:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.carousel-item-next,.carousel-item-prev,.carousel-item.active,.dropdown-menu.show,.tab-content>.active{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color)}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#333333;--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.nav,.navbar{display:-webkit-box;display:-ms-flexbox}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child),.page-item:not(:first-child) .page-link{margin-left:-1px}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.card-img,.card-img-bottom,.card-img-top,.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#474747;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:rgba(255, 255, 255, 0.1);--bs-nav-tabs-border-radius:0.375rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef rgba(255, 255, 255, 0.1);--bs-nav-tabs-link-active-color:white;--bs-nav-tabs-link-active-bg:#333333;--bs-nav-tabs-link-active-border-color:rgba(255, 255, 255, 0.1);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(var(--bs-nav-tabs-border-width) * -1);background:0 0;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-pills .nav-link:disabled,.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(var(--bs-nav-tabs-border-width) * -1);border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:0.375rem;--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill .nav-item,.nav-fill>.nav-link{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:inherit;flex-wrap:inherit;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color)}.card-header-pills,.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.navbar-text,.navbar-toggler{color:var(--bs-navbar-color)}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link,.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);-webkit-transition:var(--bs-navbar-toggler-transition);transition:var(--bs-navbar-toggler-transition)}.navbar-toggler:focus{outline:0;-webkit-box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width);box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}.navbar-expand{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal,.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.card,.progress-bar{-ms-flex-direction:column}.navbar-dark{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-border-width:1px;--bs-card-border-color:rgba(255, 255, 255, 0.1);--bs-card-border-radius:0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:#333333;--bs-card-cap-color:white;--bs-card-height: ;--bs-card-color:white;--bs-card-bg:#3d3d3d;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;flex-direction:column;min-width:0;height:var(--bs-card-height);background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card-img,.card-img-top,.card>.list-group:first-child{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card>.list-group:last-child{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0}.card>.list-group:last-child{border-bottom-width:0}.accordion-flush .accordion-item:first-child,.accordion-item:not(:first-of-type),.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-footer,.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{margin-bottom:0;border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.accordion-button,.alert,.btn .badge,.list-group-item,.page-link{position:relative}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}.accordion-button,.breadcrumb{display:-webkit-box;display:-ms-flexbox}.list-group,.progress-bar{-webkit-box-orient:vertical;-webkit-box-direction:normal}.accordion{--bs-accordion-color:#000;--bs-accordion-bg:#fff;--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:1px;--bs-accordion-border-radius:0.375rem;--bs-accordion-inner-border-radius:calc(0.375rem - 1px);--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color:#86b7fe;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:#0c63e4;--bs-accordion-active-bg:#e7f1ff}.accordion-button{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;-webkit-transition:var(--bs-accordion-transition);transition:var(--bs-accordion-transition)}.badge,.progress-bar{text-align:center;white-space:nowrap}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);-webkit-box-shadow:inset 0 calc(var(--bs-accordion-border-width) * -1) 0 var(--bs-accordion-border-color);box-shadow:inset 0 calc(var(--bs-accordion-border-width) * -1) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);-webkit-transform:var(--bs-accordion-btn-icon-transform);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{-ms-flex-negative:0;flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);-webkit-transition:var(--bs-accordion-btn-icon-transition);transition:var(--bs-accordion-btn-icon-transition)}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;-webkit-box-shadow:var(--bs-accordion-btn-focus-box-shadow);box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type,.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:#474747;--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:#474747;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:#fff;--bs-pagination-border-width:1px;--bs-pagination-border-color:#dee2e6;--bs-pagination-border-radius:0.375rem;--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:#e9ecef;--bs-pagination-hover-border-color:#dee2e6;--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:#e9ecef;--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:#474747;--bs-pagination-disabled-bg:#fff;--bs-pagination-disabled-border-color:#dee2e6;display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:0}.page-link{display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;-webkit-box-shadow:var(--bs-pagination-focus-box-shadow);box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item .page-link{border-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:0.5rem}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:0.25rem}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:0.375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.progress,.progress-bar{display:-webkit-box;display:-ms-flexbox;overflow:hidden}.btn .badge{top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:0.375rem;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:#084298;--bs-alert-bg:#cfe2ff;--bs-alert-border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color:#2b2b2b;--bs-alert-bg:#dadada;--bs-alert-border-color:#c8c8c8}.alert-secondary .alert-link{color:#222}.alert-success{--bs-alert-color:#0f5132;--bs-alert-bg:#d1e7dd;--bs-alert-border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color:#055160;--bs-alert-bg:#cff4fc;--bs-alert-border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color:#664d03;--bs-alert-bg:#fff3cd;--bs-alert-border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color:#993834;--bs-alert-bg:#ffdfdd;--bs-alert-border-color:#ffcecd}.alert-danger .alert-link{color:#7a2d2a}.alert-light{--bs-alert-color:#636464;--bs-alert-bg:#fefefe;--bs-alert-border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color:#131313;--bs-alert-bg:#d2d2d2;--bs-alert-border-color:#bcbcbc}.alert-dark .alert-link{color:#0f0f0f}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:#e9ecef;--bs-progress-border-radius:0.375rem;--bs-progress-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:var(--bs-progress-bar-color);background-color:var(--bs-progress-bar-bg);-webkit-transition:var(--bs-progress-bar-transition);transition:var(--bs-progress-bar-transition)}.popover,.tooltip{font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;word-wrap:break-word;text-decoration:none}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}.list-group{--bs-list-group-color:#1f1f1f;--bs-list-group-bg:#fff;--bs-list-group-border-color:rgba(0, 0, 0, 0.125);--bs-list-group-border-width:1px;--bs-list-group-border-radius:0.375rem;--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:#3d3d3d;--bs-list-group-action-hover-color:#3d3d3d;--bs-list-group-action-hover-bg:#f8f9fa;--bs-list-group-action-active-color:#1f1f1f;--bs-list-group-action-active-bg:#e9ecef;--bs-list-group-disabled-color:#474747;--bs-list-group-disabled-bg:#fff;--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.modal-dialog-centered,.toast-header{display:-webkit-box;display:-ms-flexbox}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item.active{margin-top:calc(var(--bs-list-group-border-width) * -1);border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.modal-content,.offcanvas{-webkit-box-orient:vertical;outline:0;-webkit-box-direction:normal}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#2b2b2b;background-color:#dadada}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#2b2b2b;background-color:#c4c4c4}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#2b2b2b;border-color:#2b2b2b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#993834;background-color:#ffdfdd}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#993834;background-color:#e6c9c7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#993834;border-color:#993834}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#131313;background-color:#d2d2d2}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#131313;background-color:#bdbdbd}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#131313;border-color:#131313}.btn-close{-webkit-box-sizing:content-box;box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.modal-content,.popover,.toast,.toast-header{background-clip:padding-box}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;-webkit-box-shadow:0 0 0 .25rem rgba(13,110,253,.25);box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.25}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(255, 255, 255, 0.85);--bs-toast-border-width:1px;--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:0.375rem;--bs-toast-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color:#474747;--bs-toast-header-bg:rgba(255, 255, 255, 0.85);--bs-toast-header-border-color:rgba(0, 0, 0, 0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);-webkit-box-shadow:var(--bs-toast-box-shadow);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast-container{position:absolute;z-index:1090;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(var(--bs-toast-padding-x) * -.5);margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:#fff;--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:1px;--bs-modal-border-radius:0.5rem;--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius:calc(0.5rem - 1px);--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:1px;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}.modal.show .modal-dialog,.offcanvas.show:not(.hiding),.offcanvas.showing{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body,.modal-fullscreen .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content,.modal-header{display:-webkit-box;display:-ms-flexbox}.modal-content{position:relative;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius)}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(var(--bs-modal-header-padding-y) * -.5) calc(var(--bs-modal-header-padding-x) * -.5) calc(var(--bs-modal-header-padding-y) * -.5) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:#fff;--bs-tooltip-bg:#000;--bs-tooltip-border-radius:0.375rem;--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);line-height:1.5;text-align:left;text-align:start;font-size:var(--bs-tooltip-font-size);opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:#fff;--bs-popover-border-width:1px;--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:0.5rem;--bs-popover-inner-border-radius:calc(0.5rem - 1px);--bs-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:var(--bs-heading-color);--bs-popover-header-bg:#f0f0f0;--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:#1f1f1f;--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);line-height:1.5;text-align:left;text-align:start;font-size:var(--bs-popover-font-size);background-color:var(--bs-popover-bg);border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border:0 solid transparent}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc((var(--bs-popover-arrow-height) * -1) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc((var(--bs-popover-arrow-height) * -1) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc((var(--bs-popover-arrow-height) * -1) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(var(--bs-popover-arrow-width) * -.5);content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc((var(--bs-popover-arrow-height) * -1) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after,.clearfix::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;-webkit-transition:opacity 0s .6s;transition:opacity 0s .6s}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;-webkit-transition:opacity .15s;transition:opacity .15s}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-indicators,.offcanvas{display:-webkit-box;display:-ms-flexbox}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s;transition:opacity .6s}.offcanvas.offcanvas-bottom,.offcanvas.offcanvas-top{right:0;height:var(--bs-offcanvas-height);max-height:100%}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.offcanvas-body,.offcanvas-header{padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{-webkit-filter:invert(1) grayscale(100);filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;-webkit-animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-border-width:0.25em;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg:#fff;--bs-offcanvas-border-width:1px;--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.offcanvas-sm{position:fixed;bottom:0;z-index:1045;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-sm.offcanvas-bottom,.offcanvas-sm.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{-webkit-transform:none;transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{-webkit-transition:none;transition:none}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.offcanvas-md{position:fixed;bottom:0;z-index:1045;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-md.offcanvas-bottom,.offcanvas-md.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{-webkit-transform:none;transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{-webkit-transition:none;transition:none}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.offcanvas-lg{position:fixed;bottom:0;z-index:1045;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-lg.offcanvas-bottom,.offcanvas-lg.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{-webkit-transform:none;transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{-webkit-transition:none;transition:none}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.offcanvas-xl{position:fixed;bottom:0;z-index:1045;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-xl.offcanvas-bottom,.offcanvas-xl.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{-webkit-transform:none;transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{-webkit-transition:none;transition:none}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.offcanvas-xxl{position:fixed;bottom:0;z-index:1045;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-xxl.offcanvas-bottom,.offcanvas-xxl.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{-webkit-transform:none;transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{-webkit-transition:none;transition:none}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.hstack,.offcanvas-header{display:-webkit-box;display:-ms-flexbox}@media (prefers-reduced-motion:reduce){.form-control{-webkit-transition:none;transition:none}.form-control::file-selector-button{-webkit-transition:none;transition:none}.form-select,.form-switch .form-check-input{-webkit-transition:none;transition:none}.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}.form-range::-moz-range-thumb{-webkit-transition:none;transition:none}.accordion-button,.accordion-button::after,.btn,.carousel-control-next,.carousel-control-prev,.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start,.carousel-indicators [data-bs-target],.carousel-item,.collapsing,.collapsing.collapse-horizontal,.fade,.form-floating>label,.modal.fade .modal-dialog,.nav-link,.navbar-toggler,.offcanvas,.page-link,.progress-bar{-webkit-transition:none;transition:none}.progress-bar-animated{-webkit-animation:none;animation:none}.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;left:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{left:0;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(var(--bs-offcanvas-padding-y) * -.5);margin-right:calc(var(--bs-offcanvas-padding-x) * -.5);margin-bottom:calc(var(--bs-offcanvas-padding-y) * -.5)}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:2s ease-in-out infinite placeholder-glow;animation:2s ease-in-out infinite placeholder-glow}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:2s linear infinite placeholder-wave;animation:2s linear infinite placeholder-wave}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.text-bg-primary{color:#fff!important;background-color:RGBA(13,110,253,var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(71,71,71,var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(25,135,84,var(--bs-bg-opacity,1))!important}.text-bg-danger,.text-bg-info,.text-bg-light,.text-bg-warning{color:#000!important}.text-bg-info{background-color:RGBA(13,202,240,var(--bs-bg-opacity,1))!important}.text-bg-warning{background-color:RGBA(255,193,7,var(--bs-bg-opacity,1))!important}.text-bg-danger{background-color:RGBA(255,93,87,var(--bs-bg-opacity,1))!important}.text-bg-light{background-color:RGBA(248,249,250,var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(31,31,31,var(--bs-bg-opacity,1))!important}.link-primary{color:#0d6efd!important}.link-primary:focus,.link-primary:hover{color:#0a58ca!important}.link-secondary{color:#474747!important}.link-secondary:focus,.link-secondary:hover{color:#393939!important}.link-success{color:#198754!important}.link-success:focus,.link-success:hover{color:#146c43!important}.link-info{color:#0dcaf0!important}.link-info:focus,.link-info:hover{color:#3dd5f3!important}.link-warning{color:#ffc107!important}.link-warning:focus,.link-warning:hover{color:#ffcd39!important}.link-danger{color:#ff5d57!important}.link-danger:focus,.link-danger:hover{color:#ff7d79!important}.link-light{color:#f8f9fa!important}.link-light:focus,.link-light:hover{color:#f9fafb!important}.link-dark{color:#1f1f1f!important}.link-dark:focus,.link-dark:hover{color:#191919!important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.fixed-bottom,.fixed-top{position:fixed;z-index:1030;right:0;left:0}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio:calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio:calc(9 / 21 * 100%)}.fixed-top{top:0}.fixed-bottom{bottom:0}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.hstack{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch}.vstack{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:stretch}.flex-column,.flex-row{-webkit-box-direction:normal!important}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:-ms-grid!important;display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.shadow{-webkit-box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important;box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{-webkit-box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{-webkit-box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important;box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{-webkit-box-shadow:none!important;box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{-webkit-transform:translate(-50%,-50%)!important;transform:translate(-50%,-50%)!important}.translate-middle-x{-webkit-transform:translateX(-50%)!important;transform:translateX(-50%)!important}.translate-middle-y{-webkit-transform:translateY(-50%)!important;transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-white{border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-column-reverse,.flex-row-reverse{-webkit-box-direction:reverse!important}.flex-row-reverse{-webkit-box-orient:horizontal!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-box-orient:vertical!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-semibold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{color:#ced4da!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-reset{color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;-ms-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded,.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-end,.rounded-top{border-top-right-radius:var(--bs-border-radius)!important}.rounded-bottom,.rounded-end{border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom,.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-start,.rounded-top{border-top-left-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}.navbar-expand-sm{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal-sm,.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .offcanvas .offcanvas-header,.offcanvas-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.flex-sm-column,.flex-sm-row{-webkit-box-direction:normal!important}.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:-ms-grid!important;display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-sm-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-sm-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-sm-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-sm-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-sm-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-sm-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-sm-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-sm-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-sm-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-sm-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-sm-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}.navbar-expand-md{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal-md,.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .offcanvas .offcanvas-header,.offcanvas-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand-md .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.flex-md-column,.flex-md-row{-webkit-box-direction:normal!important}.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:-ms-grid!important;display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-md-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-md-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-md-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-md-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-md-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-md-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-md-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-md-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-md-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-md-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-md-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}.navbar-expand-lg{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal-lg,.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .offcanvas .offcanvas-header,.offcanvas-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.modal-lg,.modal-xl{--bs-modal-width:800px}.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.flex-lg-column,.flex-lg-row{-webkit-box-direction:normal!important}.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:-ms-grid!important;display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-lg-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-lg-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-lg-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-lg-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-lg-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-lg-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-lg-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-lg-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-lg-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-lg-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-lg-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}.col-xxl{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.col-xxl-auto,.row-cols-xxl-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-12,.row-cols-xxl-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.col-xxl-6,.row-cols-xxl-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-4,.row-cols-xxl-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333%}.col-xxl-3,.row-cols-xxl-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.col-xxl-2,.row-cols-xxl-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66667%}.col-xxl-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333%}.col-xxl-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66667%}.col-xxl-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333%}.col-xxl-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66667%}.col-xxl-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333%}.col-xxl-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66667%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}.navbar-expand-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal-xxl,.navbar-expand-xxl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .offcanvas .offcanvas-header,.offcanvas-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.flex-xxl-column,.flex-xxl-row{-webkit-box-direction:normal!important}.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:-ms-grid!important;display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xxl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xxl-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xxl-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xxl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xxl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xxl-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-xxl-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-xxl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xxl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-xxl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xxl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xxl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xxl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xxl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xxl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xxl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-xxl-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-xxl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xxl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xxl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xxl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xxl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xxl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xxl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xxl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xxl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xxl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xxl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xxl-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xxl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xxl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xxl-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xxl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xxl-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-xxl-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-xxl-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-xxl-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-xxl-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-xxl-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-xxl-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-xxl-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-xxl-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}.navbar-expand-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.list-group-horizontal-xl,.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .offcanvas .offcanvas-header,.offcanvas-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;-webkit-transform:none!important;transform:none!important;-webkit-transition:none;transition:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}.modal-xl{--bs-modal-width:1140px}.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}.flex-xl-column,.flex-xl-row{-webkit-box-direction:normal!important}.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:-ms-grid!important;display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-row{-webkit-box-orient:horizontal!important;-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-box-orient:vertical!important;-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-box-orient:horizontal!important;-webkit-box-direction:reverse!important;-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-box-orient:vertical!important;-webkit-box-direction:reverse!important;-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-grow-0{-webkit-box-flex:0!important;-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-webkit-box-flex:1!important;-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.justify-content-xl-start{-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-box-pack:end!important;-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-box-pack:center!important;-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-box-pack:justify!important;-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.justify-content-xl-evenly{-webkit-box-pack:space-evenly!important;-ms-flex-pack:space-evenly!important;justify-content:space-evenly!important}.align-items-xl-start{-webkit-box-align:start!important;-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-box-align:end!important;-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-box-align:center!important;-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-box-align:baseline!important;-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-box-align:stretch!important;-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;-ms-grid-row-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;-ms-grid-row-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;-ms-grid-row-align:stretch!important;align-self:stretch!important}.order-xl-first{-webkit-box-ordinal-group:0!important;-ms-flex-order:-1!important;order:-1!important}.order-xl-0{-webkit-box-ordinal-group:1!important;-ms-flex-order:0!important;order:0!important}.order-xl-1{-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important}.order-xl-2{-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important}.order-xl-3{-webkit-box-ordinal-group:4!important;-ms-flex-order:3!important;order:3!important}.order-xl-4{-webkit-box-ordinal-group:5!important;-ms-flex-order:4!important;order:4!important}.order-xl-5{-webkit-box-ordinal-group:6!important;-ms-flex-order:5!important;order:5!important}.order-xl-last{-webkit-box-ordinal-group:7!important;-ms-flex-order:6!important;order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:-ms-grid!important;display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-box!important;display:-ms-inline-flexbox!important;display:inline-flex!important}.d-print-none{display:none!important}}
\ No newline at end of file
diff --git a/resources/cd_doorlock/html/css/vendor/bootstrap.min.css b/resources/cd_doorlock/html/css/vendor/bootstrap.min.css
index 2ab085029..3a1a75b74 100644
--- a/resources/cd_doorlock/html/css/vendor/bootstrap.min.css
+++ b/resources/cd_doorlock/html/css/vendor/bootstrap.min.css
@@ -1,7 +1,6 @@
@charset "UTF-8";/*!
- * Bootstrap v5.2.0 (https://getbootstrap.com/)
- * Copyright 2011-2022 The Bootstrap Authors
- * Copyright 2011-2022 Twitter, Inc.
+ * Bootstrap v5.3.8 (https://getbootstrap.com/)
+ * Copyright 2011-2025 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#0d6efd;--bs-link-hover-color:#0a58ca;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#bacbe6;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#cbccce;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#bcd0c7;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#badce3;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#e6dbb9;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#dfc2c4;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#dfe0e1;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#373b3e;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select,.input-group>:not(:first-child):not(.dropdown-menu):not(.form-floating):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.375rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.375rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:#212529;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check:focus+.btn,.btn:focus{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:active+.btn,.btn-check:checked+.btn,.btn.active,.btn.show,.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:active+.btn:focus,.btn-check:checked+.btn:focus,.btn.active:focus,.btn.show:focus,.btn:active:focus{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.5rem}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:#212529;--bs-dropdown-bg:#fff;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:0.375rem;--bs-dropdown-border-width:1px;--bs-dropdown-inner-border-radius:calc(0.375rem - 1px);--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color:#212529;--bs-dropdown-link-hover-color:#1e2125;--bs-dropdown-link-hover-bg:#e9ecef;--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:1000;display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:#dee2e6;--bs-nav-tabs-border-radius:0.375rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color:#495057;--bs-nav-tabs-link-active-bg:#fff;--bs-nav-tabs-link-active-border-color:#dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(var(--bs-nav-tabs-border-width) * -1);background:0 0;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(var(--bs-nav-tabs-border-width) * -1);border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:0.375rem;--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-border-width:1px;--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(0, 0, 0, 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#fff;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:#000;--bs-accordion-bg:#fff;--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:1px;--bs-accordion-border-radius:0.375rem;--bs-accordion-inner-border-radius:calc(0.375rem - 1px);--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--bs-body-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color:#86b7fe;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:#0c63e4;--bs-accordion-active-bg:#e7f1ff}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(var(--bs-accordion-border-width) * -1) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:#6c757d;--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:#6c757d;display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:#fff;--bs-pagination-border-width:1px;--bs-pagination-border-color:#dee2e6;--bs-pagination-border-radius:0.375rem;--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:#e9ecef;--bs-pagination-hover-border-color:#dee2e6;--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:#e9ecef;--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:#6c757d;--bs-pagination-disabled-bg:#fff;--bs-pagination-disabled-border-color:#dee2e6;display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:0.5rem}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:0.25rem}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:0.375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:0.375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:#084298;--bs-alert-bg:#cfe2ff;--bs-alert-border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color:#41464b;--bs-alert-bg:#e2e3e5;--bs-alert-border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color:#0f5132;--bs-alert-bg:#d1e7dd;--bs-alert-border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color:#055160;--bs-alert-bg:#cff4fc;--bs-alert-border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color:#664d03;--bs-alert-bg:#fff3cd;--bs-alert-border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color:#842029;--bs-alert-bg:#f8d7da;--bs-alert-border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color:#636464;--bs-alert-bg:#fefefe;--bs-alert-border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color:#141619;--bs-alert-bg:#d3d3d4;--bs-alert-border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:#e9ecef;--bs-progress-border-radius:0.375rem;--bs-progress-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{--bs-list-group-color:#212529;--bs-list-group-bg:#fff;--bs-list-group-border-color:rgba(0, 0, 0, 0.125);--bs-list-group-border-width:1px;--bs-list-group-border-radius:0.375rem;--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:#495057;--bs-list-group-action-hover-color:#495057;--bs-list-group-action-hover-bg:#f8f9fa;--bs-list-group-action-active-color:#212529;--bs-list-group-action-active-bg:#e9ecef;--bs-list-group-disabled-color:#6c757d;--bs-list-group-disabled-bg:#fff;--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(var(--bs-list-group-border-width) * -1);border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(var(--bs-list-group-border-width) * -1);border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(255, 255, 255, 0.85);--bs-toast-border-width:1px;--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:0.375rem;--bs-toast-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color:#6c757d;--bs-toast-header-bg:rgba(255, 255, 255, 0.85);--bs-toast-header-border-color:rgba(0, 0, 0, 0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{position:absolute;z-index:1090;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(var(--bs-toast-padding-x) * -.5);margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:#fff;--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:1px;--bs-modal-border-radius:0.5rem;--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius:calc(0.5rem - 1px);--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:1px;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(var(--bs-modal-header-padding-y) * -.5) calc(var(--bs-modal-header-padding-x) * -.5) calc(var(--bs-modal-header-padding-y) * -.5) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:#fff;--bs-tooltip-bg:#000;--bs-tooltip-border-radius:0.375rem;--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:#fff;--bs-popover-border-width:1px;--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:0.5rem;--bs-popover-inner-border-radius:calc(0.5rem - 1px);--bs-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:var(--bs-heading-color);--bs-popover-header-bg:#f0f0f0;--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:#212529;--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(var(--bs-popover-arrow-width) * -.5);content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(var(--bs-popover-arrow-height) * -1 - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;-webkit-animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg:#fff;--bs-offcanvas-border-width:1px;--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:575.98px){.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}}@media (max-width:575.98px){.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:767.98px){.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}}@media (max-width:767.98px){.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:991.98px){.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}}@media (max-width:991.98px){.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1199.98px){.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}}@media (max-width:1199.98px){.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}}@media (max-width:1399.98px){.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(var(--bs-offcanvas-padding-y) * -.5);margin-right:calc(var(--bs-offcanvas-padding-x) * -.5);margin-bottom:calc(var(--bs-offcanvas-padding-y) * -.5)}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(13,110,253,var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(108,117,125,var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(25,135,84,var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(13,202,240,var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(255,193,7,var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(220,53,69,var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(248,249,250,var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(33,37,41,var(--bs-bg-opacity,1))!important}.link-primary{color:#0d6efd!important}.link-primary:focus,.link-primary:hover{color:#0a58ca!important}.link-secondary{color:#6c757d!important}.link-secondary:focus,.link-secondary:hover{color:#565e64!important}.link-success{color:#198754!important}.link-success:focus,.link-success:hover{color:#146c43!important}.link-info{color:#0dcaf0!important}.link-info:focus,.link-info:hover{color:#3dd5f3!important}.link-warning{color:#ffc107!important}.link-warning:focus,.link-warning:hover{color:#ffcd39!important}.link-danger{color:#dc3545!important}.link-danger:focus,.link-danger:hover{color:#b02a37!important}.link-light{color:#f8f9fa!important}.link-light:focus,.link-light:hover{color:#f9fafb!important}.link-dark{color:#212529!important}.link-dark:focus,.link-dark:hover{color:#1a1e21!important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-1{--bs-border-width:1px}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-semibold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
+ */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/resources/cd_doorlock/html/images/locked.png b/resources/cd_doorlock/html/images/locked.png
new file mode 100644
index 000000000..8f6c380ad
Binary files /dev/null and b/resources/cd_doorlock/html/images/locked.png differ
diff --git a/resources/cd_doorlock/html/images/unlocked.png b/resources/cd_doorlock/html/images/unlocked.png
new file mode 100644
index 000000000..420b00546
Binary files /dev/null and b/resources/cd_doorlock/html/images/unlocked.png differ
diff --git a/resources/cd_doorlock/html/index.html b/resources/cd_doorlock/html/index.html
index ba1ee923e..7de8723d4 100644
--- a/resources/cd_doorlock/html/index.html
+++ b/resources/cd_doorlock/html/index.html
@@ -3,11 +3,11 @@
- gabz-doorlock - v1.0.5
+ Codesign Doorlock - v1.2.0
-
+
-
+
diff --git a/resources/cd_doorlock/integrations/client/client_events.lua b/resources/cd_doorlock/integrations/client/client_events.lua
new file mode 100644
index 000000000..8c9ddd641
--- /dev/null
+++ b/resources/cd_doorlock/integrations/client/client_events.lua
@@ -0,0 +1,78 @@
+local function CheckValidParameter(param_name, data)
+ local expectedType, errorCode
+ if param_name == 'door_name' then
+ expectedType = 'string'
+ errorCode = '3987'
+ elseif param_name == 'location_group' then
+ expectedType = 'string'
+ errorCode = '2397'
+ elseif param_name == 'state' then
+ expectedType = 'boolean'
+ errorCode = '6423'
+ elseif param_name == 'unique_id' then
+ expectedType = 'string'
+ errorCode = '7884'
+ elseif param_name == 'source' then
+ expectedType = 'number'
+ errorCode = '1748'
+ end
+
+ if TypeCheck(data, expectedType, errorCode, 'invalid parameter recieved') then
+ return true
+ end
+ return false
+end
+
+RegisterNetEvent('cd_doorlock:SetDoorState_closest', function(state)
+ if not CheckValidParameter('state', state) then
+ return
+ end
+
+ local door = GetDoorDataFull_closest()
+ if door and door.unique_id then
+ TriggerServerEvent('cd_doorlock:SetDoorState_sync', door.unique_id, state)
+ else
+ if Config.Debug then
+ ERROR('7854', 'no door nearby')
+ end
+ end
+end)
+
+RegisterNetEvent('cd_doorlock:SetDoorState_name', function(state, door_name, location_group)
+ if not CheckValidParameter('state', state) or
+ not CheckValidParameter('door_name', door_name) or
+ not CheckValidParameter('location_group', location_group) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.door_name == door_name and door.location_group == location_group then
+ TriggerServerEvent('cd_doorlock:SetDoorState_sync', door.unique_id, state)
+ break
+ end
+ end
+end)
+
+RegisterNetEvent('cd_doorlock:SetDoorState_uniqueid', function(state, unique_id)
+ if not CheckValidParameter('state', state) or
+ not CheckValidParameter('unique_id', unique_id) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.unique_id == unique_id then
+ TriggerServerEvent('cd_doorlock:SetDoorState_sync', door.unique_id, state)
+ break
+ end
+ end
+end)
\ No newline at end of file
diff --git a/resources/cd_doorlock/integrations/client/client_exports.lua b/resources/cd_doorlock/integrations/client/client_exports.lua
new file mode 100644
index 000000000..e410bebc3
--- /dev/null
+++ b/resources/cd_doorlock/integrations/client/client_exports.lua
@@ -0,0 +1,152 @@
+local function CheckValidParameter(param_name, data)
+ local expectedType, errorCode
+ if param_name == 'door_name' then
+ expectedType = 'string'
+ errorCode = '3987'
+ elseif param_name == 'location_group' then
+ expectedType = 'string'
+ errorCode = '2397'
+ elseif param_name == 'state' then
+ expectedType = 'boolean'
+ errorCode = '6423'
+ elseif param_name == 'unique_id' then
+ expectedType = 'string'
+ errorCode = '7884'
+ elseif param_name == 'source' then
+ expectedType = 'number'
+ errorCode = '1748'
+ end
+
+ if TypeCheck(data, expectedType, errorCode, 'invalid parameter recieved') then
+ return true
+ end
+ return false
+end
+
+function GetAllDoors()
+ if DoorData and next(DoorData) ~= nil then
+ return DoorData
+ else
+ return nil
+ end
+end
+
+function GetDoorUniqueID(door_name, location_group)
+ if not CheckValidParameter('door_name', door_name) or
+ not CheckValidParameter('location_group', location_group) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.door_name == door_name and door.location_group == location_group then
+ return door.unique_id
+ end
+ end
+end
+
+function GetDoorState_closest()
+ local door = GetDoorDataFull_closest()
+ if door then
+ return door.state
+ else
+ if Config.Debug then
+ ERROR('7854', 'no door nearby')
+ end
+ end
+end
+
+function GetDoorState_name(door_name, location_group)
+ if not CheckValidParameter('door_name', door_name) or
+ not CheckValidParameter('location_group', location_group) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.door_name == door_name and door.location_group == location_group then
+ return door.state
+ end
+ end
+end
+
+function GetDoorState_uniqueid(unique_id)
+ if not CheckValidParameter('unique_id', unique_id) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then ERROR('3001', 'no doors created') return end
+
+ for _, door in pairs(doors) do
+ if door.unique_id == unique_id then
+ return door.state
+ end
+ end
+end
+
+
+function GetDoorDataFull_closest()
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ local playerCoords = GetEntityCoords(PlayerPedId())
+ local closestDoor, closestDistance = nil, math.huge
+
+ for _, door in pairs(doors) do
+ for _, subDoor in pairs(door.door_data) do
+ local doorCoords = vec3(subDoor.door_coords.x, subDoor.door_coords.y, subDoor.door_coords.z)
+ local distance = #(playerCoords - doorCoords)
+ if distance < door.distance and distance < closestDistance then
+ closestDistance = distance
+ closestDoor = door
+ end
+ end
+ end
+ return closestDoor
+end
+
+function GetDoorDataFull_name(door_name, location_group)
+ if not CheckValidParameter('door_name', door_name) or
+ not CheckValidParameter('location_group', location_group) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.door_name == door_name and door.location_group == location_group then
+ return door
+ end
+ end
+end
+
+function GetDoorDataFull_uniqueid(unique_id)
+ if not CheckValidParameter('unique_id', unique_id) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.unique_id == unique_id then
+ return door
+ end
+ end
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/integrations/client/doorlock_conversion_qb.lua b/resources/cd_doorlock/integrations/client/doorlock_conversion_qb.lua
new file mode 100644
index 000000000..7bedf2c9e
--- /dev/null
+++ b/resources/cd_doorlock/integrations/client/doorlock_conversion_qb.lua
@@ -0,0 +1,106 @@
+function GetDoorlockDatabase_QB()
+ local formattedTable = {}
+
+ local QB = nil
+ local success, result = pcall(function()
+ return exports['qb-doorlock']:GetDoorList()
+ end)
+ if success and result then
+ QB = result
+ else
+ return nil
+ end
+
+ for key, qbDoor in ipairs(QB) do
+ local door = {
+ perms = {},
+ unique_id = GenerateUniqueId(16),
+ door_name = qbDoor.doorLabel or tostring(key),
+ door_sound = (qbDoor.audioLock and qbDoor.audioLock.file) or '',
+ door_sound_unlock = (qbDoor.audioUnlock and qbDoor.audioUnlock.file) or '',
+ door_type = (qbDoor.doorType == 'double' or (qbDoor.doors and #qbDoor.doors > 1)) and 'double' or (qbDoor.doorType == 'doorlock') and 'doorlock' or'single',
+ door_data = {},
+
+ default_state = qbDoor.locked == true,
+ state = qbDoor.locked == true,
+ secret = qbDoor.hideLabel == true or false,
+ lockpickable = qbDoor.pickable == true,
+ camera = false,
+ distance = qbDoor.distance or qbDoor.maxDistance or 2,
+
+ autolock = (qbDoor.autolock ~= false) and qbDoor.autolock or nil,
+ keep_open = false
+ }
+
+ if type(qbDoor.authorizedJobs) == 'table' then
+ door.perms.job = {}
+ for name, grade in pairs(qbDoor.authorizedJobs) do
+ if type(name) == 'number' then
+ name = grade
+ grade = 0
+ end
+ table.insert(door.perms.job, { name = name, grade = tonumber(grade) or 0 })
+ end
+ end
+ if type(qbDoor.authorizedGangs) == 'table' then
+ for name, grade in pairs(qbDoor.authorizedGangs) do
+ table.insert(door.perms.job, { name = name, grade = tonumber(grade) or 0 })
+ end
+ end
+
+ if type(qbDoor.authorizedCitizenIDs) == 'table' then
+ door.perms.identifier = {}
+ for cid, allowed in pairs(qbDoor.authorizedCitizenIDs) do
+ if allowed then table.insert(door.perms.identifier, tostring(cid)) end
+ end
+ end
+
+ if type(qbDoor.items) == 'string' then
+ door.perms.items = {}
+ table.insert(door.perms.items, { name = qbDoor.items, amount = 1 })
+ elseif type(qbDoor.items) == 'table' then
+ door.perms.items = {}
+ for name, amount in pairs(qbDoor.items) do
+ if type(name) == 'string' then
+ table.insert(door.perms.items, { name = name, amount = tonumber(amount) or 1 })
+ end
+ end
+ end
+
+ if qbDoor.doors and #qbDoor.doors > 0 then
+ for _, d in ipairs(qbDoor.doors) do
+ table.insert(door.door_data, {
+ unique_id = GenerateUniqueId(16),
+ model_hash = type(d.objName) == 'number' and d.objName or GetHashKey(d.objName or d.objHash or 0),
+ door_coords = {x = d.objCoords.x, y = d.objCoords.y, z = d.objCoords.z}
+ })
+ end
+ else
+ table.insert(door.door_data, {
+ unique_id = GenerateUniqueId(16),
+ model_hash = type(qbDoor.objName) == 'number' and qbDoor.objName or GetHashKey(qbDoor.objName or qbDoor.objHash or 0),
+ door_coords = {x = qbDoor.objCoords.x, y = qbDoor.objCoords.y, z = qbDoor.objCoords.z}
+ })
+ end
+
+ table.insert(formattedTable, door)
+ end
+
+ local R = RoundDecimals
+
+ local allDoors = GetAllDoors()
+ if allDoors then
+ for c, d in pairs(allDoors) do
+ local oldCoord = d.door_data[1].door_coords
+ for cc, dd in pairs(formattedTable) do
+ local newCoord = dd.door_data[1].door_coords
+ if R(oldCoord.x) == R(newCoord.x) and R(oldCoord.y) == R(newCoord.y) and R(oldCoord.z) == R(newCoord.z) then
+ table.remove(formattedTable, cc)
+ break
+ end
+ end
+ end
+ end
+
+ return formattedTable
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/integrations/server/doorlock_conversion_ox.lua b/resources/cd_doorlock/integrations/server/doorlock_conversion_ox.lua
new file mode 100644
index 000000000..41e5a0dc9
--- /dev/null
+++ b/resources/cd_doorlock/integrations/server/doorlock_conversion_ox.lua
@@ -0,0 +1,94 @@
+function GetDoorlockDatabase_OX()
+ local formattedTable = {}
+ local OX = DB.fetch('SELECT * FROM ox_doorlock')
+ if not OX then return nil end
+ for _, tbl in ipairs(OX) do
+ local oxDoor = json.decode(tbl.data)
+ local door = {
+ perms = {},
+ unique_id = GenerateUniqueId(16),
+ door_name = tbl.name,
+ door_sound = type(oxDoor.lockSound) == 'string' and oxDoor.lockSound or '',
+ door_sound_unlock = type(oxDoor.unlockSound) == 'string' and oxDoor.unlockSound or '',
+ door_data = {},
+ state = oxDoor.state == 1 and true or false,
+ secret = type(oxDoor.hideUi) == 'boolean' and oxDoor.hideUi or nil,
+ lockpickable = oxDoor.lockpick == true,
+ distance = oxDoor.maxDistance or 2,
+ autolock = type(oxDoor.autolock) == 'number' and oxDoor.autolock or nil,
+ keep_open = type(oxDoor.holdOpen) == 'boolean' and oxDoor.holdOpen or nil,
+ default_state = false,
+ camera = false,
+ }
+
+ if oxDoor.doors and #oxDoor.doors > 1 then
+ door.door_type = 'double'
+ elseif oxDoor.coords and oxDoor.model then
+ door.door_type = 'single'
+ elseif oxDoor.doors and #oxDoor.doors > 1 and oxDoor.auto then
+ door.door_type = 'double_gate'
+ elseif oxDoor.auto then
+ door.door_type = 'garage'
+ end
+
+ if type(oxDoor.groups) == 'table' then
+ door.perms.job = {}
+ for name, grade in pairs(oxDoor.groups) do
+ table.insert(door.perms.job, { name = name, grade = tonumber(grade) or 0 })
+ end
+ end
+
+ if type(oxDoor.characters) == 'table' then
+ door.perms.identifier = {}
+ for _, identifier in pairs(oxDoor.characters) do
+ table.insert(door.perms.identifier, identifier)
+ end
+ end
+
+ if type(oxDoor.items) == 'table' then
+ door.perms.items = {}
+ for _, item in pairs(oxDoor.items) do
+ table.insert(door.perms.items, {name = item.name, amount = 1, destroy = item.remove})
+ end
+ end
+
+ if type(oxDoor.passcode) == 'string' then
+ door.perms.passcode = oxDoor.passcode
+ if tonumber(oxDoor.passcode) then
+ door.perms.job = oxDoor.passcode
+ end
+ end
+
+ if oxDoor.doors and #oxDoor.doors > 0 then
+ for _, data in ipairs(oxDoor.doors) do
+ table.insert(door.door_data, {
+ unique_id = GenerateUniqueId(16),
+ model_hash = data.model,
+ door_coords = data.coords
+ })
+ end
+ else
+ table.insert(door.door_data, {
+ unique_id = GenerateUniqueId(16),
+ model_hash = oxDoor.model,
+ door_coords = oxDoor.coords
+ })
+ end
+ table.insert(formattedTable, door)
+ end
+
+ local allDoors = GetAllDoors()
+ if allDoors then
+ for c, d in pairs(allDoors) do
+ local oldCoord = d.door_data[1].door_coords
+ for cc, dd in pairs(formattedTable) do
+ local newCoord = dd.door_data[1].door_coords
+ if oldCoord.x == newCoord.x and oldCoord.y == newCoord.y and oldCoord.z == newCoord.z then
+ table.remove(formattedTable, cc)
+ break
+ end
+ end
+ end
+ end
+ return formattedTable
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/integrations/server/server_events.lua b/resources/cd_doorlock/integrations/server/server_events.lua
new file mode 100644
index 000000000..47a8e9ae1
--- /dev/null
+++ b/resources/cd_doorlock/integrations/server/server_events.lua
@@ -0,0 +1,208 @@
+local function CheckValidParameter(param_name, data)
+ local expectedType, errorCode
+ if param_name == 'door_name' then
+ expectedType = 'string'
+ errorCode = '3987'
+ elseif param_name == 'location_group' then
+ expectedType = 'string'
+ errorCode = '2397'
+ elseif param_name == 'state' then
+ expectedType = 'boolean'
+ errorCode = '6423'
+ elseif param_name == 'unique_id' then
+ expectedType = 'string'
+ errorCode = '7884'
+ elseif param_name == 'source' then
+ expectedType = 'number'
+ errorCode = '1748'
+ elseif param_name == 'perms' then
+ expectedType = 'table'
+ errorCode = '7228'
+ end
+
+ if TypeCheck(data, expectedType, errorCode, 'invalid parameter recieved') then
+ return true
+ end
+ return false
+end
+
+RegisterServerEvent('cd_doorlock:LockdownBuilding', function(state, location_group)
+ if not CheckValidParameter('state', state) or
+ not CheckValidParameter('location_group', location_group) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.location_group == location_group then
+ TriggerClientEvent('cd_doorlock:SetDoorState_sync', -1, door.unique_id, state)
+ end
+ end
+ TriggerClientEvent('cd_doorlock:LockdownBuilding_notify', -1, location_group, state)
+end)
+
+RegisterServerEvent('cd_doorlock:SetDoorPerms', function(unique_id, new_perms)
+ if not CheckValidParameter('unique_id', unique_id) or
+ not CheckValidParameter('perms', new_perms) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.unique_id == unique_id then
+
+ if type(new_perms.job) == 'table' then
+ for index, job in pairs(new_perms.job) do
+ if type(job) ~= 'table' then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+
+ if not job.grade then
+ job.job = 0
+ end
+ if job.name and type(job.name) ~= 'string' then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ else
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+ if #new_perms.job == 0 then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+ end
+ else
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+
+ if type(new_perms.identifier) == 'table' then
+ for index, identifier in pairs(new_perms.identifier) do
+ if type(identifier) ~= 'string' then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+ if #new_perms.identifier == 0 then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+ end
+ else
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+
+ if type(new_perms.ace) == 'table' then
+ for index, ace in pairs(new_perms.ace) do
+ if type(ace) ~= 'string' then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+ if #new_perms.ace == 0 then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+ end
+ else
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+
+ if type(new_perms.discord) == 'table' then
+ for index, discord in pairs(new_perms.discord) do
+ if type(discord) ~= 'string' then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+ if #new_perms.discord == 0 then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+ end
+ else
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+
+ if type(new_perms.items) == 'table' then
+ for index, item in pairs(new_perms.items) do
+ if type(item) ~= 'table' then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+
+ if not item.amount then
+ item.amount = 1
+ end
+ if not item.destroy then
+ item.destroy = false
+ end
+ if item.name and type(item.name) ~= 'string' then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ else
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+ if #new_perms.items == 0 then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+ end
+ else
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+
+ if type(new_perms.passcode) ~= 'number' then
+ return ERROR('1010', 'cd_doorlock:SetDoorPerms - Invalid data format. Please check your input.')
+ end
+
+ DoorData[unique_id].perms = new_perms
+ TriggerClientEvent('cd_doorlock:EditDoor', -1, DoorData[unique_id])
+ end
+ end
+end)
+
+RegisterServerEvent('cd_doorlock:AddDoorPerms', function(unique_id, new_perms)
+ if not CheckValidParameter('unique_id', unique_id) or
+ not CheckValidParameter('perms', new_perms) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.unique_id == unique_id then
+ if new_perms.job then
+ for _, job in pairs(new_perms.job) do
+ table.insert(DoorData[unique_id].perms.job, job)
+ end
+ end
+ if new_perms.identifier then
+ for _, identifier in pairs(new_perms.identifier) do
+ table.insert(DoorData[unique_id].perms.identifier, identifier)
+ end
+ end
+ if new_perms.ace then
+ for _, ace in pairs(new_perms.ace) do
+ table.insert(DoorData[unique_id].perms.ace, ace)
+ end
+ end
+ if new_perms.discord then
+ for _, discord in pairs(new_perms.discord) do
+ table.insert(DoorData[unique_id].perms.discord, discord)
+ end
+ end
+ if new_perms.items then
+ for _, item in pairs(new_perms.items) do
+ if not item.amount then
+ item.amount = 1
+ end
+ if not item.destroy then
+ item.destroy = false
+ end
+ table.insert(DoorData[unique_id].perms.items, item)
+ end
+ end
+ if new_perms.passcode then
+ DoorData[unique_id].perms.passcode = new_perms.passcode
+ end
+ end
+ end
+ TriggerClientEvent('cd_doorlock:EditDoor', -1, DoorData[unique_id])
+end)
\ No newline at end of file
diff --git a/resources/cd_doorlock/integrations/server/server_exports.lua b/resources/cd_doorlock/integrations/server/server_exports.lua
new file mode 100644
index 000000000..27e4d494d
--- /dev/null
+++ b/resources/cd_doorlock/integrations/server/server_exports.lua
@@ -0,0 +1,159 @@
+local function CheckValidParameter(param_name, data)
+ local expectedType, errorCode
+ if param_name == 'door_name' then
+ expectedType = 'string'
+ errorCode = '3987'
+ elseif param_name == 'location_group' then
+ expectedType = 'string'
+ errorCode = '2397'
+ elseif param_name == 'state' then
+ expectedType = 'boolean'
+ errorCode = '6423'
+ elseif param_name == 'unique_id' then
+ expectedType = 'string'
+ errorCode = '7884'
+ elseif param_name == 'source' then
+ expectedType = 'number'
+ errorCode = '1748'
+ end
+
+ if TypeCheck(data, expectedType, errorCode, 'invalid parameter recieved') then
+ return true
+ end
+ return false
+end
+
+function GetAllDoors()
+ if DoorData and next(DoorData) ~= nil then
+ return DoorData
+ else
+ return nil
+ end
+end
+
+function GetDoorUniqueID(door_name, location_group)
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.door_name == door_name and door.location_group == location_group then
+ return door.unique_id
+ end
+ end
+end
+
+function GetDoorState_closest(source)
+ if not CheckValidParameter('source', source) then
+ return
+ end
+
+ local door = GetDoorDataFull_closest(source)
+ if door then
+ return door.state
+ else
+ if Config.Debug then
+ ERROR('7854', 'no door nearby')
+ end
+ end
+end
+
+function GetDoorState_name(door_name, location_group)
+ if not CheckValidParameter('door_name', door_name) or
+ not CheckValidParameter('location_group', location_group) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.door_name == door_name and door.location_group == location_group then
+ return door.state
+ end
+ end
+end
+
+function GetDoorState_uniqueid(unique_id)
+ if not TypeCheck(unique_id, 'string', '7884', 'unique_id not string') then
+ return
+ end
+
+ if not CheckValidParameter('unique_id', unique_id) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then ERROR('3001', 'no doors created') return end
+
+ for _, door in pairs(doors) do
+ if door.unique_id == unique_id then
+ return door.state
+ end
+ end
+end
+
+function GetDoorDataFull_closest(source)
+ if not CheckValidParameter('source', source) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ local playerCoords = GetEntityCoords(GetPlayerPed(source))
+ local closestDoor, closestDistance = nil, math.huge
+
+ for _, door in pairs(doors) do
+ for _, subDoor in pairs(door.door_data) do
+ local doorCoords = vec3(subDoor.door_coords.x, subDoor.door_coords.y, subDoor.door_coords.z)
+ local distance = #(playerCoords - doorCoords)
+
+ if distance < door.distance and distance < closestDistance then
+ closestDistance = distance
+ closestDoor = door
+ end
+ end
+ end
+ return closestDoor
+end
+
+function GetDoorDataFull_name(door_name, location_group)
+ if not CheckValidParameter('door_name', door_name) or
+ not CheckValidParameter('location_group', location_group) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.door_name == door_name and door.location_group == location_group then
+ return door
+ end
+ end
+end
+
+function GetDoorDataFull_uniqueid(unique_id)
+ if not CheckValidParameter('unique_id', unique_id) then
+ return
+ end
+
+ local doors = GetAllDoors()
+ if not doors then
+ return ERROR('3001', 'no doors created')
+ end
+
+ for _, door in pairs(doors) do
+ if door.unique_id == unique_id then
+ return door
+ end
+ end
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/server/auto_insert_sql.lua b/resources/cd_doorlock/server/auto_insert_sql.lua
new file mode 100644
index 000000000..860c7e6b4
--- /dev/null
+++ b/resources/cd_doorlock/server/auto_insert_sql.lua
@@ -0,0 +1,155 @@
+if Config.DoorDataStorageMethod ~= 'database' then return end
+
+local function ensureTable(name, query)
+ if not DB.tableExists(name) then
+ DB.exec(query)
+ Citizen.Trace(('^3[cd_doorlock]^0 Table ^5%s^0 was ^1missing^0 — created automatically.\n'):format(name))
+ return true
+ end
+ return false
+end
+
+local function ensureColumn(tableName, columnName, alterQuery)
+ if DB.columnExists(tableName, columnName) then
+ return false
+ end
+
+ DB.exec(alterQuery)
+ Citizen.Trace(('^3[cd_doorlock]^0 Column ^5%s.%s^0 was ^1missing^0 — created automatically.\n'):format(tableName, columnName))
+ return true
+end
+
+function InsertSQL()
+ local created, fixed = {}, {}
+
+ if Config.AutoInsertSQL then
+ -- cd_doorlock_locationgroups
+ local tableQuery = [[
+ CREATE TABLE `cd_doorlock_locationgroups` (
+ `id` VARCHAR(64) NOT NULL COLLATE 'utf8mb4_unicode_ci',
+ `name` VARCHAR(100) NOT NULL COLLATE 'utf8mb4_bin',
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE INDEX `uq_name` (`name`) USING BTREE
+ )
+ COLLATE='utf8mb4_unicode_ci'
+ ENGINE=InnoDB;
+ ]]
+ if ensureTable("cd_doorlock_locationgroups", tableQuery) then
+ table.insert(created, "cd_doorlock_locationgroups")
+ end
+
+ -- cd_doorlock
+ local tableQuery = [[
+ CREATE TABLE `cd_doorlock` (
+ `unique_id` VARCHAR(64) NOT NULL COLLATE 'utf8mb4_unicode_ci',
+ `door_name` VARCHAR(100) NOT NULL COLLATE 'utf8mb4_unicode_ci',
+ `location_group` VARCHAR(64) NOT NULL COLLATE 'utf8mb4_unicode_ci',
+ `door_type` ENUM('single','double','garage','gates','double_gate') NOT NULL COLLATE 'utf8mb4_unicode_ci',
+ `perms` LONGTEXT NOT NULL DEFAULT json_object(
+ 'ace', json_array(),
+ 'job', json_array(),
+ 'discord', json_array(),
+ 'identifier', json_array(),
+ 'items', json_array()
+ ) COLLATE 'utf8mb4_bin',
+ `door_data` LONGTEXT NOT NULL COLLATE 'utf8mb4_bin',
+ `distance` INT(10) UNSIGNED NOT NULL DEFAULT '2',
+ `default_state` TINYINT(1) NOT NULL DEFAULT '0',
+ `state` TINYINT(1) NOT NULL DEFAULT '0',
+ `camera` TINYINT(1) NOT NULL DEFAULT '0',
+ `secret` TINYINT(1) NOT NULL DEFAULT '0',
+ `lockpickable` TINYINT(1) NOT NULL DEFAULT '0',
+ `keep_open` TINYINT(1) NOT NULL DEFAULT '0',
+ `auto_lock` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `door_sound` VARCHAR(100) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
+ `door_unlock_sound` VARCHAR(100) NOT NULL DEFAULT '' COLLATE 'utf8mb4_unicode_ci',
+
+ PRIMARY KEY (`unique_id`) USING BTREE,
+ INDEX `idx_location_group_door_name` (`location_group`, `door_name`) USING BTREE,
+ CONSTRAINT `perms` CHECK (json_valid(`perms`)),
+ CONSTRAINT `door_data` CHECK (json_valid(`door_data`))
+ )
+ COLLATE='utf8mb4_unicode_ci'
+ ENGINE=InnoDB;
+ ]]
+ if ensureTable("cd_doorlock", tableQuery) then
+ table.insert(created, "cd_doorlock")
+ end
+ end
+
+ -- Ensure door_type ENUM contains 'gates' instead of 'gate'
+ local enumFixQuery = [[
+ ALTER TABLE `cd_doorlock`
+ MODIFY COLUMN `door_type` ENUM('single','double','garage','gates','double_gate')
+ NOT NULL COLLATE 'utf8mb4_unicode_ci';
+ ]]
+
+ -- Only run if 'gates' is NOT already part of the ENUM
+ local checkEnumQuery = [[
+ SELECT COLUMN_TYPE FROM information_schema.columns
+ WHERE table_schema = DATABASE()
+ AND table_name = 'cd_doorlock'
+ AND column_name = 'door_type';
+ ]]
+
+ local enumType = DB.scalar(checkEnumQuery)
+ if enumType and not enumType:find("'gates'") then
+ DB.exec(enumFixQuery)
+ table.insert(fixed, "cd_doorlock.door_type (enum updated)")
+ end
+
+ -- Ensure auto_lock column exists
+ local columnQuery = [[
+ ALTER TABLE `cd_doorlock`
+ ADD COLUMN `auto_lock` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `keep_open`;
+ ]]
+ if ensureColumn("cd_doorlock", "auto_lock", columnQuery) then
+ table.insert(fixed, "cd_doorlock.auto_lock")
+ end
+
+ -- Change auto_lock default value from NULL to 0.
+ local col = DB.fetch([[
+ SELECT IS_NULLABLE, COLUMN_DEFAULT, COLUMN_TYPE
+ FROM INFORMATION_SCHEMA.COLUMNS
+ WHERE TABLE_SCHEMA = DATABASE()
+ AND TABLE_NAME = 'cd_doorlock'
+ AND COLUMN_NAME = 'auto_lock'
+ LIMIT 1
+ ]])
+
+ if col and col[1] then
+ local is_nullable = col[1].IS_NULLABLE
+ local col_default = col[1].COLUMN_DEFAULT
+
+ if col_default == nil or is_nullable == 'YES' then
+ DB.exec("UPDATE `cd_doorlock` SET `auto_lock` = 0 WHERE `auto_lock` IS NULL;")
+
+ DB.exec([[
+ ALTER TABLE `cd_doorlock`
+ MODIFY COLUMN `auto_lock` INT(10) UNSIGNED NOT NULL DEFAULT 0;
+ ]])
+
+ table.insert(fixed, "cd_doorlock.auto_lock (NULL default -> DEFAULT 0 + data fixed)")
+ end
+ end
+
+ if #fixed > 0 then
+ Citizen.Trace('^5--------------------------^0\n')
+ Citizen.Trace('^5[cd_doorlock]^0 Auto-fixed SQL data:\n')
+ for _, cd in ipairs(fixed) do
+ Citizen.Trace(' - ^3'..cd..'^0\n')
+ end
+ Citizen.Trace('^5--------------------------^0\n')
+ end
+
+ if #created > 0 then
+ Citizen.Trace('^5--------------------------^0\n')
+ Citizen.Trace('^5[cd_doorlock]^0 Created/updated SQL structures:\n')
+ for _, v in ipairs(created) do
+ Citizen.Trace(' - ^3'..v..'^0\n')
+ end
+ Citizen.Trace('^5--------------------------^0\n')
+ else
+ Citizen.Trace('^2[cd_doorlock]^0 All SQL tables and columns already exist.\n')
+ end
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/server/callbacks.lua b/resources/cd_doorlock/server/callbacks.lua
new file mode 100644
index 000000000..153cd70e3
--- /dev/null
+++ b/resources/cd_doorlock/server/callbacks.lua
@@ -0,0 +1,40 @@
+exports.cd_bridge:RegisterServerCallback('cd_doorlock:has_admin_perms', function(src)
+ return HasDoorlockAdminPerms(src)
+end)
+
+exports.cd_bridge:RegisterServerCallback('cd_doorlock:has_door_perms', function(src, ...)
+ return HasDoorPerms(src, ...)
+end)
+
+exports.cd_bridge:RegisterServerCallback('cd_doorlock:has_door_perms_vrp', function(src, ...)
+ return HasDoorPerms_Vrp(src, ...)
+end)
+
+
+
+exports.cd_bridge:RegisterServerCallback('cd_doorlock:get_other_door_perms', function(src, ...)
+ return GetOtherDoorPerms(src, ...)
+end)
+
+
+exports.cd_bridge:RegisterServerCallback('cd_doorlock:get_players_ace_perms', function(src, ...)
+ return GetPlayersAcePerms(src)
+end)
+
+exports.cd_bridge:RegisterServerCallback('cd_doorlock:get_doorlock_database_ox', function(src)
+ return GetDoorlockDatabase_OX()
+end)
+
+
+
+exports.cd_bridge:RegisterServerCallback('cd_doorlock:check_lockpick_and_remove', function(src)
+ return CheckLockpickAndRemove(src)
+end)
+
+exports.cd_bridge:RegisterServerCallback('cd_doorlock:export_location_group_data', function(src, ...)
+ return ExportLocationGroupData(src, ...)
+end)
+
+exports.cd_bridge:RegisterServerCallback('cd_doorlock:add_import_data', function(src, ...)
+ return AddImportData(src, ...)
+end)
\ No newline at end of file
diff --git a/resources/cd_doorlock/server/door_perms.lua b/resources/cd_doorlock/server/door_perms.lua
new file mode 100644
index 000000000..a0582c542
--- /dev/null
+++ b/resources/cd_doorlock/server/door_perms.lua
@@ -0,0 +1,223 @@
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ ADMIN PERMS │
+-- └──────────────────────────────────────────────────────────────────┘
+
+function HasDoorlockAdminPerms(source)
+ local Player = GetPlayer(source)
+ if not Player then return false end
+
+ if Config.AdminAccess.Framework.ENABLE then
+ local perms = HasAdminPerms(source, Config.AdminAccess.Framework[Config.Framework])
+ if perms then return true end
+ end
+ if Config.AdminAccess.Identifiers.ENABLE then
+ local perms = HasPerms_Identifiers(source, Config.AdminAccess.Identifiers.identifier_list, 'admin_perms')
+ if perms then return true end
+ end
+ if Config.AdminAccess.AcePerms.ENABLE then
+ local perms = HasPerms_Ace(source, Config.AdminAccess.AcePerms.aceperms_list)
+ if perms then return true end
+ end
+ if Config.AdminAccess.Discord.ENABLE then
+ local perms = HasPerms_Discord(source, Config.AdminAccess.Discord.discord_list)
+ if perms then return true end
+ end
+ return false
+end
+
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ DOOR PERMS │
+-- └──────────────────────────────────────────────────────────────────┘
+
+function HasDoorPerms(source, door_perms_data)
+ --job checks are done on client side before calling this server callback.
+ if Config.DoorAccessPerms.Identifiers and door_perms_data.identifier and #door_perms_data.identifier > 0 then
+ local perms = HasPerms_Identifiers(source, door_perms_data.identifier, 'door_perms')
+ if perms then return true end
+ end
+ if Config.DoorAccessPerms.AcePerms and door_perms_data.ace and #door_perms_data.ace > 0 then
+ local perms = HasPerms_Ace(source, door_perms_data.ace)
+ if perms then return true end
+ end
+ if Config.DoorAccessPerms.Discord and door_perms_data.discord and #door_perms_data.discord > 0 then
+ local perms = HasPerms_Discord(source, door_perms_data.discord)
+ if perms then return true end
+ end
+ if Config.DoorAccessPerms.Items and door_perms_data.items and #door_perms_data.items > 0 then
+ local perms = PermsCheck_Items(source, door_perms_data.items)
+ if perms then
+ for _, item in pairs(door_perms_data.items) do
+ if item.destroy then
+ if type(item) == 'string' then
+ RemoveItem(source, item, 1)
+ elseif type(item) == 'table' then
+ RemoveItem(source, item.name, item.amount or 1)
+ end
+ end
+ end
+ return true
+ end
+ end
+ return false
+end
+
+function GetOtherDoorPerms(source, permsToGet)
+ local result = {}
+
+ if permsToGet.identifiers and Config.DoorAccessPerms.Identifiers then
+ result.identifiers = GetAllFivemIdentifiers(source)
+ end
+
+ if permsToGet.discord and Config.DoorAccessPerms.Discord then
+ result.discord = GetAllDiscordRoles(source)
+ end
+ return result
+end
+
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ IDENTIFIER PERMS │
+-- └──────────────────────────────────────────────────────────────────┘
+
+function GetAllFivemIdentifiers(source)
+ local out = {}
+
+ for cd = 0, 7 do
+ local identifier = GetPlayerIdentifier(source, cd)
+ if not identifier then break end
+
+ local colonPos = identifier:find(':', 1, true)
+ local trimmed = colonPos and identifier:sub(colonPos + 1) or identifier
+
+ out[#out + 1] = {
+ full = identifier:lower(),
+ trimmed = trimmed:lower()
+ }
+ end
+
+ return out
+end
+
+function HasPerms_Identifiers(source, data, perms_type)
+ if type(data) ~= 'table' or not source then return false end
+
+ local ids = GetAllFivemIdentifiers(source)
+
+ local lookup = {}
+ for _, cd in ipairs(ids) do
+ lookup[cd.full] = true
+ lookup[cd.trimmed] = true
+ end
+
+ local allowFrameworkId = (perms_type == 'admin_perms' and Config.AdminAccess.Framework.ENABLE) or (perms_type == 'door_perms' and Config.DoorAccessPerms.Framework)
+
+ local frameworkId = nil
+ if allowFrameworkId then
+ frameworkId = GetIdentifier(source)
+ frameworkId = type(frameworkId) == 'string' and frameworkId:lower() or nil
+ end
+
+ for _, d in pairs(data) do
+ if type(d) == 'string' then
+ local needle = d:lower()
+
+ if lookup[needle] then
+ return true
+ end
+
+ if frameworkId and needle == frameworkId then
+ return true
+ end
+ end
+ end
+
+ return false
+end
+
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ ACE PERMS │
+-- └──────────────────────────────────────────────────────────────────┘
+
+function HasPerms_Ace(source, data)
+ for _, ace in pairs(data) do
+ if IsPlayerAceAllowed(source, ace) then
+ return true
+ end
+ end
+ return false
+end
+
+function GetPlayersAcePerms(source)
+ local result = {}
+ for _, ace in pairs(AcePerms) do
+
+ if IsPlayerAceAllowed(source, ace) then
+ result[#result+1] = ace
+ end
+ end
+ return result
+end
+
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ DISCORD PERMS │
+-- └──────────────────────────────────────────────────────────────────┘
+
+function GetAllDiscordRoles(source)
+ return exports.Badger_Discord_API:GetDiscordRoles(source)
+end
+
+function HasPerms_Discord(source, data)
+ local discord_roles = GetAllDiscordRoles(source)
+ for c, d in pairs(data) do
+ for cc, dd in pairs(discord_roles) do
+ if d == dd then
+ return true
+ end
+ end
+ end
+ return false
+end
+
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ ITEMS PERMS │
+-- └──────────────────────────────────────────────────────────────────┘
+
+function PermsCheck_Items(source, data)
+ for _, item in pairs(data) do
+ if type(item) == 'string' then
+ local has_item = HasItem(source, item, 1)
+ if has_item then
+ return true
+ end
+
+ elseif type(item) == 'table' then
+ local has_item = HasItem(source, item.name, item.amount or 1)
+ if has_item then
+ return true
+ end
+ end
+ end
+ return false
+end
+
+function AddAcePermToAcePermsCache(data)
+ for _, newAce in pairs(data) do
+ for _, existingAce in pairs(DoorAccessItems) do
+ if existingAce ~= newAce then
+ table.insert(AcePerms, newAce)
+ end
+ end
+ end
+end
+
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ VRP PERMS │
+-- └──────────────────────────────────────────────────────────────────┘
+
+function HasDoorPerms_Vrp(source, door_perms_data)
+ for c, d in pairs(door_perms_data) do
+ if GetJobName(source) == d.name and GetJobGrade(source) >= d.grade then
+ return true
+ end
+ end
+ return false
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/server/error_handling.lua b/resources/cd_doorlock/server/error_handling.lua
new file mode 100644
index 000000000..75f120ab7
--- /dev/null
+++ b/resources/cd_doorlock/server/error_handling.lua
@@ -0,0 +1,236 @@
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ DEBUG │
+-- └──────────────────────────────────────────────────────────────────┘
+
+local function DebugPrints(source)
+ local lines = {}
+
+ local function add(str)
+ lines[#lines + 1] = str
+ end
+
+ add('^6-----------------------^0')
+ add(('^1CODESIGN DEBUG^0 (%s - v%s - %s)'):format(GetCurrentResourceName(), GetResourceMetadata(GetCurrentResourceName(), 'version', 0), source and 'client' or 'server'))
+
+ add('^3CONFIG^0')
+ add(('^6Config.AutoInsertSQL:^0 %s'):format(tostring(Config.AutoInsertSQL)))
+ add(('^6Config.Debug:^0 %s'):format(tostring(Config.Debug)))
+ add(('^6Config.DoorDataStorageMethod:^0 %s'):format(tostring(Config.DoorDataStorageMethod)))
+ add(('^6Config.DoorlockDrawTextUI:^0 %s'):format(tostring(Config.DoorlockDrawTextUI)))
+ add(('^6Config.AdminAccess: [Framework: ^0%s^6] [Identifiers: ^0%s^6] [AcePerms: ^0%s^6] [Discord: ^0%s^6]'):format(Config.AdminAccess.Framework.ENABLE, Config.AdminAccess.Identifiers.ENABLE, Config.AdminAccess.AcePerms.ENABLE, Config.AdminAccess.Discord.ENABLE))
+ add(('^6Config.DoorAccessPerms: [Framework: ^0%s^6] [Identifiers: ^0%s^6] [AcePerms: ^0%s^6] [Discord: ^0%s^6] [Items: ^0%s^6]'):format(Config.DoorAccessPerms.Framework, Config.DoorAccessPerms.Identifiers, Config.DoorAccessPerms.AcePerms, Config.DoorAccessPerms.Discord, Config.DoorAccessPerms.Items))
+ add('^6-----------------------^0')
+
+ if source then
+ add('^3PERMS^0')
+ add(('^6Admin Perms:^0 %s'):format(HasDoorlockAdminPerms(source)))
+ add('^6-----------------------^0')
+
+ add('^3IDENTIFIERS^0')
+ add(('^6fivem:^0 %s'):format(GetPlayerIdentifierByType(source, 'fivem')))
+ add(('^6license:^0 %s'):format(GetPlayerIdentifierByType(source, 'license')))
+ add(('^6steam:^0 %s'):format(GetPlayerIdentifierByType(source, 'steam')))
+ add(('^6discord:^0 %s'):format(GetPlayerIdentifierByType(source, 'discord')))
+ add(('^6license2:^0 %s'):format(GetPlayerIdentifierByType(source, 'license2')))
+ add(('^6xbl:^0 %s'):format(GetPlayerIdentifierByType(source, 'xbl')))
+ add(('^6live:^0 %s'):format(GetPlayerIdentifierByType(source, 'live')))
+ add('^6-----------------------^0')
+
+ if Config.AdminAccess.Framework.ENABLE then
+ add('^3FRAMEWORK PERMS^0')
+ for _, perms in pairs(Config.AdminAccess.Framework[Config.Framework]) do
+ add(('^6%s:^0 %s'):format(perms, HasAdminPerms(source, {perms})))
+ end
+ add('^6-----------------------^0')
+ end
+
+ if Config.AdminAccess.Identifiers.ENABLE then
+ add('^3IDENTIFIER PERMS^0')
+ for _, identifier in pairs(Config.AdminAccess.Identifiers.identifier_list) do
+ add(('^6%s:^0 %s'):format(identifier, HasPerms_Identifiers(source, {identifier})))
+ end
+ add('^6-----------------------^0')
+ end
+
+ if Config.AdminAccess.AcePerms.ENABLE then
+ add('^3ACE PERMS^0')
+ for _, aceperm in pairs(Config.AdminAccess.AcePerms.aceperms_list) do
+ add(('^6%s:^0 %s'):format(aceperm, HasPerms_Ace(source, {aceperm})))
+ end
+ add('^6-----------------------^0')
+ end
+
+ if Config.AdminAccess.Discord.ENABLE then
+ add('^3DISCORD PERMS^0')
+ for _, discord_role in pairs(Config.AdminAccess.Discord.discord_list) do
+ add(('^6%s:^0 %s'):format(discord_role, HasPerms_Discord(source, {discord_role})))
+ end
+ add('^6-----------------------^0')
+
+ add('^3YOUR DISCORD ROLES^0')
+ for _, discord_role in pairs(GetAllDiscordRoles(source)) do
+ add(('^0%s'):format(discord_role))
+ end
+ add('^6-----------------------^0')
+ end
+
+ Notification(source, 2, 'DEBUG INFO: OPEN F8 CONSOLE TO VIEW^0')
+ end
+
+ TriggerClientEvent('cd_doorlock:DebugPrint', source, lines)
+end
+
+RegisterCommand('debugdoorlock', function(source)
+ local isConsole = source == 0
+ local isAdmin = HasAdminPerms(source, {'owner', 'superadmin', 'god', 'admin', 'moderator', 'mod'})
+ local debugEnabled = Config.Debug
+
+ if isConsole then
+ DebugPrints(nil)
+ return
+ end
+
+ if isAdmin or debugEnabled then
+ DebugPrints(source)
+ return
+ end
+
+ Citizen.Trace('You cannot use this command. You must have admin permissions, enable Config.Debug, or run it from the server console.\n')
+end, false)
+
+
+RegisterCommand('debugdoorlocktable', function(source)
+ local isConsole = source == 0
+ local isAdmin = HasAdminPerms(source, { 'owner', 'superadmin', 'god', 'admin', 'moderator', 'mod' })
+ local debugEnabled = Config.Debug
+ local getSource = source > 0 and source or -1
+
+ if isConsole or debugEnabled or isAdmin then
+ if GetResourceState('cd_devtools') == 'started' then
+ TriggerClientEvent('table', getSource, GetAllDoors())
+ Citizen.Trace('^6Devtools debug table sent.^0\n')
+ else
+ Citizen.Trace('^6cd_devtools is not started.^0\n')
+ end
+ else
+ Citizen.Trace('You cannot use this command. You must have admin permissions, enable Config.Debug, or run it from the server console.\n')
+ end
+end, false)
+
+
+-- ┌──────────────────────────────────────────────────────────────────┐
+-- │ PRE START CHECKS │
+-- └──────────────────────────────────────────────────────────────────┘
+
+CreateThread(function()
+ if GetResourceState('cd_bridge') ~= 'started' then
+ BridgeDependancyMissingPrint()
+ end
+ if Config == nil then
+ ERROR('configuration_error_found', 'Config.lua Syntax Error')
+ end
+ if LocalesTable[Config.Language] == nil then
+ ERROR('configuration_error_found', 'Config.Language/locales.lua Typo : ['..Config.Language..']')
+ end
+ if GetCurrentResourceName() ~= 'cd_doorlock' then
+ ERROR('configuration_error_found', 'Resource Name Changed : ['..GetCurrentResourceName()..']')
+ end
+ if Config.DoorDataStorageMethod ~= 'file' and Config.DoorDataStorageMethod ~= 'database' then
+ ERROR('configuration_error_found', 'Config.DoorDataStorageMethod invalid value: ['..tostring(Config.DoorDataStorageMethod)..']')
+ end
+ if Config.DoorlockDrawTextUI ~= 'cd_doorlock' and Config.DoorlockDrawTextUI ~= 'auto_detect' then
+ ERROR('configuration_error_found', 'Config.DoorlockDrawTextUI invalid value: ['..tostring(Config.DoorlockDrawTextUI)..']')
+ end
+ if not Config.AdminAccess.Framework.ENABLE and not Config.AdminAccess.Identifiers.ENABLE and not Config.AdminAccess.AcePerms.ENABLE and not Config.AdminAccess.Discord.ENABLE then
+ ERROR('configuration_error_found', 'All Config.AdminAccess options disabled')
+ end
+ if not Config.DoorAccessPerms.Framework and not Config.DoorAccessPerms.Identifiers and not Config.DoorAccessPerms.AcePerms and not Config.DoorAccessPerms.Discord and not Config.DoorAccessPerms.Items then
+ ERROR('configuration_error_found', 'All Config.DoorAccessPerms options disabled')
+ end
+
+ if Config.OpenDoorMenu.ENABLE and (Config.OpenDoorMenu.command == nil or IsBlankString(Config.OpenDoorMenu.command)) then
+ ERROR('configuration_error_found', 'Config.OpenDoorMenu.command is blank while OpenDoorMenu is enabled')
+ end
+
+ if Config.ToggleDoorLock.ENABLE and (Config.ToggleDoorLock.command == nil or IsBlankString(Config.ToggleDoorLock.command)) then
+ ERROR('configuration_error_found', 'Config.ToggleDoorLock.command is blank while ToggleDoorLock is enabled')
+ end
+
+ if Config.Database ~= 'none' then
+ while not SQLCheckDone do Wait(100) end
+ PreStartItemChecks()
+ JsonToSqlPrompt()
+ end
+end)
+
+function BridgeDependancyMissingPrint()
+ Citizen.Trace([[
+ ^5===============================================================
+ ^3[cd_doorlock] ^7Missing required dependency: ^1cd_bridge^7
+ ^5===============================================================
+
+ ^7This resource requires the ^2cd_bridge^7 framework bridge to function correctly.
+
+ ^7Please download ^2cd_bridge^7 from the official source:
+ ^3https://portal.cfx.re/assets/granted-assets?search=cd_bridge
+
+ ^6After installing:
+ • Ensure the ^2cd_bridge^7 resource is started ^4before^7 this resource
+ • Verify it is named exactly ^2"cd_bridge"^7 in your resources folder
+ • Restart your server after adding it
+
+ ^5===============================================================
+ ]] .. '^0\n')
+end
+
+function PreStartItemChecks()
+ local needed = {}
+
+ for _, item in pairs(Config.LockpickItems.lockpick_items) do
+ needed[#needed+1] = item
+ end
+
+ local allDoors = GetAllDoors()
+ if allDoors then
+ for _, tbl in pairs(allDoors) do
+ if tbl.perms and tbl.perms.items and type(tbl.perms.items) == 'table' then
+ for _, item in pairs(tbl.perms.items) do
+ if type(item) == 'string' then
+ needed[#needed+1] = item
+ elseif type(item) == 'table' and item.name then
+ needed[#needed+1] = item.name
+ end
+ end
+ end
+ end
+ end
+ CheckAllItemsExist(needed)
+end
+
+function JsonToSqlPrompt()
+ --json file to sql check
+ if Config.DoorDataStorageMethod == 'database' then
+ local query = DB.single('SELECT 1 from cd_doorlock LIMIT 1')
+ if not query then
+ local doors = LoadResourceFile(GetCurrentResourceName(), './JSON files/door_data.json')
+ if doors and #doors > 2 then
+ Citizen.Trace([[
+ ^5===============================================================
+ ^3[cd_doorlock] ^7We have detected the switched from ^2JSON storage^7 to ^4SQL storage^7.
+ ^5===============================================================
+
+ ^7To migrate your existing doors from JSON → SQL, you must run:
+ ^3json_2_sql
+ ^7This command must be executed ^1ONLY from the server console^7 (not in-game).
+
+ ^6After running the migration:
+ • All doors will be imported into the database
+ • Future changes will automatically save to SQL
+ • You may safely delete the old JSON data once migration is complete
+
+ ^5===============================================================
+ ]] .. '^0\n')
+ end
+ end
+ end
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/server/functions.lua b/resources/cd_doorlock/server/functions.lua
new file mode 100644
index 000000000..c89f71ab7
--- /dev/null
+++ b/resources/cd_doorlock/server/functions.lua
@@ -0,0 +1,29 @@
+RegisterCommand('json_2_sql', function(source, args, rawCommand)
+ if source ~= 0 then
+ Citizen.Trace('This command can only be run from the server console.\n')
+ return
+ end
+ local resourceName = GetCurrentResourceName()
+ local doors = json.decode(LoadResourceFile(resourceName, './JSON files/door_data.json'))
+ local location_groups = json.decode(LoadResourceFile(resourceName, './JSON files/location_groups.json'))
+ if not doors or not location_groups then
+ Citizen.Trace('Failed to load JSON files.\n')
+ return
+ end
+ for _, door in pairs(doors) do
+ if door.id then
+ door.id = nil
+ end
+ if not door.unique_id then
+ door.unique_id = GenerateUniqueId(16)
+ end
+ DoorData[door.unique_id] = door
+ DoorStates[door.unique_id] = door.state
+ InsertNewLocationGroupIntoDatabase(door.location_group)
+ end
+ for _, lg in pairs(location_groups) do
+ InsertNewLocationGroupIntoDatabase(lg.name)
+ end
+ SaveMultipleDoorsToDatabase(doors)
+ SendDoorlockData(source)
+end, false)
\ No newline at end of file
diff --git a/resources/cd_doorlock/server/lockpick.lua b/resources/cd_doorlock/server/lockpick.lua
new file mode 100644
index 000000000..e5de3a993
--- /dev/null
+++ b/resources/cd_doorlock/server/lockpick.lua
@@ -0,0 +1,17 @@
+if Config.LockpickItems.ENABLE and Config.LockpickItems.usable_lockpick_item then
+ for _, item_name in pairs(Config.LockpickItems.lockpick_items) do
+ RegisterUsableItem(item_name, function(source)
+ TriggerClientEvent('cd_doorlock:LockpickDoor_usableitem', source)
+ end)
+ end
+end
+
+function CheckLockpickAndRemove(source)
+ for _, itemName in pairs(Config.LockpickItems.lockpick_items) do
+ if HasItem(source, itemName, 1) then
+ RemoveItem(source, itemName, 1)
+ return true
+ end
+ end
+ return false
+end
\ No newline at end of file
diff --git a/resources/cd_doorlock/server/read_files.js b/resources/cd_doorlock/server/read_files.js
index 39a447353..13c7081f2 100644
--- a/resources/cd_doorlock/server/read_files.js
+++ b/resources/cd_doorlock/server/read_files.js
@@ -1,9 +1,31 @@
-// using the superior language
-//^^^ lies - lua > js :D
const fs = require('fs');
-let resourceName = GetCurrentResourceName();
+const resourceName = GetCurrentResourceName();
+const path = GetResourcePath(resourceName);
-fs.readdir(GetResourcePath(resourceName)+'/sounds/', {withFileTypes: true}, (err, files) => {
+if(fs.existsSync(path+'/JSON files/backup') == false){
+ try {
+ fs.mkdirSync(path+'/JSON files/backup', { recursive: true });
+ } catch(error){
+ console.log("Error while creating backup directory\n", error);
+ }
+
+}
+
+if(fs.existsSync(path+'/JSON files/door_data.json')){
+ let files = fs.readdirSync(path+'/JSON files/backup/');
+
+ if(files.length > 7){
+ let oldestFile = files.reduce((oldest, file) => {
+ return file < oldest ? file : oldest;
+ }, files[0]);
+
+ fs.unlinkSync(path+'/JSON files/backup/'+oldestFile);
+ }
+ fs.copyFileSync(path+'/JSON files/door_data.json', path+'/JSON files/backup/'+Date.now()+'.json');
+}
+
+fs.mkdirSync(path+'/sounds/', { recursive: true });
+fs.readdir(path+'/sounds/', {withFileTypes: true}, (err, files) => {
if(err) throw err;
let fileNames = [];
@@ -18,17 +40,47 @@ fs.readdir(GetResourcePath(resourceName)+'/sounds/', {withFileTypes: true}, (err
return;
});
-fs.readdir(GetResourcePath(resourceName)+'/JSON files/gabz_locations/', {withFileTypes: false}, (err, files) => {
- if(err) throw err;
+if(!fs.existsSync(path+'/JSON files/import_locations/')){
+ try{
+ fs.mkdirSync(path+'/JSON files/import_locations/', { recursive: true });
+ }catch(error){
+ console.log("Error while creating import_locations directory\n", error);
+ }
+}
+
+if(!fs.existsSync(path+'/JSON files/location_groups.json')){
+ try {
+ fs.writeFileSync(path+'/JSON files/location_groups.json', '[]');
+ } catch(error){
+ console.log("Error while creating location_groups.json\n", error);
+ }
+
+}
+
+if(!fs.existsSync(path+'/JSON files/door_data.json')){
+ try {
+ fs.writeFileSync(path+'/JSON files/door_data.json', '[]');
+ } catch(error) {
+ console.log("Error while creating door_data.json\n", error);
+ }
+
+}
+
+try {
+fs.readdir(path+'/JSON files/import_locations/', {withFileTypes: false}, (err, files) => {
+ if(err) {
+ console.error("Error while reading import locations", err);
+ return;
+ };
let fileNames = [];
files.forEach(file => {
- let data = JSON.parse(fs.readFileSync(GetResourcePath(resourceName)+'/JSON files/gabz_locations/'+file, {encoding: 'utf8', flag:"r"}));
+ let data = JSON.parse(fs.readFileSync(path+'/JSON files/import_locations/'+file, {encoding: 'utf8', flag:"r"}));
fileNames.push({
- name: data.name,
+ name: file,
data: data.data,
imported: data.imported
});
@@ -37,4 +89,7 @@ fs.readdir(GetResourcePath(resourceName)+'/JSON files/gabz_locations/', {withFil
emit("cd_doorlock:GetImportData", fileNames);
return;
-});
\ No newline at end of file
+});
+} catch(error){
+ console.error("Error while reading import locations", error);
+}
diff --git a/resources/cd_doorlock/server/server.lua b/resources/cd_doorlock/server/server.lua
index 11972fb27..bee4b47a2 100644
Binary files a/resources/cd_doorlock/server/server.lua and b/resources/cd_doorlock/server/server.lua differ
diff --git a/resources/cd_doorlock/server/version_check.lua b/resources/cd_doorlock/server/version_check.lua
index a69f8e340..02fb99f74 100644
--- a/resources/cd_doorlock/server/version_check.lua
+++ b/resources/cd_doorlock/server/version_check.lua
@@ -2,10 +2,10 @@ CreateThread(function()
Wait(5000)
local resource_name = GetCurrentResourceName()
local current_version = GetResourceMetadata(resource_name, 'version', 0)
- local docs_link = 'https://docs.codesign.pro/paid-scripts/door-lock#changelog'
- local download_link = 'https://keymaster.fivem.net/asset-grants'
+ local docs_link = 'https://docs.codesign.pro/paid-scripts/door-lock/changelog'
+ local download_link = 'https://portal.cfx.re/assets/granted-assets?search=cd_doorlock'
PerformHttpRequest('https://raw.githubusercontent.com/RampBST/Codesign_Versions_V2/master/'..resource_name..'.txt',function(error, result, headers)
- if not result then print('^1Version check disabled because github is having issues.^0') return end
+ if not result then Citizen.Trace('^1Version check disabled because github is having issues.^0') return end
local result = json.decode(result:sub(1, -2))
local function CompareVersions(new, current)
for cd = 1, #new do
@@ -52,10 +52,10 @@ CreateThread(function()
symbols = symbols..'='
end
symbols = symbols..'^0'
- print(symbols)
- print(string.format('^2[%s] - New Update Available!^0\nCurrent Version: ^5%s^0.\nNew Version: ^5%s^0.\nReleased: ^5%s^0.\nNotes: ^5%s^0.\nDownload: ^3%s^0.\nChangelog: ^3%s^0.',
+ Citizen.Trace(symbols..'\n')
+ Citizen.Trace(string.format('^2[%s] - New Update Available!^0\nCurrent Version: ^5%s^0.\nNew Version: ^5%s^0.\nReleased: ^5%s^0.\nNotes: ^5%s^0.\nDownload: ^3%s^0.\nChangelog: ^3%s^0.\n',
resource_name, current_version, new_version, release_date, result.notes, download_link, docs_link))
- print(symbols)
+ Citizen.Trace(symbols..'\n')
end
end,'GET')
end)
\ No newline at end of file
diff --git a/resources/cd_doorlock/sounds/electronic_door.ogg b/resources/cd_doorlock/sounds/electronic_door.ogg
new file mode 100644
index 000000000..903776f95
Binary files /dev/null and b/resources/cd_doorlock/sounds/electronic_door.ogg differ
diff --git a/resources/cd_doorlock/sounds/gate.ogg b/resources/cd_doorlock/sounds/gate.ogg
new file mode 100644
index 000000000..b9777c32e
Binary files /dev/null and b/resources/cd_doorlock/sounds/gate.ogg differ
diff --git a/resources/cd_doorlock/sounds/house_key.ogg b/resources/cd_doorlock/sounds/house_key.ogg
new file mode 100644
index 000000000..9df2d7167
Binary files /dev/null and b/resources/cd_doorlock/sounds/house_key.ogg differ
diff --git a/resources/cd_doorlock/sounds/jail_cell_wooden.ogg b/resources/cd_doorlock/sounds/jail_cell_wooden.ogg
new file mode 100644
index 000000000..a808af9c0
Binary files /dev/null and b/resources/cd_doorlock/sounds/jail_cell_wooden.ogg differ
diff --git a/resources/cd_doorlock/sounds/locking_door.ogg b/resources/cd_doorlock/sounds/locking_door.ogg
new file mode 100644
index 000000000..69cae19e5
Binary files /dev/null and b/resources/cd_doorlock/sounds/locking_door.ogg differ
diff --git a/resources/cd_doorlock/sounds/old_garage_door.ogg b/resources/cd_doorlock/sounds/old_garage_door.ogg
new file mode 100644
index 000000000..2968e4c82
Binary files /dev/null and b/resources/cd_doorlock/sounds/old_garage_door.ogg differ
diff --git a/resources/cd_doorlock/sounds/tiny_lock.ogg b/resources/cd_doorlock/sounds/tiny_lock.ogg
new file mode 100644
index 000000000..185c1be5b
Binary files /dev/null and b/resources/cd_doorlock/sounds/tiny_lock.ogg differ
diff --git a/resources/cd_doorlock/support/discord.md b/resources/cd_doorlock/support/discord.md
new file mode 100644
index 000000000..80c2c3cc4
--- /dev/null
+++ b/resources/cd_doorlock/support/discord.md
@@ -0,0 +1 @@
+https://discord.gg/codesign
\ No newline at end of file
diff --git a/resources/cd_doorlock/READ_ME_AFTER_PURCHASING/READ_ME.md b/resources/cd_doorlock/support/documentation_website.md
similarity index 100%
rename from resources/cd_doorlock/READ_ME_AFTER_PURCHASING/READ_ME.md
rename to resources/cd_doorlock/support/documentation_website.md
diff --git a/resources/cd_doorlock/support/download_link.md b/resources/cd_doorlock/support/download_link.md
new file mode 100644
index 000000000..914fca2e5
--- /dev/null
+++ b/resources/cd_doorlock/support/download_link.md
@@ -0,0 +1 @@
+https://portal.cfx.re/assets/granted-assets?search=cd_doorlock
\ No newline at end of file
diff --git a/resources/lvc/SIRENS.lua b/resources/lvc/SIRENS.lua
index db6c8c3c0..324a1f1b3 100644
--- a/resources/lvc/SIRENS.lua
+++ b/resources/lvc/SIRENS.lua
@@ -40,11 +40,10 @@ RequestScriptAudioBank('DLC_LAR_OMEGASLAPD\\OMEGAS', false)
RequestScriptAudioBank('DLC_SERVERSIDEAUDIO\\OISS_SSA_VEHAUD_LSFD_NEW', false)
-RequestScriptAudioBank('DLC_SERVERSIDEAUDIO\\OISS_SSA_VEHAUD_BCSO_NEW', false)
-
-RequestScriptAudioBank('DLC_SERVERSIDEAUDIO\\OISS_SSA_VEHAUD_FIB_NEW', false)
RequestScriptAudioBank('DLC_SERVERSIDEAUDIO\\OISS_SSA_VEHAUD_LSFD_OLD', false)
RequestScriptAudioBank('DLC_SERVERSIDEAUDIO\\OISS_SSA_VEHAUD_NOOSE_NEW', false)
+RequestScriptAudioBank('DLC_SERVERSIDEAUDIO\\OISS_SSA_VEHAUD_FIB_NEW', false)
+
-- CHANGE SIREN NAMES, AUDIONAME, AUDIOREF
@@ -300,7 +299,11 @@ SIREN_ASSIGNMENTS = {
['senorapd18fpiu_817'] = { 18, 19, 20},
['transportram'] = { 18, 19, 20},
- ['20legacyfpiu3'] = { 54, 63, 64, 55, 56, 58},
+
+ ['20legacyfpiu3'] = { 54, 55, 56, 57, 58, 59 },
+ ['lasd25fpiu'] = { 54, 55, 56 },
+
+
[' '] = { 18, 19, 20},
@@ -319,7 +322,6 @@ SIREN_ASSIGNMENTS = {
['lasd2003'] = { 18, 19, 20},
['lasdchrg14'] = { 18, 19, 20},
['lasd18chrg'] = { 18, 19, 20},
- ['lasd25fpiu'] = { 54, 63, 64 },
['lasd16asap'] = { 18, 19, 20},
['lasd16asapb'] = { 18, 19, 20},
['lasd16asapc'] = { 18, 19, 20},
diff --git a/resources/night_ers_k9/.fxap b/resources/night_ers_k9/.fxap
new file mode 100644
index 000000000..366d801d3
Binary files /dev/null and b/resources/night_ers_k9/.fxap differ
diff --git a/resources/[ERS]/night_ers_k9/NUI/main.js b/resources/night_ers_k9/NUI/main.js
similarity index 55%
rename from resources/[ERS]/night_ers_k9/NUI/main.js
rename to resources/night_ers_k9/NUI/main.js
index c42f70058..b299301ab 100644
--- a/resources/[ERS]/night_ers_k9/NUI/main.js
+++ b/resources/night_ers_k9/NUI/main.js
@@ -1,4 +1,72 @@
-let crosshairElement=null,translations=null,hotkeys=null;function togglePedControlsVisibility(s){let t=document.getElementById("ped-controls");if(t)(isPedControlsVisible=void 0===s?!isPedControlsVisible:s)?(t.classList.remove("animate-fade-out"),t.classList.add("animate-fade-in"),t.style.display="block"):(t.classList.remove("animate-fade-in"),t.classList.add("animate-fade-out"),setTimeout(()=>{t.style.display="none"},250));else{let e=document.createElement("div");e.id="ped-controls",e.classList.add("fixed","bottom-16","right-16","z-10","inline-block","text-white","bg-gray-900","bg-opacity-50","border","border-gray-700","rounded-lg","shadow-lg","w-[600px]","transition-all","duration-300","opacity-100"),e.innerHTML=`
+let crosshairElement = null;
+let translations = null;
+let hotkeys = null;
+
+window.addEventListener('message', (event) => {
+ const data = event.data;
+
+ if (data.action == "setTranslations") {
+ translations = data.translations;
+ }
+
+ if (data.action == "setHotkeys") {
+ hotkeys = data.hotkeys;
+ }
+
+ if (data.action == "drawCrosshair") {
+ let display = data.display;
+
+ // Get the crosshair element
+ if (!crosshairElement) {
+ crosshairElement = document.getElementById('crosshair');
+ if (!crosshairElement) {
+ console.log("Crosshair element not found!");
+ return;
+ }
+ }
+
+ // Set display style directly
+ crosshairElement.style.display = display ? 'block' : 'none';
+ }
+
+ if (data.action == "ped-controls") {
+ let display = data.display;
+ togglePedControlsVisibility(display);
+ }
+
+ if (data.action == "vehicle-controls") {
+ let display = data.display;
+ toggleVehicleControlsVisibility(display);
+ }
+});
+
+
+function togglePedControlsVisibility(visible) {
+ const controls = document.getElementById('ped-controls');
+ if (controls) {
+ if (visible === undefined) {
+ isPedControlsVisible = !isPedControlsVisible;
+ } else {
+ isPedControlsVisible = visible;
+ }
+
+ if (isPedControlsVisible) {
+ controls.classList.remove('animate-fade-out');
+ controls.classList.add('animate-fade-in');
+ controls.style.display = 'block';
+ } else {
+ controls.classList.remove('animate-fade-in');
+ controls.classList.add('animate-fade-out');
+ setTimeout(() => {
+ controls.style.display = 'none';
+ }, 250);
+ }
+ } else {
+ // Build the element
+ const pedControlsElement = document.createElement('div');
+ pedControlsElement.id = 'ped-controls';
+ pedControlsElement.classList.add('fixed', 'bottom-16', 'right-16', 'z-10', 'inline-block', 'text-white', 'bg-gray-900', 'bg-opacity-50', 'border', 'border-gray-700', 'rounded-lg', 'shadow-lg', 'w-[600px]', 'transition-all', 'duration-300', 'opacity-100');
+ pedControlsElement.innerHTML = `
@@ -41,7 +109,42 @@ let crosshairElement=null,translations=null,hotkeys=null;function togglePedContr
- `,document.body.appendChild(e),togglePedControlsVisibility(s)}}function toggleVehicleControlsVisibility(s){let t=document.getElementById("vehicle-controls");if(t)(isVehicleControlsVisible=void 0===s?!isVehicleControlsVisible:s)?(t.classList.remove("animate-fade-out"),t.classList.add("animate-fade-in"),t.style.display="block"):(t.classList.remove("animate-fade-in"),t.classList.add("animate-fade-out"),setTimeout(()=>{t.style.display="none"},250));else{let e=document.createElement("div");e.id="vehicle-controls",e.classList.add("fixed","bottom-16","right-16","z-10","inline-block","text-white","bg-gray-900","bg-opacity-50","border","border-gray-700","rounded-lg","shadow-lg","w-[600px]","transition-all","duration-300","opacity-100"),e.innerHTML=`
+ `;
+
+ // Append the element to the body
+ document.body.appendChild(pedControlsElement);
+
+ // Toggle the visibility of the element
+ togglePedControlsVisibility(visible);
+ }
+}
+
+function toggleVehicleControlsVisibility(visible) {
+ const controls = document.getElementById('vehicle-controls');
+ if (controls) {
+ if (visible === undefined) {
+ isVehicleControlsVisible = !isVehicleControlsVisible;
+ } else {
+ isVehicleControlsVisible = visible;
+ }
+
+ if (isVehicleControlsVisible) {
+ controls.classList.remove('animate-fade-out');
+ controls.classList.add('animate-fade-in');
+ controls.style.display = 'block';
+ } else {
+ controls.classList.remove('animate-fade-in');
+ controls.classList.add('animate-fade-out');
+ setTimeout(() => {
+ controls.style.display = 'none';
+ }, 250);
+ }
+ } else {
+ // Build the element
+ const vehicleControlsElement = document.createElement('div');
+ vehicleControlsElement.id = 'vehicle-controls';
+ vehicleControlsElement.classList.add('fixed', 'bottom-16', 'right-16', 'z-10', 'inline-block', 'text-white', 'bg-gray-900', 'bg-opacity-50', 'border', 'border-gray-700', 'rounded-lg', 'shadow-lg', 'w-[600px]', 'transition-all', 'duration-300', 'opacity-100');
+ vehicleControlsElement.innerHTML = `
@@ -74,4 +177,12 @@ let crosshairElement=null,translations=null,hotkeys=null;function togglePedContr
- `,document.body.appendChild(e),toggleVehicleControlsVisibility(s)}}window.addEventListener("message",s=>{let t=s.data;if("setTranslations"==t.action&&(translations=t.translations),"setHotkeys"==t.action&&(hotkeys=t.hotkeys),"drawCrosshair"==t.action){let e=t.display;if(!crosshairElement&&!(crosshairElement=document.getElementById("crosshair"))){console.log("Crosshair element not found!");return}crosshairElement.style.display=e?"block":"none"}"ped-controls"==t.action&&togglePedControlsVisibility(t.display),"vehicle-controls"==t.action&&toggleVehicleControlsVisibility(t.display)});
\ No newline at end of file
+ `;
+
+ // Append the element to the body
+ document.body.appendChild(vehicleControlsElement);
+
+ // Toggle the visibility of the element
+ toggleVehicleControlsVisibility(visible);
+ }
+}
\ No newline at end of file
diff --git a/resources/[ERS]/night_ers_k9/NUI/sounds/notification_error.ogg b/resources/night_ers_k9/NUI/sounds/notification_error.ogg
similarity index 100%
rename from resources/[ERS]/night_ers_k9/NUI/sounds/notification_error.ogg
rename to resources/night_ers_k9/NUI/sounds/notification_error.ogg
diff --git a/resources/[ERS]/night_ers_k9/NUI/sounds/notification_success.ogg b/resources/night_ers_k9/NUI/sounds/notification_success.ogg
similarity index 100%
rename from resources/[ERS]/night_ers_k9/NUI/sounds/notification_success.ogg
rename to resources/night_ers_k9/NUI/sounds/notification_success.ogg
diff --git a/resources/[ERS]/night_ers_k9/NUI/sounds/notification_warning.ogg b/resources/night_ers_k9/NUI/sounds/notification_warning.ogg
similarity index 100%
rename from resources/[ERS]/night_ers_k9/NUI/sounds/notification_warning.ogg
rename to resources/night_ers_k9/NUI/sounds/notification_warning.ogg
diff --git a/resources/[ERS]/night_ers_k9/NUI/styles.css b/resources/night_ers_k9/NUI/styles.css
similarity index 100%
rename from resources/[ERS]/night_ers_k9/NUI/styles.css
rename to resources/night_ers_k9/NUI/styles.css
diff --git a/resources/[ERS]/night_ers_k9/README.md b/resources/night_ers_k9/README.md
similarity index 100%
rename from resources/[ERS]/night_ers_k9/README.md
rename to resources/night_ers_k9/README.md
diff --git a/resources/[ERS]/night_ers_k9/client/c_functions.lua b/resources/night_ers_k9/client/c_functions.lua
similarity index 100%
rename from resources/[ERS]/night_ers_k9/client/c_functions.lua
rename to resources/night_ers_k9/client/c_functions.lua
diff --git a/resources/night_ers_k9/client/client.lua b/resources/night_ers_k9/client/client.lua
new file mode 100644
index 000000000..8f3485f04
Binary files /dev/null and b/resources/night_ers_k9/client/client.lua differ
diff --git a/resources/night_ers_k9/client/client_k9handler.lua b/resources/night_ers_k9/client/client_k9handler.lua
new file mode 100644
index 000000000..2b7892a31
Binary files /dev/null and b/resources/night_ers_k9/client/client_k9handler.lua differ
diff --git a/resources/night_ers_k9/config/config.lua b/resources/night_ers_k9/config/config.lua
new file mode 100644
index 000000000..e6b539e3c
--- /dev/null
+++ b/resources/night_ers_k9/config/config.lua
@@ -0,0 +1,708 @@
+Config = {
+
+ ConfigVersion = "1.1.4",
+
+ --====================== DEVELOPER SETTINGS ======================--
+
+ Debug = false, -- Enable or disable debug.
+ EventPrefix = "night_ers_k9", -- Leave this be.
+
+ --====================== PERMISSIONS FOR SHIFT ACCESS (on/off shift) ======================--
+
+ EveryoneHasPermission = true,
+
+ Enable_Night_DiscordApi_Permissions = false, -- server/s_functions.lua
+ Enable_Ace_Permissions = false, -- server/s_functions.lua
+ Enable_ESX_Permissions = {
+ Check_By_Job = false, -- server/s_functions.lua
+ Check_By_Permissions = false, -- server/s_functions.lua
+ },
+ Enable_QBCore_Permissions = {
+ Check_By_Job = false, -- server/s_functions.lua
+ Check_By_Permissions = false, -- server/s_functions.lua
+ },
+
+ -- The role or group that has permission to work with a K9 dog.
+ K9HandlerPermissionRoles = {
+ "Manager",
+ "Administrator",
+ "police",
+ },
+
+ --====================== GENERAL SETTINGS ======================--
+
+ AddChatSuggestions = true, -- Adds chat suggestions to the script commands.
+ DistanceToKeepFromPlayer = 1.0, -- The distance the K9 dog will keep from their handler.
+ ChanceToSurrenderToDogs = 50, -- Applies a 50% chance to make the NPC target surrender when being attacked by a K9 dog.
+ AllowRevivingInjuredK9 = true, -- Allows the dog handler to revive their own injured K9 dog.
+ AllowK9InFrontSeat = false, -- Allows the K9 dog to be in the front passenger seat of a vehicle.
+ AllowCarryK9 = true, -- Allows the dog handler to carry the dog.
+ AllowK9ToKillNPCs = false, -- Allows the K9 dog to kill NPCs, setting it false will replicate the attack, but not damage the NPC. They will still be able to kill players.
+ AllowK9ToAttackPlayers = true, -- Allows the K9 dog to attack players, if set to false the dog will decline attacks on players.
+
+ --====================== K9 DOG HANDLER VEHICLES ======================--
+
+ K9Vehicles = {
+ -- Base game vehicle example
+ {
+ hash = `policet`, spawnOffset = vector3(0.0 --[[Right/-Left]], -4.0 --[[Front/-Rear]], 0.5 --[[Up/-Down]]),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 1 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+
+ -- Custom vehicle example
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ -- -- ANOTHER vehicle example
+ -- {
+ -- hash = `l200rescue`, spawnOffset = vector3(0.0, -4.0, 0.5),
+ -- dogModelName = "a_c_husky",
+ -- props = {
+ -- -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- -- { drawable, texture, palette }
+ -- { 0, 1, 1 }, -- Hats / Helments
+ -- { 1, 1, 1 }, -- Glassess
+ -- { 2, 1, 1 }, -- Misc
+ -- { 3, 1, 1 },
+ -- },
+ -- components = {
+ -- -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- -- { drawable, texture, palette }
+ -- { 1, 1, 1 }, -- Mask
+ -- { 2, 1, 1 }, -- Hair
+ -- { 3, 1, 1 }, -- Upper body
+ -- { 4, 1, 1 }, -- Legs / Pants
+ -- { 5, 1, 1 }, -- Bags / Parachutes
+ -- { 6, 1, 1 }, -- Shoes
+ -- { 7, 1, 1 }, -- Neck / Scarfs
+ -- { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ -- { 9, 1, 1 }, -- Body Armor
+ -- { 10, 1, 1 }, -- Badges / Logos
+ -- { 11, 1, 1 }, -- Jackets
+ -- },
+ -- },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ {
+ hash = ` `, spawnOffset = vector3(0.0, -4.0, 0.5),
+ dogModelName = "a_c_shepherd",
+ props = {
+ -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- { drawable, texture, palette }
+ { 0, 1, 1 }, -- Hats / Helments
+ { 1, 1, 1 }, -- Glassess
+ { 2, 1, 1 }, -- Misc
+ { 3, 1, 1 },
+ },
+ components = {
+ -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- { drawable, texture, palette }
+ { 1, 1, 1 }, -- Mask
+ { 2, 1, 1 }, -- Hair
+ { 3, 1, 1 }, -- Upper body
+ { 4, 1, 1 }, -- Legs / Pants
+ { 5, 1, 1 }, -- Bags / Parachutes
+ { 6, 1, 1 }, -- Shoes
+ { 7, 1, 1 }, -- Neck / Scarfs
+ { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ { 9, 1, 1 }, -- Body Armor
+ { 10, 1, 1 }, -- Badges / Logos
+ { 11, 1, 1 }, -- Jackets
+ },
+ },
+ -- -- ANOTHER vehicle example
+ -- {
+ -- hash = `l200rescue`, spawnOffset = vector3(0.0, -4.0, 0.5),
+ -- dogModelName = "a_c_husky",
+ -- props = {
+ -- -- Example: {prop type (Helmet), prop type index (Motorcycle helmet), prop colour index (Black colour)}
+ -- -- { drawable, texture, palette }
+ -- { 0, 1, 1 }, -- Hats / Helments
+ -- { 1, 1, 1 }, -- Glassess
+ -- { 2, 1, 1 }, -- Misc
+ -- { 3, 1, 1 },
+ -- },
+ -- components = {
+ -- -- Example: {component type (Mask), component type index (Clown Mask), component colour index (White colour)}
+ -- -- { drawable, texture, palette }
+ -- { 1, 1, 1 }, -- Mask
+ -- { 2, 1, 1 }, -- Hair
+ -- { 3, 1, 1 }, -- Upper body
+ -- { 4, 1, 1 }, -- Legs / Pants
+ -- { 5, 1, 1 }, -- Bags / Parachutes
+ -- { 6, 1, 1 }, -- Shoes
+ -- { 7, 1, 1 }, -- Neck / Scarfs
+ -- { 8, 1, 3 }, -- Shirt / Accessory (This palette is commonly used for the text on the K9 vest)
+ -- { 9, 1, 1 }, -- Body Armor
+ -- { 10, 1, 1 }, -- Badges / Logos
+ -- { 11, 1, 1 }, -- Jackets
+ -- },
+ -- },
+ },
+
+ --====================== CONTROLS, COMMANDS, KEYMAPPING ======================--
+ -- https://docs.fivem.net/docs/game-references/input-mapper-parameter-ids/keyboard/
+
+ Controls = {
+ -- Hint: These can be changed by individual players. So each client has control over which keys these use for what commands.
+ SpawnOrDeleteK9 = {
+ input = "keyboard",
+ command = "k9spawnordelete",
+ label = "Spawn or Delete K9 Dog",
+ chatsuggestion = "Spawns or deletes a K9 Dog when near a suitable dog handler vehicle.",
+ keymapping = "NUMPAD0", -- NUMPAD0
+ },
+ K9Follow = {
+ input = "keyboard",
+ command = "k9follow",
+ label = "K9 Follow",
+ chatsuggestion = "Orders your own K9 Dog to follow you.",
+ keymapping = "NUMPAD1", -- NUMPAD1
+ },
+ K9Idle = {
+ input = "keyboard",
+ command = "k9idle",
+ label = "K9 Idle",
+ chatsuggestion = "Orders your own K9 Dog to idle at it's current position.",
+ keymapping = "NUMPAD2", -- NUMPAD1
+ },
+ K9Alert = {
+ input = "keyboard",
+ command = "k9alert",
+ label = "K9 Alert",
+ chatsuggestion = "Orders your own K9 Dog to alert by barking.",
+ keymapping = "NUMPAD3", -- NUMPAD3
+ },
+ K9Pet = {
+ input = "keyboard",
+ command = "k9pet",
+ label = "K9 Pet",
+ chatsuggestion = "Attempt to pet your own nearby K9 Dog.",
+ keymapping = "NUMPAD4", -- NUMPAD4
+ },
+ K9Carry = {
+ input = "keyboard",
+ command = "k9carry",
+ label = "K9 Carry",
+ chatsuggestion = "Carry your own K9 Dog.",
+ keymapping = "NUMPAD5", -- NUMPAD5
+ },
+ K9ReleaseLastTarget = { -- This releases the last target manually (assigned via K9 attack/search/taunt), so they get cleaned up by the GTA engine when it finds it suitable.
+ input = "keyboard",
+ command = "k9release",
+ label = "K9 Release",
+ chatsuggestion = "Release the last target the K9 Dog was interacting with.",
+ keymapping = "NUMPAD6", -- NUMPAD6
+ },
+
+ -- Actions: Attack, Search (ped/veh), Taunt.
+ K9SelectActionMode = {
+ input = "keyboard",
+ command = "k9selectactionmode",
+ label = "K9 Select Action Mode",
+ chatsuggestion = "Selects the action mode for the K9 Dog on the highlighted target (Attack, Search, Taunt).",
+ keymapping = "LMENU", -- Left ALT
+ }
+ },
+
+ --====================== HOTKEYS ======================--
+ -- https://docs.fivem.net/docs/game-references/controls/
+
+ -- Hint: These can not be changed by individual players, only via this config file.
+ HotKeys = {
+ K9Revive = {
+ inputKeyId = 38, -- E
+ inputKeyName = "~INPUT_CONTEXT~",
+ inputKeyLabel = "E"
+ },
+ K9Attack = {
+ inputKeyId = 38, -- E
+ inputKeyName = "~INPUT_CONTEXT~",
+ inputKeyLabel = "E"
+ },
+ K9Search = {
+ inputKeyId = 74, -- H
+ inputKeyName = "~INPUT_VEH_HEADLIGHT~",
+ inputKeyLabel = "H"
+ },
+ K9Taunt = {
+ inputKeyId = 182, -- L
+ inputKeyName = "~INPUT_CELLPHONE_CAMERA_FOCUS_LOCK~",
+ inputKeyLabel = "L"
+ },
+ Cancel = {
+ inputKeyId = 202, -- ESC/BACKSPACE
+ inputKeyName = "~INPUT_FRONTEND_RRIGHT~",
+ inputKeyLabel = "BACKSPACE"
+ },
+ },
+
+ --====================== K9 Dog Settings ======================--
+
+ K9BlipData = {
+ Enabled = true,
+ BlipName = "Canine (K9)",
+ BlipSpriteID = 898,
+ BlipDisplay = 2,
+ BlipCone = true,
+ BlipScale = 0.5,
+ BlipColourID = 10,
+ },
+
+ --====================== K9 Dog Target Marker Settings ======================--
+
+ MarkerHeight = 2.0,
+ TargetMarkerData = {
+ MarkerId = 21,
+ dirX = 0, dirY = 0, dirZ = 0,
+ rotX = 0, rotY = 180.0, rotZ = 0,
+ scaleX = 1.0, scaleY = 1.0, scaleZ = 1.0,
+ red = 255, green = 0, blue = 0, alpha = 125,
+ bobUpAndDown = false, faceCamera = true,
+ p19 = 0, rotate = false,
+ textureDict = 0, textureName = 0,
+ drawOnEnts = 0
+ },
+
+ --====================== LOCALES / LANGUAGE ======================--
+
+ Messages = {
+ Usage = "Usage",
+ Spawn = "Spawn",
+ K9Dog = "K9 Dog",
+
+ SpawnK9Dog = "Take out K9 dog from the vehicle",
+ DeleteK9Dog = "Put K9 dog in the vehicle",
+ K9Spawned = "Successfully summoned K9 dog.",
+ K9Deleted = "Successfully dismissed K9 dog.",
+ K9Injured = "Your K9 dog is injured. You have 10 seconds to revive them.",
+ K9PassedAway = "Your K9 dog has passed away. Please summon a new one.",
+ AlreadyHaveK9 = "You already have a K9 dog assigned to you...",
+ AssignedK9 = "Successfully assigned K9 dog to you.",
+ K9TooFarAway = "Your K9 dog is too far away from you. They have been tasked to return to you.",
+
+ ToSendTheDogToAttack = "K9 Attack",
+ ToSearchTarget = "K9 Search",
+ ToSendDogToTaunt = "K9 Taunt",
+ ToCancel = "Cancel",
+ ToReviveK9 = "Revive K9",
+ K9Revived = "Successfully revived your K9 dog.",
+
+ OrderedToIdle = "You've ordered the K9 dog to idle.",
+ AlreadyIdling = "Your K9 dog is already idling...",
+ OrderedToFollow = "You've ordered the K9 dog to follow you.",
+ AlreadyFollowing = "Your K9 dog is already following you...",
+ EnteredAttackMode = "You've entered attack mode. Press E to attack a highlighted target.",
+ OrderToAttackTarget = "You've ordered the K9 dog to attack a target.",
+ OrderedToSearch = "You've ordered the K9 dog to search the target.",
+ OrderedToTaunt = "You've ordered the K9 dog to taunt the target.",
+ OrderedToAlert = "You've ordered the K9 dog to alert by barking.",
+ YouArePettingTheDog = "You are petting the K9 dog.",
+ YouPickedUpTheK9 = "You picked up the K9 dog.",
+ YouReleasedTheK9 = "You released the K9 dog.",
+
+ DogIsTooFarAway = "The K9 dog is too far away for this action...",
+ SuspectIsFleeing = "The suspect is fleeing from the K9 dog...",
+ ReleasedTarget = "The last target the K9 dog was interacting with has been released...",
+ NoValidTargetToRelease = "There is no valid target to release...",
+ CouldNotReleaseTarget = "Could not release the last target, they seem to have other tasks...",
+ DogHasFoundNothing = "The K9 dog has not been triggered during the search, it is now returning to you...",
+ DogIsAlertingAfterSearching = "The K9 dog is triggered by something...",
+ VehicleDataTimeout = "A timeout occured on retrieving vehicle data in night_ers. Please try again.",
+ PedDataTimeout = "A timeout occured on retrieving ped data in night_ers. Please try again.",
+ EnteredSelectActionMode = "You've entered select K9 action mode.",
+ CannotSpawnK9WhilstNotOnShift = "You cannot spawn a K9 dog whilst not on shift for ERS...",
+ VehicleIsNotEmpty = "The vehicle is not empty... The dog can not search it.",
+ VehicleNotAllowedToBeSearched = "This vehicle can not be searched by the K9 dog...",
+ CanceledK9ActionMode = "Canceled K9 Action mode.",
+ DismissedK9DogTooFarAway = "Dismissed your K9 dog. They went too far away from you...",
+ CannotSpawnOrDeleteK9WhilstInVehicle = "You cannot spawn or delete a K9 dog whilst in a vehicle...",
+ YouHaveNoK9 = "You have no K9 dog...",
+ K9NotFound = "K9 dog not found...",
+ NoVehicleFound = "No suitable vehicle found to spawn a K9 dog...",
+ NoPermission = "You do not have the required permission to spawn a K9 dog...",
+ InvalidLocationIndex = "Invalid location index. Please provide a number...",
+ PickupCooldownActive = "K9 dog summon cooldown active. Please wait before summoning a K9 dog again.",
+
+ --========= NUI TRANSLATIONS =========--
+
+ K9ControlsTitlePed = "K9 Dog Controls (NPC)",
+ K9ControlsTitleVehicle = "K9 Dog Controls (Vehicle)",
+ AvailableHotkeysAndControls = "Available hotkeys and controls",
+ K9ControlsSubtitle = "Aim at the target and press the hotkey to perform the action.",
+ K9Attack = "Attack",
+ K9Search = "Search",
+ K9Taunt = "Taunt",
+ Cancel = "Cancel",
+ },
+}
\ No newline at end of file
diff --git a/resources/[ERS]/night_ers_k9/fxmanifest.lua b/resources/night_ers_k9/fxmanifest.lua
similarity index 97%
rename from resources/[ERS]/night_ers_k9/fxmanifest.lua
rename to resources/night_ers_k9/fxmanifest.lua
index 78e1d847f..590fa6ce2 100644
--- a/resources/[ERS]/night_ers_k9/fxmanifest.lua
+++ b/resources/night_ers_k9/fxmanifest.lua
@@ -4,7 +4,7 @@ games { 'gta5' }
author 'Night'
description 'Nights Software - K9 Dog Handlers FiveM'
-version '1.1.3'
+version '1.1.5'
lua54 'yes'
shared_scripts {
diff --git a/resources/[ERS]/night_ers_k9/index.html b/resources/night_ers_k9/index.html
similarity index 100%
rename from resources/[ERS]/night_ers_k9/index.html
rename to resources/night_ers_k9/index.html
diff --git a/resources/[ERS]/night_ers_k9/server/s_functions.lua b/resources/night_ers_k9/server/s_functions.lua
similarity index 100%
rename from resources/[ERS]/night_ers_k9/server/s_functions.lua
rename to resources/night_ers_k9/server/s_functions.lua
diff --git a/resources/night_ers_k9/server/server.lua b/resources/night_ers_k9/server/server.lua
new file mode 100644
index 000000000..36295a976
Binary files /dev/null and b/resources/night_ers_k9/server/server.lua differ
diff --git a/resources/radio/.fxap b/resources/radio/.fxap
index 3f30a08ed..048ea344d 100644
Binary files a/resources/radio/.fxap and b/resources/radio/.fxap differ
diff --git a/resources/radio/animations.lua b/resources/radio/animations.lua
new file mode 100644
index 000000000..09bb89127
--- /dev/null
+++ b/resources/radio/animations.lua
@@ -0,0 +1,213 @@
+-- ┌──────────────────────────────────────────────────────────────┐
+-- │ Tommy's Radio - Animation Configuration │
+-- │ Loaded after config.lua — assigns Config.animations │
+-- │ Documentation: https://docs.timmygstudios.com/docs/tommys-radio │
+-- └──────────────────────────────────────────────────────────────┘
+
+-- ══════════════════════════════════════════════════════════════════
+-- ANIMATION HELPERS (used internally by the animation definitions)
+-- ══════════════════════════════════════════════════════════════════
+
+-- Shared animation state tracker (global so it persists across calls)
+_radioAnimState = _radioAnimState or {
+ isPlaying = false,
+ pendingStart = false,
+ dictLoaded = false,
+ radioProp = nil,
+}
+
+--- Loads an anim dictionary without blocking the main thread.
+--- Calls onLoaded() once ready, only if shouldContinue() still returns true.
+--- @param dict string Animation dictionary name
+--- @param shouldContinue fun():boolean Check before starting (e.g. user hasn't released PTT)
+--- @param onLoaded fun() Callback when dictionary is loaded and shouldContinue is true
+local function LoadAnimDictAsync(dict, shouldContinue, onLoaded)
+ RequestAnimDict(dict)
+ Citizen.CreateThread(function()
+ local attempts = 0
+ while not HasAnimDictLoaded(dict) and attempts < 50 do
+ Citizen.Wait(10)
+ attempts = attempts + 1
+ end
+ if shouldContinue() and HasAnimDictLoaded(dict) then
+ onLoaded()
+ end
+ end)
+end
+
+--- Starts a ped animation and optionally attaches a prop.
+--- @param playerPed number Ped handle
+--- @param dict string Animation dictionary
+--- @param anim string Animation name
+--- @param prop string|nil Prop model name (nil = no prop)
+local function StartRadioAnim(playerPed, dict, anim, prop)
+ if IsEntityPlayingAnim(playerPed, dict, anim, 3) then return end
+
+ TaskPlayAnim(playerPed, dict, anim, 8.0, 2.0, -1, 50, 2.0, false, false, false)
+ _radioAnimState.isPlaying = true
+
+ if prop then
+ _radioAnimState.radioProp = CreateObject(GetHashKey(prop), 0, 0, 0, true, true, true)
+ AttachEntityToEntity(
+ _radioAnimState.radioProp, playerPed,
+ GetPedBoneIndex(playerPed, 28422),
+ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
+ true, true, false, true, 1, true
+ )
+ SetEntityAsMissionEntity(_radioAnimState.radioProp, true, true)
+ end
+end
+
+--- Stops an animation and cleans up any attached prop.
+--- @param playerPed number Ped handle
+--- @param dict string Animation dictionary
+--- @param anim string Animation name
+local function StopRadioAnim(playerPed, dict, anim)
+ if _radioAnimState.isPlaying or IsEntityPlayingAnim(playerPed, dict, anim, 3) then
+ StopAnimTask(playerPed, dict, anim, -4.0)
+ end
+
+ if _radioAnimState.radioProp then
+ DeleteObject(_radioAnimState.radioProp)
+ _radioAnimState.radioProp = nil
+ end
+
+ _radioAnimState.isPlaying = false
+end
+
+--- Creates a standard onKeyState handler (plays anim on PTT press, stops on release).
+--- @param dict string Animation dictionary
+--- @param anim string Animation name
+--- @param prop string|nil Prop model name (nil = no prop)
+--- @return fun(isKeyDown: boolean)
+local function MakePTTHandler(dict, anim, prop)
+ return function(isKeyDown)
+ local playerPed = PlayerPedId()
+ if not playerPed or playerPed == 0 then return end
+
+ if isKeyDown then
+ _radioAnimState.pendingStart = true
+ LoadAnimDictAsync(dict,
+ function() return _radioAnimState.pendingStart end,
+ function()
+ _radioAnimState.dictLoaded = true
+ StartRadioAnim(playerPed, dict, anim, prop)
+ end
+ )
+ else
+ _radioAnimState.pendingStart = false
+ StopRadioAnim(playerPed, dict, anim)
+ end
+ end
+end
+
+--- Creates a standard onRadioFocus handler (plays anim when radio UI is focused).
+--- @param dict string Animation dictionary
+--- @param anim string Animation name
+--- @param prop string|nil Prop model name (nil = no prop)
+--- @return fun(focused: boolean)
+local function MakeFocusHandler(dict, anim, prop)
+ return function(focused)
+ local playerPed = PlayerPedId()
+ if not playerPed or playerPed == 0 then return end
+
+ if focused then
+ if not _radioAnimState.isPlaying then
+ LoadAnimDictAsync(dict,
+ function() return true end,
+ function() StartRadioAnim(playerPed, dict, anim, prop) end
+ )
+ end
+ else
+ StopRadioAnim(playerPed, dict, anim)
+ end
+ end
+end
+
+
+-- ══════════════════════════════════════════════════════════════════
+-- ANIMATION DEFINITIONS
+-- ══════════════════════════════════════════════════════════════════
+-- Users can select which animation to use through the radio settings menu.
+-- Each entry needs:
+-- name - Display name shown in the settings menu
+-- onKeyState - Called when PTT key is pressed (true) or released (false)
+-- onRadioFocus - Called when the radio UI is focused (true) or unfocused (false)
+--
+-- You can add, remove, or reorder entries. The index [1] is used as the
+-- fallback if a player's saved animation is no longer available.
+
+Config.animations = {
+
+ -- [1] No animation at all
+ [1] = {
+ name = "None",
+ onKeyState = function(isKeyDown) end,
+ onRadioFocus = function(focused) end,
+ },
+
+ -- [2] Shoulder mic — PTT plays a shoulder-radio gesture, focus shows handheld + prop
+ [2] = {
+ name = "Shoulder",
+ onKeyState = MakePTTHandler("random@arrests", "generic_radio_enter", nil),
+ onRadioFocus = MakeFocusHandler("cellphone@", "cellphone_call_to_text", "prop_cs_hand_radio"),
+ },
+
+ -- [3] Handheld radio — Both PTT and focus use the same handheld + prop animation
+ [3] = {
+ name = "Handheld",
+ onKeyState = MakePTTHandler("cellphone@", "cellphone_call_to_text", "prop_cs_hand_radio"),
+ onRadioFocus = MakeFocusHandler("cellphone@", "cellphone_call_to_text", "prop_cs_hand_radio"),
+ },
+
+ -- [4] Earpiece — PTT plays an ear-touch gesture, no animation on focus
+ [4] = {
+ name = "Earpiece",
+ onKeyState = MakePTTHandler("cellphone@", "cellphone_call_listen_base", nil),
+ onRadioFocus = function(focused)
+ -- Earpiece has no focus animation — PTT only
+ end,
+ },
+
+ --[[ ── RP Emotes examples (requires rpemotes resource) ──────────────
+ -- Uncomment any of these and adjust the index numbers as needed.
+ -- See docs for more details: https://tommys-scripts.gitbook.io/fivem/
+ -- paid-scripts/tommys-radio/setup-and-configuration
+
+ [5] = {
+ name = "Chest",
+ onKeyState = function(isKeyDown)
+ if isKeyDown then
+ exports["rpemotes"]:EmoteCommandStart("radiochest", 0)
+ else
+ exports["rpemotes"]:EmoteCancel(true)
+ end
+ end,
+ onRadioFocus = function(focused)
+ if focused then
+ exports["rpemotes"]:EmoteCommandStart("wt", 0)
+ else
+ exports["rpemotes"]:EmoteCancel(true)
+ end
+ end,
+ },
+
+ [6] = {
+ name = "Handheld2",
+ onKeyState = function(isKeyDown)
+ if isKeyDown then
+ exports["rpemotes"]:EmoteCommandStart("wt4", 0)
+ else
+ exports["rpemotes"]:EmoteCancel(true)
+ end
+ end,
+ onRadioFocus = function(focused)
+ if focused then
+ exports["rpemotes"]:EmoteCommandStart("wt", 0)
+ else
+ exports["rpemotes"]:EmoteCancel(true)
+ end
+ end,
+ },
+ --]]
+}
diff --git a/resources/radio/audio.lua b/resources/radio/audio.lua
index 06d70dcfe..f773ee197 100644
Binary files a/resources/radio/audio.lua and b/resources/radio/audio.lua differ
diff --git a/resources/radio/blips.lua b/resources/radio/blips.lua
index eb3130fa4..4de56f584 100644
Binary files a/resources/radio/blips.lua and b/resources/radio/blips.lua differ
diff --git a/resources/radio/client/dist/bundle.js b/resources/radio/client/dist/bundle.js
index 29bc14346..5a451c4f5 100644
--- a/resources/radio/client/dist/bundle.js
+++ b/resources/radio/client/dist/bundle.js
@@ -1,16 +1,4 @@
-(()=>{var eG=Object.create;var{getPrototypeOf:JK,defineProperty:KY,getOwnPropertyNames:F8,getOwnPropertyDescriptor:YK}=Object,R8=Object.prototype.hasOwnProperty;var IZ=(J,Y,G)=>{G=J!=null?eG(JK(J)):{};let W=Y||!J||!J.__esModule?KY(G,"default",{value:J,enumerable:!0}):G;for(let O of F8(J))if(!R8.call(W,O))KY(W,O,{get:()=>J[O],enumerable:!0});return W},q8=new WeakMap,ZK=(J)=>{var Y=q8.get(J),G;if(Y)return Y;if(Y=KY({},"__esModule",{value:!0}),J&&typeof J==="object"||typeof J==="function")F8(J).map((W)=>!R8.call(Y,W)&&KY(Y,W,{get:()=>J[W],enumerable:!(G=YK(J,W))||G.enumerable}));return q8.set(J,Y),Y},$0=(J,Y)=>()=>(Y||J((Y={exports:{}}).exports,Y),Y.exports);var GK=(J,Y)=>{for(var G in Y)KY(J,G,{get:Y[G],enumerable:!0,configurable:!0,set:(W)=>Y[G]=()=>W})};var A8=$0((N8,kY)=>{/*!
- * jQuery JavaScript Library v3.7.1
- * https://jquery.com/
- *
- * Copyright OpenJS Foundation and other contributors
- * Released under the MIT license
- * https://jquery.org/license
- *
- * Date: 2023-08-28T13:37Z
- */(function(J,Y){if(typeof kY==="object"&&typeof kY.exports==="object")kY.exports=J.document?Y(J,!0):function(G){if(!G.document)throw Error("jQuery requires a window with a document");return Y(G)};else Y(J)})(typeof window<"u"?window:N8,function(J,Y){var G=[],W=Object.getPrototypeOf,O=G.slice,A=G.flat?function(Z){return G.flat.call(Z)}:function(Z){return G.concat.apply([],Z)},Q=G.push,S=G.indexOf,E={},k=E.toString,X=E.hasOwnProperty,$=X.toString,R=$.call(Object),H={},P=function(K){return typeof K==="function"&&typeof K.nodeType!=="number"&&typeof K.item!=="function"},I=function(K){return K!=null&&K===K.window},D=J.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function n(Z,K,z){z=z||D;var U,B,q=z.createElement("script");if(q.text=Z,K){for(U in c)if(B=K[U]||K.getAttribute&&K.getAttribute(U),B)q.setAttribute(U,B)}z.head.appendChild(q).parentNode.removeChild(q)}function K0(Z){if(Z==null)return Z+"";return typeof Z==="object"||typeof Z==="function"?E[k.call(Z)]||"object":typeof Z}var S0="3.7.1",p0=/HTML$/i,V=function(Z,K){return new V.fn.init(Z,K)};if(V.fn=V.prototype={jquery:S0,constructor:V,length:0,toArray:function(){return O.call(this)},get:function(Z){if(Z==null)return O.call(this);return Z<0?this[Z+this.length]:this[Z]},pushStack:function(Z){var K=V.merge(this.constructor(),Z);return K.prevObject=this,K},each:function(Z){return V.each(this,Z)},map:function(Z){return this.pushStack(V.map(this,function(K,z){return Z.call(K,z,K)}))},slice:function(){return this.pushStack(O.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(V.grep(this,function(Z,K){return(K+1)%2}))},odd:function(){return this.pushStack(V.grep(this,function(Z,K){return K%2}))},eq:function(Z){var K=this.length,z=+Z+(Z<0?K:0);return this.pushStack(z>=0&&z0&&K-1 in Z}function a(Z,K){return Z.nodeName&&Z.nodeName.toLowerCase()===K.toLowerCase()}var{pop:N1,sort:t1,splice:m1}=G,Z0="[\\x20\\t\\r\\n\\f]",y=new RegExp("^"+Z0+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Z0+"+$","g");V.contains=function(Z,K){var z=K&&K.parentNode;return Z===z||!!(z&&z.nodeType===1&&(Z.contains?Z.contains(z):Z.compareDocumentPosition&&Z.compareDocumentPosition(z)&16))};var U0=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function L0(Z,K){if(K){if(Z==="\x00")return"�";return Z.slice(0,-1)+"\\"+Z.charCodeAt(Z.length-1).toString(16)+" "}return"\\"+Z}V.escapeSelector=function(Z){return(Z+"").replace(U0,L0)};var W1=D,_J=Q;(function(){var Z,K,z,U,B,q=_J,N,C,_,T,b,h=V.expando,j=0,f=0,J0=TY(),V0=TY(),G0=TY(),j0=TY(),T0=function(M,L){if(M===L)B=!0;return 0},M1="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",E1="(?:\\\\[\\da-fA-F]{1,6}"+Z0+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\x00-\\x7f])+",z0="\\["+Z0+"*("+E1+")(?:"+Z0+"*([*^$|!~]?=)"+Z0+`*(?:'((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)"|(`+E1+"))|)"+Z0+"*\\]",ZJ=":("+E1+`)(?:\\((('((?:\\\\.|[^\\\\'])*)'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|`+z0+")*)|.*)\\)|)",B0=new RegExp(Z0+"+","g"),Q0=new RegExp("^"+Z0+"*,"+Z0+"*"),YY=new RegExp("^"+Z0+"*([>+~]|"+Z0+")"+Z0+"*"),SZ=new RegExp(Z0+"|>"),_1=new RegExp(ZJ),ZY=new RegExp("^"+E1+"$"),S1={ID:new RegExp("^#("+E1+")"),CLASS:new RegExp("^\\.("+E1+")"),TAG:new RegExp("^("+E1+"|[*])"),ATTR:new RegExp("^"+z0),PSEUDO:new RegExp("^"+ZJ),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+Z0+"*(even|odd|(([+-]|)(\\d*)n|)"+Z0+"*(?:([+-]|)"+Z0+"*(\\d+)|))"+Z0+"*\\)|)","i"),bool:new RegExp("^(?:"+M1+")$","i"),needsContext:new RegExp("^"+Z0+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+Z0+"*((?:-\\d)?\\d*)"+Z0+"*\\)|)(?=[^-]|$)","i")},p1=/^(?:input|select|textarea|button)$/i,u1=/^h\d$/i,J1=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,PZ=/[+~]/,x1=new RegExp("\\\\[\\da-fA-F]{1,6}"+Z0+"?|\\\\([^\\r\\n\\f])","g"),b1=function(M,L){var w="0x"+M.slice(1)-65536;if(L)return L;return w<0?String.fromCharCode(w+65536):String.fromCharCode(w>>10|55296,w&1023|56320)},lG=function(){c1()},nG=wY(function(M){return M.disabled===!0&&a(M,"fieldset")},{dir:"parentNode",next:"legend"});function sG(){try{return N.activeElement}catch(M){}}try{q.apply(G=O.call(W1.childNodes),W1.childNodes),G[W1.childNodes.length].nodeType}catch(M){q={apply:function(L,w){_J.apply(L,O.call(w))},call:function(L){_J.apply(L,O.call(arguments,1))}}}function R0(M,L,w,x){var v,p,d,s,i,W0,e,Y0=L&&L.ownerDocument,X0=L?L.nodeType:9;if(w=w||[],typeof M!=="string"||!M||X0!==1&&X0!==9&&X0!==11)return w;if(!x){if(c1(L),L=L||N,_){if(X0!==11&&(i=J1.exec(M))){if(v=i[1]){if(X0===9)if(d=L.getElementById(v)){if(d.id===v)return q.call(w,d),w}else return w;else if(Y0&&(d=Y0.getElementById(v))&&R0.contains(L,d)&&d.id===v)return q.call(w,d),w}else if(i[2])return q.apply(w,L.getElementsByTagName(M)),w;else if((v=i[3])&&L.getElementsByClassName)return q.apply(w,L.getElementsByClassName(v)),w}if(!j0[M+" "]&&(!T||!T.test(M))){if(e=M,Y0=L,X0===1&&(SZ.test(M)||YY.test(M))){if(Y0=PZ.test(M)&&CZ(L.parentNode)||L,Y0!=L||!H.scope)if(s=L.getAttribute("id"))s=V.escapeSelector(s);else L.setAttribute("id",s=h);W0=GY(M),p=W0.length;while(p--)W0[p]=(s?"#"+s:":scope")+" "+IY(W0[p]);e=W0.join(",")}try{return q.apply(w,Y0.querySelectorAll(e)),w}catch(o){j0(M,!0)}finally{if(s===h)L.removeAttribute("id")}}}}return B8(M.replace(y,"$1"),L,w,x)}function TY(){var M=[];function L(w,x){if(M.push(w+" ")>K.cacheLength)delete L[M.shift()];return L[w+" "]=x}return L}function $1(M){return M[h]=!0,M}function IJ(M){var L=N.createElement("fieldset");try{return!!M(L)}catch(w){return!1}finally{if(L.parentNode)L.parentNode.removeChild(L);L=null}}function aG(M){return function(L){return a(L,"input")&&L.type===M}}function rG(M){return function(L){return(a(L,"input")||a(L,"button"))&&L.type===M}}function V8(M){return function(L){if("form"in L){if(L.parentNode&&L.disabled===!1){if("label"in L)if("label"in L.parentNode)return L.parentNode.disabled===M;else return L.disabled===M;return L.isDisabled===M||L.isDisabled!==!M&&nG(L)===M}return L.disabled===M}else if("label"in L)return L.disabled===M;return!1}}function GJ(M){return $1(function(L){return L=+L,$1(function(w,x){var v,p=M([],w.length,L),d=p.length;while(d--)if(w[v=p[d]])w[v]=!(x[v]=w[v])})})}function CZ(M){return M&&typeof M.getElementsByTagName<"u"&&M}function c1(M){var L,w=M?M.ownerDocument||M:W1;if(w==N||w.nodeType!==9||!w.documentElement)return N;if(N=w,C=N.documentElement,_=!V.isXMLDoc(N),b=C.matches||C.webkitMatchesSelector||C.msMatchesSelector,C.msMatchesSelector&&W1!=N&&(L=N.defaultView)&&L.top!==L)L.addEventListener("unload",lG);if(H.getById=IJ(function(x){return C.appendChild(x).id=V.expando,!N.getElementsByName||!N.getElementsByName(V.expando).length}),H.disconnectedMatch=IJ(function(x){return b.call(x,"*")}),H.scope=IJ(function(){return N.querySelectorAll(":scope")}),H.cssHas=IJ(function(){try{return N.querySelector(":has(*,:jqfake)"),!1}catch(x){return!0}}),H.getById)K.filter.ID=function(x){var v=x.replace(x1,b1);return function(p){return p.getAttribute("id")===v}},K.find.ID=function(x,v){if(typeof v.getElementById<"u"&&_){var p=v.getElementById(x);return p?[p]:[]}};else K.filter.ID=function(x){var v=x.replace(x1,b1);return function(p){var d=typeof p.getAttributeNode<"u"&&p.getAttributeNode("id");return d&&d.value===v}},K.find.ID=function(x,v){if(typeof v.getElementById<"u"&&_){var p,d,s,i=v.getElementById(x);if(i){if(p=i.getAttributeNode("id"),p&&p.value===x)return[i];s=v.getElementsByName(x),d=0;while(i=s[d++])if(p=i.getAttributeNode("id"),p&&p.value===x)return[i]}return[]}};if(K.find.TAG=function(x,v){if(typeof v.getElementsByTagName<"u")return v.getElementsByTagName(x);else return v.querySelectorAll(x)},K.find.CLASS=function(x,v){if(typeof v.getElementsByClassName<"u"&&_)return v.getElementsByClassName(x)},T=[],IJ(function(x){var v;if(C.appendChild(x).innerHTML="",!x.querySelectorAll("[selected]").length)T.push("\\["+Z0+"*(?:value|"+M1+")");if(!x.querySelectorAll("[id~="+h+"-]").length)T.push("~=");if(!x.querySelectorAll("a#"+h+"+*").length)T.push(".#.+[+~]");if(!x.querySelectorAll(":checked").length)T.push(":checked");if(v=N.createElement("input"),v.setAttribute("type","hidden"),x.appendChild(v).setAttribute("name","D"),C.appendChild(x).disabled=!0,x.querySelectorAll(":disabled").length!==2)T.push(":enabled",":disabled");if(v=N.createElement("input"),v.setAttribute("name",""),x.appendChild(v),!x.querySelectorAll("[name='']").length)T.push("\\["+Z0+"*name"+Z0+"*="+Z0+`*(?:''|"")`)}),!H.cssHas)T.push(":has");return T=T.length&&new RegExp(T.join("|")),T0=function(x,v){if(x===v)return B=!0,0;var p=!x.compareDocumentPosition-!v.compareDocumentPosition;if(p)return p;if(p=(x.ownerDocument||x)==(v.ownerDocument||v)?x.compareDocumentPosition(v):1,p&1||!H.sortDetached&&v.compareDocumentPosition(x)===p){if(x===N||x.ownerDocument==W1&&R0.contains(W1,x))return-1;if(v===N||v.ownerDocument==W1&&R0.contains(W1,v))return 1;return U?S.call(U,x)-S.call(U,v):0}return p&4?-1:1},N}R0.matches=function(M,L){return R0(M,null,null,L)},R0.matchesSelector=function(M,L){if(c1(M),_&&!j0[L+" "]&&(!T||!T.test(L)))try{var w=b.call(M,L);if(w||H.disconnectedMatch||M.document&&M.document.nodeType!==11)return w}catch(x){j0(L,!0)}return R0(L,N,null,[M]).length>0},R0.contains=function(M,L){if((M.ownerDocument||M)!=N)c1(M);return V.contains(M,L)},R0.attr=function(M,L){if((M.ownerDocument||M)!=N)c1(M);var w=K.attrHandle[L.toLowerCase()],x=w&&X.call(K.attrHandle,L.toLowerCase())?w(M,L,!_):void 0;if(x!==void 0)return x;return M.getAttribute(L)},R0.error=function(M){throw Error("Syntax error, unrecognized expression: "+M)},V.uniqueSort=function(M){var L,w=[],x=0,v=0;if(B=!H.sortStable,U=!H.sortStable&&O.call(M,0),t1.call(M,T0),B){while(L=M[v++])if(L===M[v])x=w.push(v);while(x--)m1.call(M,w[x],1)}return U=null,M},V.fn.uniqueSort=function(){return this.pushStack(V.uniqueSort(O.apply(this)))},K=V.expr={cacheLength:50,createPseudo:$1,match:S1,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(M){if(M[1]=M[1].replace(x1,b1),M[3]=(M[3]||M[4]||M[5]||"").replace(x1,b1),M[2]==="~=")M[3]=" "+M[3]+" ";return M.slice(0,4)},CHILD:function(M){if(M[1]=M[1].toLowerCase(),M[1].slice(0,3)==="nth"){if(!M[3])R0.error(M[0]);M[4]=+(M[4]?M[5]+(M[6]||1):2*(M[3]==="even"||M[3]==="odd")),M[5]=+(M[7]+M[8]||M[3]==="odd")}else if(M[3])R0.error(M[0]);return M},PSEUDO:function(M){var L,w=!M[6]&&M[2];if(S1.CHILD.test(M[0]))return null;if(M[3])M[2]=M[4]||M[5]||"";else if(w&&_1.test(w)&&(L=GY(w,!0))&&(L=w.indexOf(")",w.length-L)-w.length))M[0]=M[0].slice(0,L),M[2]=w.slice(0,L);return M.slice(0,3)}},filter:{TAG:function(M){var L=M.replace(x1,b1).toLowerCase();return M==="*"?function(){return!0}:function(w){return a(w,L)}},CLASS:function(M){var L=J0[M+" "];return L||(L=new RegExp("(^|"+Z0+")"+M+"("+Z0+"|$)"))&&J0(M,function(w){return L.test(typeof w.className==="string"&&w.className||typeof w.getAttribute<"u"&&w.getAttribute("class")||"")})},ATTR:function(M,L,w){return function(x){var v=R0.attr(x,M);if(v==null)return L==="!=";if(!L)return!0;if(v+="",L==="=")return v===w;if(L==="!=")return v!==w;if(L==="^=")return w&&v.indexOf(w)===0;if(L==="*=")return w&&v.indexOf(w)>-1;if(L==="$=")return w&&v.slice(-w.length)===w;if(L==="~=")return(" "+v.replace(B0," ")+" ").indexOf(w)>-1;if(L==="|=")return v===w||v.slice(0,w.length+1)===w+"-";return!1}},CHILD:function(M,L,w,x,v){var p=M.slice(0,3)!=="nth",d=M.slice(-4)!=="last",s=L==="of-type";return x===1&&v===0?function(i){return!!i.parentNode}:function(i,W0,e){var Y0,X0,o,M0,i0,h0=p!==d?"nextSibling":"previousSibling",Y1=i.parentNode,P1=s&&i.nodeName.toLowerCase(),wJ=!e&&!s,f0=!1;if(Y1){if(p){while(h0){o=i;while(o=o[h0])if(s?a(o,P1):o.nodeType===1)return!1;i0=h0=M==="only"&&!i0&&"nextSibling"}return!0}if(i0=[d?Y1.firstChild:Y1.lastChild],d&&wJ){X0=Y1[h]||(Y1[h]={}),Y0=X0[M]||[],M0=Y0[0]===j&&Y0[1],f0=M0&&Y0[2],o=M0&&Y1.childNodes[M0];while(o=++M0&&o&&o[h0]||(f0=M0=0)||i0.pop())if(o.nodeType===1&&++f0&&o===i){X0[M]=[j,M0,f0];break}}else{if(wJ)X0=i[h]||(i[h]={}),Y0=X0[M]||[],M0=Y0[0]===j&&Y0[1],f0=M0;if(f0===!1){while(o=++M0&&o&&o[h0]||(f0=M0=0)||i0.pop())if((s?a(o,P1):o.nodeType===1)&&++f0){if(wJ)X0=o[h]||(o[h]={}),X0[M]=[j,f0];if(o===i)break}}}return f0-=v,f0===x||f0%x===0&&f0/x>=0}}},PSEUDO:function(M,L){var w,x=K.pseudos[M]||K.setFilters[M.toLowerCase()]||R0.error("unsupported pseudo: "+M);if(x[h])return x(L);if(x.length>1)return w=[M,M,"",L],K.setFilters.hasOwnProperty(M.toLowerCase())?$1(function(v,p){var d,s=x(v,L),i=s.length;while(i--)d=S.call(v,s[i]),v[d]=!(p[d]=s[i])}):function(v){return x(v,0,w)};return x}},pseudos:{not:$1(function(M){var L=[],w=[],x=TZ(M.replace(y,"$1"));return x[h]?$1(function(v,p,d,s){var i,W0=x(v,null,s,[]),e=v.length;while(e--)if(i=W0[e])v[e]=!(p[e]=i)}):function(v,p,d){return L[0]=v,x(L,null,d,w),L[0]=null,!w.pop()}}),has:$1(function(M){return function(L){return R0(M,L).length>0}}),contains:$1(function(M){return M=M.replace(x1,b1),function(L){return(L.textContent||V.text(L)).indexOf(M)>-1}}),lang:$1(function(M){if(!ZY.test(M||""))R0.error("unsupported lang: "+M);return M=M.replace(x1,b1).toLowerCase(),function(L){var w;do if(w=_?L.lang:L.getAttribute("xml:lang")||L.getAttribute("lang"))return w=w.toLowerCase(),w===M||w.indexOf(M+"-")===0;while((L=L.parentNode)&&L.nodeType===1);return!1}}),target:function(M){var L=J.location&&J.location.hash;return L&&L.slice(1)===M.id},root:function(M){return M===C},focus:function(M){return M===sG()&&N.hasFocus()&&!!(M.type||M.href||~M.tabIndex)},enabled:V8(!1),disabled:V8(!0),checked:function(M){return a(M,"input")&&!!M.checked||a(M,"option")&&!!M.selected},selected:function(M){if(M.parentNode)M.parentNode.selectedIndex;return M.selected===!0},empty:function(M){for(M=M.firstChild;M;M=M.nextSibling)if(M.nodeType<6)return!1;return!0},parent:function(M){return!K.pseudos.empty(M)},header:function(M){return u1.test(M.nodeName)},input:function(M){return p1.test(M.nodeName)},button:function(M){return a(M,"input")&&M.type==="button"||a(M,"button")},text:function(M){var L;return a(M,"input")&&M.type==="text"&&((L=M.getAttribute("type"))==null||L.toLowerCase()==="text")},first:GJ(function(){return[0]}),last:GJ(function(M,L){return[L-1]}),eq:GJ(function(M,L,w){return[w<0?w+L:w]}),even:GJ(function(M,L){var w=0;for(;wL)x=L;else x=w;for(;--x>=0;)M.push(x);return M}),gt:GJ(function(M,L,w){var x=w<0?w+L:w;for(;++x1?function(L,w,x){var v=M.length;while(v--)if(!M[v](L,w,x))return!1;return!0}:M[0]}function oG(M,L,w){var x=0,v=L.length;for(;x-1)d[e]=!(s[e]=X0)}}else if(o=jY(o===s?o.splice(h0,o.length):o),v)v(null,s,o,W0);else q.apply(s,o)})}function LZ(M){var L,w,x,v=M.length,p=K.relative[M[0].type],d=p||K.relative[" "],s=p?1:0,i=wY(function(Y0){return Y0===L},d,!0),W0=wY(function(Y0){return S.call(L,Y0)>-1},d,!0),e=[function(Y0,X0,o){var M0=!p&&(o||X0!=z)||((L=X0).nodeType?i(Y0,X0,o):W0(Y0,X0,o));return L=null,M0}];for(;s1&&QZ(e),s>1&&IY(M.slice(0,s-1).concat({value:M[s-2].type===" "?"*":""})).replace(y,"$1"),w,s0,x=M.length>0,v=function(p,d,s,i,W0){var e,Y0,X0,o=0,M0="0",i0=p&&[],h0=[],Y1=z,P1=p||x&&K.find.TAG("*",W0),wJ=j+=Y1==null?1:Math.random()||0.1,f0=P1.length;if(W0)z=d==N||d||W0;for(;M0!==f0&&(e=P1[M0])!=null;M0++){if(x&&e){if(Y0=0,!d&&e.ownerDocument!=N)c1(e),s=!_;while(X0=M[Y0++])if(X0(e,d||N,s)){q.call(i,e);break}if(W0)j=wJ}if(w){if(e=!X0&&e)o--;if(p)i0.push(e)}}if(o+=M0,w&&M0!==o){Y0=0;while(X0=L[Y0++])X0(i0,h0,d,s);if(p){if(o>0){while(M0--)if(!(i0[M0]||h0[M0]))h0[M0]=N1.call(i)}h0=jY(h0)}if(q.apply(i,h0),W0&&!p&&h0.length>0&&o+L.length>1)V.uniqueSort(i)}if(W0)j=wJ,z=Y1;return i0};return w?$1(v):v}function TZ(M,L){var w,x=[],v=[],p=G0[M+" "];if(!p){if(!L)L=GY(M);w=L.length;while(w--)if(p=LZ(L[w]),p[h])x.push(p);else v.push(p);p=G0(M,tG(v,x)),p.selector=M}return p}function B8(M,L,w,x){var v,p,d,s,i,W0=typeof M==="function"&&M,e=!x&&GY(M=W0.selector||M);if(w=w||[],e.length===1){if(p=e[0]=e[0].slice(0),p.length>2&&(d=p[0]).type==="ID"&&L.nodeType===9&&_&&K.relative[p[1].type]){if(L=(K.find.ID(d.matches[0].replace(x1,b1),L)||[])[0],!L)return w;else if(W0)L=L.parentNode;M=M.slice(p.shift().value.length)}v=S1.needsContext.test(M)?0:p.length;while(v--){if(d=p[v],K.relative[s=d.type])break;if(i=K.find[s]){if(x=i(d.matches[0].replace(x1,b1),PZ.test(p[0].type)&&CZ(L.parentNode)||L)){if(p.splice(v,1),M=x.length&&IY(p),!M)return q.apply(w,x),w;break}}}}return(W0||TZ(M,e))(x,L,!_,w,!L||PZ.test(M)&&CZ(L.parentNode)||L),w}H.sortStable=h.split("").sort(T0).join("")===h,c1(),H.sortDetached=IJ(function(M){return M.compareDocumentPosition(N.createElement("fieldset"))&1}),V.find=R0,V.expr[":"]=V.expr.pseudos,V.unique=V.uniqueSort,R0.compile=TZ,R0.select=B8,R0.setDocument=c1,R0.tokenize=GY,R0.escape=V.escapeSelector,R0.getText=V.text,R0.isXML=V.isXMLDoc,R0.selectors=V.expr,R0.support=V.support,R0.uniqueSort=V.uniqueSort})();var t0=function(Z,K,z){var U=[],B=z!==void 0;while((Z=Z[K])&&Z.nodeType!==9)if(Z.nodeType===1){if(B&&V(Z).is(z))break;U.push(Z)}return U},X1=function(Z,K){var z=[];for(;Z;Z=Z.nextSibling)if(Z.nodeType===1&&Z!==K)z.push(Z);return z},T6=V.expr.match.needsContext,I6=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function XZ(Z,K,z){if(P(K))return V.grep(Z,function(U,B){return!!K.call(U,B,U)!==z});if(K.nodeType)return V.grep(Z,function(U){return U===K!==z});if(typeof K!=="string")return V.grep(Z,function(U){return S.call(K,U)>-1!==z});return V.filter(K,Z,z)}V.filter=function(Z,K,z){var U=K[0];if(z)Z=":not("+Z+")";if(K.length===1&&U.nodeType===1)return V.find.matchesSelector(U,Z)?[U]:[];return V.find.matches(Z,V.grep(K,function(B){return B.nodeType===1}))},V.fn.extend({find:function(Z){var K,z,U=this.length,B=this;if(typeof Z!=="string")return this.pushStack(V(Z).filter(function(){for(K=0;K1?V.uniqueSort(z):z},filter:function(Z){return this.pushStack(XZ(this,Z||[],!1))},not:function(Z){return this.pushStack(XZ(this,Z||[],!0))},is:function(Z){return!!XZ(this,typeof Z==="string"&&T6.test(Z)?V(Z):Z||[],!1).length}});var w6,t9=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,e9=V.fn.init=function(Z,K,z){var U,B;if(!Z)return this;if(z=z||w6,typeof Z==="string"){if(Z[0]==="<"&&Z[Z.length-1]===">"&&Z.length>=3)U=[null,Z,null];else U=t9.exec(Z);if(U&&(U[1]||!K))if(U[1]){if(K=K instanceof V?K[0]:K,V.merge(this,V.parseHTML(U[1],K&&K.nodeType?K.ownerDocument||K:D,!0)),I6.test(U[1])&&V.isPlainObject(K))for(U in K)if(P(this[U]))this[U](K[U]);else this.attr(U,K[U]);return this}else{if(B=D.getElementById(U[2]),B)this[0]=B,this.length=1;return this}else if(!K||K.jquery)return(K||z).find(Z);else return this.constructor(K).find(Z)}else if(Z.nodeType)return this[0]=Z,this.length=1,this;else if(P(Z))return z.ready!==void 0?z.ready(Z):Z(V);return V.makeArray(Z,this)};e9.prototype=V.fn,w6=V(D);var JG=/^(?:parents|prev(?:Until|All))/,YG={children:!0,contents:!0,next:!0,prev:!0};V.fn.extend({has:function(Z){var K=V(Z,this),z=K.length;return this.filter(function(){var U=0;for(;U-1:z.nodeType===1&&V.find.matchesSelector(z,Z))){q.push(z);break}}return this.pushStack(q.length>1?V.uniqueSort(q):q)},index:function(Z){if(!Z)return this[0]&&this[0].parentNode?this.first().prevAll().length:-1;if(typeof Z==="string")return S.call(V(Z),this[0]);return S.call(this,Z.jquery?Z[0]:Z)},add:function(Z,K){return this.pushStack(V.uniqueSort(V.merge(this.get(),V(Z,K))))},addBack:function(Z){return this.add(Z==null?this.prevObject:this.prevObject.filter(Z))}});function j6(Z,K){while((Z=Z[K])&&Z.nodeType!==1);return Z}V.each({parent:function(Z){var K=Z.parentNode;return K&&K.nodeType!==11?K:null},parents:function(Z){return t0(Z,"parentNode")},parentsUntil:function(Z,K,z){return t0(Z,"parentNode",z)},next:function(Z){return j6(Z,"nextSibling")},prev:function(Z){return j6(Z,"previousSibling")},nextAll:function(Z){return t0(Z,"nextSibling")},prevAll:function(Z){return t0(Z,"previousSibling")},nextUntil:function(Z,K,z){return t0(Z,"nextSibling",z)},prevUntil:function(Z,K,z){return t0(Z,"previousSibling",z)},siblings:function(Z){return X1((Z.parentNode||{}).firstChild,Z)},children:function(Z){return X1(Z.firstChild)},contents:function(Z){if(Z.contentDocument!=null&&W(Z.contentDocument))return Z.contentDocument;if(a(Z,"template"))Z=Z.content||Z;return V.merge([],Z.childNodes)}},function(Z,K){V.fn[Z]=function(z,U){var B=V.map(this,K,z);if(Z.slice(-5)!=="Until")U=z;if(U&&typeof U==="string")B=V.filter(U,B);if(this.length>1){if(!YG[Z])V.uniqueSort(B);if(JG.test(Z))B.reverse()}return this.pushStack(B)}});var A1=/[^\x20\t\r\n\f]+/g;function ZG(Z){var K={};return V.each(Z.match(A1)||[],function(z,U){K[U]=!0}),K}V.Callbacks=function(Z){Z=typeof Z==="string"?ZG(Z):V.extend({},Z);var K,z,U,B,q=[],N=[],C=-1,_=function(){B=B||Z.once,U=K=!0;for(;N.length;C=-1){z=N.shift();while(++C-1)if(q.splice(j,1),j<=C)C--}),this},has:function(b){return b?V.inArray(b,q)>-1:q.length>0},empty:function(){if(q)q=[];return this},disable:function(){return B=N=[],q=z="",this},disabled:function(){return!q},lock:function(){if(B=N=[],!z&&!K)q=z="";return this},locked:function(){return!!B},fireWith:function(b,h){if(!B){if(h=h||[],h=[b,h.slice?h.slice():h],N.push(h),!K)_()}return this},fire:function(){return T.fireWith(this,arguments),this},fired:function(){return!!U}};return T};function SJ(Z){return Z}function _Y(Z){throw Z}function k6(Z,K,z,U){var B;try{if(Z&&P(B=Z.promise))B.call(Z).done(K).fail(z);else if(Z&&P(B=Z.then))B.call(Z,K,z);else K.apply(void 0,[Z].slice(U))}catch(q){z.apply(void 0,[q])}}V.extend({Deferred:function(Z){var K=[["notify","progress",V.Callbacks("memory"),V.Callbacks("memory"),2],["resolve","done",V.Callbacks("once memory"),V.Callbacks("once memory"),0,"resolved"],["reject","fail",V.Callbacks("once memory"),V.Callbacks("once memory"),1,"rejected"]],z="pending",U={state:function(){return z},always:function(){return B.done(arguments).fail(arguments),this},catch:function(q){return U.then(null,q)},pipe:function(){var q=arguments;return V.Deferred(function(N){V.each(K,function(C,_){var T=P(q[_[4]])&&q[_[4]];B[_[1]](function(){var b=T&&T.apply(this,arguments);if(b&&P(b.promise))b.promise().progress(N.notify).done(N.resolve).fail(N.reject);else N[_[0]+"With"](this,T?[b]:arguments)})}),q=null}).promise()},then:function(q,N,C){var _=0;function T(b,h,j,f){return function(){var J0=this,V0=arguments,G0=function(){var T0,M1;if(b<_)return;if(T0=j.apply(J0,V0),T0===h.promise())throw TypeError("Thenable self-resolution");if(M1=T0&&(typeof T0==="object"||typeof T0==="function")&&T0.then,P(M1))if(f)M1.call(T0,T(_,h,SJ,f),T(_,h,_Y,f));else _++,M1.call(T0,T(_,h,SJ,f),T(_,h,_Y,f),T(_,h,SJ,h.notifyWith));else{if(j!==SJ)J0=void 0,V0=[T0];(f||h.resolveWith)(J0,V0)}},j0=f?G0:function(){try{G0()}catch(T0){if(V.Deferred.exceptionHook)V.Deferred.exceptionHook(T0,j0.error);if(b+1>=_){if(j!==_Y)J0=void 0,V0=[T0];h.rejectWith(J0,V0)}}};if(b)j0();else{if(V.Deferred.getErrorHook)j0.error=V.Deferred.getErrorHook();else if(V.Deferred.getStackHook)j0.error=V.Deferred.getStackHook();J.setTimeout(j0)}}}return V.Deferred(function(b){K[0][3].add(T(0,b,P(C)?C:SJ,b.notifyWith)),K[1][3].add(T(0,b,P(q)?q:SJ)),K[2][3].add(T(0,b,P(N)?N:_Y))}).promise()},promise:function(q){return q!=null?V.extend(q,U):U}},B={};if(V.each(K,function(q,N){var C=N[2],_=N[5];if(U[N[1]]=C.add,_)C.add(function(){z=_},K[3-q][2].disable,K[3-q][3].disable,K[0][2].lock,K[0][3].lock);C.add(N[3].fire),B[N[0]]=function(){return B[N[0]+"With"](this===B?void 0:this,arguments),this},B[N[0]+"With"]=C.fireWith}),U.promise(B),Z)Z.call(B,B);return B},when:function(Z){var K=arguments.length,z=K,U=Array(z),B=O.call(arguments),q=V.Deferred(),N=function(C){return function(_){if(U[C]=this,B[C]=arguments.length>1?O.call(arguments):_,!--K)q.resolveWith(U,B)}};if(K<=1){if(k6(Z,q.done(N(z)).resolve,q.reject,!K),q.state()==="pending"||P(B[z]&&B[z].then))return q.then()}while(z--)k6(B[z],N(z),q.reject);return q.promise()}});var GG=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;V.Deferred.exceptionHook=function(Z,K){if(J.console&&J.console.warn&&Z&&GG.test(Z.name))J.console.warn("jQuery.Deferred exception: "+Z.message,Z.stack,K)},V.readyException=function(Z){J.setTimeout(function(){throw Z})};var zZ=V.Deferred();V.fn.ready=function(Z){return zZ.then(Z).catch(function(K){V.readyException(K)}),this},V.extend({isReady:!1,readyWait:1,ready:function(Z){if(Z===!0?--V.readyWait:V.isReady)return;if(V.isReady=!0,Z!==!0&&--V.readyWait>0)return;zZ.resolveWith(D,[V])}}),V.ready.then=zZ.then;function SY(){D.removeEventListener("DOMContentLoaded",SY),J.removeEventListener("load",SY),V.ready()}if(D.readyState==="complete"||D.readyState!=="loading"&&!D.documentElement.doScroll)J.setTimeout(V.ready);else D.addEventListener("DOMContentLoaded",SY),J.addEventListener("load",SY);var j1=function(Z,K,z,U,B,q,N){var C=0,_=Z.length,T=z==null;if(K0(z)==="object"){B=!0;for(C in z)j1(Z,K,C,z[C],!0,q,N)}else if(U!==void 0){if(B=!0,!P(U))N=!0;if(T)if(N)K.call(Z,U),K=null;else T=K,K=function(b,h,j){return T.call(V(b),j)};if(K)for(;C<_;C++)K(Z[C],z,N?U:U.call(Z[C],C,K(Z[C],z)))}if(B)return Z;if(T)return K.call(Z);return _?K(Z[0],z):q},KG=/^-ms-/,WG=/-([a-z])/g;function XG(Z,K){return K.toUpperCase()}function H1(Z){return Z.replace(KG,"ms-").replace(WG,XG)}var nJ=function(Z){return Z.nodeType===1||Z.nodeType===9||!+Z.nodeType};function sJ(){this.expando=V.expando+sJ.uid++}sJ.uid=1,sJ.prototype={cache:function(Z){var K=Z[this.expando];if(!K){if(K={},nJ(Z))if(Z.nodeType)Z[this.expando]=K;else Object.defineProperty(Z,this.expando,{value:K,configurable:!0})}return K},set:function(Z,K,z){var U,B=this.cache(Z);if(typeof K==="string")B[H1(K)]=z;else for(U in K)B[H1(U)]=K[U];return B},get:function(Z,K){return K===void 0?this.cache(Z):Z[this.expando]&&Z[this.expando][H1(K)]},access:function(Z,K,z){if(K===void 0||K&&typeof K==="string"&&z===void 0)return this.get(Z,K);return this.set(Z,K,z),z!==void 0?z:K},remove:function(Z,K){var z,U=Z[this.expando];if(U===void 0)return;if(K!==void 0){if(Array.isArray(K))K=K.map(H1);else K=H1(K),K=K in U?[K]:K.match(A1)||[];z=K.length;while(z--)delete U[K[z]]}if(K===void 0||V.isEmptyObject(U))if(Z.nodeType)Z[this.expando]=void 0;else delete Z[this.expando]},hasData:function(Z){var K=Z[this.expando];return K!==void 0&&!V.isEmptyObject(K)}};var r=new sJ,u0=new sJ,zG=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,$G=/[A-Z]/g;function UG(Z){if(Z==="true")return!0;if(Z==="false")return!1;if(Z==="null")return null;if(Z===+Z+"")return+Z;if(zG.test(Z))return JSON.parse(Z);return Z}function x6(Z,K,z){var U;if(z===void 0&&Z.nodeType===1)if(U="data-"+K.replace($G,"-$&").toLowerCase(),z=Z.getAttribute(U),typeof z==="string"){try{z=UG(z)}catch(B){}u0.set(Z,K,z)}else z=void 0;return z}V.extend({hasData:function(Z){return u0.hasData(Z)||r.hasData(Z)},data:function(Z,K,z){return u0.access(Z,K,z)},removeData:function(Z,K){u0.remove(Z,K)},_data:function(Z,K,z){return r.access(Z,K,z)},_removeData:function(Z,K){r.remove(Z,K)}}),V.fn.extend({data:function(Z,K){var z,U,B,q=this[0],N=q&&q.attributes;if(Z===void 0){if(this.length){if(B=u0.get(q),q.nodeType===1&&!r.get(q,"hasDataAttrs")){z=N.length;while(z--)if(N[z]){if(U=N[z].name,U.indexOf("data-")===0)U=H1(U.slice(5)),x6(q,U,B[U])}r.set(q,"hasDataAttrs",!0)}}return B}if(typeof Z==="object")return this.each(function(){u0.set(this,Z)});return j1(this,function(C){var _;if(q&&C===void 0){if(_=u0.get(q,Z),_!==void 0)return _;if(_=x6(q,Z),_!==void 0)return _;return}this.each(function(){u0.set(this,Z,C)})},null,K,arguments.length>1,null,!0)},removeData:function(Z){return this.each(function(){u0.remove(this,Z)})}}),V.extend({queue:function(Z,K,z){var U;if(Z){if(K=(K||"fx")+"queue",U=r.get(Z,K),z)if(!U||Array.isArray(z))U=r.access(Z,K,V.makeArray(z));else U.push(z);return U||[]}},dequeue:function(Z,K){K=K||"fx";var z=V.queue(Z,K),U=z.length,B=z.shift(),q=V._queueHooks(Z,K),N=function(){V.dequeue(Z,K)};if(B==="inprogress")B=z.shift(),U--;if(B){if(K==="fx")z.unshift("inprogress");delete q.stop,B.call(Z,N,q)}if(!U&&q)q.empty.fire()},_queueHooks:function(Z,K){var z=K+"queueHooks";return r.get(Z,z)||r.access(Z,z,{empty:V.Callbacks("once memory").add(function(){r.remove(Z,[K+"queue",z])})})}}),V.fn.extend({queue:function(Z,K){var z=2;if(typeof Z!=="string")K=Z,Z="fx",z--;if(arguments.length\x20\t\r\n\f]*)/i,f6=/^$|^module$|\/(?:java|ecma)script/i;(function(){var Z=D.createDocumentFragment(),K=Z.appendChild(D.createElement("div")),z=D.createElement("input");z.setAttribute("type","radio"),z.setAttribute("checked","checked"),z.setAttribute("name","t"),K.appendChild(z),H.checkClone=K.cloneNode(!0).cloneNode(!0).lastChild.checked,K.innerHTML="",H.noCloneChecked=!!K.cloneNode(!0).lastChild.defaultValue,K.innerHTML="",H.option=!!K.lastChild})();var e0={thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};if(e0.tbody=e0.tfoot=e0.colgroup=e0.caption=e0.thead,e0.th=e0.td,!H.option)e0.optgroup=e0.option=[1,""];function c0(Z,K){var z;if(typeof Z.getElementsByTagName<"u")z=Z.getElementsByTagName(K||"*");else if(typeof Z.querySelectorAll<"u")z=Z.querySelectorAll(K||"*");else z=[];if(K===void 0||K&&a(Z,K))return V.merge([Z],z);return z}function $Z(Z,K){var z=0,U=Z.length;for(;z-1){if(B)B.push(q);continue}if(T=PJ(q),N=c0(h.appendChild(q),"script"),T)$Z(N);if(z){b=0;while(q=N[b++])if(f6.test(q.type||""))z.push(q)}}return h}var m6=/^([^.]*)(?:\.(.+)|)/;function QJ(){return!0}function DJ(){return!1}function UZ(Z,K,z,U,B,q){var N,C;if(typeof K==="object"){if(typeof z!=="string")U=U||z,z=void 0;for(C in K)UZ(Z,C,z,U,K[C],q);return Z}if(U==null&&B==null)B=z,U=z=void 0;else if(B==null)if(typeof z==="string")B=U,U=void 0;else B=U,U=z,z=void 0;if(B===!1)B=DJ;else if(!B)return Z;if(q===1)N=B,B=function(_){return V().off(_),N.apply(this,arguments)},B.guid=N.guid||(N.guid=V.guid++);return Z.each(function(){V.event.add(this,K,B,U,z)})}V.event={global:{},add:function(Z,K,z,U,B){var q,N,C,_,T,b,h,j,f,J0,V0,G0=r.get(Z);if(!nJ(Z))return;if(z.handler)q=z,z=q.handler,B=q.selector;if(B)V.find.matchesSelector(e1,B);if(!z.guid)z.guid=V.guid++;if(!(_=G0.events))_=G0.events=Object.create(null);if(!(N=G0.handle))N=G0.handle=function(j0){return typeof V<"u"&&V.event.triggered!==j0.type?V.event.dispatch.apply(Z,arguments):void 0};K=(K||"").match(A1)||[""],T=K.length;while(T--){if(C=m6.exec(K[T])||[],f=V0=C[1],J0=(C[2]||"").split(".").sort(),!f)continue;if(h=V.event.special[f]||{},f=(B?h.delegateType:h.bindType)||f,h=V.event.special[f]||{},b=V.extend({type:f,origType:V0,data:U,handler:z,guid:z.guid,selector:B,needsContext:B&&V.expr.match.needsContext.test(B),namespace:J0.join(".")},q),!(j=_[f])){if(j=_[f]=[],j.delegateCount=0,!h.setup||h.setup.call(Z,U,J0,N)===!1){if(Z.addEventListener)Z.addEventListener(f,N)}}if(h.add){if(h.add.call(Z,b),!b.handler.guid)b.handler.guid=z.guid}if(B)j.splice(j.delegateCount++,0,b);else j.push(b);V.event.global[f]=!0}},remove:function(Z,K,z,U,B){var q,N,C,_,T,b,h,j,f,J0,V0,G0=r.hasData(Z)&&r.get(Z);if(!G0||!(_=G0.events))return;K=(K||"").match(A1)||[""],T=K.length;while(T--){if(C=m6.exec(K[T])||[],f=V0=C[1],J0=(C[2]||"").split(".").sort(),!f){for(f in _)V.event.remove(Z,f+K[T],z,U,!0);continue}h=V.event.special[f]||{},f=(U?h.delegateType:h.bindType)||f,j=_[f]||[],C=C[2]&&new RegExp("(^|\\.)"+J0.join("\\.(?:.*\\.|)")+"(\\.|$)"),N=q=j.length;while(q--)if(b=j[q],(B||V0===b.origType)&&(!z||z.guid===b.guid)&&(!C||C.test(b.namespace))&&(!U||U===b.selector||U==="**"&&b.selector)){if(j.splice(q,1),b.selector)j.delegateCount--;if(h.remove)h.remove.call(Z,b)}if(N&&!j.length){if(!h.teardown||h.teardown.call(Z,J0,G0.handle)===!1)V.removeEvent(Z,f,G0.handle);delete _[f]}}if(V.isEmptyObject(_))r.remove(Z,"handle events")},dispatch:function(Z){var K,z,U,B,q,N,C=Array(arguments.length),_=V.event.fix(Z),T=(r.get(this,"events")||Object.create(null))[_.type]||[],b=V.event.special[_.type]||{};C[0]=_;for(K=1;K=1)){for(;T!==this;T=T.parentNode||this)if(T.nodeType===1&&!(Z.type==="click"&&T.disabled===!0)){q=[],N={};for(z=0;z<_;z++){if(U=K[z],B=U.selector+" ",N[B]===void 0)N[B]=U.needsContext?V(B,this).index(T)>-1:V.find(B,this,null,[T]).length;if(N[B])q.push(U)}if(q.length)C.push({elem:T,handlers:q})}}if(T=this,_\s*$/g;function p6(Z,K){if(a(Z,"table")&&a(K.nodeType!==11?K:K.firstChild,"tr"))return V(Z).children("tbody")[0]||Z;return Z}function NG(Z){return Z.type=(Z.getAttribute("type")!==null)+"/"+Z.type,Z}function AG(Z){if((Z.type||"").slice(0,5)==="true/")Z.type=Z.type.slice(5);else Z.removeAttribute("type");return Z}function u6(Z,K){var z,U,B,q,N,C,_;if(K.nodeType!==1)return;if(r.hasData(Z)){if(q=r.get(Z),_=q.events,_){r.remove(K,"handle events");for(B in _)for(z=0,U=_[B].length;z1&&typeof f==="string"&&!H.checkClone&&FG.test(f))return Z.each(function(V0){var G0=Z.eq(V0);if(J0)K[0]=f.call(this,V0,G0.html());LJ(G0,K,z,U)});if(h){if(B=g6(K,Z[0].ownerDocument,!1,Z,U),q=B.firstChild,B.childNodes.length===1)B=q;if(q||U){N=V.map(c0(B,"script"),NG),C=N.length;for(;b0)$Z(N,!_&&c0(Z,"script"));return C},cleanData:function(Z){var K,z,U,B=V.event.special,q=0;for(;(z=Z[q])!==void 0;q++)if(nJ(z)){if(K=z[r.expando]){if(K.events)for(U in K.events)if(B[U])V.event.remove(z,U);else V.removeEvent(z,U,K.handle);z[r.expando]=void 0}if(z[u0.expando])z[u0.expando]=void 0}}}),V.fn.extend({detach:function(Z){return c6(this,Z,!0)},remove:function(Z){return c6(this,Z)},text:function(Z){return j1(this,function(K){return K===void 0?V.text(this):this.empty().each(function(){if(this.nodeType===1||this.nodeType===11||this.nodeType===9)this.textContent=K})},null,Z,arguments.length)},append:function(){return LJ(this,arguments,function(Z){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var K=p6(this,Z);K.appendChild(Z)}})},prepend:function(){return LJ(this,arguments,function(Z){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var K=p6(this,Z);K.insertBefore(Z,K.firstChild)}})},before:function(){return LJ(this,arguments,function(Z){if(this.parentNode)this.parentNode.insertBefore(Z,this)})},after:function(){return LJ(this,arguments,function(Z){if(this.parentNode)this.parentNode.insertBefore(Z,this.nextSibling)})},empty:function(){var Z,K=0;for(;(Z=this[K])!=null;K++)if(Z.nodeType===1)V.cleanData(c0(Z,!1)),Z.textContent="";return this},clone:function(Z,K){return Z=Z==null?!1:Z,K=K==null?Z:K,this.map(function(){return V.clone(this,Z,K)})},html:function(Z){return j1(this,function(K){var z=this[0]||{},U=0,B=this.length;if(K===void 0&&z.nodeType===1)return z.innerHTML;if(typeof K==="string"&&!qG.test(K)&&!e0[(y6.exec(K)||["",""])[1].toLowerCase()]){K=V.htmlPrefilter(K);try{for(;U=0)_+=Math.max(0,Math.ceil(Z["offset"+K[0].toUpperCase()+K.slice(1)]-q-_-C-0.5))||0;return _+T}function o6(Z,K,z){var U=QY(Z),B=!H.boxSizingReliable()||z,q=B&&V.css(Z,"boxSizing",!1,U)==="border-box",N=q,C=oJ(Z,K,U),_="offset"+K[0].toUpperCase()+K.slice(1);if(VZ.test(C)){if(!z)return C;C="auto"}if((!H.boxSizingReliable()&&q||!H.reliableTrDimensions()&&a(Z,"tr")||C==="auto"||!parseFloat(C)&&V.css(Z,"display",!1,U)==="inline")&&Z.getClientRects().length){if(q=V.css(Z,"boxSizing",!1,U)==="border-box",N=_ in Z,N)C=Z[_]}return C=parseFloat(C)||0,C+qZ(Z,K,z||(q?"border":"content"),N,U,C)+"px"}V.extend({cssHooks:{opacity:{get:function(Z,K){if(K){var z=oJ(Z,"opacity");return z===""?"1":z}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(Z,K,z,U){if(!Z||Z.nodeType===3||Z.nodeType===8||!Z.style)return;var B,q,N,C=H1(K),_=OZ.test(K),T=Z.style;if(!_)K=BZ(C);if(N=V.cssHooks[K]||V.cssHooks[C],z!==void 0){if(q=typeof z,q==="string"&&(B=aJ.exec(z))&&B[1])z=v6(Z,K,B),q="number";if(z==null||z!==z)return;if(q==="number"&&!_)z+=B&&B[3]||(V.cssNumber[C]?"":"px");if(!H.clearCloneStyle&&z===""&&K.indexOf("background")===0)T[K]="inherit";if(!N||!("set"in N)||(z=N.set(Z,z,U))!==void 0)if(_)T.setProperty(K,z);else T[K]=z}else{if(N&&"get"in N&&(B=N.get(Z,!1,U))!==void 0)return B;return T[K]}},css:function(Z,K,z,U){var B,q,N,C=H1(K),_=OZ.test(K);if(!_)K=BZ(C);if(N=V.cssHooks[K]||V.cssHooks[C],N&&"get"in N)B=N.get(Z,!0,z);if(B===void 0)B=oJ(Z,K,U);if(B==="normal"&&K in a6)B=a6[K];if(z===""||z)return q=parseFloat(B),z===!0||isFinite(q)?q||0:B;return B}}),V.each(["height","width"],function(Z,K){V.cssHooks[K]={get:function(z,U,B){if(U)return _G.test(V.css(z,"display"))&&(!z.getClientRects().length||!z.getBoundingClientRect().width)?d6(z,SG,function(){return o6(z,K,B)}):o6(z,K,B)},set:function(z,U,B){var q,N=QY(z),C=!H.scrollboxSize()&&N.position==="absolute",_=C||B,T=_&&V.css(z,"boxSizing",!1,N)==="border-box",b=B?qZ(z,K,B,T,N):0;if(T&&C)b-=Math.ceil(z["offset"+K[0].toUpperCase()+K.slice(1)]-parseFloat(N[K])-qZ(z,K,"border",!1,N)-0.5);if(b&&(q=aJ.exec(U))&&(q[3]||"px")!=="px")z.style[K]=U,U=V.css(z,K);return r6(z,U,b)}}}),V.cssHooks.marginLeft=i6(H.reliableMarginLeft,function(Z,K){if(K)return(parseFloat(oJ(Z,"marginLeft"))||Z.getBoundingClientRect().left-d6(Z,{marginLeft:0},function(){return Z.getBoundingClientRect().left}))+"px"}),V.each({margin:"",padding:"",border:"Width"},function(Z,K){if(V.cssHooks[Z+K]={expand:function(z){var U=0,B={},q=typeof z==="string"?z.split(" "):[z];for(;U<4;U++)B[Z+k1[U]+K]=q[U]||q[U-2]||q[0];return B}},Z!=="margin")V.cssHooks[Z+K].set=r6}),V.fn.extend({css:function(Z,K){return j1(this,function(z,U,B){var q,N,C={},_=0;if(Array.isArray(U)){q=QY(z),N=U.length;for(;_1)}});function d0(Z,K,z,U,B){return new d0.prototype.init(Z,K,z,U,B)}V.Tween=d0,d0.prototype={constructor:d0,init:function(Z,K,z,U,B,q){this.elem=Z,this.prop=z,this.easing=B||V.easing._default,this.options=K,this.start=this.now=this.cur(),this.end=U,this.unit=q||(V.cssNumber[z]?"":"px")},cur:function(){var Z=d0.propHooks[this.prop];return Z&&Z.get?Z.get(this):d0.propHooks._default.get(this)},run:function(Z){var K,z=d0.propHooks[this.prop];if(this.options.duration)this.pos=K=V.easing[this.easing](Z,this.options.duration*Z,0,1,this.options.duration);else this.pos=K=Z;if(this.now=(this.end-this.start)*K+this.start,this.options.step)this.options.step.call(this.elem,this.now,this);if(z&&z.set)z.set(this);else d0.propHooks._default.set(this);return this}},d0.prototype.init.prototype=d0.prototype,d0.propHooks={_default:{get:function(Z){var K;if(Z.elem.nodeType!==1||Z.elem[Z.prop]!=null&&Z.elem.style[Z.prop]==null)return Z.elem[Z.prop];return K=V.css(Z.elem,Z.prop,""),!K||K==="auto"?0:K},set:function(Z){if(V.fx.step[Z.prop])V.fx.step[Z.prop](Z);else if(Z.elem.nodeType===1&&(V.cssHooks[Z.prop]||Z.elem.style[BZ(Z.prop)]!=null))V.style(Z.elem,Z.prop,Z.now+Z.unit);else Z.elem[Z.prop]=Z.now}}},d0.propHooks.scrollTop=d0.propHooks.scrollLeft={set:function(Z){if(Z.elem.nodeType&&Z.elem.parentNode)Z.elem[Z.prop]=Z.now}},V.easing={linear:function(Z){return Z},swing:function(Z){return 0.5-Math.cos(Z*Math.PI)/2},_default:"swing"},V.fx=d0.prototype.init,V.fx.step={};var TJ,DY,PG=/^(?:toggle|show|hide)$/,CG=/queueHooks$/;function FZ(){if(DY){if(D.hidden===!1&&J.requestAnimationFrame)J.requestAnimationFrame(FZ);else J.setTimeout(FZ,V.fx.interval);V.fx.tick()}}function t6(){return J.setTimeout(function(){TJ=void 0}),TJ=Date.now()}function LY(Z,K){var z,U=0,B={height:Z};K=K?1:0;for(;U<4;U+=2-K)z=k1[U],B["margin"+z]=B["padding"+z]=Z;if(K)B.opacity=B.width=Z;return B}function e6(Z,K,z){var U,B=(z1.tweeners[K]||[]).concat(z1.tweeners["*"]),q=0,N=B.length;for(;q1)},removeAttr:function(Z){return this.each(function(){V.removeAttr(this,Z)})}}),V.extend({attr:function(Z,K,z){var U,B,q=Z.nodeType;if(q===3||q===8||q===2)return;if(typeof Z.getAttribute>"u")return V.prop(Z,K,z);if(q!==1||!V.isXMLDoc(Z))B=V.attrHooks[K.toLowerCase()]||(V.expr.match.bool.test(K)?J8:void 0);if(z!==void 0){if(z===null){V.removeAttr(Z,K);return}if(B&&"set"in B&&(U=B.set(Z,z,K))!==void 0)return U;return Z.setAttribute(K,z+""),z}if(B&&"get"in B&&(U=B.get(Z,K))!==null)return U;return U=V.find.attr(Z,K),U==null?void 0:U},attrHooks:{type:{set:function(Z,K){if(!H.radioValue&&K==="radio"&&a(Z,"input")){var z=Z.value;if(Z.setAttribute("type",K),z)Z.value=z;return K}}}},removeAttr:function(Z,K){var z,U=0,B=K&&K.match(A1);if(B&&Z.nodeType===1)while(z=B[U++])Z.removeAttribute(z)}}),J8={set:function(Z,K,z){if(K===!1)V.removeAttr(Z,z);else Z.setAttribute(z,z);return z}},V.each(V.expr.match.bool.source.match(/\w+/g),function(Z,K){var z=tJ[K]||V.find.attr;tJ[K]=function(U,B,q){var N,C,_=B.toLowerCase();if(!q)C=tJ[_],tJ[_]=N,N=z(U,B,q)!=null?_:null,tJ[_]=C;return N}});var LG=/^(?:input|select|textarea|button)$/i,TG=/^(?:a|area)$/i;if(V.fn.extend({prop:function(Z,K){return j1(this,V.prop,Z,K,arguments.length>1)},removeProp:function(Z){return this.each(function(){delete this[V.propFix[Z]||Z]})}}),V.extend({prop:function(Z,K,z){var U,B,q=Z.nodeType;if(q===3||q===8||q===2)return;if(q!==1||!V.isXMLDoc(Z))K=V.propFix[K]||K,B=V.propHooks[K];if(z!==void 0){if(B&&"set"in B&&(U=B.set(Z,z,K))!==void 0)return U;return Z[K]=z}if(B&&"get"in B&&(U=B.get(Z,K))!==null)return U;return Z[K]},propHooks:{tabIndex:{get:function(Z){var K=V.find.attr(Z,"tabindex");if(K)return parseInt(K,10);if(LG.test(Z.nodeName)||TG.test(Z.nodeName)&&Z.href)return 0;return-1}}},propFix:{for:"htmlFor",class:"className"}}),!H.optSelected)V.propHooks.selected={get:function(Z){var K=Z.parentNode;if(K&&K.parentNode)K.parentNode.selectedIndex;return null},set:function(Z){var K=Z.parentNode;if(K){if(K.selectedIndex,K.parentNode)K.parentNode.selectedIndex}}};V.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){V.propFix[this.toLowerCase()]=this});function JJ(Z){var K=Z.match(A1)||[];return K.join(" ")}function YJ(Z){return Z.getAttribute&&Z.getAttribute("class")||""}function RZ(Z){if(Array.isArray(Z))return Z;if(typeof Z==="string")return Z.match(A1)||[];return[]}V.fn.extend({addClass:function(Z){var K,z,U,B,q,N;if(P(Z))return this.each(function(C){V(this).addClass(Z.call(this,C,YJ(this)))});if(K=RZ(Z),K.length)return this.each(function(){if(U=YJ(this),z=this.nodeType===1&&" "+JJ(U)+" ",z){for(q=0;q-1)z=z.replace(" "+B+" "," ")}if(N=JJ(z),U!==N)this.setAttribute("class",N)}});return this},toggleClass:function(Z,K){var z,U,B,q,N=typeof Z,C=N==="string"||Array.isArray(Z);if(P(Z))return this.each(function(_){V(this).toggleClass(Z.call(this,_,YJ(this),K),K)});if(typeof K==="boolean"&&C)return K?this.addClass(Z):this.removeClass(Z);return z=RZ(Z),this.each(function(){if(C){q=V(this);for(B=0;B-1)return!0;return!1}});var IG=/\r/g;V.fn.extend({val:function(Z){var K,z,U,B=this[0];if(!arguments.length){if(B){if(K=V.valHooks[B.type]||V.valHooks[B.nodeName.toLowerCase()],K&&"get"in K&&(z=K.get(B,"value"))!==void 0)return z;if(z=B.value,typeof z==="string")return z.replace(IG,"");return z==null?"":z}return}return U=P(Z),this.each(function(q){var N;if(this.nodeType!==1)return;if(U)N=Z.call(this,q,V(this).val());else N=Z;if(N==null)N="";else if(typeof N==="number")N+="";else if(Array.isArray(N))N=V.map(N,function(C){return C==null?"":C+""});if(K=V.valHooks[this.type]||V.valHooks[this.nodeName.toLowerCase()],!K||!("set"in K)||K.set(this,N,"value")===void 0)this.value=N})}}),V.extend({valHooks:{option:{get:function(Z){var K=V.find.attr(Z,"value");return K!=null?K:JJ(V.text(Z))}},select:{get:function(Z){var K,z,U,B=Z.options,q=Z.selectedIndex,N=Z.type==="select-one",C=N?null:[],_=N?q+1:B.length;if(q<0)U=_;else U=N?q:0;for(;U<_;U++)if(z=B[U],(z.selected||U===q)&&!z.disabled&&(!z.parentNode.disabled||!a(z.parentNode,"optgroup"))){if(K=V(z).val(),N)return K;C.push(K)}return C},set:function(Z,K){var z,U,B=Z.options,q=V.makeArray(K),N=B.length;while(N--)if(U=B[N],U.selected=V.inArray(V.valHooks.option.get(U),q)>-1)z=!0;if(!z)Z.selectedIndex=-1;return q}}}}),V.each(["radio","checkbox"],function(){if(V.valHooks[this]={set:function(Z,K){if(Array.isArray(K))return Z.checked=V.inArray(V(Z).val(),K)>-1}},!H.checkOn)V.valHooks[this].get=function(Z){return Z.getAttribute("value")===null?"on":Z.value}});var eJ=J.location,Y8={guid:Date.now()},NZ=/\?/;V.parseXML=function(Z){var K,z;if(!Z||typeof Z!=="string")return null;try{K=new J.DOMParser().parseFromString(Z,"text/xml")}catch(U){}if(z=K&&K.getElementsByTagName("parsererror")[0],!K||z)V.error("Invalid XML: "+(z?V.map(z.childNodes,function(U){return U.textContent}).join(`
-`):Z));return K};var Z8=/^(?:focusinfocus|focusoutblur)$/,G8=function(Z){Z.stopPropagation()};V.extend(V.event,{trigger:function(Z,K,z,U){var B,q,N,C,_,T,b,h,j=[z||D],f=X.call(Z,"type")?Z.type:Z,J0=X.call(Z,"namespace")?Z.namespace.split("."):[];if(q=h=N=z=z||D,z.nodeType===3||z.nodeType===8)return;if(Z8.test(f+V.event.triggered))return;if(f.indexOf(".")>-1)J0=f.split("."),f=J0.shift(),J0.sort();if(_=f.indexOf(":")<0&&"on"+f,Z=Z[V.expando]?Z:new V.Event(f,typeof Z==="object"&&Z),Z.isTrigger=U?2:3,Z.namespace=J0.join("."),Z.rnamespace=Z.namespace?new RegExp("(^|\\.)"+J0.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,Z.result=void 0,!Z.target)Z.target=z;if(K=K==null?[Z]:V.makeArray(K,[Z]),b=V.event.special[f]||{},!U&&b.trigger&&b.trigger.apply(z,K)===!1)return;if(!U&&!b.noBubble&&!I(z)){if(C=b.delegateType||f,!Z8.test(C+f))q=q.parentNode;for(;q;q=q.parentNode)j.push(q),N=q;if(N===(z.ownerDocument||D))j.push(N.defaultView||N.parentWindow||J)}B=0;while((q=j[B++])&&!Z.isPropagationStopped()){if(h=q,Z.type=B>1?C:b.bindType||f,T=(r.get(q,"events")||Object.create(null))[Z.type]&&r.get(q,"handle"),T)T.apply(q,K);if(T=_&&q[_],T&&T.apply&&nJ(q)){if(Z.result=T.apply(q,K),Z.result===!1)Z.preventDefault()}}if(Z.type=f,!U&&!Z.isDefaultPrevented()){if((!b._default||b._default.apply(j.pop(),K)===!1)&&nJ(z)){if(_&&P(z[f])&&!I(z)){if(N=z[_],N)z[_]=null;if(V.event.triggered=f,Z.isPropagationStopped())h.addEventListener(f,G8);if(z[f](),Z.isPropagationStopped())h.removeEventListener(f,G8);if(V.event.triggered=void 0,N)z[_]=N}}}return Z.result},simulate:function(Z,K,z){var U=V.extend(new V.Event,z,{type:Z,isSimulated:!0});V.event.trigger(U,null,K)}}),V.fn.extend({trigger:function(Z,K){return this.each(function(){V.event.trigger(Z,K,this)})},triggerHandler:function(Z,K){var z=this[0];if(z)return V.event.trigger(Z,K,z,!0)}});var wG=/\[\]$/,K8=/\r?\n/g,jG=/^(?:submit|button|image|reset|file)$/i,kG=/^(?:input|select|textarea|keygen)/i;function AZ(Z,K,z,U){var B;if(Array.isArray(K))V.each(K,function(q,N){if(z||wG.test(Z))U(Z,N);else AZ(Z+"["+(typeof N==="object"&&N!=null?q:"")+"]",N,z,U)});else if(!z&&K0(K)==="object")for(B in K)AZ(Z+"["+B+"]",K[B],z,U);else U(Z,K)}V.param=function(Z,K){var z,U=[],B=function(q,N){var C=P(N)?N():N;U[U.length]=encodeURIComponent(q)+"="+encodeURIComponent(C==null?"":C)};if(Z==null)return"";if(Array.isArray(Z)||Z.jquery&&!V.isPlainObject(Z))V.each(Z,function(){B(this.name,this.value)});else for(z in Z)AZ(z,Z[z],K,B);return U.join("&")},V.fn.extend({serialize:function(){return V.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var Z=V.prop(this,"elements");return Z?V.makeArray(Z):this}).filter(function(){var Z=this.type;return this.name&&!V(this).is(":disabled")&&kG.test(this.nodeName)&&!jG.test(Z)&&(this.checked||!rJ.test(Z))}).map(function(Z,K){var z=V(this).val();if(z==null)return null;if(Array.isArray(z))return V.map(z,function(U){return{name:K.name,value:U.replace(K8,`\r
-`)}});return{name:K.name,value:z.replace(K8,`\r
-`)}}).get()}});var xG=/%20/g,bG=/#.*$/,vG=/([?&])_=[^&]*/,hG=/^(.*?):[ \t]*([^\r\n]*)$/mg,yG=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,fG=/^(?:GET|HEAD)$/,gG=/^\/\//,W8={},HZ={},X8="*/".concat("*"),MZ=D.createElement("a");MZ.href=eJ.href;function z8(Z){return function(K,z){if(typeof K!=="string")z=K,K="*";var U,B=0,q=K.toLowerCase().match(A1)||[];if(P(z))while(U=q[B++])if(U[0]==="+")U=U.slice(1)||"*",(Z[U]=Z[U]||[]).unshift(z);else(Z[U]=Z[U]||[]).push(z)}}function $8(Z,K,z,U){var B={},q=Z===HZ;function N(C){var _;return B[C]=!0,V.each(Z[C]||[],function(T,b){var h=b(K,z,U);if(typeof h==="string"&&!q&&!B[h])return K.dataTypes.unshift(h),N(h),!1;else if(q)return!(_=h)}),_}return N(K.dataTypes[0])||!B["*"]&&N("*")}function EZ(Z,K){var z,U,B=V.ajaxSettings.flatOptions||{};for(z in K)if(K[z]!==void 0)(B[z]?Z:U||(U={}))[z]=K[z];if(U)V.extend(!0,Z,U);return Z}function mG(Z,K,z){var U,B,q,N,C=Z.contents,_=Z.dataTypes;while(_[0]==="*")if(_.shift(),U===void 0)U=Z.mimeType||K.getResponseHeader("Content-Type");if(U){for(B in C)if(C[B]&&C[B].test(U)){_.unshift(B);break}}if(_[0]in z)q=_[0];else{for(B in z){if(!_[0]||Z.converters[B+" "+_[0]]){q=B;break}if(!N)N=B}q=q||N}if(q){if(q!==_[0])_.unshift(q);return z[q]}}function pG(Z,K,z,U){var B,q,N,C,_,T={},b=Z.dataTypes.slice();if(b[1])for(N in Z.converters)T[N.toLowerCase()]=Z.converters[N];q=b.shift();while(q){if(Z.responseFields[q])z[Z.responseFields[q]]=K;if(!_&&U&&Z.dataFilter)K=Z.dataFilter(K,Z.dataType);if(_=q,q=b.shift(),q){if(q==="*")q=_;else if(_!=="*"&&_!==q){if(N=T[_+" "+q]||T["* "+q],!N){for(B in T)if(C=B.split(" "),C[1]===q){if(N=T[_+" "+C[0]]||T["* "+C[0]],N){if(N===!0)N=T[B];else if(T[B]!==!0)q=C[0],b.unshift(C[1]);break}}}if(N!==!0)if(N&&Z.throws)K=N(K);else try{K=N(K)}catch(h){return{state:"parsererror",error:N?h:"No conversion from "+_+" to "+q}}}}}return{state:"success",data:K}}V.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:eJ.href,type:"GET",isLocal:yG.test(eJ.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":X8,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":V.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(Z,K){return K?EZ(EZ(Z,V.ajaxSettings),K):EZ(V.ajaxSettings,Z)},ajaxPrefilter:z8(W8),ajaxTransport:z8(HZ),ajax:function(Z,K){if(typeof Z==="object")K=Z,Z=void 0;K=K||{};var z,U,B,q,N,C,_,T,b,h,j=V.ajaxSetup({},K),f=j.context||j,J0=j.context&&(f.nodeType||f.jquery)?V(f):V.event,V0=V.Deferred(),G0=V.Callbacks("once memory"),j0=j.statusCode||{},T0={},M1={},E1="canceled",z0={readyState:0,getResponseHeader:function(B0){var Q0;if(_){if(!q){q={};while(Q0=hG.exec(B))q[Q0[1].toLowerCase()+" "]=(q[Q0[1].toLowerCase()+" "]||[]).concat(Q0[2])}Q0=q[B0.toLowerCase()+" "]}return Q0==null?null:Q0.join(", ")},getAllResponseHeaders:function(){return _?B:null},setRequestHeader:function(B0,Q0){if(_==null)B0=M1[B0.toLowerCase()]=M1[B0.toLowerCase()]||B0,T0[B0]=Q0;return this},overrideMimeType:function(B0){if(_==null)j.mimeType=B0;return this},statusCode:function(B0){var Q0;if(B0)if(_)z0.always(B0[z0.status]);else for(Q0 in B0)j0[Q0]=[j0[Q0],B0[Q0]];return this},abort:function(B0){var Q0=B0||E1;if(z)z.abort(Q0);return ZJ(0,Q0),this}};if(V0.promise(z0),j.url=((Z||j.url||eJ.href)+"").replace(gG,eJ.protocol+"//"),j.type=K.method||K.type||j.method||j.type,j.dataTypes=(j.dataType||"*").toLowerCase().match(A1)||[""],j.crossDomain==null){C=D.createElement("a");try{C.href=j.url,C.href=C.href,j.crossDomain=MZ.protocol+"//"+MZ.host!==C.protocol+"//"+C.host}catch(B0){j.crossDomain=!0}}if(j.data&&j.processData&&typeof j.data!=="string")j.data=V.param(j.data,j.traditional);if($8(W8,j,K,z0),_)return z0;if(T=V.event&&j.global,T&&V.active++===0)V.event.trigger("ajaxStart");if(j.type=j.type.toUpperCase(),j.hasContent=!fG.test(j.type),U=j.url.replace(bG,""),!j.hasContent){if(h=j.url.slice(U.length),j.data&&(j.processData||typeof j.data==="string"))U+=(NZ.test(U)?"&":"?")+j.data,delete j.data;if(j.cache===!1)U=U.replace(vG,"$1"),h=(NZ.test(U)?"&":"?")+"_="+Y8.guid+++h;j.url=U+h}else if(j.data&&j.processData&&(j.contentType||"").indexOf("application/x-www-form-urlencoded")===0)j.data=j.data.replace(xG,"+");if(j.ifModified){if(V.lastModified[U])z0.setRequestHeader("If-Modified-Since",V.lastModified[U]);if(V.etag[U])z0.setRequestHeader("If-None-Match",V.etag[U])}if(j.data&&j.hasContent&&j.contentType!==!1||K.contentType)z0.setRequestHeader("Content-Type",j.contentType);z0.setRequestHeader("Accept",j.dataTypes[0]&&j.accepts[j.dataTypes[0]]?j.accepts[j.dataTypes[0]]+(j.dataTypes[0]!=="*"?", "+X8+"; q=0.01":""):j.accepts["*"]);for(b in j.headers)z0.setRequestHeader(b,j.headers[b]);if(j.beforeSend&&(j.beforeSend.call(f,z0,j)===!1||_))return z0.abort();if(E1="abort",G0.add(j.complete),z0.done(j.success),z0.fail(j.error),z=$8(HZ,j,K,z0),!z)ZJ(-1,"No Transport");else{if(z0.readyState=1,T)J0.trigger("ajaxSend",[z0,j]);if(_)return z0;if(j.async&&j.timeout>0)N=J.setTimeout(function(){z0.abort("timeout")},j.timeout);try{_=!1,z.send(T0,ZJ)}catch(B0){if(_)throw B0;ZJ(-1,B0)}}function ZJ(B0,Q0,YY,SZ){var _1,ZY,S1,p1,u1,J1=Q0;if(_)return;if(_=!0,N)J.clearTimeout(N);if(z=void 0,B=SZ||"",z0.readyState=B0>0?4:0,_1=B0>=200&&B0<300||B0===304,YY)p1=mG(j,z0,YY);if(!_1&&V.inArray("script",j.dataTypes)>-1&&V.inArray("json",j.dataTypes)<0)j.converters["text script"]=function(){};if(p1=pG(j,p1,z0,_1),_1){if(j.ifModified){if(u1=z0.getResponseHeader("Last-Modified"),u1)V.lastModified[U]=u1;if(u1=z0.getResponseHeader("etag"),u1)V.etag[U]=u1}if(B0===204||j.type==="HEAD")J1="nocontent";else if(B0===304)J1="notmodified";else J1=p1.state,ZY=p1.data,S1=p1.error,_1=!S1}else if(S1=J1,B0||!J1){if(J1="error",B0<0)B0=0}if(z0.status=B0,z0.statusText=(Q0||J1)+"",_1)V0.resolveWith(f,[ZY,J1,z0]);else V0.rejectWith(f,[z0,J1,S1]);if(z0.statusCode(j0),j0=void 0,T)J0.trigger(_1?"ajaxSuccess":"ajaxError",[z0,j,_1?ZY:S1]);if(G0.fireWith(f,[z0,J1]),T){if(J0.trigger("ajaxComplete",[z0,j]),!--V.active)V.event.trigger("ajaxStop")}}return z0},getJSON:function(Z,K,z){return V.get(Z,K,z,"json")},getScript:function(Z,K){return V.get(Z,void 0,K,"script")}}),V.each(["get","post"],function(Z,K){V[K]=function(z,U,B,q){if(P(U))q=q||B,B=U,U=void 0;return V.ajax(V.extend({url:z,type:K,dataType:q,data:U,success:B},V.isPlainObject(z)&&z))}}),V.ajaxPrefilter(function(Z){var K;for(K in Z.headers)if(K.toLowerCase()==="content-type")Z.contentType=Z.headers[K]||""}),V._evalUrl=function(Z,K,z){return V.ajax({url:Z,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(U){V.globalEval(U,K,z)}})},V.fn.extend({wrapAll:function(Z){var K;if(this[0]){if(P(Z))Z=Z.call(this[0]);if(K=V(Z,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode)K.insertBefore(this[0]);K.map(function(){var z=this;while(z.firstElementChild)z=z.firstElementChild;return z}).append(this)}return this},wrapInner:function(Z){if(P(Z))return this.each(function(K){V(this).wrapInner(Z.call(this,K))});return this.each(function(){var K=V(this),z=K.contents();if(z.length)z.wrapAll(Z);else K.append(Z)})},wrap:function(Z){var K=P(Z);return this.each(function(z){V(this).wrapAll(K?Z.call(this,z):Z)})},unwrap:function(Z){return this.parent(Z).not("body").each(function(){V(this).replaceWith(this.childNodes)}),this}}),V.expr.pseudos.hidden=function(Z){return!V.expr.pseudos.visible(Z)},V.expr.pseudos.visible=function(Z){return!!(Z.offsetWidth||Z.offsetHeight||Z.getClientRects().length)},V.ajaxSettings.xhr=function(){try{return new J.XMLHttpRequest}catch(Z){}};var uG={0:200,1223:204},JY=V.ajaxSettings.xhr();H.cors=!!JY&&"withCredentials"in JY,H.ajax=JY=!!JY,V.ajaxTransport(function(Z){var K,z;if(H.cors||JY&&!Z.crossDomain)return{send:function(U,B){var q,N=Z.xhr();if(N.open(Z.type,Z.url,Z.async,Z.username,Z.password),Z.xhrFields)for(q in Z.xhrFields)N[q]=Z.xhrFields[q];if(Z.mimeType&&N.overrideMimeType)N.overrideMimeType(Z.mimeType);if(!Z.crossDomain&&!U["X-Requested-With"])U["X-Requested-With"]="XMLHttpRequest";for(q in U)N.setRequestHeader(q,U[q]);if(K=function(C){return function(){if(K)if(K=z=N.onload=N.onerror=N.onabort=N.ontimeout=N.onreadystatechange=null,C==="abort")N.abort();else if(C==="error")if(typeof N.status!=="number")B(0,"error");else B(N.status,N.statusText);else B(uG[N.status]||N.status,N.statusText,(N.responseType||"text")!=="text"||typeof N.responseText!=="string"?{binary:N.response}:{text:N.responseText},N.getAllResponseHeaders())}},N.onload=K(),z=N.onerror=N.ontimeout=K("error"),N.onabort!==void 0)N.onabort=z;else N.onreadystatechange=function(){if(N.readyState===4)J.setTimeout(function(){if(K)z()})};K=K("abort");try{N.send(Z.hasContent&&Z.data||null)}catch(C){if(K)throw C}},abort:function(){if(K)K()}}}),V.ajaxPrefilter(function(Z){if(Z.crossDomain)Z.contents.script=!1}),V.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(Z){return V.globalEval(Z),Z}}}),V.ajaxPrefilter("script",function(Z){if(Z.cache===void 0)Z.cache=!1;if(Z.crossDomain)Z.type="GET"}),V.ajaxTransport("script",function(Z){if(Z.crossDomain||Z.scriptAttrs){var K,z;return{send:function(U,B){K=V("